@certrev/cert-block 1.2.1 → 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.
- package/CHANGELOG.md +230 -0
- package/README.md +135 -8
- package/dist/builder/card-contract.d.ts +143 -0
- package/dist/builder/card-contract.d.ts.map +1 -0
- package/dist/builder/card-contract.js +262 -0
- package/dist/builder/card-contract.js.map +1 -0
- package/dist/builder/card-report.d.ts +37 -0
- package/dist/builder/card-report.d.ts.map +1 -0
- package/dist/builder/card-report.js +43 -0
- package/dist/builder/card-report.js.map +1 -0
- package/dist/builder/cert-review-card.d.ts +7 -5
- package/dist/builder/cert-review-card.d.ts.map +1 -1
- package/dist/builder/cert-review-card.js +227 -18
- package/dist/builder/cert-review-card.js.map +1 -1
- package/dist/builder/contract-card.d.ts +53 -0
- package/dist/builder/contract-card.d.ts.map +1 -0
- package/dist/builder/contract-card.js +141 -0
- package/dist/builder/contract-card.js.map +1 -0
- package/dist/builder/delivered-face.d.ts +83 -0
- package/dist/builder/delivered-face.d.ts.map +1 -0
- package/dist/builder/delivered-face.js +135 -0
- package/dist/builder/delivered-face.js.map +1 -0
- package/dist/builder/delivery-runtime.d.ts +15 -1
- package/dist/builder/delivery-runtime.d.ts.map +1 -1
- package/dist/builder/delivery-runtime.js +26 -1
- package/dist/builder/delivery-runtime.js.map +1 -1
- package/dist/builder/index.d.ts +7 -1
- package/dist/builder/index.d.ts.map +1 -1
- package/dist/builder/index.js +8 -1
- package/dist/builder/index.js.map +1 -1
- package/dist/builder/ssr-seed.d.ts +31 -1
- package/dist/builder/ssr-seed.d.ts.map +1 -1
- package/dist/builder/ssr-seed.js +38 -4
- package/dist/builder/ssr-seed.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/reader/reader-css.generated.d.ts +1 -1
- package/dist/reader/reader-css.generated.d.ts.map +1 -1
- package/dist/reader/reader-css.generated.js +1 -1
- package/dist/reader/reader-css.generated.js.map +1 -1
- package/dist/reader/render.d.ts.map +1 -1
- package/dist/reader/render.js +71 -34
- package/dist/reader/render.js.map +1 -1
- package/dist/reader/tokens.d.ts +2 -0
- package/dist/reader/tokens.d.ts.map +1 -1
- package/dist/reader/tokens.js +28 -6
- package/dist/reader/tokens.js.map +1 -1
- package/dist/verify/get-verified-delivery.d.ts +56 -0
- package/dist/verify/get-verified-delivery.d.ts.map +1 -1
- package/dist/verify/get-verified-delivery.js +49 -4
- package/dist/verify/get-verified-delivery.js.map +1 -1
- package/dist/verify/key-set.d.ts +67 -0
- package/dist/verify/key-set.d.ts.map +1 -0
- package/dist/verify/key-set.js +190 -0
- package/dist/verify/key-set.js.map +1 -0
- package/package.json +115 -112
- package/src/builder/card-contract.ts +314 -0
- package/src/builder/card-report.ts +61 -0
- package/src/builder/cert-review-card.tsx +332 -26
- package/src/builder/contract-card.tsx +159 -0
- package/src/builder/delivered-face.ts +156 -0
- package/src/builder/delivery-runtime.ts +32 -1
- package/src/builder/index.tsx +16 -1
- package/src/builder/ssr-seed.ts +56 -4
- package/src/index.ts +12 -0
- package/src/reader/reader-css.generated.ts +1 -1
- package/src/reader/reader.css +297 -2
- package/src/reader/render.ts +87 -38
- package/src/reader/tokens.ts +29 -6
- package/src/verify/get-verified-delivery.ts +85 -4
- package/src/verify/key-set.ts +225 -0
|
@@ -25,9 +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';
|
|
30
|
-
import {
|
|
32
|
+
import { ContractCardFace } from './contract-card.js';
|
|
33
|
+
import { deliveredFaceDigest, deliveredFaceHtml, deliveredFaceMatches, faceHashesFor, showsWholeCard, } from './delivered-face.js';
|
|
34
|
+
import { cardDeliveryRuntime, cardResolveKidFor } from './delivery-runtime.js';
|
|
31
35
|
import { envelopeCardHtml, envelopeCardInput, isReaderFaceDef } from './envelope-face.js';
|
|
32
36
|
import { pageHoldsServerHtml, pageRecordFor, SEED_ATTRIBUTE, seedFor, serializeFallback, serializeSeed, streamedRecordFor, subscribeStreamedRecords, watchStreamedRecords, withoutPhotos, } from './ssr-seed.js';
|
|
33
37
|
/**
|
|
@@ -111,11 +115,23 @@ function suspendOn(key, start) {
|
|
|
111
115
|
pending = start().finally(() => inflightReads.delete(key));
|
|
112
116
|
inflightReads.set(key, pending);
|
|
113
117
|
}
|
|
118
|
+
return suspendUntil(pending);
|
|
119
|
+
}
|
|
120
|
+
/** `use` where React has it (19), else the thrown promise (18). */
|
|
121
|
+
function suspendUntil(pending) {
|
|
114
122
|
const use = React.use;
|
|
115
123
|
if (typeof use === 'function')
|
|
116
124
|
return use(pending);
|
|
117
125
|
throw pending;
|
|
118
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* 1.3.0: a delivered face's two digests, suspending once while WebCrypto computes them (`faceHashesFor` memoizes them
|
|
129
|
+
* by the face's content, so every later render of the same face, server or browser, reads them at once).
|
|
130
|
+
*/
|
|
131
|
+
function suspendOnFaceHashes(face) {
|
|
132
|
+
const memo = faceHashesFor(face);
|
|
133
|
+
return memo.settled ? memo.settled.hashes : suspendUntil(memo.pending);
|
|
134
|
+
}
|
|
119
135
|
/**
|
|
120
136
|
* 1.2.0-canary.6: the reader sidebar card is a right float that the article's copy flows around, as it does on a
|
|
121
137
|
* WordPress or Shopify page. On a Builder page the card sits in its own block, a flex item of the flex column that holds
|
|
@@ -186,13 +202,21 @@ function EnvelopeFace(props) {
|
|
|
186
202
|
el.addEventListener('error', onError, true);
|
|
187
203
|
return () => el.removeEventListener('error', onError, true);
|
|
188
204
|
}, [onBrokenPhoto]);
|
|
189
|
-
return withSidebarFlow(props.reader, _jsx("div", { ref: ref, "data-certrev-cert-chrome": "", "data-certrev-delivery": "", "data-certrev-strings-version": CERT_STRINGS_VERSION, "data-certrev-def-version": props.defVersion, [SEED_ATTRIBUTE]: props.seed, ...(props.reader
|
|
190
|
-
|
|
205
|
+
return withSidebarFlow(props.reader, _jsx("div", { ref: ref, "data-certrev-cert-chrome": "", "data-certrev-delivery": "", "data-certrev-strings-version": CERT_STRINGS_VERSION, "data-certrev-def-version": props.defVersion, [SEED_ATTRIBUTE]: props.seed, ...(props.reader
|
|
206
|
+
? { 'data-certrev-face': 'reader', style: { display: 'flow-root' } }
|
|
207
|
+
: props.delivered
|
|
208
|
+
? { 'data-certrev-face': 'delivered' }
|
|
209
|
+
: {}),
|
|
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
|
|
191
211
|
dangerouslySetInnerHTML: { __html: props.html } }));
|
|
192
212
|
}
|
|
193
|
-
/**
|
|
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
|
+
*/
|
|
194
218
|
function photoPerson(img) {
|
|
195
|
-
return img.
|
|
219
|
+
return img.closest('.certrev-r-by')?.querySelector('.certrev-r-role:not(.on)') ? 'author' : 'expert';
|
|
196
220
|
}
|
|
197
221
|
/**
|
|
198
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
|
|
@@ -223,6 +247,41 @@ function ReaderEnvelopeFace(props) {
|
|
|
223
247
|
// faces (card-reader-css.ts), so the card asks the page's CSP for nothing.
|
|
224
248
|
html: `<style data-certrev-reader-css>${CARD_READER_CSS}</style>${reader}`, defVersion: props.renderDef.v, seed: props.seed, onBrokenPhoto: onBrokenPhoto }));
|
|
225
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* 1.3.0: the delivered face this paint may use, or undefined (paint what 1.2.1 paints). Only for an unpinned card on a
|
|
252
|
+
* block that shows the whole card, a digest the verified content signs for the def's version, and a face whose UTF-8
|
|
253
|
+
* bytes hash to it (`delivered-face.ts`). Suspends once while WebCrypto hashes a face it has not seen.
|
|
254
|
+
*/
|
|
255
|
+
function deliveredFaceFor(payload, renderDef, face, props,
|
|
256
|
+
/** 2.0.0: the hashes the read computed (`VerifiedDelivery.faceHashes`): then nothing suspends here. */
|
|
257
|
+
hashed) {
|
|
258
|
+
if (!face || props.design || !showsWholeCard(props.part))
|
|
259
|
+
return undefined;
|
|
260
|
+
const digest = deliveredFaceDigest(payload.content, renderDef, face);
|
|
261
|
+
if (!digest)
|
|
262
|
+
return undefined;
|
|
263
|
+
const hashes = hashed !== undefined ? hashed : suspendOnFaceHashes(face);
|
|
264
|
+
return deliveredFaceMatches(hashes, digest) ? face : undefined;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* 1.3.0: the delivered face, in the card's own wrapper (the same attributes as any envelope face, and
|
|
268
|
+
* `data-certrev-face="delivered"`): the server's stylesheet, then its markup. `seed` is the record that names it.
|
|
269
|
+
*/
|
|
270
|
+
function DeliveredEnvelopeFace(props) {
|
|
271
|
+
return _jsx(EnvelopeFace, { delivered: true, html: deliveredFaceHtml(props.face), defVersion: props.defVersion, seed: props.seed });
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* 1.3.0: what a card hydrating a seed that names a delivered face renders when the browser's own check of that face
|
|
275
|
+
* fails (no WebCrypto: an insecure context; or bytes that do not hash to the seed's digest). The server painted the
|
|
276
|
+
* delivered face there, and the browser must not render that markup, so this adopts the server's element as it stands
|
|
277
|
+
* (no attribute or innerHTML compared: `suppressHydrationWarning`; no children hydrated: `dangerouslySetInnerHTML`)
|
|
278
|
+
* and paints nothing of its own. The render right after hydration (at the browser's clock) is another component, so
|
|
279
|
+
* React replaces this element with the face 1.2.1 paints for the seed.
|
|
280
|
+
*/
|
|
281
|
+
function ServerFaceUntilHydrated() {
|
|
282
|
+
// biome-ignore lint/security/noDangerouslySetInnerHtml: an empty string; it only stops React hydrating the server's children
|
|
283
|
+
return _jsx("div", { suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: '' } });
|
|
284
|
+
}
|
|
226
285
|
/** Paint a verified payload with its def; null when the def and content give no face. */
|
|
227
286
|
function paintEnvelope(payload, renderDef, props, seed) {
|
|
228
287
|
if (!pinnedDefHolds(props.design, renderDef))
|
|
@@ -268,9 +327,78 @@ function OptionsFace(props) {
|
|
|
268
327
|
function NoFace(props) {
|
|
269
328
|
return _jsx("div", { hidden: true, [SEED_ATTRIBUTE]: props.record });
|
|
270
329
|
}
|
|
271
|
-
/**
|
|
272
|
-
|
|
273
|
-
|
|
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;
|
|
274
402
|
const face = html === null ? 'none' : 'options';
|
|
275
403
|
const record = serializeFallback({
|
|
276
404
|
baseUrl: props.baseUrl,
|
|
@@ -278,7 +406,14 @@ function settleWithoutEnvelope(props, unreachable) {
|
|
|
278
406
|
...(props.design ? { design: props.design } : {}),
|
|
279
407
|
face,
|
|
280
408
|
});
|
|
281
|
-
|
|
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;
|
|
282
417
|
}
|
|
283
418
|
/**
|
|
284
419
|
* Paint what the page's record for this placement says: a seed its envelope (judged at the browser's clock first when
|
|
@@ -295,10 +430,53 @@ function paintRecord(record, props, context, judge) {
|
|
|
295
430
|
return null;
|
|
296
431
|
}
|
|
297
432
|
}
|
|
298
|
-
|
|
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
|
+
}
|
|
450
|
+
// 1.3.0: a seed that names a delivered face repaints it only after the browser hashes it against the seed
|
|
451
|
+
// payload's own digest; otherwise the seed paints what 1.2.1 paints for it.
|
|
452
|
+
const delivered = deliveredFaceFor(seed.payload, seed.renderDef, seed.face, props);
|
|
453
|
+
if (delivered && seed.renderDef) {
|
|
454
|
+
return _jsx(DeliveredEnvelopeFace, { face: delivered, defVersion: seed.renderDef.v, seed: record.raw });
|
|
455
|
+
}
|
|
456
|
+
// Hydrating (not `judge`) over the delivered face the server painted, which the browser could not confirm.
|
|
457
|
+
if (seed.face && !judge)
|
|
458
|
+
return _jsx(ServerFaceUntilHydrated, {});
|
|
459
|
+
return paintEnvelope(seed.payload, seed.renderDef, props, record.raw);
|
|
299
460
|
}
|
|
300
461
|
const html = record.fallback.face === 'options' ? fallbackFace(props) : null;
|
|
301
|
-
|
|
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);
|
|
302
480
|
}
|
|
303
481
|
/** What a card the client mounts with no record and no `clientRead` paints: the options face, or nothing. */
|
|
304
482
|
function clientMountFace(props) {
|
|
@@ -319,9 +497,10 @@ function StreamedRecordCard(props) {
|
|
|
319
497
|
const record = React.useSyncExternalStore(subscribeStreamedRecords, () => streamedRecordFor(props.baseUrl, props.externalId, props.design), pendingRecord);
|
|
320
498
|
if (record === 'pending')
|
|
321
499
|
return null;
|
|
322
|
-
if (record === 'done')
|
|
323
|
-
return clientMountFace(props);
|
|
324
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);
|
|
325
504
|
return paintRecord(record, props, context, true);
|
|
326
505
|
}
|
|
327
506
|
const subscribeNever = () => () => { };
|
|
@@ -394,7 +573,8 @@ function EnvelopeCertReviewCard(props) {
|
|
|
394
573
|
// 1.2.1, latched at mount: a client mount with no record and no `clientRead` while the page is still loading waits
|
|
395
574
|
// for a record the server may still be streaming, for the card's whole life (so it never swaps components when the
|
|
396
575
|
// record lands).
|
|
397
|
-
|
|
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');
|
|
398
578
|
if (awaitsStream)
|
|
399
579
|
return _jsx(StreamedRecordCard, { ...props });
|
|
400
580
|
if (inBrowser) {
|
|
@@ -405,6 +585,14 @@ function EnvelopeCertReviewCard(props) {
|
|
|
405
585
|
if (!props.clientRead)
|
|
406
586
|
return clientMountFace(props);
|
|
407
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();
|
|
408
596
|
const { design } = props;
|
|
409
597
|
const read = {
|
|
410
598
|
baseUrl: props.baseUrl,
|
|
@@ -413,7 +601,7 @@ function EnvelopeCertReviewCard(props) {
|
|
|
413
601
|
context,
|
|
414
602
|
cache: rt.cache,
|
|
415
603
|
design,
|
|
416
|
-
resolveKid: rt.
|
|
604
|
+
resolveKid: cardResolveKidFor(rt, props.baseUrl),
|
|
417
605
|
fetchImpl: rt.fetchImpl(),
|
|
418
606
|
timeoutMs: rt.timeoutMs,
|
|
419
607
|
};
|
|
@@ -421,8 +609,9 @@ function EnvelopeCertReviewCard(props) {
|
|
|
421
609
|
? `${props.baseUrl}|${props.externalId}|design=${design.version}|${design.brand ?? ''}`
|
|
422
610
|
: `${props.baseUrl}|${props.externalId}`;
|
|
423
611
|
const settled = readVerifiedDelivery(read) ?? suspendOn(key, () => getVerifiedDelivery(read));
|
|
424
|
-
if (settled.verdict.decision !== 'render')
|
|
425
|
-
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
|
+
}
|
|
426
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
|
|
427
616
|
// the browser's, which paints from the seed, are the same bytes and neither holds a hidden field.
|
|
428
617
|
const seed = seedFor({
|
|
@@ -433,6 +622,26 @@ function EnvelopeCertReviewCard(props) {
|
|
|
433
622
|
signature: settled.signature,
|
|
434
623
|
renderDef: settled.renderDef,
|
|
435
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
|
+
}
|
|
639
|
+
// 1.3.0: the server-rendered face the Delivery API served beside the envelope, when its bytes hash to the digest the
|
|
640
|
+
// verified payload signs; the seed then carries it, so the browser can repaint (and re-check) the same face.
|
|
641
|
+
const delivered = deliveredFaceFor(seed.payload, seed.renderDef, settled.face, props, settled.faceHashes);
|
|
642
|
+
if (delivered && seed.renderDef) {
|
|
643
|
+
return (_jsx(DeliveredEnvelopeFace, { face: delivered, defVersion: seed.renderDef.v, seed: serializeSeed({ ...seed, face: delivered }) }));
|
|
644
|
+
}
|
|
436
645
|
return paintEnvelope(seed.payload, seed.renderDef, props, serializeSeed(seed));
|
|
437
646
|
}
|
|
438
647
|
export function CertReviewCard(props) {
|
|
@@ -451,7 +660,7 @@ export function CertReviewCard(props) {
|
|
|
451
660
|
const entryId = text(props.builderContext?.content?.id);
|
|
452
661
|
if (!marker || !entryId)
|
|
453
662
|
return null;
|
|
454
|
-
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
|
|
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 }) }));
|
|
455
664
|
}
|
|
456
665
|
if (design)
|
|
457
666
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert-review-card.js","sourceRoot":"","sources":["../../src/builder/cert-review-card.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAsB,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACxF,OAAO,EAAE,oBAAoB,EAA2B,MAAM,6BAA6B,CAAA;AAC3F,OAAO,EAAoB,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAEN,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GAEpB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAGN,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,GACb,MAAM,eAAe,CAAA;AAEtB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAA;AA4CjD;;;;;;;;;GASG;AACH,SAAS,IAAI,CAAC,KAAc;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC;AAED,yFAAyF;AACzF,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAA;AAChC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,IAAiE;IACzF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxC,OAAO,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpF,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,KAA2C,CAAA;IAClE,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACvD,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtF,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;IACvC,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAA;IACzE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqC,CAAA;AAClE,SAAS,SAAS,CAAC,GAAW,EAAE,KAAsC;IACrE,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1D,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,GAAG,GAAI,KAAsD,CAAC,GAAG,CAAA;IACvE,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,OAAO,CAAA;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACpC,wCAAwC;IACxC,wIAAwI;IACxI,oIAAoI;IACpI,oIAAoI;IACpI,GAAG,CAAA;AAEJ,mHAAmH;AACnH,SAAS,eAAe,CAAC,MAA2B,EAAE,IAAwB;IAC7E,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,CACN,8BACE,IAAI,EAEL,6CAAiC,EAAE,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAI,IACnG,CACH,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,YAAY,CAAC,KAQrB;IACA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC/B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE;YAAE,OAAM;QACf,MAAM,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACtD,CAAC,CAAA;QACD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa;YAAE,OAAM;QACjC,iGAAiG;QACjG,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC;YAC5E,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC;gBAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/G,CAAC;QACD,2EAA2E;QAC3E,MAAM,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAA;YACpB,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;YAChC,CAAC;QACF,CAAC,CAAA;QACD,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IACnB,OAAO,eAAe,CACrB,KAAK,CAAC,MAAM,EACZ,cACC,GAAG,EAAE,GAAG,8BACiB,EAAE,2BAGL,EAAE,kCACM,oBAAoB,8BACxB,KAAK,CAAC,UAAU,EACpC,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,KAC9B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,iHAAiH;QACjH,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAC9C,CACF,CAAA;AACF,CAAC;AAID,mHAAmH;AACnH,SAAS,WAAW,CAAC,GAAqB;IACzC,OAAO,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;AACzE,CAAC;AAaD;;;GAGG;AACH,SAAS,cAAc,CAAC,MAA6B,EAAE,SAAqC;IAC3F,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,KAK3B;IACA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAyB,EAAE,CAAC,CAAA;IACtE,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACtC,CAAC,MAAmB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAC5F,EAAE,CACF,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IACxF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE;QACjE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAA;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,OAAO,CACN,KAAC,YAAY,IACZ,MAAM;QACN,oGAAoG;QACpG,2EAA2E;QAC3E,IAAI,EAAE,kCAAkC,eAAe,WAAW,MAAM,EAAE,EAC1E,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,aAAa,EAAE,aAAa,GAC3B,CACF,CAAA;AACF,CAAC;AAED,yFAAyF;AACzF,SAAS,aAAa,CACrB,OAAoB,EACpB,SAAqC,EACrC,KAAwB,EACxB,IAAY;IAEZ,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IACzD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtD,kHAAkH;IAClH,iGAAiG;IACjG,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;QAC7C,qGAAqG;QACrG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAChH,OAAO,IAAI,CAAA;QACZ,OAAO,KAAC,kBAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAA;IAC/F,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACnG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAI,CAAA;AAC1F,CAAC;AAED,MAAM,gBAAgB,GAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAE7E;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACvB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA;IACtC,MAAM,IAAI,GACT,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACtE,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChE,CAAC,CAAE,MAAwB;YAC3B,CAAC,CAAC,SAAS,CAAA;IACd,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC;AAED,0GAA0G;AAC1G,SAAS,WAAW,CAAC,KAA+F;IACnH,OAAO,CACN,0CAC0B,EAAE,kCAIG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,8BAC5C,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KACxG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1E,iHAAiH;QACjH,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,GAC9C,CACF,CAAA;AACF,CAAC;AAED,iGAAiG;AACjG,SAAS,MAAM,CAAC,KAAkC;IACjD,OAAO,cAAK,MAAM,QAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAM,CAAA;AAC9D,CAAC;AAED,iHAAiH;AACjH,SAAS,qBAAqB,CAAC,KAAwB,EAAE,WAAoB;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,MAAM,IAAI,GAAiB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,IAAI;KACJ,CAAC,CAAA;IACF,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;AACpH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CACnB,MAAkB,EAClB,KAAwB,EACxB,OAA4C,EAC5C,KAAc;IAEd,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBACJ,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAA;YACnF,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5E,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CACtB,KAAC,MAAM,IAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAI,CAC9B,CAAC,CAAC,CAAC,CACH,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,GAAI,CACnE,CAAA;AACF,CAAC;AAED,6GAA6G;AAC7G,SAAS,eAAe,CAAC,KAAwB;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAA;AAC9E,CAAC;AAED,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,SAAkB,CAAA;AAE9C;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,KAAwB;IACnD,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAChC,+GAA+G;IAC/G,oBAAoB,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CACxC,wBAAwB,EACxB,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACtE,aAAa,CACb,CAAA;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAA;IAC9F,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;AAErC;;;;;;;GAOG;AACH,SAAS,YAAY;IACpB,OAAO,KAAK,CAAC,oBAAoB,CAChC,cAAc,EACd,GAAG,EAAE,CAAC,KAAK,EACX,GAAG,EAAE,CAAC,IAAI,CACV,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAS,sBAAsB,CAAC,KAAwB;IACvD,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAChC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,uFAAuF;IACvF,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjD,mGAAmG;IACnG,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAA;IAC9F,mHAAmH;IACnH,uEAAuE;IACvE,MAAM,QAAQ,GACb,OAAO,QAAQ,KAAK,WAAW;QAC9B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IACrF,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,mBAAmB,EAAE,CAAC,CAAA;IACpH,mHAAmH;IACnH,mHAAmH;IACnH,iBAAiB;IACjB,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpC,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,CACjH,CAAA;IACD,IAAI,YAAY;QAAE,OAAO,KAAC,kBAAkB,OAAK,KAAK,GAAI,CAAA;IAC1D,IAAI,SAAS,EAAE,CAAC;QACf,IAAI,QAAQ;YAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;QACtE,IAAI,aAAa;YAAE,OAAO,IAAI,CAAA;QAC9B,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;IACxB,MAAM,IAAI,GAAG;QACZ,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO;QACP,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,MAAM;QACN,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE;QACzB,SAAS,EAAE,EAAE,CAAC,SAAS;KACvB,CAAA;IACD,MAAM,GAAG,GAAG,MAAM;QACjB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,WAAW,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;QACvF,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAA;IACzC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7F,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,CAAA;IAC5G,kHAAkH;IAClH,kGAAkG;IAClG,MAAM,IAAI,GAAG,OAAO,CAAC;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC5B,CAAC,CAAA;IACF,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACxD,0FAA0F;IAC1F,+FAA+F;IAC/F,sDAAsD;IACtD,6GAA6G;IAC7G,gHAAgH;IAChH,kHAAkH;IAClH,6FAA6F;IAC7F,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;IAC9E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACpC,OAAO,CACN,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACvB,KAAC,sBAAsB,IACtB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,GACpC,GACQ,CACX,CAAA;IACF,CAAC;IACD,IAAI,MAAM;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA,CAAC,iDAAiD;IAChF,OAAO,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAAA;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,KAA0B,EAAE,MAAiC;IACrF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE5C,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,eAAe,KAAK,KAAK,CAAA;IACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEhF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA;IACtC,MAAM,KAAK,GAA4C,MAAM;QAC5D,CAAC,CAAC;YACA,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7C,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/C,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAA+C;YACrF,uEAAuE;YACvE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;SACvC;QACF,CAAC,CAAC,SAAS,CAAA;IAEZ,OAAO,eAAe,CAAC;QACtB,wFAAwF;QACxF,sFAAsF;QACtF,EAAE;QACF,0FAA0F;QAC1F,yFAAyF;QACzF,sFAAsF;QACtF,+CAA+C;QAC/C,EAAE;QACF,yFAAyF;QACzF,sFAAsF;QACtF,yFAAyF;QACzF,wFAAwF;QACxF,oFAAoF;QACpF,wFAAwF;QACxF,8EAA8E;QAC9E,EAAE;QACF,uFAAuF;QACvF,wFAAwF;QACxF,yFAAyF;QACzF,uFAAuF;QACvF,qEAAqE;QACrE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM,IAAI,QAAQ;QACtC,KAAK;QACL,yEAAyE;QACzE,uFAAuF;QACvF,kEAAkE;QAClE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE;YACN,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,WAAW;YACzD,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;YAC5C,YAAY;YACZ,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE;YACtC,oBAAoB,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;YAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC1C,cAAc,EAAE,SAAS;YACzB,kFAAkF;YAClF,oFAAoF;YACpF,mFAAmF;YACnF,+EAA+E;YAC/E,gFAAgF;YAChF,iFAAiF;YACjF,sCAAsC;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SAClE;KACD,CAAC,CAAA;AACH,CAAC;AAgCD,0FAA0F;AAC1F,MAAM,eAAe,GAA4E;IAChG,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,GAAG,EAAE,UAAU;IACf,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,UAAU;IAChB,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,QAAQ;IACvB,kBAAkB,EAAE,QAAQ;IAC5B,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,QAAQ;IACrB,iBAAiB,EAAE,QAAQ;IAC3B,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,QAAQ;IACxB,QAAQ,EAAE,QAAQ;CAClB,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,sBAAsB,GAAuE;IAClG,eAAe,EACd,kPAAkP;IACnP,SAAS,EACR,8IAA8I;IAC/I,QAAQ,EACP,mUAAmU;CACpU,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAA4B,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3F,IAAI;IACJ,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;IAC3B,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,wFAAwF;IACxF,yFAAyF;IACzF,QAAQ,EAAE,IAAI;CACd,CAAC,CAAC,CAAA;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACxD;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,uCAAuC;QACnD,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE;YACL,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;SACxC;KACD;IACD;QACC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,aAAa;QAC3B,yFAAyF;QACzF,wEAAwE;QACxE,UAAU,EAAE,wDAAwD;QACpE,YAAY,EAAE,MAAM;QACpB,IAAI,EAAE;YACL,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE;YAChD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;YACzC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;SACrC;KACD;CACD,CAAA;AAWD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IACjE,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,WAAW,CAAC;IAC7C,yBAAyB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;CACnD,CAAA;AAqBD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACtE,IAAI,EAAE,mBAAmB;IACzB,SAAS,EAAE,cAAc;IACzB,WAAW,EACV,4HAA4H;IAC7H,MAAM,EAAE,CAAC,GAAG,gBAAgB,EAAE,GAAG,WAAW,CAAC;IAC7C,yBAAyB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;CACnD,CAAA"}
|
|
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"}
|