@certrev/cert-block 1.1.0 → 1.2.0-canary.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 +84 -0
- package/README.md +69 -9
- package/dist/builder/cert-chrome-data.d.ts +10 -0
- package/dist/builder/cert-chrome-data.d.ts.map +1 -1
- package/dist/builder/cert-chrome-data.js.map +1 -1
- package/dist/builder/cert-review-card.d.ts.map +1 -1
- package/dist/builder/cert-review-card.js +22 -2
- package/dist/builder/cert-review-card.js.map +1 -1
- package/dist/builder/envelope-face.d.ts +25 -1
- package/dist/builder/envelope-face.d.ts.map +1 -1
- package/dist/builder/envelope-face.js +40 -0
- package/dist/builder/envelope-face.js.map +1 -1
- package/dist/builder/index.d.ts +1 -1
- package/dist/builder/index.d.ts.map +1 -1
- package/dist/builder/index.js +1 -1
- package/dist/builder/index.js.map +1 -1
- package/dist/components/render-cert-block.d.ts.map +1 -1
- package/dist/components/render-cert-block.js +3 -6
- package/dist/components/render-cert-block.js.map +1 -1
- package/dist/modal/certrev-cert-modal.d.ts +34 -1
- package/dist/modal/certrev-cert-modal.d.ts.map +1 -1
- package/dist/modal/certrev-cert-modal.js +40 -2
- package/dist/modal/certrev-cert-modal.js.map +1 -1
- package/dist/modal/certrev-cert.entry.d.ts.map +1 -1
- package/dist/modal/certrev-cert.entry.js +2 -4
- package/dist/modal/certrev-cert.entry.js.map +1 -1
- package/dist/modal/certrev-cert.js +4 -4
- package/dist/modal/deprecated.d.ts +15 -0
- package/dist/modal/deprecated.d.ts.map +1 -0
- package/dist/modal/deprecated.js +22 -0
- package/dist/modal/deprecated.js.map +1 -0
- package/dist/modal/ftc-disclosure.d.ts +7 -3
- package/dist/modal/ftc-disclosure.d.ts.map +1 -1
- package/dist/modal/ftc-disclosure.js +7 -3
- package/dist/modal/ftc-disclosure.js.map +1 -1
- package/dist/modal/index.d.ts +4 -3
- package/dist/modal/index.d.ts.map +1 -1
- package/dist/modal/index.js +4 -3
- package/dist/modal/index.js.map +1 -1
- package/dist/modal/interactions.d.ts +20 -4
- package/dist/modal/interactions.d.ts.map +1 -1
- package/dist/modal/interactions.js +34 -7
- package/dist/modal/interactions.js.map +1 -1
- package/dist/reader/face.d.ts +12 -0
- package/dist/reader/face.d.ts.map +1 -0
- package/dist/reader/face.js +19 -0
- package/dist/reader/face.js.map +1 -0
- package/dist/reader/helpers.d.ts +48 -0
- package/dist/reader/helpers.d.ts.map +1 -0
- package/dist/reader/helpers.js +166 -0
- package/dist/reader/helpers.js.map +1 -0
- package/dist/reader/index.d.ts +10 -0
- package/dist/reader/index.d.ts.map +1 -0
- package/dist/reader/index.js +10 -0
- package/dist/reader/index.js.map +1 -0
- package/dist/reader/logo.d.ts +4 -0
- package/dist/reader/logo.d.ts.map +1 -0
- package/dist/reader/logo.js +23 -0
- package/dist/reader/logo.js.map +1 -0
- package/dist/reader/reader-css.generated.d.ts +2 -0
- package/dist/reader/reader-css.generated.d.ts.map +1 -0
- package/dist/reader/reader-css.generated.js +6 -0
- package/dist/reader/reader-css.generated.js.map +1 -0
- package/dist/reader/render.d.ts +26 -0
- package/dist/reader/render.d.ts.map +1 -0
- package/dist/reader/render.js +230 -0
- package/dist/reader/render.js.map +1 -0
- package/dist/reader/tokens.d.ts +8 -0
- package/dist/reader/tokens.d.ts.map +1 -0
- package/dist/reader/tokens.js +65 -0
- package/dist/reader/tokens.js.map +1 -0
- package/dist/verify/get-verified-delivery.d.ts.map +1 -1
- package/dist/verify/get-verified-delivery.js +5 -1
- package/dist/verify/get-verified-delivery.js.map +1 -1
- package/package.json +7 -1
- package/src/builder/cert-chrome-data.ts +10 -0
- package/src/builder/cert-review-card.tsx +31 -2
- package/src/builder/envelope-face.ts +54 -5
- package/src/builder/index.tsx +3 -0
- package/src/components/render-cert-block.ts +3 -6
- package/src/modal/certrev-cert-modal.ts +45 -2
- package/src/modal/certrev-cert.entry.ts +2 -4
- package/src/modal/deprecated.ts +25 -0
- package/src/modal/ftc-disclosure.ts +7 -3
- package/src/modal/index.ts +4 -3
- package/src/modal/interactions.ts +37 -7
- package/src/reader/face.ts +35 -0
- package/src/reader/helpers.ts +178 -0
- package/src/reader/index.ts +14 -0
- package/src/reader/logo.ts +28 -0
- package/src/reader/reader-css.generated.ts +5 -0
- package/src/reader/reader.css +550 -0
- package/src/reader/render.ts +319 -0
- package/src/reader/tokens.ts +76 -0
- package/src/verify/get-verified-delivery.ts +5 -1
- package/dist/modal/ftc-guard.d.ts +0 -85
- package/dist/modal/ftc-guard.d.ts.map +0 -1
- package/dist/modal/ftc-guard.js +0 -150
- package/dist/modal/ftc-guard.js.map +0 -1
- package/src/modal/ftc-guard.ts +0 -174
|
@@ -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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"}
|
|
@@ -23,10 +23,42 @@
|
|
|
23
23
|
* so the document-level delegate can't see the close controls.
|
|
24
24
|
* - Fonts inject at document level on first open (font faces don't scope into a
|
|
25
25
|
* shadow root); deferring to first open avoids loading them on every article view.
|
|
26
|
+
* - A page can carry several faces, each with its own element (a WordPress Query Loop, a
|
|
27
|
+
* related-posts block). A trigger opens its OWN face's element (`ownCertModal`), never the
|
|
28
|
+
* document's first one, and a suppressed element hides only its own face's triggers.
|
|
26
29
|
*/
|
|
27
30
|
import { type CertDeliveryArtifact } from '@certrev/cert-contract';
|
|
28
31
|
export declare const CERT_MODAL_TAG = "certrev-cert-modal";
|
|
29
32
|
type ModalKind = 'cert' | 'expert';
|
|
33
|
+
/**
|
|
34
|
+
* One rendered face on a surface that can print several per page: the WordPress plugin wraps each
|
|
35
|
+
* face's card, memo and rail wraps in `<div data-certrev-cert="1">`. A trigger never reaches a
|
|
36
|
+
* `<certrev-cert-modal>` in another face root, and one outside every face root never reaches a
|
|
37
|
+
* modal inside one.
|
|
38
|
+
*/
|
|
39
|
+
export declare const FACE_ROOT_SELECTOR = "[data-certrev-cert]";
|
|
40
|
+
/** The element a trigger opens, or why it has none. */
|
|
41
|
+
export type OwnCertModal = {
|
|
42
|
+
readonly modal: Element;
|
|
43
|
+
readonly reason: null;
|
|
44
|
+
} | {
|
|
45
|
+
readonly modal: null;
|
|
46
|
+
readonly reason: 'none' | 'ambiguous';
|
|
47
|
+
readonly count: number;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* The `<certrev-cert-modal>` that belongs to `trigger`'s face: the one in the SMALLEST subtree that
|
|
51
|
+
* holds both. Walk up from the trigger; the first ancestor holding a modal decides:
|
|
52
|
+
* - exactly one → that is the face's modal. On Shopify the card wrap (badge + modal) and the memo
|
|
53
|
+
* wrap (triggers only) are placed apart in the article, and their nearest common container holds
|
|
54
|
+
* the page's one modal; a Builder page puts one modal beside the CMS content; a WordPress face root
|
|
55
|
+
* holds its own.
|
|
56
|
+
* - more than one → `ambiguous`: the trigger's face has no modal of its own and sits between other
|
|
57
|
+
* faces'. Picking one would open another cert's certificate, so there is no answer.
|
|
58
|
+
* The walk never leaves the trigger's face root, and only counts modals in that same face root (or,
|
|
59
|
+
* for a trigger in none, modals in none), so a WordPress face without a modal resolves to `none`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function ownCertModal(trigger: Element): OwnCertModal;
|
|
30
62
|
export declare class CertRevCertModal extends HTMLElement {
|
|
31
63
|
private root;
|
|
32
64
|
private rendered;
|
|
@@ -49,7 +81,8 @@ export declare class CertRevCertModal extends HTMLElement {
|
|
|
49
81
|
/**
|
|
50
82
|
* The modal kill-switch: a fetched envelope is REVOKED/EXPIRED. Don't open;
|
|
51
83
|
* mark the host suppressed (mirrors the badge revalidation's `data-certrev-suppressed`) and
|
|
52
|
-
* hide
|
|
84
|
+
* hide THIS face's light-DOM triggers (those whose `ownCertModal` is this element) so a stale
|
|
85
|
+
* click can't re-open a pulled cert. Another face's triggers on the page are not touched.
|
|
53
86
|
*/
|
|
54
87
|
private markSuppressed;
|
|
55
88
|
private onShadowClick;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certrev-cert-modal.d.ts","sourceRoot":"","sources":["../../src/modal/certrev-cert-modal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"certrev-cert-modal.d.ts","sourceRoot":"","sources":["../../src/modal/certrev-cert-modal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,KAAK,oBAAoB,EAAe,MAAM,wBAAwB,CAAA;AAK/E,eAAO,MAAM,cAAc,uBAAuB,CAAA;AAClD,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAA;AAElC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,uDAAuD;AACvD,MAAM,MAAM,YAAY,GACrB;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1F;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAW3D;AA+CD,qBAAa,gBAAiB,SAAQ,WAAW;IAChD,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAgC;IAC/C,OAAO,CAAC,aAAa,CAA6B;;IAiBlD;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAgB9B,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,cAAc;YAQR,aAAa;IA4C3B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,IAAI;IAKZ;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAcrB;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAQ/F;AAED,oFAAoF;AACpF,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
|
|
@@ -23,12 +23,47 @@
|
|
|
23
23
|
* so the document-level delegate can't see the close controls.
|
|
24
24
|
* - Fonts inject at document level on first open (font faces don't scope into a
|
|
25
25
|
* shadow root); deferring to first open avoids loading them on every article view.
|
|
26
|
+
* - A page can carry several faces, each with its own element (a WordPress Query Loop, a
|
|
27
|
+
* related-posts block). A trigger opens its OWN face's element (`ownCertModal`), never the
|
|
28
|
+
* document's first one, and a suppressed element hides only its own face's triggers.
|
|
26
29
|
*/
|
|
27
30
|
import { isTombstone } from '@certrev/cert-contract';
|
|
28
31
|
import { CERT_FONT_FACE_CSS, CERT_FONTS_ORIGIN } from './font-face.js';
|
|
29
32
|
import { renderCertDialogInner, renderExpertDialogInner } from './cert-modal-view.js';
|
|
30
33
|
import { CERT_MODAL_CSS } from './certrev-cert-modal.styles.js';
|
|
31
34
|
export const CERT_MODAL_TAG = 'certrev-cert-modal';
|
|
35
|
+
/**
|
|
36
|
+
* One rendered face on a surface that can print several per page: the WordPress plugin wraps each
|
|
37
|
+
* face's card, memo and rail wraps in `<div data-certrev-cert="1">`. A trigger never reaches a
|
|
38
|
+
* `<certrev-cert-modal>` in another face root, and one outside every face root never reaches a
|
|
39
|
+
* modal inside one.
|
|
40
|
+
*/
|
|
41
|
+
export const FACE_ROOT_SELECTOR = '[data-certrev-cert]';
|
|
42
|
+
/**
|
|
43
|
+
* The `<certrev-cert-modal>` that belongs to `trigger`'s face: the one in the SMALLEST subtree that
|
|
44
|
+
* holds both. Walk up from the trigger; the first ancestor holding a modal decides:
|
|
45
|
+
* - exactly one → that is the face's modal. On Shopify the card wrap (badge + modal) and the memo
|
|
46
|
+
* wrap (triggers only) are placed apart in the article, and their nearest common container holds
|
|
47
|
+
* the page's one modal; a Builder page puts one modal beside the CMS content; a WordPress face root
|
|
48
|
+
* holds its own.
|
|
49
|
+
* - more than one → `ambiguous`: the trigger's face has no modal of its own and sits between other
|
|
50
|
+
* faces'. Picking one would open another cert's certificate, so there is no answer.
|
|
51
|
+
* The walk never leaves the trigger's face root, and only counts modals in that same face root (or,
|
|
52
|
+
* for a trigger in none, modals in none), so a WordPress face without a modal resolves to `none`.
|
|
53
|
+
*/
|
|
54
|
+
export function ownCertModal(trigger) {
|
|
55
|
+
const face = trigger.closest(FACE_ROOT_SELECTOR);
|
|
56
|
+
for (let node = trigger; node; node = node.parentElement) {
|
|
57
|
+
const found = Array.from(node.querySelectorAll(CERT_MODAL_TAG)).filter((m) => m.closest(FACE_ROOT_SELECTOR) === face);
|
|
58
|
+
if (found.length === 1)
|
|
59
|
+
return { modal: found[0], reason: null };
|
|
60
|
+
if (found.length > 1)
|
|
61
|
+
return { modal: null, reason: 'ambiguous', count: found.length };
|
|
62
|
+
if (node === face)
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
return { modal: null, reason: 'none', count: 0 };
|
|
66
|
+
}
|
|
32
67
|
/** Shared constructable stylesheet (one per document lifetime). */
|
|
33
68
|
let sharedSheet = null;
|
|
34
69
|
function supportsConstructableSheets() {
|
|
@@ -200,11 +235,14 @@ export class CertRevCertModal extends HTMLElement {
|
|
|
200
235
|
/**
|
|
201
236
|
* The modal kill-switch: a fetched envelope is REVOKED/EXPIRED. Don't open;
|
|
202
237
|
* mark the host suppressed (mirrors the badge revalidation's `data-certrev-suppressed`) and
|
|
203
|
-
* hide
|
|
238
|
+
* hide THIS face's light-DOM triggers (those whose `ownCertModal` is this element) so a stale
|
|
239
|
+
* click can't re-open a pulled cert. Another face's triggers on the page are not touched.
|
|
204
240
|
*/
|
|
205
241
|
markSuppressed() {
|
|
206
242
|
this.setAttribute('data-certrev-suppressed', '');
|
|
207
|
-
for (const t of Array.from(
|
|
243
|
+
for (const t of Array.from(this.ownerDocument.querySelectorAll('[data-certrev-modal-open]'))) {
|
|
244
|
+
if (ownCertModal(t).modal !== this)
|
|
245
|
+
continue;
|
|
208
246
|
t.setAttribute('hidden', '');
|
|
209
247
|
t.setAttribute('aria-hidden', 'true');
|
|
210
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certrev-cert-modal.js","sourceRoot":"","sources":["../../src/modal/certrev-cert-modal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"certrev-cert-modal.js","sourceRoot":"","sources":["../../src/modal/certrev-cert-modal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certrev-cert.entry.d.ts","sourceRoot":"","sources":["../../src/modal/certrev-cert.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"certrev-cert.entry.d.ts","sourceRoot":"","sources":["../../src/modal/certrev-cert.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,yBAAyB,CAAA;AAMhC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAC9C,eAAO,MAAM,0BAA0B,uHAEd,CAAA"}
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* canonical `verifyEnvelope` kernel) and kicks off the DOM revalidation pass. No crypto here.
|
|
9
9
|
*/
|
|
10
10
|
import './certrev-cert-modal.js'; // registers the unified <certrev-cert-modal> element
|
|
11
|
-
import { installFtcGuard } from './ftc-guard.js';
|
|
12
11
|
import { initCertInteractionsOnReady } from './interactions.js';
|
|
13
12
|
import { initCertPlacement } from './placement.js';
|
|
14
13
|
import { initBadgeRevalidation } from './revalidate.js';
|
|
@@ -31,11 +30,10 @@ if (typeof document !== 'undefined') {
|
|
|
31
30
|
// in-article position — so the badge re-verify pass below finds `<certrev-badge>` already in
|
|
32
31
|
// place and never re-runs against a detached/re-attached node.
|
|
33
32
|
initCertPlacement(document);
|
|
33
|
+
// No disclosure guard since 1.1.1: nothing here hides, replaces or re-checks a face at load or on
|
|
34
|
+
// mutation, so a face that loads inside a closed <details>, tab or accordion renders when opened.
|
|
34
35
|
// Tap-to-expand contributor bios + the in-page certificate modal (progressive enhancement).
|
|
35
36
|
initCertInteractionsOnReady(document);
|
|
36
|
-
// FTC §3 anti-stripping: neutralize a memo whose verbatim disclosure was stripped/hidden/altered
|
|
37
|
-
// (restores the iframe kill switch in the native, in-DOM render). No-op when there's no memo.
|
|
38
|
-
installFtcGuard(document);
|
|
39
37
|
initBadgeRevalidation(document, { verify: createDeliveryVerifier(resolveKid) });
|
|
40
38
|
}
|
|
41
39
|
//# sourceMappingURL=certrev-cert.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certrev-cert.entry.js","sourceRoot":"","sources":["../../src/modal/certrev-cert.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,yBAAyB,CAAA,CAAC,qDAAqD;AACtF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"certrev-cert.entry.js","sourceRoot":"","sources":["../../src/modal/certrev-cert.entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,yBAAyB,CAAA,CAAC,qDAAqD;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAA;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG;;yBAEjB,CAAA;AAEzB,MAAM,UAAU,GAA0B,CAAC,GAAG,EAAE,EAAE,CACjD,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAEpF,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;IACrC,4FAA4F;IAC5F,6FAA6F;IAC7F,+DAA+D;IAC/D,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC3B,kGAAkG;IAClG,kGAAkG;IAClG,4FAA4F;IAC5F,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IACrC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;AAChF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* biome-ignore-all format: generated cert-badge bundle, see @certrev/cert-block src/modal/ */ /* biome-ignore-all lint: generated cert-badge bundle, see @certrev/cert-block src/modal/ */
|
|
2
|
-
"use strict";(()=>{var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
|
2
|
+
"use strict";(()=>{var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=(()=>{let e=new Int8Array(128).fill(-1);for(let t=0;t<H.length;t++)e[H.charCodeAt(t)]=t;return e[45]=62,e[95]=63,e})();function g(e){let t=[];for(let i=0;i<e.length;i++){let c=e.charCodeAt(i),d=c<128?Be[c]:-1;d>=0&&t.push(d)}let r=Math.floor(t.length*6/8),n=new Uint8Array(r),o=0,a=0,s=0;for(let i=0;i<t.length;i++)o=o<<6|t[i],a+=6,a>=8&&(a-=8,n[s++]=o>>a&255);return n}function C(e){return g(e)}function p(e,t=new Set){if(typeof e=="number"&&isNaN(e))throw new Error("NaN is not allowed");if(typeof e=="number"&&!isFinite(e))throw new Error("Infinity is not allowed");if(e===null||typeof e!="object")return JSON.stringify(e);if(typeof e.toJSON=="function"){if(t.has(e))throw new Error("Circular reference detected");t.add(e);let n=p(e.toJSON(),t);return t.delete(e),n}if(t.has(e))throw new Error("Circular reference detected");t.add(e);let r;if(Array.isArray(e))r=`[${e.map(o=>p(o===void 0||typeof o=="symbol"?null:o,t)).join(",")}]`;else{let n=[];for(let o of Object.keys(e).sort())e[o]===void 0||typeof e[o]=="symbol"||n.push(`${p(o)}:${p(e[o],t)}`);r=`{${n.join(",")}}`}return t.delete(e),r}var Ie=typeof p=="function"?p:p.default;function K(e){let t=Ie(e);if(typeof t!="string")throw new Error("canonicalize: value is not JSON-serializable");return t}function F(e){return new TextEncoder().encode(K(e))}function b(e,t="$"){if(typeof e=="number"){if(!Number.isInteger(e)||!Number.isSafeInteger(e))throw new Error(`canonicalPayloadBytes: number at ${t} (${e}) is not a safe integer. Signed-payload numbers must be safe integers so PHP/Go/Java verifiers reproduce identical canonical bytes`);return}if(Array.isArray(e)){e.forEach((r,n)=>b(r,`${t}[${n}]`));return}if(e&&typeof e=="object")for(let[r,n]of Object.entries(e))b(n,`${t}.${r}`)}function T(e){return b(e),F(e)}function R(e){return b(e),F(e)}var U="ed25519";var m={name:"Ed25519"};function Oe(e){return e.replace(/-----BEGIN [^-]+-----/g,"").replace(/-----END [^-]+-----/g,"").replace(/\s+/g,"")}async function q(e){switch(e.format){case"pem":return crypto.subtle.importKey("spki",g(Oe(e.pem)),m,!1,["verify"]);case"spki-base64":return crypto.subtle.importKey("spki",g(e.base64),m,!1,["verify"]);case"spki-der":return crypto.subtle.importKey("spki",e.bytes,m,!1,["verify"]);case"raw":{if(e.bytes.length!==32)throw new Error(`ed25519 raw public key must be 32 bytes, got ${e.bytes.length}`);return crypto.subtle.importKey("raw",e.bytes,m,!1,["verify"])}}}function Ne(e){if("format"in e)return!1;let t=e;return typeof t.type=="string"&&typeof t.algorithm=="object"&&Array.isArray(t.usages)}async function j(e){return Ne(e)?e:q(e)}async function G(e,t,r){let n=T(e),o=C(t);try{return await crypto.subtle.verify(m,r,o,n)}catch{return!1}}async function Pe(e,t){let{payload:r,signature:n}=e??{};if(!r||!n||r.contractVersion!==1)return{ok:!1,reason:"unsupported_contract_version"};if(n.alg!==U)return{ok:!1,reason:"unsupported_alg"};let o=await t(n.kid);if(!o)return{ok:!1,reason:"unknown_key"};let a;try{a=await j(o)}catch{return{ok:!1,reason:"unknown_key"}}return await G(r,n.sig,a)?{ok:!0,key:a}:{ok:!1,reason:"invalid_signature"}}function J(e,t){let r=t.now??new Date;if(e.subject.platform!==t.platform)return{decision:"suppress",reason:"platform_mismatch"};if(e.subject.externalId!==t.externalId)return{decision:"suppress",reason:"subject_mismatch"};if(e.lifecycle.revokedAt!==null)return{decision:"suppress",reason:"revoked"};if(r.getTime()>=Date.parse(e.lifecycle.expiresAt))return{decision:"suppress",reason:"expired"};let n=e.subject.contentDigest,o=t.liveContentHash;return n!==null&&o!=null&&n!==o?{decision:"suppress",reason:"content_drift"}:{decision:"render",payload:e}}async function Z(e,t,r){let n;try{n=await Pe(e,t)}catch{return{decision:"suppress",reason:"unknown_key"}}return n.ok?J(e.payload,r):{decision:"suppress",reason:n.reason}}function v(e){return e?.kind==="tombstone"}async function ze(e,t){let{signature:r}=e??{};if(!e?.subject||!r||e.contractVersion!==1)return{ok:!1,reason:"unsupported_contract_version"};if(r.alg!==U)return{ok:!1,reason:"unsupported_alg"};let n=await t(r.kid);if(!n)return{ok:!1,reason:"unknown_key"};let o;try{o=await j(n)}catch{return{ok:!1,reason:"unknown_key"}}let{signature:a,...s}=e,i=C(r.sig),c=!1;try{c=await crypto.subtle.verify(m,o,i,R(s))}catch{c=!1}return c?{ok:!0,key:o}:{ok:!1,reason:"invalid_signature"}}async function W(e,t,r){let n;try{n=await ze(e,t)}catch{return{decision:"suppress",reason:"unknown_key"}}return n.ok?e.subject.platform!==r.platform?{decision:"suppress",reason:"platform_mismatch"}:e.subject.externalId!==r.externalId?{decision:"suppress",reason:"subject_mismatch"}:{decision:"suppress",reason:"revoked"}:{decision:"suppress",reason:n.reason}}async function L(e,t,r){return v(e)?W(e,t,r):Z(e,t,r)}var Y=`
|
|
3
3
|
@font-face {
|
|
4
4
|
font-family: "DM Sans";
|
|
5
5
|
font-style: normal;
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
unicode-range:
|
|
120
120
|
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
121
121
|
}
|
|
122
|
-
`,X="https://assets.certrev.com";function f(e){return typeof e=="string"?e:typeof e=="number"&&Number.isFinite(e)?String(e):""}function l(e){return f(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var
|
|
122
|
+
`,X="https://assets.certrev.com";function f(e){return typeof e=="string"?e:typeof e=="number"&&Number.isFinite(e)?String(e):""}function l(e){return f(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var Ve=["assets.certrev.com","staging-assets.certrev.com"];function He(e){return`width=${e},height=${e},fit=cover,format=auto,onerror=redirect`}function Ke(e,t){let r=(e??"").trim();if(!/^https:\/\//i.test(r))return r;let n;try{n=new URL(r)}catch{return r}if(!Ve.includes(n.hostname)||n.pathname.startsWith("/cdn-cgi/image/"))return r;let o=n.pathname.replace(/^\//,"");return`${n.origin}/cdn-cgi/image/${He(t)}/${o}`}function Q(e,t){return Ke(e,t)}var ee="Independent editorial review of this article\u2019s text and sources. Not a product endorsement, nor medical advice.";var te=ee;function M(e){if(!e||typeof e!="string"&&!(e instanceof Date))return null;let t=e instanceof Date?e:new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"})}var B=["M67.59 221.77L138.77 292.95C145.8 299.98 145.8 311.44 138.77 318.47L123.02 334.22C116 341.25 104.54 341.25 97.5 334.22L26.32 263.04C19.29 256.01 19.29 244.55 26.32 237.52L42.07 221.77C49.1 214.74 60.56 214.74 67.59 221.77Z","M96.79 335.08L81.12 319.42C73.8 312.1 73.8 300.23 81.12 292.92L315.88 58.16C323.2 50.85 335.06 50.85 342.38 58.16L358.04 73.83C365.36 81.14 365.36 93.01 358.04 100.33L123.29 335.08C115.97 342.4 104.1 342.4 96.79 335.08Z","M203.5 335.14L187.83 319.48C180.52 312.16 180.52 300.29 187.83 292.98L315.88 164.93C323.2 157.62 335.06 157.62 342.38 164.93L358.04 180.6C365.36 187.92 365.36 199.78 358.04 207.1L230 335.14C222.68 342.46 210.82 342.46 203.5 335.14Z","M310.21 335.2L294.54 319.54C287.23 312.22 287.23 300.36 294.54 293.04L315.88 271.71C323.2 264.39 335.06 264.39 342.38 271.71L358.04 287.37C365.36 294.69 365.36 306.55 358.04 313.87L336.71 335.2C329.39 342.52 317.53 342.52 310.21 335.2Z"];function re(e,t){let r=B.map(n=>`<path fill="${t}" d="${n}"/>`).join("");return`<svg width="${e}" height="${e}" viewBox="0 0 375 375" aria-hidden="true" style="display:block;flex-shrink:0">${r}</svg>`}function ne(e=8){return`<svg width="${e}" height="${e}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>`}function oe(e="crm"){let t=`crm-stamp-arc-${e}`,r=B.map(n=>`<path fill="#0a1b3f" d="${n}"/>`).join("");return`<span class="crm-stamp"><svg viewBox="0 0 128 128" width="74" height="74" role="img" aria-label="CertREV verified stamp" style="display:block"><defs><path id="${t}" d="M64 18 A46 46 0 1 1 64 110 A46 46 0 1 1 64 18"/></defs><circle cx="64" cy="64" r="58" fill="none" stroke="#0a1b3f" stroke-width="1.3"/><circle cx="64" cy="64" r="51.5" fill="none" stroke="#0a1b3f" stroke-width="0.7" stroke-opacity="0.4"/><text font-family="'JetBrains Mono',ui-monospace,monospace" font-size="7.8" font-weight="600" letter-spacing="1.3" fill="#0a1b3f"><textPath href="#${t}" startOffset="1%">CERTREV VERIFIED \xB7 CERTIFIED \xB7 </textPath></text><svg x="49" y="50" width="30" height="28" viewBox="0 0 375 375" preserveAspectRatio="xMidYMid meet">${r}</svg></svg></span>`}var I=`
|
|
123
123
|
:host {
|
|
124
124
|
--cr-navy: #0a1b3f;
|
|
125
125
|
--cr-lime: #d4e157;
|
|
@@ -552,6 +552,6 @@
|
|
|
552
552
|
padding: 18px 18px 20px;
|
|
553
553
|
}
|
|
554
554
|
}
|
|
555
|
-
`;var oe="nofollow sponsored noopener noreferrer",je=/^(dr|prof|professor|mr|mrs|ms|mx|rev|sir|dame)\.?\s+/i;function ie(e){let t=f(e).replace(je,"").trim(),r=t.indexOf(",");return(r===-1?t:t.slice(0,r)).trim()}function Je(e){let t=ie(e).split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}function We(e){return ie(e)}function Ze(e){return f(e).replace(/^https?:\/\//i,"").replace(/\/$/,"")}function ae(e){let t=f(e).trim();return t&&/^https?:\/\//i.test(t)?t:"#"}function Ye(e){return(f(e?.cardLabel)||f(e?.fullName)||f(e?.abbreviation)).trim()}function se(e){let t=[],r=Array.isArray(e?.credentials)?e.credentials:[];for(let n of r){let o=Ye(n);o&&!t.includes(o)&&t.push(o)}return t}function Xe(e,t){return t?.showBio===!1?"":(f(e?.background)||f(e?.bio)).trim()}function ce(e,t,r,n){let o=f(e?.photoUrl).trim();if(n&&/^https?:\/\//i.test(o)){let i=r.includes("--64")?64:56,s=Q(o,i===64?128:112);return`<img class="crm-avatar ${r}" src="${l(s)}" alt="" width="${i}" height="${i}" decoding="async">`}return`<span class="crm-avatar ${r}">${l(Je(t))}</span>`}var le='<button type="button" class="crm-close" data-certrev-modal-close aria-label="Close">×</button>';function fe(e){return`<div class="crm-head">${te(16,"#ffffff")}<span class="crm-head__eyebrow">${l(e)}</span><span class="crm-head__wordmark">CertREV</span></div>`}function de(e){return`<span class="${e}">${re(8)}Certified</span>`}function pe(e){let t=f(e?.compensationCue).trim();return`<div class="crm-disclosure">${t?`<span class="crm-disclosure__cue">${l(t)}</span> `:""}${l(ee)}</div>`}function ue(e){let t=e.expert??null,r=f(t?.displayName).trim();if(!r)return null;let n=e.display?.showExpertPhoto!==!1,o=se(t).join(" \xB7 "),i=M(e.certifiedAt)??"",s=f(e.displayCertId).trim(),a=f(e.articleTitle).trim(),c=f(e.verifyUrl).trim(),d=We(r),h=a?`<div class="crm-certifies"><div class="crm-certifies__eyebrow">Certifies the article</div><div class="crm-certifies__title">${l(a)}</div></div>`:"",x=s?`<div class="crm-meta__col"><div class="crm-meta__label">Certificate ID</div><div class="crm-meta__value crm-meta__value--mono">${l(s)}</div></div>`:"",Be=c?`<div class="crm-sig__url">${l(Ze(c))}</div>`:"";return`${le}${fe("Certificate of Expert Review")}<div class="crm-body--cert"><div class="crm-expert-row">${ce(t,r,"crm-avatar--56",n)}<div class="crm-expert-row__info"><div class="crm-expert-row__eyebrow">Reviewing Expert</div><div class="crm-expert-row__name">${l(r)}</div>${o?`<div class="crm-expert-row__creds">${l(o)}</div>`:""}</div></div>${h}<div class="crm-meta"><div class="crm-meta__col"><div class="crm-meta__label">Issued</div><div class="crm-meta__value">${l(i)}</div></div>${x}<div class="crm-meta__col"><div class="crm-meta__label">Status</div><div class="crm-meta__status">${de("crm-chip")}</div></div></div><div class="crm-sig"><div><div class="crm-sig__name">${l(d)}</div><div class="crm-sig__rule"></div>${Be}</div>${ne("cert")}</div>${pe(t)}<div class="crm-actions"><a class="crm-cta" href="${l(ae(c))}" target="_blank" rel="${oe}">View full certificate</a><button type="button" class="crm-ghost" data-certrev-modal-close>Close</button></div></div>`}function me(e){let t=e.expert??null,r=f(t?.displayName).trim();if(!r)return null;let n=e.display?.showExpertPhoto!==!1,o=se(t),i=Xe(t,e.display),s=M(e.certifiedAt),a=o.length?`<div class="crm-chips">${o.map(h=>`<span class="crm-chips__chip">${l(h)}</span>`).join("")}</div>`:"",c=i?`<p class="crm-bio">${l(i)}</p>`:"",d=s?`Independently reviewed \xB7 Certified ${l(s)}`:"Independently reviewed";return`${le}${fe("Verified reviewer")}<div class="crm-body--expert"><div class="crm-id">${ce(t,r,"crm-avatar--64",n)}<div class="crm-id__info"><div class="crm-id__name">${l(r)}</div></div></div>${a}${c}<div class="crm-trust">${de("crm-trust__chip")}<span class="crm-trust__text">${d}</span></div>${pe(t)}<div class="crm-actions"><a class="crm-cta" href="${l(ae(t?.profileUrl))}" target="_blank" rel="${oe}">View full profile on CertREV</a><button type="button" class="crm-ghost" data-certrev-modal-close>Close</button></div></div>`}var A="certrev-cert-modal",w=null;function Qe(){return typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype&&"adoptedStyleSheets"in Document.prototype}function et(){return Qe()?(w||(w=new CSSStyleSheet,w.replaceSync($)),w):null}var ye=!1;function tt(e){if(ye||(ye=!0,e.querySelector("style[data-certrev-modal-fonts]")))return;if(!e.querySelector("link[data-certrev-modal-preconnect]")){let r=e.createElement("link");r.rel="preconnect",r.href=X,r.crossOrigin="",r.setAttribute("data-certrev-modal-preconnect",""),e.head.appendChild(r)}let t=e.createElement("style");t.textContent=Y,t.setAttribute("data-certrev-modal-fonts",""),e.head.appendChild(t)}var O=class extends HTMLElement{constructor(){super();this.rendered=!1;this.content=null;this.fetchInFlight=null;this.root=this.attachShadow({mode:"open"});let r=et();if(r)this.root.adoptedStyleSheets=[r];else{let n=document.createElement("style");n.textContent=$,this.root.appendChild(n)}this.root.addEventListener("click",n=>this.onShadowClick(n))}open(r){return this.getAttribute("data-fonts")!=="host"&&tt(document),this.ensureRendered()?(this.show(r),!0):this.hasFetchSource()?(this.fetchThenShow(r),!0):!1}ensureRendered(){if(this.rendered)return this.content!=null;let r=this.readSyncContent();return r?(this.content=r,this.renderDialogs(r),this.rendered=!0,!0):!1}readSyncContent(){let r=this.getAttribute("data-envelope");if(r)return ge(r);let n=this.querySelector("script[data-certrev-envelope]");return n?.textContent?ge(n.textContent):null}hasFetchSource(){return!!(this.getAttribute("data-delivery-api")&&this.getAttribute("data-platform")&&this.getAttribute("data-external-id"))}async fetchThenShow(r){if(!this.fetchInFlight){let n=(this.getAttribute("data-delivery-api")||"").replace(/\/$/,""),o=this.getAttribute("data-platform")||"",i=this.getAttribute("data-external-id")||"";this.fetchInFlight=(async()=>{try{let s=await fetch(`${n}/api/cert/v1/delivery/${encodeURIComponent(o)}/${encodeURIComponent(i)}`,{cache:"no-store",credentials:"omit"});if(!s.ok)return;let a=await s.json();if(rt(a)){this.markSuppressed();return}let c=v(a)?void 0:a.payload?.content;c&&(this.content=c,this.renderDialogs(c),this.rendered=!0)}catch{}})()}await this.fetchInFlight,this.rendered&&this.show(r)}renderDialogs(r){let n=ue(r),o=me(r),i=document.createElement("div");i.innerHTML=`${n?`<dialog id="cert" class="crm-dialog crm-dialog--cert" aria-label="CertREV certificate">${n}</dialog>`:""}${o?`<dialog id="expert" class="crm-dialog crm-dialog--expert" aria-label="Verified reviewer profile">${o}</dialog>`:""}`;for(let s of Array.from(i.childNodes))this.root.appendChild(s)}show(r){let n=this.root.getElementById(r);n&&typeof n.showModal=="function"&&!n.open&&n.showModal()}markSuppressed(){this.setAttribute("data-certrev-suppressed","");for(let r of Array.from(document.querySelectorAll("[data-certrev-modal-open]")))r.setAttribute("hidden",""),r.setAttribute("aria-hidden","true")}onShadowClick(r){let n=r.target;if(!n)return;if(n instanceof HTMLDialogElement&&n.classList.contains("crm-dialog")){n.close();return}let o=n.closest("[data-certrev-modal-close]");o&&(r.preventDefault(),o.closest("dialog")?.close())}};function ge(e){try{let t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}function rt(e){if(!e)return!1;if(v(e))return!0;let t=e.payload?.lifecycle;return t?!!(t.revokedAt!=null||t.expiresAt&&Date.now()>=new Date(t.expiresAt).getTime()):!1}function nt(){typeof customElements>"u"||customElements.get(A)||customElements.define(A,O)}nt();var ot="[data-ftc-line]",xe=".certrev-memo",ve=".certrev-memo-wrap",it="data-certrev-ftc-neutralized",at="nofollow sponsored noopener noreferrer",he=new WeakSet;function st(e){let t=e.ownerDocument.defaultView;if(!t)return!0;let r=t.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||Number.parseFloat(r.opacity||"1")===0)return!1;let n=e.getBoundingClientRect();return n.width>0&&n.height>0}function ct(e){let t=e.querySelector(ot);return!t||(t.textContent||"").trim()!==U?!1:st(t)}function lt(e){let r=e.ownerDocument.createElement("div");r.setAttribute(it,""),r.style.cssText="font-family:system-ui,-apple-system,sans-serif;font-size:12px;color:#555;padding:12px;line-height:1.4",r.innerHTML=`This CertREV verification cannot be displayed because its required disclosure was not shown. <a href="https://certrev.com" style="color:#555" target="_blank" rel="${at}">Learn more</a>.`,e.replaceWith(r)}function ft(e){let t=Array.from(e.querySelectorAll(xe));if(!t.length)return"unguarded";let r="intact";for(let n of t)ct(n)||(r="tampered",lt(n));return r}function Ce(e){if(he.has(e))return;he.add(e);let t=()=>{ft(e)},r=()=>{t();let n=e.defaultView?.MutationObserver;if(!n)return;let o=Array.from(e.querySelectorAll(ve)),i=Array.from(e.querySelectorAll(xe)).filter(s=>!s.closest(ve));for(let s of[...o,...i])new n(t).observe(s,{childList:!0,subtree:!0,characterData:!0,attributes:!0})};e.readyState==="loading"?e.addEventListener("DOMContentLoaded",r,{once:!0}):r()}var be="data-certrev-acc",_="data-certrev-modal-open",N="data-certrev-initials";var dt=["avatar","certrev-memo__avatar"],Ee=new WeakSet;function Ue(e){let t=e.classList.toggle("open");e.setAttribute("aria-expanded",t?"true":"false")}function we(e){return e==="expert"?"expert":"cert"}function Ae(e,t){let r=e.querySelector(A);return r&&typeof r.open=="function"?r.open(t):!1}function _e(e){return e&&e.closest?e:null}function Se(e){let t=e.getAttribute(N);if(t==null)return;let r=dt.find(o=>e.classList.contains(o));if(!r)return;let n=e.ownerDocument.createElement("span");n.className=`${r} ${r}--initials`,n.setAttribute("aria-hidden","true"),n.textContent=t,e.replaceWith(n)}function pt(e){for(let t of Array.from(e.querySelectorAll(`img[${N}]`)))t.complete&&t.naturalWidth===0&&Se(t)}function ut(e){Ee.has(e)||(Ee.add(e),e.addEventListener("click",t=>{let r=_e(t.target);if(!r)return;let n=r.closest(`[${_}]`);if(n){Ae(e,we(n.getAttribute(_)))&&t.preventDefault();return}let o=r.closest(`[${be}]`);o&&!r.closest("a, button")&&Ue(o)}),e.addEventListener("error",t=>{let r=t.target;r&&r.tagName==="IMG"&&r.hasAttribute(N)&&Se(r)},!0),pt(e),e.addEventListener("keydown",t=>{if(t.key!=="Enter"&&t.key!==" "&&t.key!=="Spacebar")return;let r=_e(t.target);if(!r||r.closest("a, button"))return;let n=r.closest(`[${_}]`);if(n&&Ae(e,we(n.getAttribute(_)))){t.preventDefault();return}let o=r.closest(`[${be}]`);o&&(t.preventDefault(),Ue(o))}))}function De(e){let t=()=>ut(e);e.readyState==="loading"?e.addEventListener("DOMContentLoaded",t,{once:!0}):t()}var mt=[{selector:"main article",tier:"article"},{selector:"article",tier:"article"},{selector:"main",tier:"main"},{selector:".article-template__content",tier:"theme-class"},{selector:'[id^="ArticleContent"]',tier:"theme-class"},{selector:".rte",tier:"theme-class"}],y=[{selector:".article-template__content",tier:"theme-class"},{selector:'[id^="ArticleContent"]',tier:"theme-class"},{selector:".rte",tier:"theme-class"},{selector:"main article",tier:"article"},{selector:"article",tier:"article"},{selector:"main",tier:"main"}],P=y.map(e=>e.selector).join(", "),yt='header, [role="banner"], [class*="announcement"], footer, [role="contentinfo"], nav, [role="navigation"], cart-drawer, .cart-drawer, .drawer, .mini-cart, .modal, [role="dialog"]',u="data-certrev-placement",Te="data-certrev-anchor",gt='script[type="application/ld+json"][data-certrev-graph]',vt=".certrev-card-wrap",Re=".certrev-memo-wrap",ht=".certrev-pill-wrap",ke=384,xt=24,S="#references";function D(e){for(let t=e;t;t=t.parentElement){if(t.hasAttribute("hidden")||t.getAttribute("aria-hidden")==="true")return!1;let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden")return!1}return!0}function z(e){return e.closest(yt)!==null}function Fe(e,t){for(let{selector:r,tier:n}of t)if(e.matches(r))return n;return"article"}function F(e,t,r){for(let{selector:n,tier:o}of r)for(let i of Array.from(e.querySelectorAll(n)))if(i!==t&&!i.contains(t)&&!t.contains(i)&&D(i)&&!z(i))return{el:i,tier:o};return null}function V(e,t){let r=t.getAttribute(u);if(r)return{anchored:r!=="body-fallback",tier:r};let n=t.getAttribute(Te);if(n==="rail"){let a=e.querySelector(S)?.closest(P)??F(e,t,y)?.el??null,c=e.defaultView;if(a&&c&&D(a)&&!z(a)){let d=a.getBoundingClientRect();if(c.innerWidth-d.right>=ke)return t.style.setProperty("--certrev-rail-left",`${Math.round(d.right+xt)}px`),t.setAttribute(u,"rail"),{anchored:!0,tier:"rail"};a.insertAdjacentElement("afterbegin",t);let x=Fe(a,y);return t.setAttribute(u,x),{anchored:!0,tier:x}}return t.setAttribute(u,"body-fallback"),{anchored:!1,tier:"body-fallback"}}let o=n==="bottom"?"bottom":"top",i="body-fallback";if(o==="top"){let a=e.querySelector(S)?.closest(P)??null;if(a&&a!==t&&!a.contains(t)&&!t.contains(a)&&D(a)&&!z(a))a.insertAdjacentElement("afterbegin",t),i=Fe(a,y);else{let c=F(e,t,y);c&&(c.el.insertAdjacentElement("afterbegin",t),i=c.tier)}}else{let s=e.querySelector(S);if(s&&s!==t&&!t.contains(s)&&!s.contains(t)&&D(s))s.insertAdjacentElement("beforebegin",t),i="references";else{let a=F(e,t,mt);a&&(a.el.insertAdjacentElement("afterend",t),i=a.tier)}}return t.setAttribute(u,i),{anchored:i!=="body-fallback",tier:i}}function Ct(e){let t=e.querySelector(gt),r=!1;t&&t.parentNode!==e.head&&(e.head.appendChild(t),r=!0);let n=e.querySelector(vt),o=e.querySelector(Re);return e.querySelector(ht)?.setAttribute(u,"pill-fixed"),{graph:r,card:n?V(e,n):null,memo:o?V(e,o):null}}function bt(e){let t=e.defaultView;if(!t)return;let r=e.querySelector(`${Re}[${Te}="rail"]`);if(!r||r.getAttribute(u)!=="rail")return;let n,o=()=>{n&&clearTimeout(n),n=setTimeout(()=>{if(r.getAttribute(u)!=="rail"){t.removeEventListener("resize",o);return}let s=e.querySelector(S)?.closest(P)??F(e,r,y)?.el??null;(s?t.innerWidth-s.getBoundingClientRect().right:0)<ke&&(r.style.removeProperty("--certrev-rail-left"),r.removeAttribute(u),V(e,r),t.removeEventListener("resize",o))},150)};t.addEventListener("resize",o)}function Le(e){let t=()=>{Ct(e),bt(e)};e.readyState==="loading"?e.addEventListener("DOMContentLoaded",t,{once:!0}):t()}async function Et(e,t){let r=e.querySelector(".certrev-badge");if(!r)return;let n=e.getAttribute("data-delivery-api"),o=e.getAttribute("data-external-id"),i=e.getAttribute("data-platform")??"shopify";if(!n||!o)return;let s;try{s=await t.verify({baseUrl:n,platform:i,externalId:o})}catch{return}s.decision!=="render"&&(r.setAttribute("hidden",""),r.setAttribute("data-certrev-suppressed",s.reason))}function Ie(e,t){let r=()=>{for(let n of Array.from(e.querySelectorAll("certrev-badge[revalidate]")))Et(n,t)};e.readyState==="loading"?e.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function Me(e,t=fetch){return async r=>{let o=`${r.baseUrl.replace(/\/+$/,"")}/api/cert/v1/delivery/${encodeURIComponent(r.platform)}/${encodeURIComponent(r.externalId)}`,i=await t(o,{headers:{accept:"application/json"}});if(!i.ok)throw new Error(`cert delivery ${i.status}`);let s=await i.json();return I(s,e,{platform:r.platform,externalId:r.externalId,liveContentHash:null,now:new Date})}}var Ut="cert-issuer-1",wt=`-----BEGIN PUBLIC KEY-----
|
|
555
|
+
`;var ae="nofollow sponsored noopener noreferrer",qe=/^(dr|prof|professor|mr|mrs|ms|mx|rev|sir|dame)\.?\s+/i;function ie(e){let t=f(e).replace(qe,"").trim(),r=t.indexOf(",");return(r===-1?t:t.slice(0,r)).trim()}function je(e){let t=ie(e).split(/\s+/).filter(Boolean);return t.length===0?"":t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase()}function Ge(e){return ie(e)}function Je(e){return f(e).replace(/^https?:\/\//i,"").replace(/\/$/,"")}function se(e){let t=f(e).trim();return t&&/^https?:\/\//i.test(t)?t:"#"}function Ze(e){return(f(e?.cardLabel)||f(e?.fullName)||f(e?.abbreviation)).trim()}function ce(e){let t=[],r=Array.isArray(e?.credentials)?e.credentials:[];for(let n of r){let o=Ze(n);o&&!t.includes(o)&&t.push(o)}return t}function We(e,t){return t?.showBio===!1?"":(f(e?.background)||f(e?.bio)).trim()}function le(e,t,r,n){let o=f(e?.photoUrl).trim();if(n&&/^https?:\/\//i.test(o)){let a=r.includes("--64")?64:56,s=Q(o,a===64?128:112);return`<img class="crm-avatar ${r}" src="${l(s)}" alt="" width="${a}" height="${a}" decoding="async">`}return`<span class="crm-avatar ${r}">${l(je(t))}</span>`}var fe='<button type="button" class="crm-close" data-certrev-modal-close aria-label="Close">×</button>';function de(e){return`<div class="crm-head">${re(16,"#ffffff")}<span class="crm-head__eyebrow">${l(e)}</span><span class="crm-head__wordmark">CertREV</span></div>`}function pe(e){return`<span class="${e}">${ne(8)}Certified</span>`}function ue(e){let t=f(e?.compensationCue).trim();return`<div class="crm-disclosure">${t?`<span class="crm-disclosure__cue">${l(t)}</span> `:""}${l(te)}</div>`}function me(e){let t=e.expert??null,r=f(t?.displayName).trim();if(!r)return null;let n=e.display?.showExpertPhoto!==!1,o=ce(t).join(" \xB7 "),a=M(e.certifiedAt)??"",s=f(e.displayCertId).trim(),i=f(e.articleTitle).trim(),c=f(e.verifyUrl).trim(),d=Ge(r),h=i?`<div class="crm-certifies"><div class="crm-certifies__eyebrow">Certifies the article</div><div class="crm-certifies__title">${l(i)}</div></div>`:"",x=s?`<div class="crm-meta__col"><div class="crm-meta__label">Certificate ID</div><div class="crm-meta__value crm-meta__value--mono">${l(s)}</div></div>`:"",Me=c?`<div class="crm-sig__url">${l(Je(c))}</div>`:"";return`${fe}${de("Certificate of Expert Review")}<div class="crm-body--cert"><div class="crm-expert-row">${le(t,r,"crm-avatar--56",n)}<div class="crm-expert-row__info"><div class="crm-expert-row__eyebrow">Reviewing Expert</div><div class="crm-expert-row__name">${l(r)}</div>${o?`<div class="crm-expert-row__creds">${l(o)}</div>`:""}</div></div>${h}<div class="crm-meta"><div class="crm-meta__col"><div class="crm-meta__label">Issued</div><div class="crm-meta__value">${l(a)}</div></div>${x}<div class="crm-meta__col"><div class="crm-meta__label">Status</div><div class="crm-meta__status">${pe("crm-chip")}</div></div></div><div class="crm-sig"><div><div class="crm-sig__name">${l(d)}</div><div class="crm-sig__rule"></div>${Me}</div>${oe("cert")}</div>${ue(t)}<div class="crm-actions"><a class="crm-cta" href="${l(se(c))}" target="_blank" rel="${ae}">View full certificate</a><button type="button" class="crm-ghost" data-certrev-modal-close>Close</button></div></div>`}function ye(e){let t=e.expert??null,r=f(t?.displayName).trim();if(!r)return null;let n=e.display?.showExpertPhoto!==!1,o=ce(t),a=We(t,e.display),s=M(e.certifiedAt),i=o.length?`<div class="crm-chips">${o.map(h=>`<span class="crm-chips__chip">${l(h)}</span>`).join("")}</div>`:"",c=a?`<p class="crm-bio">${l(a)}</p>`:"",d=s?`Independently reviewed \xB7 Certified ${l(s)}`:"Independently reviewed";return`${fe}${de("Verified reviewer")}<div class="crm-body--expert"><div class="crm-id">${le(t,r,"crm-avatar--64",n)}<div class="crm-id__info"><div class="crm-id__name">${l(r)}</div></div></div>${i}${c}<div class="crm-trust">${pe("crm-trust__chip")}<span class="crm-trust__text">${d}</span></div>${ue(t)}<div class="crm-actions"><a class="crm-cta" href="${l(se(t?.profileUrl))}" target="_blank" rel="${ae}">View full profile on CertREV</a><button type="button" class="crm-ghost" data-certrev-modal-close>Close</button></div></div>`}var w="certrev-cert-modal",ge="[data-certrev-cert]";function O(e){let t=e.closest(ge);for(let r=e;r;r=r.parentElement){let n=Array.from(r.querySelectorAll(w)).filter(o=>o.closest(ge)===t);if(n.length===1)return{modal:n[0],reason:null};if(n.length>1)return{modal:null,reason:"ambiguous",count:n.length};if(r===t)break}return{modal:null,reason:"none",count:0}}var E=null;function Ye(){return typeof CSSStyleSheet<"u"&&"replaceSync"in CSSStyleSheet.prototype&&"adoptedStyleSheets"in Document.prototype}function Xe(){return Ye()?(E||(E=new CSSStyleSheet,E.replaceSync(I)),E):null}var ve=!1;function Qe(e){if(ve||(ve=!0,e.querySelector("style[data-certrev-modal-fonts]")))return;if(!e.querySelector("link[data-certrev-modal-preconnect]")){let r=e.createElement("link");r.rel="preconnect",r.href=X,r.crossOrigin="",r.setAttribute("data-certrev-modal-preconnect",""),e.head.appendChild(r)}let t=e.createElement("style");t.textContent=Y,t.setAttribute("data-certrev-modal-fonts",""),e.head.appendChild(t)}var $=class extends HTMLElement{constructor(){super();this.rendered=!1;this.content=null;this.fetchInFlight=null;this.root=this.attachShadow({mode:"open"});let r=Xe();if(r)this.root.adoptedStyleSheets=[r];else{let n=document.createElement("style");n.textContent=I,this.root.appendChild(n)}this.root.addEventListener("click",n=>this.onShadowClick(n))}open(r){return this.getAttribute("data-fonts")!=="host"&&Qe(document),this.ensureRendered()?(this.show(r),!0):this.hasFetchSource()?(this.fetchThenShow(r),!0):!1}ensureRendered(){if(this.rendered)return this.content!=null;let r=this.readSyncContent();return r?(this.content=r,this.renderDialogs(r),this.rendered=!0,!0):!1}readSyncContent(){let r=this.getAttribute("data-envelope");if(r)return he(r);let n=this.querySelector("script[data-certrev-envelope]");return n?.textContent?he(n.textContent):null}hasFetchSource(){return!!(this.getAttribute("data-delivery-api")&&this.getAttribute("data-platform")&&this.getAttribute("data-external-id"))}async fetchThenShow(r){if(!this.fetchInFlight){let n=(this.getAttribute("data-delivery-api")||"").replace(/\/$/,""),o=this.getAttribute("data-platform")||"",a=this.getAttribute("data-external-id")||"";this.fetchInFlight=(async()=>{try{let s=await fetch(`${n}/api/cert/v1/delivery/${encodeURIComponent(o)}/${encodeURIComponent(a)}`,{cache:"no-store",credentials:"omit"});if(!s.ok)return;let i=await s.json();if(et(i)){this.markSuppressed();return}let c=v(i)?void 0:i.payload?.content;c&&(this.content=c,this.renderDialogs(c),this.rendered=!0)}catch{}})()}await this.fetchInFlight,this.rendered&&this.show(r)}renderDialogs(r){let n=me(r),o=ye(r),a=document.createElement("div");a.innerHTML=`${n?`<dialog id="cert" class="crm-dialog crm-dialog--cert" aria-label="CertREV certificate">${n}</dialog>`:""}${o?`<dialog id="expert" class="crm-dialog crm-dialog--expert" aria-label="Verified reviewer profile">${o}</dialog>`:""}`;for(let s of Array.from(a.childNodes))this.root.appendChild(s)}show(r){let n=this.root.getElementById(r);n&&typeof n.showModal=="function"&&!n.open&&n.showModal()}markSuppressed(){this.setAttribute("data-certrev-suppressed","");for(let r of Array.from(this.ownerDocument.querySelectorAll("[data-certrev-modal-open]")))O(r).modal===this&&(r.setAttribute("hidden",""),r.setAttribute("aria-hidden","true"))}onShadowClick(r){let n=r.target;if(!n)return;if(n instanceof HTMLDialogElement&&n.classList.contains("crm-dialog")){n.close();return}let o=n.closest("[data-certrev-modal-close]");o&&(r.preventDefault(),o.closest("dialog")?.close())}};function he(e){try{let t=JSON.parse(e);return t&&typeof t=="object"?t:null}catch{return null}}function et(e){if(!e)return!1;if(v(e))return!0;let t=e.payload?.lifecycle;return t?!!(t.revokedAt!=null||t.expiresAt&&Date.now()>=new Date(t.expiresAt).getTime()):!1}function tt(){typeof customElements>"u"||customElements.get(w)||customElements.define(w,$)}tt();var xe="data-certrev-acc",A="data-certrev-modal-open",N="data-certrev-initials";var rt="data-certrev-modal-unresolved",nt="certrev:modal-unresolved",ot=["avatar","certrev-memo__avatar"],Ce=new WeakSet;function be(e){let t=e.classList.toggle("open");e.setAttribute("aria-expanded",t?"true":"false")}function Ue(e){return e==="expert"?"expert":"cert"}function Ee(e,t){let r=O(e);if(r.modal){let n=r.modal;return typeof n.open=="function"?n.open(t):!1}return r.reason==="ambiguous"&&(e.setAttribute(rt,r.reason),e.dispatchEvent(new CustomEvent(nt,{bubbles:!0,detail:{reason:r.reason,modals:r.count}}))),!1}function we(e){return e&&e.closest?e:null}function Ae(e){let t=e.getAttribute(N);if(t==null)return;let r=ot.find(o=>e.classList.contains(o));if(!r)return;let n=e.ownerDocument.createElement("span");n.className=`${r} ${r}--initials`,n.setAttribute("aria-hidden","true"),n.textContent=t,e.replaceWith(n)}function at(e){for(let t of Array.from(e.querySelectorAll(`img[${N}]`)))t.complete&&t.naturalWidth===0&&Ae(t)}function it(e){Ce.has(e)||(Ce.add(e),e.addEventListener("click",t=>{let r=we(t.target);if(!r)return;let n=r.closest(`[${A}]`);if(n){Ee(n,Ue(n.getAttribute(A)))&&t.preventDefault();return}let o=r.closest(`[${xe}]`);o&&!r.closest("a, button")&&be(o)}),e.addEventListener("error",t=>{let r=t.target;r&&r.tagName==="IMG"&&r.hasAttribute(N)&&Ae(r)},!0),at(e),e.addEventListener("keydown",t=>{if(t.key!=="Enter"&&t.key!==" "&&t.key!=="Spacebar")return;let r=we(t.target);if(!r||r.closest("a, button"))return;let n=r.closest(`[${A}]`);if(n&&Ee(n,Ue(n.getAttribute(A)))){t.preventDefault();return}let o=r.closest(`[${xe}]`);o&&(t.preventDefault(),be(o))}))}function _e(e){let t=()=>it(e);e.readyState==="loading"?e.addEventListener("DOMContentLoaded",t,{once:!0}):t()}var st=[{selector:"main article",tier:"article"},{selector:"article",tier:"article"},{selector:"main",tier:"main"},{selector:".article-template__content",tier:"theme-class"},{selector:'[id^="ArticleContent"]',tier:"theme-class"},{selector:".rte",tier:"theme-class"}],y=[{selector:".article-template__content",tier:"theme-class"},{selector:'[id^="ArticleContent"]',tier:"theme-class"},{selector:".rte",tier:"theme-class"},{selector:"main article",tier:"article"},{selector:"article",tier:"article"},{selector:"main",tier:"main"}],P=y.map(e=>e.selector).join(", "),ct='header, [role="banner"], [class*="announcement"], footer, [role="contentinfo"], nav, [role="navigation"], cart-drawer, .cart-drawer, .drawer, .mini-cart, .modal, [role="dialog"]',u="data-certrev-placement",De="data-certrev-anchor",lt='script[type="application/ld+json"][data-certrev-graph]',ft=".certrev-card-wrap",Fe=".certrev-memo-wrap",dt=".certrev-pill-wrap",Te=384,pt=24,_="#references";function S(e){for(let t=e;t;t=t.parentElement){if(t.hasAttribute("hidden")||t.getAttribute("aria-hidden")==="true")return!1;let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden")return!1}return!0}function z(e){return e.closest(ct)!==null}function Se(e,t){for(let{selector:r,tier:n}of t)if(e.matches(r))return n;return"article"}function D(e,t,r){for(let{selector:n,tier:o}of r)for(let a of Array.from(e.querySelectorAll(n)))if(a!==t&&!a.contains(t)&&!t.contains(a)&&S(a)&&!z(a))return{el:a,tier:o};return null}function V(e,t){let r=t.getAttribute(u);if(r)return{anchored:r!=="body-fallback",tier:r};let n=t.getAttribute(De);if(n==="rail"){let i=e.querySelector(_)?.closest(P)??D(e,t,y)?.el??null,c=e.defaultView;if(i&&c&&S(i)&&!z(i)){let d=i.getBoundingClientRect();if(c.innerWidth-d.right>=Te)return t.style.setProperty("--certrev-rail-left",`${Math.round(d.right+pt)}px`),t.setAttribute(u,"rail"),{anchored:!0,tier:"rail"};i.insertAdjacentElement("afterbegin",t);let x=Se(i,y);return t.setAttribute(u,x),{anchored:!0,tier:x}}return t.setAttribute(u,"body-fallback"),{anchored:!1,tier:"body-fallback"}}let o=n==="bottom"?"bottom":"top",a="body-fallback";if(o==="top"){let i=e.querySelector(_)?.closest(P)??null;if(i&&i!==t&&!i.contains(t)&&!t.contains(i)&&S(i)&&!z(i))i.insertAdjacentElement("afterbegin",t),a=Se(i,y);else{let c=D(e,t,y);c&&(c.el.insertAdjacentElement("afterbegin",t),a=c.tier)}}else{let s=e.querySelector(_);if(s&&s!==t&&!t.contains(s)&&!s.contains(t)&&S(s))s.insertAdjacentElement("beforebegin",t),a="references";else{let i=D(e,t,st);i&&(i.el.insertAdjacentElement("afterend",t),a=i.tier)}}return t.setAttribute(u,a),{anchored:a!=="body-fallback",tier:a}}function ut(e){let t=e.querySelector(lt),r=!1;t&&t.parentNode!==e.head&&(e.head.appendChild(t),r=!0);let n=e.querySelector(ft),o=e.querySelector(Fe);return e.querySelector(dt)?.setAttribute(u,"pill-fixed"),{graph:r,card:n?V(e,n):null,memo:o?V(e,o):null}}function mt(e){let t=e.defaultView;if(!t)return;let r=e.querySelector(`${Fe}[${De}="rail"]`);if(!r||r.getAttribute(u)!=="rail")return;let n,o=()=>{n&&clearTimeout(n),n=setTimeout(()=>{if(r.getAttribute(u)!=="rail"){t.removeEventListener("resize",o);return}let s=e.querySelector(_)?.closest(P)??D(e,r,y)?.el??null;(s?t.innerWidth-s.getBoundingClientRect().right:0)<Te&&(r.style.removeProperty("--certrev-rail-left"),r.removeAttribute(u),V(e,r),t.removeEventListener("resize",o))},150)};t.addEventListener("resize",o)}function Re(e){let t=()=>{ut(e),mt(e)};e.readyState==="loading"?e.addEventListener("DOMContentLoaded",t,{once:!0}):t()}async function yt(e,t){let r=e.querySelector(".certrev-badge");if(!r)return;let n=e.getAttribute("data-delivery-api"),o=e.getAttribute("data-external-id"),a=e.getAttribute("data-platform")??"shopify";if(!n||!o)return;let s;try{s=await t.verify({baseUrl:n,platform:a,externalId:o})}catch{return}s.decision!=="render"&&(r.setAttribute("hidden",""),r.setAttribute("data-certrev-suppressed",s.reason))}function ke(e,t){let r=()=>{for(let n of Array.from(e.querySelectorAll("certrev-badge[revalidate]")))yt(n,t)};e.readyState==="loading"?e.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function Le(e,t=fetch){return async r=>{let o=`${r.baseUrl.replace(/\/+$/,"")}/api/cert/v1/delivery/${encodeURIComponent(r.platform)}/${encodeURIComponent(r.externalId)}`,a=await t(o,{headers:{accept:"application/json"}});if(!a.ok)throw new Error(`cert delivery ${a.status}`);let s=await a.json();return L(s,e,{platform:r.platform,externalId:r.externalId,liveContentHash:null,now:new Date})}}var gt="cert-issuer-1",vt=`-----BEGIN PUBLIC KEY-----
|
|
556
556
|
MCowBQYDK2VwAyEAMWN956IOPjpAq900dL428VzA28TO/pVXnq3brwqUmwM=
|
|
557
|
-
-----END PUBLIC KEY-----`,
|
|
557
|
+
-----END PUBLIC KEY-----`,ht=e=>e===gt?{format:"pem",pem:vt}:null;typeof document<"u"&&(Re(document),_e(document),ke(document,{verify:Le(ht)}));})();
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public names kept only so a patch release never breaks a compiling integration (the semver
|
|
3
|
+
* contract at the head of CHANGELOG.md). Each one does nothing it used to do; removal is for 2.0.
|
|
4
|
+
*/
|
|
5
|
+
/** Dispatched on the document, once per document, on the first call of a removed API, so a caller
|
|
6
|
+
* that still relies on it can see that it does nothing. `detail: { api, removedIn }`. */
|
|
7
|
+
export declare const DEPRECATED_API_EVENT = "certrev:deprecated-api";
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Removed in 1.1.1: the runtime FTC disclosure guard is gone. This installs nothing,
|
|
10
|
+
* checks nothing and never hides or replaces a face; whether a face shows its disclosure is settled
|
|
11
|
+
* where the face is configured. The first call per document dispatches {@link DEPRECATED_API_EVENT}.
|
|
12
|
+
* Will be deleted in 2.0.
|
|
13
|
+
*/
|
|
14
|
+
export declare function installFtcGuard(doc: Document): void;
|
|
15
|
+
//# sourceMappingURL=deprecated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecated.d.ts","sourceRoot":"","sources":["../../src/modal/deprecated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;0FAC0F;AAC1F,eAAO,MAAM,oBAAoB,2BAA2B,CAAA;AAK5D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAMnD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public names kept only so a patch release never breaks a compiling integration (the semver
|
|
3
|
+
* contract at the head of CHANGELOG.md). Each one does nothing it used to do; removal is for 2.0.
|
|
4
|
+
*/
|
|
5
|
+
/** Dispatched on the document, once per document, on the first call of a removed API, so a caller
|
|
6
|
+
* that still relies on it can see that it does nothing. `detail: { api, removedIn }`. */
|
|
7
|
+
export const DEPRECATED_API_EVENT = 'certrev:deprecated-api';
|
|
8
|
+
/** Documents that have already been told, so repeated calls dispatch once. */
|
|
9
|
+
const announcedDocs = new WeakSet();
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Removed in 1.1.1: the runtime FTC disclosure guard is gone. This installs nothing,
|
|
12
|
+
* checks nothing and never hides or replaces a face; whether a face shows its disclosure is settled
|
|
13
|
+
* where the face is configured. The first call per document dispatches {@link DEPRECATED_API_EVENT}.
|
|
14
|
+
* Will be deleted in 2.0.
|
|
15
|
+
*/
|
|
16
|
+
export function installFtcGuard(doc) {
|
|
17
|
+
if (announcedDocs.has(doc))
|
|
18
|
+
return;
|
|
19
|
+
announcedDocs.add(doc);
|
|
20
|
+
doc.dispatchEvent(new CustomEvent(DEPRECATED_API_EVENT, { detail: { api: 'installFtcGuard', removedIn: '1.1.1' } }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=deprecated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/modal/deprecated.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;0FAC0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,aAAa,GAAG,IAAI,OAAO,EAAY,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAa;IAC5C,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAM;IAClC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,GAAG,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CACjG,CAAA;AACF,CAAC"}
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
* module. Legally load-bearing: the curly apostrophe (U+2019) in "article’s"
|
|
5
5
|
* is byte-exact; a reword is a contract divergence.
|
|
6
6
|
*
|
|
7
|
-
* Kept as its OWN module (imported by
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Kept as its OWN module (imported by display-strings, exactly as in portal) so the browser bundle
|
|
8
|
+
* emits the same `var` structure as the deployed certrev-cert.js — do not merge it into
|
|
9
|
+
* display-strings.ts (that consolidation drops one `var` and breaks byte-parity).
|
|
10
|
+
*
|
|
11
|
+
* It is the text the faces RENDER, nothing more. Since 1.1.1 nothing in this package checks at
|
|
12
|
+
* runtime that it is present or visible (the `ftc-guard` kill switch is gone): whether a face shows
|
|
13
|
+
* its disclosure is settled where the face is configured, not by hiding or replacing it in the page.
|
|
10
14
|
*/
|
|
11
15
|
export declare const FTC_DISCLOSURE_LINE: "Independent editorial review of this article\u2019s text and sources. Not a product endorsement, nor medical advice.";
|
|
12
16
|
//# sourceMappingURL=ftc-disclosure.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftc-disclosure.d.ts","sourceRoot":"","sources":["../../src/modal/ftc-disclosure.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ftc-disclosure.d.ts","sourceRoot":"","sources":["../../src/modal/ftc-disclosure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,EAC/B,sHAA0H,CAAC"}
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
* module. Legally load-bearing: the curly apostrophe (U+2019) in "article’s"
|
|
5
5
|
* is byte-exact; a reword is a contract divergence.
|
|
6
6
|
*
|
|
7
|
-
* Kept as its OWN module (imported by
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Kept as its OWN module (imported by display-strings, exactly as in portal) so the browser bundle
|
|
8
|
+
* emits the same `var` structure as the deployed certrev-cert.js — do not merge it into
|
|
9
|
+
* display-strings.ts (that consolidation drops one `var` and breaks byte-parity).
|
|
10
|
+
*
|
|
11
|
+
* It is the text the faces RENDER, nothing more. Since 1.1.1 nothing in this package checks at
|
|
12
|
+
* runtime that it is present or visible (the `ftc-guard` kill switch is gone): whether a face shows
|
|
13
|
+
* its disclosure is settled where the face is configured, not by hiding or replacing it in the page.
|
|
10
14
|
*/
|
|
11
15
|
export const FTC_DISCLOSURE_LINE = "Independent editorial review of this article’s text and sources. Not a product endorsement, nor medical advice.";
|
|
12
16
|
//# sourceMappingURL=ftc-disclosure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftc-disclosure.js","sourceRoot":"","sources":["../../src/modal/ftc-disclosure.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ftc-disclosure.js","sourceRoot":"","sources":["../../src/modal/ftc-disclosure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAC/B,iHAA0H,CAAC"}
|
package/dist/modal/index.d.ts
CHANGED
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
* storefront (`<script src=".../dist/modal/certrev-cert.js">`) instead of vendoring a copy.
|
|
7
7
|
*
|
|
8
8
|
* Importing this module as ESM has the SAME side effect as loading the IIFE: it registers the
|
|
9
|
-
* `<certrev-cert-modal>` element and (in a browser) runs placement + interactions +
|
|
10
|
-
*
|
|
9
|
+
* `<certrev-cert-modal>` element and (in a browser) runs placement + interactions + badge
|
|
10
|
+
* revalidation (no FTC guard since 1.1.1). Bundler users: `import '@certrev/cert-block/modal'`.
|
|
11
11
|
*/
|
|
12
12
|
import "./certrev-cert.entry.js";
|
|
13
13
|
export { CERT_ISSUER_KID, CERT_ISSUER_PUBLIC_KEY_PEM, } from "./certrev-cert.entry.js";
|
|
14
14
|
export { CERT_MODAL_TAG } from "./certrev-cert-modal.js";
|
|
15
|
-
|
|
15
|
+
/** @deprecated Since 1.1.1 a no-op (the runtime FTC guard was removed); deleted in 2.0. */
|
|
16
|
+
export { installFtcGuard } from "./deprecated.js";
|
|
16
17
|
export { initCertInteractionsOnReady } from "./interactions.js";
|
|
17
18
|
export { initCertPlacement } from "./placement.js";
|
|
18
19
|
export { initBadgeRevalidation, type RevalidateDeps, revalidateBadge, } from "./revalidate.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,yBAAyB,CAAC;AAKjC,OAAO,EACN,eAAe,EACf,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,yBAAyB,CAAC;AAKjC,OAAO,EACN,eAAe,EACf,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,2FAA2F;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACN,qBAAqB,EACrB,KAAK,cAAc,EACnB,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/modal/index.js
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* storefront (`<script src=".../dist/modal/certrev-cert.js">`) instead of vendoring a copy.
|
|
7
7
|
*
|
|
8
8
|
* Importing this module as ESM has the SAME side effect as loading the IIFE: it registers the
|
|
9
|
-
* `<certrev-cert-modal>` element and (in a browser) runs placement + interactions +
|
|
10
|
-
*
|
|
9
|
+
* `<certrev-cert-modal>` element and (in a browser) runs placement + interactions + badge
|
|
10
|
+
* revalidation (no FTC guard since 1.1.1). Bundler users: `import '@certrev/cert-block/modal'`.
|
|
11
11
|
*/
|
|
12
12
|
// Side-effect: register the element + (in a browser) kick off the DOM passes.
|
|
13
13
|
import "./certrev-cert.entry.js";
|
|
@@ -17,7 +17,8 @@ import "./certrev-cert.entry.js";
|
|
|
17
17
|
export { CERT_ISSUER_KID, CERT_ISSUER_PUBLIC_KEY_PEM, } from "./certrev-cert.entry.js";
|
|
18
18
|
// Composable entry points for advanced consumers (the IIFE wires these itself).
|
|
19
19
|
export { CERT_MODAL_TAG } from "./certrev-cert-modal.js";
|
|
20
|
-
|
|
20
|
+
/** @deprecated Since 1.1.1 a no-op (the runtime FTC guard was removed); deleted in 2.0. */
|
|
21
|
+
export { installFtcGuard } from "./deprecated.js";
|
|
21
22
|
export { initCertInteractionsOnReady } from "./interactions.js";
|
|
22
23
|
export { initCertPlacement } from "./placement.js";
|
|
23
24
|
export { initBadgeRevalidation, revalidateBadge, } from "./revalidate.js";
|
package/dist/modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8EAA8E;AAC9E,OAAO,yBAAyB,CAAC;AAEjC,+FAA+F;AAC/F,iGAAiG;AACjG,0FAA0F;AAC1F,OAAO,EACN,eAAe,EACf,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/modal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8EAA8E;AAC9E,OAAO,yBAAyB,CAAC;AAEjC,+FAA+F;AAC/F,iGAAiG;AACjG,0FAA0F;AAC1F,OAAO,EACN,eAAe,EACf,0BAA0B,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,2FAA2F;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACN,qBAAqB,EAErB,eAAe,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
|