@connextar/house 0.16.1 → 0.18.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.
Files changed (54) hide show
  1. package/README.md +205 -3
  2. package/dist/ai/index.d.ts +1 -1
  3. package/dist/ai/index.d.ts.map +1 -1
  4. package/dist/ai/index.js +1 -1
  5. package/dist/ai/index.js.map +1 -1
  6. package/dist/ai/provider.d.ts +30 -4
  7. package/dist/ai/provider.d.ts.map +1 -1
  8. package/dist/ai/provider.js +25 -4
  9. package/dist/ai/provider.js.map +1 -1
  10. package/dist/guides/guide-article.d.ts +13 -2
  11. package/dist/guides/guide-article.d.ts.map +1 -1
  12. package/dist/guides/guide-article.js +5 -3
  13. package/dist/guides/guide-article.js.map +1 -1
  14. package/dist/guides/guide-figure-zoom.d.ts +62 -0
  15. package/dist/guides/guide-figure-zoom.d.ts.map +1 -0
  16. package/dist/guides/guide-figure-zoom.js +272 -0
  17. package/dist/guides/guide-figure-zoom.js.map +1 -0
  18. package/dist/guides/guide-figure.d.ts +21 -0
  19. package/dist/guides/guide-figure.d.ts.map +1 -0
  20. package/dist/guides/guide-figure.js +19 -0
  21. package/dist/guides/guide-figure.js.map +1 -0
  22. package/dist/guides/index.d.ts +2 -0
  23. package/dist/guides/index.d.ts.map +1 -1
  24. package/dist/guides/index.js +2 -0
  25. package/dist/guides/index.js.map +1 -1
  26. package/dist/guides/library.d.ts +13 -0
  27. package/dist/guides/library.d.ts.map +1 -1
  28. package/dist/guides/library.js +8 -0
  29. package/dist/guides/library.js.map +1 -1
  30. package/dist/health/health.d.ts +65 -0
  31. package/dist/health/health.d.ts.map +1 -0
  32. package/dist/health/health.js +93 -0
  33. package/dist/health/health.js.map +1 -0
  34. package/dist/health/index.d.ts +2 -0
  35. package/dist/health/index.d.ts.map +1 -0
  36. package/dist/health/index.js +2 -0
  37. package/dist/health/index.js.map +1 -0
  38. package/dist/markdown/figure.d.ts +44 -0
  39. package/dist/markdown/figure.d.ts.map +1 -0
  40. package/dist/markdown/figure.js +56 -0
  41. package/dist/markdown/figure.js.map +1 -0
  42. package/dist/markdown/figures.d.ts +94 -0
  43. package/dist/markdown/figures.d.ts.map +1 -0
  44. package/dist/markdown/figures.js +126 -0
  45. package/dist/markdown/figures.js.map +1 -0
  46. package/dist/markdown/guide.d.ts +15 -3
  47. package/dist/markdown/guide.d.ts.map +1 -1
  48. package/dist/markdown/guide.js +20 -3
  49. package/dist/markdown/guide.js.map +1 -1
  50. package/dist/markdown/index.d.ts +2 -0
  51. package/dist/markdown/index.d.ts.map +1 -1
  52. package/dist/markdown/index.js +2 -0
  53. package/dist/markdown/index.js.map +1 -1
  54. package/package.json +5 -1
@@ -0,0 +1,2 @@
1
+ export { buildInfo, COMMIT_ENV_VARS, createHealthRoute, healthFormat, healthResponse, healthText, type BuildInfo, type HealthFormat, type HealthRouteOptions, } from "./health.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { buildInfo, COMMIT_ENV_VARS, createHealthRoute, healthFormat, healthResponse, healthText, } from "./health.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,GAIX,MAAM,aAAa,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { type ReactNode } from "react";
2
+ import type { GuideFigureBlock, GuideFigures } from "./figures.js";
3
+ /** Every element a guide's picture draws. Each value replaces the default for that element. */
4
+ export interface GuideFigureClassNames {
5
+ figure: string;
6
+ /** Every screenshot `<img>`. */
7
+ image: string;
8
+ /** Added to a screenshot with no dark capture: a light picture on a dark page, toned down so it doesn't glare. */
9
+ imageWithoutDark: string;
10
+ /** Added to the light capture when there is a dark one. */
11
+ imageLight: string;
12
+ /** Added to the dark capture. */
13
+ imageDark: string;
14
+ /** The frame a diagram sits in. */
15
+ diagram: string;
16
+ caption: string;
17
+ }
18
+ /** The house look, on the shared theme tokens (PharmaLineAI's). */
19
+ export declare const GUIDE_FIGURE_CLASS_NAMES: GuideFigureClassNames;
20
+ /**
21
+ * A registered diagram, drawn: a component is given the alt text as `label`; an element is
22
+ * wrapped in `role="img"` with the alt text as its name. Null when the name isn't registered.
23
+ */
24
+ export declare function drawGuideDiagram(figures: GuideFigures | undefined, name: string, label: string): ReactNode;
25
+ export interface GuideFigureMediaProps {
26
+ figure: GuideFigureBlock;
27
+ figures?: GuideFigures;
28
+ classNames?: Partial<GuideFigureClassNames>;
29
+ /** Load the screenshot straight away rather than when it nears the screen. Default: lazy. */
30
+ eager?: boolean;
31
+ }
32
+ /**
33
+ * The picture itself, without its caption: a screenshot at its registered size (and its dark
34
+ * capture beside it when there is one, each shown by the theme's `dark:` variant), or a diagram
35
+ * in its frame.
36
+ */
37
+ export declare function GuideFigureMedia({ figure, figures, classNames, eager }: GuideFigureMediaProps): ReactNode;
38
+ export interface GuideFigureViewProps extends GuideFigureMediaProps {
39
+ /** Drawn in place of the plain picture — `GuideArticle` puts its zoom button here. */
40
+ media?: ReactNode;
41
+ }
42
+ /** A picture with its caption, as a `<figure>`. Server-safe; no zoom (`GuideArticle` adds that). */
43
+ export declare function GuideFigureView({ figure, figures, classNames, eager, media }: GuideFigureViewProps): ReactNode;
44
+ //# sourceMappingURL=figure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figure.d.ts","sourceRoot":"","sources":["../../src/markdown/figure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG1F,OAAO,KAAK,EAAgB,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjF,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,kHAAkH;IAClH,gBAAgB,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,EAAE,qBAStC,CAAC;AAQF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAU1G;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5C,6FAA6F;IAC7F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAwBzG;AAED,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,sFAAsF;IACtF,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,SAAS,CAQ9G"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createElement, isValidElement } from "react";
3
+ import { cx } from "../internal/cx.js";
4
+ /** The house look, on the shared theme tokens (PharmaLineAI's). */
5
+ export const GUIDE_FIGURE_CLASS_NAMES = {
6
+ figure: "my-8",
7
+ // No display utility here: a dark capture is `hidden dark:block`, and two display utilities on one element fight.
8
+ image: "h-auto w-full rounded-xl border border-border bg-card align-top shadow-sm",
9
+ imageWithoutDark: "dark:brightness-[0.92]",
10
+ imageLight: "dark:hidden",
11
+ imageDark: "hidden dark:block",
12
+ diagram: "rounded-xl border border-border bg-card/60 px-3 py-5 sm:px-6",
13
+ caption: "mt-2.5 text-center text-sm text-muted-foreground",
14
+ };
15
+ /** A component (function, `memo`, `forwardRef`) rather than an element or text. */
16
+ function isComponent(entry) {
17
+ if (typeof entry === "function")
18
+ return true;
19
+ return typeof entry === "object" && entry !== null && !isValidElement(entry) && "$$typeof" in entry;
20
+ }
21
+ /**
22
+ * A registered diagram, drawn: a component is given the alt text as `label`; an element is
23
+ * wrapped in `role="img"` with the alt text as its name. Null when the name isn't registered.
24
+ */
25
+ export function drawGuideDiagram(figures, name, label) {
26
+ const diagrams = figures?.diagrams;
27
+ if (!diagrams || !Object.prototype.hasOwnProperty.call(diagrams, name))
28
+ return null;
29
+ const entry = diagrams[name];
30
+ if (isComponent(entry))
31
+ return createElement(entry, { label });
32
+ return (_jsx("div", { role: "img", "aria-label": label, children: entry }));
33
+ }
34
+ /**
35
+ * The picture itself, without its caption: a screenshot at its registered size (and its dark
36
+ * capture beside it when there is one, each shown by the theme's `dark:` variant), or a diagram
37
+ * in its frame.
38
+ */
39
+ export function GuideFigureMedia({ figure, figures, classNames, eager }) {
40
+ const c = { ...GUIDE_FIGURE_CLASS_NAMES, ...classNames };
41
+ if (figure.kind === "diagram") {
42
+ return _jsx("div", { className: c.diagram, children: drawGuideDiagram(figures, figure.name, figure.alt) });
43
+ }
44
+ const img = (src, className) => (
45
+ // A plain <img>: the package imports no app's image pipeline. The registered size reserves the space.
46
+ _jsx("img", { src: src, alt: figure.alt, width: figure.width, height: figure.height, loading: eager ? "eager" : "lazy", decoding: "async", className: className }));
47
+ if (!figure.dark)
48
+ return img(figure.src, cx(c.image, c.imageWithoutDark));
49
+ return (_jsxs(_Fragment, { children: [img(figure.src, cx(c.image, c.imageLight)), img(figure.dark, cx(c.image, c.imageDark))] }));
50
+ }
51
+ /** A picture with its caption, as a `<figure>`. Server-safe; no zoom (`GuideArticle` adds that). */
52
+ export function GuideFigureView({ figure, figures, classNames, eager, media }) {
53
+ const c = { ...GUIDE_FIGURE_CLASS_NAMES, ...classNames };
54
+ return (_jsxs("figure", { className: c.figure, children: [media ?? _jsx(GuideFigureMedia, { figure: figure, figures: figures, classNames: classNames, eager: eager }), figure.caption ? _jsx("figcaption", { className: c.caption, children: figure.caption }) : null] }));
55
+ }
56
+ //# sourceMappingURL=figure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figure.js","sourceRoot":"","sources":["../../src/markdown/figure.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import type { ComponentType, ReactNode } from "react";
2
+ /**
3
+ * Pictures in the guides: screenshots and diagrams, written in a guide's Markdown as
4
+ * an image on a line of its own, with a blank line either side:
5
+ *
6
+ * ![What the picture shows, for someone who can't see it](/guide-images/calls-log.webp "Caption")
7
+ * ![What the diagram shows](diagram:identity-check)
8
+ *
9
+ * Only pictures in the app's registry are drawn — a guide can't pull an image in from
10
+ * anywhere else, and a typo never shows a broken image — each with its width and height
11
+ * so the page doesn't jump as it loads. `guideFigureProblems` is the check an app's test
12
+ * asserts empty: an unregistered picture, missing alt text, or a picture inside a list or
13
+ * paragraph.
14
+ *
15
+ * Lifted from PharmaLineAI v0.23.1 (`lib/guide-figures.ts`). Pure: no file access, no
16
+ * React at run time.
17
+ */
18
+ /** A screenshot in the app's `public/guide-images/`, with its size so the page doesn't jump. */
19
+ export interface GuideScreenshot {
20
+ width: number;
21
+ height: number;
22
+ /** A dark-mode capture of the same screen, at the same size, shown instead under `dark:`. */
23
+ dark?: string;
24
+ }
25
+ /**
26
+ * A diagram: an element to draw as it is, or a component given the picture's alt text as
27
+ * `label` (to put on its own `<svg role="img" aria-label>`).
28
+ */
29
+ export type GuideDiagram = ReactNode | ComponentType<{
30
+ label: string;
31
+ }>;
32
+ /** Every picture a guide may show. */
33
+ export interface GuideFigures {
34
+ /** By public path: `"/guide-images/calls-log.webp": { width: 1600, height: 986 }`. */
35
+ screenshots: Readonly<Record<string, GuideScreenshot>>;
36
+ /** By name, as a guide writes it after `diagram:`. */
37
+ diagrams?: Readonly<Record<string, GuideDiagram>>;
38
+ }
39
+ /** A picture line as written, before it is looked up. */
40
+ export interface GuideFigureLine {
41
+ alt: string;
42
+ src: string;
43
+ caption?: string;
44
+ }
45
+ export type GuideFigureBlock = {
46
+ kind: "screenshot";
47
+ src: string;
48
+ alt: string;
49
+ caption?: string;
50
+ width: number;
51
+ height: number;
52
+ dark?: string;
53
+ } | {
54
+ kind: "diagram";
55
+ name: string;
56
+ alt: string;
57
+ caption?: string;
58
+ };
59
+ export type GuideBlock = {
60
+ kind: "markdown";
61
+ content: string;
62
+ } | GuideFigureBlock;
63
+ export declare const DIAGRAM_PREFIX = "diagram:";
64
+ /** A picture line, or null when the line isn't one. */
65
+ export declare function parseFigureLine(line: string): GuideFigureLine | null;
66
+ /** The picture a line names, or null when it names nothing in the registry or has no alt text. */
67
+ export declare function resolveGuideFigure(line: GuideFigureLine, figures: GuideFigures | undefined): GuideFigureBlock | null;
68
+ /**
69
+ * A guide body as runs of Markdown and the pictures between them. A picture line that
70
+ * names nothing in the registry is dropped; inside a code fence a picture line is just
71
+ * code. `GuideMarkdown` draws figures in the same places itself, keeping every heading's
72
+ * id — this is the same split as data, for an app's own layout or its tests.
73
+ */
74
+ export declare function splitGuideFigures(body: string, figures: GuideFigures | undefined): GuideBlock[];
75
+ export interface GuideFigureCheckOptions {
76
+ /** The shortest alt text accepted. Default 1 — any; PharmaLine asks for more than 20. */
77
+ minAltLength?: number;
78
+ }
79
+ /**
80
+ * Every way a guide's pictures would fail to show as written, as sentences with line
81
+ * numbers. An app's test asserts it is empty for each guide:
82
+ *
83
+ * expect(guideFigureProblems(body, GUIDE_FIGURES)).toEqual([]);
84
+ *
85
+ * - a picture that isn't registered (a screenshot path or a `diagram:` name);
86
+ * - a picture with no alt text, or shorter than `minAltLength`;
87
+ * - a picture without a blank line either side — inside a list it would end the list and
88
+ * restart its numbering after it; inside a paragraph it would split it;
89
+ * - an image written inside a line of text, which is never drawn.
90
+ *
91
+ * Lines inside code fences, and images inside inline code, are left alone.
92
+ */
93
+ export declare function guideFigureProblems(body: string, figures: GuideFigures | undefined, { minAltLength }?: GuideFigureCheckOptions): string[];
94
+ //# sourceMappingURL=figures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../src/markdown/figures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AAEH,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAExE,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACvD,sDAAsD;IACtD,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;CACnD;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAAC;AAMlF,eAAO,MAAM,cAAc,aAAa,CAAC;AAMzC,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAKpE;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAkBpH;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,EAAE,CAsB/F;AAED,MAAM,WAAW,uBAAuB;IACtC,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,EAAE,YAAgB,EAAE,GAAE,uBAA4B,GACjD,MAAM,EAAE,CAyCV"}
@@ -0,0 +1,126 @@
1
+ /** An image alone on its line: `![alt](src)` or `![alt](src "caption")`. */
2
+ const IMAGE_LINE = /^!\[([^\]]*)\]\(\s*(\S+?)(?:\s+"([^"]*)")?\s*\)$/;
3
+ /** An image anywhere in a line, for the check that one isn't written inside a paragraph. */
4
+ const INLINE_IMAGE = /!\[[^\]]*\]\([^)]*\)/;
5
+ export const DIAGRAM_PREFIX = "diagram:";
6
+ const isFence = (line) => line.trim().startsWith("```");
7
+ const own = (record, key) => record && Object.prototype.hasOwnProperty.call(record, key) ? record[key] : undefined;
8
+ /** A picture line, or null when the line isn't one. */
9
+ export function parseFigureLine(line) {
10
+ const match = line.trim().match(IMAGE_LINE);
11
+ if (!match)
12
+ return null;
13
+ const caption = match[3]?.trim();
14
+ return { alt: (match[1] ?? "").trim(), src: match[2] ?? "", ...(caption ? { caption } : {}) };
15
+ }
16
+ /** The picture a line names, or null when it names nothing in the registry or has no alt text. */
17
+ export function resolveGuideFigure(line, figures) {
18
+ if (!line.alt || !figures)
19
+ return null;
20
+ const caption = line.caption ? { caption: line.caption } : {};
21
+ if (line.src.startsWith(DIAGRAM_PREFIX)) {
22
+ const name = line.src.slice(DIAGRAM_PREFIX.length);
23
+ return own(figures.diagrams, name) === undefined ? null : { kind: "diagram", name, alt: line.alt, ...caption };
24
+ }
25
+ const shot = own(figures.screenshots, line.src);
26
+ if (!shot)
27
+ return null;
28
+ return {
29
+ kind: "screenshot",
30
+ src: line.src,
31
+ alt: line.alt,
32
+ ...caption,
33
+ width: shot.width,
34
+ height: shot.height,
35
+ ...(shot.dark ? { dark: shot.dark } : {}),
36
+ };
37
+ }
38
+ /**
39
+ * A guide body as runs of Markdown and the pictures between them. A picture line that
40
+ * names nothing in the registry is dropped; inside a code fence a picture line is just
41
+ * code. `GuideMarkdown` draws figures in the same places itself, keeping every heading's
42
+ * id — this is the same split as data, for an app's own layout or its tests.
43
+ */
44
+ export function splitGuideFigures(body, figures) {
45
+ const blocks = [];
46
+ let run = [];
47
+ let inFence = false;
48
+ const flush = () => {
49
+ const content = run.join("\n");
50
+ if (content.trim())
51
+ blocks.push({ kind: "markdown", content });
52
+ run = [];
53
+ };
54
+ for (const line of body.replace(/\r\n/g, "\n").split("\n")) {
55
+ if (isFence(line))
56
+ inFence = !inFence;
57
+ const parsed = inFence ? null : parseFigureLine(line);
58
+ if (!parsed) {
59
+ run.push(line);
60
+ continue;
61
+ }
62
+ flush();
63
+ const figure = resolveGuideFigure(parsed, figures);
64
+ if (figure)
65
+ blocks.push(figure);
66
+ }
67
+ flush();
68
+ return blocks;
69
+ }
70
+ /**
71
+ * Every way a guide's pictures would fail to show as written, as sentences with line
72
+ * numbers. An app's test asserts it is empty for each guide:
73
+ *
74
+ * expect(guideFigureProblems(body, GUIDE_FIGURES)).toEqual([]);
75
+ *
76
+ * - a picture that isn't registered (a screenshot path or a `diagram:` name);
77
+ * - a picture with no alt text, or shorter than `minAltLength`;
78
+ * - a picture without a blank line either side — inside a list it would end the list and
79
+ * restart its numbering after it; inside a paragraph it would split it;
80
+ * - an image written inside a line of text, which is never drawn.
81
+ *
82
+ * Lines inside code fences, and images inside inline code, are left alone.
83
+ */
84
+ export function guideFigureProblems(body, figures, { minAltLength = 1 } = {}) {
85
+ const lines = body.replace(/\r\n/g, "\n").split("\n");
86
+ const problems = [];
87
+ let inFence = false;
88
+ lines.forEach((line, i) => {
89
+ if (isFence(line)) {
90
+ inFence = !inFence;
91
+ return;
92
+ }
93
+ if (inFence)
94
+ return;
95
+ const at = `Line ${i + 1}`;
96
+ const parsed = parseFigureLine(line);
97
+ if (!parsed) {
98
+ if (INLINE_IMAGE.test(line.replace(/`[^`]*`/g, ""))) {
99
+ problems.push(`${at}: a picture inside a line of text is never drawn; put it on a line of its own.`);
100
+ }
101
+ return;
102
+ }
103
+ const what = `\`${parsed.src}\``;
104
+ if (parsed.src.startsWith(DIAGRAM_PREFIX)) {
105
+ if (own(figures?.diagrams, parsed.src.slice(DIAGRAM_PREFIX.length)) === undefined) {
106
+ problems.push(`${at}: ${what} isn't a registered diagram.`);
107
+ }
108
+ }
109
+ else if (!own(figures?.screenshots, parsed.src)) {
110
+ problems.push(`${at}: ${what} isn't a registered screenshot.`);
111
+ }
112
+ if (!parsed.alt)
113
+ problems.push(`${at}: ${what} has no alt text.`);
114
+ else if (parsed.alt.length < minAltLength) {
115
+ problems.push(`${at}: ${what} has alt text shorter than ${minAltLength} characters.`);
116
+ }
117
+ if ((lines[i - 1] ?? "").trim() !== "" || (lines[i + 1] ?? "").trim() !== "") {
118
+ problems.push(`${at}: ${what} needs a blank line before and after it (a picture can't sit inside a list).`);
119
+ }
120
+ else if (/^\s/.test(line)) {
121
+ problems.push(`${at}: ${what} is indented as if inside a list; a picture ends the list, so start it at the margin.`);
122
+ }
123
+ });
124
+ return problems;
125
+ }
126
+ //# sourceMappingURL=figures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/markdown/figures.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { ReactNode } from "react";
1
+ import { type ReactNode } from "react";
2
+ import { type GuideFigureClassNames } from "./figure.js";
3
+ import { type GuideFigureBlock, type GuideFigures } from "./figures.js";
2
4
  import { type MarkdownTableClassNames } from "./table-view.js";
3
5
  /**
4
6
  * The help-centre guide renderer: Markdown files under `docs/guides/` drawn as a
@@ -14,7 +16,8 @@ import { type MarkdownTableClassNames } from "./table-view.js";
14
16
  *
15
17
  * The syntax is the constrained subset guides use: `##`–`####` headings,
16
18
  * paragraphs, blockquotes, ordered and unordered lists, tables, fenced code,
17
- * horizontal rules, and inline bold, italic, code and links. Raw HTML is never
19
+ * horizontal rules, inline bold, italic, code and links, and pictures from the
20
+ * app's registry on a line of their own (`figures.ts`). Raw HTML is never
18
21
  * interpreted, so a guide cannot put markup on a public page.
19
22
  *
20
23
  * Server-safe: no hooks, no client boundary.
@@ -86,13 +89,22 @@ export interface GuideClassNames {
86
89
  pre: string;
87
90
  hr: string;
88
91
  table: Partial<MarkdownTableClassNames>;
92
+ figure: Partial<GuideFigureClassNames>;
89
93
  }
90
94
  /** The house look, on the shared theme tokens. */
91
95
  export declare const GUIDE_CLASS_NAMES: GuideClassNames;
92
96
  export interface GuideMarkdownProps extends GuideLinkOptions {
93
97
  content: string;
94
98
  classNames?: Partial<GuideClassNames>;
99
+ /**
100
+ * The pictures a guide may show. A picture line (`![alt](/guide-images/x.webp "Caption")`
101
+ * or `![alt](diagram:name)`, alone on its line) is drawn only when it is registered here
102
+ * and has alt text; otherwise it is left out, never drawn as a broken image.
103
+ */
104
+ figures?: GuideFigures;
105
+ /** Draws each registered picture. Default: `GuideFigureView`, a plain `<figure>`; `GuideArticle` adds zoom. */
106
+ renderFigure?: (figure: GuideFigureBlock) => ReactNode;
95
107
  }
96
108
  /** Render a guide body. */
97
- export declare function GuideMarkdown({ content, guidesPath, indexSlug, classNames }: GuideMarkdownProps): ReactNode;
109
+ export declare function GuideMarkdown({ content, guidesPath, indexSlug, classNames, figures, renderFigure, }: GuideMarkdownProps): ReactNode;
98
110
  //# sourceMappingURL=guide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/markdown/guide.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAqB,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAElF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AASD,uDAAuD;AACvD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA0BnE;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAShD;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAQ3D;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAkB5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAmC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAsB,EAAE,SAAS,EAAE,GAAE,gBAAqB,GAAG,MAAM,CAUnH;AAED,qFAAqF;AACrF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACzC;AAED,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,EAAE,eAiB/B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACvC;AAED,2BAA2B;AAC3B,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,kBAAkB,GAAG,SAAS,CAoL3G"}
1
+ {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/markdown/guide.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Fragment } from "react";
2
3
  import { Link } from "../internal/next-link.js";
4
+ import { GuideFigureView } from "./figure.js";
5
+ import { parseFigureLine, resolveGuideFigure } from "./figures.js";
3
6
  import { readTable, isTableStart } from "./table.js";
4
7
  import { MarkdownTableView } from "./table-view.js";
5
8
  const lines = (markdown) => markdown.replace(/\r\n/g, "\n").split("\n");
@@ -165,12 +168,16 @@ export const GUIDE_CLASS_NAMES = {
165
168
  pre: "my-6 overflow-x-auto rounded-xl border border-border bg-muted/60 p-4 font-mono text-[0.85em] leading-relaxed text-foreground",
166
169
  hr: "my-8 border-border",
167
170
  table: {},
171
+ figure: {},
168
172
  };
169
173
  /** Render a guide body. */
170
- export function GuideMarkdown({ content, guidesPath, indexSlug, classNames }) {
174
+ export function GuideMarkdown({ content, guidesPath, indexSlug, classNames, figures, renderFigure, }) {
171
175
  const c = { ...GUIDE_CLASS_NAMES, ...classNames };
172
- // `table` is itself a set of parts, so an override of one part keeps the rest.
176
+ // `table` and `figure` are each a set of parts, so an override of one part keeps the rest.
173
177
  c.table = { ...GUIDE_CLASS_NAMES.table, ...classNames?.table };
178
+ c.figure = { ...GUIDE_CLASS_NAMES.figure, ...classNames?.figure };
179
+ const drawFigure = renderFigure ??
180
+ ((figure) => _jsx(GuideFigureView, { figure: figure, figures: figures, classNames: c.figure }));
174
181
  const linkOptions = {
175
182
  ...(guidesPath === undefined ? {} : { guidesPath }),
176
183
  ...(indexSlug === undefined ? {} : { indexSlug }),
@@ -190,7 +197,8 @@ export function GuideMarkdown({ content, guidesPath, indexSlug, classNames }) {
190
197
  trimmed.startsWith(">") ||
191
198
  isRule(line) ||
192
199
  isFence(line) ||
193
- isTableStart(all, at));
200
+ isTableStart(all, at) ||
201
+ parseFigureLine(line) !== null);
194
202
  };
195
203
  /** A list: each item, with any wrapped lines that follow it folded in. */
196
204
  const readList = (isItem, marker) => {
@@ -255,6 +263,15 @@ export function GuideMarkdown({ content, guidesPath, indexSlug, classNames }) {
255
263
  blocks.push(_jsx("blockquote", { className: c.blockquote, children: inline(quote.join(" "), `q${key}`) }, key++));
256
264
  continue;
257
265
  }
266
+ // A picture on a line of its own. Unregistered or undescribed, it is left out rather than drawn broken.
267
+ const picture = parseFigureLine(line);
268
+ if (picture) {
269
+ const figure = resolveGuideFigure(picture, figures);
270
+ if (figure)
271
+ blocks.push(_jsx(Fragment, { children: drawFigure(figure) }, key++));
272
+ i++;
273
+ continue;
274
+ }
258
275
  const table = readTable(all, i);
259
276
  if (table) {
260
277
  const tableKey = key++;
@@ -1 +1 @@
1
- {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/markdown/guide.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/markdown/guide.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  export { createHeadingIds, extractHeadings, extractHowToSteps, GUIDE_CLASS_NAMES, GuideMarkdown, headingSlug, parseGuideFrontmatter, resolveGuideHref, stripInline, type GuideClassNames, type GuideHeading, type GuideLinkOptions, type GuideMarkdownProps, type HowToStep, type ParsedGuide, } from "./guide.js";
2
2
  export { alignmentOf, isTableRow, isTableSeparator, isTableStart, readTable, splitTableRow, type MarkdownTable, type TableAlign, } from "./table.js";
3
3
  export { MARKDOWN_TABLE_CLASS_NAMES, MarkdownTableView, type MarkdownTableClassNames } from "./table-view.js";
4
+ export { DIAGRAM_PREFIX, guideFigureProblems, parseFigureLine, resolveGuideFigure, splitGuideFigures, type GuideBlock, type GuideDiagram, type GuideFigureBlock, type GuideFigureCheckOptions, type GuideFigureLine, type GuideFigures, type GuideScreenshot, } from "./figures.js";
5
+ export { drawGuideDiagram, GUIDE_FIGURE_CLASS_NAMES, GuideFigureMedia, GuideFigureView, type GuideFigureClassNames, type GuideFigureMediaProps, type GuideFigureViewProps, } from "./figure.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { createHeadingIds, extractHeadings, extractHowToSteps, GUIDE_CLASS_NAMES, GuideMarkdown, headingSlug, parseGuideFrontmatter, resolveGuideHref, stripInline, } from "./guide.js";
2
2
  export { alignmentOf, isTableRow, isTableSeparator, isTableStart, readTable, splitTableRow, } from "./table.js";
3
3
  export { MARKDOWN_TABLE_CLASS_NAMES, MarkdownTableView } from "./table-view.js";
4
+ export { DIAGRAM_PREFIX, guideFigureProblems, parseFigureLine, resolveGuideFigure, splitGuideFigures, } from "./figures.js";
5
+ export { drawGuideDiagram, GUIDE_FIGURE_CLASS_NAMES, GuideFigureMedia, GuideFigureView, } from "./figure.js";
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GAOZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAgC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GAOZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,GAGd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAgC,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,GAQlB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,GAIhB,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@connextar/house",
3
- "version": "0.16.1",
3
+ "version": "0.18.0",
4
4
  "description": "The pieces every app we build needs and none of them should own a copy of.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -62,6 +62,10 @@
62
62
  "types": "./dist/guides/index.d.ts",
63
63
  "default": "./dist/guides/index.js"
64
64
  },
65
+ "./health": {
66
+ "types": "./dist/health/index.d.ts",
67
+ "default": "./dist/health/index.js"
68
+ },
65
69
  "./trail": {
66
70
  "types": "./dist/trail/index.d.ts",
67
71
  "default": "./dist/trail/index.js"