@certrev/cert-block 0.2.0 → 0.5.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 +48 -1
- package/dist/builder/cert-chrome-data.d.ts +129 -0
- package/dist/builder/cert-chrome-data.d.ts.map +1 -0
- package/dist/builder/cert-chrome-data.js +59 -0
- package/dist/builder/cert-chrome-data.js.map +1 -0
- package/dist/builder/cert-review-card.d.ts +68 -0
- package/dist/builder/cert-review-card.d.ts.map +1 -0
- package/dist/builder/cert-review-card.js +129 -0
- package/dist/builder/cert-review-card.js.map +1 -0
- package/dist/builder/index.d.ts +2 -0
- package/dist/builder/index.d.ts.map +1 -1
- package/dist/builder/index.js +3 -0
- package/dist/builder/index.js.map +1 -1
- package/dist/components/preview-block.d.ts +43 -0
- package/dist/components/preview-block.d.ts.map +1 -0
- package/dist/components/preview-block.js +53 -0
- package/dist/components/preview-block.js.map +1 -0
- package/dist/components/render-cert-block.d.ts +50 -5
- package/dist/components/render-cert-block.d.ts.map +1 -1
- package/dist/components/render-cert-block.js +341 -93
- package/dist/components/render-cert-block.js.map +1 -1
- package/dist/components/render-def.d.ts +27 -0
- package/dist/components/render-def.d.ts.map +1 -1
- package/dist/components/render-def.js +38 -0
- package/dist/components/render-def.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/modal/avatar-resize.d.ts +60 -0
- package/dist/modal/avatar-resize.d.ts.map +1 -0
- package/dist/modal/avatar-resize.js +91 -0
- package/dist/modal/avatar-resize.js.map +1 -0
- package/dist/modal/cert-modal-view.d.ts +74 -0
- package/dist/modal/cert-modal-view.d.ts.map +1 -0
- package/dist/modal/cert-modal-view.js +160 -0
- package/dist/modal/cert-modal-view.js.map +1 -0
- package/dist/modal/certrev-cert-modal.d.ts +72 -0
- package/dist/modal/certrev-cert-modal.d.ts.map +1 -0
- package/dist/modal/certrev-cert-modal.js +270 -0
- package/dist/modal/certrev-cert-modal.js.map +1 -0
- package/dist/modal/certrev-cert-modal.styles.d.ts +35 -0
- package/dist/modal/certrev-cert-modal.styles.d.ts.map +1 -0
- package/dist/modal/certrev-cert-modal.styles.js +488 -0
- package/dist/modal/certrev-cert-modal.styles.js.map +1 -0
- package/dist/modal/certrev-cert.entry.d.ts +19 -0
- package/dist/modal/certrev-cert.entry.d.ts.map +1 -0
- package/dist/modal/certrev-cert.entry.js +39 -0
- package/dist/modal/certrev-cert.entry.js.map +1 -0
- package/dist/modal/certrev-cert.js +557 -0
- package/dist/modal/display-strings.d.ts +22 -0
- package/dist/modal/display-strings.d.ts.map +1 -0
- package/dist/modal/display-strings.js +35 -0
- package/dist/modal/display-strings.js.map +1 -0
- package/dist/modal/escape.d.ts +13 -0
- package/dist/modal/escape.d.ts.map +1 -0
- package/dist/modal/escape.js +20 -0
- package/dist/modal/escape.js.map +1 -0
- package/dist/modal/font-face.d.ts +4 -0
- package/dist/modal/font-face.d.ts.map +1 -0
- package/dist/modal/font-face.js +137 -0
- package/dist/modal/font-face.js.map +1 -0
- package/dist/modal/ftc-disclosure.d.ts +12 -0
- package/dist/modal/ftc-disclosure.d.ts.map +1 -0
- package/dist/modal/ftc-disclosure.js +12 -0
- package/dist/modal/ftc-disclosure.js.map +1 -0
- package/dist/modal/ftc-guard.d.ts +50 -0
- package/dist/modal/ftc-guard.d.ts.map +1 -0
- package/dist/modal/ftc-guard.js +117 -0
- package/dist/modal/ftc-guard.js.map +1 -0
- package/dist/modal/index.d.ts +20 -0
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +25 -0
- package/dist/modal/index.js.map +1 -0
- package/dist/modal/interactions.d.ts +53 -0
- package/dist/modal/interactions.d.ts.map +1 -0
- package/dist/modal/interactions.js +147 -0
- package/dist/modal/interactions.js.map +1 -0
- package/dist/modal/logo-paths.d.ts +15 -0
- package/dist/modal/logo-paths.d.ts.map +1 -0
- package/dist/modal/logo-paths.js +24 -0
- package/dist/modal/logo-paths.js.map +1 -0
- package/dist/modal/placement.d.ts +95 -0
- package/dist/modal/placement.d.ts.map +1 -0
- package/dist/modal/placement.js +302 -0
- package/dist/modal/placement.js.map +1 -0
- package/dist/modal/revalidate.d.ts +48 -0
- package/dist/modal/revalidate.d.ts.map +1 -0
- package/dist/modal/revalidate.js +65 -0
- package/dist/modal/revalidate.js.map +1 -0
- package/dist/modal/verify-client.d.ts +24 -0
- package/dist/modal/verify-client.d.ts.map +1 -0
- package/dist/modal/verify-client.js +38 -0
- package/dist/modal/verify-client.js.map +1 -0
- package/package.json +10 -4
- package/src/__tests__/__snapshots__/render-cert-block.test.ts.snap +10 -6
- package/src/__tests__/preview-block.test.ts +84 -0
- package/src/__tests__/render-cert-block.test.ts +404 -6
- package/src/builder/__tests__/builder.test.tsx +71 -0
- package/src/builder/cert-chrome-data.ts +159 -0
- package/src/builder/cert-review-card.tsx +177 -0
- package/src/builder/index.tsx +18 -0
- package/src/components/preview-block.ts +74 -0
- package/src/components/render-cert-block.ts +427 -121
- package/src/components/render-def.ts +55 -0
- package/src/index.ts +9 -0
- package/src/modal/avatar-resize.ts +99 -0
- package/src/modal/cert-modal-view.test.ts +175 -0
- package/src/modal/cert-modal-view.ts +210 -0
- package/src/modal/certrev-cert-modal.styles.ts +494 -0
- package/src/modal/certrev-cert-modal.test.ts +125 -0
- package/src/modal/certrev-cert-modal.ts +273 -0
- package/src/modal/certrev-cert.entry.ts +44 -0
- package/src/modal/display-strings.ts +38 -0
- package/src/modal/escape.ts +20 -0
- package/src/modal/font-face.ts +138 -0
- package/src/modal/ftc-disclosure.ts +13 -0
- package/src/modal/ftc-guard.test.ts +153 -0
- package/src/modal/ftc-guard.ts +119 -0
- package/src/modal/index.ts +34 -0
- package/src/modal/interactions.test.ts +250 -0
- package/src/modal/interactions.ts +166 -0
- package/src/modal/logo-paths.ts +23 -0
- package/src/modal/placement.test.ts +398 -0
- package/src/modal/placement.ts +331 -0
- package/src/modal/revalidate.test.ts +111 -0
- package/src/modal/revalidate.ts +81 -0
- package/src/modal/verify-client.test.ts +164 -0
- package/src/modal/verify-client.ts +42 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-cert-block.js","sourceRoot":"","sources":["../../src/components/render-cert-block.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-cert-block.js","sourceRoot":"","sources":["../../src/components/render-cert-block.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,15 @@ export type RenderBlockFontSlot = (typeof RENDER_BLOCK_FONT_SLOTS)[number];
|
|
|
137
137
|
export declare const RENDER_BLOCK_FONT_STACKS: Readonly<Record<RenderBlockFontSlot, string>>;
|
|
138
138
|
/** Is `value` a known render-block font slot? */
|
|
139
139
|
export declare function isRenderBlockFontSlot(value: string): value is RenderBlockFontSlot;
|
|
140
|
+
/**
|
|
141
|
+
* AUTO-CONTRAST PICKER — the ink painted over an opaque fill. BYTE-FAITHFUL to the portal's
|
|
142
|
+
* `accentFg` (src/lib/design-guide/tokens.ts): Rec.601 perceptual luma with a strict `> 0.62`
|
|
143
|
+
* cutoff, returning EXACTLY `#141414` (near-black) or `#ffffff`; an unparseable value falls back
|
|
144
|
+
* to the dark ink (safe default). Used at the render edge to DERIVE `barInkFg` from a themed
|
|
145
|
+
* `barInk` (v2 Phase 1), so the bar foreground always clears its own fill with no separate stored
|
|
146
|
+
* token — the exact model the portal uses for the accent fill.
|
|
147
|
+
*/
|
|
148
|
+
export declare function accentFg(hex: string): '#141414' | '#ffffff';
|
|
140
149
|
/**
|
|
141
150
|
* The resolved themeable-token set `renderCertBlock` paints — the render-edge mirror
|
|
142
151
|
* of the portal `ResolvedRenderDef` theme half (`tokens` ⊕ the precomputed
|
|
@@ -150,6 +159,24 @@ export interface ResolvedBlockTheme {
|
|
|
150
159
|
readonly cornerRadius: string;
|
|
151
160
|
readonly fontSlot: RenderBlockFontSlot;
|
|
152
161
|
readonly accentFg: '#141414' | '#ffffff';
|
|
162
|
+
/**
|
|
163
|
+
* V2 chrome-ink (Phase 1, e.l.f.) — the header/seal bar (and floating-pill) FILL. OPTIONAL:
|
|
164
|
+
* present ONLY when the def themes it, so an un-barInk'd face emits nothing extra and the bar
|
|
165
|
+
* keeps its locked navy/white base (byte-identical). Mirrors the portal's `ThemeTokens.barInk`.
|
|
166
|
+
*/
|
|
167
|
+
readonly barInk?: string;
|
|
168
|
+
/**
|
|
169
|
+
* V2 chrome-ink — the bar's auto-contrast FOREGROUND, DERIVED at the edge via `accentFg(barInk)`
|
|
170
|
+
* (the bar-background twin of the accent's `accentFg`). A SIBLING of the tokens, present ONLY when
|
|
171
|
+
* `barInk` is (absent ⇒ the locked white bar fg). Mirrors the portal's `ResolvedRenderDef.barInkFg`.
|
|
172
|
+
*/
|
|
173
|
+
readonly barInkFg?: '#141414' | '#ffffff';
|
|
174
|
+
/**
|
|
175
|
+
* V2 chrome-ink — the primary FREE-content trust ink (reviewer/author names, title, credential,
|
|
176
|
+
* bio, initials + the derived muted scale). OPTIONAL: absent ⇒ the ink stays navy (byte-identical).
|
|
177
|
+
* The LOCKED legal disclosures NEVER follow it. Mirrors the portal's `ThemeTokens.inkColor`.
|
|
178
|
+
*/
|
|
179
|
+
readonly inkColor?: string;
|
|
153
180
|
}
|
|
154
181
|
/** The CertREV navy default theme (the un-themed face — matches the locked reference `:root`). */
|
|
155
182
|
export declare const DEFAULT_BLOCK_THEME: ResolvedBlockTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-def.d.ts","sourceRoot":"","sources":["../../src/components/render-def.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-def.d.ts","sourceRoot":"","sources":["../../src/components/render-def.ts"],"names":[],"mappings":"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"}
|
|
@@ -153,6 +153,35 @@ export const RENDER_BLOCK_FONT_STACKS = {
|
|
|
153
153
|
export function isRenderBlockFontSlot(value) {
|
|
154
154
|
return RENDER_BLOCK_FONT_SLOTS.includes(value);
|
|
155
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Parse a 3- or 6-digit opaque hex into 8-bit RGB channels (null on a malformed value). The
|
|
158
|
+
* 3-digit form expands each nibble (`#abc` → `#aabbcc`), matching CSS.
|
|
159
|
+
*/
|
|
160
|
+
function parseHexColor(hex) {
|
|
161
|
+
const m = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.exec(hex);
|
|
162
|
+
if (!m)
|
|
163
|
+
return null;
|
|
164
|
+
let h = m[1];
|
|
165
|
+
if (h.length === 3)
|
|
166
|
+
h = h[0] + h[0] + h[1] + h[1] + h[2] + h[2];
|
|
167
|
+
const n = Number.parseInt(h, 16);
|
|
168
|
+
return { r: (n >> 16) & 0xff, g: (n >> 8) & 0xff, b: n & 0xff };
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* AUTO-CONTRAST PICKER — the ink painted over an opaque fill. BYTE-FAITHFUL to the portal's
|
|
172
|
+
* `accentFg` (src/lib/design-guide/tokens.ts): Rec.601 perceptual luma with a strict `> 0.62`
|
|
173
|
+
* cutoff, returning EXACTLY `#141414` (near-black) or `#ffffff`; an unparseable value falls back
|
|
174
|
+
* to the dark ink (safe default). Used at the render edge to DERIVE `barInkFg` from a themed
|
|
175
|
+
* `barInk` (v2 Phase 1), so the bar foreground always clears its own fill with no separate stored
|
|
176
|
+
* token — the exact model the portal uses for the accent fill.
|
|
177
|
+
*/
|
|
178
|
+
export function accentFg(hex) {
|
|
179
|
+
const rgb = parseHexColor(hex);
|
|
180
|
+
if (!rgb)
|
|
181
|
+
return '#141414';
|
|
182
|
+
const luma = (0.299 * rgb.r + 0.587 * rgb.g + 0.114 * rgb.b) / 255;
|
|
183
|
+
return luma > 0.62 ? '#141414' : '#ffffff';
|
|
184
|
+
}
|
|
156
185
|
/** The CertREV navy default theme (the un-themed face — matches the locked reference `:root`). */
|
|
157
186
|
export const DEFAULT_BLOCK_THEME = {
|
|
158
187
|
accentColor: '#0a1b3f',
|
|
@@ -169,12 +198,21 @@ export const DEFAULT_BLOCK_THEME = {
|
|
|
169
198
|
*/
|
|
170
199
|
export function resolveBlockTheme(theme) {
|
|
171
200
|
const t = theme ?? {};
|
|
201
|
+
// v2 chrome-ink (Phase 1): re-validate the two brand-ink tokens at the edge (defense in depth over
|
|
202
|
+
// the portal's fail-closed bake). Each is DROPPED unless it is an opaque hex; `barInkFg` is always
|
|
203
|
+
// DERIVED here via `accentFg(barInk)` — never trusted from the input — so the bar foreground can
|
|
204
|
+
// never diverge from the fill it sits on. ABSENT ⇒ omitted, so the renderer emits nothing extra and
|
|
205
|
+
// the face is byte-identical to the un-themed default.
|
|
206
|
+
const barInk = t.barInk && isOpaqueHexColor(t.barInk) ? t.barInk : undefined;
|
|
207
|
+
const inkColor = t.inkColor && isOpaqueHexColor(t.inkColor) ? t.inkColor : undefined;
|
|
172
208
|
return {
|
|
173
209
|
accentColor: t.accentColor && isOpaqueHexColor(t.accentColor) ? t.accentColor : DEFAULT_BLOCK_THEME.accentColor,
|
|
174
210
|
surface: t.surface && isOpaqueHexColor(t.surface) ? t.surface : DEFAULT_BLOCK_THEME.surface,
|
|
175
211
|
cornerRadius: t.cornerRadius && isCornerRadius(t.cornerRadius) ? t.cornerRadius : DEFAULT_BLOCK_THEME.cornerRadius,
|
|
176
212
|
fontSlot: t.fontSlot && isRenderBlockFontSlot(t.fontSlot) ? t.fontSlot : DEFAULT_BLOCK_THEME.fontSlot,
|
|
177
213
|
accentFg: t.accentFg === '#141414' || t.accentFg === '#ffffff' ? t.accentFg : DEFAULT_BLOCK_THEME.accentFg,
|
|
214
|
+
...(barInk ? { barInk, barInkFg: accentFg(barInk) } : {}),
|
|
215
|
+
...(inkColor ? { inkColor } : {}),
|
|
178
216
|
};
|
|
179
217
|
}
|
|
180
218
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-def.js","sourceRoot":"","sources":["../../src/components/render-def.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-def.js","sourceRoot":"","sources":["../../src/components/render-def.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,8 +26,9 @@ export { CertReview, type CertReviewProps } from './components/CertReview.js';
|
|
|
26
26
|
export { ExpertBio, type ExpertBioProps } from './components/ExpertBio.js';
|
|
27
27
|
export { escapeAttribute, escapeHtml, safeCssColor, safeHttpUrl, tidyText } from './components/escape.js';
|
|
28
28
|
export { credentialSuffix, DEFAULT_ACCENT, expertNameWithCredentials, formatDate, type ResolvedDisplay, resolveDisplay, } from './components/format.js';
|
|
29
|
-
export { type
|
|
30
|
-
export { type
|
|
29
|
+
export { type PreviewBlockOptions, previewExpiry, renderPreviewBlock, } from './components/preview-block.js';
|
|
30
|
+
export { type CertBlockFace, type CertBlockFacts, type CertBlockLayout, type CertBlockMode, type RenderCertBlockInput, renderCertBlock, } from './components/render-cert-block.js';
|
|
31
|
+
export { accentFg, type BadgeVisibilityFieldId, CERT_SCOPE_LINE, CERT_STRINGS_VERSION, type CertRenderDef, type CertThemeTokens, COMPENSATED_EXPERT_CUE, CREDENTIAL_VERIFIED_ATTRIBUTION, DEFAULT_BLOCK_THEME, FONT_SLOTS, FONT_STACKS, type FontSlot, HIDEABLE_FIELDS, isCornerRadius, isFieldHidden, isFontSlot, isOpaqueHexColor, isRenderBlockFontSlot, RENDER_BLOCK_FONT_SLOTS, RENDER_BLOCK_FONT_STACKS, type RenderBlockFontSlot, type ResolvedBlockTheme, type ResolvedRenderTheme, resolveBlockTheme, resolveRenderTheme, themeCssVarDeclarations, } from './components/render-def.js';
|
|
31
32
|
export { CANONICALIZATION, type CertContent, type CertCredential, type CertDeliveryEnvelope, type CertDisplayConfig, type CertLifecycle, type CertPayload, type CertSignature, type CertSubject, type CertSuppressReason, type CertVerdict, CONTRACT_VERSION, type ContractVersion, type Ed25519PublicKeyInput, type RenderContext, type ResolvePublicKeyByKid, renderVerdict, SIGNATURE_ALG, type SignatureAlg, type VerdictKernel, verifyEnvelope, verifySignatureOnly, } from './contract/kernel.js';
|
|
32
33
|
export { type JsonLdValue, type ProjectJsonLdOptions, projectCertJsonLd, projectCertJsonLdString, serializeJsonLdForScript, } from './jsonld/project.js';
|
|
33
34
|
export { TtlCache, type TtlCacheOptions } from './verify/cache.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEzG,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,KAAK,eAAe,EACpB,cAAc,GACd,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,eAAe,GACf,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACN,KAAK,sBAAsB,EAC3B,eAAe,EACf,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,4BAA4B,CAAA;AAInC,OAAO,EACN,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,cAAc,EACd,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,KAAK,YAAY,EACjB,iBAAiB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEzG,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EACV,KAAK,eAAe,EACpB,cAAc,GACd,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACN,KAAK,mBAAmB,EACxB,aAAa,EACb,kBAAkB,GAClB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,eAAe,GACf,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EACN,QAAQ,EACR,KAAK,sBAAsB,EAC3B,eAAe,EACf,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,4BAA4B,CAAA;AAInC,OAAO,EACN,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,cAAc,EACd,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACN,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAElE,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACN,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,KAAK,YAAY,EACjB,iBAAiB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,kBAAkB,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -28,10 +28,12 @@ export { ExpertBio } from './components/ExpertBio.js';
|
|
|
28
28
|
export { escapeAttribute, escapeHtml, safeCssColor, safeHttpUrl, tidyText } from './components/escape.js';
|
|
29
29
|
// ── Presentation helpers (shared with the Web Component) ────────────────────────────
|
|
30
30
|
export { credentialSuffix, DEFAULT_ACCENT, expertNameWithCredentials, formatDate, resolveDisplay, } from './components/format.js';
|
|
31
|
+
// ── Pre-sales PREVIEW block — static, non-delivery, hard-bounded (POR-10743) ──
|
|
32
|
+
export { previewExpiry, renderPreviewBlock, } from './components/preview-block.js';
|
|
31
33
|
// ── Cert-render BLOCK — the LOCKED 3-mode cert design as an SSR-safe HTML string ──
|
|
32
34
|
export { renderCertBlock, } from './components/render-cert-block.js';
|
|
33
35
|
// ── Design-guide render-def support (WS6: themeable tokens + subtractive visibility) ──
|
|
34
|
-
export { CERT_SCOPE_LINE, CERT_STRINGS_VERSION, COMPENSATED_EXPERT_CUE, CREDENTIAL_VERIFIED_ATTRIBUTION, DEFAULT_BLOCK_THEME, FONT_SLOTS, FONT_STACKS, HIDEABLE_FIELDS, isCornerRadius, isFieldHidden, isFontSlot, isOpaqueHexColor, isRenderBlockFontSlot, RENDER_BLOCK_FONT_SLOTS, RENDER_BLOCK_FONT_STACKS, resolveBlockTheme, resolveRenderTheme, themeCssVarDeclarations, } from './components/render-def.js';
|
|
36
|
+
export { accentFg, CERT_SCOPE_LINE, CERT_STRINGS_VERSION, COMPENSATED_EXPERT_CUE, CREDENTIAL_VERIFIED_ATTRIBUTION, DEFAULT_BLOCK_THEME, FONT_SLOTS, FONT_STACKS, HIDEABLE_FIELDS, isCornerRadius, isFieldHidden, isFontSlot, isOpaqueHexColor, isRenderBlockFontSlot, RENDER_BLOCK_FONT_SLOTS, RENDER_BLOCK_FONT_STACKS, resolveBlockTheme, resolveRenderTheme, themeCssVarDeclarations, } from './components/render-def.js';
|
|
35
37
|
// ── Contract surface (types + kernel) — re-export the binding point ────────────────
|
|
36
38
|
// NOTE: the test/dev fixtures (makeSignedEnvelope, makeMockPayload, FIXTURE_KID) are
|
|
37
39
|
// Node-only (they sign with node:crypto) and ship from the './fixtures' subpath, NOT here.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qFAAqF;AACrF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAA6B,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACzG,uFAAuF;AACvF,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,cAAc,GACd,MAAM,wBAAwB,CAAA;AAC/B,qFAAqF;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qFAAqF;AACrF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAA6B,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACzG,uFAAuF;AACvF,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,cAAc,GACd,MAAM,wBAAwB,CAAA;AAC/B,iFAAiF;AACjF,OAAO,EAEN,aAAa,EACb,kBAAkB,GAClB,MAAM,+BAA+B,CAAA;AACtC,qFAAqF;AACrF,OAAO,EAMN,eAAe,GACf,MAAM,mCAAmC,CAAA;AAC1C,yFAAyF;AACzF,OAAO,EACN,QAAQ,EAER,eAAe,EACf,oBAAoB,EAGpB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAIxB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,4BAA4B,CAAA;AACnC,sFAAsF;AACtF,qFAAqF;AACrF,2FAA2F;AAC3F,OAAO,EACN,gBAAgB,EAWhB,gBAAgB,EAKhB,aAAa,EACb,aAAa,EAGb,cAAc,EACd,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,uFAAuF;AACvF,OAAO,EAGN,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAwB,MAAM,mBAAmB,CAAA;AAClE,qFAAqF;AACrF,OAAO,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAEN,mBAAmB,EAEnB,iBAAiB,GACjB,MAAM,yBAAyB,CAAA;AAChC,sFAAsF;AACtF,OAAO,EAA2B,eAAe,EAAE,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Avatar right-sizing (POR-10470) — the SINGLE source of truth for how a cert contributor/expert
|
|
3
|
+
* headshot URL is rewritten to a display-sized derivative. Referenced by the cert MODAL (TS,
|
|
4
|
+
* cert-modal-view.ts), mirrored by the Liquid snippet (certrev-avatar-url.liquid), and by the
|
|
5
|
+
* Cloudflare size-allowlist WAF rule (infra/terraform/cloudflare). Keep the three in lockstep — the
|
|
6
|
+
* `avatar-resize.test.ts` `SIZES`/param assertions are the tripwire.
|
|
7
|
+
*
|
|
8
|
+
* Architecture (Fable-reviewed): the signed cert envelope carries ONE canonical full-res photoUrl
|
|
9
|
+
* (also the JSON-LD Person.image — never shrunk). Display sizing is a PRESENTATION concern, applied
|
|
10
|
+
* here via Cloudflare Image Resizing on the same zone as assets.certrev.com:
|
|
11
|
+
* https://assets.certrev.com/cdn-cgi/image/width=W,height=W,fit=cover,format=auto/<path>
|
|
12
|
+
* Same-zone (assets.certrev.com is a custom domain on certrev.com), so no cross-origin origin
|
|
13
|
+
* allowlist is needed; format=auto serves webp/avif; the transform is cached + billed per-unique.
|
|
14
|
+
*
|
|
15
|
+
* ENABLEMENT GATE (`AVATAR_RESIZE_ENABLED`): OFF until Cloudflare Image Resizing is enabled on the
|
|
16
|
+
* certrev.com zone AND a real photo is verified to resize (POR-10470 gate). While OFF, avatars use
|
|
17
|
+
* the raw canonical URL — byte-identical to today's behavior — so the extension can deploy for the
|
|
18
|
+
* font de-block with ZERO avatar regression (a cdn-cgi/image URL 404s → initials fallback if the
|
|
19
|
+
* feature isn't live). Going live is a one-line flip here + in certrev-avatar-url.liquid, then the
|
|
20
|
+
* raw branch is removed (flag-debt: tracked as the POR-10470 avatar go-live follow-up).
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Enablement gate — LIVE as of 2026-07-20 (POR-10656). Cloudflare Image Resizing (Transformations)
|
|
24
|
+
* is enabled on the certrev.com zone (`image_resizing = on`), and the size-allowlist WAF rule
|
|
25
|
+
* (ruleset 7c9df62e88cb4713b18f12853651af08) is verified enforcing on `/cdn-cgi/image/` paths — a real
|
|
26
|
+
* photo resizes (`width=84` → 200 image/jpeg) while a disallowed size (`width=999`) is 403-blocked.
|
|
27
|
+
* Kept as a one-line kill-switch: flip back to `false` + redeploy to instantly revert to raw URLs if
|
|
28
|
+
* resizing ever misbehaves (removing the raw branch entirely is the flag-debt follow-up, POR-10680).
|
|
29
|
+
*/
|
|
30
|
+
export declare const AVATAR_RESIZE_ENABLED = true;
|
|
31
|
+
/**
|
|
32
|
+
* The closed size menu (display px @2x for retina). Must equal the widths the Cloudflare WAF rule
|
|
33
|
+
* allowlists — an open resizer lets anyone mint unbounded transforms (per-unique billing = a cost
|
|
34
|
+
* DoS). 42→84 (card), 56→112 (memo + modal cert), 64→128 (modal reviewer), 144 = headroom.
|
|
35
|
+
*/
|
|
36
|
+
export declare const AVATAR_SIZES: readonly [84, 112, 128, 144];
|
|
37
|
+
export type AvatarSize = (typeof AVATAR_SIZES)[number];
|
|
38
|
+
/** The R2 asset hosts we own + resize. Anything else is returned untouched (host-guard). */
|
|
39
|
+
export declare const AVATAR_RESIZE_HOSTS: readonly ["assets.certrev.com", "staging-assets.certrev.com"];
|
|
40
|
+
/**
|
|
41
|
+
* The canonical transform options (order is load-bearing — the WAF allowlist matches this EXACT
|
|
42
|
+
* string). `onerror=redirect` (same-zone) degrades a fatal transform to the original image rather
|
|
43
|
+
* than a broken avatar. If this string changes, the Cloudflare allowlist + certrev-avatar-url.liquid
|
|
44
|
+
* + the tripwire test must change in lockstep.
|
|
45
|
+
*/
|
|
46
|
+
export declare function avatarTransformOptions(size: AvatarSize): string;
|
|
47
|
+
/**
|
|
48
|
+
* Pure wrap (ignores the enablement gate) — rewrite a full-res avatar URL to a display-sized
|
|
49
|
+
* cdn-cgi/image derivative when the host is one we own. Everything else (foreign host, non-https,
|
|
50
|
+
* malformed, already-a-cdn-cgi URL) returns the input unchanged, so this can never break a URL or
|
|
51
|
+
* double-wrap. Kept separate from the gate so the wrapping logic is unit-testable before go-live.
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildResizedAvatarUrl(url: string | null | undefined, size: AvatarSize): string;
|
|
54
|
+
/**
|
|
55
|
+
* The enablement-gated entry point used by the render surfaces. Until Cloudflare Image Resizing is
|
|
56
|
+
* verified live (`AVATAR_RESIZE_ENABLED`), returns the raw canonical URL — so nothing 404s on a host
|
|
57
|
+
* whose resizing isn't enabled. After go-live it delegates to the (already-tested) pure builder.
|
|
58
|
+
*/
|
|
59
|
+
export declare function resizeAvatarUrl(url: string | null | undefined, size: AvatarSize): string;
|
|
60
|
+
//# sourceMappingURL=avatar-resize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-resize.d.ts","sourceRoot":"","sources":["../../src/modal/avatar-resize.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,YAAY,8BAA+B,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,+DAGtB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACpC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,IAAI,EAAE,UAAU,GACd,MAAM,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,IAAI,EAAE,UAAU,GACd,MAAM,CAGR"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// ⚠ VENDORED, BYTE-FAITHFUL relocation of portal `src/lib/cert-delivery/avatar-resize.ts`
|
|
2
|
+
// (POR-10721 W2). The body is byte-identical to the source the deployed `certrev-cert.js`
|
|
3
|
+
// was bundled from — keep it that way. Configurable asset origins for other headless
|
|
4
|
+
// brands are a deliberate post-relocation follow-up (byte-parity takes precedence now).
|
|
5
|
+
/**
|
|
6
|
+
* Avatar right-sizing (POR-10470) — the SINGLE source of truth for how a cert contributor/expert
|
|
7
|
+
* headshot URL is rewritten to a display-sized derivative. Referenced by the cert MODAL (TS,
|
|
8
|
+
* cert-modal-view.ts), mirrored by the Liquid snippet (certrev-avatar-url.liquid), and by the
|
|
9
|
+
* Cloudflare size-allowlist WAF rule (infra/terraform/cloudflare). Keep the three in lockstep — the
|
|
10
|
+
* `avatar-resize.test.ts` `SIZES`/param assertions are the tripwire.
|
|
11
|
+
*
|
|
12
|
+
* Architecture (Fable-reviewed): the signed cert envelope carries ONE canonical full-res photoUrl
|
|
13
|
+
* (also the JSON-LD Person.image — never shrunk). Display sizing is a PRESENTATION concern, applied
|
|
14
|
+
* here via Cloudflare Image Resizing on the same zone as assets.certrev.com:
|
|
15
|
+
* https://assets.certrev.com/cdn-cgi/image/width=W,height=W,fit=cover,format=auto/<path>
|
|
16
|
+
* Same-zone (assets.certrev.com is a custom domain on certrev.com), so no cross-origin origin
|
|
17
|
+
* allowlist is needed; format=auto serves webp/avif; the transform is cached + billed per-unique.
|
|
18
|
+
*
|
|
19
|
+
* ENABLEMENT GATE (`AVATAR_RESIZE_ENABLED`): OFF until Cloudflare Image Resizing is enabled on the
|
|
20
|
+
* certrev.com zone AND a real photo is verified to resize (POR-10470 gate). While OFF, avatars use
|
|
21
|
+
* the raw canonical URL — byte-identical to today's behavior — so the extension can deploy for the
|
|
22
|
+
* font de-block with ZERO avatar regression (a cdn-cgi/image URL 404s → initials fallback if the
|
|
23
|
+
* feature isn't live). Going live is a one-line flip here + in certrev-avatar-url.liquid, then the
|
|
24
|
+
* raw branch is removed (flag-debt: tracked as the POR-10470 avatar go-live follow-up).
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Enablement gate — LIVE as of 2026-07-20 (POR-10656). Cloudflare Image Resizing (Transformations)
|
|
28
|
+
* is enabled on the certrev.com zone (`image_resizing = on`), and the size-allowlist WAF rule
|
|
29
|
+
* (ruleset 7c9df62e88cb4713b18f12853651af08) is verified enforcing on `/cdn-cgi/image/` paths — a real
|
|
30
|
+
* photo resizes (`width=84` → 200 image/jpeg) while a disallowed size (`width=999`) is 403-blocked.
|
|
31
|
+
* Kept as a one-line kill-switch: flip back to `false` + redeploy to instantly revert to raw URLs if
|
|
32
|
+
* resizing ever misbehaves (removing the raw branch entirely is the flag-debt follow-up, POR-10680).
|
|
33
|
+
*/
|
|
34
|
+
export const AVATAR_RESIZE_ENABLED = true;
|
|
35
|
+
/**
|
|
36
|
+
* The closed size menu (display px @2x for retina). Must equal the widths the Cloudflare WAF rule
|
|
37
|
+
* allowlists — an open resizer lets anyone mint unbounded transforms (per-unique billing = a cost
|
|
38
|
+
* DoS). 42→84 (card), 56→112 (memo + modal cert), 64→128 (modal reviewer), 144 = headroom.
|
|
39
|
+
*/
|
|
40
|
+
export const AVATAR_SIZES = [84, 112, 128, 144];
|
|
41
|
+
/** The R2 asset hosts we own + resize. Anything else is returned untouched (host-guard). */
|
|
42
|
+
export const AVATAR_RESIZE_HOSTS = [
|
|
43
|
+
"assets.certrev.com",
|
|
44
|
+
"staging-assets.certrev.com",
|
|
45
|
+
];
|
|
46
|
+
/**
|
|
47
|
+
* The canonical transform options (order is load-bearing — the WAF allowlist matches this EXACT
|
|
48
|
+
* string). `onerror=redirect` (same-zone) degrades a fatal transform to the original image rather
|
|
49
|
+
* than a broken avatar. If this string changes, the Cloudflare allowlist + certrev-avatar-url.liquid
|
|
50
|
+
* + the tripwire test must change in lockstep.
|
|
51
|
+
*/
|
|
52
|
+
export function avatarTransformOptions(size) {
|
|
53
|
+
return `width=${size},height=${size},fit=cover,format=auto,onerror=redirect`;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Pure wrap (ignores the enablement gate) — rewrite a full-res avatar URL to a display-sized
|
|
57
|
+
* cdn-cgi/image derivative when the host is one we own. Everything else (foreign host, non-https,
|
|
58
|
+
* malformed, already-a-cdn-cgi URL) returns the input unchanged, so this can never break a URL or
|
|
59
|
+
* double-wrap. Kept separate from the gate so the wrapping logic is unit-testable before go-live.
|
|
60
|
+
*/
|
|
61
|
+
export function buildResizedAvatarUrl(url, size) {
|
|
62
|
+
const raw = (url ?? "").trim();
|
|
63
|
+
if (!/^https:\/\//i.test(raw))
|
|
64
|
+
return raw;
|
|
65
|
+
let parsed;
|
|
66
|
+
try {
|
|
67
|
+
parsed = new URL(raw);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return raw;
|
|
71
|
+
}
|
|
72
|
+
if (!AVATAR_RESIZE_HOSTS.includes(parsed.hostname))
|
|
73
|
+
return raw;
|
|
74
|
+
if (parsed.pathname.startsWith("/cdn-cgi/image/"))
|
|
75
|
+
return raw; // never double-wrap
|
|
76
|
+
// Drop any query string: the transform request must carry an EMPTY query so the WAF allowlist's
|
|
77
|
+
// `query eq ""` pin holds (a photoUrl query would otherwise both bust the cache and trip the rule).
|
|
78
|
+
const path = parsed.pathname.replace(/^\//, "");
|
|
79
|
+
return `${parsed.origin}/cdn-cgi/image/${avatarTransformOptions(size)}/${path}`;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The enablement-gated entry point used by the render surfaces. Until Cloudflare Image Resizing is
|
|
83
|
+
* verified live (`AVATAR_RESIZE_ENABLED`), returns the raw canonical URL — so nothing 404s on a host
|
|
84
|
+
* whose resizing isn't enabled. After go-live it delegates to the (already-tested) pure builder.
|
|
85
|
+
*/
|
|
86
|
+
export function resizeAvatarUrl(url, size) {
|
|
87
|
+
if (!AVATAR_RESIZE_ENABLED)
|
|
88
|
+
return (url ?? "").trim();
|
|
89
|
+
return buildResizedAvatarUrl(url, size);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=avatar-resize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-resize.js","sourceRoot":"","sources":["../../src/modal/avatar-resize.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,0FAA0F;AAC1F,qFAAqF;AACrF,wFAAwF;AACxF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAGzD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,oBAAoB;IACpB,4BAA4B;CACnB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAgB;IACtD,OAAO,SAAS,IAAI,WAAW,IAAI,yCAAyC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACpC,GAA8B,EAC9B,IAAgB;IAEhB,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxE,OAAO,GAAG,CAAC;IACZ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,oBAAoB;IACnF,gGAAgG;IAChG,oGAAoG;IACpG,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,MAAM,CAAC,MAAM,kBAAkB,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC9B,GAA8B,EAC9B,IAAgB;IAEhB,IAAI,CAAC,qBAAqB;QAAE,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure envelope → modal-HTML mapping for `<certrev-cert-modal>` (POR-10102).
|
|
3
|
+
*
|
|
4
|
+
* DOM-free and side-effect-free so it unit-tests without a browser: given the
|
|
5
|
+
* signed envelope's `payload.content`, it returns the inner HTML of the certificate
|
|
6
|
+
* (3a) and reviewer (4b) `<dialog>`s. The element (`certrev-cert-modal.ts`) owns the
|
|
7
|
+
* shadow root, the `<dialog>` wrappers, and the open/close wiring; this module owns
|
|
8
|
+
* only the content.
|
|
9
|
+
*
|
|
10
|
+
* Invariants:
|
|
11
|
+
* - Every dynamic value is `escapeHtml`'d (the envelope is signed, but a reviewer
|
|
12
|
+
* name / memo is still attacker-adjacent content).
|
|
13
|
+
* - Only `http(s)` hrefs render (mirrors the Liquid `certrev-safe-url` guard).
|
|
14
|
+
* - Verified-only fields (POR-10091): the bio binds the envelope's verified
|
|
15
|
+
* `background`/`bio`; this module never reaches for a raw column.
|
|
16
|
+
* - Graceful degradation: a missing article title drops the "Certifies the article"
|
|
17
|
+
* block; a missing display cert id drops that meta column; no credentials → no
|
|
18
|
+
* chips / no creds line; no bio → no bio paragraph. Nothing renders an empty gap.
|
|
19
|
+
* - WS4a (display eviction) accept-on-read: an ABSENT `display` block resolves to the
|
|
20
|
+
* preset default (show-all) — every read below is `display?.x !== false` / `=== false`,
|
|
21
|
+
* so `undefined` never suppresses a field. The modal is the LOCKED navy trust chrome and
|
|
22
|
+
* is deliberately NOT themeable by a brand render-def; it reads visibility off the signed
|
|
23
|
+
* envelope only, so no render-def wiring belongs here.
|
|
24
|
+
*/
|
|
25
|
+
export interface CertModalCredential {
|
|
26
|
+
abbreviation?: string | null;
|
|
27
|
+
fullName?: string | null;
|
|
28
|
+
cardLabel?: string | null;
|
|
29
|
+
}
|
|
30
|
+
export interface CertModalExpert {
|
|
31
|
+
displayName?: string | null;
|
|
32
|
+
credentials?: readonly CertModalCredential[] | null;
|
|
33
|
+
profileUrl?: string | null;
|
|
34
|
+
photoUrl?: string | null;
|
|
35
|
+
bio?: string | null;
|
|
36
|
+
background?: string | null;
|
|
37
|
+
/** POR-10496: the pre-composed material-connection label ('Compensated expert') or null/absent for
|
|
38
|
+
* a pro-bono reviewer. Present → the disclosure footer renders the label; null/absent → label omitted. */
|
|
39
|
+
compensationCue?: string | null;
|
|
40
|
+
}
|
|
41
|
+
/** The subset of the signed `payload.content` the modals read (structural). */
|
|
42
|
+
export interface CertModalContent {
|
|
43
|
+
expert?: CertModalExpert | null;
|
|
44
|
+
certifiedAt?: string | null;
|
|
45
|
+
verifyUrl?: string | null;
|
|
46
|
+
articleTitle?: string | null;
|
|
47
|
+
displayCertId?: string | null;
|
|
48
|
+
display?: {
|
|
49
|
+
showExpertPhoto?: boolean | null;
|
|
50
|
+
showBio?: boolean | null;
|
|
51
|
+
} | null;
|
|
52
|
+
}
|
|
53
|
+
/** Two-letter initials — first + last of the core name (honorific + post-nominal stripped),
|
|
54
|
+
* so "Dr. Erik Schraga, MD" → "ES" (matches the Liquid derivation), not "EM". */
|
|
55
|
+
export declare function deriveInitials(name: string): string;
|
|
56
|
+
/** The handwritten-signature form (the core name). */
|
|
57
|
+
export declare function signatureName(displayName: string): string;
|
|
58
|
+
/** `https://certrev.com/verify/x` → `certrev.com/verify/x` (footer URL line). */
|
|
59
|
+
export declare function stripProtocol(url: string): string;
|
|
60
|
+
/** Return the url only if it is an absolute http(s) URL, else `#` (safe-url guard). */
|
|
61
|
+
export declare function safeHref(url: string | null | undefined): string;
|
|
62
|
+
/**
|
|
63
|
+
* The certificate modal (3a) inner HTML. Returns `null` when there is no reviewer
|
|
64
|
+
* name to display — a certificate card must never render anonymous (fail-closed,
|
|
65
|
+
* mirrors the Liquid `ename != ''` gate).
|
|
66
|
+
*/
|
|
67
|
+
export declare function renderCertDialogInner(content: CertModalContent): string | null;
|
|
68
|
+
/**
|
|
69
|
+
* The reviewer/profile modal (4b) inner HTML. Returns `null` when there is no
|
|
70
|
+
* reviewer name (fail-closed). The affiliation subtitle is intentionally omitted
|
|
71
|
+
* (no verified data source — POR-10102 decision).
|
|
72
|
+
*/
|
|
73
|
+
export declare function renderExpertDialogInner(content: CertModalContent): string | null;
|
|
74
|
+
//# sourceMappingURL=cert-modal-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cert-modal-view.d.ts","sourceRoot":"","sources":["../../src/modal/cert-modal-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B;+GAC2G;IAC3G,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAC/E;AAYD;kFACkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,uFAAuF;AACvF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAG/D;AAiED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAwB9E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAiBhF"}
|