@product7/feedback-sdk 1.3.7 → 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 +3006 -2817
  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 +8 -2
  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 +74 -84
  26. package/src/widgets/SurveyWidget.js +1 -1
  27. package/src/widgets/TabWidget.js +1 -1
  28. package/src/widgets/messenger/MessengerState.js +50 -119
  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 +83 -219
  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 +47 -51
  38. package/src/styles/messenger-help.js +0 -298
  39. package/src/styles/messenger-themes.js +0 -500
@@ -1,558 +1,17 @@
1
- export const messengerStyles = `
2
- .messenger-widget {
3
- font-family: inherit;
4
- font-size: var(--font-size-base);
5
- line-height: var(--line-height-relaxed);
6
- }
7
-
8
- .messenger-launcher {
9
- position: fixed;
10
- z-index: var(--z-modal);
11
- }
12
-
13
- .messenger-launcher-bottom-right {
14
- bottom: var(--spacing-5);
15
- right: var(--spacing-5);
16
- }
17
-
18
- .messenger-launcher-bottom-left {
19
- bottom: var(--spacing-5);
20
- left: var(--spacing-5);
21
- }
22
-
23
- .messenger-launcher-btn {
24
- width: 60px;
25
- height: 60px;
26
- border-radius: var(--radius-full);
27
- border: none;
28
- background: var(--color-primary);
29
- color: var(--color-white);
30
- cursor: pointer;
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- box-shadow: var(--shadow-lg);
35
- transition: all var(--transition-slow);
36
- position: relative;
37
- }
38
-
39
- .messenger-launcher-btn:hover {
40
- transform: translateY(-2px);
41
- box-shadow: var(--shadow-xl);
42
- }
43
-
44
- .messenger-launcher-btn:active {
45
- transform: scale(0.95);
46
- }
47
-
48
- .messenger-launcher-badge {
49
- position: absolute;
50
- top: -4px;
51
- right: -4px;
52
- min-width: 20px;
53
- height: 20px;
54
- background: var(--color-error);
55
- color: var(--color-white);
56
- font-size: var(--font-size-xs);
57
- font-weight: var(--font-weight-semibold);
58
- border-radius: var(--radius-full);
59
- display: flex;
60
- align-items: center;
61
- justify-content: center;
62
- padding: 0 6px;
63
- border: 2px solid var(--color-white);
64
- }
65
-
66
- .messenger-panel {
67
- position: fixed;
68
- z-index: var(--z-popover);
69
- width: 400px;
70
- height: 680px;
71
- max-height: calc(100vh - 100px);
72
- display: none;
73
- opacity: 0;
74
- transform: translateY(20px) scale(0.95);
75
- transition: all var(--transition-slow);
76
- }
77
-
78
- .messenger-panel.open {
79
- display: block;
80
- opacity: 1;
81
- transform: translateY(0) scale(1);
82
- }
83
-
84
- .messenger-panel-bottom-right {
85
- bottom: 90px;
86
- right: var(--spacing-5);
87
- }
88
-
89
- .messenger-panel-bottom-left {
90
- bottom: 90px;
91
- left: var(--spacing-5);
92
- }
93
-
94
- .messenger-panel-content {
95
- background: var(--color-white);
96
- height: 100%;
97
- border-radius: var(--radius-2xl);
98
- overflow: hidden;
99
- display: flex;
100
- flex-direction: column;
101
- box-shadow: var(--shadow-2xl);
102
- border: 1px solid var(--color-border);
103
- }
104
-
105
- .messenger-panel-views {
106
- flex: 1;
107
- overflow: hidden;
108
- display: flex;
109
- flex-direction: column;
110
- }
111
-
112
- .messenger-view {
113
- height: 100%;
114
- display: flex;
115
- flex-direction: column;
116
- overflow: hidden;
117
- }
118
-
119
- .messenger-avatar {
120
- width: 32px;
121
- height: 32px;
122
- border-radius: var(--radius-full);
123
- border: 2px solid var(--color-white);
124
- background: var(--color-primary);
125
- color: var(--color-white);
126
- font-size: var(--font-size-sm);
127
- font-weight: var(--font-weight-semibold);
128
- display: flex;
129
- align-items: center;
130
- justify-content: center;
131
- overflow: hidden;
132
- flex-shrink: 0;
133
- }
134
-
135
- .messenger-avatar img {
136
- width: 100%;
137
- height: 100%;
138
- object-fit: cover;
139
- }
140
-
141
- .messenger-avatar-stack .messenger-avatar {
142
- margin-left: -8px;
143
- }
144
-
145
- .messenger-avatar-stack .messenger-avatar:first-child {
146
- margin-left: 0;
147
- }
148
-
149
- .messenger-home-view {
150
- background: linear-gradient(180deg, var(--color-neutral-50) 0%, var(--color-white) 40%);
151
- }
152
-
153
- .messenger-home-header {
154
- padding: var(--spacing-5);
155
- background: linear-gradient(180deg, var(--color-primary-light) 0%, transparent 100%);
156
- }
157
-
158
- .messenger-home-header-top {
159
- display: flex;
160
- align-items: center;
161
- justify-content: space-between;
162
- margin-bottom: var(--spacing-6);
163
- }
164
-
165
- .messenger-home-logo {
166
- width: 32px;
167
- height: 32px;
168
- border-radius: var(--radius-md);
169
- overflow: hidden;
170
- }
171
-
172
- .messenger-home-logo img {
173
- width: 100%;
174
- height: 100%;
175
- object-fit: cover;
176
- }
177
-
178
- .messenger-home-avatars {
179
- flex: 1;
180
- display: flex;
181
- justify-content: flex-end;
182
- margin-right: var(--spacing-3);
183
- }
184
-
185
- .messenger-home-welcome {
186
- display: flex;
187
- flex-direction: column;
188
- gap: var(--spacing-1);
189
- }
190
-
191
- .messenger-home-greeting {
192
- font-size: var(--font-size-md);
193
- color: var(--color-text-secondary);
194
- }
195
-
196
- .messenger-home-question {
197
- font-size: var(--font-size-xl);
198
- font-weight: var(--font-weight-semibold);
199
- color: var(--color-text-primary);
200
- }
201
-
202
- .messenger-home-body {
203
- flex: 1;
204
- padding: var(--spacing-5);
205
- overflow-y: auto;
206
- }
207
-
208
- .messenger-home-message-btn {
209
- width: 100%;
210
- display: flex;
211
- align-items: center;
212
- justify-content: space-between;
213
- padding: var(--spacing-4) var(--spacing-5);
214
- background: var(--color-white);
215
- border: 1px solid var(--color-border);
216
- border-radius: var(--radius-3xl);
217
- color: var(--color-text-primary);
218
- font-size: var(--font-size-md);
219
- font-weight: var(--font-weight-medium);
220
- cursor: pointer;
221
- transition: all var(--transition-base);
222
- margin-bottom: var(--spacing-5);
223
- }
224
-
225
- .messenger-home-message-btn:hover {
226
- background: var(--color-neutral-50);
227
- border-color: var(--color-neutral-300);
228
- transform: translateX(4px);
229
- }
230
-
231
- .messenger-conversations-header {
232
- display: flex;
233
- align-items: center;
234
- justify-content: space-between;
235
- padding: var(--spacing-5);
236
- border-bottom: 1px solid var(--color-border);
237
- }
238
-
239
- .messenger-conversations-header h2 {
240
- margin: 0;
241
- font-size: var(--font-size-2xl);
242
- font-weight: var(--font-weight-semibold);
243
- color: var(--color-text-primary);
244
- }
245
-
246
- .messenger-conversations-body {
247
- flex: 1;
248
- overflow-y: auto;
249
- padding: var(--spacing-1) var(--spacing-3) var(--spacing-3);
250
- }
251
-
252
- .messenger-conversation-item {
253
- display: flex;
254
- align-items: flex-start;
255
- gap: var(--spacing-3);
256
- padding: 10px var(--spacing-4);
257
- border-radius: var(--radius-xl);
258
- cursor: pointer;
259
- transition: background var(--transition-base);
260
- }
261
-
262
- .messenger-conversation-item:hover {
263
- background: var(--color-neutral-50);
264
- }
265
-
266
- .messenger-conversation-content {
267
- flex: 1;
268
- min-width: 0;
269
- }
270
-
271
- .messenger-conversation-header {
272
- display: flex;
273
- align-items: center;
274
- justify-content: space-between;
275
- margin-bottom: var(--spacing-1);
276
- gap: var(--spacing-3);
277
- }
278
-
279
- .messenger-conversation-title {
280
- font-size: var(--font-size-md);
281
- font-weight: var(--font-weight-medium);
282
- color: var(--color-text-primary);
283
- line-height: var(--line-height-snug);
284
- }
285
-
286
- .messenger-conversation-time {
287
- font-size: var(--font-size-sm);
288
- color: var(--color-text-secondary);
289
- flex-shrink: 0;
290
- }
291
-
292
- .messenger-conversation-message {
293
- font-size: var(--font-size-base);
294
- color: var(--color-text-secondary);
295
- white-space: nowrap;
296
- overflow: hidden;
297
- text-overflow: ellipsis;
298
- line-height: var(--line-height-normal);
299
- }
300
-
301
- .messenger-conversation-item.unread .messenger-conversation-message {
302
- color: var(--color-text-primary);
303
- font-weight: var(--font-weight-medium);
304
- }
305
-
306
- .messenger-unread-dot {
307
- width: 8px;
308
- height: 8px;
309
- background: var(--color-primary);
310
- border-radius: var(--radius-full);
311
- flex-shrink: 0;
312
- margin-right: var(--spacing-2);
313
- }
314
-
315
- .messenger-chat-header {
316
- display: flex;
317
- align-items: center;
318
- gap: var(--spacing-3);
319
- padding: var(--spacing-4) var(--spacing-5);
320
- border-bottom: 1px solid var(--color-border);
321
- }
322
-
323
- .messenger-chat-title {
324
- font-size: var(--font-size-lg);
325
- font-weight: var(--font-weight-medium);
326
- color: var(--color-text-primary);
327
- }
328
-
329
- .messenger-chat-messages {
330
- flex: 1;
331
- overflow-y: auto;
332
- padding: var(--spacing-4);
333
- display: flex;
334
- flex-direction: column;
335
- gap: var(--spacing-4);
336
- }
337
-
338
- .messenger-message {
339
- display: flex;
340
- gap: var(--spacing-2);
341
- max-width: 85%;
342
- }
343
-
344
- .messenger-message-own {
345
- align-self: flex-end;
346
- flex-direction: column;
347
- align-items: flex-end;
348
- }
349
-
350
- .messenger-message-received {
351
- align-self: flex-start;
352
- }
353
-
354
- .messenger-message-bubble {
355
- padding: var(--spacing-3) var(--spacing-4);
356
- border-radius: var(--radius-2xl);
357
- word-wrap: break-word;
358
- }
359
-
360
- .messenger-message-own .messenger-message-bubble {
361
- background: var(--color-primary);
362
- color: var(--color-white);
363
- border-bottom-right-radius: var(--spacing-1);
364
- }
365
-
366
- .messenger-message-received .messenger-message-bubble {
367
- background: var(--color-neutral-100);
368
- color: var(--color-text-primary);
369
- border-bottom-left-radius: var(--spacing-1);
370
- }
371
-
372
- .messenger-message-content {
373
- font-size: var(--font-size-md);
374
- line-height: var(--line-height-normal);
375
- }
376
-
377
- .messenger-message-time {
378
- font-size: var(--font-size-xs);
379
- color: var(--color-text-tertiary);
380
- margin-top: var(--spacing-1);
381
- padding: 0 var(--spacing-1);
382
- }
383
-
384
- .messenger-chat-compose {
385
- display: flex;
386
- align-items: center;
387
- gap: var(--spacing-2);
388
- padding: var(--spacing-3) var(--spacing-4);
389
- border-top: 1px solid var(--color-border);
390
- background: var(--color-white);
391
- }
392
-
393
- .messenger-compose-input-wrapper {
394
- flex: 1;
395
- background: var(--color-neutral-100);
396
- border-radius: var(--radius-lg);
397
- padding: var(--spacing-2) var(--spacing-4);
398
- }
399
-
400
- .messenger-compose-input {
401
- width: 100%;
402
- background: transparent;
403
- border: none;
404
- outline: none;
405
- color: var(--color-text-primary);
406
- font-size: var(--font-size-md);
407
- line-height: var(--line-height-normal);
408
- resize: none;
409
- max-height: 120px;
410
- font-family: inherit;
411
- }
412
-
413
- .messenger-compose-input::placeholder {
414
- color: var(--color-text-tertiary);
415
- }
416
-
417
- .messenger-compose-send {
418
- width: 40px;
419
- height: 40px;
420
- background: var(--color-primary);
421
- border: none;
422
- border-radius: var(--radius-full);
423
- color: var(--color-white);
424
- cursor: pointer;
425
- display: flex;
426
- align-items: center;
427
- justify-content: center;
428
- transition: all var(--transition-base);
429
- flex-shrink: 0;
430
- }
431
-
432
- .messenger-compose-send:hover:not(:disabled) {
433
- background: var(--color-primary-hover);
434
- transform: scale(1.05);
435
- }
436
-
437
- .messenger-compose-send:disabled {
438
- background: var(--color-neutral-300);
439
- cursor: not-allowed;
440
- }
441
-
442
- .messenger-panel-nav {
443
- border-top: 1px solid var(--color-border);
444
- background: var(--color-white);
445
- }
446
-
447
- .messenger-nav {
448
- display: flex;
449
- padding: var(--spacing-1) var(--spacing-2);
450
- gap: var(--spacing-1);
451
- }
452
-
453
- .messenger-nav-tab {
454
- flex: 1;
455
- display: flex;
456
- flex-direction: column;
457
- align-items: center;
458
- gap: var(--spacing-1);
459
- padding: var(--spacing-2) var(--spacing-1);
460
- background: none;
461
- border: none;
462
- cursor: pointer;
463
- border-radius: var(--radius-md);
464
- transition: all var(--transition-base);
465
- position: relative;
466
- }
467
-
468
- .messenger-nav-tab:hover {
469
- background: var(--color-neutral-50);
470
- }
471
-
472
- .messenger-nav-icon {
473
- color: var(--color-text-secondary);
474
- transition: color var(--transition-base);
475
- }
476
-
477
- .messenger-nav-label {
478
- font-size: var(--font-size-xs);
479
- font-weight: var(--font-weight-medium);
480
- color: var(--color-text-secondary);
481
- transition: color var(--transition-base);
482
- }
483
-
484
- .messenger-nav-tab.active .messenger-nav-icon,
485
- .messenger-nav-tab.active .messenger-nav-label {
486
- color: var(--color-primary);
487
- }
488
-
489
- .messenger-nav-badge {
490
- position: absolute;
491
- top: var(--spacing-1);
492
- right: calc(50% - 16px);
493
- min-width: 16px;
494
- height: 16px;
495
- background: var(--color-error);
496
- color: var(--color-white);
497
- font-size: 10px;
498
- font-weight: var(--font-weight-semibold);
499
- border-radius: var(--radius-full);
500
- display: flex;
501
- align-items: center;
502
- justify-content: center;
503
- padding: 0 var(--spacing-1);
504
- }
505
-
506
- .messenger-empty-state {
507
- display: flex;
508
- flex-direction: column;
509
- align-items: center;
510
- justify-content: center;
511
- height: 100%;
512
- text-align: center;
513
- padding: var(--spacing-10);
514
- }
515
-
516
- .messenger-empty-state-icon {
517
- color: var(--color-neutral-300);
518
- margin-bottom: var(--spacing-4);
519
- }
520
-
521
- .messenger-empty-state h3 {
522
- margin: 0 0 var(--spacing-2);
523
- font-size: var(--font-size-xl);
524
- font-weight: var(--font-weight-semibold);
525
- color: var(--color-text-primary);
526
- }
527
-
528
- .messenger-empty-state p {
529
- margin: 0;
530
- font-size: var(--font-size-base);
531
- color: var(--color-text-secondary);
532
- }
533
-
534
- @media (max-width: 480px) {
535
- .messenger-panel {
536
- width: 100%;
537
- height: 100%;
538
- max-height: 100%;
539
- bottom: 0;
540
- right: 0;
541
- left: 0;
542
- border-radius: 0;
543
- }
544
-
545
- .messenger-panel-content {
546
- border-radius: 0;
547
- }
548
-
549
- .messenger-launcher {
550
- bottom: var(--spacing-4);
551
- right: var(--spacing-4);
552
- }
553
-
554
- .messenger-launcher-bottom-left {
555
- left: var(--spacing-4);
556
- }
557
- }
558
- `;
1
+ import { messengerComponentsStyles } from './messenger-components.js';
2
+ import { messengerCoreStyles } from './messenger-core.js';
3
+ import { messengerFeaturesStyles } from './messenger-features.js';
4
+ import { messengerViewsStyles } from './messenger-views.js';
5
+
6
+ export const messengerStyles =
7
+ messengerCoreStyles +
8
+ messengerViewsStyles +
9
+ messengerComponentsStyles +
10
+ messengerFeaturesStyles;
11
+
12
+ export {
13
+ messengerComponentsStyles,
14
+ messengerCoreStyles,
15
+ messengerFeaturesStyles,
16
+ messengerViewsStyles,
17
+ };
@@ -1,29 +1,26 @@
1
1
  import { baseStyles } from './base.js';
2
2
  import { changelogStyles } from './changelog.js';
3
+ import { componentsStyles } from './components.js';
4
+ import { designTokens } from './design-tokens.js';
3
5
  import { feedbackStyles } from './feedback.js';
4
- import { messengerCoreStyles } from './messenger-core.js';
5
- import { messengerViewsStyles } from './messenger-views.js';
6
- import { messengerHelpStyles } from './messenger-help.js';
7
- import { messengerFeaturesStyles } from './messenger-features.js';
8
- import { messengerThemesStyles } from './messenger-themes.js';
6
+ import { messengerStyles } from './messenger.js';
7
+ import { surveyStyles } from './survey.js';
9
8
 
10
- export const CSS_STYLES =
11
- baseStyles +
12
- feedbackStyles +
13
- changelogStyles +
14
- messengerCoreStyles +
15
- messengerViewsStyles +
16
- messengerHelpStyles +
17
- messengerFeaturesStyles +
18
- messengerThemesStyles;
9
+ export const CSS_STYLES =
10
+ designTokens +
11
+ baseStyles +
12
+ componentsStyles +
13
+ feedbackStyles +
14
+ changelogStyles +
15
+ surveyStyles +
16
+ messengerStyles;
19
17
 
20
- export {
21
- baseStyles,
22
- changelogStyles,
23
- feedbackStyles,
24
- messengerCoreStyles,
25
- messengerViewsStyles,
26
- messengerHelpStyles,
27
- messengerFeaturesStyles,
28
- messengerThemesStyles
29
- };
18
+ export {
19
+ baseStyles,
20
+ changelogStyles,
21
+ componentsStyles,
22
+ designTokens,
23
+ feedbackStyles,
24
+ messengerStyles,
25
+ surveyStyles,
26
+ };