react-cheminfo 0.20.0 → 0.21.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/lib/about/core/about.d.ts +3 -3
- package/lib/about/core/about.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.d.ts +20 -3
- package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
- package/lib/chrome/ui/SiteHeader.js +7 -3
- package/lib/chrome/ui/SiteHeader.js.map +1 -1
- package/lib/ecosystem/core/index.d.ts +1 -1
- package/lib/ecosystem/core/index.d.ts.map +1 -1
- package/lib/ecosystem/core/index.js.map +1 -1
- package/lib/ecosystem/core/lookup.d.ts +2 -2
- package/lib/ecosystem/core/lookup.d.ts.map +1 -1
- package/lib/ecosystem/core/lookup.js.map +1 -1
- package/lib/ecosystem/core/nameColors.d.ts +2 -2
- package/lib/ecosystem/core/nameColors.d.ts.map +1 -1
- package/lib/ecosystem/core/nameColors.js.map +1 -1
- package/lib/ecosystem/core/sites.d.ts +3 -3
- package/lib/ecosystem/core/sites.d.ts.map +1 -1
- package/lib/ecosystem/core/sites.js.map +1 -1
- package/lib/ecosystem/core/tokens.d.ts +4 -3
- package/lib/ecosystem/core/tokens.d.ts.map +1 -1
- package/lib/ecosystem/core/tokens.js +8 -7
- package/lib/ecosystem/core/tokens.js.map +1 -1
- package/lib/ecosystem/core/types.d.ts +18 -9
- package/lib/ecosystem/core/types.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTheme.d.ts +14 -3
- package/lib/ecosystem/ui/SiteTheme.d.ts.map +1 -1
- package/lib/ecosystem/ui/SiteTheme.js +6 -1
- package/lib/ecosystem/ui/SiteTheme.js.map +1 -1
- package/lib/ecosystem/ui/Wordmark.d.ts +2 -2
- package/lib/ecosystem/ui/Wordmark.d.ts.map +1 -1
- package/lib/ecosystem/ui/marks.d.ts +13 -4
- package/lib/ecosystem/ui/marks.d.ts.map +1 -1
- package/lib/ecosystem/ui/marks.js +11 -3
- package/lib/ecosystem/ui/marks.js.map +1 -1
- package/lib/seo/core/pageMeta.d.ts +2 -2
- package/lib/seo/core/pageMeta.d.ts.map +1 -1
- package/lib/seo/core/siteFiles.d.ts +3 -3
- package/lib/seo/core/siteFiles.d.ts.map +1 -1
- package/lib/seo/core/siteFiles.js.map +1 -1
- package/lib/seo/vite/ogCard.d.ts +9 -2
- package/lib/seo/vite/ogCard.d.ts.map +1 -1
- package/lib/seo/vite/ogCard.js +6 -1
- package/lib/seo/vite/ogCard.js.map +1 -1
- package/lib/seo/vite/prerender.d.ts +2 -2
- package/lib/seo/vite/prerender.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/about/core/about.ts +3 -3
- package/src/chrome/ui/SiteHeader.tsx +28 -6
- package/src/ecosystem/core/index.ts +1 -0
- package/src/ecosystem/core/lookup.ts +2 -2
- package/src/ecosystem/core/nameColors.ts +2 -2
- package/src/ecosystem/core/sites.ts +3 -2
- package/src/ecosystem/core/tokens.ts +10 -9
- package/src/ecosystem/core/types.ts +19 -9
- package/src/ecosystem/ui/SiteTheme.tsx +19 -4
- package/src/ecosystem/ui/Wordmark.tsx +2 -2
- package/src/ecosystem/ui/marks.tsx +23 -5
- package/src/seo/core/noscript.ts +1 -1
- package/src/seo/core/pageMeta.ts +2 -2
- package/src/seo/core/siteFiles.ts +3 -3
- package/src/seo/vite/ogCard.ts +16 -3
- package/src/seo/vite/prerender.ts +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BuildInfo } from '../../build/core/buildInfo.ts';
|
|
2
2
|
import type { CitedWork } from '../../citation/core/works.ts';
|
|
3
3
|
import type { CreditEntry, CreditId } from '../../credits/core/credits.ts';
|
|
4
|
-
import type {
|
|
4
|
+
import type { SiteId, SiteRecord } from '../../ecosystem/core/sites.ts';
|
|
5
5
|
import type { ProviderEntry, ProviderId } from './providers.ts';
|
|
6
6
|
/**
|
|
7
7
|
* What a site says about itself: the one page a visitor opens to find out what
|
|
@@ -18,7 +18,7 @@ export interface AboutContent {
|
|
|
18
18
|
* is deliberately not listed in the family's Tools menu and therefore not in
|
|
19
19
|
* `ECOSYSTEM_SITES`.
|
|
20
20
|
*/
|
|
21
|
-
siteId: SiteId |
|
|
21
|
+
siteId: SiteId | SiteRecord;
|
|
22
22
|
/** One sentence: what this tool is. */
|
|
23
23
|
what: string;
|
|
24
24
|
/**
|
|
@@ -94,7 +94,7 @@ export interface AboutPerson {
|
|
|
94
94
|
*/
|
|
95
95
|
export interface ResolvedAbout {
|
|
96
96
|
/** The site's own record, which carries its name, tagline and colours. */
|
|
97
|
-
site:
|
|
97
|
+
site: SiteRecord;
|
|
98
98
|
what: string;
|
|
99
99
|
/** The context paragraphs, empty when the site writes none. */
|
|
100
100
|
paragraphs: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../../src/about/core/about.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG3E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../../src/about/core/about.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG3E,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGhE;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,iEAAiE;IACjE,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,4DAA4D;IAC5D,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,8EAA8E;IAC9E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,CA8BjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CA8C7D"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import type { SiteId } from '../../ecosystem/core/sites.ts';
|
|
2
|
+
import type { SiteId, SiteRecord } from '../../ecosystem/core/sites.ts';
|
|
3
3
|
import type { NavItem } from './navItem.ts';
|
|
4
4
|
export interface SiteHeaderProps {
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The site the bar belongs to, which draws its mark and writes its name. One
|
|
7
|
+
* of `site` and `siteId` is required.
|
|
8
|
+
* @default undefined
|
|
9
|
+
*/
|
|
10
|
+
siteId?: SiteId;
|
|
11
|
+
/**
|
|
12
|
+
* The same site, passed rather than named — for a site that is deliberately
|
|
13
|
+
* not one of `ECOSYSTEM_SITES`, and so is linked from no other site's menu.
|
|
14
|
+
* @default undefined
|
|
15
|
+
*/
|
|
16
|
+
site?: SiteRecord;
|
|
17
|
+
/**
|
|
18
|
+
* The site's own mark, for a site the shared glyph set does not hold. It
|
|
19
|
+
* stands where `SiteMark` would, at the size the site draws it.
|
|
20
|
+
* @default undefined — the family's mark for that site
|
|
21
|
+
*/
|
|
22
|
+
mark?: ReactNode;
|
|
7
23
|
/** The pages, in the order the bar lists them. */
|
|
8
24
|
nav: readonly NavItem[];
|
|
9
25
|
/**
|
|
@@ -75,6 +91,7 @@ export interface SiteHeaderProps {
|
|
|
75
91
|
* @param props - The site, its pages, its utilities, and whether the page is
|
|
76
92
|
* framed in another site.
|
|
77
93
|
* @returns The bar, or nothing at all on an embedded page.
|
|
94
|
+
* @throws {Error} When neither `site` nor `siteId` is given.
|
|
78
95
|
*/
|
|
79
96
|
export declare function SiteHeader(props: SiteHeaderProps): ReactElement | null;
|
|
80
97
|
//# sourceMappingURL=SiteHeader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteHeader.d.ts","sourceRoot":"","sources":["../../../src/chrome/ui/SiteHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"SiteHeader.d.ts","sourceRoot":"","sources":["../../../src/chrome/ui/SiteHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAMxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kDAAkD;IAClD,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,SAAS,CAAC;IAChE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAqEtE"}
|
|
@@ -17,18 +17,22 @@ import { isModifiedClick } from "./navItem.js";
|
|
|
17
17
|
* @param props - The site, its pages, its utilities, and whether the page is
|
|
18
18
|
* framed in another site.
|
|
19
19
|
* @returns The bar, or nothing at all on an embedded page.
|
|
20
|
+
* @throws {Error} When neither `site` nor `siteId` is given.
|
|
20
21
|
*/
|
|
21
22
|
export function SiteHeader(props) {
|
|
22
|
-
const { siteId, nav, activeId, actions, renderNavItem, embedded = false, homeHref = '/', onHome, markSize = 28, width = 'page', pagesLabel = 'Pages', } = props;
|
|
23
|
+
const { siteId, site: record, mark, nav, activeId, actions, renderNavItem, embedded = false, homeHref = '/', onHome, markSize = 28, width = 'page', pagesLabel = 'Pages', } = props;
|
|
23
24
|
if (embedded)
|
|
24
25
|
return null;
|
|
25
|
-
const site = siteById(siteId);
|
|
26
|
+
const site = record ?? (siteId === undefined ? undefined : siteById(siteId));
|
|
27
|
+
if (site === undefined) {
|
|
28
|
+
throw new Error('SiteHeader needs one of its `site` and `siteId` props');
|
|
29
|
+
}
|
|
26
30
|
return (_jsx("header", { className: "app-header no-print", children: _jsxs("div", { className: INNER_CLASS[width], children: [_jsxs("a", { className: "brand", href: homeHref, title: site.host, onClick: (event) => {
|
|
27
31
|
if (onHome === undefined || isModifiedClick(event))
|
|
28
32
|
return;
|
|
29
33
|
event.preventDefault();
|
|
30
34
|
onHome();
|
|
31
|
-
}, children: [_jsx(SiteMark, {
|
|
35
|
+
}, children: [mark ?? _jsx(SiteMark, { site: site, size: markSize }), _jsx(Wordmark, { site: site })] }), _jsx("nav", { className: "app-header-nav", children: nav.map((item) => (_jsx(Fragment, { children: renderNavItem === undefined ? (_jsx(NavLink, { item: item, active: item.id === activeId })) : (renderNavItem(item, item.id === activeId)) }, item.id))) }), nav.length > 1 ? (_jsx("div", { className: "app-header-nav-menu", children: _jsx(NavMenuButton, { label: pagesLabel, icon: "menu", compact: true, items: nav, activeId: activeId }) })) : null, _jsx("span", { className: "spacer" }), actions === undefined ? null : (_jsx("div", { className: "app-header-actions", children: actions }))] }) }));
|
|
32
36
|
}
|
|
33
37
|
/** The two widths the bar's contents run at, as the classes that set them. */
|
|
34
38
|
const INNER_CLASS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteHeader.js","sourceRoot":"","sources":["../../../src/chrome/ui/SiteHeader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAiC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA8B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"SiteHeader.js","sourceRoot":"","sources":["../../../src/chrome/ui/SiteHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export type { GroupedSites } from './lookup.ts';
|
|
|
4
4
|
export { findSiteByHost, groupedSites, siteById, siteDisplayName, } from './lookup.ts';
|
|
5
5
|
export type { SiteNameColors, SiteNameColorsOptions } from './nameColors.ts';
|
|
6
6
|
export { siteNameColors } from './nameColors.ts';
|
|
7
|
-
export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, } from './sites.ts';
|
|
7
|
+
export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, SiteRecord, } from './sites.ts';
|
|
8
8
|
export { ECOSYSTEM_SITES, siteUrl } from './sites.ts';
|
|
9
9
|
export { siteTokensCss } from './tokens.ts';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ecosystem/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAQjD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SiteGroup, SiteGroupId } from './groups.ts';
|
|
2
|
-
import type { EcosystemSite, SiteId } from './sites.ts';
|
|
2
|
+
import type { EcosystemSite, SiteId, SiteRecord } from './sites.ts';
|
|
3
3
|
/** One topic and the sites written under it. */
|
|
4
4
|
export interface GroupedSites {
|
|
5
5
|
/** The topic. */
|
|
@@ -37,7 +37,7 @@ export declare function siteById(id: SiteId): EcosystemSite;
|
|
|
37
37
|
* @param site - The site being named.
|
|
38
38
|
* @returns What the site is called, in one string.
|
|
39
39
|
*/
|
|
40
|
-
export declare function siteDisplayName(site:
|
|
40
|
+
export declare function siteDisplayName(site: SiteRecord): string;
|
|
41
41
|
/**
|
|
42
42
|
* The site a page is being served from, so a header can mark itself as the
|
|
43
43
|
* current one without being told which site it belongs to.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpE,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,aAAa,EAAE,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAKlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAQtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/ecosystem/core/lookup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAe;IAC1C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/ecosystem/core/lookup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAe;IAC1C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI;QAC3B,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACrE,OAAO,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7E,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SiteRecord } from './types.ts';
|
|
2
2
|
/** The colour each half of a site's name is written in. */
|
|
3
3
|
export interface SiteNameColors {
|
|
4
4
|
/** The first half of the name. */
|
|
@@ -29,5 +29,5 @@ export interface SiteNameColorsOptions {
|
|
|
29
29
|
* @param options - Whether the family's colours are read from the page.
|
|
30
30
|
* @returns The colour of each half, and of the dot between them.
|
|
31
31
|
*/
|
|
32
|
-
export declare function siteNameColors(site:
|
|
32
|
+
export declare function siteNameColors(site: SiteRecord, options?: SiteNameColorsOptions): SiteNameColors;
|
|
33
33
|
//# sourceMappingURL=nameColors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nameColors.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/nameColors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"nameColors.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/nameColors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE,qBAA0B,GAClC,cAAc,CAUhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nameColors.js","sourceRoot":"","sources":["../../../src/ecosystem/core/nameColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAyB/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,
|
|
1
|
+
{"version":3,"file":"nameColors.js","sourceRoot":"","sources":["../../../src/ecosystem/core/nameColors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAyB/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAgB,EAChB,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACjE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IACnC,OAAO;QACL,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QAC3C,GAAG,EACD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;QAC3E,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { EcosystemSite } from './types.ts';
|
|
2
|
-
export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, } from './types.ts';
|
|
1
|
+
import type { EcosystemSite, SiteRecord } from './types.ts';
|
|
2
|
+
export type { EcosystemSite, SiteId, SiteMarkColors, SiteName, SiteRecord, } from './types.ts';
|
|
3
3
|
/**
|
|
4
4
|
* Every site of the family, each with the two colours it owns. The marks that
|
|
5
5
|
* go with them live in `marks.tsx`.
|
|
@@ -10,5 +10,5 @@ export declare const ECOSYSTEM_SITES: readonly EcosystemSite[];
|
|
|
10
10
|
* @param site - The site being linked to.
|
|
11
11
|
* @returns The URL to open.
|
|
12
12
|
*/
|
|
13
|
-
export declare function siteUrl(site:
|
|
13
|
+
export declare function siteUrl(site: SiteRecord): string;
|
|
14
14
|
//# sourceMappingURL=sites.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,YAAY,EACV,aAAa,EACb,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAoRnD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../../src/ecosystem/core/sites.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SiteId } from './sites.ts';
|
|
1
|
+
import type { SiteId, SiteRecord } from './sites.ts';
|
|
2
2
|
/**
|
|
3
3
|
* The custom properties a site of the family sets on `:root`: the two colours
|
|
4
4
|
* it owns, the readable form of the second one when that is needed, and the
|
|
@@ -6,8 +6,9 @@ import type { SiteId } from './sites.ts';
|
|
|
6
6
|
*
|
|
7
7
|
* It is a complete rule rather than a list of declarations, so it drops into a
|
|
8
8
|
* `<style>` of a prerendered page as it is.
|
|
9
|
-
* @param
|
|
9
|
+
* @param site - The site whose palette is wanted: its id, or the record of a
|
|
10
|
+
* site that is not one of the family.
|
|
10
11
|
* @returns The `:root` rule, ending in a newline.
|
|
11
12
|
*/
|
|
12
|
-
export declare function siteTokensCss(
|
|
13
|
+
export declare function siteTokensCss(site: SiteId | SiteRecord): string;
|
|
13
14
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAgB/D"}
|
|
@@ -7,20 +7,21 @@ import { siteById } from "./lookup.js";
|
|
|
7
7
|
*
|
|
8
8
|
* It is a complete rule rather than a list of declarations, so it drops into a
|
|
9
9
|
* `<style>` of a prerendered page as it is.
|
|
10
|
-
* @param
|
|
10
|
+
* @param site - The site whose palette is wanted: its id, or the record of a
|
|
11
|
+
* site that is not one of the family.
|
|
11
12
|
* @returns The `:root` rule, ending in a newline.
|
|
12
13
|
*/
|
|
13
|
-
export function siteTokensCss(
|
|
14
|
-
const
|
|
15
|
-
const answering = answeringColor(
|
|
14
|
+
export function siteTokensCss(site) {
|
|
15
|
+
const record = typeof site === 'string' ? siteById(site) : site;
|
|
16
|
+
const answering = answeringColor(record);
|
|
16
17
|
const declarations = [
|
|
17
|
-
`--brand: ${
|
|
18
|
+
`--brand: ${record.brand};`,
|
|
18
19
|
`--brand-alt: ${answering};`,
|
|
19
20
|
];
|
|
20
21
|
// The answering colour of several sites is a yellow or an amber that sits
|
|
21
22
|
// around 2:1 on white, so text set in it needs the darkened form instead.
|
|
22
|
-
if (
|
|
23
|
-
declarations.push(`--brand-alt-text: ${
|
|
23
|
+
if (record.brandAlt !== answering) {
|
|
24
|
+
declarations.push(`--brand-alt-text: ${record.brandAlt};`);
|
|
24
25
|
}
|
|
25
26
|
declarations.push('--accent: var(--brand);');
|
|
26
27
|
return `:root {\n ${declarations.join('\n ')}\n}\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/ecosystem/core/tokens.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/ecosystem/core/tokens.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,IAAyB;IACrD,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG;QACnB,YAAY,MAAM,CAAC,KAAK,GAAG;QAC3B,gBAAgB,SAAS,GAAG;KAC7B,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,YAAY,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAE7C,OAAO,cAAc,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;AACxD,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,SAAS,cAAc,CAAC,IAAgB;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9E,CAAC"}
|
|
@@ -24,10 +24,14 @@ export interface SiteName {
|
|
|
24
24
|
*/
|
|
25
25
|
ink?: 'lead' | 'alt';
|
|
26
26
|
}
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
/**
|
|
28
|
+
* What the chrome draws a site from: its name, address and two colours. A site
|
|
29
|
+
* that is deliberately not one of the family writes its own, and passes it
|
|
30
|
+
* wherever a family site passes its id.
|
|
31
|
+
*/
|
|
32
|
+
export interface SiteRecord {
|
|
33
|
+
/** The identifier the site is named by. */
|
|
34
|
+
id: string;
|
|
31
35
|
/** The name, split the way the site's own wordmark splits it. */
|
|
32
36
|
name: SiteName;
|
|
33
37
|
/** Where the site lives, written the way it is typed. */
|
|
@@ -44,11 +48,6 @@ export interface EcosystemSite {
|
|
|
44
48
|
publicRepository?: boolean;
|
|
45
49
|
/** One line on what the site does. */
|
|
46
50
|
tagline: string;
|
|
47
|
-
/**
|
|
48
|
-
* The topic the site is written under, which is what decides where it sits
|
|
49
|
-
* in the menu and in the footer.
|
|
50
|
-
*/
|
|
51
|
-
group: SiteGroupId;
|
|
52
51
|
/**
|
|
53
52
|
* The colour the name is written in — the first half, or the second when
|
|
54
53
|
* `name.ink` leaves the first in the family's ink.
|
|
@@ -63,6 +62,16 @@ export interface EcosystemSite {
|
|
|
63
62
|
/** The plate of the site's mark, and the colour one element of it carries. */
|
|
64
63
|
mark: SiteMarkColors;
|
|
65
64
|
}
|
|
65
|
+
/** One site of the family: its record, and the topic it is listed under. */
|
|
66
|
+
export interface EcosystemSite extends SiteRecord {
|
|
67
|
+
/** The identifier every component and helper names the site by. */
|
|
68
|
+
id: SiteId;
|
|
69
|
+
/**
|
|
70
|
+
* The topic the site is written under, which is what decides where it sits
|
|
71
|
+
* in the menu and in the footer.
|
|
72
|
+
*/
|
|
73
|
+
group: SiteGroupId;
|
|
74
|
+
}
|
|
66
75
|
/** The colours a site's mark is drawn in. */
|
|
67
76
|
export interface SiteMarkColors {
|
|
68
77
|
/** The rounded square the mark is drawn on. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,mCAAmC;AACnC,MAAM,MAAM,MAAM,GACd,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,OAAO,GACP,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,aAAa,GACb,aAAa,GACb,UAAU,GACV,IAAI,GACJ,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,mCAAmC;AACnC,MAAM,MAAM,MAAM,GACd,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,OAAO,GACP,KAAK,GACL,MAAM,GACN,QAAQ,GACR,KAAK,GACL,aAAa,GACb,aAAa,GACb,UAAU,GACV,IAAI,GACJ,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,+DAA+D;AAC/D,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,IAAI,EAAE,QAAQ,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
-
import type { SiteId } from '../core/sites.ts';
|
|
2
|
+
import type { SiteId, SiteRecord } from '../core/sites.ts';
|
|
3
3
|
/** What the site palette needs. */
|
|
4
4
|
export interface SiteThemeProps {
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The site whose palette the page takes, named. One of `site` and `siteId`
|
|
7
|
+
* is required.
|
|
8
|
+
* @default undefined
|
|
9
|
+
*/
|
|
10
|
+
siteId?: SiteId;
|
|
11
|
+
/**
|
|
12
|
+
* The same site, passed rather than named — for a site that is deliberately
|
|
13
|
+
* not one of `ECOSYSTEM_SITES`.
|
|
14
|
+
* @default undefined
|
|
15
|
+
*/
|
|
16
|
+
site?: SiteRecord;
|
|
7
17
|
}
|
|
8
18
|
/**
|
|
9
19
|
* The two colours a site owns, put on the page as custom properties.
|
|
@@ -14,6 +24,7 @@ export interface SiteThemeProps {
|
|
|
14
24
|
* in a component.
|
|
15
25
|
* @param props - The site whose palette is injected.
|
|
16
26
|
* @returns The rule, as a style element that applies wherever it is rendered.
|
|
27
|
+
* @throws {Error} When neither `site` nor `siteId` is given.
|
|
17
28
|
*/
|
|
18
29
|
export declare function SiteTheme(props: SiteThemeProps): ReactElement;
|
|
19
30
|
//# sourceMappingURL=SiteTheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteTheme.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"SiteTheme.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTheme.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG3D,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CAM7D"}
|
|
@@ -9,8 +9,13 @@ import { siteTokensCss } from "../core/tokens.js";
|
|
|
9
9
|
* in a component.
|
|
10
10
|
* @param props - The site whose palette is injected.
|
|
11
11
|
* @returns The rule, as a style element that applies wherever it is rendered.
|
|
12
|
+
* @throws {Error} When neither `site` nor `siteId` is given.
|
|
12
13
|
*/
|
|
13
14
|
export function SiteTheme(props) {
|
|
14
|
-
|
|
15
|
+
const site = props.site ?? props.siteId;
|
|
16
|
+
if (site === undefined) {
|
|
17
|
+
throw new Error('SiteTheme needs one of its `site` and `siteId` props');
|
|
18
|
+
}
|
|
19
|
+
return _jsx("style", { children: siteTokensCss(site) });
|
|
15
20
|
}
|
|
16
21
|
//# sourceMappingURL=SiteTheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiteTheme.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTheme.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SiteTheme.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/SiteTheme.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAkBlD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,0BAAQ,aAAa,CAAC,IAAI,CAAC,GAAS,CAAC;AAC9C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactElement } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SiteId, SiteRecord } from '../core/sites.ts';
|
|
3
3
|
/** What a site's written name needs. */
|
|
4
4
|
export interface WordmarkProps {
|
|
5
5
|
/**
|
|
@@ -8,7 +8,7 @@ export interface WordmarkProps {
|
|
|
8
8
|
* required.
|
|
9
9
|
* @default undefined
|
|
10
10
|
*/
|
|
11
|
-
site?:
|
|
11
|
+
site?: SiteRecord;
|
|
12
12
|
/**
|
|
13
13
|
* The same site, named rather than passed, which is what a header knows.
|
|
14
14
|
* @default undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wordmark.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/Wordmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Wordmark.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/Wordmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CA4B3D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ReactElement } from 'react';
|
|
2
|
-
import type {
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { SiteId, SiteRecord } from '../core/sites.ts';
|
|
3
3
|
/** What a site's mark needs. */
|
|
4
4
|
export interface SiteMarkProps {
|
|
5
5
|
/**
|
|
@@ -7,13 +7,21 @@ export interface SiteMarkProps {
|
|
|
7
7
|
* and `siteId` is required.
|
|
8
8
|
* @default undefined
|
|
9
9
|
*/
|
|
10
|
-
site?:
|
|
10
|
+
site?: SiteRecord;
|
|
11
11
|
/**
|
|
12
12
|
* The same site, named rather than passed, for a header that knows only
|
|
13
13
|
* which site it is.
|
|
14
14
|
* @default undefined
|
|
15
15
|
*/
|
|
16
16
|
siteId?: SiteId;
|
|
17
|
+
/**
|
|
18
|
+
* What is drawn on the plate, in the same 32×32 box, given the colour its one
|
|
19
|
+
* answering element takes. It is how a site that is not one of the family,
|
|
20
|
+
* and so has no drawing in the shared set, still gets a mark of the family's
|
|
21
|
+
* shape.
|
|
22
|
+
* @default the family's drawing for that site
|
|
23
|
+
*/
|
|
24
|
+
glyph?: (accent: string) => ReactNode;
|
|
17
25
|
/**
|
|
18
26
|
* Edge of the square the mark is drawn in, in pixels.
|
|
19
27
|
* @default 28
|
|
@@ -44,7 +52,8 @@ export interface SiteMarkProps {
|
|
|
44
52
|
* The little logo of one site of the family.
|
|
45
53
|
* @param props - Which site, how big, and where its colours come from.
|
|
46
54
|
* @returns The mark, as an inline SVG.
|
|
47
|
-
* @throws {Error} When neither `site` nor `siteId` is given
|
|
55
|
+
* @throws {Error} When neither `site` nor `siteId` is given, or when the site
|
|
56
|
+
* is not one of the family and no `glyph` is.
|
|
48
57
|
*/
|
|
49
58
|
export declare function SiteMark(props: SiteMarkProps): ReactElement;
|
|
50
59
|
//# sourceMappingURL=marks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/marks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"marks.d.ts","sourceRoot":"","sources":["../../../src/ecosystem/ui/marks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW3D,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC;IACtC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAiD3D"}
|
|
@@ -11,18 +11,26 @@ const MARK_STYLE = { display: 'block', flex: 'none' };
|
|
|
11
11
|
* The little logo of one site of the family.
|
|
12
12
|
* @param props - Which site, how big, and where its colours come from.
|
|
13
13
|
* @returns The mark, as an inline SVG.
|
|
14
|
-
* @throws {Error} When neither `site` nor `siteId` is given
|
|
14
|
+
* @throws {Error} When neither `site` nor `siteId` is given, or when the site
|
|
15
|
+
* is not one of the family and no `glyph` is.
|
|
15
16
|
*/
|
|
16
17
|
export function SiteMark(props) {
|
|
17
|
-
const { className, site, siteId, size = 28, plate = true, colors = 'literal', } = props;
|
|
18
|
+
const { className, site, siteId, glyph, size = 28, plate = true, colors = 'literal', } = props;
|
|
18
19
|
const drawn = site ?? (siteId === undefined ? undefined : siteById(siteId));
|
|
19
20
|
if (drawn === undefined) {
|
|
20
21
|
throw new Error('SiteMark needs one of its `site` and `siteId` props');
|
|
21
22
|
}
|
|
23
|
+
const draw = glyph ?? familyGlyph(drawn.id);
|
|
24
|
+
if (draw === undefined) {
|
|
25
|
+
throw new Error(`SiteMark has no drawing for ${drawn.id}: pass its glyph`);
|
|
26
|
+
}
|
|
22
27
|
const usesTokens = colors === 'tokens';
|
|
23
28
|
const plateFill = usesTokens ? 'var(--brand)' : drawn.mark.plate;
|
|
24
29
|
const accent = usesTokens ? 'var(--brand-alt)' : drawn.mark.accent;
|
|
25
30
|
const edge = drawn.mark.edge;
|
|
26
|
-
return (_jsxs("svg", { className: className, style: MARK_STYLE, width: size, height: size, viewBox: "0 0 32 32", "aria-hidden": "true", focusable: "false", children: [plate ? (_jsx("rect", { x: edge ? 0.5 : 0, y: edge ? 0.5 : 0, width: edge ? 31 : 32, height: edge ? 31 : 32, rx: edge ? 6.5 : 7, fill: plateFill, stroke: edge })) : null,
|
|
31
|
+
return (_jsxs("svg", { className: className, style: MARK_STYLE, width: size, height: size, viewBox: "0 0 32 32", "aria-hidden": "true", focusable: "false", children: [plate ? (_jsx("rect", { x: edge ? 0.5 : 0, y: edge ? 0.5 : 0, width: edge ? 31 : 32, height: edge ? 31 : 32, rx: edge ? 6.5 : 7, fill: plateFill, stroke: edge })) : null, draw(accent)] }));
|
|
32
|
+
}
|
|
33
|
+
function familyGlyph(id) {
|
|
34
|
+
return Object.hasOwn(GLYPHS, id) ? GLYPHS[id] : undefined;
|
|
27
35
|
}
|
|
28
36
|
//# sourceMappingURL=marks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marks.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/marks.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AAEtC,0EAA0E;AAC1E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,8BAA8B;AAC9B,MAAM,UAAU,GAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"marks.js","sourceRoot":"","sources":["../../../src/ecosystem/ui/marks.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAC;AAEtC,0EAA0E;AAC1E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,8BAA8B;AAC9B,MAAM,UAAU,GAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAmDrE;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,SAAS,EACT,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,IAAI,EACZ,MAAM,GAAG,SAAS,GACnB,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAE7B,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,iBACP,MAAM,EAClB,SAAS,EAAC,OAAO,aAEhB,KAAK,CAAC,CAAC,CAAC,CACP,eACE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACjB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACjB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACrB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACtB,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,IAAI,GACZ,CACH,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,MAAM,CAAC,IACT,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAU;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC"}
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
* The page it is given is the template, which declares where its head goes and
|
|
12
12
|
* carries none of its own, so this only ever writes — see `./template.ts`.
|
|
13
13
|
*/
|
|
14
|
-
import type {
|
|
14
|
+
import type { SiteId, SiteRecord } from '../../ecosystem/core/sites.ts';
|
|
15
15
|
import type { DocumentMeta } from './documentMeta.ts';
|
|
16
16
|
import type { RouteMeta } from './routes.ts';
|
|
17
17
|
/** Which site is being served, and what it answers. */
|
|
18
18
|
export interface PageMetaOptions {
|
|
19
19
|
/** The site, named or passed. */
|
|
20
|
-
site:
|
|
20
|
+
site: SiteRecord | SiteId;
|
|
21
21
|
/** Every address it answers, each with its title and description. */
|
|
22
22
|
routes: readonly RouteMeta[];
|
|
23
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageMeta.d.ts","sourceRoot":"","sources":["../../../src/seo/core/pageMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"pageMeta.d.ts","sourceRoot":"","sources":["../../../src/seo/core/pageMeta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,qEAAqE;IACrE,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAmB7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,GACvB,QAAQ,CAAC,YAAY,CAAC,CAQxB"}
|