@product7/product7-js 0.5.5 → 0.5.6

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/README.md +6 -5
  2. package/dist/README.md +6 -5
  3. package/dist/product7-js.js +821 -816
  4. package/dist/product7-js.js.map +1 -1
  5. package/dist/product7-js.min.js +1 -1
  6. package/dist/product7-js.min.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/api/services/{WebChatService.js → LiveChatService.js} +14 -14
  9. package/src/core/APIService.js +15 -15
  10. package/src/core/Product7.js +9 -4
  11. package/src/core/WebSocketService.js +1 -1
  12. package/src/docs/api.md +8 -8
  13. package/src/docs/example.md +9 -9
  14. package/src/docs/framework-integrations.md +3 -3
  15. package/src/index.js +37 -37
  16. package/src/styles/base.js +8 -8
  17. package/src/styles/{web-chat-components.js → live-chat-components.js} +114 -114
  18. package/src/styles/{web-chat-core.js → live-chat-core.js} +30 -30
  19. package/src/styles/{web-chat-features.js → live-chat-features.js} +20 -20
  20. package/src/styles/{web-chat-views.js → live-chat-views.js} +137 -137
  21. package/src/styles/live-chat.js +17 -0
  22. package/src/styles/{webChatCustomStyles.js → liveChatCustomStyles.js} +16 -16
  23. package/src/styles/styles.js +3 -3
  24. package/src/widgets/{WebChatWidget.js → LiveChatWidget.js} +166 -166
  25. package/src/widgets/WidgetFactory.js +2 -2
  26. package/src/widgets/{web-chat/WebChatState.js → live-chat/LiveChatState.js} +1 -1
  27. package/src/widgets/{web-chat/components/WebChatLauncher.js → live-chat/components/LiveChatLauncher.js} +15 -15
  28. package/src/widgets/{web-chat/components/WebChatPanel.js → live-chat/components/LiveChatPanel.js} +10 -10
  29. package/src/widgets/{web-chat → live-chat}/components/NavigationTabs.js +12 -12
  30. package/src/widgets/{web-chat → live-chat}/views/ChangelogView.js +16 -16
  31. package/src/widgets/{web-chat → live-chat}/views/ChatView.js +90 -90
  32. package/src/widgets/{web-chat → live-chat}/views/ConversationsView.js +23 -23
  33. package/src/widgets/{web-chat → live-chat}/views/HelpView.js +28 -28
  34. package/src/widgets/{web-chat → live-chat}/views/HomeView.js +52 -52
  35. package/src/widgets/{web-chat → live-chat}/views/PreChatFormView.js +16 -16
  36. package/types/index.d.ts +9 -8
  37. package/src/styles/web-chat.js +0 -17
@@ -1,16 +1,16 @@
1
- export const webChatComponentsStyles = `
1
+ export const liveChatComponentsStyles = `
2
2
 
3
3
  /* ========================================
4
4
  MESSAGES
5
5
  ======================================== */
6
6
 
7
- .web-chat-message {
7
+ .live-chat-message {
8
8
  display: flex;
9
9
  gap: var(--spacing-2);
10
10
  max-width: 75%;
11
11
  }
12
12
 
13
- .web-chat-message-system {
13
+ .live-chat-message-system {
14
14
  align-self: center;
15
15
  display: flex;
16
16
  align-items: center;
@@ -19,15 +19,15 @@
19
19
  width: 100%;
20
20
  }
21
21
 
22
- .web-chat-message-system::before,
23
- .web-chat-message-system::after {
22
+ .live-chat-message-system::before,
23
+ .live-chat-message-system::after {
24
24
  content: '';
25
25
  flex: 1;
26
26
  height: 1px;
27
27
  background: var(--msg-border);
28
28
  }
29
29
 
30
- .web-chat-message-system-text {
30
+ .live-chat-message-system-text {
31
31
  font-size: 0.875rem;
32
32
  font-weight: 500;
33
33
  color: var(--msg-text-secondary);
@@ -36,7 +36,7 @@
36
36
  }
37
37
 
38
38
  /* Rich join/leave system event */
39
- .web-chat-message-system-event {
39
+ .live-chat-message-system-event {
40
40
  align-self: center;
41
41
  display: flex;
42
42
  flex-direction: column;
@@ -47,7 +47,7 @@
47
47
  text-align: center;
48
48
  }
49
49
 
50
- .web-chat-message-system-event-avatar {
50
+ .live-chat-message-system-event-avatar {
51
51
  width: 3rem;
52
52
  height: 3rem;
53
53
  border-radius: var(--radius-full);
@@ -64,103 +64,103 @@
64
64
  margin-bottom: 4px;
65
65
  }
66
66
 
67
- .web-chat-message-system-event-avatar img {
67
+ .live-chat-message-system-event-avatar img {
68
68
  width: 60%;
69
69
  height: 60%;
70
70
  object-fit: contain;
71
71
  }
72
72
 
73
- .web-chat-message-system-event-name {
73
+ .live-chat-message-system-event-name {
74
74
  font-size: 0.875rem;
75
75
  font-weight: var(--font-weight-semibold);
76
76
  color: var(--msg-text);
77
77
  line-height: 1.3;
78
78
  }
79
79
 
80
- .web-chat-message-system-event-action {
80
+ .live-chat-message-system-event-action {
81
81
  font-size: 0.875rem;
82
82
  font-weight: 500;
83
83
  color: var(--msg-text-secondary);
84
84
  margin-top: -2px;
85
85
  }
86
86
 
87
- .web-chat-message-system-event-time {
87
+ .live-chat-message-system-event-time {
88
88
  font-size: 0.875rem;
89
89
  font-weight: 500;
90
90
  color: var(--msg-text-tertiary);
91
91
  }
92
92
 
93
- .web-chat-message-own {
93
+ .live-chat-message-own {
94
94
  align-self: flex-end;
95
95
  flex-direction: column;
96
96
  align-items: flex-end;
97
97
  }
98
98
 
99
- .web-chat-message-received {
99
+ .live-chat-message-received {
100
100
  align-self: flex-start;
101
101
  flex-direction: column;
102
102
  }
103
103
 
104
- .web-chat-message-row {
104
+ .live-chat-message-row {
105
105
  display: flex;
106
106
  align-items: flex-end;
107
107
  gap: var(--spacing-2);
108
108
  }
109
109
 
110
- .web-chat-message-wrapper {
110
+ .live-chat-message-wrapper {
111
111
  display: flex;
112
112
  flex-direction: column;
113
113
  }
114
114
 
115
- .web-chat-message-avatar {
115
+ .live-chat-message-avatar {
116
116
  display: none;
117
117
  }
118
118
 
119
- .web-chat-message-sender {
119
+ .live-chat-message-sender {
120
120
  display: none;
121
121
  }
122
122
 
123
- .web-chat-message-bubble {
123
+ .live-chat-message-bubble {
124
124
  padding: 7px 13px;
125
125
  border-radius: 1.125rem;
126
126
  word-wrap: break-word;
127
127
  max-width: 100%;
128
128
  }
129
129
 
130
- .web-chat-message-own .web-chat-message-bubble {
130
+ .live-chat-message-own .live-chat-message-bubble {
131
131
  background: var(--msg-bg-bubble-own);
132
132
  color: #111827;
133
133
  border-bottom-right-radius: 0.25rem;
134
134
  }
135
135
 
136
- .web-chat-message-received .web-chat-message-bubble {
136
+ .live-chat-message-received .live-chat-message-bubble {
137
137
  background: var(--msg-bg-bubble-received);
138
138
  color: #ffffff;
139
139
  border-bottom-left-radius: 0.25rem;
140
140
  }
141
141
 
142
- .web-chat-message-content {
142
+ .live-chat-message-content {
143
143
  font-size: 0.875rem;
144
144
  font-weight: 500;
145
145
  line-height: var(--line-height-relaxed);
146
146
  }
147
147
 
148
- .web-chat-message-content p {
148
+ .live-chat-message-content p {
149
149
  margin: 0 0 0.5rem;
150
150
  }
151
151
 
152
- .web-chat-message-content p:last-child {
152
+ .live-chat-message-content p:last-child {
153
153
  margin-bottom: 0;
154
154
  }
155
155
 
156
- .web-chat-message-time {
156
+ .live-chat-message-time {
157
157
  font-size: var(--font-size-xs);
158
158
  color: var(--msg-text-tertiary);
159
159
  margin-top: 0.25rem;
160
160
  padding: 0 var(--spacing-1);
161
161
  }
162
162
 
163
- .web-chat-message-meta {
163
+ .live-chat-message-meta {
164
164
  display: flex;
165
165
  align-items: center;
166
166
  gap: 0.375rem;
@@ -170,19 +170,19 @@
170
170
  padding: 0 var(--spacing-1);
171
171
  }
172
172
 
173
- .web-chat-message-meta-own {
173
+ .live-chat-message-meta-own {
174
174
  justify-content: flex-end;
175
175
  }
176
176
 
177
- .web-chat-message-sent-status {
177
+ .live-chat-message-sent-status {
178
178
  color: var(--msg-text-muted);
179
179
  }
180
180
 
181
- .web-chat-message-optimistic .web-chat-message-bubble {
181
+ .live-chat-message-optimistic .live-chat-message-bubble {
182
182
  opacity: 0.7;
183
183
  }
184
184
 
185
- .web-chat-message-image {
185
+ .live-chat-message-image {
186
186
  max-width: 220px;
187
187
  max-height: 200px;
188
188
  width: auto;
@@ -194,7 +194,7 @@
194
194
  display: block;
195
195
  }
196
196
 
197
- .web-chat-message-file {
197
+ .live-chat-message-file {
198
198
  display: inline-flex;
199
199
  align-items: center;
200
200
  gap: var(--spacing-2);
@@ -211,21 +211,21 @@
211
211
  cursor: pointer;
212
212
  }
213
213
 
214
- .web-chat-message-file:hover {
214
+ .live-chat-message-file:hover {
215
215
  background: var(--color-neutral-200);
216
216
  }
217
217
 
218
- .web-chat-file-download-icon {
218
+ .live-chat-file-download-icon {
219
219
  margin-left: auto;
220
220
  opacity: 0.5;
221
221
  flex-shrink: 0;
222
222
  }
223
223
 
224
- .web-chat-message-file:hover .web-chat-file-download-icon {
224
+ .live-chat-message-file:hover .live-chat-file-download-icon {
225
225
  opacity: 1;
226
226
  }
227
227
 
228
- .web-chat-closed-banner {
228
+ .live-chat-closed-banner {
229
229
  display: flex;
230
230
  align-items: center;
231
231
  justify-content: center;
@@ -243,7 +243,7 @@
243
243
  SCROLL PILL & CONNECTION BANNER
244
244
  ======================================== */
245
245
 
246
- .web-chat-scroll-pill {
246
+ .live-chat-scroll-pill {
247
247
  position: absolute;
248
248
  bottom: 80px;
249
249
  left: 50%;
@@ -263,7 +263,7 @@
263
263
  white-space: nowrap;
264
264
  }
265
265
 
266
- .web-chat-connection-banner {
266
+ .live-chat-connection-banner {
267
267
  display: flex;
268
268
  align-items: center;
269
269
  justify-content: center;
@@ -276,7 +276,7 @@
276
276
  flex-shrink: 0;
277
277
  }
278
278
 
279
- .web-chat-widget.theme-dark .web-chat-connection-banner {
279
+ .live-chat-widget.theme-dark .live-chat-connection-banner {
280
280
  background: rgba(245, 158, 11, 0.15);
281
281
  color: #fbbf24;
282
282
  }
@@ -285,7 +285,7 @@
285
285
  CHAT HEADER
286
286
  ======================================== */
287
287
 
288
- .web-chat-chat-header {
288
+ .live-chat-chat-header {
289
289
  display: flex;
290
290
  align-items: center;
291
291
  gap: var(--spacing-2);
@@ -293,7 +293,7 @@
293
293
  border-bottom: 1px solid var(--msg-border);
294
294
  }
295
295
 
296
- .web-chat-chat-header-avatar {
296
+ .live-chat-chat-header-avatar {
297
297
  width: 2.25rem;
298
298
  height: 2.25rem;
299
299
  border-radius: var(--radius-lg);
@@ -307,19 +307,19 @@
307
307
  padding: 4px;
308
308
  }
309
309
 
310
- .web-chat-chat-header-avatar img {
310
+ .live-chat-chat-header-avatar img {
311
311
  width: 100%;
312
312
  height: 100%;
313
313
  object-fit: contain;
314
314
  }
315
315
 
316
- .web-chat-chat-header-avatar svg {
316
+ .live-chat-chat-header-avatar svg {
317
317
  width: 1.25rem;
318
318
  height: 1.25rem;
319
319
  color: var(--msg-text-secondary);
320
320
  }
321
321
 
322
- .web-chat-chat-header-info {
322
+ .live-chat-chat-header-info {
323
323
  flex: 1;
324
324
  display: flex;
325
325
  flex-direction: column;
@@ -327,27 +327,27 @@
327
327
  min-width: 0;
328
328
  }
329
329
 
330
- .web-chat-chat-title {
330
+ .live-chat-chat-title {
331
331
  font-size: var(--font-size-base);
332
332
  font-weight: var(--font-weight-semibold);
333
333
  color: var(--msg-text);
334
334
  line-height: 1.4;
335
335
  }
336
336
 
337
- .web-chat-chat-subtitle {
337
+ .live-chat-chat-subtitle {
338
338
  font-size: var(--font-size-sm);
339
339
  color: var(--msg-text-secondary);
340
340
  line-height: 1.4;
341
341
  }
342
342
 
343
- .web-chat-chat-header-actions {
343
+ .live-chat-chat-header-actions {
344
344
  display: flex;
345
345
  align-items: center;
346
346
  gap: var(--spacing-1);
347
347
  flex-shrink: 0;
348
348
  }
349
349
 
350
- .web-chat-chat-messages {
350
+ .live-chat-chat-messages {
351
351
  flex: 1;
352
352
  overflow-y: auto;
353
353
  padding: var(--spacing-5) var(--spacing-4);
@@ -356,7 +356,7 @@
356
356
  gap: var(--spacing-4);
357
357
  }
358
358
 
359
- .web-chat-chat-empty {
359
+ .live-chat-chat-empty {
360
360
  flex: 1;
361
361
  display: flex;
362
362
  flex-direction: column;
@@ -366,11 +366,11 @@
366
366
  padding: var(--spacing-10);
367
367
  }
368
368
 
369
- .web-chat-chat-empty-avatars {
369
+ .live-chat-chat-empty-avatars {
370
370
  margin-bottom: var(--spacing-4);
371
371
  }
372
372
 
373
- .web-chat-chat-empty-logo {
373
+ .live-chat-chat-empty-logo {
374
374
  width: 48px;
375
375
  height: 48px;
376
376
  border-radius: var(--radius-xl);
@@ -382,13 +382,13 @@
382
382
  background: var(--msg-bg-surface);
383
383
  }
384
384
 
385
- .web-chat-chat-empty-logo img {
385
+ .live-chat-chat-empty-logo img {
386
386
  width: 100%;
387
387
  height: 100%;
388
388
  object-fit: contain;
389
389
  }
390
390
 
391
- .web-chat-chat-empty h3 {
391
+ .live-chat-chat-empty h3 {
392
392
  margin: 0 0 var(--spacing-2);
393
393
  font-size: var(--font-size-base);
394
394
  font-weight: var(--font-weight-semibold);
@@ -404,11 +404,11 @@
404
404
  EMOJI PICKER
405
405
  ======================================== */
406
406
 
407
- .web-chat-emoji-picker-container {
407
+ .live-chat-emoji-picker-container {
408
408
  padding: 0 var(--spacing-3) var(--spacing-2);
409
409
  }
410
410
 
411
- .web-chat-emoji-picker-container emoji-picker {
411
+ .live-chat-emoji-picker-container emoji-picker {
412
412
  width: 100%;
413
413
  height: 320px;
414
414
  border-radius: var(--radius-xl);
@@ -434,7 +434,7 @@
434
434
  --hover-background: var(--msg-bg-hover);
435
435
  }
436
436
 
437
- .web-chat-widget.theme-dark .web-chat-emoji-picker-container emoji-picker {
437
+ .live-chat-widget.theme-dark .live-chat-emoji-picker-container emoji-picker {
438
438
  --background: var(--msg-bg);
439
439
  --border-color: var(--msg-border);
440
440
  --category-font-color: var(--msg-text-secondary);
@@ -443,7 +443,7 @@
443
443
  --hover-background: var(--msg-bg-hover);
444
444
  }
445
445
 
446
- .web-chat-chat-compose {
446
+ .live-chat-chat-compose {
447
447
  display: flex;
448
448
  flex-direction: column;
449
449
  padding: var(--spacing-3) var(--spacing-4);
@@ -453,11 +453,11 @@
453
453
  border-radius: var(--radius-xl);
454
454
  }
455
455
 
456
- .web-chat-compose-input-wrapper {
456
+ .live-chat-compose-input-wrapper {
457
457
  width: 100%;
458
458
  }
459
459
 
460
- .web-chat-compose-input {
460
+ .live-chat-compose-input {
461
461
  width: 100%;
462
462
  background: transparent;
463
463
  border: none;
@@ -471,33 +471,33 @@
471
471
  padding: var(--spacing-1) 0;
472
472
  }
473
473
 
474
- .web-chat-compose-input::placeholder {
474
+ .live-chat-compose-input::placeholder {
475
475
  color: var(--msg-text-tertiary);
476
476
  }
477
477
 
478
- .web-chat-compose-input:focus {
478
+ .live-chat-compose-input:focus {
479
479
  outline: none;
480
480
  }
481
481
 
482
- .web-chat-chat-compose:focus-within {
482
+ .live-chat-chat-compose:focus-within {
483
483
  border-color: var(--color-primary-border);
484
484
  box-shadow: 0 0 0 3px var(--color-primary-light);
485
485
  }
486
486
 
487
- .web-chat-compose-bottom {
487
+ .live-chat-compose-bottom {
488
488
  display: flex;
489
489
  align-items: center;
490
490
  justify-content: space-between;
491
491
  margin-top: var(--spacing-2);
492
492
  }
493
493
 
494
- .web-chat-compose-actions {
494
+ .live-chat-compose-actions {
495
495
  display: flex;
496
496
  align-items: center;
497
497
  gap: var(--spacing-1);
498
498
  }
499
499
 
500
- .web-chat-compose-send {
500
+ .live-chat-compose-send {
501
501
  width: 2.25rem;
502
502
  height: 2.25rem;
503
503
  background: transparent;
@@ -512,43 +512,43 @@
512
512
  flex-shrink: 0;
513
513
  }
514
514
 
515
- .web-chat-compose-send:hover:not(:disabled) {
515
+ .live-chat-compose-send:hover:not(:disabled) {
516
516
  background: var(--color-primary);
517
517
  border-color: var(--color-primary);
518
518
  color: var(--msg-bg);
519
519
  }
520
520
 
521
- .web-chat-compose-send:active:not(:disabled) {
521
+ .live-chat-compose-send:active:not(:disabled) {
522
522
  transform: translateY(1px);
523
523
  transition-duration: 100ms;
524
524
  }
525
525
 
526
- .web-chat-compose-send:disabled {
526
+ .live-chat-compose-send:disabled {
527
527
  color: var(--color-neutral-300);
528
528
  border-color: var(--color-neutral-200);
529
529
  cursor: not-allowed;
530
530
  }
531
531
 
532
- .web-chat-compose-send svg {
532
+ .live-chat-compose-send svg {
533
533
  color: inherit;
534
534
  }
535
535
 
536
- .web-chat-compose-file-input {
536
+ .live-chat-compose-file-input {
537
537
  display: none;
538
538
  }
539
539
 
540
- .web-chat-compose-attach {
540
+ .live-chat-compose-attach {
541
541
  width: 2rem;
542
542
  height: 2rem;
543
543
  flex-shrink: 0;
544
544
  color: var(--msg-text-secondary);
545
545
  }
546
546
 
547
- .web-chat-compose-attach:hover {
547
+ .live-chat-compose-attach:hover {
548
548
  color: var(--msg-text);
549
549
  }
550
550
 
551
- .web-chat-compose-attach svg {
551
+ .live-chat-compose-attach svg {
552
552
  width: 1.25rem;
553
553
  height: 1.25rem;
554
554
  }
@@ -557,7 +557,7 @@
557
557
  TYPING INDICATOR
558
558
  ======================================== */
559
559
 
560
- .web-chat-typing-indicator {
560
+ .live-chat-typing-indicator {
561
561
  display: none;
562
562
  align-items: center;
563
563
  gap: var(--spacing-2);
@@ -565,7 +565,7 @@
565
565
  margin: var(--spacing-1) 0;
566
566
  }
567
567
 
568
- .web-chat-typing-dots {
568
+ .live-chat-typing-dots {
569
569
  display: flex;
570
570
  align-items: center;
571
571
  gap: 4px;
@@ -574,19 +574,19 @@
574
574
  border-radius: var(--radius-2xl);
575
575
  }
576
576
 
577
- .web-chat-typing-dots span {
577
+ .live-chat-typing-dots span {
578
578
  width: 6px;
579
579
  height: 6px;
580
580
  background: var(--color-neutral-400);
581
581
  border-radius: var(--radius-full);
582
- animation: web-chat-typing-bounce 1.4s infinite ease-in-out;
582
+ animation: live-chat-typing-bounce 1.4s infinite ease-in-out;
583
583
  }
584
584
 
585
- .web-chat-typing-dots span:nth-child(1) { animation-delay: -0.32s; }
586
- .web-chat-typing-dots span:nth-child(2) { animation-delay: -0.16s; }
587
- .web-chat-typing-dots span:nth-child(3) { animation-delay: 0s; }
585
+ .live-chat-typing-dots span:nth-child(1) { animation-delay: -0.32s; }
586
+ .live-chat-typing-dots span:nth-child(2) { animation-delay: -0.16s; }
587
+ .live-chat-typing-dots span:nth-child(3) { animation-delay: 0s; }
588
588
 
589
- .web-chat-typing-text {
589
+ .live-chat-typing-text {
590
590
  font-size: var(--font-size-xs);
591
591
  color: var(--msg-text-tertiary);
592
592
  }
@@ -595,23 +595,23 @@
595
595
  NAVIGATION TABS
596
596
  ======================================== */
597
597
 
598
- .web-chat-panel-nav {
598
+ .live-chat-panel-nav {
599
599
  border-top: 1px solid var(--msg-border);
600
600
  background: var(--msg-bg);
601
601
  }
602
602
 
603
- .web-chat-nav-tabs {
603
+ .live-chat-nav-tabs {
604
604
  display: flex;
605
605
  padding: var(--spacing-1) var(--spacing-2) 0;
606
606
  gap: var(--spacing-1);
607
607
  }
608
608
 
609
- .web-chat-nav-footer {
609
+ .live-chat-nav-footer {
610
610
  padding: 2px var(--spacing-2) var(--spacing-2);
611
611
  text-align: center;
612
612
  }
613
613
 
614
- .web-chat-powered-by {
614
+ .live-chat-powered-by {
615
615
  display: inline-flex;
616
616
  align-items: center;
617
617
  gap: 4px;
@@ -621,20 +621,20 @@
621
621
  transition: color var(--transition-base);
622
622
  }
623
623
 
624
- .web-chat-powered-by:hover {
624
+ .live-chat-powered-by:hover {
625
625
  color: var(--msg-text-secondary);
626
626
  }
627
627
 
628
- .web-chat-powered-by svg {
628
+ .live-chat-powered-by svg {
629
629
  width: 12px;
630
630
  height: 14px;
631
631
  }
632
632
 
633
- .web-chat-powered-by strong {
633
+ .live-chat-powered-by strong {
634
634
  font-weight: var(--font-weight-semibold);
635
635
  }
636
636
 
637
- .web-chat-nav-tab {
637
+ .live-chat-nav-tab {
638
638
  flex: 1;
639
639
  display: flex;
640
640
  flex-direction: column;
@@ -649,21 +649,21 @@
649
649
  position: relative;
650
650
  }
651
651
 
652
- .web-chat-nav-tab:hover {
652
+ .live-chat-nav-tab:hover {
653
653
  background: transparent;
654
654
  }
655
655
 
656
- .web-chat-nav-tab:active {
656
+ .live-chat-nav-tab:active {
657
657
  transform: translateY(1px);
658
658
  transition-duration: 100ms;
659
659
  }
660
660
 
661
- .web-chat-nav-tab:hover .web-chat-nav-icon,
662
- .web-chat-nav-tab:hover .web-chat-nav-label {
661
+ .live-chat-nav-tab:hover .live-chat-nav-icon,
662
+ .live-chat-nav-tab:hover .live-chat-nav-label {
663
663
  color: var(--msg-text);
664
664
  }
665
665
 
666
- .web-chat-nav-icon {
666
+ .live-chat-nav-icon {
667
667
  color: var(--msg-text-secondary);
668
668
  transition: color var(--transition-base);
669
669
  display: flex;
@@ -673,25 +673,25 @@
673
673
  height: 26px;
674
674
  }
675
675
 
676
- .web-chat-nav-icon svg {
676
+ .live-chat-nav-icon svg {
677
677
  width: 26px;
678
678
  height: 26px;
679
679
  display: block;
680
680
  }
681
681
 
682
- .web-chat-nav-label {
682
+ .live-chat-nav-label {
683
683
  font-size: var(--font-size-sm);
684
684
  font-weight: var(--font-weight-medium);
685
685
  color: var(--msg-text-secondary);
686
686
  transition: color var(--transition-base);
687
687
  }
688
688
 
689
- .web-chat-nav-tab.active .web-chat-nav-icon,
690
- .web-chat-nav-tab.active .web-chat-nav-label {
689
+ .live-chat-nav-tab.active .live-chat-nav-icon,
690
+ .live-chat-nav-tab.active .live-chat-nav-label {
691
691
  color: var(--color-primary);
692
692
  }
693
693
 
694
- .web-chat-nav-badge {
694
+ .live-chat-nav-badge {
695
695
  position: absolute;
696
696
  top: var(--spacing-1);
697
697
  right: calc(50% - 16px);
@@ -712,11 +712,11 @@
712
712
  PRECHAT
713
713
  ======================================== */
714
714
 
715
- .web-chat-prechat-view {
715
+ .live-chat-prechat-view {
716
716
  position: relative;
717
717
  }
718
718
 
719
- .web-chat-prechat-overlay {
719
+ .live-chat-prechat-overlay {
720
720
  position: absolute;
721
721
  top: 0;
722
722
  left: 0;
@@ -731,7 +731,7 @@
731
731
  backdrop-filter: blur(2px);
732
732
  }
733
733
 
734
- .web-chat-prechat-card {
734
+ .live-chat-prechat-card {
735
735
  background: var(--msg-bg);
736
736
  border-radius: var(--radius-xl);
737
737
  padding: var(--spacing-6) var(--spacing-6) var(--spacing-5);
@@ -742,7 +742,7 @@
742
742
  text-align: center;
743
743
  }
744
744
 
745
- .web-chat-prechat-icon {
745
+ .live-chat-prechat-icon {
746
746
  display: flex;
747
747
  align-items: center;
748
748
  justify-content: center;
@@ -754,33 +754,33 @@
754
754
  margin: 0 auto var(--spacing-4);
755
755
  }
756
756
 
757
- .web-chat-prechat-title {
757
+ .live-chat-prechat-title {
758
758
  margin: 0 0 var(--spacing-2);
759
759
  font-size: var(--font-size-base);
760
760
  font-weight: var(--font-weight-semibold);
761
761
  color: var(--msg-text);
762
762
  }
763
763
 
764
- .web-chat-prechat-subtitle {
764
+ .live-chat-prechat-subtitle {
765
765
  margin: 0 0 var(--spacing-5);
766
766
  font-size: var(--font-size-sm);
767
767
  color: var(--msg-text-secondary);
768
768
  line-height: var(--line-height-relaxed);
769
769
  }
770
770
 
771
- .web-chat-prechat-form {
771
+ .live-chat-prechat-form {
772
772
  display: flex;
773
773
  flex-direction: column;
774
774
  gap: var(--spacing-2);
775
775
  }
776
776
 
777
- .web-chat-prechat-field {
777
+ .live-chat-prechat-field {
778
778
  display: flex;
779
779
  flex-direction: column;
780
780
  gap: var(--spacing-1);
781
781
  }
782
782
 
783
- .web-chat-prechat-input {
783
+ .live-chat-prechat-input {
784
784
  width: 100%;
785
785
  padding: var(--spacing-2) var(--spacing-3);
786
786
  border: 1px solid var(--msg-border);
@@ -794,20 +794,20 @@
794
794
  box-sizing: border-box;
795
795
  }
796
796
 
797
- .web-chat-prechat-input::placeholder {
797
+ .live-chat-prechat-input::placeholder {
798
798
  color: var(--msg-text-secondary);
799
799
  }
800
800
 
801
- .web-chat-prechat-input:focus {
801
+ .live-chat-prechat-input:focus {
802
802
  border-color: var(--color-primary);
803
803
  }
804
804
 
805
- .web-chat-prechat-error {
805
+ .live-chat-prechat-error {
806
806
  font-size: var(--font-size-xs);
807
807
  color: #dc2626;
808
808
  }
809
809
 
810
- .web-chat-prechat-submit {
810
+ .live-chat-prechat-submit {
811
811
  display: flex;
812
812
  align-items: center;
813
813
  justify-content: center;
@@ -826,16 +826,16 @@
826
826
  margin-top: var(--spacing-1);
827
827
  }
828
828
 
829
- .web-chat-prechat-submit:hover {
829
+ .live-chat-prechat-submit:hover {
830
830
  background: var(--color-primary-hover);
831
831
  }
832
832
 
833
- .web-chat-prechat-submit:active {
833
+ .live-chat-prechat-submit:active {
834
834
  transform: translateY(1px);
835
835
  transition-duration: 100ms;
836
836
  }
837
837
 
838
- .web-chat-prechat-submit:disabled {
838
+ .live-chat-prechat-submit:disabled {
839
839
  opacity: 0.7;
840
840
  cursor: not-allowed;
841
841
  }