@connextar/house 0.19.2 → 0.20.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/README.md +25 -0
- package/dist/guides/guide-figure.d.ts +3 -1
- package/dist/guides/guide-figure.d.ts.map +1 -1
- package/dist/guides/guide-figure.js +7 -6
- package/dist/guides/guide-figure.js.map +1 -1
- package/dist/markdown/figure.d.ts +13 -2
- package/dist/markdown/figure.d.ts.map +1 -1
- package/dist/markdown/figure.js +16 -8
- package/dist/markdown/figure.js.map +1 -1
- package/dist/markdown/figures.d.ts +18 -0
- package/dist/markdown/figures.d.ts.map +1 -1
- package/dist/markdown/figures.js +17 -0
- package/dist/markdown/figures.js.map +1 -1
- package/dist/markdown/index.d.ts +2 -2
- package/dist/markdown/index.d.ts.map +1 -1
- package/dist/markdown/index.js +1 -1
- package/dist/markdown/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1341,6 +1341,31 @@ is given the alt text as `label` for its own `<svg role="img" aria-label>`; one
|
|
|
1341
1341
|
registered as an element is wrapped in `role="img"`. Headings keep their ids
|
|
1342
1342
|
across pictures, and a picture ends a list.
|
|
1343
1343
|
|
|
1344
|
+
**Smaller files for phones (since 0.20.0).** A screenshot can list narrower copies of
|
|
1345
|
+
itself, made by the app when it captures the picture:
|
|
1346
|
+
|
|
1347
|
+
```ts
|
|
1348
|
+
"/guide-images/home.webp": {
|
|
1349
|
+
width: 1600,
|
|
1350
|
+
height: 1656,
|
|
1351
|
+
dark: "/guide-images/home-dark.webp",
|
|
1352
|
+
smaller: [
|
|
1353
|
+
{ width: 800, src: "/guide-images/home-800.webp", dark: "/guide-images/home-dark-800.webp" },
|
|
1354
|
+
{ width: 1200, src: "/guide-images/home-1200.webp", dark: "/guide-images/home-dark-1200.webp" },
|
|
1355
|
+
],
|
|
1356
|
+
},
|
|
1357
|
+
```
|
|
1358
|
+
|
|
1359
|
+
Each `<img>` (light and dark) then gets a `srcset` of the copies and the original, and
|
|
1360
|
+
`sizes` saying how wide the layout draws it — `GUIDE_FIGURE_SIZES`, the article's 48rem
|
|
1361
|
+
or the screen less a 1rem gutter either side. The browser loads the smallest copy that
|
|
1362
|
+
is sharp at that width and the screen's pixel density: 800 for a 2× phone or a 1×
|
|
1363
|
+
desktop, 1200 for a 3× phone, the original for a 2× desktop. `src` stays the
|
|
1364
|
+
original, and the enlarged view always loads it, since it is there to be zoomed into.
|
|
1365
|
+
An app whose layout draws pictures at another width passes `sizes` to `GuideFigure`
|
|
1366
|
+
or `GuideFigureMedia`. A copy as wide as the original or wider is ignored; with no
|
|
1367
|
+
narrower copies nothing changes.
|
|
1368
|
+
|
|
1344
1369
|
`guideFigureProblems(body, figures, { minAltLength })` is the check an app's test
|
|
1345
1370
|
asserts empty for every guide: an unregistered picture, missing (or too short) alt
|
|
1346
1371
|
text, a picture without a blank line either side or indented as if in a list, and
|
|
@@ -8,6 +8,8 @@ export interface GuideFigureProps {
|
|
|
8
8
|
figures?: GuideFigures;
|
|
9
9
|
/** Open full-size on a click, Enter or Space. Default: on. */
|
|
10
10
|
zoom?: boolean;
|
|
11
|
+
/** How wide the app's layout draws the picture, for its narrower copies. Default `GUIDE_FIGURE_SIZES`. */
|
|
12
|
+
sizes?: string;
|
|
11
13
|
labels?: Partial<GuidesLabels>;
|
|
12
14
|
classNames?: Partial<GuideFigureClassNames>;
|
|
13
15
|
zoomClassNames?: Partial<GuideZoomClassNames>;
|
|
@@ -17,5 +19,5 @@ export interface GuideFigureProps {
|
|
|
17
19
|
* opens it full-size (`GuideFigureZoom`). Server-safe — a diagram registered as a component is
|
|
18
20
|
* drawn here, on the server, and only the drawn element crosses into the zoom dialog.
|
|
19
21
|
*/
|
|
20
|
-
export declare function GuideFigure({ figure, figures, zoom, labels, classNames, zoomClassNames, }: GuideFigureProps): ReactNode;
|
|
22
|
+
export declare function GuideFigure({ figure, figures, zoom, sizes, labels, classNames, zoomClassNames, }: GuideFigureProps): ReactNode;
|
|
21
23
|
//# sourceMappingURL=guide-figure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-figure.d.ts","sourceRoot":"","sources":["../../src/guides/guide-figure.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAqC,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,OAAO,EACP,IAAW,EACX,MAAM,EACN,UAAU,EACV,cAAc,GACf,EAAE,gBAAgB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"guide-figure.d.ts","sourceRoot":"","sources":["../../src/guides/guide-figure.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAqC,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,OAAO,EACP,IAAW,EACX,KAAK,EACL,MAAM,EACN,UAAU,EACV,cAAc,GACf,EAAE,gBAAgB,GAAG,SAAS,CAmC9B"}
|
|
@@ -6,13 +6,14 @@ import { GuideFigureZoom } from "./guide-figure-zoom.js";
|
|
|
6
6
|
* opens it full-size (`GuideFigureZoom`). Server-safe — a diagram registered as a component is
|
|
7
7
|
* drawn here, on the server, and only the drawn element crosses into the zoom dialog.
|
|
8
8
|
*/
|
|
9
|
-
export function GuideFigure({ figure, figures, zoom = true, labels, classNames, zoomClassNames, }) {
|
|
9
|
+
export function GuideFigure({ figure, figures, zoom = true, sizes, labels, classNames, zoomClassNames, }) {
|
|
10
10
|
if (!zoom)
|
|
11
|
-
return _jsx(GuideFigureView, { figure: figure, figures: figures, classNames: classNames });
|
|
12
|
-
const thumbnail = _jsx(GuideFigureMedia, { figure: figure, figures: figures, classNames: classNames });
|
|
13
|
-
// In the dialog a screenshot fills the box laid out at its natural size, loaded straight away
|
|
14
|
-
// again as it is in the article, at the size it was
|
|
15
|
-
|
|
11
|
+
return _jsx(GuideFigureView, { figure: figure, figures: figures, classNames: classNames, sizes: sizes });
|
|
12
|
+
const thumbnail = _jsx(GuideFigureMedia, { figure: figure, figures: figures, classNames: classNames, sizes: sizes });
|
|
13
|
+
// In the dialog a screenshot fills the box laid out at its natural size, loaded straight away and always the
|
|
14
|
+
// original (it is there to be zoomed into); a diagram is drawn again as it is in the article, at the size it was
|
|
15
|
+
// measured at, and scaled.
|
|
16
|
+
const full = figure.kind === "screenshot" ? (_jsx(GuideFigureMedia, { figure: figure, classNames: { ...classNames, image: "size-full rounded-md bg-card align-top", imageWithoutDark: "" }, eager: true, sizes: false })) : undefined;
|
|
16
17
|
const size = figure.kind === "screenshot" ? { width: figure.width, height: figure.height } : {};
|
|
17
18
|
return (_jsx(GuideFigureView, { figure: figure, figures: figures, classNames: classNames, media: _jsx(GuideFigureZoom, { full: full, ...size, alt: figure.alt, ...(figure.caption ? { caption: figure.caption } : {}), labels: labels, classNames: zoomClassNames, children: thumbnail }) }));
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-figure.js","sourceRoot":"","sources":["../../src/guides/guide-figure.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAA8B,MAAM,uBAAuB,CAAC;AAEtG,OAAO,EAAE,eAAe,EAA4B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"guide-figure.js","sourceRoot":"","sources":["../../src/guides/guide-figure.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAA8B,MAAM,uBAAuB,CAAC;AAEtG,OAAO,EAAE,eAAe,EAA4B,MAAM,wBAAwB,CAAC;AAenF;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,OAAO,EACP,IAAI,GAAG,IAAI,EACX,KAAK,EACL,MAAM,EACN,UAAU,EACV,cAAc,GACG;IACjB,IAAI,CAAC,IAAI;QAAE,OAAO,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAC9G,MAAM,SAAS,GAAG,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAC/G,6GAA6G;IAC7G,iHAAiH;IACjH,2BAA2B;IAC3B,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAC7B,KAAC,gBAAgB,IACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,wCAAwC,EAAE,gBAAgB,EAAE,EAAE,EAAE,EACpG,KAAK,QACL,KAAK,EAAE,KAAK,GACZ,CACH,CAAC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,OAAO,CACL,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,KAAK,EACH,KAAC,eAAe,IACd,IAAI,EAAE,IAAI,KACN,IAAI,EACR,GAAG,EAAE,MAAM,CAAC,GAAG,KACX,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACvD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,YAEzB,SAAS,GACM,GAEpB,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -22,23 +22,34 @@ export declare const GUIDE_FIGURE_CLASS_NAMES: GuideFigureClassNames;
|
|
|
22
22
|
* wrapped in `role="img"` with the alt text as its name. Null when the name isn't registered.
|
|
23
23
|
*/
|
|
24
24
|
export declare function drawGuideDiagram(figures: GuideFigures | undefined, name: string, label: string): ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* How wide a guide's screenshot is drawn, for the browser to choose among its narrower copies: the article's
|
|
27
|
+
* width (`max-w-3xl`, 48rem) on a wide screen, and the screen less a 1rem gutter either side on a phone. An
|
|
28
|
+
* estimate on the large side only costs a larger file than needed, never a blurry picture.
|
|
29
|
+
*/
|
|
30
|
+
export declare const GUIDE_FIGURE_SIZES = "(min-width: 48rem) 48rem, calc(100vw - 2rem)";
|
|
25
31
|
export interface GuideFigureMediaProps {
|
|
26
32
|
figure: GuideFigureBlock;
|
|
27
33
|
figures?: GuideFigures;
|
|
28
34
|
classNames?: Partial<GuideFigureClassNames>;
|
|
29
35
|
/** Load the screenshot straight away rather than when it nears the screen. Default: lazy. */
|
|
30
36
|
eager?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The `sizes` that goes with a screenshot's narrower copies (`GuideScreenshot.smaller`): how wide the app's
|
|
39
|
+
* layout draws it. Default `GUIDE_FIGURE_SIZES`. `false` loads the original only — the enlarged view does.
|
|
40
|
+
*/
|
|
41
|
+
sizes?: string | false;
|
|
31
42
|
}
|
|
32
43
|
/**
|
|
33
44
|
* The picture itself, without its caption: a screenshot at its registered size (and its dark
|
|
34
45
|
* capture beside it when there is one, each shown by the theme's `dark:` variant), or a diagram
|
|
35
46
|
* in its frame.
|
|
36
47
|
*/
|
|
37
|
-
export declare function GuideFigureMedia({ figure, figures, classNames, eager }: GuideFigureMediaProps): ReactNode;
|
|
48
|
+
export declare function GuideFigureMedia({ figure, figures, classNames, eager, sizes, }: GuideFigureMediaProps): ReactNode;
|
|
38
49
|
export interface GuideFigureViewProps extends GuideFigureMediaProps {
|
|
39
50
|
/** Drawn in place of the plain picture — `GuideArticle` puts its zoom button here. */
|
|
40
51
|
media?: ReactNode;
|
|
41
52
|
}
|
|
42
53
|
/** 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;
|
|
54
|
+
export declare function GuideFigureView({ figure, figures, classNames, eager, sizes, media }: GuideFigureViewProps): ReactNode;
|
|
44
55
|
//# sourceMappingURL=figure.d.ts.map
|
|
@@ -1 +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;
|
|
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;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,iDAAiD,CAAC;AAEjF,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;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAK,EACL,KAA0B,GAC3B,EAAE,qBAAqB,GAAG,SAAS,CA2BnC;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,KAAK,EAAE,EAAE,oBAAoB,GAAG,SAAS,CAUrH"}
|
package/dist/markdown/figure.js
CHANGED
|
@@ -31,26 +31,34 @@ export function drawGuideDiagram(figures, name, label) {
|
|
|
31
31
|
return createElement(entry, { label });
|
|
32
32
|
return (_jsx("div", { role: "img", "aria-label": label, children: entry }));
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* How wide a guide's screenshot is drawn, for the browser to choose among its narrower copies: the article's
|
|
36
|
+
* width (`max-w-3xl`, 48rem) on a wide screen, and the screen less a 1rem gutter either side on a phone. An
|
|
37
|
+
* estimate on the large side only costs a larger file than needed, never a blurry picture.
|
|
38
|
+
*/
|
|
39
|
+
export const GUIDE_FIGURE_SIZES = "(min-width: 48rem) 48rem, calc(100vw - 2rem)";
|
|
34
40
|
/**
|
|
35
41
|
* The picture itself, without its caption: a screenshot at its registered size (and its dark
|
|
36
42
|
* capture beside it when there is one, each shown by the theme's `dark:` variant), or a diagram
|
|
37
43
|
* in its frame.
|
|
38
44
|
*/
|
|
39
|
-
export function GuideFigureMedia({ figure, figures, classNames, eager }) {
|
|
45
|
+
export function GuideFigureMedia({ figure, figures, classNames, eager, sizes = GUIDE_FIGURE_SIZES, }) {
|
|
40
46
|
const c = { ...GUIDE_FIGURE_CLASS_NAMES, ...classNames };
|
|
41
47
|
if (figure.kind === "diagram") {
|
|
42
48
|
return _jsx("div", { className: c.diagram, children: drawGuideDiagram(figures, figure.name, figure.alt) });
|
|
43
49
|
}
|
|
44
|
-
const img = (src, className) => (
|
|
45
|
-
// A plain <img>: the package imports no app's image pipeline. The registered size reserves the space
|
|
46
|
-
|
|
50
|
+
const img = (src, srcSet, className) => (
|
|
51
|
+
// A plain <img>: the package imports no app's image pipeline. The registered size reserves the space, and a
|
|
52
|
+
// `srcset` of the app's narrower copies lets a phone load a smaller file. `srcSet` before `src`, so a browser
|
|
53
|
+
// reading attributes in order never starts on the original first.
|
|
54
|
+
_jsx("img", { ...(srcSet && sizes !== false ? { srcSet, sizes } : {}), src: src, alt: figure.alt, width: figure.width, height: figure.height, loading: eager ? "eager" : "lazy", decoding: "async", className: className }));
|
|
47
55
|
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))] }));
|
|
56
|
+
return img(figure.src, figure.srcSet, cx(c.image, c.imageWithoutDark));
|
|
57
|
+
return (_jsxs(_Fragment, { children: [img(figure.src, figure.srcSet, cx(c.image, c.imageLight)), img(figure.dark, figure.darkSrcSet, cx(c.image, c.imageDark))] }));
|
|
50
58
|
}
|
|
51
59
|
/** A picture with its caption, as a `<figure>`. Server-safe; no zoom (`GuideArticle` adds that). */
|
|
52
|
-
export function GuideFigureView({ figure, figures, classNames, eager, media }) {
|
|
60
|
+
export function GuideFigureView({ figure, figures, classNames, eager, sizes, media }) {
|
|
53
61
|
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] }));
|
|
62
|
+
return (_jsxs("figure", { className: c.figure, children: [media ?? (_jsx(GuideFigureMedia, { figure: figure, figures: figures, classNames: classNames, eager: eager, sizes: sizes })), figure.caption ? _jsx("figcaption", { className: c.caption, children: figure.caption }) : null] }));
|
|
55
63
|
}
|
|
56
64
|
//# sourceMappingURL=figure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure.js","sourceRoot":"","sources":["../../src/markdown/figure.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAsC,MAAM,OAAO,CAAC;AAE1F,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAmBvC,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,MAAM,EAAE,MAAM;IACd,kHAAkH;IAClH,KAAK,EAAE,2EAA2E;IAClF,gBAAgB,EAAE,wBAAwB;IAC1C,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,8DAA8D;IACvE,OAAO,EAAE,kDAAkD;CAC5D,CAAC;AAEF,mFAAmF;AACnF,SAAS,WAAW,CAAC,KAAmB;IACtC,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,IAAI,KAAK,CAAC;AACtG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAiC,EAAE,IAAY,EAAE,KAAa;IAC7F,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;IACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,OAAO,CACL,cAAK,IAAI,EAAC,KAAK,gBAAa,KAAK,YAC9B,KAAK,GACF,CACP,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"figure.js","sourceRoot":"","sources":["../../src/markdown/figure.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,26 @@ import type { ComponentType, ReactNode } from "react";
|
|
|
15
15
|
* Lifted from PharmaLineAI v0.23.1 (`lib/guide-figures.ts`). Pure: no file access, no
|
|
16
16
|
* React at run time.
|
|
17
17
|
*/
|
|
18
|
+
/** A narrower copy of a screenshot (and of its dark capture), for a phone to load instead of the full-size file. */
|
|
19
|
+
export interface GuideScreenshotCopy {
|
|
20
|
+
/** Its width in pixels; the height follows the screenshot's own proportions. */
|
|
21
|
+
width: number;
|
|
22
|
+
src: string;
|
|
23
|
+
/** The dark capture at the same width. Without one, a dark page picks from the dark copies there are. */
|
|
24
|
+
dark?: string;
|
|
25
|
+
}
|
|
18
26
|
/** A screenshot in the app's `public/guide-images/`, with its size so the page doesn't jump. */
|
|
19
27
|
export interface GuideScreenshot {
|
|
20
28
|
width: number;
|
|
21
29
|
height: number;
|
|
22
30
|
/** A dark-mode capture of the same screen, at the same size, shown instead under `dark:`. */
|
|
23
31
|
dark?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Narrower copies of the same picture (since 0.20.0). With them the `<img>` gets a `srcset`, and the browser
|
|
34
|
+
* loads the smallest that is sharp at the size it draws the picture: a phone takes an 800 or 1200 pixel copy
|
|
35
|
+
* rather than the 1600 pixel original. The enlarged view always loads the original.
|
|
36
|
+
*/
|
|
37
|
+
smaller?: readonly GuideScreenshotCopy[];
|
|
24
38
|
}
|
|
25
39
|
/**
|
|
26
40
|
* A diagram: an element to draw as it is, or a component given the picture's alt text as
|
|
@@ -50,6 +64,10 @@ export type GuideFigureBlock = {
|
|
|
50
64
|
width: number;
|
|
51
65
|
height: number;
|
|
52
66
|
dark?: string;
|
|
67
|
+
/** `srcset` for the light picture, its copies and itself by width, when it has narrower copies. */
|
|
68
|
+
srcSet?: string;
|
|
69
|
+
/** `srcset` for the dark capture, when it has narrower dark copies. */
|
|
70
|
+
darkSrcSet?: string;
|
|
53
71
|
} | {
|
|
54
72
|
kind: "diagram";
|
|
55
73
|
name: string;
|
|
@@ -1 +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;
|
|
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,oHAAoH;AACpH,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,yGAAyG;IACzG,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAC1C;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;IACd,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,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,CAsBpH;AAoBD;;;;;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"}
|
package/dist/markdown/figures.js
CHANGED
|
@@ -25,6 +25,8 @@ export function resolveGuideFigure(line, figures) {
|
|
|
25
25
|
const shot = own(figures.screenshots, line.src);
|
|
26
26
|
if (!shot)
|
|
27
27
|
return null;
|
|
28
|
+
const srcSet = screenshotSrcSet(shot.smaller, (copy) => copy.src, line.src, shot.width);
|
|
29
|
+
const darkSrcSet = shot.dark ? screenshotSrcSet(shot.smaller, (copy) => copy.dark, shot.dark, shot.width) : undefined;
|
|
28
30
|
return {
|
|
29
31
|
kind: "screenshot",
|
|
30
32
|
src: line.src,
|
|
@@ -33,8 +35,23 @@ export function resolveGuideFigure(line, figures) {
|
|
|
33
35
|
width: shot.width,
|
|
34
36
|
height: shot.height,
|
|
35
37
|
...(shot.dark ? { dark: shot.dark } : {}),
|
|
38
|
+
...(srcSet ? { srcSet } : {}),
|
|
39
|
+
...(darkSrcSet ? { darkSrcSet } : {}),
|
|
36
40
|
};
|
|
37
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* A `srcset` of the narrower copies and the original, narrowest first — or undefined when there is no narrower
|
|
44
|
+
* copy to choose (a copy as wide as the original or wider is left out: it would never be the better choice).
|
|
45
|
+
*/
|
|
46
|
+
function screenshotSrcSet(copies, pick, original, width) {
|
|
47
|
+
const narrower = (copies ?? [])
|
|
48
|
+
.map((copy) => ({ src: pick(copy), width: copy.width }))
|
|
49
|
+
.filter((copy) => !!copy.src && copy.width > 0 && copy.width < width)
|
|
50
|
+
.sort((a, b) => a.width - b.width);
|
|
51
|
+
if (!narrower.length)
|
|
52
|
+
return undefined;
|
|
53
|
+
return [...narrower, { src: original, width }].map((copy) => `${copy.src} ${copy.width}w`).join(", ");
|
|
54
|
+
}
|
|
38
55
|
/**
|
|
39
56
|
* A guide body as runs of Markdown and the pictures between them. A picture line that
|
|
40
57
|
* names nothing in the registry is dropped; inside a code fence a picture line is just
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/markdown/figures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/markdown/figures.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown/index.d.ts
CHANGED
|
@@ -1,6 +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
|
+
export { DIAGRAM_PREFIX, guideFigureProblems, parseFigureLine, resolveGuideFigure, splitGuideFigures, type GuideBlock, type GuideDiagram, type GuideFigureBlock, type GuideFigureCheckOptions, type GuideFigureLine, type GuideFigures, type GuideScreenshot, type GuideScreenshotCopy, } from "./figures.js";
|
|
5
|
+
export { drawGuideDiagram, GUIDE_FIGURE_CLASS_NAMES, GUIDE_FIGURE_SIZES, GuideFigureMedia, GuideFigureView, type GuideFigureClassNames, type GuideFigureMediaProps, type GuideFigureViewProps, } from "./figure.js";
|
|
6
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;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,
|
|
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,EACpB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
|
package/dist/markdown/index.js
CHANGED
|
@@ -2,5 +2,5 @@ export { createHeadingIds, extractHeadings, extractHowToSteps, GUIDE_CLASS_NAMES
|
|
|
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
4
|
export { DIAGRAM_PREFIX, guideFigureProblems, parseFigureLine, resolveGuideFigure, splitGuideFigures, } from "./figures.js";
|
|
5
|
-
export { drawGuideDiagram, GUIDE_FIGURE_CLASS_NAMES, GuideFigureMedia, GuideFigureView, } from "./figure.js";
|
|
5
|
+
export { drawGuideDiagram, GUIDE_FIGURE_CLASS_NAMES, GUIDE_FIGURE_SIZES, GuideFigureMedia, GuideFigureView, } from "./figure.js";
|
|
6
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;AAC9G,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,
|
|
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,GASlB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAIhB,MAAM,aAAa,CAAC"}
|