@happyvertical/smrt-messages 0.55.16 → 0.55.18

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/chunks/{AccountCollection-DIMJKGBm.js → AccountCollection-B5b9LNCO.js} +2 -2
  2. package/dist/chunks/{AccountCollection-DIMJKGBm.js.map → AccountCollection-B5b9LNCO.js.map} +1 -1
  3. package/dist/chunks/{Email-T4k1xQcQ.js → Email-CpeQye3T.js} +3 -3
  4. package/dist/chunks/{Email-T4k1xQcQ.js.map → Email-CpeQye3T.js.map} +1 -1
  5. package/dist/chunks/{EmailFolder-DITfb7Nf.js → EmailFolder-Dxwtc6bU.js} +2 -2
  6. package/dist/chunks/{EmailFolder-DITfb7Nf.js.map → EmailFolder-Dxwtc6bU.js.map} +1 -1
  7. package/dist/chunks/{Message-yPXPi2S8.js → Message-D_l035ao.js} +4 -4
  8. package/dist/chunks/{Message-yPXPi2S8.js.map → Message-D_l035ao.js.map} +1 -1
  9. package/dist/chunks/{MessageCollection-D_F4CfQf.js → MessageCollection-ovdLq2bD.js} +2 -2
  10. package/dist/chunks/{MessageCollection-D_F4CfQf.js.map → MessageCollection-ovdLq2bD.js.map} +1 -1
  11. package/dist/chunks/{__smrt-register__-ohILA20q.js → __smrt-register__-CyjYtUYH.js} +2 -2
  12. package/dist/chunks/{__smrt-register__-ohILA20q.js.map → __smrt-register__-CyjYtUYH.js.map} +1 -1
  13. package/dist/index.js +9 -9
  14. package/dist/manifest.json +1 -1
  15. package/dist/smrt-knowledge.json +3 -3
  16. package/dist/svelte/components/AccountAvatar.svelte +13 -10
  17. package/dist/svelte/components/AccountCard.svelte +18 -15
  18. package/dist/svelte/components/AccountList.svelte +5 -2
  19. package/dist/svelte/components/AttachmentChip.svelte +10 -7
  20. package/dist/svelte/components/AttachmentUpload.svelte +24 -21
  21. package/dist/svelte/components/ComposeForm.svelte +29 -26
  22. package/dist/svelte/components/EmailAccountManager.svelte +54 -51
  23. package/dist/svelte/components/EmailFilterManager.svelte +48 -45
  24. package/dist/svelte/components/FolderNav.svelte +12 -9
  25. package/dist/svelte/components/ForwardForm.svelte +23 -20
  26. package/dist/svelte/components/MailboxDemo.svelte +2 -2
  27. package/dist/svelte/components/MessageCard.svelte +17 -14
  28. package/dist/svelte/components/MessageDetail.svelte +20 -17
  29. package/dist/svelte/components/MessageFilters.svelte +8 -5
  30. package/dist/svelte/components/MessageList.svelte +7 -4
  31. package/dist/svelte/components/MessageStatusIndicator.svelte +10 -7
  32. package/dist/svelte/components/MessageToolbar.svelte +13 -10
  33. package/dist/svelte/components/MessageTypeBadge.svelte +3 -0
  34. package/dist/svelte/components/MessagingSettingsPanel.svelte +9 -6
  35. package/dist/svelte/components/RecipientInput.svelte +24 -21
  36. package/dist/svelte/components/ReplyForm.svelte +24 -21
  37. package/dist/svelte/components/SendStatusBadge.svelte +19 -16
  38. package/dist/svelte/components/ThreadView.svelte +13 -10
  39. package/package.json +9 -9
@@ -172,7 +172,7 @@ function getProviderLabel(type: string): string {
172
172
  }
173
173
  </script>
174
174
 
175
- <div class="email-account-manager">
175
+ <div class="email-account-manager" data-smrt-component="EmailAccountManager">
176
176
  <div class="section-header-row">
177
177
  <div class="section-description">
178
178
  {t(M['messages.email_account_manager.section_description'])}
@@ -367,6 +367,8 @@ function getProviderLabel(type: string): string {
367
367
  </div>
368
368
 
369
369
  <style>
370
+ @layer smrt.reset, smrt.structure, smrt.theme;
371
+ @layer smrt.theme {
370
372
  .email-account-manager {
371
373
  display: flex;
372
374
  flex-direction: column;
@@ -382,7 +384,7 @@ function getProviderLabel(type: string): string {
382
384
 
383
385
  .section-description {
384
386
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
385
- color: var(--smrt-color-on-surface-variant, #43474e);
387
+ color: var(--smrt-color-on-surface-variant);
386
388
  }
387
389
 
388
390
  /*
@@ -392,14 +394,14 @@ function getProviderLabel(type: string): string {
392
394
  * keeps its place in the header row (issue #1589).
393
395
  */
394
396
  .section-header-row :global(.add-btn) {
395
- border-radius: var(--smrt-radius-md, 8px);
397
+ border-radius: var(--smrt-radius-md);
396
398
  flex-shrink: 0;
397
399
  }
398
400
 
399
401
  .entry-form {
400
- background: var(--smrt-color-surface-container, #f0f1f9);
401
- border: 1px solid var(--smrt-color-primary, #005ac1);
402
- border-radius: var(--smrt-radius-md, 8px);
402
+ background: var(--smrt-color-surface-container);
403
+ border: 1px solid var(--smrt-color-primary);
404
+ border-radius: var(--smrt-radius-md);
403
405
  padding: 1rem;
404
406
  display: flex;
405
407
  flex-direction: column;
@@ -409,13 +411,13 @@ function getProviderLabel(type: string): string {
409
411
  .form-title {
410
412
  font-size: var(--smrt-typography-title-small-size, 0.875rem);
411
413
  font-weight: var(--smrt-typography-weight-semibold, 600);
412
- color: var(--smrt-color-primary, #005ac1);
414
+ color: var(--smrt-color-primary);
413
415
  }
414
416
 
415
417
  .form-section-label {
416
418
  font-size: var(--smrt-typography-label-medium-size, 0.75rem);
417
419
  font-weight: var(--smrt-typography-weight-semibold, 600);
418
- color: var(--smrt-color-on-surface-variant, #43474e);
420
+ color: var(--smrt-color-on-surface-variant);
419
421
  text-transform: uppercase;
420
422
  letter-spacing: var(--smrt-typography-label-medium-tracking, 0.05em);
421
423
  padding-top: 0.25rem;
@@ -436,7 +438,7 @@ function getProviderLabel(type: string): string {
436
438
  .form-label {
437
439
  font-size: var(--smrt-typography-label-medium-size, 0.75rem);
438
440
  font-weight: var(--smrt-typography-weight-medium, 500);
439
- color: var(--smrt-color-on-surface-variant, #43474e);
441
+ color: var(--smrt-color-on-surface-variant);
440
442
  }
441
443
 
442
444
  /*
@@ -458,12 +460,12 @@ function getProviderLabel(type: string): string {
458
460
  gap: 0.5rem;
459
461
  cursor: pointer;
460
462
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
461
- color: var(--smrt-color-on-surface, #1a1c1e);
463
+ color: var(--smrt-color-on-surface);
462
464
  white-space: nowrap;
463
465
  }
464
466
 
465
467
  .checkbox-label input[type="checkbox"] {
466
- accent-color: var(--smrt-color-primary, #005ac1);
468
+ accent-color: var(--smrt-color-primary);
467
469
  }
468
470
 
469
471
  .form-actions {
@@ -481,17 +483,17 @@ function getProviderLabel(type: string): string {
481
483
  */
482
484
  .form-actions :global(.cancel-btn),
483
485
  .form-actions :global(.save-btn) {
484
- border-radius: var(--smrt-radius-md, 8px);
486
+ border-radius: var(--smrt-radius-md);
485
487
  }
486
488
 
487
489
  .form-actions :global(.cancel-btn) {
488
- border-color: var(--smrt-color-outline-variant, #c2c7cf);
489
- color: var(--smrt-color-on-surface-variant, #43474e);
490
+ border-color: var(--smrt-color-outline-variant);
491
+ color: var(--smrt-color-on-surface-variant);
490
492
  }
491
493
 
492
494
  .test-result {
493
495
  padding: 0.5rem 0.75rem;
494
- border-radius: var(--smrt-radius-md, 8px);
496
+ border-radius: var(--smrt-radius-md);
495
497
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
496
498
  display: flex;
497
499
  align-items: center;
@@ -499,13 +501,13 @@ function getProviderLabel(type: string): string {
499
501
  }
500
502
 
501
503
  .test-result.success {
502
- background: var(--smrt-color-success-container, #dcfce7);
503
- color: var(--smrt-color-success, #16a34a);
504
+ background: var(--smrt-color-success-container);
505
+ color: var(--smrt-color-success);
504
506
  }
505
507
 
506
508
  .test-result.failure {
507
- background: var(--smrt-color-error-container, #fce4ec);
508
- color: var(--smrt-color-error, #ba1a1a);
509
+ background: var(--smrt-color-error-container);
510
+ color: var(--smrt-color-error);
509
511
  }
510
512
 
511
513
  /*
@@ -532,25 +534,25 @@ function getProviderLabel(type: string): string {
532
534
  display: flex;
533
535
  align-items: center;
534
536
  justify-content: space-between;
535
- background: var(--smrt-color-surface-container, #f0f1f9);
536
- border: 1px solid var(--smrt-color-outline-variant, #c2c7cf);
537
- border-radius: var(--smrt-radius-md, 8px);
537
+ background: var(--smrt-color-surface-container);
538
+ border: 1px solid var(--smrt-color-outline-variant);
539
+ border-radius: var(--smrt-radius-md);
538
540
  padding: 0.75rem 1rem;
539
541
  cursor: pointer;
540
542
  transition: background 150ms ease, border-color 150ms ease;
541
543
  }
542
544
 
543
545
  .entry-card:hover {
544
- background: var(--smrt-color-surface-container-high, #e6e7ef);
546
+ background: var(--smrt-color-surface-container-high);
545
547
  }
546
548
 
547
549
  .entry-card.mail-account:hover {
548
- border-color: var(--smrt-color-primary, #005ac1);
550
+ border-color: var(--smrt-color-primary);
549
551
  }
550
552
 
551
553
  .entry-card.editing {
552
- border-color: var(--smrt-color-primary, #005ac1);
553
- background: var(--smrt-color-surface-container-high, #e6e7ef);
554
+ border-color: var(--smrt-color-primary);
555
+ background: var(--smrt-color-surface-container-high);
554
556
  }
555
557
 
556
558
  .entry-card.inactive {
@@ -576,10 +578,10 @@ function getProviderLabel(type: string): string {
576
578
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
577
579
  font-weight: var(--smrt-typography-weight-semibold, 600);
578
580
  font-family: var(--smrt-font-family-mono, monospace);
579
- background: var(--smrt-color-surface, #fefbff);
580
- border: 1px solid var(--smrt-color-outline-variant, #c2c7cf);
581
+ background: var(--smrt-color-surface);
582
+ border: 1px solid var(--smrt-color-outline-variant);
581
583
  padding: 0.25rem 0.5rem;
582
- border-radius: var(--smrt-radius-sm, 4px);
584
+ border-radius: var(--smrt-radius-sm);
583
585
  flex-shrink: 0;
584
586
  min-width: 2rem;
585
587
  text-align: center;
@@ -590,8 +592,8 @@ function getProviderLabel(type: string): string {
590
592
  font-size: var(--smrt-typography-label-small-size, 0.625rem);
591
593
  text-transform: uppercase;
592
594
  letter-spacing: var(--smrt-typography-label-small-tracking, 0.05em);
593
- background: var(--smrt-color-primary-container, #d8e2ff);
594
- color: var(--smrt-color-primary, #005ac1);
595
+ background: var(--smrt-color-primary-container);
596
+ color: var(--smrt-color-primary);
595
597
  border-color: transparent;
596
598
  min-width: 3rem;
597
599
  }
@@ -614,25 +616,25 @@ function getProviderLabel(type: string): string {
614
616
 
615
617
  .entry-description {
616
618
  font-size: var(--smrt-typography-body-small-size, 0.75rem);
617
- color: var(--smrt-color-on-surface-variant, #43474e);
619
+ color: var(--smrt-color-on-surface-variant);
618
620
  }
619
621
 
620
622
  .host-tag {
621
623
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
622
624
  font-family: var(--smrt-font-family-mono, monospace);
623
- color: var(--smrt-color-on-surface-variant, #43474e);
624
- background: var(--smrt-color-surface, #fefbff);
625
+ color: var(--smrt-color-on-surface-variant);
626
+ background: var(--smrt-color-surface);
625
627
  padding: 0.125rem 0.5rem;
626
- border-radius: var(--smrt-radius-sm, 4px);
628
+ border-radius: var(--smrt-radius-sm);
627
629
  flex-shrink: 0;
628
630
  }
629
631
 
630
632
  .inactive-tag {
631
633
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
632
- color: var(--smrt-color-on-surface-variant, #43474e);
633
- background: var(--smrt-color-surface-container-high, #e6e7ef);
634
+ color: var(--smrt-color-on-surface-variant);
635
+ background: var(--smrt-color-surface-container-high);
634
636
  padding: 0.125rem 0.5rem;
635
- border-radius: var(--smrt-radius-full, 9999px);
637
+ border-radius: var(--smrt-radius-full);
636
638
  flex-shrink: 0;
637
639
  }
638
640
 
@@ -645,40 +647,41 @@ function getProviderLabel(type: string): string {
645
647
  */
646
648
  .entry-actions :global(.test-btn) {
647
649
  padding: 0.25rem 0.5rem;
648
- border-radius: var(--smrt-radius-sm, 4px);
649
- border: 1px solid var(--smrt-color-outline-variant, #c2c7cf);
650
+ border-radius: var(--smrt-radius-sm);
651
+ border: 1px solid var(--smrt-color-outline-variant);
650
652
  background: transparent;
651
- color: var(--smrt-color-on-surface-variant, #43474e);
653
+ color: var(--smrt-color-on-surface-variant);
652
654
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
653
655
  }
654
656
 
655
657
  .entry-actions :global(.test-btn):hover:not(:disabled) {
656
- border-color: var(--smrt-color-primary, #005ac1);
657
- color: var(--smrt-color-primary, #005ac1);
658
+ border-color: var(--smrt-color-primary);
659
+ color: var(--smrt-color-primary);
658
660
  }
659
661
 
660
662
  .entry-actions :global(.delete-btn) {
661
663
  font-size: var(--smrt-typography-body-large-size, 1rem);
662
664
  line-height: 1;
663
665
  padding: 0.125rem 0.5rem;
664
- border-radius: var(--smrt-radius-full, 9999px);
666
+ border-radius: var(--smrt-radius-full);
665
667
  border: 1px solid transparent;
666
668
  background: transparent;
667
- color: var(--smrt-color-on-surface-variant, #43474e);
669
+ color: var(--smrt-color-on-surface-variant);
668
670
  flex-shrink: 0;
669
671
  }
670
672
 
671
673
  .entry-actions :global(.delete-btn):hover {
672
- background: var(--smrt-color-error-container, #fce4ec);
673
- color: var(--smrt-color-error, #ba1a1a);
674
- border-color: var(--smrt-color-error, #ba1a1a);
674
+ background: var(--smrt-color-error-container);
675
+ color: var(--smrt-color-error);
676
+ border-color: var(--smrt-color-error);
675
677
  }
676
678
 
677
679
  .placeholder {
678
680
  padding: 2rem;
679
681
  text-align: center;
680
- color: var(--smrt-color-on-surface-variant, #43474e);
681
- background: var(--smrt-color-surface-container, #f0f1f9);
682
- border-radius: var(--smrt-radius-md, 8px);
682
+ color: var(--smrt-color-on-surface-variant);
683
+ background: var(--smrt-color-surface-container);
684
+ border-radius: var(--smrt-radius-md);
683
685
  }
686
+ }
684
687
  </style>
@@ -165,7 +165,7 @@ function getPatternPlaceholder(type: string): string {
165
165
  }
166
166
  </script>
167
167
 
168
- <div class="email-filter-manager">
168
+ <div class="email-filter-manager" data-smrt-component="EmailFilterManager">
169
169
  <div class="section-toggle">
170
170
  <Button
171
171
  variant={activeSection === 'whitelist' ? 'primary' : 'ghost'}
@@ -408,6 +408,8 @@ function getPatternPlaceholder(type: string): string {
408
408
  </div>
409
409
 
410
410
  <style>
411
+ @layer smrt.reset, smrt.structure, smrt.theme;
412
+ @layer smrt.theme {
411
413
  .email-filter-manager {
412
414
  display: flex;
413
415
  flex-direction: column;
@@ -417,9 +419,9 @@ function getPatternPlaceholder(type: string): string {
417
419
  .section-toggle {
418
420
  display: flex;
419
421
  gap: 0.25rem;
420
- background: var(--smrt-color-surface-container, #f0f1f9);
422
+ background: var(--smrt-color-surface-container);
421
423
  padding: 0.25rem;
422
- border-radius: var(--smrt-radius-md, 8px);
424
+ border-radius: var(--smrt-radius-md);
423
425
  }
424
426
 
425
427
  /*
@@ -433,15 +435,15 @@ function getPatternPlaceholder(type: string): string {
433
435
  display: flex;
434
436
  align-items: center;
435
437
  gap: 0.375rem;
436
- border-radius: var(--smrt-radius-md, 8px);
438
+ border-radius: var(--smrt-radius-md);
437
439
  font-size: var(--smrt-typography-label-large-size, 0.8125rem);
438
440
  }
439
441
 
440
442
  .count {
441
443
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
442
- background: var(--smrt-color-outline-variant, #c2c7cf);
444
+ background: var(--smrt-color-outline-variant);
443
445
  padding: 0.0625rem 0.375rem;
444
- border-radius: var(--smrt-radius-full, 9999px);
446
+ border-radius: var(--smrt-radius-full);
445
447
  }
446
448
 
447
449
  .section-content {
@@ -459,7 +461,7 @@ function getPatternPlaceholder(type: string): string {
459
461
 
460
462
  .section-description {
461
463
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
462
- color: var(--smrt-color-on-surface-variant, #43474e);
464
+ color: var(--smrt-color-on-surface-variant);
463
465
  }
464
466
 
465
467
  /*
@@ -468,14 +470,14 @@ function getPatternPlaceholder(type: string): string {
468
470
  * :global(.add-btn)` only re-asserts radius and flex-shrink (issue #1589).
469
471
  */
470
472
  .section-header-row :global(.add-btn) {
471
- border-radius: var(--smrt-radius-md, 8px);
473
+ border-radius: var(--smrt-radius-md);
472
474
  flex-shrink: 0;
473
475
  }
474
476
 
475
477
  .entry-form {
476
- background: var(--smrt-color-surface-container, #f0f1f9);
477
- border: 1px solid var(--smrt-color-primary, #005ac1);
478
- border-radius: var(--smrt-radius-md, 8px);
478
+ background: var(--smrt-color-surface-container);
479
+ border: 1px solid var(--smrt-color-primary);
480
+ border-radius: var(--smrt-radius-md);
479
481
  padding: 1rem;
480
482
  display: flex;
481
483
  flex-direction: column;
@@ -485,7 +487,7 @@ function getPatternPlaceholder(type: string): string {
485
487
  .form-title {
486
488
  font-size: var(--smrt-typography-title-small-size, 0.875rem);
487
489
  font-weight: var(--smrt-typography-weight-semibold, 600);
488
- color: var(--smrt-color-primary, #005ac1);
490
+ color: var(--smrt-color-primary);
489
491
  }
490
492
 
491
493
  .form-row {
@@ -503,7 +505,7 @@ function getPatternPlaceholder(type: string): string {
503
505
  .form-label {
504
506
  font-size: var(--smrt-typography-label-medium-size, 0.75rem);
505
507
  font-weight: var(--smrt-typography-weight-medium, 500);
506
- color: var(--smrt-color-on-surface-variant, #43474e);
508
+ color: var(--smrt-color-on-surface-variant);
507
509
  }
508
510
 
509
511
  .optional {
@@ -530,12 +532,12 @@ function getPatternPlaceholder(type: string): string {
530
532
  gap: 0.5rem;
531
533
  cursor: pointer;
532
534
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
533
- color: var(--smrt-color-on-surface, #1a1c1e);
535
+ color: var(--smrt-color-on-surface);
534
536
  white-space: nowrap;
535
537
  }
536
538
 
537
539
  .checkbox-label input[type="checkbox"] {
538
- accent-color: var(--smrt-color-primary, #005ac1);
540
+ accent-color: var(--smrt-color-primary);
539
541
  }
540
542
 
541
543
  .form-actions {
@@ -553,12 +555,12 @@ function getPatternPlaceholder(type: string): string {
553
555
  */
554
556
  .form-actions :global(.cancel-btn),
555
557
  .form-actions :global(.save-btn) {
556
- border-radius: var(--smrt-radius-md, 8px);
558
+ border-radius: var(--smrt-radius-md);
557
559
  }
558
560
 
559
561
  .form-actions :global(.cancel-btn) {
560
- border-color: var(--smrt-color-outline-variant, #c2c7cf);
561
- color: var(--smrt-color-on-surface-variant, #43474e);
562
+ border-color: var(--smrt-color-outline-variant);
563
+ color: var(--smrt-color-on-surface-variant);
562
564
  }
563
565
 
564
566
  .entries-list {
@@ -571,23 +573,23 @@ function getPatternPlaceholder(type: string): string {
571
573
  display: flex;
572
574
  align-items: center;
573
575
  justify-content: space-between;
574
- background: var(--smrt-color-surface-container, #f0f1f9);
575
- border: 1px solid var(--smrt-color-outline-variant, #c2c7cf);
576
- border-radius: var(--smrt-radius-md, 8px);
576
+ background: var(--smrt-color-surface-container);
577
+ border: 1px solid var(--smrt-color-outline-variant);
578
+ border-radius: var(--smrt-radius-md);
577
579
  padding: 0.75rem 1rem;
578
580
  transition: background 150ms ease, border-color 150ms ease;
579
581
  }
580
582
 
581
583
  .entry-card:hover {
582
- background: var(--smrt-color-surface-container-high, #e6e7ef);
584
+ background: var(--smrt-color-surface-container-high);
583
585
  }
584
586
 
585
587
  .entry-card.allow:hover {
586
- border-color: var(--smrt-color-success, #16a34a);
588
+ border-color: var(--smrt-color-success);
587
589
  }
588
590
 
589
591
  .entry-card.block:hover {
590
- border-color: var(--smrt-color-error, #ba1a1a);
592
+ border-color: var(--smrt-color-error);
591
593
  }
592
594
 
593
595
  .entry-main {
@@ -602,10 +604,10 @@ function getPatternPlaceholder(type: string): string {
602
604
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
603
605
  font-weight: var(--smrt-typography-weight-semibold, 600);
604
606
  font-family: var(--smrt-font-family-mono, monospace);
605
- background: var(--smrt-color-surface, #fefbff);
606
- border: 1px solid var(--smrt-color-outline-variant, #c2c7cf);
607
+ background: var(--smrt-color-surface);
608
+ border: 1px solid var(--smrt-color-outline-variant);
607
609
  padding: 0.25rem 0.5rem;
608
- border-radius: var(--smrt-radius-sm, 4px);
610
+ border-radius: var(--smrt-radius-sm);
609
611
  flex-shrink: 0;
610
612
  min-width: 2rem;
611
613
  text-align: center;
@@ -629,24 +631,24 @@ function getPatternPlaceholder(type: string): string {
629
631
 
630
632
  .entry-description {
631
633
  font-size: var(--smrt-typography-body-small-size, 0.75rem);
632
- color: var(--smrt-color-on-surface-variant, #43474e);
634
+ color: var(--smrt-color-on-surface-variant);
633
635
  }
634
636
 
635
637
  .category-tag {
636
638
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
637
- color: var(--smrt-color-tertiary, #6b5778);
638
- background: var(--smrt-color-tertiary-container, #f2daff);
639
+ color: var(--smrt-color-tertiary);
640
+ background: var(--smrt-color-tertiary-container);
639
641
  padding: 0.125rem 0.5rem;
640
- border-radius: var(--smrt-radius-full, 9999px);
642
+ border-radius: var(--smrt-radius-full);
641
643
  flex-shrink: 0;
642
644
  }
643
645
 
644
646
  .auto-archive-tag {
645
647
  font-size: var(--smrt-typography-label-small-size, 0.6875rem);
646
- color: var(--smrt-color-warning, #ca8a04);
647
- background: var(--smrt-color-warning-container, #fef9c3);
648
+ color: var(--smrt-color-warning);
649
+ background: var(--smrt-color-warning-container);
648
650
  padding: 0.125rem 0.5rem;
649
- border-radius: var(--smrt-radius-full, 9999px);
651
+ border-radius: var(--smrt-radius-full);
650
652
  flex-shrink: 0;
651
653
  }
652
654
 
@@ -660,25 +662,25 @@ function getPatternPlaceholder(type: string): string {
660
662
  font-size: var(--smrt-typography-body-large-size, 1rem);
661
663
  line-height: 1;
662
664
  padding: 0.125rem 0.5rem;
663
- border-radius: var(--smrt-radius-full, 9999px);
665
+ border-radius: var(--smrt-radius-full);
664
666
  border: 1px solid transparent;
665
667
  background: transparent;
666
- color: var(--smrt-color-on-surface-variant, #43474e);
668
+ color: var(--smrt-color-on-surface-variant);
667
669
  flex-shrink: 0;
668
670
  }
669
671
 
670
672
  .entry-card :global(.delete-btn):hover {
671
- background: var(--smrt-color-error-container, #fce4ec);
672
- color: var(--smrt-color-error, #ba1a1a);
673
- border-color: var(--smrt-color-error, #ba1a1a);
673
+ background: var(--smrt-color-error-container);
674
+ color: var(--smrt-color-error);
675
+ border-color: var(--smrt-color-error);
674
676
  }
675
677
 
676
678
  .placeholder {
677
679
  padding: 2rem;
678
680
  text-align: center;
679
- color: var(--smrt-color-on-surface-variant, #43474e);
680
- background: var(--smrt-color-surface-container, #f0f1f9);
681
- border-radius: var(--smrt-radius-md, 8px);
681
+ color: var(--smrt-color-on-surface-variant);
682
+ background: var(--smrt-color-surface-container);
683
+ border-radius: var(--smrt-radius-md);
682
684
  }
683
685
 
684
686
  .filter-error {
@@ -687,9 +689,9 @@ function getPatternPlaceholder(type: string): string {
687
689
  justify-content: space-between;
688
690
  gap: 0.5rem;
689
691
  padding: 0.5rem 0.75rem;
690
- border-radius: var(--smrt-radius-md, 8px);
691
- background: var(--smrt-color-error-container, #fce4ec);
692
- color: var(--smrt-color-error, #ba1a1a);
692
+ border-radius: var(--smrt-radius-md);
693
+ background: var(--smrt-color-error-container);
694
+ color: var(--smrt-color-error);
693
695
  font-size: var(--smrt-typography-body-medium-size, 0.8125rem);
694
696
  }
695
697
 
@@ -706,4 +708,5 @@ function getPatternPlaceholder(type: string): string {
706
708
  color: inherit;
707
709
  padding: 0 0.25rem;
708
710
  }
711
+ }
709
712
  </style>
@@ -50,7 +50,7 @@ function getFolderIcon(specialUse?: string): string {
50
50
  }
51
51
  </script>
52
52
 
53
- <nav class="folder-nav" aria-label={t(M['messages.folder_nav.folders'])}>
53
+ <nav class="folder-nav" aria-label={t(M['messages.folder_nav.folders'])} data-smrt-component="FolderNav">
54
54
  {#if _systemFolders.length > 0}
55
55
  <ul class="folder-list" role="list">
56
56
  {#each _systemFolders as folder (folder.id)}
@@ -100,6 +100,8 @@ function getFolderIcon(specialUse?: string): string {
100
100
  </nav>
101
101
 
102
102
  <style>
103
+ @layer smrt.reset, smrt.structure, smrt.theme;
104
+ @layer smrt.theme {
103
105
  .folder-nav {
104
106
  display: flex;
105
107
  flex-direction: column;
@@ -128,23 +130,23 @@ function getFolderIcon(specialUse?: string): string {
128
130
  border: none;
129
131
  background: none;
130
132
  font: var(--smrt-typography-body-medium-font, 0.875rem / 1.25 sans-serif);
131
- color: var(--smrt-color-on-surface, #1a1c1e);
133
+ color: var(--smrt-color-on-surface);
132
134
  border-radius: var(--smrt-radius-small, 0.25rem);
133
135
  transition: background var(--smrt-duration-short2, 150ms);
134
136
  text-align: left;
135
137
  }
136
138
 
137
139
  .folder-list :global(.folder-item):hover {
138
- background: var(--smrt-color-surface-variant, #e1e2ec);
140
+ background: var(--smrt-color-surface-variant);
139
141
  }
140
142
 
141
143
  .folder-list :global(.folder-item--active) {
142
- background: var(--smrt-color-secondary-container, #d7e3f7);
144
+ background: var(--smrt-color-secondary-container);
143
145
  font-weight: var(--smrt-typography-weight-medium, 500);
144
146
  }
145
147
 
146
148
  .folder-list :global(.folder-item):focus-visible {
147
- outline: 2px solid var(--smrt-color-primary, #005ac1);
149
+ outline: 2px solid var(--smrt-color-primary);
148
150
  outline-offset: -2px;
149
151
  }
150
152
 
@@ -167,16 +169,17 @@ function getFolderIcon(specialUse?: string): string {
167
169
  display: inline-flex;
168
170
  align-items: center;
169
171
  justify-content: center;
170
- border-radius: var(--smrt-radius-full, 9999px);
171
- background: var(--smrt-color-primary, #005ac1);
172
- color: var(--smrt-color-on-primary, #fff);
172
+ border-radius: var(--smrt-radius-full);
173
+ background: var(--smrt-color-primary);
174
+ color: var(--smrt-color-on-primary);
173
175
  font: var(--smrt-typography-label-small-font, 500 0.6875rem / 1 sans-serif);
174
176
  padding: 0 0.25rem;
175
177
  }
176
178
 
177
179
  .divider {
178
180
  border: none;
179
- border-top: 1px solid var(--smrt-color-outline-variant, #c4c6d0);
181
+ border-top: 1px solid var(--smrt-color-outline-variant);
180
182
  margin: 0.25rem 0.75rem;
181
183
  }
184
+ }
182
185
  </style>
@@ -63,7 +63,7 @@ export interface Props {
63
63
  }
64
64
  </script>
65
65
 
66
- <div class="forward-form">
66
+ <div class="forward-form" data-smrt-component="ForwardForm">
67
67
  <div class="forward-header">{t(M['messages.forward_form.header'])}</div>
68
68
 
69
69
  <RecipientInput
@@ -103,50 +103,52 @@ export interface Props {
103
103
  </div>
104
104
 
105
105
  <style>
106
+ @layer smrt.reset, smrt.structure, smrt.theme;
107
+ @layer smrt.theme {
106
108
  .forward-form {
107
109
  display: flex;
108
110
  flex-direction: column;
109
- gap: var(--smrt-spacing-2, 8px);
110
- padding: var(--smrt-spacing-3, 12px);
111
- border: 1px solid var(--smrt-color-outline-variant, #cac4d0);
112
- border-radius: var(--smrt-radius-md, 12px);
113
- background: var(--smrt-color-surface, #fffbfe);
111
+ gap: var(--smrt-spacing-2);
112
+ padding: var(--smrt-spacing-3);
113
+ border: 1px solid var(--smrt-color-outline-variant);
114
+ border-radius: var(--smrt-radius-md);
115
+ background: var(--smrt-color-surface);
114
116
  font-family: var(--smrt-font-family, system-ui);
115
117
  }
116
118
 
117
119
  .forward-header {
118
- font-size: var(--smrt-typography-title-small-size, 13px);
119
- color: var(--smrt-color-on-surface-variant, #49454f);
120
+ font-size: var(--smrt-typography-title-small-size);
121
+ color: var(--smrt-color-on-surface-variant);
120
122
  font-weight: var(--smrt-typography-weight-medium, 500);
121
123
  }
122
124
 
123
125
  .forwarded-original {
124
- padding: var(--smrt-spacing-2, 8px);
125
- background: var(--smrt-color-surface-variant, #e7e0ec);
126
- border-radius: var(--smrt-radius-sm, 8px);
126
+ padding: var(--smrt-spacing-2);
127
+ background: var(--smrt-color-surface-variant);
128
+ border-radius: var(--smrt-radius-sm);
127
129
  max-height: 300px;
128
130
  overflow-y: auto;
129
131
  }
130
132
 
131
133
  .forwarded-text {
132
134
  margin: 0;
133
- font-size: var(--smrt-typography-body-small-size, 12px);
134
- color: var(--smrt-color-on-surface-variant, #49454f);
135
+ font-size: var(--smrt-typography-body-small-size);
136
+ color: var(--smrt-color-on-surface-variant);
135
137
  white-space: pre-wrap;
136
138
  font-family: var(--smrt-font-family, system-ui);
137
139
  }
138
140
 
139
141
  .send-error {
140
- padding: var(--smrt-spacing-2, 8px) var(--smrt-spacing-3, 12px);
141
- border-radius: var(--smrt-radius-sm, 8px);
142
- background: var(--smrt-color-error-container, #ffdad6);
143
- color: var(--smrt-color-on-error-container, #410002);
144
- font-size: var(--smrt-typography-body-small-size, 12px);
142
+ padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
143
+ border-radius: var(--smrt-radius-sm);
144
+ background: var(--smrt-color-error-container);
145
+ color: var(--smrt-color-on-error-container);
146
+ font-size: var(--smrt-typography-body-small-size);
145
147
  }
146
148
 
147
149
  .actions {
148
150
  display: flex;
149
- gap: var(--smrt-spacing-2, 8px);
151
+ gap: var(--smrt-spacing-2);
150
152
  }
151
153
 
152
154
  /*
@@ -156,6 +158,7 @@ export interface Props {
156
158
  * issue #1589.
157
159
  */
158
160
  .actions :global(.btn-text) {
159
- color: var(--smrt-color-on-surface-variant, #49454f);
161
+ color: var(--smrt-color-on-surface-variant);
160
162
  }
163
+ }
161
164
  </style>