@rmdes/indiekit-endpoint-activitypub 2.6.1 → 2.6.2

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.
@@ -16,7 +16,7 @@
16
16
  display: flex;
17
17
  overflow: hidden;
18
18
  border-radius: 8px;
19
- border: 1px solid var(--color-neutral-lighter);
19
+ border: 1px solid var(--color-outline);
20
20
  background-color: var(--color-offset);
21
21
  text-decoration: none;
22
22
  color: inherit;
@@ -105,7 +105,7 @@
105
105
 
106
106
  .ap-post-detail__back-link {
107
107
  font-size: 0.875rem;
108
- color: var(--color-primary);
108
+ color: var(--color-primary-on-background);
109
109
  text-decoration: none;
110
110
  }
111
111
 
@@ -121,7 +121,7 @@
121
121
  letter-spacing: 0.05em;
122
122
  margin: var(--space-l) 0 var(--space-s);
123
123
  padding-bottom: var(--space-xs);
124
- border-bottom: 1px solid var(--color-neutral-lighter);
124
+ border-bottom: 1px solid var(--color-outline);
125
125
  }
126
126
 
127
127
  .ap-post-detail__main {
@@ -142,7 +142,7 @@
142
142
  .ap-post-detail__parents .ap-post-detail__parent-item {
143
143
  position: relative;
144
144
  padding-left: var(--space-m);
145
- border-left: 2px solid var(--color-neutral-lighter);
145
+ border-left: 2px solid var(--color-outline);
146
146
  }
147
147
 
148
148
  /* Main post highlight */
package/assets/reader.css CHANGED
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  .ap-breadcrumb a {
21
- color: var(--color-accent);
21
+ color: var(--color-primary-on-background);
22
22
  text-decoration: none;
23
23
  }
24
24
 
@@ -115,7 +115,7 @@
115
115
 
116
116
  .ap-tab--active {
117
117
  border-bottom-color: var(--color-primary);
118
- color: var(--color-primary);
118
+ color: var(--color-primary-on-background);
119
119
  font-weight: 600;
120
120
  }
121
121
 
@@ -242,7 +242,7 @@
242
242
  }
243
243
 
244
244
  .ap-card__reply-to a {
245
- color: var(--color-primary);
245
+ color: var(--color-primary-on-background);
246
246
  text-decoration: none;
247
247
  }
248
248
 
@@ -349,7 +349,7 @@
349
349
 
350
350
  .ap-card__timestamp-link:hover {
351
351
  text-decoration: underline;
352
- color: var(--color-primary);
352
+ color: var(--color-primary-on-background);
353
353
  }
354
354
 
355
355
  /* ==========================================================================
@@ -385,7 +385,7 @@
385
385
  }
386
386
 
387
387
  .ap-card__content a {
388
- color: var(--color-primary);
388
+ color: var(--color-primary-on-background);
389
389
  }
390
390
 
391
391
  .ap-card__content p {
@@ -447,7 +447,7 @@
447
447
 
448
448
  .ap-card__content .h-card a:hover,
449
449
  .ap-card__content a.u-url.mention:hover {
450
- color: var(--color-primary);
450
+ color: var(--color-primary-on-background);
451
451
  text-decoration: underline;
452
452
  }
453
453
 
@@ -464,7 +464,7 @@
464
464
  }
465
465
 
466
466
  .ap-card__content a.mention.hashtag:hover {
467
- color: var(--color-primary);
467
+ color: var(--color-primary-on-background);
468
468
  text-decoration: underline;
469
469
  }
470
470
 
@@ -720,17 +720,17 @@
720
720
  }
721
721
 
722
722
  .ap-card__mention {
723
- background: color-mix(in srgb, var(--color-accent) 12%, transparent);
723
+ background: color-mix(in srgb, var(--color-primary) 12%, transparent);
724
724
  border-radius: var(--border-radius-large);
725
- color: var(--color-accent);
725
+ color: var(--color-primary-on-background);
726
726
  font-size: var(--font-size-s);
727
727
  padding: 2px var(--space-xs);
728
728
  text-decoration: none;
729
729
  }
730
730
 
731
731
  .ap-card__mention:hover {
732
- background: color-mix(in srgb, var(--color-accent) 22%, transparent);
733
- color: var(--color-accent);
732
+ background: color-mix(in srgb, var(--color-primary) 22%, transparent);
733
+ color: var(--color-primary-on-background);
734
734
  }
735
735
 
736
736
  .ap-card__mention--legacy {
@@ -874,7 +874,7 @@
874
874
  }
875
875
 
876
876
  .ap-pagination a {
877
- color: var(--color-primary);
877
+ color: var(--color-primary-on-background);
878
878
  text-decoration: none;
879
879
  }
880
880
 
@@ -1120,11 +1120,11 @@
1120
1120
  }
1121
1121
 
1122
1122
  .ap-notifications__btn--danger {
1123
- color: var(--color-red45);
1123
+ color: var(--color-error);
1124
1124
  }
1125
1125
 
1126
1126
  .ap-notifications__btn--danger:hover {
1127
- border-color: var(--color-red45);
1127
+ border-color: var(--color-error);
1128
1128
  }
1129
1129
 
1130
1130
  .ap-notification {
@@ -1230,7 +1230,7 @@
1230
1230
 
1231
1231
  .ap-notification__dismiss-btn:hover {
1232
1232
  background: var(--color-offset-variant);
1233
- color: var(--color-red45);
1233
+ color: var(--color-error);
1234
1234
  }
1235
1235
 
1236
1236
  .ap-notification__actions {
@@ -1316,7 +1316,7 @@
1316
1316
  }
1317
1317
 
1318
1318
  .ap-profile__bio a {
1319
- color: var(--color-primary);
1319
+ color: var(--color-primary-on-background);
1320
1320
  }
1321
1321
 
1322
1322
  /* Override upstream .mention { display: grid } for bio content */
@@ -1463,7 +1463,7 @@
1463
1463
  }
1464
1464
 
1465
1465
  .ap-my-profile__bio a {
1466
- color: var(--color-primary);
1466
+ color: var(--color-primary-on-background);
1467
1467
  }
1468
1468
 
1469
1469
  /* Override upstream .mention { display: grid } for bio content */
@@ -1513,7 +1513,7 @@
1513
1513
  }
1514
1514
 
1515
1515
  .ap-my-profile__field-value a {
1516
- color: var(--color-primary);
1516
+ color: var(--color-primary-on-background);
1517
1517
  }
1518
1518
 
1519
1519
  .ap-my-profile__stats {
@@ -1795,7 +1795,7 @@
1795
1795
  }
1796
1796
 
1797
1797
  .ap-post-detail__back-link {
1798
- color: var(--color-primary);
1798
+ color: var(--color-primary-on-background);
1799
1799
  font-size: var(--font-size-s);
1800
1800
  text-decoration: none;
1801
1801
  }
@@ -1879,10 +1879,10 @@
1879
1879
  }
1880
1880
 
1881
1881
  .ap-tag-header__follow-btn {
1882
- background: var(--color-accent);
1882
+ background: var(--color-primary);
1883
1883
  border: none;
1884
1884
  border-radius: var(--border-radius-small);
1885
- color: var(--color-on-accent);
1885
+ color: var(--color-on-primary, var(--color-neutral99));
1886
1886
  cursor: pointer;
1887
1887
  font-size: var(--font-size-s);
1888
1888
  padding: var(--space-xs) var(--space-s);
@@ -2023,10 +2023,10 @@
2023
2023
  }
2024
2024
 
2025
2025
  .ap-explore-error {
2026
- background: color-mix(in srgb, var(--color-red45) 10%, transparent);
2027
- border: var(--border-width-thin) solid var(--color-red45);
2026
+ background: color-mix(in srgb, var(--color-error) 10%, transparent);
2027
+ border: var(--border-width-thin) solid var(--color-error);
2028
2028
  border-radius: var(--border-radius-small);
2029
- color: var(--color-red45);
2029
+ color: var(--color-error);
2030
2030
  margin-bottom: var(--space-m);
2031
2031
  padding: var(--space-s) var(--space-m);
2032
2032
  }
@@ -2296,7 +2296,7 @@
2296
2296
  }
2297
2297
 
2298
2298
  .ap-tab-control--remove:hover {
2299
- color: var(--color-red45);
2299
+ color: var(--color-error);
2300
2300
  }
2301
2301
 
2302
2302
  /* Truncate long domain names in tab labels */
@@ -2321,13 +2321,13 @@
2321
2321
  }
2322
2322
 
2323
2323
  .ap-tab__badge--local {
2324
- background: color-mix(in srgb, var(--color-blue40, #2563eb) 15%, transparent);
2325
- color: var(--color-blue40, #2563eb);
2324
+ background: color-mix(in srgb, var(--color-primary) 15%, transparent);
2325
+ color: var(--color-primary-on-background);
2326
2326
  }
2327
2327
 
2328
2328
  .ap-tab__badge--federated {
2329
- background: color-mix(in srgb, var(--color-purple45, #7c3aed) 15%, transparent);
2330
- color: var(--color-purple45, #7c3aed);
2329
+ background: color-mix(in srgb, var(--color-purple45) 15%, transparent);
2330
+ color: var(--color-purple45);
2331
2331
  }
2332
2332
 
2333
2333
  /* +# button for adding hashtag tabs */
@@ -2393,9 +2393,9 @@
2393
2393
 
2394
2394
  .ap-explore-pin-btn {
2395
2395
  background: none;
2396
- border: var(--border-width-thin) solid var(--color-primary);
2396
+ border: var(--border-width-thin) solid var(--color-primary-on-background);
2397
2397
  border-radius: var(--border-radius-small);
2398
- color: var(--color-primary);
2398
+ color: var(--color-primary-on-background);
2399
2399
  cursor: pointer;
2400
2400
  font-family: inherit;
2401
2401
  font-size: var(--font-size-s);
@@ -2475,23 +2475,23 @@
2475
2475
  }
2476
2476
 
2477
2477
  .ap-explore-tab-error__message {
2478
- color: var(--color-red45);
2478
+ color: var(--color-error);
2479
2479
  font-size: var(--font-size-s);
2480
2480
  margin: 0;
2481
2481
  }
2482
2482
 
2483
2483
  .ap-explore-tab-error__retry {
2484
2484
  background: none;
2485
- border: 1px solid var(--color-accent);
2485
+ border: 1px solid var(--color-primary-on-background);
2486
2486
  border-radius: var(--border-radius-small);
2487
- color: var(--color-accent);
2487
+ color: var(--color-primary-on-background);
2488
2488
  cursor: pointer;
2489
2489
  font-size: var(--font-size-s);
2490
2490
  padding: var(--space-xs) var(--space-s);
2491
2491
  }
2492
2492
 
2493
2493
  .ap-explore-tab-error__retry:hover {
2494
- background: color-mix(in srgb, var(--color-accent) 10%, transparent);
2494
+ background: color-mix(in srgb, var(--color-primary) 10%, transparent);
2495
2495
  }
2496
2496
 
2497
2497
  /* Empty state */
@@ -2749,3 +2749,103 @@
2749
2749
  z-index: 2;
2750
2750
  }
2751
2751
 
2752
+ /* ==========================================================================
2753
+ Dark Mode Overrides
2754
+ Softens saturated colors that are uncomfortable on dark backgrounds.
2755
+ Uses Indiekit's existing light-variant tokens (red80, green90, yellow90)
2756
+ which are designed for dark surfaces.
2757
+ ========================================================================== */
2758
+
2759
+ @media (prefers-color-scheme: dark) {
2760
+
2761
+ /* --- Action button hover states: softer colors, more visible tinted backgrounds --- */
2762
+ .ap-card__action--reply:hover {
2763
+ background: color-mix(in srgb, var(--color-primary) 18%, transparent);
2764
+ color: var(--color-primary-on-background);
2765
+ }
2766
+
2767
+ .ap-card__action--boost:hover {
2768
+ background: color-mix(in srgb, var(--color-green50) 18%, transparent);
2769
+ color: var(--color-green90);
2770
+ }
2771
+
2772
+ .ap-card__action--like:hover {
2773
+ background: color-mix(in srgb, var(--color-red45) 18%, transparent);
2774
+ color: var(--color-red80);
2775
+ }
2776
+
2777
+ .ap-card__action--save:hover {
2778
+ background: color-mix(in srgb, var(--color-primary) 18%, transparent);
2779
+ color: var(--color-primary-on-background);
2780
+ }
2781
+
2782
+ /* --- Active interaction states --- */
2783
+ .ap-card__action--like.ap-card__action--active {
2784
+ background: color-mix(in srgb, var(--color-red45) 18%, transparent);
2785
+ color: var(--color-red80);
2786
+ }
2787
+
2788
+ .ap-card__action--boost.ap-card__action--active {
2789
+ background: color-mix(in srgb, var(--color-green50) 18%, transparent);
2790
+ color: var(--color-green90);
2791
+ }
2792
+
2793
+ .ap-card__action--save.ap-card__action--active {
2794
+ background: color-mix(in srgb, var(--color-primary) 18%, transparent);
2795
+ color: var(--color-primary-on-background);
2796
+ }
2797
+
2798
+ /* --- Post-type left border accents: desaturated for dark surfaces --- */
2799
+ .ap-card--note,
2800
+ .ap-card--note:hover {
2801
+ border-left-color: var(--color-purple90);
2802
+ }
2803
+
2804
+ .ap-card--article,
2805
+ .ap-card--article:hover {
2806
+ border-left-color: var(--color-green90);
2807
+ }
2808
+
2809
+ .ap-card--boost,
2810
+ .ap-card--boost:hover {
2811
+ border-left-color: var(--color-yellow90);
2812
+ }
2813
+
2814
+ .ap-card--reply,
2815
+ .ap-card--reply:hover {
2816
+ border-left-color: var(--color-primary-on-background);
2817
+ }
2818
+
2819
+ /* --- Notification unread glow: toned down --- */
2820
+ .ap-notification--unread {
2821
+ border-color: var(--color-yellow90);
2822
+ box-shadow: 0 0 6px 0 color-mix(in srgb, var(--color-yellow50) 15%, transparent);
2823
+ }
2824
+
2825
+ /* --- Post detail highlight ring: softened --- */
2826
+ .ap-post-detail__main .ap-card {
2827
+ border-color: color-mix(in srgb, var(--color-primary) 50%, transparent);
2828
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary) 50%, transparent);
2829
+ }
2830
+
2831
+ /* --- Card shadows: use light tint instead of black --- */
2832
+ .ap-card {
2833
+ box-shadow: 0 1px 2px rgba(255, 255, 255, 0.04);
2834
+ }
2835
+
2836
+ .ap-card:hover {
2837
+ box-shadow: 0 2px 8px rgba(255, 255, 255, 0.06);
2838
+ }
2839
+
2840
+ /* --- Compose counter warning --- */
2841
+ .ap-compose__counter--warn {
2842
+ color: var(--color-yellow90);
2843
+ }
2844
+
2845
+ /* --- Tab badge federated: soften purple --- */
2846
+ .ap-tab__badge--federated {
2847
+ color: var(--color-purple90);
2848
+ background: color-mix(in srgb, var(--color-purple45) 18%, transparent);
2849
+ }
2850
+ }
2851
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rmdes/indiekit-endpoint-activitypub",
3
- "version": "2.6.1",
3
+ "version": "2.6.2",
4
4
  "description": "ActivityPub federation endpoint for Indiekit via Fedify. Adds full fediverse support: actor, inbox, outbox, followers, following, syndication, and Mastodon migration.",
5
5
  "keywords": [
6
6
  "indiekit",