@rxova/brand 0.7.0 → 0.8.1

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.
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rxova/brand",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "description": "Design tokens, Starlight theme and shared site chrome for rxova.org",
6
6
  "keywords": [
@@ -50,7 +50,7 @@ const { homeHref, logoSrc, items } = Astro.props
50
50
  <div class="site__inner">
51
51
  <a class="brand" href={homeHref}>
52
52
  <img src={logoSrc} alt="" width="28" height="28" />
53
- <span>rxova</span>
53
+ <span>Rxova</span>
54
54
  </a>
55
55
  <nav aria-label="Sections">
56
56
  {
@@ -20,16 +20,38 @@
20
20
  */
21
21
  import { PROJECTS, RXOVA_ORIGIN, getProject, siteUrl, type ProjectId } from '../sites.ts'
22
22
 
23
+ /** A standalone surface of rxova.org, for the "Site" column. */
24
+ export interface SiteLink {
25
+ label: string
26
+ /** Absolute — see sites.ts. */
27
+ href: string
28
+ }
29
+
23
30
  interface Props {
24
31
  /** Current project, if this is a docs site. Omitted on the landing. */
25
32
  project?: ProjectId
26
33
  /** Optional per-site "Docs" column. */
27
34
  docs?: { label: string; href: string }[]
35
+ /**
36
+ * The standalone surfaces to list under "Site", below Home.
37
+ *
38
+ * Defaults to Blog and Updates, which is what every surface showed when this
39
+ * column was hardcoded. It is a prop because only the umbrella repo knows
40
+ * which surfaces are actually *deployed* — `sources.json` gates the mount and
41
+ * the link together — and a hardcoded list advertises a 404 for a surface
42
+ * whose first build has not landed yet. Same reason `Header` takes `items`.
43
+ */
44
+ site?: readonly SiteLink[]
28
45
  }
29
46
 
30
- const { project, docs } = Astro.props
47
+ const { project, docs, site } = Astro.props
31
48
  const self = project ? getProject(project) : undefined
32
49
  const year = new Date().getFullYear()
50
+
51
+ const surfaces: readonly SiteLink[] = site ?? [
52
+ { label: 'Blog', href: siteUrl('/blog') },
53
+ { label: 'Updates', href: siteUrl('/updates') },
54
+ ]
33
55
  ---
34
56
 
35
57
  <footer class="rx-footer">
@@ -37,10 +59,17 @@ const year = new Date().getFullYear()
37
59
  <div class="rx-footer__brand">
38
60
  <a class="rx-footer__mark" href={RXOVA_ORIGIN}>
39
61
  <img src={siteUrl('/rxova-logo-256.png')} alt="" width="28" height="28" loading="lazy" />
40
- <span>rxova</span>
62
+ <span>Rxova</span>
41
63
  </a>
64
+ {
65
+ /* Not "React libraries": two of the three ship a framework-agnostic
66
+ core that runs in a worker or a plain script, and Journey also ships a
67
+ browser extension. React is a binding we provide, not the boundary of
68
+ what these are. Same correction as the landing's hero. */
69
+ }
42
70
  <p class="rx-footer__blurb">
43
- Open-source React libraries, documented in one place. MIT licensed, built in the open.
71
+ Small TypeScript libraries for the browser, documented in one place. MIT licensed, built in
72
+ the open.
44
73
  </p>
45
74
  </div>
46
75
 
@@ -108,8 +137,13 @@ const year = new Date().getFullYear()
108
137
  <h2 class="rx-footer__title">Site</h2>
109
138
  <ul class="rx-footer__list">
110
139
  <li><a href={RXOVA_ORIGIN}>Home</a></li>
111
- <li><a href={siteUrl('/blog')}>Blog</a></li>
112
- <li><a href={siteUrl('/updates')}>Updates</a></li>
140
+ {
141
+ surfaces.map((s) => (
142
+ <li>
143
+ <a href={s.href}>{s.label}</a>
144
+ </li>
145
+ ))
146
+ }
113
147
  </ul>
114
148
  </div>
115
149
 
@@ -125,7 +159,7 @@ const year = new Date().getFullYear()
125
159
  </div>
126
160
 
127
161
  <div class="rx-footer__legal">
128
- <p>© {year} rxova · MIT licensed</p>
162
+ <p>© {year} Rxova · MIT licensed</p>
129
163
  <div class="rx-footer__legal-links">
130
164
  <a href={siteUrl('/privacy')}>Privacy</a>
131
165
  <a href={siteUrl('/terms')}>Terms</a>
@@ -28,7 +28,7 @@ const { siteTitle, siteTitleHref } = (
28
28
  ---
29
29
 
30
30
  <div class="rx-site-title">
31
- <a href={RXOVA_ORIGIN} class="rx-site-title__mark" aria-label="rxova home">
31
+ <a href={RXOVA_ORIGIN} class="rx-site-title__mark" aria-label="Rxova home">
32
32
  <img src={mark.src} alt="" width="28" height="28" />
33
33
  </a>
34
34
  <span class="rx-site-title__sep" aria-hidden="true"></span>