@certrev/cert-block 1.3.0 → 2.0.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 (73) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/README.md +125 -9
  3. package/dist/builder/card-contract.d.ts +143 -0
  4. package/dist/builder/card-contract.d.ts.map +1 -0
  5. package/dist/builder/card-contract.js +262 -0
  6. package/dist/builder/card-contract.js.map +1 -0
  7. package/dist/builder/card-report.d.ts +37 -0
  8. package/dist/builder/card-report.d.ts.map +1 -0
  9. package/dist/builder/card-report.js +43 -0
  10. package/dist/builder/card-report.js.map +1 -0
  11. package/dist/builder/cert-review-card.d.ts +7 -5
  12. package/dist/builder/cert-review-card.d.ts.map +1 -1
  13. package/dist/builder/cert-review-card.js +163 -19
  14. package/dist/builder/cert-review-card.js.map +1 -1
  15. package/dist/builder/contract-card.d.ts +53 -0
  16. package/dist/builder/contract-card.d.ts.map +1 -0
  17. package/dist/builder/contract-card.js +141 -0
  18. package/dist/builder/contract-card.js.map +1 -0
  19. package/dist/builder/delivered-face.d.ts +9 -0
  20. package/dist/builder/delivered-face.d.ts.map +1 -1
  21. package/dist/builder/delivered-face.js +18 -5
  22. package/dist/builder/delivered-face.js.map +1 -1
  23. package/dist/builder/delivery-runtime.d.ts +15 -1
  24. package/dist/builder/delivery-runtime.d.ts.map +1 -1
  25. package/dist/builder/delivery-runtime.js +24 -1
  26. package/dist/builder/delivery-runtime.js.map +1 -1
  27. package/dist/builder/index.d.ts +3 -0
  28. package/dist/builder/index.d.ts.map +1 -1
  29. package/dist/builder/index.js +4 -0
  30. package/dist/builder/index.js.map +1 -1
  31. package/dist/builder/ssr-seed.d.ts +18 -0
  32. package/dist/builder/ssr-seed.d.ts.map +1 -1
  33. package/dist/builder/ssr-seed.js +25 -3
  34. package/dist/builder/ssr-seed.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/reader/reader-css.generated.d.ts +1 -1
  40. package/dist/reader/reader-css.generated.d.ts.map +1 -1
  41. package/dist/reader/reader-css.generated.js +1 -1
  42. package/dist/reader/reader-css.generated.js.map +1 -1
  43. package/dist/reader/render.d.ts.map +1 -1
  44. package/dist/reader/render.js +71 -34
  45. package/dist/reader/render.js.map +1 -1
  46. package/dist/reader/tokens.d.ts +2 -0
  47. package/dist/reader/tokens.d.ts.map +1 -1
  48. package/dist/reader/tokens.js +28 -6
  49. package/dist/reader/tokens.js.map +1 -1
  50. package/dist/verify/get-verified-delivery.d.ts +28 -0
  51. package/dist/verify/get-verified-delivery.d.ts.map +1 -1
  52. package/dist/verify/get-verified-delivery.js +21 -2
  53. package/dist/verify/get-verified-delivery.js.map +1 -1
  54. package/dist/verify/key-set.d.ts +67 -0
  55. package/dist/verify/key-set.d.ts.map +1 -0
  56. package/dist/verify/key-set.js +190 -0
  57. package/dist/verify/key-set.js.map +1 -0
  58. package/package.json +115 -112
  59. package/src/builder/card-contract.ts +314 -0
  60. package/src/builder/card-report.ts +61 -0
  61. package/src/builder/cert-review-card.tsx +239 -25
  62. package/src/builder/contract-card.tsx +159 -0
  63. package/src/builder/delivered-face.ts +18 -4
  64. package/src/builder/delivery-runtime.ts +30 -1
  65. package/src/builder/index.tsx +12 -0
  66. package/src/builder/ssr-seed.ts +32 -3
  67. package/src/index.ts +9 -0
  68. package/src/reader/reader-css.generated.ts +1 -1
  69. package/src/reader/reader.css +297 -2
  70. package/src/reader/render.ts +87 -38
  71. package/src/reader/tokens.ts +29 -6
  72. package/src/verify/get-verified-delivery.ts +41 -2
  73. package/src/verify/key-set.ts +225 -0
@@ -25,10 +25,13 @@ import { renderCertBlock } from '../components/render-cert-block.js';
25
25
  import { CERT_STRINGS_VERSION } from '../components/render-def.js';
26
26
  import { renderVerdict } from '../contract/kernel.js';
27
27
  import { getVerifiedDelivery, parseDesignPin, readVerifiedDelivery, } from '../verify/get-verified-delivery.js';
28
+ import { acceptedCardBinding, cardDigestFor, cardDigestMatches, cardMatchesPlacement, cardPartsFor, parseCardDocument, } from './card-contract.js';
28
29
  import { CARD_READER_CSS } from './card-reader-css.js';
30
+ import { reportCardFallbackInBrowser, reportCardFallbackOnServer, } from './card-report.js';
29
31
  import { BUILDER_CERT_CHROME_KEYS } from './cert-chrome-data.js';
32
+ import { ContractCardFace } from './contract-card.js';
30
33
  import { deliveredFaceDigest, deliveredFaceHtml, deliveredFaceMatches, faceHashesFor, showsWholeCard, } from './delivered-face.js';
31
- import { cardDeliveryRuntime } from './delivery-runtime.js';
34
+ import { cardDeliveryRuntime, cardResolveKidFor } from './delivery-runtime.js';
32
35
  import { envelopeCardHtml, envelopeCardInput, isReaderFaceDef } from './envelope-face.js';
33
36
  import { pageHoldsServerHtml, pageRecordFor, SEED_ATTRIBUTE, seedFor, serializeFallback, serializeSeed, streamedRecordFor, subscribeStreamedRecords, watchStreamedRecords, withoutPhotos, } from './ssr-seed.js';
34
37
  /**
@@ -207,9 +210,13 @@ function EnvelopeFace(props) {
207
210
  // biome-ignore lint/security/noDangerouslySetInnerHtml: renderCertBlock is the escaping-safe SSR string renderer; a delivered face paints only when its bytes hash to the signed faceDigest
208
211
  dangerouslySetInnerHTML: { __html: props.html } }));
209
212
  }
210
- /** The reader face paints the author's avatar small (`.certrev-r-face.sm`); every other avatar is the expert's. */
213
+ /**
214
+ * Whose avatar a broken photo is. The banner's two bylines take the same face (1.3.1; the author's was the small
215
+ * `.certrev-r-face.sm` before), so the person is read from the byline: the author's carries the plain "Written by"
216
+ * role, the reviewer's "Reviewed by" (`.on`), and the sidebar's and the memo's reviewer has no role at all.
217
+ */
211
218
  function photoPerson(img) {
212
- return img.parentElement?.classList.contains('sm') ? 'author' : 'expert';
219
+ return img.closest('.certrev-r-by')?.querySelector('.certrev-r-role:not(.on)') ? 'author' : 'expert';
213
220
  }
214
221
  /**
215
222
  * 1.2.0-canary.5: a pinned read paints only the design it pinned, a reader def at exactly that version. A def served
@@ -245,13 +252,16 @@ function ReaderEnvelopeFace(props) {
245
252
  * block that shows the whole card, a digest the verified content signs for the def's version, and a face whose UTF-8
246
253
  * bytes hash to it (`delivered-face.ts`). Suspends once while WebCrypto hashes a face it has not seen.
247
254
  */
248
- function deliveredFaceFor(payload, renderDef, face, props) {
255
+ function deliveredFaceFor(payload, renderDef, face, props,
256
+ /** 2.0.0: the hashes the read computed (`VerifiedDelivery.faceHashes`): then nothing suspends here. */
257
+ hashed) {
249
258
  if (!face || props.design || !showsWholeCard(props.part))
250
259
  return undefined;
251
260
  const digest = deliveredFaceDigest(payload.content, renderDef, face);
252
261
  if (!digest)
253
262
  return undefined;
254
- return deliveredFaceMatches(suspendOnFaceHashes(face), digest) ? face : undefined;
263
+ const hashes = hashed !== undefined ? hashed : suspendOnFaceHashes(face);
264
+ return deliveredFaceMatches(hashes, digest) ? face : undefined;
255
265
  }
256
266
  /**
257
267
  * 1.3.0: the delivered face, in the card's own wrapper (the same attributes as any envelope face, and
@@ -317,9 +327,78 @@ function OptionsFace(props) {
317
327
  function NoFace(props) {
318
328
  return _jsx("div", { hidden: true, [SEED_ATTRIBUTE]: props.record });
319
329
  }
320
- /** What a card with no verified envelope paints: the options face when CertREV was not reached, else nothing. */
321
- function settleWithoutEnvelope(props, unreachable) {
322
- const html = unreachable ? fallbackFace(props) : null;
330
+ /**
331
+ * 2.0.0: reports one fallback (`card-report.ts`) and renders nothing (no element, no marker: it changes no byte of the
332
+ * page). On a server it reports as it renders; in a browser, once it has mounted.
333
+ */
334
+ function FallbackReport(props) {
335
+ const { detail, server } = props;
336
+ if (server)
337
+ reportCardFallbackOnServer(detail);
338
+ React.useEffect(() => {
339
+ reportCardFallbackInBrowser(detail);
340
+ }, [detail]);
341
+ return null;
342
+ }
343
+ /** A face with its fallback report beside it. */
344
+ function withReport(face, reason, props, server, certId) {
345
+ const detail = {
346
+ reason,
347
+ platform: 'builder',
348
+ externalId: props.externalId,
349
+ ...(certId === undefined ? {} : { certId }),
350
+ };
351
+ return (_jsxs(_Fragment, { children: [face, _jsx(FallbackReport, { detail: detail, server: server })] }));
352
+ }
353
+ function contractOutcome(binding, rawCard, payload, props,
354
+ /** The digest the read computed (`VerifiedDelivery.cardDigest`): then nothing suspends here. */
355
+ digested) {
356
+ if (binding === 'unsupported')
357
+ return { kind: 'none', reason: 'card_unsupported_contract' };
358
+ // CertREV's replica pin: the signed card was painted for one design version; another pin gets nothing.
359
+ if (props.design && props.design.version !== binding.defVersion)
360
+ return { kind: 'none', reason: 'card_pin_mismatch' };
361
+ if (rawCard === undefined || rawCard === null)
362
+ return { kind: 'none', reason: 'card_missing' };
363
+ const card = parseCardDocument(rawCard);
364
+ if (!card || !cardMatchesPlacement(card, binding, payload, props.externalId)) {
365
+ return { kind: 'none', reason: 'card_verify_failed' };
366
+ }
367
+ let digest;
368
+ if (digested !== undefined) {
369
+ digest = digested;
370
+ }
371
+ else {
372
+ // A page's seed: the one suspension of this render (a render that read waits on nothing but its read).
373
+ const memo = cardDigestFor(card);
374
+ digest = memo.settled ? memo.settled.digest : suspendUntil(memo.pending);
375
+ }
376
+ if (!cardDigestMatches(digest, binding))
377
+ return { kind: 'none', reason: 'card_verify_failed' };
378
+ // A block with nothing of this design to print (a memo block of a memo-less card, or of a sidebar design) prints
379
+ // nothing, by design: not a fallback.
380
+ const names = cardPartsFor(card, props.part);
381
+ return names.length === 0 ? { kind: 'none' } : { kind: 'card', card, names };
382
+ }
383
+ /** The `'none'` record of a contract-1 placement, with its reason when it is a fallback. */
384
+ function contractNone(props, reason, server, certId) {
385
+ const record = serializeFallback({
386
+ baseUrl: props.baseUrl,
387
+ externalId: props.externalId,
388
+ ...(props.design ? { design: props.design } : {}),
389
+ face: 'none',
390
+ ...(reason ? { reason } : {}),
391
+ });
392
+ const face = _jsx(NoFace, { record: record });
393
+ return reason ? withReport(face, reason, props, server, certId) : face;
394
+ }
395
+ /**
396
+ * What a card with no verified envelope paints: the options face when CertREV was not reached, else nothing. 2.0.0:
397
+ * the same faces and records as 1.3.1, and two of them are now reported: the options face painted because CertREV
398
+ * was not reached (`delivery_unreachable`), and nothing painted because the envelope's kid is unknown (`unknown_key`).
399
+ */
400
+ function settleWithoutEnvelope(props, verdict, server) {
401
+ const html = verdict.unreachable ? fallbackFace(props) : null;
323
402
  const face = html === null ? 'none' : 'options';
324
403
  const record = serializeFallback({
325
404
  baseUrl: props.baseUrl,
@@ -327,7 +406,14 @@ function settleWithoutEnvelope(props, unreachable) {
327
406
  ...(props.design ? { design: props.design } : {}),
328
407
  face,
329
408
  });
330
- return html === null ? _jsx(NoFace, { record: record }) : _jsx(OptionsFace, { block: props.block, html: html, record: record });
409
+ if (html !== null) {
410
+ return withReport(_jsx(OptionsFace, { block: props.block, html: html, record: record }), 'delivery_unreachable', props, server);
411
+ }
412
+ const none = _jsx(NoFace, { record: record });
413
+ // A block with no options to paint when CertREV was not reached is reported too (break-it B5).
414
+ if (verdict.unreachable)
415
+ return withReport(none, 'delivery_unreachable', props, server);
416
+ return verdict.reason === 'unknown_key' ? withReport(none, 'unknown_key', props, server) : none;
331
417
  }
332
418
  /**
333
419
  * Paint what the page's record for this placement says: a seed its envelope (judged at the browser's clock first when
@@ -344,9 +430,25 @@ function paintRecord(record, props, context, judge) {
344
430
  return null;
345
431
  }
346
432
  }
433
+ const { seed } = record;
434
+ // 2.0.0: a seed whose signed binding names a contract prints the card it carries, only after the browser has
435
+ // checked it against that binding itself; otherwise nothing. Never a 1.3.1 face for such a placement.
436
+ const binding = acceptedCardBinding(seed.payload.content);
437
+ if (binding !== null) {
438
+ const outcome = contractOutcome(binding, seed.card, seed.payload, props);
439
+ if (outcome.kind === 'card')
440
+ return _jsx(ContractCardFace, { card: outcome.card, names: outcome.names, seed: record.raw });
441
+ // Hydrating over the card the server printed, which the browser could not confirm (no WebCrypto): adopt the
442
+ // server's element; the render right after hydration prints nothing in its place.
443
+ if (!judge && outcome.reason === 'card_verify_failed' && seed.card !== undefined)
444
+ return _jsx(ServerFaceUntilHydrated, {});
445
+ // Nothing of this design for this block (a memo block of a sidebar card): nothing, and no record of its own.
446
+ if (outcome.reason === undefined)
447
+ return null;
448
+ return contractNone(props, outcome.reason, false, seed.payload.certId);
449
+ }
347
450
  // 1.3.0: a seed that names a delivered face repaints it only after the browser hashes it against the seed
348
451
  // payload's own digest; otherwise the seed paints what 1.2.1 paints for it.
349
- const { seed } = record;
350
452
  const delivered = deliveredFaceFor(seed.payload, seed.renderDef, seed.face, props);
351
453
  if (delivered && seed.renderDef) {
352
454
  return _jsx(DeliveredEnvelopeFace, { face: delivered, defVersion: seed.renderDef.v, seed: record.raw });
@@ -357,7 +459,24 @@ function paintRecord(record, props, context, judge) {
357
459
  return paintEnvelope(seed.payload, seed.renderDef, props, record.raw);
358
460
  }
359
461
  const html = record.fallback.face === 'options' ? fallbackFace(props) : null;
360
- return html === null ? (_jsx(NoFace, { record: record.raw })) : (_jsx(OptionsFace, { block: props.block, html: html, record: record.raw }));
462
+ if (html !== null) {
463
+ return withReport(_jsx(OptionsFace, { block: props.block, html: html, record: record.raw }), 'delivery_unreachable', props, false);
464
+ }
465
+ const none = _jsx(NoFace, { record: record.raw });
466
+ // 2.0.0: a contract-1 placement's record names why it printed nothing; the browser reports it too.
467
+ const reason = record.fallback.reason;
468
+ return isFallbackReason(reason) ? withReport(none, reason, props, false) : none;
469
+ }
470
+ const FALLBACK_REASONS = [
471
+ 'card_missing',
472
+ 'card_verify_failed',
473
+ 'card_unsupported_contract',
474
+ 'card_pin_mismatch',
475
+ 'unknown_key',
476
+ 'delivery_unreachable',
477
+ ];
478
+ function isFallbackReason(value) {
479
+ return typeof value === 'string' && FALLBACK_REASONS.includes(value);
361
480
  }
362
481
  /** What a card the client mounts with no record and no `clientRead` paints: the options face, or nothing. */
363
482
  function clientMountFace(props) {
@@ -378,9 +497,10 @@ function StreamedRecordCard(props) {
378
497
  const record = React.useSyncExternalStore(subscribeStreamedRecords, () => streamedRecordFor(props.baseUrl, props.externalId, props.design), pendingRecord);
379
498
  if (record === 'pending')
380
499
  return null;
381
- if (record === 'done')
382
- return clientMountFace(props);
383
500
  const context = { platform: 'builder', externalId: props.externalId, now: new Date(rt.now()) };
501
+ // 2.0.0: the page loaded with no record for this placement: with `clientRead` (the default), the one read.
502
+ if (record === 'done')
503
+ return props.clientRead ? readAndPaint(props, context, true) : clientMountFace(props);
384
504
  return paintRecord(record, props, context, true);
385
505
  }
386
506
  const subscribeNever = () => () => { };
@@ -453,7 +573,8 @@ function EnvelopeCertReviewCard(props) {
453
573
  // 1.2.1, latched at mount: a client mount with no record and no `clientRead` while the page is still loading waits
454
574
  // for a record the server may still be streaming, for the card's whole life (so it never swaps components when the
455
575
  // record lands).
456
- const [awaitsStream] = React.useState(() => inBrowser && !hydrating && fromPage === undefined && !props.clientRead && document.readyState === 'loading');
576
+ // 2.0.0: whatever `clientRead` says: a card that read instead of waiting would miss the record the server streams.
577
+ const [awaitsStream] = React.useState(() => inBrowser && !hydrating && fromPage === undefined && document.readyState === 'loading');
457
578
  if (awaitsStream)
458
579
  return _jsx(StreamedRecordCard, { ...props });
459
580
  if (inBrowser) {
@@ -464,6 +585,14 @@ function EnvelopeCertReviewCard(props) {
464
585
  if (!props.clientRead)
465
586
  return clientMountFace(props);
466
587
  }
588
+ return readAndPaint(props, context, inBrowser);
589
+ }
590
+ /**
591
+ * The Delivery read and its paint: a server render's, or a browser's (`clientRead`). Suspends on the read, and (1.3.0)
592
+ * on a delivered face's hashes or (2.0.0) on a card document's digest.
593
+ */
594
+ function readAndPaint(props, context, inBrowser) {
595
+ const rt = cardDeliveryRuntime();
467
596
  const { design } = props;
468
597
  const read = {
469
598
  baseUrl: props.baseUrl,
@@ -472,7 +601,7 @@ function EnvelopeCertReviewCard(props) {
472
601
  context,
473
602
  cache: rt.cache,
474
603
  design,
475
- resolveKid: rt.resolveKid,
604
+ resolveKid: cardResolveKidFor(rt, props.baseUrl),
476
605
  fetchImpl: rt.fetchImpl(),
477
606
  timeoutMs: rt.timeoutMs,
478
607
  };
@@ -480,8 +609,9 @@ function EnvelopeCertReviewCard(props) {
480
609
  ? `${props.baseUrl}|${props.externalId}|design=${design.version}|${design.brand ?? ''}`
481
610
  : `${props.baseUrl}|${props.externalId}`;
482
611
  const settled = readVerifiedDelivery(read) ?? suspendOn(key, () => getVerifiedDelivery(read));
483
- if (settled.verdict.decision !== 'render')
484
- return settleWithoutEnvelope(props, settled.unreachable === true);
612
+ if (settled.verdict.decision !== 'render') {
613
+ return settleWithoutEnvelope(props, { unreachable: settled.unreachable === true, reason: settled.verdict.reason }, !inBrowser);
614
+ }
485
615
  // The face is painted from the seed's payload (what the def hides is already out of it), so the server's HTML and
486
616
  // the browser's, which paints from the seed, are the same bytes and neither holds a hidden field.
487
617
  const seed = seedFor({
@@ -492,9 +622,23 @@ function EnvelopeCertReviewCard(props) {
492
622
  signature: settled.signature,
493
623
  renderDef: settled.renderDef,
494
624
  });
625
+ // 2.0.0: a placement whose signed binding names a contract prints CertREV's card, or nothing; never a face of its own.
626
+ const binding = acceptedCardBinding(seed.payload.content);
627
+ if (binding !== null) {
628
+ const outcome = contractOutcome(binding, settled.card, seed.payload, props, settled.cardDigest);
629
+ if (outcome.kind === 'card') {
630
+ return (_jsx(ContractCardFace, { card: outcome.card, names: outcome.names, seed: serializeSeed({ ...seed, card: outcome.card }) }));
631
+ }
632
+ // Nothing of this design for this block, by design: nothing at all, and NO record. A record here would sit under the
633
+ // same placement as the block that printed the card (a split header and memo pair) and, read last on hydration,
634
+ // would take that block's card down (break-it B2).
635
+ if (outcome.reason === undefined)
636
+ return null;
637
+ return contractNone(props, outcome.reason, !inBrowser, seed.payload.certId);
638
+ }
495
639
  // 1.3.0: the server-rendered face the Delivery API served beside the envelope, when its bytes hash to the digest the
496
640
  // verified payload signs; the seed then carries it, so the browser can repaint (and re-check) the same face.
497
- const delivered = deliveredFaceFor(seed.payload, seed.renderDef, settled.face, props);
641
+ const delivered = deliveredFaceFor(seed.payload, seed.renderDef, settled.face, props, settled.faceHashes);
498
642
  if (delivered && seed.renderDef) {
499
643
  return (_jsx(DeliveredEnvelopeFace, { face: delivered, defVersion: seed.renderDef.v, seed: serializeSeed({ ...seed, face: delivered }) }));
500
644
  }
@@ -516,7 +660,7 @@ export function CertReviewCard(props) {
516
660
  const entryId = text(props.builderContext?.content?.id);
517
661
  if (!marker || !entryId)
518
662
  return null;
519
- return (_jsx(Suspense, { fallback: null, children: _jsx(EnvelopeCertReviewCard, { baseUrl: marker.baseUrl, externalId: entryId, mode: props.mode, part: props.part, design: design, block: props, clientRead: props.clientRead === true }) }));
663
+ return (_jsx(Suspense, { fallback: null, children: _jsx(EnvelopeCertReviewCard, { baseUrl: marker.baseUrl, externalId: entryId, mode: props.mode, part: props.part, design: design, block: props, clientRead: props.clientRead !== false }) }));
520
664
  }
521
665
  if (design)
522
666
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"cert-review-card.js","sourceRoot":"","sources":["../../src/builder/cert-review-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cert-review-card.js","sourceRoot":"","sources":["../../src/builder/cert-review-card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The contract-1 card face (2.0.0): one Builder block printing CertREV's server-rendered card verbatim.
3
+ *
4
+ * The block's wrapper holds, as its `dangerouslySetInnerHTML`, exactly `cardHtml(card, names)`: the block's part hosts
5
+ * in page order and, in the block holding the document's first part, the head fragment, both CertREV dialog hosts and
6
+ * the runtime's tag (`card-contract.ts`).
7
+ * Each host is a `<certrev-card>` with a declarative shadow root (`<template shadowrootmode="open">`), which the
8
+ * browser's HTML parser attaches as it reads the server's page: the card is complete with JavaScript off, and no page
9
+ * rule reaches inside it. React never reconciles the hosts (they are not React children), so the hosted runtime may
10
+ * remove a revoked placement's hosts without React noticing.
11
+ *
12
+ * What the parser does not do, the card does once it has mounted (`useCardRoots`):
13
+ * - ATTACH ROOTS the parser never saw. A card React inserts (an in-app navigation, Builder's editor, React's own
14
+ * re-render after a hydration error) gets its HTML through `innerHTML`, which leaves a declarative template inert.
15
+ * The wrapper is re-parsed with `setHTMLUnsafe`, which attaches declarative roots; a browser without it (or without
16
+ * declarative shadow DOM at all) gets each root attached from its template (`attachShadow` with the template's mode
17
+ * and options, then the template's content). A host that already has its root is left alone, so a hydrated card,
18
+ * whose roots the parser attached, is not touched.
19
+ * - LOAD THE RUNTIME a React-inserted `<script>` never runs: once per page, into `document.head`, with its SRI
20
+ * integrity and `crossorigin="anonymous"`, unless the runtime is already running (its global guard) or already
21
+ * injected. Only the block that prints the runtime's tag loads it (`cardCarriesAssets`). The server's HTML carries
22
+ * the same tag in that block's wrapper, which the parser runs; the runtime's init is idempotent, so it starts once.
23
+ * Both run in a layout effect, before the browser paints the inserted card, so a client-mounted card never shows an
24
+ * empty frame.
25
+ *
26
+ * ONE BUILDER RULE, for the sidebar card only. The card's rail is a right float that the article's copy flows around
27
+ * (the Appearance preview's layout, and every other CMS's). On a Builder page the block sits in Builder's own wrapper,
28
+ * a flex item of the flex column that holds the entry's blocks, and a flex item contains its floats: the block spans
29
+ * the column at the rail's height and no copy sits beside it. `BUILDER_CARD_FLOW_CSS` lets the float out of Builder's
30
+ * wrappers, as 1.2.0-canary.6 did for the reader face: in a column that holds a printed rail, above the card's own
31
+ * 820px breakpoint (below it the rail stacks as a block), the column lays its blocks out as blocks and still contains
32
+ * the float, and the rail's block and the card wrapper become plain blocks. It reaches nothing inside the card (the
33
+ * shadow root is out of its reach) and nothing on a page without a rail, or in a browser without `:has()`.
34
+ */
35
+ import * as React from 'react';
36
+ import { type CardDocumentV1, type CardPartName } from './card-contract.js';
37
+ /**
38
+ * Give every host in `wrapper` its declarative root: a no-op where the parser attached them all; else the wrapper is
39
+ * re-parsed from `html` with `setHTMLUnsafe` where the browser has it, or each pending root is attached from its
40
+ * template. Returns how many hosts were pending (for tests and the replica's evidence).
41
+ */
42
+ export declare function attachCardRoots(wrapper: Element, html: string): number;
43
+ /** Load the document's runtime once per page: unless it already runs, or this package already injected it. */
44
+ export declare function injectCardRuntime(card: CardDocumentV1): void;
45
+ /** Builder's wrappers around a printed rail let its float out (the header comment). */
46
+ export declare const BUILDER_CARD_FLOW_CSS: string;
47
+ export declare function ContractCardFace(props: {
48
+ readonly card: CardDocumentV1;
49
+ readonly names: readonly CardPartName[];
50
+ /** The record that names this card (`ssr-seed.ts`): the browser repaints it from here with no read. */
51
+ readonly seed: string;
52
+ }): React.JSX.Element;
53
+ //# sourceMappingURL=contract-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-card.d.ts","sourceRoot":"","sources":["../../src/builder/contract-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAA+B,MAAM,oBAAoB,CAAA;AAkCxG;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAkBtE;AAED,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAe5D;AAED,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,QAK9B,CAAA;AAEJ,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IACvC,uGAAuG;IACvG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB,qBAgCA"}
@@ -0,0 +1,141 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * The contract-1 card face (2.0.0): one Builder block printing CertREV's server-rendered card verbatim.
4
+ *
5
+ * The block's wrapper holds, as its `dangerouslySetInnerHTML`, exactly `cardHtml(card, names)`: the block's part hosts
6
+ * in page order and, in the block holding the document's first part, the head fragment, both CertREV dialog hosts and
7
+ * the runtime's tag (`card-contract.ts`).
8
+ * Each host is a `<certrev-card>` with a declarative shadow root (`<template shadowrootmode="open">`), which the
9
+ * browser's HTML parser attaches as it reads the server's page: the card is complete with JavaScript off, and no page
10
+ * rule reaches inside it. React never reconciles the hosts (they are not React children), so the hosted runtime may
11
+ * remove a revoked placement's hosts without React noticing.
12
+ *
13
+ * What the parser does not do, the card does once it has mounted (`useCardRoots`):
14
+ * - ATTACH ROOTS the parser never saw. A card React inserts (an in-app navigation, Builder's editor, React's own
15
+ * re-render after a hydration error) gets its HTML through `innerHTML`, which leaves a declarative template inert.
16
+ * The wrapper is re-parsed with `setHTMLUnsafe`, which attaches declarative roots; a browser without it (or without
17
+ * declarative shadow DOM at all) gets each root attached from its template (`attachShadow` with the template's mode
18
+ * and options, then the template's content). A host that already has its root is left alone, so a hydrated card,
19
+ * whose roots the parser attached, is not touched.
20
+ * - LOAD THE RUNTIME a React-inserted `<script>` never runs: once per page, into `document.head`, with its SRI
21
+ * integrity and `crossorigin="anonymous"`, unless the runtime is already running (its global guard) or already
22
+ * injected. Only the block that prints the runtime's tag loads it (`cardCarriesAssets`). The server's HTML carries
23
+ * the same tag in that block's wrapper, which the parser runs; the runtime's init is idempotent, so it starts once.
24
+ * Both run in a layout effect, before the browser paints the inserted card, so a client-mounted card never shows an
25
+ * empty frame.
26
+ *
27
+ * ONE BUILDER RULE, for the sidebar card only. The card's rail is a right float that the article's copy flows around
28
+ * (the Appearance preview's layout, and every other CMS's). On a Builder page the block sits in Builder's own wrapper,
29
+ * a flex item of the flex column that holds the entry's blocks, and a flex item contains its floats: the block spans
30
+ * the column at the rail's height and no copy sits beside it. `BUILDER_CARD_FLOW_CSS` lets the float out of Builder's
31
+ * wrappers, as 1.2.0-canary.6 did for the reader face: in a column that holds a printed rail, above the card's own
32
+ * 820px breakpoint (below it the rail stacks as a block), the column lays its blocks out as blocks and still contains
33
+ * the float, and the rail's block and the card wrapper become plain blocks. It reaches nothing inside the card (the
34
+ * shadow root is out of its reach) and nothing on a page without a rail, or in a browser without `:has()`.
35
+ */
36
+ import * as React from 'react';
37
+ import { cardCarriesAssets, cardHtml } from './card-contract.js';
38
+ import { SEED_ATTRIBUTE } from './ssr-seed.js';
39
+ /** The global the hosted runtime sets once it has started (`Symbol.for('certrev.card-runtime')` on `document`). */
40
+ const RUNTIME_GUARD = Symbol.for('certrev.card-runtime');
41
+ /** Marks the runtime tag this package injected into `document.head`. */
42
+ const INJECTED_RUNTIME_ATTRIBUTE = 'data-certrev-card-runtime';
43
+ /** A layout effect in a browser; nothing on a server (where React would only warn about it). */
44
+ const useBrowserLayoutEffect = typeof document === 'undefined' ? () => { } : React.useLayoutEffect;
45
+ /** Whether this host still holds an unattached declarative root. */
46
+ function pendingTemplate(host) {
47
+ if (host.shadowRoot)
48
+ return null;
49
+ for (const child of Array.from(host.children)) {
50
+ if (child instanceof HTMLTemplateElement && child.hasAttribute('shadowrootmode'))
51
+ return child;
52
+ }
53
+ return null;
54
+ }
55
+ /** Attach one host's root from its template, as the parser would have: its mode, its options, its content. */
56
+ function attachFromTemplate(host, template) {
57
+ const mode = template.getAttribute('shadowrootmode') === 'closed' ? 'closed' : 'open';
58
+ const init = {
59
+ mode,
60
+ delegatesFocus: template.hasAttribute('shadowrootdelegatesfocus'),
61
+ ...(template.hasAttribute('shadowrootclonable') ? { clonable: true } : {}),
62
+ ...(template.hasAttribute('shadowrootserializable') ? { serializable: true } : {}),
63
+ };
64
+ const root = host.attachShadow(init);
65
+ root.appendChild(template.content);
66
+ template.remove();
67
+ }
68
+ /**
69
+ * Give every host in `wrapper` its declarative root: a no-op where the parser attached them all; else the wrapper is
70
+ * re-parsed from `html` with `setHTMLUnsafe` where the browser has it, or each pending root is attached from its
71
+ * template. Returns how many hosts were pending (for tests and the replica's evidence).
72
+ */
73
+ export function attachCardRoots(wrapper, html) {
74
+ const pending = Array.from(wrapper.querySelectorAll('certrev-card')).filter((host) => pendingTemplate(host) !== null);
75
+ if (pending.length === 0)
76
+ return 0;
77
+ const parse = wrapper.setHTMLUnsafe;
78
+ if (typeof parse === 'function') {
79
+ parse.call(wrapper, html);
80
+ // A browser whose setHTMLUnsafe predates declarative roots leaves templates behind: attach those by hand.
81
+ for (const host of Array.from(wrapper.querySelectorAll('certrev-card'))) {
82
+ const template = pendingTemplate(host);
83
+ if (template)
84
+ attachFromTemplate(host, template);
85
+ }
86
+ return pending.length;
87
+ }
88
+ for (const host of pending) {
89
+ const template = pendingTemplate(host);
90
+ if (template)
91
+ attachFromTemplate(host, template);
92
+ }
93
+ return pending.length;
94
+ }
95
+ /** Load the document's runtime once per page: unless it already runs, or this package already injected it. */
96
+ export function injectCardRuntime(card) {
97
+ const runtime = card.assets.runtime;
98
+ if (!runtime || typeof document === 'undefined' || !document.head)
99
+ return;
100
+ if (document[RUNTIME_GUARD])
101
+ return;
102
+ for (const script of Array.from(document.head.querySelectorAll(`script[${INJECTED_RUNTIME_ATTRIBUTE}]`))) {
103
+ if (script.getAttribute('src') === runtime.src)
104
+ return;
105
+ }
106
+ const script = document.createElement('script');
107
+ // Attributes, not IDL properties: the markup is then exactly the server's tag, wherever a property is not reflected.
108
+ script.setAttribute('src', runtime.src);
109
+ script.setAttribute('integrity', runtime.integrity);
110
+ script.setAttribute('crossorigin', 'anonymous');
111
+ script.defer = true;
112
+ script.setAttribute(INJECTED_RUNTIME_ATTRIBUTE, '');
113
+ document.head.appendChild(script);
114
+ }
115
+ /** Builder's wrappers around a printed rail let its float out (the header comment). */
116
+ export const BUILDER_CARD_FLOW_CSS = '@media not all and (max-width: 820px){' +
117
+ '.builder-blocks:has(> .builder-block > [data-certrev-face="card"] > certrev-card[data-certrev-part="rail"]){display:flow-root !important}' +
118
+ '.builder-blocks > .builder-block:has(> [data-certrev-face="card"] > certrev-card[data-certrev-part="rail"]){display:block !important}' +
119
+ '.builder-blocks > .builder-block > [data-certrev-face="card"]:has(> certrev-card[data-certrev-part="rail"]){display:block !important}' +
120
+ '}';
121
+ export function ContractCardFace(props) {
122
+ const ref = React.useRef(null);
123
+ const html = cardHtml(props.card, props.names);
124
+ const { card } = props;
125
+ const carriesAssets = cardCarriesAssets(card, props.names);
126
+ useBrowserLayoutEffect(() => {
127
+ const wrapper = ref.current;
128
+ if (!wrapper)
129
+ return;
130
+ attachCardRoots(wrapper, html);
131
+ if (carriesAssets)
132
+ injectCardRuntime(card);
133
+ }, [html, card, carriesAssets]);
134
+ const wrapper = (_jsx("div", { ref: ref, "data-certrev-cert-chrome": "", "data-certrev-delivery": "", "data-certrev-face": "card", "data-certrev-contract": String(props.card.contract), "data-certrev-def-version": props.card.defVersion, [SEED_ATTRIBUTE]: props.seed,
135
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: CertREV's card document, printed only after it hashes to the digest the verified envelope signs
136
+ dangerouslySetInnerHTML: { __html: html } }));
137
+ if (!props.names.includes('rail'))
138
+ return wrapper;
139
+ return (_jsxs(_Fragment, { children: [wrapper, _jsx("style", { "data-certrev-builder-flow": "", dangerouslySetInnerHTML: { __html: BUILDER_CARD_FLOW_CSS } })] }));
140
+ }
141
+ //# sourceMappingURL=contract-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-card.js","sourceRoot":"","sources":["../../src/builder/contract-card.tsx"],"names":[],"mappings":"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"}
@@ -56,6 +56,15 @@ export declare function hashDeliveredFace(face: DeliveredFace): Promise<Delivere
56
56
  export declare function deliveredFaceMatches(hashes: DeliveredFaceHashes | null, digest: CertFaceDigest): boolean;
57
57
  /** The markup the card paints for a matching face: the stylesheet first, then the face. */
58
58
  export declare function deliveredFaceHtml(face: DeliveredFace): string;
59
+ /**
60
+ * Make room in a memo of pending-then-settled work: drop the oldest SETTLED entry once the memo is full, never a pending
61
+ * one. A render suspends on a pending entry and, when React retries it, must find that entry again; evicting it would make
62
+ * every retry start (and suspend on) a new one, so a page with more documents than the memo holds would never finish
63
+ * (break-it B1). With nothing settled to drop, the memo grows past its bound until entries settle.
64
+ */
65
+ export declare function evictOldestSettled<V extends {
66
+ settled?: unknown;
67
+ }>(memo: Map<string, V>, max: number): void;
59
68
  /** One face's hashing: the pending digest, and its answer once settled. */
60
69
  export interface FaceHashMemo {
61
70
  readonly pending: Promise<DeliveredFaceHashes | null>;