@consilioweb/payload-support 0.9.13 → 0.10.0
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.
- package/dist/components/TicketConversation/locales/en.json +8 -0
- package/dist/components/TicketConversation/locales/fr.json +9 -1
- package/dist/styles/TicketDetail.module.scss +270 -20
- package/dist/styles/TicketInbox.module.scss +112 -50
- package/dist/views/TicketDetailView/client.cjs +80 -13
- package/dist/views/TicketDetailView/client.js +80 -13
- package/dist/views/TicketInboxView/client.cjs +116 -58
- package/dist/views/TicketInboxView/client.js +116 -58
- package/dist/views/shared/StatusPill.cjs +36 -0
- package/dist/views/shared/StatusPill.js +30 -0
- package/dist/views/shared/StatusPill.module.scss +66 -0
- package/dist/views/shared/index.cjs +14 -0
- package/dist/views/shared/index.js +2 -0
- package/dist/views/shared/sla.cjs +37 -0
- package/dist/views/shared/sla.js +34 -0
- package/package.json +1 -1
- package/src/components/TicketConversation/locales/en.json +8 -0
- package/src/components/TicketConversation/locales/fr.json +9 -1
- package/src/styles/TicketDetail.module.scss +270 -20
- package/src/styles/TicketInbox.module.scss +112 -50
- package/src/views/TicketDetailView/client.tsx +88 -27
- package/src/views/TicketInboxView/client.tsx +106 -50
- package/src/views/shared/StatusPill.module.scss +66 -0
- package/src/views/shared/StatusPill.tsx +44 -0
- package/src/views/shared/index.ts +4 -0
- package/src/views/shared/sla.ts +56 -0
|
@@ -108,8 +108,16 @@
|
|
|
108
108
|
"all": "All",
|
|
109
109
|
"open": "Open",
|
|
110
110
|
"waiting": "Waiting",
|
|
111
|
+
"slaBreach": "SLA breached",
|
|
111
112
|
"resolved": "Resolved"
|
|
112
113
|
},
|
|
114
|
+
"slaColumn": "SLA",
|
|
115
|
+
"slaBanner": {
|
|
116
|
+
"breached": "SLA breached",
|
|
117
|
+
"responseAwaitedFor": "Response awaited for {{duration}}",
|
|
118
|
+
"target": "Target: {{target}}",
|
|
119
|
+
"escalate": "Escalate"
|
|
120
|
+
},
|
|
113
121
|
"sort": {
|
|
114
122
|
"newest": "Sort by: Newest",
|
|
115
123
|
"oldest": "Sort by: Oldest",
|
|
@@ -108,7 +108,15 @@
|
|
|
108
108
|
"all": "Tous",
|
|
109
109
|
"open": "Ouverts",
|
|
110
110
|
"waiting": "Attente",
|
|
111
|
-
"
|
|
111
|
+
"slaBreach": "SLA dépassé",
|
|
112
|
+
"resolved": "Résolus"
|
|
113
|
+
},
|
|
114
|
+
"slaColumn": "SLA",
|
|
115
|
+
"slaBanner": {
|
|
116
|
+
"breached": "SLA dépassé",
|
|
117
|
+
"responseAwaitedFor": "Réponse attendue depuis {{duration}}",
|
|
118
|
+
"target": "Cible : {{target}}",
|
|
119
|
+
"escalate": "Escalader"
|
|
112
120
|
},
|
|
113
121
|
"sort": {
|
|
114
122
|
"newest": "Tri : Recents",
|
|
@@ -273,15 +273,39 @@
|
|
|
273
273
|
padding: 14px 12px;
|
|
274
274
|
border-radius: 10px;
|
|
275
275
|
position: relative;
|
|
276
|
-
transition: background 80ms;
|
|
276
|
+
transition: background 80ms ease;
|
|
277
277
|
|
|
278
278
|
&:hover { background: var(--theme-elevation-50); }
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
+
// Client bubble — warm tint for fast scanning (left side of the convo).
|
|
282
|
+
.messageClient {
|
|
283
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 5%, transparent);
|
|
284
|
+
border-left: 3px solid color-mix(in srgb, var(--theme-warning-500, #c97a0a) 35%, transparent);
|
|
285
|
+
|
|
286
|
+
&:hover {
|
|
287
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 10%, transparent);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Admin/support bubble — neutral, the user expects to author here.
|
|
292
|
+
.messageAdmin {
|
|
293
|
+
background: var(--theme-elevation-0, #fff);
|
|
294
|
+
border-left: 3px solid color-mix(in srgb, var(--theme-info-500, #2a6bd8) 35%, transparent);
|
|
295
|
+
|
|
296
|
+
&:hover {
|
|
297
|
+
background: var(--theme-elevation-50);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// Internal note — visible to agents only, takes precedence over admin styles.
|
|
281
302
|
.messageInternal {
|
|
282
|
-
background: #
|
|
283
|
-
border-left: 3px dashed #
|
|
284
|
-
|
|
303
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 12%, transparent) !important;
|
|
304
|
+
border-left: 3px dashed var(--theme-warning-500, #c97a0a) !important;
|
|
305
|
+
|
|
306
|
+
&:hover {
|
|
307
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 18%, transparent) !important;
|
|
308
|
+
}
|
|
285
309
|
}
|
|
286
310
|
|
|
287
311
|
.avatar {
|
|
@@ -402,25 +426,30 @@
|
|
|
402
426
|
position: relative;
|
|
403
427
|
background: var(--theme-elevation-0, #fff);
|
|
404
428
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
|
|
405
|
-
transition: border-color 150ms, box-shadow 150ms;
|
|
429
|
+
transition: border-color 150ms, box-shadow 150ms, background 150ms;
|
|
406
430
|
|
|
407
431
|
&:focus-within {
|
|
408
|
-
border-color: #
|
|
409
|
-
box-shadow: 0 0 0 3px
|
|
432
|
+
border-color: var(--theme-info-500, #2a6bd8);
|
|
433
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-info-500, #2a6bd8) 18%, transparent);
|
|
410
434
|
}
|
|
411
435
|
}
|
|
412
436
|
|
|
413
437
|
.composerInternal {
|
|
414
|
-
|
|
438
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 8%, var(--theme-elevation-0, #fff));
|
|
439
|
+
border-color: var(--theme-warning-500, #c97a0a);
|
|
415
440
|
border-style: dashed;
|
|
416
|
-
|
|
441
|
+
|
|
442
|
+
&:focus-within {
|
|
443
|
+
border-color: var(--theme-warning-500, #c97a0a);
|
|
444
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-warning-500, #c97a0a) 18%, transparent);
|
|
445
|
+
}
|
|
417
446
|
}
|
|
418
447
|
|
|
419
448
|
// #5 — Drag & drop highlight
|
|
420
449
|
.composerDragOver {
|
|
421
|
-
border-color: #
|
|
422
|
-
background:
|
|
423
|
-
box-shadow: 0 0 0 3px
|
|
450
|
+
border-color: var(--theme-info-500, #2a6bd8);
|
|
451
|
+
background: color-mix(in srgb, var(--theme-info-500, #2a6bd8) 6%, transparent);
|
|
452
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-info-500, #2a6bd8) 18%, transparent);
|
|
424
453
|
}
|
|
425
454
|
|
|
426
455
|
.composerToolbar {
|
|
@@ -452,6 +481,27 @@
|
|
|
452
481
|
}
|
|
453
482
|
|
|
454
483
|
&:disabled { opacity: 0.3; cursor: not-allowed; }
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// AI variant — promoted, distinct color so it doesn't blend with toolbar icons.
|
|
487
|
+
.toolbarBtnAi {
|
|
488
|
+
width: auto;
|
|
489
|
+
height: 28px;
|
|
490
|
+
padding: 0 10px;
|
|
491
|
+
font-size: 11px;
|
|
492
|
+
font-weight: 600;
|
|
493
|
+
background: color-mix(in srgb, var(--theme-accent-500, #6b46e8) 12%, transparent);
|
|
494
|
+
border: 1px solid color-mix(in srgb, var(--theme-accent-500, #6b46e8) 30%, transparent);
|
|
495
|
+
color: var(--theme-accent-500, #6b46e8);
|
|
496
|
+
gap: 4px;
|
|
497
|
+
|
|
498
|
+
&:hover:not(:disabled) {
|
|
499
|
+
background: color-mix(in srgb, var(--theme-accent-500, #6b46e8) 18%, transparent);
|
|
500
|
+
color: var(--theme-accent-500, #6b46e8);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
.toolbarBtn {
|
|
455
505
|
|
|
456
506
|
// Tooltip
|
|
457
507
|
&::after {
|
|
@@ -550,27 +600,61 @@
|
|
|
550
600
|
}
|
|
551
601
|
}
|
|
552
602
|
|
|
603
|
+
.sendShortcut {
|
|
604
|
+
display: inline-flex;
|
|
605
|
+
align-items: center;
|
|
606
|
+
gap: 2px;
|
|
607
|
+
color: var(--theme-elevation-400);
|
|
608
|
+
font-size: 11px;
|
|
609
|
+
margin-right: 8px;
|
|
610
|
+
|
|
611
|
+
kbd {
|
|
612
|
+
display: inline-flex;
|
|
613
|
+
align-items: center;
|
|
614
|
+
justify-content: center;
|
|
615
|
+
min-width: 18px;
|
|
616
|
+
height: 18px;
|
|
617
|
+
padding: 0 4px;
|
|
618
|
+
border-radius: 3px;
|
|
619
|
+
background: var(--theme-elevation-100);
|
|
620
|
+
border: 1px solid var(--theme-elevation-200);
|
|
621
|
+
font-family: inherit;
|
|
622
|
+
font-size: 10px;
|
|
623
|
+
font-weight: 600;
|
|
624
|
+
color: var(--theme-elevation-600);
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
|
|
553
628
|
.sendBtn {
|
|
554
629
|
padding: 8px 22px;
|
|
555
630
|
border-radius: 8px;
|
|
556
|
-
border:
|
|
557
|
-
background:
|
|
558
|
-
color: #fff;
|
|
631
|
+
border: 1px solid var(--theme-text);
|
|
632
|
+
background: var(--theme-text);
|
|
633
|
+
color: var(--theme-bg, #fff);
|
|
559
634
|
font-size: 13px;
|
|
560
|
-
font-weight:
|
|
635
|
+
font-weight: 600;
|
|
561
636
|
cursor: pointer;
|
|
562
|
-
transition: background 100ms;
|
|
637
|
+
transition: background 100ms, border-color 100ms;
|
|
563
638
|
display: flex;
|
|
564
639
|
align-items: center;
|
|
565
640
|
gap: 6px;
|
|
566
641
|
|
|
567
|
-
&:hover {
|
|
642
|
+
&:hover {
|
|
643
|
+
background: var(--theme-elevation-800);
|
|
644
|
+
border-color: var(--theme-elevation-800);
|
|
645
|
+
}
|
|
568
646
|
&:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
569
647
|
}
|
|
570
648
|
|
|
571
649
|
.sendBtnInternal {
|
|
572
|
-
background: #
|
|
573
|
-
|
|
650
|
+
background: var(--theme-warning-500, #c97a0a);
|
|
651
|
+
border-color: var(--theme-warning-500, #c97a0a);
|
|
652
|
+
color: #fff;
|
|
653
|
+
|
|
654
|
+
&:hover {
|
|
655
|
+
background: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 80%, black);
|
|
656
|
+
border-color: color-mix(in srgb, var(--theme-warning-500, #c97a0a) 80%, black);
|
|
657
|
+
}
|
|
574
658
|
}
|
|
575
659
|
|
|
576
660
|
// ─── ATTACHMENTS ───
|
|
@@ -1048,3 +1132,169 @@
|
|
|
1048
1132
|
font-size: 12px;
|
|
1049
1133
|
}
|
|
1050
1134
|
}
|
|
1135
|
+
|
|
1136
|
+
// ─── SLA BREACH BANNER ───
|
|
1137
|
+
// Top-of-ticket alert when first-response or resolution SLA is exceeded.
|
|
1138
|
+
// Uses --theme-error-* tokens for light/dark coherence.
|
|
1139
|
+
.slaBanner {
|
|
1140
|
+
display: flex;
|
|
1141
|
+
align-items: center;
|
|
1142
|
+
gap: 12px;
|
|
1143
|
+
padding: 10px 14px;
|
|
1144
|
+
margin: 0 0 16px;
|
|
1145
|
+
border-radius: 8px;
|
|
1146
|
+
background: color-mix(in srgb, var(--theme-error-500, #c4392c) 8%, transparent);
|
|
1147
|
+
border: 1px solid color-mix(in srgb, var(--theme-error-500, #c4392c) 30%, transparent);
|
|
1148
|
+
color: var(--theme-error-500, #c4392c);
|
|
1149
|
+
font-size: 13px;
|
|
1150
|
+
line-height: 1.4;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
.slaBannerIcon {
|
|
1154
|
+
width: 28px;
|
|
1155
|
+
height: 28px;
|
|
1156
|
+
border-radius: 50%;
|
|
1157
|
+
background: var(--theme-elevation-0, #fff);
|
|
1158
|
+
color: var(--theme-error-500, #c4392c);
|
|
1159
|
+
display: inline-flex;
|
|
1160
|
+
align-items: center;
|
|
1161
|
+
justify-content: center;
|
|
1162
|
+
flex-shrink: 0;
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
.slaBannerBody {
|
|
1166
|
+
flex: 1;
|
|
1167
|
+
display: flex;
|
|
1168
|
+
align-items: baseline;
|
|
1169
|
+
flex-wrap: wrap;
|
|
1170
|
+
gap: 6px;
|
|
1171
|
+
color: var(--theme-text);
|
|
1172
|
+
|
|
1173
|
+
strong {
|
|
1174
|
+
color: var(--theme-error-500, #c4392c);
|
|
1175
|
+
font-weight: 700;
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
|
|
1179
|
+
.slaBannerSep {
|
|
1180
|
+
color: var(--theme-elevation-400);
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
.slaBannerTarget {
|
|
1184
|
+
color: var(--theme-elevation-500);
|
|
1185
|
+
font-weight: 400;
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
.slaBannerCta {
|
|
1189
|
+
display: inline-flex;
|
|
1190
|
+
align-items: center;
|
|
1191
|
+
gap: 4px;
|
|
1192
|
+
padding: 6px 12px;
|
|
1193
|
+
border-radius: 6px;
|
|
1194
|
+
border: 1px solid var(--theme-error-500, #c4392c);
|
|
1195
|
+
background: var(--theme-elevation-0, #fff);
|
|
1196
|
+
color: var(--theme-error-500, #c4392c);
|
|
1197
|
+
font-size: 12px;
|
|
1198
|
+
font-weight: 600;
|
|
1199
|
+
cursor: pointer;
|
|
1200
|
+
white-space: nowrap;
|
|
1201
|
+
transition: background 100ms ease;
|
|
1202
|
+
|
|
1203
|
+
&:hover {
|
|
1204
|
+
background: var(--theme-error-500, #c4392c);
|
|
1205
|
+
color: var(--theme-elevation-0, #fff);
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
&:focus-visible {
|
|
1209
|
+
outline: 0;
|
|
1210
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-error-500, #c4392c) 25%, transparent);
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
// ─── AI SYNTHESIS CARD (promoted top of sidebar) ───
|
|
1215
|
+
.aiCard {
|
|
1216
|
+
background: linear-gradient(180deg,
|
|
1217
|
+
color-mix(in srgb, var(--theme-accent-500, #6b46e8) 10%, transparent) 0%,
|
|
1218
|
+
var(--theme-elevation-0, #fff) 70%);
|
|
1219
|
+
border: 1px solid color-mix(in srgb, var(--theme-accent-500, #6b46e8) 25%, transparent);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
.aiCardTitle {
|
|
1223
|
+
display: flex;
|
|
1224
|
+
align-items: center;
|
|
1225
|
+
gap: 6px;
|
|
1226
|
+
font-size: 11px;
|
|
1227
|
+
font-weight: 700;
|
|
1228
|
+
text-transform: uppercase;
|
|
1229
|
+
letter-spacing: 0.06em;
|
|
1230
|
+
color: var(--theme-accent-500, #6b46e8);
|
|
1231
|
+
margin-bottom: 10px;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
.aiCardIcon {
|
|
1235
|
+
display: inline-flex;
|
|
1236
|
+
align-items: center;
|
|
1237
|
+
justify-content: center;
|
|
1238
|
+
width: 20px;
|
|
1239
|
+
height: 20px;
|
|
1240
|
+
border-radius: 50%;
|
|
1241
|
+
background: var(--theme-accent-500, #6b46e8);
|
|
1242
|
+
color: #fff;
|
|
1243
|
+
font-size: 11px;
|
|
1244
|
+
font-weight: 700;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
.aiCardLead {
|
|
1248
|
+
font-size: 12px;
|
|
1249
|
+
line-height: 1.55;
|
|
1250
|
+
color: var(--theme-text);
|
|
1251
|
+
margin: 0 0 10px;
|
|
1252
|
+
text-wrap: pretty;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
.aiCardChips {
|
|
1256
|
+
display: flex;
|
|
1257
|
+
flex-wrap: wrap;
|
|
1258
|
+
gap: 4px;
|
|
1259
|
+
margin-bottom: 10px;
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
.aiChip {
|
|
1263
|
+
display: inline-flex;
|
|
1264
|
+
align-items: center;
|
|
1265
|
+
padding: 2px 8px;
|
|
1266
|
+
border-radius: 999px;
|
|
1267
|
+
font-size: 10px;
|
|
1268
|
+
font-weight: 600;
|
|
1269
|
+
color: var(--theme-text);
|
|
1270
|
+
background: var(--theme-elevation-0, #fff);
|
|
1271
|
+
border: 1px solid var(--theme-elevation-200);
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
.aiCardFacts {
|
|
1275
|
+
list-style: none;
|
|
1276
|
+
padding: 0;
|
|
1277
|
+
margin: 0;
|
|
1278
|
+
display: flex;
|
|
1279
|
+
flex-direction: column;
|
|
1280
|
+
gap: 6px;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
.aiCardFact {
|
|
1284
|
+
display: flex;
|
|
1285
|
+
align-items: flex-start;
|
|
1286
|
+
gap: 6px;
|
|
1287
|
+
font-size: 12px;
|
|
1288
|
+
line-height: 1.5;
|
|
1289
|
+
color: var(--theme-text);
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
.aiCardDot {
|
|
1293
|
+
display: inline-block;
|
|
1294
|
+
width: 6px;
|
|
1295
|
+
height: 6px;
|
|
1296
|
+
border-radius: 50%;
|
|
1297
|
+
margin-top: 6px;
|
|
1298
|
+
background: var(--theme-accent-500, #6b46e8);
|
|
1299
|
+
flex-shrink: 0;
|
|
1300
|
+
}
|
|
@@ -18,9 +18,21 @@
|
|
|
18
18
|
|
|
19
19
|
.title {
|
|
20
20
|
font-size: 24px;
|
|
21
|
-
font-weight:
|
|
21
|
+
font-weight: 700;
|
|
22
22
|
color: var(--theme-text);
|
|
23
23
|
margin: 0;
|
|
24
|
+
line-height: 1.2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.subtitle {
|
|
28
|
+
font-size: 13px;
|
|
29
|
+
color: var(--theme-elevation-500);
|
|
30
|
+
margin: 2px 0 0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.subtitleBreach {
|
|
34
|
+
color: var(--theme-error-500, #c4392c);
|
|
35
|
+
font-weight: 600;
|
|
24
36
|
}
|
|
25
37
|
|
|
26
38
|
.headerRight {
|
|
@@ -56,8 +68,8 @@
|
|
|
56
68
|
|
|
57
69
|
&:focus {
|
|
58
70
|
outline: none;
|
|
59
|
-
border-color: #
|
|
60
|
-
box-shadow: 0 0 0 3px
|
|
71
|
+
border-color: var(--theme-info-500, #2a6bd8);
|
|
72
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-info-500, #2a6bd8) 18%, transparent);
|
|
61
73
|
}
|
|
62
74
|
|
|
63
75
|
&::placeholder { color: var(--theme-elevation-400); }
|
|
@@ -78,50 +90,84 @@
|
|
|
78
90
|
.newTicketBtn {
|
|
79
91
|
padding: 8px 18px;
|
|
80
92
|
border-radius: 8px;
|
|
81
|
-
border: 1px solid var(--theme-
|
|
82
|
-
background: var(--theme-
|
|
83
|
-
color: var(--theme-
|
|
93
|
+
border: 1px solid var(--theme-text);
|
|
94
|
+
background: var(--theme-text);
|
|
95
|
+
color: var(--theme-bg, #fff);
|
|
84
96
|
font-size: 13px;
|
|
85
97
|
font-weight: 600;
|
|
86
98
|
cursor: pointer;
|
|
87
99
|
transition: all 100ms;
|
|
88
100
|
text-decoration: none;
|
|
89
|
-
&:hover {
|
|
101
|
+
&:hover {
|
|
102
|
+
background: var(--theme-elevation-800);
|
|
103
|
+
border-color: var(--theme-elevation-800);
|
|
104
|
+
}
|
|
90
105
|
}
|
|
91
106
|
|
|
92
|
-
// Filter tabs
|
|
107
|
+
// Filter tabs / segments
|
|
93
108
|
.tabs {
|
|
94
|
-
display: flex;
|
|
109
|
+
display: inline-flex;
|
|
110
|
+
align-items: center;
|
|
95
111
|
gap: 0;
|
|
96
|
-
|
|
97
|
-
|
|
112
|
+
background: var(--theme-elevation-100);
|
|
113
|
+
border: 1px solid var(--theme-elevation-200);
|
|
114
|
+
border-radius: 8px;
|
|
115
|
+
padding: 2px;
|
|
116
|
+
margin: 4px 0 6px;
|
|
117
|
+
flex-wrap: wrap;
|
|
98
118
|
}
|
|
99
119
|
|
|
100
120
|
.tab {
|
|
101
|
-
|
|
121
|
+
display: inline-flex;
|
|
122
|
+
align-items: center;
|
|
123
|
+
gap: 6px;
|
|
124
|
+
height: 30px;
|
|
125
|
+
padding: 0 12px;
|
|
102
126
|
font-size: 13px;
|
|
103
|
-
font-weight:
|
|
127
|
+
font-weight: 500;
|
|
104
128
|
color: var(--theme-elevation-500);
|
|
105
129
|
background: none;
|
|
106
130
|
border: none;
|
|
107
|
-
border-
|
|
131
|
+
border-radius: 6px;
|
|
108
132
|
cursor: pointer;
|
|
109
|
-
transition:
|
|
133
|
+
transition: background 100ms, color 100ms;
|
|
110
134
|
white-space: nowrap;
|
|
111
135
|
|
|
112
136
|
&:hover { color: var(--theme-text); }
|
|
113
137
|
|
|
114
138
|
&.tabActive {
|
|
115
139
|
color: var(--theme-text);
|
|
116
|
-
|
|
140
|
+
background: var(--theme-elevation-0, #fff);
|
|
141
|
+
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
&.tabAlert:not(.tabActive) {
|
|
145
|
+
color: var(--theme-error-500, #c4392c);
|
|
117
146
|
}
|
|
118
147
|
}
|
|
119
148
|
|
|
120
149
|
.tabCount {
|
|
150
|
+
display: inline-flex;
|
|
151
|
+
align-items: center;
|
|
152
|
+
justify-content: center;
|
|
153
|
+
min-width: 18px;
|
|
154
|
+
height: 18px;
|
|
155
|
+
padding: 0 6px;
|
|
121
156
|
font-size: 11px;
|
|
122
|
-
font-weight:
|
|
123
|
-
color: var(--theme-elevation-
|
|
124
|
-
|
|
157
|
+
font-weight: 600;
|
|
158
|
+
color: var(--theme-elevation-500);
|
|
159
|
+
background: var(--theme-elevation-200);
|
|
160
|
+
border-radius: 999px;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.tabActive .tabCount {
|
|
164
|
+
background: var(--theme-elevation-100);
|
|
165
|
+
color: var(--theme-text);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.tabCountAlert {
|
|
169
|
+
color: var(--theme-error-500, #c4392c) !important;
|
|
170
|
+
background: color-mix(in srgb, var(--theme-error-500, #c4392c) 12%, transparent) !important;
|
|
125
171
|
}
|
|
126
172
|
|
|
127
173
|
.sortRow {
|
|
@@ -147,54 +193,73 @@
|
|
|
147
193
|
flex-direction: column;
|
|
148
194
|
}
|
|
149
195
|
|
|
196
|
+
// Layout : check | priority-dot | StatusPill | ticket# | subject | client | sla | updated | unread
|
|
150
197
|
.row {
|
|
151
198
|
display: grid;
|
|
152
|
-
grid-template-columns: 18px
|
|
153
|
-
gap:
|
|
199
|
+
grid-template-columns: 18px 12px 110px 80px 1fr 200px 90px 90px 12px;
|
|
200
|
+
gap: 12px;
|
|
154
201
|
align-items: center;
|
|
155
|
-
padding:
|
|
156
|
-
border-bottom: 1px solid var(--theme-elevation-100, #
|
|
202
|
+
padding: 10px 14px;
|
|
203
|
+
border-bottom: 1px solid var(--theme-elevation-100, #f3f3f3);
|
|
157
204
|
cursor: pointer;
|
|
158
|
-
transition: background
|
|
205
|
+
transition: background 80ms ease;
|
|
159
206
|
text-decoration: none;
|
|
160
207
|
color: inherit;
|
|
208
|
+
position: relative;
|
|
161
209
|
|
|
162
210
|
&:hover { background: var(--theme-elevation-50); }
|
|
163
211
|
|
|
164
212
|
@media (max-width: 900px) {
|
|
165
|
-
grid-template-columns: 16px
|
|
213
|
+
grid-template-columns: 16px 110px 1fr 80px 80px;
|
|
166
214
|
}
|
|
167
215
|
}
|
|
168
216
|
|
|
169
217
|
.rowSelected {
|
|
170
|
-
background:
|
|
171
|
-
|
|
172
|
-
|
|
218
|
+
background: var(--theme-elevation-100);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.rowUnread {
|
|
222
|
+
background: linear-gradient(90deg, color-mix(in srgb, var(--theme-info-500, #2a6bd8) 8%, transparent) 0, transparent 6px);
|
|
223
|
+
|
|
224
|
+
.subject { font-weight: 700; }
|
|
173
225
|
}
|
|
174
226
|
|
|
175
|
-
.
|
|
227
|
+
.rowBreach::before {
|
|
228
|
+
content: '';
|
|
229
|
+
position: absolute;
|
|
230
|
+
left: 0;
|
|
231
|
+
top: 0;
|
|
232
|
+
bottom: 0;
|
|
233
|
+
width: 3px;
|
|
234
|
+
background: var(--theme-error-500, #c4392c);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.rowCheck {
|
|
238
|
+
width: 14px;
|
|
239
|
+
height: 14px;
|
|
240
|
+
cursor: pointer;
|
|
241
|
+
accent-color: var(--theme-text);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.priorityDot {
|
|
245
|
+
display: inline-block;
|
|
176
246
|
width: 8px;
|
|
177
247
|
height: 8px;
|
|
178
248
|
border-radius: 50%;
|
|
179
249
|
flex-shrink: 0;
|
|
180
250
|
}
|
|
181
251
|
|
|
182
|
-
.statusText {
|
|
183
|
-
font-size: 12px;
|
|
184
|
-
font-weight: 600;
|
|
185
|
-
color: var(--theme-elevation-500);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
252
|
.ticketNum {
|
|
189
253
|
font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', 'Cascadia Code', monospace;
|
|
190
254
|
font-size: 11px;
|
|
191
255
|
color: var(--theme-elevation-400);
|
|
192
256
|
font-weight: 500;
|
|
257
|
+
letter-spacing: 0.02em;
|
|
193
258
|
}
|
|
194
259
|
|
|
195
260
|
.subject {
|
|
196
261
|
font-size: 13px;
|
|
197
|
-
font-weight:
|
|
262
|
+
font-weight: 500;
|
|
198
263
|
color: var(--theme-text);
|
|
199
264
|
overflow: hidden;
|
|
200
265
|
text-overflow: ellipsis;
|
|
@@ -209,35 +274,32 @@
|
|
|
209
274
|
white-space: nowrap;
|
|
210
275
|
}
|
|
211
276
|
|
|
212
|
-
|
|
277
|
+
// SLA cell — color reflects state (computed in computeSlaState)
|
|
278
|
+
.slaCell {
|
|
213
279
|
font-size: 11px;
|
|
214
|
-
font-weight:
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
background: var(--theme-elevation-100);
|
|
280
|
+
font-weight: 500;
|
|
281
|
+
font-variant-numeric: tabular-nums;
|
|
282
|
+
text-align: right;
|
|
283
|
+
color: var(--theme-elevation-400);
|
|
219
284
|
white-space: nowrap;
|
|
220
285
|
}
|
|
221
|
-
|
|
222
|
-
.
|
|
223
|
-
|
|
224
|
-
height: 18px;
|
|
225
|
-
border-radius: 2px;
|
|
226
|
-
flex-shrink: 0;
|
|
227
|
-
}
|
|
286
|
+
.slaOk { color: var(--theme-elevation-400); }
|
|
287
|
+
.slaWarn { color: var(--theme-warning-500, #c97a0a); font-weight: 600; }
|
|
288
|
+
.slaBreach { color: var(--theme-error-500, #c4392c); font-weight: 700; }
|
|
228
289
|
|
|
229
290
|
.timeAgo {
|
|
230
291
|
font-size: 12px;
|
|
231
292
|
color: var(--theme-elevation-400);
|
|
232
293
|
white-space: nowrap;
|
|
233
294
|
text-align: right;
|
|
295
|
+
font-variant-numeric: tabular-nums;
|
|
234
296
|
}
|
|
235
297
|
|
|
236
298
|
.unreadDot {
|
|
237
299
|
width: 7px;
|
|
238
300
|
height: 7px;
|
|
239
301
|
border-radius: 50%;
|
|
240
|
-
background: #
|
|
302
|
+
background: var(--theme-info-500, #2a6bd8);
|
|
241
303
|
flex-shrink: 0;
|
|
242
304
|
}
|
|
243
305
|
|