@truedat/ai 8.4.8 → 8.4.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.
@@ -72,6 +72,12 @@
72
72
  }
73
73
  }
74
74
 
75
+ @keyframes assistant-think-spin {
76
+ to {
77
+ transform: rotate(360deg);
78
+ }
79
+ }
80
+
75
81
  @keyframes assistant-aurora-halo {
76
82
  0% {
77
83
  box-shadow:
@@ -163,6 +169,12 @@
163
169
 
164
170
  .ui.icon {
165
171
  margin: 0;
172
+ font-size: 1.35rem;
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ width: 1.5rem;
177
+ height: 1.5rem;
166
178
  }
167
179
 
168
180
  &--new-chat {
@@ -203,6 +215,27 @@
203
215
  flex-direction: column;
204
216
  }
205
217
 
218
+ &__waiting {
219
+ position: absolute;
220
+ inset: 0;
221
+ z-index: 2;
222
+ display: flex;
223
+ align-items: center;
224
+ justify-content: center;
225
+ background: rgba(255, 255, 255, 0.78);
226
+ pointer-events: none;
227
+
228
+ &-spinner {
229
+ box-sizing: border-box;
230
+ width: 2.25rem;
231
+ height: 2.25rem;
232
+ border-radius: 50%;
233
+ border: 3px solid rgba(1, 60, 84, 0.12);
234
+ border-top-color: #013c54;
235
+ animation: assistant-think-spin 0.85s linear infinite;
236
+ }
237
+ }
238
+
206
239
  &__messages {
207
240
  flex: 1;
208
241
  padding: 1rem;
@@ -213,6 +246,13 @@
213
246
  gap: 0.75rem;
214
247
  }
215
248
 
249
+ &__messages-end {
250
+ flex-shrink: 0;
251
+ width: 100%;
252
+ min-height: 1px;
253
+ pointer-events: none;
254
+ }
255
+
216
256
  &__scroll-to-bottom {
217
257
  position: absolute;
218
258
  bottom: 1rem;
@@ -222,19 +262,19 @@
222
262
  padding: 0;
223
263
  border: none;
224
264
  border-radius: 50%;
225
- background: #2185d0;
265
+ background: #013c54;
226
266
  color: #fff;
227
267
  cursor: pointer;
228
268
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
229
269
  z-index: 1;
230
270
 
231
271
  .ui.icon {
232
- margin: 0;
233
- font-size: 1.125rem;
272
+ margin: 0 !important;
273
+ vertical-align: middle;
234
274
  }
235
-
236
- &:hover {
237
- background: #1678c2;
275
+ i.chevron.down.icon {
276
+ margin: 0 !important;
277
+ vertical-align: middle;
238
278
  }
239
279
  }
240
280
 
@@ -270,6 +310,21 @@
270
310
  font-style: italic;
271
311
  font-size: 0.8125rem;
272
312
  }
313
+
314
+ &--error {
315
+ background: #fff0f0;
316
+ color: #9b1c1c;
317
+ border: 1px solid #f5c6c6;
318
+ font-size: 0.8125rem;
319
+ }
320
+ }
321
+
322
+ &__message-source {
323
+ font-size: 0.7rem;
324
+ font-weight: 700;
325
+ letter-spacing: 0.02em;
326
+ opacity: 0.65;
327
+ margin-bottom: 0.2rem;
273
328
  }
274
329
 
275
330
  &__message-content {
@@ -299,33 +354,52 @@
299
354
  display: flex;
300
355
  flex-shrink: 0;
301
356
  align-items: center;
302
- gap: 0.5rem;
357
+ gap: 0.625rem;
303
358
  padding: 0.35rem 0.5rem;
304
359
  border-radius: 999px;
305
360
  background: #f4f6f8;
361
+
362
+ &--expanded {
363
+ border-radius: 1.125rem;
364
+
365
+ .assistant-chat__input {
366
+ border-radius: 0.875rem;
367
+ }
368
+ }
306
369
  }
307
370
 
308
371
  &__input {
309
372
  flex: 1;
373
+ min-height: 2.25rem;
310
374
  padding: 0.35rem 0.75rem;
311
375
  border: none;
312
- border-radius: 999px;
376
+ border-radius: 1rem;
313
377
  background: transparent;
314
378
  font-size: 0.875rem;
379
+ line-height: 1.4;
315
380
  outline: none;
381
+ resize: none;
382
+ overflow-y: hidden;
316
383
 
317
384
  &:focus {
318
385
  border-color: #2185d0;
319
386
  }
387
+
388
+ &:disabled {
389
+ cursor: not-allowed;
390
+ opacity: 0.55;
391
+ }
320
392
  }
321
393
 
322
394
  &__send {
323
395
  flex-shrink: 0;
324
- display: inline-flex;
396
+ display: flex;
325
397
  align-items: center;
326
398
  justify-content: center;
327
399
  width: 2.25rem;
328
400
  height: 2.25rem;
401
+ min-width: 2.25rem;
402
+ min-height: 2.25rem;
329
403
  padding: 0;
330
404
  border: none;
331
405
  border-radius: 999px;
@@ -336,6 +410,15 @@
336
410
  .ui.icon {
337
411
  margin: 0;
338
412
  }
413
+ i.arrow.up.icon {
414
+ margin: 0 !important;
415
+ vertical-align: middle;
416
+ }
417
+
418
+ &:disabled {
419
+ cursor: not-allowed;
420
+ opacity: 0.45;
421
+ }
339
422
  }
340
423
 
341
424
  &__footer {
@@ -350,4 +433,106 @@
350
433
  color: #8e8e8e;
351
434
  text-align: center;
352
435
  }
436
+ }
437
+
438
+ // ── thinking sections ─────────────────────────────────────────────────────────
439
+
440
+ .thinking-block {
441
+ align-self: stretch;
442
+ display: flex;
443
+ flex-direction: column;
444
+ gap: 0.3rem;
445
+ }
446
+
447
+ .thinking-section {
448
+ border: 1px solid rgba(1, 60, 84, 0.18);
449
+ border-radius: 0.5rem;
450
+ overflow: hidden;
451
+
452
+ &__header {
453
+ display: flex;
454
+ align-items: center;
455
+ gap: 0.4rem;
456
+ padding: 0.3rem 0.65rem;
457
+ background: rgba(1, 60, 84, 0.07);
458
+ color: #013c54;
459
+ font-weight: 600;
460
+ font-size: 0.775rem;
461
+ cursor: pointer;
462
+ border: none;
463
+ width: 100%;
464
+ text-align: left;
465
+
466
+ i.arrow.up.icon {
467
+ margin: 0 !important;
468
+ vertical-align: middle;
469
+ }
470
+ }
471
+
472
+ &__label {
473
+ flex: 1;
474
+ }
475
+
476
+ &__spinner {
477
+ margin-left: auto;
478
+ opacity: 0.55;
479
+
480
+ &-dot {
481
+ display: inline-block;
482
+ width: 0.7rem;
483
+ height: 0.7rem;
484
+ border-radius: 50%;
485
+ border: 2px solid rgba(1, 60, 84, 0.25);
486
+ border-top-color: #013c54;
487
+ animation: assistant-think-spin 0.9s linear infinite;
488
+ }
489
+ }
490
+
491
+ &__body {
492
+ max-height: 9rem;
493
+ overflow-y: auto;
494
+ padding: 0.4rem 0.65rem;
495
+ background: #f7f9fa;
496
+ border-top: 1px solid rgba(1, 60, 84, 0.1);
497
+ display: flex;
498
+ flex-direction: column;
499
+ gap: 0.1rem;
500
+ }
501
+
502
+ &__item {
503
+ word-break: break-word;
504
+ line-height: 1.45;
505
+ font-family: monospace;
506
+
507
+ &--1 {
508
+ font-size: 0.775rem;
509
+ color: #4a4a4a;
510
+ }
511
+
512
+ &--2 {
513
+ font-size: 0.75rem;
514
+ color: #666;
515
+ padding-left: 0.75rem;
516
+ border-left: 2px solid rgba(1, 60, 84, 0.2);
517
+ }
518
+
519
+ /* Same layout as --2 (rallita + sangría); text and rail in red. */
520
+ &--3 {
521
+ font-size: 0.75rem;
522
+ color: #9b1c1c;
523
+ padding-left: 0.75rem;
524
+ border-left: 2px solid rgba(155, 28, 28, 0.28);
525
+
526
+ .thinking-section__item-source {
527
+ color: #9b1c1c;
528
+ opacity: 0.75;
529
+ }
530
+ }
531
+
532
+ &-source {
533
+ font-weight: 600;
534
+ color: #013c54;
535
+ opacity: 0.65;
536
+ }
537
+ }
353
538
  }