From d0e67e65c5c8b26363b28574fb2e0c4226d72cb6 Mon Sep 17 00:00:00 2001 From: Nels Andereck Date: Tue, 11 Jul 2023 13:42:18 -0700 Subject: [PATCH 1/3] enable onload --- packages/consent-manager/types.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/consent-manager/types.ts b/packages/consent-manager/types.ts index ad71aed2e..aad10c3e0 100644 --- a/packages/consent-manager/types.ts +++ b/packages/consent-manager/types.ts @@ -19,6 +19,12 @@ export interface ConsentManagerService { * If left undefined, script will load as usual. */ shouldLoad?: () => boolean + /** + * Optional function that runs when a script has + * finished loading. + * Docs: https://nextjs.org/docs/pages/api-reference/components/script#onload + */ + onLoad?: () => void } export interface ConsentManagerPreset { From 8e75cf5be24c8374c1aa657b99600ab2f734c7a8 Mon Sep 17 00:00:00 2001 From: Nels Andereck Date: Tue, 11 Jul 2023 13:45:14 -0700 Subject: [PATCH 2/3] add changeset --- .changeset/modern-pianos-draw.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/modern-pianos-draw.md diff --git a/.changeset/modern-pianos-draw.md b/.changeset/modern-pianos-draw.md new file mode 100644 index 000000000..856f3926f --- /dev/null +++ b/.changeset/modern-pianos-draw.md @@ -0,0 +1,5 @@ +--- +'@hashicorp/react-consent-manager': minor +--- + +Add onload functionality to scripts handled by ConsentManager From 0ea681bbab4d68fe8c8e98929108ac80428e337c Mon Sep 17 00:00:00 2001 From: Nels Andereck Date: Tue, 11 Jul 2023 14:06:27 -0700 Subject: [PATCH 3/3] pass onload into Script --- packages/consent-manager/scripts/custom.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/consent-manager/scripts/custom.tsx b/packages/consent-manager/scripts/custom.tsx index e6fb8cfaf..5b4b20dd8 100644 --- a/packages/consent-manager/scripts/custom.tsx +++ b/packages/consent-manager/scripts/custom.tsx @@ -31,6 +31,7 @@ function CustomScript({ service }: CustomScriptProps) { strategy={strategy} id={service.name} {...dataAttrs} + onLoad={service?.onLoad} > {service.body ? service.body : null}