@connextar/house 0.19.1 → 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 CHANGED
@@ -375,7 +375,10 @@ confirmation depends on the account:
375
375
  limiter and nothing else. So each session gets `maxAttempts` wrong answers
376
376
  (five by default, codes and passwords together). After that it has to sign in
377
377
  again, and its live code checks are refused too (`403 STEP_UP_LOCKED`). A
378
- stolen session cannot keep guessing.
378
+ stolen session cannot keep guessing. The count is kept for 400 days past the
379
+ session's expiry (since 0.19.2): Better Auth moves a session's expiry on as it
380
+ is used, so a count kept only until then let a long-lived session's wrong
381
+ answers lapse and refill.
379
382
  - **Deleting a passkey is not gated.** Removing a way in does not add one.
380
383
  - **The apps' administrator rule is unchanged** and still applies on top of
381
384
  this. An administrator's passkey needs both a second-factor-proven session
@@ -1338,6 +1341,31 @@ is given the alt text as `label` for its own `<svg role="img" aria-label>`; one
1338
1341
  registered as an element is wrapped in `role="img"`. Headings keep their ids
1339
1342
  across pictures, and a picture ends a list.
1340
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
+
1341
1369
  `guideFigureProblems(body, figures, { minAltLength })` is the check an app's test
1342
1370
  asserts empty for every guide: an unregistered picture, missing (or too short) alt
1343
1371
  text, a picture without a blank line either side or indented as if in a list, and
@@ -1 +1 @@
1
- {"version":3,"file":"step-up.d.ts","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,aAAa,CAAC;AAS1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iHAAiH;IACjH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACzD,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAwCD,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB;;;;;;;QArDhD;;;;WAIG;yBACc,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;;;;;;;;;;;;;;;iCAOhD,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;iCAPE,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;;;;;4BA4UqB,MAAM;;;;;;;;;;;;;;;;;;EAG3C"}
1
+ {"version":3,"file":"step-up.d.ts","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,IAAI,EAAE,MAAM,aAAa,CAAC;AAS1D,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gHAAgH;IAChH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iHAAiH;IACjH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC;IACzD,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA0CD,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB;;;;;;;QAvDhD;;;;WAIG;yBACc,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;;;;;;;;;;;;;;;iCAOhD,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;iCAPE,CAAC;iCAGoB,CAAC;;;;;;;;;6BAIxB,CAAA;;;;;;;;;;;;;;;;;;;;;;;4BAgVqB,MAAM;;;;;;;;;;;;;;;;;;EAG3C"}
@@ -3,6 +3,8 @@ import * as z from "zod";
3
3
  import { DEFAULT_STEP_UP_MAX_ATTEMPTS, DEFAULT_STEP_UP_WINDOW_SECONDS, STEP_UP_CODE_ROUTES, STEP_UP_ERROR_CODES, STEP_UP_ID, STEP_UP_PASSKEY_ROUTES, STEP_UP_REQUIRED_GENERIC_MESSAGE, } from "./step-up-routes.js";
4
4
  const confirmationKey = (sessionId) => `${STEP_UP_ID}:${sessionId}`;
5
5
  const attemptsKey = (sessionId) => `${STEP_UP_ID}-attempts:${sessionId}`;
6
+ /** How long a session's wrong answers are remembered: longer than any session lasts without signing in again. */
7
+ const ATTEMPTS_KEPT_MS = 400 * 86_400_000;
6
8
  const PASSKEY_VERIFY_REGISTRATION = "/passkey/verify-registration";
7
9
  function jsonBody(response) {
8
10
  // `ctx.json()` answers the plain object inside hooks, and a `{ _flag: "json", body }` wrapper when the caller
@@ -53,8 +55,10 @@ export function stepUp(options = {}) {
53
55
  async function recordWrongAnswer(context, session) {
54
56
  const used = await attemptsUsed(context, session.id);
55
57
  await context.internalAdapter.deleteVerificationByIdentifier(attemptsKey(session.id));
56
- // Kept as long as the session was going to last when it was spent, so the budget does not refill while it lives.
57
- const lasts = Math.max(toDate(session.expiresAt).getTime(), Date.now() + windowSeconds * 1000);
58
+ // Kept well past the session: Better Auth moves a session's expiry on as it's used, so a count kept only until
59
+ // the session's expiry at the time would lapse (or be tidied away) while the session lives on, and the budget
60
+ // would refill. A session that outlives this has been in use, without signing in again, for over a year.
61
+ const lasts = Math.max(toDate(session.expiresAt).getTime(), Date.now() + ATTEMPTS_KEPT_MS);
58
62
  await context.internalAdapter.createVerificationValue({
59
63
  identifier: attemptsKey(session.id),
60
64
  value: String(used + 1),
@@ -1 +1 @@
1
- {"version":3,"file":"step-up.js","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-up.js","sourceRoot":"","sources":["../../src/auth/step-up.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,UAAU,EACV,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,gCAAgC,GAGjC,MAAM,qBAAqB,CAAC;AAmF7B,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE,CAAC;AAC5E,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,UAAU,aAAa,SAAS,EAAE,CAAC;AACjF,iHAAiH;AACjH,MAAM,gBAAgB,GAAG,GAAG,GAAG,UAAU,CAAC;AAE1C,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAEnE,SAAS,QAAQ,CAAC,QAAiB;IACjC,8GAA8G;IAC9G,uCAAuC;IACvC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAK,QAAgC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACnG,OAAQ,QAA+B,CAAC,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3F,SAAS,aAAa,CAAC,MAAoC;IACzD,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAA0C,EAAE,IAAI,IAAI,EAAE,CAAC,CAClH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,UAAyB,EAAE;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,8BAA8B,CAAC;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,4BAA4B,CAAC;IACxE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAS,OAAO,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC;IACzE,MAAM,aAAa,GAAsB,sBAAsB,CAAC;IAChE,MAAM,UAAU,GAAsB,mBAAmB,CAAC;IAE1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,qEAAqE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mEAAmE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7G,CAAC;IAED,gHAAgH;IAChH,MAAM,OAAO,GAAG,IAAI,OAAO,EAA4B,CAAC;IAExD,SAAS,kBAAkB,CAAC,OAAoB;QAC9C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,OAAoB,EAAE,IAAyB;QACrE,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC;QACjF,qFAAqF;QACrF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,UAAU,CAAC;QAC7G,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,OAAoB,EAAE,SAAiB;QACjE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,OAAoB,EAAE,OAA+B;QACpF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,eAAe,CAAC,8BAA8B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,+GAA+G;QAC/G,8GAA8G;QAC9G,yGAAyG;QACzG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAC3F,MAAM,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC;YACpD,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YACvB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,kBAAkB,CAAC,OAAoB,EAAE,OAA+B;QACrF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,eAAe,CAAC,8BAA8B,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,MAAM,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC;YACpD,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,SAAS;SACV,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,OAAoB,EAAE,IAAiB;QAC9D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,KAAK,KAAK,gBAAgB,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC;QAC3G,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,2GAA2G;QAC3G,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;QAChD,MAAM,YAAY,GAAG,QAAQ,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;QAExG,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;gBAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;YACxF,IAAI,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;gBAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAC/F,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjF,CAAC;IAED,iHAAiH;IACjH,KAAK,UAAU,WAAW,CAAC,GAAgB;QACzC,MAAM,OAAO,GAAG,CAAC,MAAM,8BAA8B,CAAC,GAAG,CAAC,CAAuB,CAAC;QAClF,OAAO,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,SAAS,wBAAwB,CAAC,OAAoB,EAAE,IAAY;QAClE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CACb,CAAC;QAC5E,OAAO,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,KAAK,KAAK,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,GAAe;QACvB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACvD,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,0GAA0G;gBAC1G,yFAAyF;gBACzF,IAAI,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAC5D,4GAA4G;gBAC5G,8EAA8E;gBAC9E,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,SAAS;gBAAE,OAAO;YAC7B,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAC9B,IAAI,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,IAAI;gBAC/C,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBACvC,CAAC,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO;oBAC9C,CAAC,CAAC,gCAAgC;gBACpC,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;QACL,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,eAAe,GAAe;QAClC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAChE,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,4GAA4G;YAC5G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI;gBAAE,OAAO;YACzD,IAAI,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;gBACtE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,mBAAmB,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,cAAc,GAAc;QAChC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAChE,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACtC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzB,wEAAwE;oBACxE,MAAM,KAAK,GAAI,QAAoC,CAAC,UAAU,KAAK,GAAG,CAAC;oBACvE,IAAI,KAAK;wBAAE,MAAM,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC/D,OAAO;gBACT,CAAC;gBACD,4GAA4G;gBAC5G,uGAAuG;gBACvG,MAAM,KAAK,GAAI,QAAQ,CAAC,QAAQ,CAA4C,EAAE,KAAK,CAAC;gBACpF,IAAI,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK;oBAAE,OAAO;gBAC1C,MAAM,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0GAA0G;gBAC1G,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC;KACH,CAAC;IAEF,MAAM,iBAAiB,GAAc;QACnC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B;QACtF,OAAO,EAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YACtC,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACxD,IAAI,CAAC;gBAEH,wGAAwG;gBACxG,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAkC,CAAC;gBAC1E,IAAI,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClE,MAAM,MAAM,GAAI,GAAG,CAAC,OAAO,CAAC,OAA8B,EAAE,IAAI,EAAE,EAAE,CAAC;oBACrE,IAAI,CAAC,MAAM;wBAAE,OAAO;oBACpB,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAa;wBAC9D,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;wBAC3C,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE;wBACjD,KAAK,EAAE,CAAC;qBACT,CAAC,CAAC;oBACH,GAAG,GAAG,MAAM,CAAC;gBACf,CAAC;gBACD,IAAI,OAAO,GAAG,EAAE,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAAE,OAAO;gBAC1E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,MAAM,SAAS,GACb,GAAG,CAAC,SAAS,YAAY,IAAI,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzG,MAAM,OAAO,GAAG;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC;gBACF,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;gBAClC,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE;oBACtB,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACpF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE,KAAK,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;KACH,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE;QACjF,IAAI,CAAC,GAAG;YACN,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CACb,gEAAgE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB;wBACvG,6FAA6F;wBAC7F,iDAAiD,CACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAK,SAAS,EAAE,OAAuD,EAAE,iBAAiB,EAAE,CAAC;gBAC3F,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,wGAAwG;oBACtG,wFAAwF,CAC3F,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CACb,gEAAgE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;wBACtG,4EAA4E,CAC/E,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC/G,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;YACrF,IAAI,gBAAgB,KAAK,CAAC,CAAC,IAAI,gBAAgB,GAAG,QAAQ,EAAE,CAAC;gBAC3D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YACjH,CAAC;QACH,CAAC;QACD,SAAS,EAAE;YACT,YAAY,EAAE,kBAAkB,CAC9B,iBAAiB,EACjB,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,EAAE,EACpD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAsB,CAAC,CAAC,CAC1F;YACD,cAAc,EAAE,kBAAkB,CAChC,mBAAmB,EACnB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,EAAE,EAC/F,KAAK,EAAE,GAAG,EAAE,EAAE;gBACZ,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAsB,CAAC;gBAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;oBACzB,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE;wBAChC,IAAI,EAAE,mBAAmB,CAAC,6BAA6B,CAAC,IAAI;wBAC5D,OAAO,EACL,KAAK,KAAK,MAAM;4BACd,CAAC,CAAC,qDAAqD;4BACvD,CAAC,CAAC,kEAAkE;wBACxE,KAAK;qBACN,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;oBACtE,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,mBAAmB,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,IAAI,CAAC;oBACH,mGAAmG;oBACnG,gFAAgF;oBAChF,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,UAAU,CAAC,KAAK,CAAC;wBAAE,MAAM,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1E,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClE,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvC,SAAS,EAAE,IAAI;oBACf,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,KAAK;iBACS,CAAC,CAAC;YAC5B,CAAC,CACF;SACF;QACD,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC;YAC/B,KAAK,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC;SAC3C;QACD,kHAAkH;QAClH,mDAAmD;QACnD,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAChG,YAAY,EAAE,mBAAmB;KACP,CAAC;AAC/B,CAAC"}
@@ -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,CAiC9B"}
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; a diagram is drawn
14
- // again as it is in the article, at the size it was measured at, and scaled.
15
- const full = figure.kind === "screenshot" ? (_jsx(GuideFigureMedia, { figure: figure, classNames: { ...classNames, image: "size-full rounded-md bg-card align-top", imageWithoutDark: "" }, eager: true })) : undefined;
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;AAanF;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,OAAO,EACP,IAAI,GAAG,IAAI,EACX,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,GAAI,CAAC;IAChG,MAAM,SAAS,GAAG,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;IACjG,kHAAkH;IAClH,6EAA6E;IAC7E,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,SACL,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"}
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;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"}
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"}
@@ -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
- _jsx("img", { src: src, alt: figure.alt, width: figure.width, height: figure.height, loading: eager ? "eager" : "lazy", decoding: "async", className: className }));
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":"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"}
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;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"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"figures.js","sourceRoot":"","sources":["../../src/markdown/figures.ts"],"names":[],"mappings":"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"}
@@ -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,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
+ {"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"}
@@ -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,GAQlB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,GAIhB,MAAM,aAAa,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,GASlB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,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.19.1",
3
+ "version": "0.20.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": {