@redacto.io/consent-sdk-react 10.0.0-beta.9 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.md +17 -0
- package/README.md +141 -3
- package/dist/chunk-FEGTW73Q.mjs +182 -0
- package/dist/fonts.d.mts +35 -0
- package/dist/fonts.d.ts +35 -0
- package/dist/fonts.js +183 -0
- package/dist/fonts.mjs +10 -0
- package/dist/index.d.mts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +724 -365
- package/dist/index.mjs +346 -201
- package/dist/montserrat.generated-NBTECYRW.mjs +22 -0
- package/dist/privacy-center.d.mts +0 -1
- package/dist/privacy-center.d.ts +0 -1
- package/dist/privacy-center.js +2 -66
- package/dist/privacy-center.mjs +2 -66
- package/dist/types-6Aj7faxL.d.mts +57 -0
- package/dist/types-6Aj7faxL.d.ts +57 -0
- package/package.json +10 -1
- package/.turbo/turbo-build.log +0 -22
- package/.turbo/turbo-test.log +0 -203
- package/.turbo/turbo-verify-pack.log +0 -6
- package/CHANGELOG.md +0 -353
- package/src/RedactoNoticeAssisted/RedactoNoticeAssisted.test.tsx +0 -934
- package/src/RedactoNoticeAssisted/RedactoNoticeAssisted.tsx +0 -2160
- package/src/RedactoNoticeAssisted/api/index.ts +0 -275
- package/src/RedactoNoticeAssisted/api/types.ts +0 -182
- package/src/RedactoNoticeAssisted/assets/redacto-logo.png +0 -0
- package/src/RedactoNoticeAssisted/constants.ts +0 -51
- package/src/RedactoNoticeAssisted/i18n.ts +0 -1408
- package/src/RedactoNoticeAssisted/index.ts +0 -1
- package/src/RedactoNoticeAssisted/injectStyles.ts +0 -251
- package/src/RedactoNoticeAssisted/styles.ts +0 -730
- package/src/RedactoNoticeAssisted/types.ts +0 -26
- package/src/RedactoNoticeAssisted/useMediaQuery.ts +0 -36
- package/src/RedactoNoticeConsent/RedactoNoticeConsent.test.tsx +0 -1152
- package/src/RedactoNoticeConsent/RedactoNoticeConsent.tsx +0 -4308
- package/src/RedactoNoticeConsent/api/index.ts +0 -542
- package/src/RedactoNoticeConsent/api/sandbox.ts +0 -150
- package/src/RedactoNoticeConsent/api/types.ts +0 -515
- package/src/RedactoNoticeConsent/assets/redacto-logo.png +0 -0
- package/src/RedactoNoticeConsent/components/DigiLockerCallback.tsx +0 -602
- package/src/RedactoNoticeConsent/components/index.ts +0 -7
- package/src/RedactoNoticeConsent/constants.ts +0 -20
- package/src/RedactoNoticeConsent/index.ts +0 -1
- package/src/RedactoNoticeConsent/injectStyles.ts +0 -151
- package/src/RedactoNoticeConsent/language-codes.ts +0 -95
- package/src/RedactoNoticeConsent/services/storage.ts +0 -122
- package/src/RedactoNoticeConsent/styles.ts +0 -409
- package/src/RedactoNoticeConsent/types.ts +0 -80
- package/src/RedactoNoticeConsent/useMediaQuery.ts +0 -36
- package/src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.test.tsx +0 -369
- package/src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.tsx +0 -687
- package/src/RedactoNoticeConsentInline/api/index.ts +0 -106
- package/src/RedactoNoticeConsentInline/api/types.ts +0 -183
- package/src/RedactoNoticeConsentInline/assets/redacto-logo.png +0 -0
- package/src/RedactoNoticeConsentInline/index.ts +0 -1
- package/src/RedactoNoticeConsentInline/injectStyles.ts +0 -40
- package/src/RedactoNoticeConsentInline/styles.ts +0 -397
- package/src/RedactoNoticeConsentInline/types.ts +0 -51
- package/src/RedactoNoticeConsentInline/useMediaQuery.ts +0 -36
- package/src/RedactoPrivacyCenter/NotificationsPage.tsx +0 -182
- package/src/RedactoPrivacyCenter/PrivacyCenterActivityPage.tsx +0 -19
- package/src/RedactoPrivacyCenter/PrivacyCenterCaseDetailsPage.tsx +0 -156
- package/src/RedactoPrivacyCenter/PrivacyCenterConsentManagerPage.tsx +0 -17
- package/src/RedactoPrivacyCenter/PrivacyCenterFormPage.tsx +0 -79
- package/src/RedactoPrivacyCenter/PrivacyCenterHomePage.tsx +0 -36
- package/src/RedactoPrivacyCenter/PrivacyCenterLayout.tsx +0 -177
- package/src/RedactoPrivacyCenter/PrivacyCenterMyReceiptPage.tsx +0 -26
- package/src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx +0 -93
- package/src/RedactoPrivacyCenter/api/actions.ts +0 -695
- package/src/RedactoPrivacyCenter/api/client.ts +0 -1003
- package/src/RedactoPrivacyCenter/api/config.ts +0 -33
- package/src/RedactoPrivacyCenter/api/fetcher.ts +0 -275
- package/src/RedactoPrivacyCenter/api/orgBranding.ts +0 -16
- package/src/RedactoPrivacyCenter/api/upload.ts +0 -93
- package/src/RedactoPrivacyCenter/assets/character.svg +0 -31
- package/src/RedactoPrivacyCenter/assets/fileAttach.svg +0 -9
- package/src/RedactoPrivacyCenter/assets/greenTick.svg +0 -4
- package/src/RedactoPrivacyCenter/assets/mail.svg +0 -3
- package/src/RedactoPrivacyCenter/assets/poweredByRedacto.svg +0 -9
- package/src/RedactoPrivacyCenter/assets/sentImg.svg +0 -9
- package/src/RedactoPrivacyCenter/assets/uploadFileIcon.svg +0 -9
- package/src/RedactoPrivacyCenter/components/ActivitiesList.tsx +0 -252
- package/src/RedactoPrivacyCenter/components/ActivityTimeline.tsx +0 -239
- package/src/RedactoPrivacyCenter/components/AppShell/AppShell.tsx +0 -268
- package/src/RedactoPrivacyCenter/components/AppShell/MobileNavDrawer.tsx +0 -218
- package/src/RedactoPrivacyCenter/components/AppShell/NavItem.tsx +0 -205
- package/src/RedactoPrivacyCenter/components/AppShell/PageHeader.tsx +0 -107
- package/src/RedactoPrivacyCenter/components/AppShell/SidebarNav.tsx +0 -100
- package/src/RedactoPrivacyCenter/components/AppShell/TopAppBar.tsx +0 -339
- package/src/RedactoPrivacyCenter/components/AppShell/UserMenu.tsx +0 -245
- package/src/RedactoPrivacyCenter/components/AppShell/hooks/useIsTruncated.ts +0 -28
- package/src/RedactoPrivacyCenter/components/AppShell/hooks/useKeyboardShortcut.ts +0 -40
- package/src/RedactoPrivacyCenter/components/AppShell/hooks/useSidebarState.ts +0 -62
- package/src/RedactoPrivacyCenter/components/AppShell/usePrivacyCenterExitAction.ts +0 -36
- package/src/RedactoPrivacyCenter/components/CaseDetails/AttachmentCard.tsx +0 -38
- package/src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx +0 -31
- package/src/RedactoPrivacyCenter/components/CaseDetails/DocumentRequestCard.tsx +0 -79
- package/src/RedactoPrivacyCenter/components/CaseDetails/FinalizedTooltipWrapper.tsx +0 -25
- package/src/RedactoPrivacyCenter/components/CaseDetails/MessageComposer.tsx +0 -96
- package/src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx +0 -97
- package/src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx +0 -156
- package/src/RedactoPrivacyCenter/components/CaseDetails/RequestDetailsTab.tsx +0 -171
- package/src/RedactoPrivacyCenter/components/CaseDetails/StatusEvent.tsx +0 -23
- package/src/RedactoPrivacyCenter/components/CaseDetails/useFileUpload.ts +0 -116
- package/src/RedactoPrivacyCenter/components/CaseDetails/useMessagePolling.ts +0 -43
- package/src/RedactoPrivacyCenter/components/CaseDetails/utils.ts +0 -71
- package/src/RedactoPrivacyCenter/components/CaseDetailsModal.tsx +0 -469
- package/src/RedactoPrivacyCenter/components/CaseHistory.tsx +0 -426
- package/src/RedactoPrivacyCenter/components/ConsentManager.tsx +0 -1206
- package/src/RedactoPrivacyCenter/components/ConsentManagerCells.tsx +0 -218
- package/src/RedactoPrivacyCenter/components/ConsentManagerColumns.tsx +0 -138
- package/src/RedactoPrivacyCenter/components/ConsentManagerConstants.ts +0 -7
- package/src/RedactoPrivacyCenter/components/ConsentManagerExpandedRow.tsx +0 -179
- package/src/RedactoPrivacyCenter/components/ConsentManagerGroupedColumns.tsx +0 -318
- package/src/RedactoPrivacyCenter/components/ConsentManagerProductCards.tsx +0 -333
- package/src/RedactoPrivacyCenter/components/ConsentManagerPurposeCards.tsx +0 -102
- package/src/RedactoPrivacyCenter/components/ConsentManagerTableSkeleton.tsx +0 -159
- package/src/RedactoPrivacyCenter/components/DataRequest/CorrectionDataSection.tsx +0 -189
- package/src/RedactoPrivacyCenter/components/DataRequest/GrievanceDataSection.tsx +0 -118
- package/src/RedactoPrivacyCenter/components/DataRequest/NominationDataSection.tsx +0 -66
- package/src/RedactoPrivacyCenter/components/DataRequest/ProductSelectionSection.tsx +0 -222
- package/src/RedactoPrivacyCenter/components/DataRequest/PurposeSelectionSection.tsx +0 -331
- package/src/RedactoPrivacyCenter/components/Form.tsx +0 -1821
- package/src/RedactoPrivacyCenter/components/GrievanceTable.tsx +0 -174
- package/src/RedactoPrivacyCenter/components/GrievanceTablePagination.tsx +0 -337
- package/src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx +0 -334
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationBell.tsx +0 -173
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationCTAButton.tsx +0 -18
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationDropdown.tsx +0 -54
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationDropdownItem.tsx +0 -57
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationIcon.tsx +0 -19
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationListPanel.tsx +0 -92
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationRefreshButton.tsx +0 -20
- package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationRow.tsx +0 -58
- package/src/RedactoPrivacyCenter/components/NotificationHub/StatCard.tsx +0 -10
- package/src/RedactoPrivacyCenter/components/NotificationHub/useNotificationActions.ts +0 -112
- package/src/RedactoPrivacyCenter/components/NotificationHub/utils.ts +0 -27
- package/src/RedactoPrivacyCenter/components/Pagination.tsx +0 -140
- package/src/RedactoPrivacyCenter/components/PrivacyCenterEmptyState.tsx +0 -76
- package/src/RedactoPrivacyCenter/components/PrivacyCenterSessionExpired.tsx +0 -97
- package/src/RedactoPrivacyCenter/components/ReceiptsList.tsx +0 -454
- package/src/RedactoPrivacyCenter/components/RequestSubmit.tsx +0 -270
- package/src/RedactoPrivacyCenter/components/SelectUser.tsx +0 -95
- package/src/RedactoPrivacyCenter/components/SelectUserGate.tsx +0 -195
- package/src/RedactoPrivacyCenter/components/SideMenuBarPC/constants.tsx +0 -25
- package/src/RedactoPrivacyCenter/components/SideMenuBarPC/types.ts +0 -21
- package/src/RedactoPrivacyCenter/components/caseHistoryColumns.tsx +0 -159
- package/src/RedactoPrivacyCenter/components/constant.ts +0 -52
- package/src/RedactoPrivacyCenter/components/groupHelpers.ts +0 -155
- package/src/RedactoPrivacyCenter/components/receiptColumns.tsx +0 -203
- package/src/RedactoPrivacyCenter/components/types.ts +0 -123
- package/src/RedactoPrivacyCenter/components/utils.tsx +0 -10
- package/src/RedactoPrivacyCenter/config/routes.ts +0 -9
- package/src/RedactoPrivacyCenter/config/table.ts +0 -25
- package/src/RedactoPrivacyCenter/context/AuthContext.tsx +0 -252
- package/src/RedactoPrivacyCenter/context/BaseUrlContext.tsx +0 -47
- package/src/RedactoPrivacyCenter/context/BrandingContext.tsx +0 -52
- package/src/RedactoPrivacyCenter/context/DataAvailabilityContext.session-expired.test.tsx +0 -92
- package/src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx +0 -181
- package/src/RedactoPrivacyCenter/context/LocaleContext.tsx +0 -11
- package/src/RedactoPrivacyCenter/context/NavigationContext.tsx +0 -96
- package/src/RedactoPrivacyCenter/context/OrganizationContext.tsx +0 -30
- package/src/RedactoPrivacyCenter/context/PageChromeContext.tsx +0 -80
- package/src/RedactoPrivacyCenter/context/ProfileSwitchContext.tsx +0 -15
- package/src/RedactoPrivacyCenter/context/types.ts +0 -57
- package/src/RedactoPrivacyCenter/lib/api.ts +0 -759
- package/src/RedactoPrivacyCenter/lib/consent-manager/utils.tsx +0 -67
- package/src/RedactoPrivacyCenter/lib/constants.ts +0 -283
- package/src/RedactoPrivacyCenter/lib/i18n.ts +0 -81
- package/src/RedactoPrivacyCenter/lib/locales.ts +0 -102
- package/src/RedactoPrivacyCenter/lib/queries.ts +0 -141
- package/src/RedactoPrivacyCenter/lib/sandbox.ts +0 -104
- package/src/RedactoPrivacyCenter/lib/types.ts +0 -896
- package/src/RedactoPrivacyCenter/lib/useCurrentLanguage.ts +0 -37
- package/src/RedactoPrivacyCenter/lib/utils.refresh-circuit.test.ts +0 -127
- package/src/RedactoPrivacyCenter/lib/utils.refresh-storage.test.ts +0 -85
- package/src/RedactoPrivacyCenter/lib/utils.session-expired.test.ts +0 -109
- package/src/RedactoPrivacyCenter/lib/utils.ts +0 -798
- package/src/RedactoPrivacyCenter/locales/as/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/bn/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/brx/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/doi/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/en/translation.json +0 -357
- package/src/RedactoPrivacyCenter/locales/gom/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/gu/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/hi/translation.json +0 -345
- package/src/RedactoPrivacyCenter/locales/kn/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/ks/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/mai/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/ml/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/mni-Mtei/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/mr/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/ne/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/or/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/pa/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/sa/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/sat/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/sd/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/ta/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/te/translation.json +0 -342
- package/src/RedactoPrivacyCenter/locales/ur/translation.json +0 -342
- package/src/RedactoPrivacyCenter/styles/applyBrandingTheme.ts +0 -66
- package/src/RedactoPrivacyCenter/styles/base.css +0 -117
- package/src/RedactoPrivacyCenter/styles/injectStyles.ts +0 -3108
- package/src/RedactoPrivacyCenter/styles/pcStyles.ts +0 -831
- package/src/RedactoPrivacyCenter/styles/responsive.ts +0 -138
- package/src/RedactoPrivacyCenter/styles/variables.css +0 -96
- package/src/RedactoPrivacyCenter/table/AdvancedTable.tsx +0 -387
- package/src/RedactoPrivacyCenter/table/AdvancedTablePagination.tsx +0 -468
- package/src/RedactoPrivacyCenter/table/index.ts +0 -2
- package/src/RedactoPrivacyCenter/types/images.d.ts +0 -29
- package/src/RedactoPrivacyCenter/ui/Footer.tsx +0 -69
- package/src/RedactoPrivacyCenter/ui/FormBlockWrapper.tsx +0 -54
- package/src/RedactoPrivacyCenter/ui/PCAccordion.tsx +0 -93
- package/src/RedactoPrivacyCenter/ui/PCActionIcon.tsx +0 -47
- package/src/RedactoPrivacyCenter/ui/PCAvatar.test.tsx +0 -83
- package/src/RedactoPrivacyCenter/ui/PCAvatar.tsx +0 -93
- package/src/RedactoPrivacyCenter/ui/PCBadge.tsx +0 -48
- package/src/RedactoPrivacyCenter/ui/PCButton.tsx +0 -77
- package/src/RedactoPrivacyCenter/ui/PCCheckbox.tsx +0 -55
- package/src/RedactoPrivacyCenter/ui/PCCollapse.tsx +0 -107
- package/src/RedactoPrivacyCenter/ui/PCEmpty.tsx +0 -35
- package/src/RedactoPrivacyCenter/ui/PCInput.tsx +0 -132
- package/src/RedactoPrivacyCenter/ui/PCLoader.tsx +0 -31
- package/src/RedactoPrivacyCenter/ui/PCModal.tsx +0 -106
- package/src/RedactoPrivacyCenter/ui/PCPopover.tsx +0 -206
- package/src/RedactoPrivacyCenter/ui/PCSelect.tsx +0 -433
- package/src/RedactoPrivacyCenter/ui/PCTable.tsx +0 -149
- package/src/RedactoPrivacyCenter/ui/PCText.tsx +0 -41
- package/src/RedactoPrivacyCenter/ui/PCTextarea.tsx +0 -43
- package/src/RedactoPrivacyCenter/ui/PCTitle.tsx +0 -37
- package/src/RedactoPrivacyCenter/ui/PCTooltip.tsx +0 -121
- package/src/RedactoPrivacyCenter/ui/SimpleBar.tsx +0 -25
- package/src/RedactoPrivacyCenter/ui/StatusBadge.tsx +0 -53
- package/src/RedactoPrivacyCenter/ui/index.ts +0 -18
- package/src/RedactoPrivacyCenter/utils/cn.ts +0 -28
- package/src/RedactoPrivacyCenter/utils/date.ts +0 -48
- package/src/RedactoPrivacyCenter/utils/status.ts +0 -111
- package/src/RedactoPrivacyCenter/utils/toast.ts +0 -130
- package/src/index.ts +0 -19
- package/src/privacy-center.ts +0 -113
- package/src/shared/api-errors.ts +0 -180
- package/src/shared/notice-consent-status.ts +0 -190
- package/src/shared/sandbox.ts +0 -6
- package/src/types/css.d.ts +0 -4
- package/src/types/images.d.ts +0 -19
- package/src/types/react-jsx.d.ts +0 -26
- package/tests/DataAvailabilityContext.test.tsx +0 -123
- package/tests/Form.test.tsx +0 -1424
- package/tests/ManageConsentErrorMapping.test.tsx +0 -85
- package/tests/ProductSelectionSection.test.tsx +0 -328
- package/tests/RequestSubmit.test.tsx +0 -135
- package/tests/RevocablePurpose.test.tsx +0 -146
- package/tests/RevokeWarningMessage.test.tsx +0 -151
- package/tests/consentClient.test.ts +0 -217
- package/tests/manageConsentServer.test.ts +0 -38
- package/tests/mocks.ts +0 -257
- package/tests/resolveContactFromJwt.test.ts +0 -44
- package/tests/setup.ts +0 -16
- package/tsconfig.json +0 -16
- package/tsup.config.ts +0 -31
- package/vitest.config.ts +0 -16
package/dist/index.mjs
CHANGED
|
@@ -2,9 +2,19 @@ import {
|
|
|
2
2
|
SANDBOX_TOKEN_HEADER,
|
|
3
3
|
useMediaQuery
|
|
4
4
|
} from "./chunk-OGL6OC3A.mjs";
|
|
5
|
+
import {
|
|
6
|
+
FONT_FAMILY_SEPARATOR,
|
|
7
|
+
FONT_NAME_QUOTE_CHARACTERS,
|
|
8
|
+
NOTICE_FONT_ENTRY_BY_ID,
|
|
9
|
+
NOTICE_FONT_FACE_STYLE_ID_PREFIX,
|
|
10
|
+
NOTICE_FONT_LOAD_ERROR_MESSAGE,
|
|
11
|
+
NOTICE_FONT_ROOT_PROPS,
|
|
12
|
+
injectNoticeFontStyles,
|
|
13
|
+
resolveNoticeFontFamily
|
|
14
|
+
} from "./chunk-FEGTW73Q.mjs";
|
|
5
15
|
|
|
6
16
|
// src/RedactoNoticeConsent/RedactoNoticeConsent.tsx
|
|
7
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
17
|
+
import { useCallback, useEffect as useEffect2, useMemo as useMemo2, useRef, useState } from "react";
|
|
8
18
|
|
|
9
19
|
// src/RedactoNoticeConsent/api/index.ts
|
|
10
20
|
import { jwtDecode as jwtDecode2 } from "jwt-decode";
|
|
@@ -360,48 +370,10 @@ var submitConsentEvent = async ({
|
|
|
360
370
|
}
|
|
361
371
|
apiCache.clear();
|
|
362
372
|
};
|
|
363
|
-
var buildLedgerConsentOverlay = (status, configPurposes) => {
|
|
364
|
-
var _a, _b;
|
|
365
|
-
const byUuid = new Map(status.purposes.map((p) => [p.uuid, p]));
|
|
366
|
-
const hasHistory = status.purposes.some(
|
|
367
|
-
(p) => (p.status || "INACTIVE") !== "INACTIVE"
|
|
368
|
-
);
|
|
369
|
-
if (!hasHistory) {
|
|
370
|
-
return null;
|
|
371
|
-
}
|
|
372
|
-
const purpose_selections = {};
|
|
373
|
-
for (const cp of configPurposes) {
|
|
374
|
-
const lp = byUuid.get(cp.uuid);
|
|
375
|
-
const purposeStatus = (lp == null ? void 0 : lp.status) || "INACTIVE";
|
|
376
|
-
const selectedByUuid = new Map(
|
|
377
|
-
((lp == null ? void 0 : lp.data_elements) || []).map((de) => [de.uuid, de.selected])
|
|
378
|
-
);
|
|
379
|
-
const data_elements = {};
|
|
380
|
-
for (const de of cp.data_elements) {
|
|
381
|
-
data_elements[de.uuid] = {
|
|
382
|
-
selected: (_a = selectedByUuid.get(de.uuid)) != null ? _a : false,
|
|
383
|
-
enabled: de.enabled,
|
|
384
|
-
required: de.required
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
purpose_selections[cp.uuid] = {
|
|
388
|
-
selected: (_b = lp == null ? void 0 : lp.selected) != null ? _b : false,
|
|
389
|
-
status: purposeStatus,
|
|
390
|
-
needs_reconsent: purposeStatus !== "ACTIVE",
|
|
391
|
-
data_elements
|
|
392
|
-
};
|
|
393
|
-
}
|
|
394
|
-
const reconsent_required = configPurposes.some(
|
|
395
|
-
(cp) => {
|
|
396
|
-
var _a2;
|
|
397
|
-
return (((_a2 = purpose_selections[cp.uuid]) == null ? void 0 : _a2.status) || "INACTIVE") !== "ACTIVE";
|
|
398
|
-
}
|
|
399
|
-
);
|
|
400
|
-
return { reconsent_required, purpose_selections };
|
|
401
|
-
};
|
|
402
373
|
var fetchTTSAudioUrls = async ({
|
|
403
374
|
accessToken,
|
|
404
375
|
baseUrl,
|
|
376
|
+
ledgerBaseUrl,
|
|
405
377
|
noticeUuid,
|
|
406
378
|
language,
|
|
407
379
|
signal,
|
|
@@ -411,7 +383,7 @@ var fetchTTSAudioUrls = async ({
|
|
|
411
383
|
throw new Error("accessToken (or token), noticeUuid, and language are required");
|
|
412
384
|
}
|
|
413
385
|
const { organisationUuid: ORGANISATION_UUID, workspaceUuid: WORKSPACE_UUID, sandbox } = resolveRequestAuth(accessToken, sandboxParams, decodeTokenSafely);
|
|
414
|
-
const apiBaseUrl = baseUrl || BASE_URL;
|
|
386
|
+
const apiBaseUrl = (sandbox ? null : ledgerBaseUrl) || baseUrl || BASE_URL;
|
|
415
387
|
const url = new URL(
|
|
416
388
|
`${apiBaseUrl}/public/organisations/${ORGANISATION_UUID}/workspaces/${WORKSPACE_UUID}/notices/${noticeUuid}/audio/${language}`
|
|
417
389
|
);
|
|
@@ -585,6 +557,12 @@ var verifyGuardianStatus = async ({
|
|
|
585
557
|
var redacto_logo_default = "data:image/png;base64,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";
|
|
586
558
|
|
|
587
559
|
// src/RedactoNoticeConsent/constants.ts
|
|
560
|
+
var DEFAULT_LOGO_POSITION = "left";
|
|
561
|
+
var LOGO_POSITION_JUSTIFY = {
|
|
562
|
+
left: "flex-start",
|
|
563
|
+
center: "center",
|
|
564
|
+
right: "flex-end"
|
|
565
|
+
};
|
|
588
566
|
var DPO_AUDIO_ELEMENT_MAP = [
|
|
589
567
|
{ audioKey: "grievance_text_audio_url", elementId: "dpo-grievance-text" },
|
|
590
568
|
{ audioKey: "grievance_anchor_text_audio_url", elementId: "dpo-grievance-link" },
|
|
@@ -596,6 +574,10 @@ var DPO_AUDIO_ELEMENT_MAP = [
|
|
|
596
574
|
{ audioKey: "dpo_anchor_text_audio_url", elementId: "dpo-dpo-link" }
|
|
597
575
|
];
|
|
598
576
|
|
|
577
|
+
// src/RedactoNoticeConsent/layout.ts
|
|
578
|
+
var resolveLogoPosition = (raw) => raw === "center" || raw === "right" ? raw : DEFAULT_LOGO_POSITION;
|
|
579
|
+
var logoRowJustify = (position) => LOGO_POSITION_JUSTIFY[position];
|
|
580
|
+
|
|
599
581
|
// src/RedactoNoticeConsent/language-codes.ts
|
|
600
582
|
var LANGUAGE_NATIVE_LABELS = {
|
|
601
583
|
English: "English",
|
|
@@ -817,6 +799,123 @@ var injectCheckboxStyles = () => {
|
|
|
817
799
|
stylesInjected = true;
|
|
818
800
|
};
|
|
819
801
|
|
|
802
|
+
// src/shared/useNoticeFont.ts
|
|
803
|
+
import { useEffect, useMemo } from "react";
|
|
804
|
+
|
|
805
|
+
// src/shared/fonts/font-sources.generated.ts
|
|
806
|
+
var NOTICE_FONT_SOURCE_IMPORTS = {
|
|
807
|
+
"montserrat": () => import("./montserrat.generated-NBTECYRW.mjs")
|
|
808
|
+
};
|
|
809
|
+
|
|
810
|
+
// src/shared/notice-webfont.ts
|
|
811
|
+
var noticeFontOptions = {};
|
|
812
|
+
var configureNoticeFonts = (options) => {
|
|
813
|
+
noticeFontOptions = { ...noticeFontOptions, ...options };
|
|
814
|
+
};
|
|
815
|
+
var toFamilyTokens = (value) => value.split(FONT_FAMILY_SEPARATOR).map(
|
|
816
|
+
(token) => token.trim().replace(FONT_NAME_QUOTE_CHARACTERS, "").toLowerCase()
|
|
817
|
+
);
|
|
818
|
+
var findNoticeFontEntry = (value) => {
|
|
819
|
+
const id = toFamilyTokens(value).find(
|
|
820
|
+
(token) => Boolean(NOTICE_FONT_ENTRY_BY_ID[token])
|
|
821
|
+
);
|
|
822
|
+
if (!id) {
|
|
823
|
+
return void 0;
|
|
824
|
+
}
|
|
825
|
+
return NOTICE_FONT_ENTRY_BY_ID[id];
|
|
826
|
+
};
|
|
827
|
+
var toFontFaceCss = (entry, sources) => sources.map(
|
|
828
|
+
({ weight, url }) => [
|
|
829
|
+
"@font-face {",
|
|
830
|
+
` font-family: "${entry.cssFamily}";`,
|
|
831
|
+
" font-style: normal;",
|
|
832
|
+
` font-weight: ${weight};`,
|
|
833
|
+
// `swap`, never the `auto` default: auto gives most browsers a ~3s block
|
|
834
|
+
// period with INVISIBLE text, which is unacceptable for a consent notice.
|
|
835
|
+
" font-display: swap;",
|
|
836
|
+
// `local()` still leads: the bundled copy is Latin + Latin-Extended only,
|
|
837
|
+
// so a visitor's own installation covers more scripts than ours does.
|
|
838
|
+
` src: local("${entry.cssFamily}"),`,
|
|
839
|
+
// Quoted url(): a data URI carries `,` and `;`, which are hostile to an
|
|
840
|
+
// unquoted url token. Base64 never contains a double quote.
|
|
841
|
+
` url("${url}") format("woff2");`,
|
|
842
|
+
"}"
|
|
843
|
+
].join("\n")
|
|
844
|
+
).join("\n\n");
|
|
845
|
+
var fontSourceLoads = /* @__PURE__ */ new Map();
|
|
846
|
+
var loadFontSources = (entry, importSources) => {
|
|
847
|
+
const pending = fontSourceLoads.get(entry.id);
|
|
848
|
+
if (pending) {
|
|
849
|
+
return pending;
|
|
850
|
+
}
|
|
851
|
+
const load = importSources().then((module) => module.NOTICE_FONT_SOURCES).catch((error) => {
|
|
852
|
+
fontSourceLoads.delete(entry.id);
|
|
853
|
+
throw error;
|
|
854
|
+
});
|
|
855
|
+
fontSourceLoads.set(entry.id, load);
|
|
856
|
+
return load;
|
|
857
|
+
};
|
|
858
|
+
var injectedFontFaceIds = /* @__PURE__ */ new Set();
|
|
859
|
+
var injectFontFace = (entry, sources) => {
|
|
860
|
+
if (injectedFontFaceIds.has(entry.id)) {
|
|
861
|
+
return;
|
|
862
|
+
}
|
|
863
|
+
injectedFontFaceIds.add(entry.id);
|
|
864
|
+
const styleId = `${NOTICE_FONT_FACE_STYLE_ID_PREFIX}${entry.slug}`;
|
|
865
|
+
if (document.getElementById(styleId)) {
|
|
866
|
+
return;
|
|
867
|
+
}
|
|
868
|
+
const style = document.createElement("style");
|
|
869
|
+
style.id = styleId;
|
|
870
|
+
style.textContent = toFontFaceCss(entry, sources);
|
|
871
|
+
document.head.appendChild(style);
|
|
872
|
+
};
|
|
873
|
+
var loadNoticeWebfont = async (value, signal) => {
|
|
874
|
+
if (typeof document === "undefined" || noticeFontOptions.disabled) {
|
|
875
|
+
return;
|
|
876
|
+
}
|
|
877
|
+
if (signal == null ? void 0 : signal.aborted) {
|
|
878
|
+
return;
|
|
879
|
+
}
|
|
880
|
+
const entry = findNoticeFontEntry(value);
|
|
881
|
+
if (!entry || entry.source !== "webfont" || injectedFontFaceIds.has(entry.id)) {
|
|
882
|
+
return;
|
|
883
|
+
}
|
|
884
|
+
const importSources = NOTICE_FONT_SOURCE_IMPORTS[entry.slug];
|
|
885
|
+
if (!importSources) {
|
|
886
|
+
return;
|
|
887
|
+
}
|
|
888
|
+
try {
|
|
889
|
+
const sources = await loadFontSources(entry, importSources);
|
|
890
|
+
if (signal == null ? void 0 : signal.aborted) {
|
|
891
|
+
return;
|
|
892
|
+
}
|
|
893
|
+
injectFontFace(entry, sources);
|
|
894
|
+
} catch (error) {
|
|
895
|
+
console.error(NOTICE_FONT_LOAD_ERROR_MESSAGE, error);
|
|
896
|
+
}
|
|
897
|
+
};
|
|
898
|
+
|
|
899
|
+
// src/shared/useNoticeFont.ts
|
|
900
|
+
var useNoticeFont = ({
|
|
901
|
+
hostFont,
|
|
902
|
+
noticeFont
|
|
903
|
+
}) => {
|
|
904
|
+
const fontFamily = useMemo(
|
|
905
|
+
() => resolveNoticeFontFamily({ hostFont, noticeFont }),
|
|
906
|
+
[hostFont, noticeFont]
|
|
907
|
+
);
|
|
908
|
+
useEffect(() => {
|
|
909
|
+
injectNoticeFontStyles();
|
|
910
|
+
}, []);
|
|
911
|
+
useEffect(() => {
|
|
912
|
+
const controller = new AbortController();
|
|
913
|
+
void loadNoticeWebfont(fontFamily, controller.signal);
|
|
914
|
+
return () => controller.abort();
|
|
915
|
+
}, [fontFamily]);
|
|
916
|
+
return fontFamily;
|
|
917
|
+
};
|
|
918
|
+
|
|
820
919
|
// src/RedactoNoticeConsent/styles.ts
|
|
821
920
|
var styles = {
|
|
822
921
|
overlay: {
|
|
@@ -888,6 +987,41 @@ var styles = {
|
|
|
888
987
|
padding: 0,
|
|
889
988
|
boxSizing: "border-box"
|
|
890
989
|
},
|
|
990
|
+
// The main notice header is two stacked rows: the logo alone on row 1,
|
|
991
|
+
// aligned per active_config.logo_position, then the title and the
|
|
992
|
+
// TTS/language controls on row 2. `topSection` and `topLeft` above keep their
|
|
993
|
+
// single-row shape for the age-verification, guardian and verification
|
|
994
|
+
// screens, which have no controls to place and share those styles.
|
|
995
|
+
headerStack: {
|
|
996
|
+
display: "flex",
|
|
997
|
+
flexDirection: "column",
|
|
998
|
+
alignItems: "stretch",
|
|
999
|
+
gap: "10px",
|
|
1000
|
+
paddingBottom: "15px",
|
|
1001
|
+
borderBottom: "none",
|
|
1002
|
+
backgroundColor: "#ffffff",
|
|
1003
|
+
margin: 0,
|
|
1004
|
+
boxSizing: "border-box",
|
|
1005
|
+
textAlign: "left"
|
|
1006
|
+
},
|
|
1007
|
+
logoRow: {
|
|
1008
|
+
display: "flex",
|
|
1009
|
+
alignItems: "center",
|
|
1010
|
+
width: "100%",
|
|
1011
|
+
margin: 0,
|
|
1012
|
+
padding: 0,
|
|
1013
|
+
boxSizing: "border-box"
|
|
1014
|
+
},
|
|
1015
|
+
headerRow: {
|
|
1016
|
+
display: "flex",
|
|
1017
|
+
alignItems: "center",
|
|
1018
|
+
justifyContent: "space-between",
|
|
1019
|
+
gap: "10px",
|
|
1020
|
+
width: "100%",
|
|
1021
|
+
margin: 0,
|
|
1022
|
+
padding: 0,
|
|
1023
|
+
boxSizing: "border-box"
|
|
1024
|
+
},
|
|
891
1025
|
logo: {
|
|
892
1026
|
height: "32px",
|
|
893
1027
|
width: "auto",
|
|
@@ -931,7 +1065,8 @@ var styles = {
|
|
|
931
1065
|
boxSizing: "border-box",
|
|
932
1066
|
textAlign: "left",
|
|
933
1067
|
cursor: "pointer",
|
|
934
|
-
backgroundColor: "#ffffff"
|
|
1068
|
+
backgroundColor: "#ffffff",
|
|
1069
|
+
fontFamily: "inherit"
|
|
935
1070
|
},
|
|
936
1071
|
middleSection: {
|
|
937
1072
|
margin: "0px",
|
|
@@ -1104,7 +1239,8 @@ var styles = {
|
|
|
1104
1239
|
cursor: "pointer",
|
|
1105
1240
|
margin: 0,
|
|
1106
1241
|
boxSizing: "border-box",
|
|
1107
|
-
textAlign: "center"
|
|
1242
|
+
textAlign: "center",
|
|
1243
|
+
fontFamily: "inherit"
|
|
1108
1244
|
},
|
|
1109
1245
|
acceptButton: {
|
|
1110
1246
|
backgroundColor: "#4f87ff",
|
|
@@ -1118,6 +1254,9 @@ var styles = {
|
|
|
1118
1254
|
},
|
|
1119
1255
|
languageSelectorContainer: {
|
|
1120
1256
|
position: "relative",
|
|
1257
|
+
// Shares `headerRow` with the title, which grows; without this a long
|
|
1258
|
+
// heading squeezes the language button instead of wrapping itself.
|
|
1259
|
+
flexShrink: 0,
|
|
1121
1260
|
margin: 0,
|
|
1122
1261
|
padding: 0,
|
|
1123
1262
|
boxSizing: "border-box"
|
|
@@ -1257,19 +1396,17 @@ var PurposeItem = ({
|
|
|
1257
1396
|
selectedLanguage,
|
|
1258
1397
|
initialDataElementSelections = {}
|
|
1259
1398
|
}) => {
|
|
1260
|
-
const headingStyle =
|
|
1399
|
+
const headingStyle = useMemo2(
|
|
1261
1400
|
() => ({
|
|
1262
|
-
color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
|
|
1263
|
-
fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
|
|
1401
|
+
color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
|
|
1264
1402
|
}),
|
|
1265
|
-
[settings]
|
|
1403
|
+
[settings == null ? void 0 : settings.headingColor]
|
|
1266
1404
|
);
|
|
1267
|
-
const textStyle =
|
|
1405
|
+
const textStyle = useMemo2(
|
|
1268
1406
|
() => ({
|
|
1269
|
-
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
1270
|
-
fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
|
|
1407
|
+
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
1271
1408
|
}),
|
|
1272
|
-
[settings]
|
|
1409
|
+
[settings == null ? void 0 : settings.textColor]
|
|
1273
1410
|
);
|
|
1274
1411
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
1275
1412
|
/* @__PURE__ */ jsxs("div", { style: styles4.optionItem, children: [
|
|
@@ -1574,7 +1711,7 @@ var GuardianForm = ({
|
|
|
1574
1711
|
const [openUpward, setOpenUpward] = useState(false);
|
|
1575
1712
|
const dropdownRef = useRef(null);
|
|
1576
1713
|
const optionsRef = useRef(null);
|
|
1577
|
-
|
|
1714
|
+
useEffect2(() => {
|
|
1578
1715
|
if (!isDropdownOpen) return;
|
|
1579
1716
|
const handleClickOutside = (e) => {
|
|
1580
1717
|
if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {
|
|
@@ -1585,7 +1722,7 @@ var GuardianForm = ({
|
|
|
1585
1722
|
document.addEventListener("mousedown", handleClickOutside);
|
|
1586
1723
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1587
1724
|
}, [isDropdownOpen]);
|
|
1588
|
-
|
|
1725
|
+
useEffect2(() => {
|
|
1589
1726
|
if (!isDropdownOpen || !dropdownRef.current) return;
|
|
1590
1727
|
const rect = dropdownRef.current.getBoundingClientRect();
|
|
1591
1728
|
const spaceBelow = window.innerHeight - rect.bottom;
|
|
@@ -1627,7 +1764,7 @@ var GuardianForm = ({
|
|
|
1627
1764
|
break;
|
|
1628
1765
|
}
|
|
1629
1766
|
};
|
|
1630
|
-
|
|
1767
|
+
useEffect2(() => {
|
|
1631
1768
|
var _a2;
|
|
1632
1769
|
if (focusedIndex >= 0 && optionsRef.current) {
|
|
1633
1770
|
const option = optionsRef.current.children[focusedIndex];
|
|
@@ -1638,14 +1775,12 @@ var GuardianForm = ({
|
|
|
1638
1775
|
const textColor = (settings == null ? void 0 : settings.textColor) || "#344054";
|
|
1639
1776
|
const bgColor = (settings == null ? void 0 : settings.backgroundColor) || "#ffffff";
|
|
1640
1777
|
const radius = (settings == null ? void 0 : settings.borderRadius) || "8px";
|
|
1641
|
-
const font = (settings == null ? void 0 : settings.font) || "inherit";
|
|
1642
1778
|
const inputStyle = {
|
|
1643
1779
|
width: "100%",
|
|
1644
1780
|
padding: "10px 12px",
|
|
1645
1781
|
border: `1px solid ${borderColor}`,
|
|
1646
1782
|
borderRadius: radius,
|
|
1647
1783
|
fontSize: "13px",
|
|
1648
|
-
fontFamily: font,
|
|
1649
1784
|
color: textColor,
|
|
1650
1785
|
backgroundColor: bgColor,
|
|
1651
1786
|
marginBottom: "2px",
|
|
@@ -1903,7 +2038,6 @@ var GuardianForm = ({
|
|
|
1903
2038
|
style: {
|
|
1904
2039
|
padding: "9px 12px",
|
|
1905
2040
|
fontSize: "13px",
|
|
1906
|
-
fontFamily: font,
|
|
1907
2041
|
color: isSelected ? accentColor : textColor,
|
|
1908
2042
|
backgroundColor: isFocused ? "#F3F4F6" : "transparent",
|
|
1909
2043
|
cursor: "pointer",
|
|
@@ -2444,7 +2578,7 @@ var RedactoNoticeConsent = ({
|
|
|
2444
2578
|
reviewModeButtonText = "Continue"
|
|
2445
2579
|
}) => {
|
|
2446
2580
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
|
|
2447
|
-
const sandboxParams =
|
|
2581
|
+
const sandboxParams = useMemo2(
|
|
2448
2582
|
() => ({
|
|
2449
2583
|
token,
|
|
2450
2584
|
sandboxUcic: ucic,
|
|
@@ -2454,7 +2588,7 @@ var RedactoNoticeConsent = ({
|
|
|
2454
2588
|
}),
|
|
2455
2589
|
[token, ucic, email, mobile, organisationUuid, workspaceUuid]
|
|
2456
2590
|
);
|
|
2457
|
-
const propValidationError =
|
|
2591
|
+
const propValidationError = useMemo2(() => {
|
|
2458
2592
|
if (!(noticeId == null ? void 0 : noticeId.trim())) {
|
|
2459
2593
|
return "RedactoNoticeConsent: 'noticeId' prop is required and cannot be empty";
|
|
2460
2594
|
}
|
|
@@ -2560,7 +2694,7 @@ var RedactoNoticeConsent = ({
|
|
|
2560
2694
|
const isPollingStatusRef = useRef(false);
|
|
2561
2695
|
const verificationSessionTokenRef = useRef(null);
|
|
2562
2696
|
const isMobile = useMediaQuery("(max-width: 768px)");
|
|
2563
|
-
const responsiveStyles =
|
|
2697
|
+
const responsiveStyles = useMemo2(
|
|
2564
2698
|
() => ({
|
|
2565
2699
|
modal: {
|
|
2566
2700
|
width: isMobile ? "90%" : "700px"
|
|
@@ -2618,9 +2752,7 @@ var RedactoNoticeConsent = ({
|
|
|
2618
2752
|
height: isMobile ? "auto" : void 0,
|
|
2619
2753
|
width: isMobile ? "auto" : void 0
|
|
2620
2754
|
},
|
|
2621
|
-
|
|
2622
|
-
flexDirection: isMobile ? "column" : "row",
|
|
2623
|
-
alignItems: isMobile ? "stretch" : "flex-start",
|
|
2755
|
+
headerStack: {
|
|
2624
2756
|
gap: isMobile ? "12px" : "10px"
|
|
2625
2757
|
},
|
|
2626
2758
|
logo: {
|
|
@@ -2641,28 +2773,36 @@ var RedactoNoticeConsent = ({
|
|
|
2641
2773
|
}),
|
|
2642
2774
|
[isMobile]
|
|
2643
2775
|
);
|
|
2644
|
-
const
|
|
2776
|
+
const fontFamily = useNoticeFont({
|
|
2777
|
+
hostFont: settings == null ? void 0 : settings.font,
|
|
2778
|
+
noticeFont: content == null ? void 0 : content.font_preference
|
|
2779
|
+
});
|
|
2780
|
+
const componentHeadingStyle = useMemo2(
|
|
2645
2781
|
() => ({
|
|
2646
|
-
color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
|
|
2647
|
-
fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
|
|
2782
|
+
color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
|
|
2648
2783
|
}),
|
|
2649
|
-
[settings == null ? void 0 : settings.headingColor
|
|
2784
|
+
[settings == null ? void 0 : settings.headingColor]
|
|
2650
2785
|
);
|
|
2651
|
-
const componentTextStyle =
|
|
2786
|
+
const componentTextStyle = useMemo2(
|
|
2652
2787
|
() => ({
|
|
2653
|
-
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
2654
|
-
fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
|
|
2788
|
+
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
2655
2789
|
}),
|
|
2656
|
-
[settings == null ? void 0 : settings.textColor
|
|
2790
|
+
[settings == null ? void 0 : settings.textColor]
|
|
2657
2791
|
);
|
|
2658
|
-
const sectionStyle =
|
|
2792
|
+
const sectionStyle = useMemo2(
|
|
2659
2793
|
() => ({
|
|
2660
|
-
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
2661
|
-
fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
|
|
2794
|
+
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
2662
2795
|
}),
|
|
2663
|
-
[settings == null ? void 0 : settings.textColor
|
|
2796
|
+
[settings == null ? void 0 : settings.textColor]
|
|
2664
2797
|
);
|
|
2665
|
-
const
|
|
2798
|
+
const logoRowStyle = useMemo2(
|
|
2799
|
+
() => ({
|
|
2800
|
+
...styles.logoRow,
|
|
2801
|
+
justifyContent: logoRowJustify(resolveLogoPosition(content == null ? void 0 : content.logo_position))
|
|
2802
|
+
}),
|
|
2803
|
+
[content == null ? void 0 : content.logo_position]
|
|
2804
|
+
);
|
|
2805
|
+
const areAllRequiredElementsChecked = useMemo2(() => {
|
|
2666
2806
|
if (!content) return false;
|
|
2667
2807
|
return content.purposes.every((purpose) => {
|
|
2668
2808
|
const requiredElements = purpose.data_elements.filter(
|
|
@@ -2674,7 +2814,7 @@ var RedactoNoticeConsent = ({
|
|
|
2674
2814
|
});
|
|
2675
2815
|
}, [content, selectedDataElements]);
|
|
2676
2816
|
const acceptDisabled = isSubmitting || !areAllRequiredElementsChecked;
|
|
2677
|
-
|
|
2817
|
+
useEffect2(() => {
|
|
2678
2818
|
var _a2, _b2;
|
|
2679
2819
|
clearApiCache();
|
|
2680
2820
|
isRequestInProgressRef.current = false;
|
|
@@ -2737,7 +2877,7 @@ var RedactoNoticeConsent = ({
|
|
|
2737
2877
|
}
|
|
2738
2878
|
isInitialMountRef.current = false;
|
|
2739
2879
|
}, [accessToken]);
|
|
2740
|
-
|
|
2880
|
+
useEffect2(() => {
|
|
2741
2881
|
if (hasAlreadyConsented) {
|
|
2742
2882
|
onAccept == null ? void 0 : onAccept();
|
|
2743
2883
|
}
|
|
@@ -2810,7 +2950,7 @@ var RedactoNoticeConsent = ({
|
|
|
2810
2950
|
return content.dpo_info[key] || defaultText;
|
|
2811
2951
|
};
|
|
2812
2952
|
const fetchNotice = async () => {
|
|
2813
|
-
var _a2
|
|
2953
|
+
var _a2;
|
|
2814
2954
|
if (isRequestInProgressRef.current) {
|
|
2815
2955
|
return;
|
|
2816
2956
|
}
|
|
@@ -2824,11 +2964,12 @@ var RedactoNoticeConsent = ({
|
|
|
2824
2964
|
setShowAgeVerification(false);
|
|
2825
2965
|
setShowGuardianForm(false);
|
|
2826
2966
|
try {
|
|
2967
|
+
const noticeBaseUrl = ledgerBaseUrl && !applicationId && !token ? ledgerBaseUrl : baseUrl;
|
|
2827
2968
|
const consentContentData = await fetchConsentContent({
|
|
2828
2969
|
noticeId,
|
|
2829
2970
|
accessToken,
|
|
2830
2971
|
refreshToken,
|
|
2831
|
-
baseUrl,
|
|
2972
|
+
baseUrl: noticeBaseUrl,
|
|
2832
2973
|
language,
|
|
2833
2974
|
specific_uuid: applicationId,
|
|
2834
2975
|
validate_against: validateAgainst,
|
|
@@ -2852,25 +2993,8 @@ var RedactoNoticeConsent = ({
|
|
|
2852
2993
|
{}
|
|
2853
2994
|
);
|
|
2854
2995
|
setCollapsedPurposes(initialCollapsedState);
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
if (ledgerBaseUrl && !applicationId) {
|
|
2858
|
-
const ledgerStatus = await fetchNoticeConsentStatus({
|
|
2859
|
-
accessToken,
|
|
2860
|
-
ledgerBaseUrl,
|
|
2861
|
-
noticeUuid: noticeId,
|
|
2862
|
-
signal: (_b2 = abortControllerRef.current) == null ? void 0 : _b2.signal,
|
|
2863
|
-
...sandboxParams
|
|
2864
|
-
});
|
|
2865
|
-
if (ledgerStatus) {
|
|
2866
|
-
const overlay = buildLedgerConsentOverlay(
|
|
2867
|
-
ledgerStatus,
|
|
2868
|
-
activeConfig.purposes
|
|
2869
|
-
);
|
|
2870
|
-
isReconsentRequired = (_c2 = overlay == null ? void 0 : overlay.reconsent_required) != null ? _c2 : false;
|
|
2871
|
-
purposeSelections = overlay == null ? void 0 : overlay.purpose_selections;
|
|
2872
|
-
}
|
|
2873
|
-
}
|
|
2996
|
+
const isReconsentRequired = consentContentData.detail.reconsent_required;
|
|
2997
|
+
const purposeSelections = consentContentData.detail.purpose_selections;
|
|
2874
2998
|
const newCategorizedPurposes = isReconsentRequired ? {
|
|
2875
2999
|
alreadyConsented: activeConfig.purposes.filter(
|
|
2876
3000
|
(purpose) => {
|
|
@@ -2901,9 +3025,9 @@ var RedactoNoticeConsent = ({
|
|
|
2901
3025
|
const initialDataElementState = activeConfig.purposes.reduce(
|
|
2902
3026
|
(acc, purpose) => {
|
|
2903
3027
|
purpose.data_elements.forEach((element) => {
|
|
2904
|
-
var _a3,
|
|
3028
|
+
var _a3, _b2;
|
|
2905
3029
|
const combinedId = `${purpose.uuid}-${element.uuid}`;
|
|
2906
|
-
if ((
|
|
3030
|
+
if ((_b2 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
|
|
2907
3031
|
acc[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
|
|
2908
3032
|
} else {
|
|
2909
3033
|
acc[combinedId] = false;
|
|
@@ -2919,9 +3043,9 @@ var RedactoNoticeConsent = ({
|
|
|
2919
3043
|
const initialSelections = {};
|
|
2920
3044
|
newCategorizedPurposes.alreadyConsented.forEach((purpose) => {
|
|
2921
3045
|
purpose.data_elements.forEach((element) => {
|
|
2922
|
-
var _a3,
|
|
3046
|
+
var _a3, _b2;
|
|
2923
3047
|
const combinedId = `${purpose.uuid}-${element.uuid}`;
|
|
2924
|
-
if ((
|
|
3048
|
+
if ((_b2 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
|
|
2925
3049
|
initialSelections[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
|
|
2926
3050
|
} else {
|
|
2927
3051
|
initialSelections[combinedId] = false;
|
|
@@ -2942,9 +3066,9 @@ var RedactoNoticeConsent = ({
|
|
|
2942
3066
|
activeConfig.purposes.forEach(
|
|
2943
3067
|
(purpose) => {
|
|
2944
3068
|
purpose.data_elements.forEach((element) => {
|
|
2945
|
-
var _a3,
|
|
3069
|
+
var _a3, _b2;
|
|
2946
3070
|
const combinedId = `${purpose.uuid}-${element.uuid}`;
|
|
2947
|
-
if ((
|
|
3071
|
+
if ((_b2 = (_a3 = purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
|
|
2948
3072
|
initialSelections[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
|
|
2949
3073
|
} else {
|
|
2950
3074
|
initialSelections[combinedId] = false;
|
|
@@ -2985,7 +3109,7 @@ var RedactoNoticeConsent = ({
|
|
|
2985
3109
|
isRequestInProgressRef.current = false;
|
|
2986
3110
|
}
|
|
2987
3111
|
};
|
|
2988
|
-
|
|
3112
|
+
useEffect2(() => {
|
|
2989
3113
|
injectCheckboxStyles();
|
|
2990
3114
|
fetchNotice();
|
|
2991
3115
|
}, [
|
|
@@ -2995,6 +3119,7 @@ var RedactoNoticeConsent = ({
|
|
|
2995
3119
|
sandboxParams,
|
|
2996
3120
|
language,
|
|
2997
3121
|
applicationId,
|
|
3122
|
+
ledgerBaseUrl,
|
|
2998
3123
|
validateAgainst,
|
|
2999
3124
|
includeFullyConsentedData
|
|
3000
3125
|
// Removed onError and isRefreshingToken from dependencies to prevent duplicate API calls
|
|
@@ -3539,7 +3664,7 @@ var RedactoNoticeConsent = ({
|
|
|
3539
3664
|
}
|
|
3540
3665
|
clearConsentState();
|
|
3541
3666
|
}, []);
|
|
3542
|
-
const availableLanguages =
|
|
3667
|
+
const availableLanguages = useMemo2(() => {
|
|
3543
3668
|
if (!content) return [language];
|
|
3544
3669
|
const pinned = ["English"];
|
|
3545
3670
|
if (content.default_language && content.default_language !== "English" && content.default_language !== "en") {
|
|
@@ -3561,7 +3686,7 @@ var RedactoNoticeConsent = ({
|
|
|
3561
3686
|
},
|
|
3562
3687
|
[content]
|
|
3563
3688
|
);
|
|
3564
|
-
const audioSequence =
|
|
3689
|
+
const audioSequence = useMemo2(() => {
|
|
3565
3690
|
if (!ttsAudioUrls || !content) return [];
|
|
3566
3691
|
const sequence = [];
|
|
3567
3692
|
if (ttsAudioUrls.notice_banner_heading_audio_url) {
|
|
@@ -3626,7 +3751,7 @@ var RedactoNoticeConsent = ({
|
|
|
3626
3751
|
}
|
|
3627
3752
|
return sequence;
|
|
3628
3753
|
}, [ttsAudioUrls, content, categorizedPurposes]);
|
|
3629
|
-
const elementIdSequence =
|
|
3754
|
+
const elementIdSequence = useMemo2(() => {
|
|
3630
3755
|
if (!ttsAudioUrls || !content) return [];
|
|
3631
3756
|
const elementIds = [];
|
|
3632
3757
|
if (ttsAudioUrls.notice_banner_heading_audio_url) {
|
|
@@ -3759,7 +3884,7 @@ var RedactoNoticeConsent = ({
|
|
|
3759
3884
|
playAudio();
|
|
3760
3885
|
}
|
|
3761
3886
|
}, [isPlaying, playAudio, pauseAudio]);
|
|
3762
|
-
|
|
3887
|
+
useEffect2(() => {
|
|
3763
3888
|
var _a2;
|
|
3764
3889
|
if (!isPlaying || !content || audioSequence.length === 0) return;
|
|
3765
3890
|
const currentIndex = currentAudioIndex;
|
|
@@ -3793,7 +3918,7 @@ var RedactoNoticeConsent = ({
|
|
|
3793
3918
|
categorizedPurposes,
|
|
3794
3919
|
collapsedPurposes
|
|
3795
3920
|
]);
|
|
3796
|
-
|
|
3921
|
+
useEffect2(() => {
|
|
3797
3922
|
const removeAllHighlights = () => {
|
|
3798
3923
|
document.querySelectorAll(".redacto-tts-highlight").forEach((el) => {
|
|
3799
3924
|
el.classList.remove("redacto-tts-highlight");
|
|
@@ -3829,7 +3954,7 @@ var RedactoNoticeConsent = ({
|
|
|
3829
3954
|
removeAllHighlights();
|
|
3830
3955
|
};
|
|
3831
3956
|
}, [highlightedElementId, isPlaying]);
|
|
3832
|
-
|
|
3957
|
+
useEffect2(() => {
|
|
3833
3958
|
setIsTTSAvailable(false);
|
|
3834
3959
|
setTtsAudioUrls(null);
|
|
3835
3960
|
stopAudio();
|
|
@@ -3841,6 +3966,7 @@ var RedactoNoticeConsent = ({
|
|
|
3841
3966
|
fetchTTSAudioUrls({
|
|
3842
3967
|
accessToken,
|
|
3843
3968
|
baseUrl,
|
|
3969
|
+
ledgerBaseUrl,
|
|
3844
3970
|
noticeUuid: content.notice_uuid,
|
|
3845
3971
|
language: languageCode,
|
|
3846
3972
|
signal: ttsAbortController.signal,
|
|
@@ -3857,10 +3983,11 @@ var RedactoNoticeConsent = ({
|
|
|
3857
3983
|
return () => {
|
|
3858
3984
|
ttsAbortController.abort();
|
|
3859
3985
|
};
|
|
3860
|
-
}, [content, selectedLanguage, accessToken, sandboxParams, baseUrl, getLanguageCode]);
|
|
3986
|
+
}, [content, selectedLanguage, accessToken, sandboxParams, baseUrl, ledgerBaseUrl, getLanguageCode]);
|
|
3861
3987
|
const modalStyle = {
|
|
3862
3988
|
borderRadius: (settings == null ? void 0 : settings.borderRadius) || "8px",
|
|
3863
|
-
backgroundColor: (settings == null ? void 0 : settings.backgroundColor) || "#ffffff"
|
|
3989
|
+
backgroundColor: (settings == null ? void 0 : settings.backgroundColor) || "#ffffff",
|
|
3990
|
+
fontFamily
|
|
3864
3991
|
};
|
|
3865
3992
|
const buttonStyle = {
|
|
3866
3993
|
borderRadius: (settings == null ? void 0 : settings.borderRadius) || "8px"
|
|
@@ -3894,7 +4021,7 @@ var RedactoNoticeConsent = ({
|
|
|
3894
4021
|
const handleCloseError = () => {
|
|
3895
4022
|
setErrorMessage(null);
|
|
3896
4023
|
};
|
|
3897
|
-
|
|
4024
|
+
useEffect2(() => {
|
|
3898
4025
|
const handleKeyDown = (event) => {
|
|
3899
4026
|
if (!modalRef.current) return;
|
|
3900
4027
|
const focusableElements = modalRef.current.querySelectorAll(
|
|
@@ -3933,13 +4060,13 @@ var RedactoNoticeConsent = ({
|
|
|
3933
4060
|
modal == null ? void 0 : modal.removeEventListener("keydown", handleKeyDown);
|
|
3934
4061
|
};
|
|
3935
4062
|
}, [isLoading, handleDecline]);
|
|
3936
|
-
|
|
4063
|
+
useEffect2(() => {
|
|
3937
4064
|
stopAudio();
|
|
3938
4065
|
}, [selectedLanguage, stopAudio]);
|
|
3939
|
-
|
|
4066
|
+
useEffect2(() => {
|
|
3940
4067
|
stopAudio();
|
|
3941
4068
|
}, [content, stopAudio]);
|
|
3942
|
-
|
|
4069
|
+
useEffect2(() => {
|
|
3943
4070
|
return () => {
|
|
3944
4071
|
var _a2, _b2;
|
|
3945
4072
|
if (abortControllerRef.current) {
|
|
@@ -3965,7 +4092,7 @@ var RedactoNoticeConsent = ({
|
|
|
3965
4092
|
}
|
|
3966
4093
|
};
|
|
3967
4094
|
}, [stopAudio]);
|
|
3968
|
-
|
|
4095
|
+
useEffect2(() => {
|
|
3969
4096
|
const persistedState = getConsentState();
|
|
3970
4097
|
if (!persistedState) return;
|
|
3971
4098
|
if (persistedState.noticeId && persistedState.noticeId !== noticeId) {
|
|
@@ -4015,6 +4142,7 @@ var RedactoNoticeConsent = ({
|
|
|
4015
4142
|
"div",
|
|
4016
4143
|
{
|
|
4017
4144
|
ref: modalRef,
|
|
4145
|
+
...NOTICE_FONT_ROOT_PROPS,
|
|
4018
4146
|
style: {
|
|
4019
4147
|
...styles.modal,
|
|
4020
4148
|
...responsiveStyles.modal,
|
|
@@ -4275,8 +4403,8 @@ var RedactoNoticeConsent = ({
|
|
|
4275
4403
|
"div",
|
|
4276
4404
|
{
|
|
4277
4405
|
style: {
|
|
4278
|
-
...styles.
|
|
4279
|
-
...responsiveStyles.
|
|
4406
|
+
...styles.headerStack,
|
|
4407
|
+
...responsiveStyles.headerStack,
|
|
4280
4408
|
...sectionStyle
|
|
4281
4409
|
},
|
|
4282
4410
|
children: (() => {
|
|
@@ -4445,40 +4573,12 @@ var RedactoNoticeConsent = ({
|
|
|
4445
4573
|
}
|
|
4446
4574
|
)
|
|
4447
4575
|
] });
|
|
4448
|
-
return
|
|
4449
|
-
/* @__PURE__ */
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
alignItems: "center",
|
|
4455
|
-
gap: "10px",
|
|
4456
|
-
width: "100%"
|
|
4457
|
-
},
|
|
4458
|
-
children: [
|
|
4459
|
-
logoNode,
|
|
4460
|
-
/* @__PURE__ */ jsx(
|
|
4461
|
-
"div",
|
|
4462
|
-
{
|
|
4463
|
-
style: {
|
|
4464
|
-
marginLeft: "auto",
|
|
4465
|
-
display: "flex",
|
|
4466
|
-
alignItems: "center",
|
|
4467
|
-
flexShrink: 0
|
|
4468
|
-
},
|
|
4469
|
-
children: controlsBlock
|
|
4470
|
-
}
|
|
4471
|
-
)
|
|
4472
|
-
]
|
|
4473
|
-
}
|
|
4474
|
-
),
|
|
4475
|
-
titleNode
|
|
4476
|
-
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4477
|
-
/* @__PURE__ */ jsxs("div", { style: styles.topLeft, children: [
|
|
4478
|
-
logoNode,
|
|
4479
|
-
titleNode
|
|
4480
|
-
] }),
|
|
4481
|
-
controlsBlock
|
|
4576
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4577
|
+
/* @__PURE__ */ jsx("div", { style: logoRowStyle, children: logoNode }),
|
|
4578
|
+
/* @__PURE__ */ jsxs("div", { style: styles.headerRow, children: [
|
|
4579
|
+
titleNode,
|
|
4580
|
+
controlsBlock
|
|
4581
|
+
] })
|
|
4482
4582
|
] });
|
|
4483
4583
|
})()
|
|
4484
4584
|
}
|
|
@@ -4823,7 +4923,7 @@ var RedactoNoticeConsent = ({
|
|
|
4823
4923
|
};
|
|
4824
4924
|
|
|
4825
4925
|
// src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.tsx
|
|
4826
|
-
import { useEffect as
|
|
4926
|
+
import { useEffect as useEffect4, useMemo as useMemo3, useState as useState3, useRef as useRef2, useCallback as useCallback2, memo } from "react";
|
|
4827
4927
|
|
|
4828
4928
|
// src/RedactoNoticeConsentInline/api/index.ts
|
|
4829
4929
|
var BASE_URL2 = "https://api.redacto.tech/consent";
|
|
@@ -4831,12 +4931,16 @@ var fetchConsentContent2 = async ({
|
|
|
4831
4931
|
org_uuid,
|
|
4832
4932
|
workspace_uuid,
|
|
4833
4933
|
notice_uuid,
|
|
4934
|
+
accessToken,
|
|
4834
4935
|
baseUrl,
|
|
4835
|
-
|
|
4936
|
+
language,
|
|
4937
|
+
specific_uuid,
|
|
4938
|
+
signal
|
|
4836
4939
|
}) => {
|
|
4837
4940
|
const apiBaseUrl = baseUrl || BASE_URL2;
|
|
4941
|
+
const noticesUrl = `${apiBaseUrl}/public/organisations/${org_uuid}/workspaces/${workspace_uuid}/notices`;
|
|
4838
4942
|
const url = new URL(
|
|
4839
|
-
`${
|
|
4943
|
+
accessToken ? `${noticesUrl}/${notice_uuid}` : `${noticesUrl}/get-notice/${notice_uuid}`
|
|
4840
4944
|
);
|
|
4841
4945
|
if (specific_uuid) {
|
|
4842
4946
|
url.searchParams.append("specific_uuid", specific_uuid);
|
|
@@ -4844,8 +4948,11 @@ var fetchConsentContent2 = async ({
|
|
|
4844
4948
|
const response = await fetch(url.toString(), {
|
|
4845
4949
|
method: "GET",
|
|
4846
4950
|
headers: {
|
|
4847
|
-
"Content-Type": "application/json"
|
|
4848
|
-
|
|
4951
|
+
"Content-Type": "application/json",
|
|
4952
|
+
"Accept-Language": language || "en",
|
|
4953
|
+
...accessToken ? { Authorization: `Bearer ${accessToken}` } : {}
|
|
4954
|
+
},
|
|
4955
|
+
signal
|
|
4849
4956
|
});
|
|
4850
4957
|
if (!response.ok) {
|
|
4851
4958
|
throw await parseApiError(
|
|
@@ -4910,6 +5017,15 @@ var submitConsentEvent2 = async ({
|
|
|
4910
5017
|
|
|
4911
5018
|
// src/RedactoNoticeConsentInline/styles.ts
|
|
4912
5019
|
var styles2 = {
|
|
5020
|
+
// Root of the embedded widget — the host supplies the surrounding card, so this
|
|
5021
|
+
// is layout plus the font the rest of the widget inherits. (`container` below is
|
|
5022
|
+
// a standalone-card variant that the current layout does not use.)
|
|
5023
|
+
root: {
|
|
5024
|
+
display: "flex",
|
|
5025
|
+
flexDirection: "column",
|
|
5026
|
+
gap: "16px",
|
|
5027
|
+
fontFamily: "inherit"
|
|
5028
|
+
},
|
|
4913
5029
|
overlay: {
|
|
4914
5030
|
position: "fixed",
|
|
4915
5031
|
top: 0,
|
|
@@ -5256,11 +5372,11 @@ var styles2 = {
|
|
|
5256
5372
|
};
|
|
5257
5373
|
|
|
5258
5374
|
// src/RedactoNoticeConsentInline/useMediaQuery.ts
|
|
5259
|
-
import { useState as useState2, useEffect as
|
|
5375
|
+
import { useState as useState2, useEffect as useEffect3 } from "react";
|
|
5260
5376
|
var useMediaQuery2 = (query) => {
|
|
5261
5377
|
const getMatches = () => typeof window !== "undefined" ? window.matchMedia(query).matches : false;
|
|
5262
5378
|
const [matches, setMatches] = useState2(getMatches);
|
|
5263
|
-
|
|
5379
|
+
useEffect3(() => {
|
|
5264
5380
|
if (typeof window === "undefined") return;
|
|
5265
5381
|
const media = window.matchMedia(query);
|
|
5266
5382
|
const listener = (e) => {
|
|
@@ -5341,11 +5457,11 @@ var RedactoConsentInlineComponent = ({
|
|
|
5341
5457
|
const [fetchError, setFetchError] = useState3(null);
|
|
5342
5458
|
const [errorMessage, setErrorMessage] = useState3(null);
|
|
5343
5459
|
const hasSubmittedRef = useRef2(false);
|
|
5344
|
-
|
|
5460
|
+
useEffect4(() => {
|
|
5345
5461
|
injectSpinnerAnimation();
|
|
5346
5462
|
}, []);
|
|
5347
5463
|
const isMobile = useMediaQuery2("(max-width: 768px)");
|
|
5348
|
-
const responsiveStyles =
|
|
5464
|
+
const responsiveStyles = useMemo3(
|
|
5349
5465
|
() => ({
|
|
5350
5466
|
optionTitle: {
|
|
5351
5467
|
fontSize: isMobile ? "14px" : "16px"
|
|
@@ -5363,7 +5479,7 @@ var RedactoConsentInlineComponent = ({
|
|
|
5363
5479
|
}),
|
|
5364
5480
|
[isMobile]
|
|
5365
5481
|
);
|
|
5366
|
-
const areAllRequiredElementsChecked =
|
|
5482
|
+
const areAllRequiredElementsChecked = useMemo3(() => {
|
|
5367
5483
|
if (!content) return false;
|
|
5368
5484
|
return content.purposes.every((purpose) => {
|
|
5369
5485
|
const requiredElements = purpose.data_elements.filter(
|
|
@@ -5374,10 +5490,10 @@ var RedactoConsentInlineComponent = ({
|
|
|
5374
5490
|
);
|
|
5375
5491
|
});
|
|
5376
5492
|
}, [content, selectedDataElements]);
|
|
5377
|
-
|
|
5493
|
+
useEffect4(() => {
|
|
5378
5494
|
onValidationChange == null ? void 0 : onValidationChange(areAllRequiredElementsChecked);
|
|
5379
5495
|
}, [areAllRequiredElementsChecked, onValidationChange]);
|
|
5380
|
-
|
|
5496
|
+
useEffect4(() => {
|
|
5381
5497
|
if (hasAlreadyConsented) {
|
|
5382
5498
|
onAccept == null ? void 0 : onAccept();
|
|
5383
5499
|
}
|
|
@@ -5419,18 +5535,24 @@ var RedactoConsentInlineComponent = ({
|
|
|
5419
5535
|
}
|
|
5420
5536
|
return defaultText;
|
|
5421
5537
|
};
|
|
5422
|
-
const fetchNotice = async () => {
|
|
5538
|
+
const fetchNotice = async (signal) => {
|
|
5423
5539
|
setIsLoading(true);
|
|
5424
5540
|
setFetchError(null);
|
|
5541
|
+
setHasAlreadyConsented(false);
|
|
5425
5542
|
try {
|
|
5426
5543
|
const consentContentData = await fetchConsentContent2({
|
|
5427
5544
|
org_uuid,
|
|
5428
5545
|
workspace_uuid,
|
|
5429
5546
|
notice_uuid,
|
|
5547
|
+
accessToken,
|
|
5430
5548
|
baseUrl,
|
|
5431
5549
|
language,
|
|
5432
|
-
specific_uuid: applicationId
|
|
5550
|
+
specific_uuid: applicationId,
|
|
5551
|
+
signal
|
|
5433
5552
|
});
|
|
5553
|
+
if (signal == null ? void 0 : signal.aborted) {
|
|
5554
|
+
return;
|
|
5555
|
+
}
|
|
5434
5556
|
const activeConfig = consentContentData.detail.active_config;
|
|
5435
5557
|
setContent(activeConfig);
|
|
5436
5558
|
if (activeConfig.default_language) {
|
|
@@ -5466,6 +5588,9 @@ var RedactoConsentInlineComponent = ({
|
|
|
5466
5588
|
);
|
|
5467
5589
|
setSelectedPurposes(initialPurposeState);
|
|
5468
5590
|
} catch (err) {
|
|
5591
|
+
if ((signal == null ? void 0 : signal.aborted) || err instanceof Error && err.name === "AbortError") {
|
|
5592
|
+
return;
|
|
5593
|
+
}
|
|
5469
5594
|
const error = err;
|
|
5470
5595
|
setFetchError(error);
|
|
5471
5596
|
if (error.status === 409) {
|
|
@@ -5474,13 +5599,19 @@ var RedactoConsentInlineComponent = ({
|
|
|
5474
5599
|
onError == null ? void 0 : onError(error);
|
|
5475
5600
|
}
|
|
5476
5601
|
} finally {
|
|
5477
|
-
|
|
5602
|
+
if (!(signal == null ? void 0 : signal.aborted)) {
|
|
5603
|
+
setIsLoading(false);
|
|
5604
|
+
}
|
|
5478
5605
|
}
|
|
5479
5606
|
};
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5607
|
+
useEffect4(() => {
|
|
5608
|
+
const controller = new AbortController();
|
|
5609
|
+
void fetchNotice(controller.signal);
|
|
5610
|
+
return () => {
|
|
5611
|
+
controller.abort();
|
|
5612
|
+
};
|
|
5613
|
+
}, [org_uuid, workspace_uuid, notice_uuid, language, applicationId, accessToken]);
|
|
5614
|
+
useEffect4(() => {
|
|
5484
5615
|
if (!ledgerBaseUrl || applicationId) {
|
|
5485
5616
|
return;
|
|
5486
5617
|
}
|
|
@@ -5634,7 +5765,7 @@ var RedactoConsentInlineComponent = ({
|
|
|
5634
5765
|
onAccept
|
|
5635
5766
|
]
|
|
5636
5767
|
);
|
|
5637
|
-
|
|
5768
|
+
useEffect4(() => {
|
|
5638
5769
|
if (accessToken && content && areAllRequiredElementsChecked && !isSubmitting && !isCheckingConsent && !hasAlreadyConsented && !hasSubmittedRef.current) {
|
|
5639
5770
|
hasSubmittedRef.current = true;
|
|
5640
5771
|
const autoSubmit = async () => {
|
|
@@ -5656,7 +5787,7 @@ var RedactoConsentInlineComponent = ({
|
|
|
5656
5787
|
hasAlreadyConsented,
|
|
5657
5788
|
handleAcceptWithToken
|
|
5658
5789
|
]);
|
|
5659
|
-
|
|
5790
|
+
useEffect4(() => {
|
|
5660
5791
|
if (!accessToken) {
|
|
5661
5792
|
hasSubmittedRef.current = false;
|
|
5662
5793
|
}
|
|
@@ -5667,11 +5798,20 @@ var RedactoConsentInlineComponent = ({
|
|
|
5667
5798
|
const textStyle = {
|
|
5668
5799
|
color: (settings == null ? void 0 : settings.textColor) || "#344054"
|
|
5669
5800
|
};
|
|
5801
|
+
const fontFamily = useNoticeFont({
|
|
5802
|
+
hostFont: settings == null ? void 0 : settings.font,
|
|
5803
|
+
noticeFont: content == null ? void 0 : content.font_preference
|
|
5804
|
+
});
|
|
5805
|
+
const rootStyle = { ...styles2.root, fontFamily };
|
|
5806
|
+
const loadingRootStyle = {
|
|
5807
|
+
...styles2.loadingContainer,
|
|
5808
|
+
fontFamily
|
|
5809
|
+
};
|
|
5670
5810
|
if (hasAlreadyConsented || fetchError) {
|
|
5671
5811
|
return null;
|
|
5672
5812
|
}
|
|
5673
5813
|
if (isLoading) {
|
|
5674
|
-
return /* @__PURE__ */ jsxs2("div", { style:
|
|
5814
|
+
return /* @__PURE__ */ jsxs2("div", { ...NOTICE_FONT_ROOT_PROPS, style: loadingRootStyle, children: [
|
|
5675
5815
|
/* @__PURE__ */ jsx2("div", { style: styles2.loadingSpinner }),
|
|
5676
5816
|
/* @__PURE__ */ jsx2("p", { style: { ...styles2.privacyText, ...textStyle }, children: "Loading..." })
|
|
5677
5817
|
] });
|
|
@@ -5679,7 +5819,7 @@ var RedactoConsentInlineComponent = ({
|
|
|
5679
5819
|
if (!content) {
|
|
5680
5820
|
return null;
|
|
5681
5821
|
}
|
|
5682
|
-
return /* @__PURE__ */ jsxs2("div", {
|
|
5822
|
+
return /* @__PURE__ */ jsxs2("div", { ...NOTICE_FONT_ROOT_PROPS, style: rootStyle, children: [
|
|
5683
5823
|
errorMessage && /* @__PURE__ */ jsx2(
|
|
5684
5824
|
"div",
|
|
5685
5825
|
{
|
|
@@ -5858,7 +5998,7 @@ RedactoConsentInlineComponent.displayName = "RedactoConsentInline";
|
|
|
5858
5998
|
var RedactoConsentInline = memo(RedactoConsentInlineComponent);
|
|
5859
5999
|
|
|
5860
6000
|
// src/RedactoNoticeAssisted/RedactoNoticeAssisted.tsx
|
|
5861
|
-
import { useState as useState5, useEffect as
|
|
6001
|
+
import { useState as useState5, useEffect as useEffect6, useMemo as useMemo4, useRef as useRef3, useCallback as useCallback3 } from "react";
|
|
5862
6002
|
|
|
5863
6003
|
// src/RedactoNoticeAssisted/styles.ts
|
|
5864
6004
|
var styles3 = {
|
|
@@ -5964,6 +6104,7 @@ var styles3 = {
|
|
|
5964
6104
|
display: "flex",
|
|
5965
6105
|
alignItems: "center",
|
|
5966
6106
|
justifyContent: "center",
|
|
6107
|
+
fontFamily: "inherit",
|
|
5967
6108
|
fontWeight: 400,
|
|
5968
6109
|
fontSize: "12px",
|
|
5969
6110
|
lineHeight: "150%",
|
|
@@ -6341,6 +6482,7 @@ var styles3 = {
|
|
|
6341
6482
|
borderRadius: "8px",
|
|
6342
6483
|
border: "1px solid #d0d5dd",
|
|
6343
6484
|
textAlign: "center",
|
|
6485
|
+
fontFamily: "inherit",
|
|
6344
6486
|
fontSize: "18px",
|
|
6345
6487
|
fontWeight: 500,
|
|
6346
6488
|
color: "#101828",
|
|
@@ -6462,6 +6604,7 @@ var styles3 = {
|
|
|
6462
6604
|
width: "100%",
|
|
6463
6605
|
borderRadius: "8px",
|
|
6464
6606
|
padding: "9px 45px",
|
|
6607
|
+
fontFamily: "inherit",
|
|
6465
6608
|
fontWeight: 400,
|
|
6466
6609
|
fontSize: "16px",
|
|
6467
6610
|
lineHeight: "150%",
|
|
@@ -6761,11 +6904,11 @@ var injectAssistedStyles = () => {
|
|
|
6761
6904
|
};
|
|
6762
6905
|
|
|
6763
6906
|
// src/RedactoNoticeAssisted/useMediaQuery.ts
|
|
6764
|
-
import { useState as useState4, useEffect as
|
|
6907
|
+
import { useState as useState4, useEffect as useEffect5 } from "react";
|
|
6765
6908
|
var useMediaQuery3 = (query) => {
|
|
6766
6909
|
const getMatches = () => typeof window !== "undefined" ? window.matchMedia(query).matches : false;
|
|
6767
6910
|
const [matches, setMatches] = useState4(getMatches);
|
|
6768
|
-
|
|
6911
|
+
useEffect5(() => {
|
|
6769
6912
|
if (typeof window === "undefined") return;
|
|
6770
6913
|
const media = window.matchMedia(query);
|
|
6771
6914
|
const listener = (e) => {
|
|
@@ -8420,10 +8563,10 @@ var RedactoNoticeAssisted = ({
|
|
|
8420
8563
|
const [isVerifying, setIsVerifying] = useState5(false);
|
|
8421
8564
|
const [createError, setCreateError] = useState5(null);
|
|
8422
8565
|
const [otpError, setOtpError] = useState5(null);
|
|
8423
|
-
|
|
8566
|
+
useEffect6(() => {
|
|
8424
8567
|
injectAssistedStyles();
|
|
8425
8568
|
}, []);
|
|
8426
|
-
|
|
8569
|
+
useEffect6(() => {
|
|
8427
8570
|
const controller = new AbortController();
|
|
8428
8571
|
setIsLoading(true);
|
|
8429
8572
|
setFetchError(null);
|
|
@@ -8461,14 +8604,14 @@ var RedactoNoticeAssisted = ({
|
|
|
8461
8604
|
});
|
|
8462
8605
|
return () => controller.abort();
|
|
8463
8606
|
}, [organisationUuid, workspaceUuid, noticeUuid, baseUrl]);
|
|
8464
|
-
|
|
8607
|
+
useEffect6(() => {
|
|
8465
8608
|
if (resendCountdown <= 0) return;
|
|
8466
8609
|
const intervalId = window.setInterval(() => {
|
|
8467
8610
|
setResendCountdown((prev) => prev <= 1 ? 0 : prev - 1);
|
|
8468
8611
|
}, 1e3);
|
|
8469
8612
|
return () => window.clearInterval(intervalId);
|
|
8470
8613
|
}, [resendCountdown]);
|
|
8471
|
-
|
|
8614
|
+
useEffect6(() => {
|
|
8472
8615
|
if (step !== "verify") return;
|
|
8473
8616
|
const id = window.setTimeout(
|
|
8474
8617
|
() => scrollIntoViewSoft(verifyBlockRef.current),
|
|
@@ -8476,7 +8619,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8476
8619
|
);
|
|
8477
8620
|
return () => window.clearTimeout(id);
|
|
8478
8621
|
}, [step]);
|
|
8479
|
-
|
|
8622
|
+
useEffect6(() => {
|
|
8480
8623
|
if (!otpSent) return;
|
|
8481
8624
|
const id = window.setTimeout(
|
|
8482
8625
|
() => scrollIntoViewSoft(otpSectionRef.current),
|
|
@@ -8484,7 +8627,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8484
8627
|
);
|
|
8485
8628
|
return () => window.clearTimeout(id);
|
|
8486
8629
|
}, [otpSent]);
|
|
8487
|
-
|
|
8630
|
+
useEffect6(() => {
|
|
8488
8631
|
if (!isLanguageDropdownOpen) return;
|
|
8489
8632
|
const handleClickOutside = (e) => {
|
|
8490
8633
|
if (languageContainerRef.current && !languageContainerRef.current.contains(e.target)) {
|
|
@@ -8499,7 +8642,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8499
8642
|
const isMobileValid = mobile.replace(/\D/g, "").length >= 10;
|
|
8500
8643
|
const isEmailValid = EMAIL_REGEX.test(email.trim());
|
|
8501
8644
|
const isContactValid = verifyMethod === "email" ? isEmailValid : isMobileValid;
|
|
8502
|
-
const areAllRequiredElementsChecked =
|
|
8645
|
+
const areAllRequiredElementsChecked = useMemo4(() => {
|
|
8503
8646
|
if (!content) return false;
|
|
8504
8647
|
return content.purposes.every((purpose) => {
|
|
8505
8648
|
const requiredElements = purpose.data_elements.filter(
|
|
@@ -8510,7 +8653,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8510
8653
|
);
|
|
8511
8654
|
});
|
|
8512
8655
|
}, [content, selectedDataElements]);
|
|
8513
|
-
const normalizedDefaultLang =
|
|
8656
|
+
const normalizedDefaultLang = useMemo4(() => {
|
|
8514
8657
|
const dl = content == null ? void 0 : content.default_language;
|
|
8515
8658
|
if (!dl) return "English";
|
|
8516
8659
|
return dl === "en" || dl === "EN" ? "English" : dl;
|
|
@@ -8519,7 +8662,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8519
8662
|
(lang) => lang === "English" || lang === "en" || lang === "EN",
|
|
8520
8663
|
[]
|
|
8521
8664
|
);
|
|
8522
|
-
const ts =
|
|
8665
|
+
const ts = useMemo4(
|
|
8523
8666
|
() => makeStaticT(toBcp47Code(selectedLanguage)),
|
|
8524
8667
|
[selectedLanguage]
|
|
8525
8668
|
);
|
|
@@ -8565,7 +8708,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8565
8708
|
},
|
|
8566
8709
|
[content, selectedLanguage, isDefaultLanguage]
|
|
8567
8710
|
);
|
|
8568
|
-
const availableLanguages =
|
|
8711
|
+
const availableLanguages = useMemo4(() => {
|
|
8569
8712
|
if (!content) return [selectedLanguage];
|
|
8570
8713
|
const pinned = ["English"];
|
|
8571
8714
|
if (normalizedDefaultLang && normalizedDefaultLang !== "English") {
|
|
@@ -8582,10 +8725,10 @@ var RedactoNoticeAssisted = ({
|
|
|
8582
8725
|
"--ra-accent": primaryColor,
|
|
8583
8726
|
"--ra-accent-soft": accentSoft
|
|
8584
8727
|
};
|
|
8585
|
-
const fontFamily = (content == null ? void 0 : content.font_preference)
|
|
8728
|
+
const fontFamily = useNoticeFont({ noticeFont: content == null ? void 0 : content.font_preference });
|
|
8586
8729
|
const logoUrl = (content == null ? void 0 : content.logo_url) || redacto_logo_default2;
|
|
8587
8730
|
const linkStyle = { ...styles3.link, color: secondaryColor };
|
|
8588
|
-
const responsive =
|
|
8731
|
+
const responsive = useMemo4(
|
|
8589
8732
|
() => ({
|
|
8590
8733
|
modal: { width: isMobile ? "90%" : "700px" },
|
|
8591
8734
|
title: { fontSize: isMobile ? "16px" : "18px" },
|
|
@@ -8676,7 +8819,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8676
8819
|
setSelectedLanguage(lang);
|
|
8677
8820
|
setIsLanguageDropdownOpen(false);
|
|
8678
8821
|
}, []);
|
|
8679
|
-
const audioSequence =
|
|
8822
|
+
const audioSequence = useMemo4(() => {
|
|
8680
8823
|
if (!ttsAudioUrls || !content) return [];
|
|
8681
8824
|
const sequence = [];
|
|
8682
8825
|
if (ttsAudioUrls.notice_banner_heading_audio_url) {
|
|
@@ -8737,7 +8880,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8737
8880
|
}
|
|
8738
8881
|
return sequence;
|
|
8739
8882
|
}, [ttsAudioUrls, content]);
|
|
8740
|
-
const elementIdSequence =
|
|
8883
|
+
const elementIdSequence = useMemo4(() => {
|
|
8741
8884
|
if (!ttsAudioUrls || !content) return [];
|
|
8742
8885
|
const elementIds = [];
|
|
8743
8886
|
if (ttsAudioUrls.notice_banner_heading_audio_url) {
|
|
@@ -8866,7 +9009,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8866
9009
|
playAudio();
|
|
8867
9010
|
}
|
|
8868
9011
|
}, [isPlaying, playAudio, pauseAudio]);
|
|
8869
|
-
|
|
9012
|
+
useEffect6(() => {
|
|
8870
9013
|
setIsTTSAvailable(false);
|
|
8871
9014
|
setTtsAudioUrls(null);
|
|
8872
9015
|
stopAudio();
|
|
@@ -8897,7 +9040,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8897
9040
|
baseUrl,
|
|
8898
9041
|
stopAudio
|
|
8899
9042
|
]);
|
|
8900
|
-
|
|
9043
|
+
useEffect6(() => {
|
|
8901
9044
|
var _a;
|
|
8902
9045
|
if (!isPlaying || !content || audioSequence.length === 0) return;
|
|
8903
9046
|
const currentIndex = currentAudioIndex;
|
|
@@ -8916,7 +9059,7 @@ var RedactoNoticeAssisted = ({
|
|
|
8916
9059
|
audioOffset += totalPurposeAudioCount;
|
|
8917
9060
|
}
|
|
8918
9061
|
}, [isPlaying, currentAudioIndex, audioSequence, content, collapsedPurposes]);
|
|
8919
|
-
|
|
9062
|
+
useEffect6(() => {
|
|
8920
9063
|
const removeAllHighlights = () => {
|
|
8921
9064
|
document.querySelectorAll(".redacto-tts-highlight").forEach((el) => {
|
|
8922
9065
|
el.classList.remove("redacto-tts-highlight");
|
|
@@ -9805,6 +9948,7 @@ var RedactoNoticeAssisted = ({
|
|
|
9805
9948
|
return /* @__PURE__ */ jsx3("div", { style: styles3.overlay, children: /* @__PURE__ */ jsx3(
|
|
9806
9949
|
"div",
|
|
9807
9950
|
{
|
|
9951
|
+
...NOTICE_FONT_ROOT_PROPS,
|
|
9808
9952
|
style: {
|
|
9809
9953
|
...styles3.modal,
|
|
9810
9954
|
...responsive.modal,
|
|
@@ -9939,7 +10083,7 @@ var MailIcon = ({
|
|
|
9939
10083
|
);
|
|
9940
10084
|
|
|
9941
10085
|
// src/RedactoNoticeConsent/components/DigiLockerCallback.tsx
|
|
9942
|
-
import { useCallback as useCallback4, useEffect as
|
|
10086
|
+
import { useCallback as useCallback4, useEffect as useEffect7, useRef as useRef4, useState as useState6 } from "react";
|
|
9943
10087
|
import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
9944
10088
|
var DigiLockerCallback = ({
|
|
9945
10089
|
accessToken: propAccessToken,
|
|
@@ -10197,7 +10341,7 @@ var DigiLockerCallback = ({
|
|
|
10197
10341
|
}
|
|
10198
10342
|
}
|
|
10199
10343
|
}, [propAccessToken, baseUrl, onSuccess, onError, redirectToOriginalPage]);
|
|
10200
|
-
|
|
10344
|
+
useEffect7(() => {
|
|
10201
10345
|
injectCheckboxStyles();
|
|
10202
10346
|
handleCallback();
|
|
10203
10347
|
return () => {
|
|
@@ -10415,5 +10559,6 @@ export {
|
|
|
10415
10559
|
DigiLockerCallback,
|
|
10416
10560
|
RedactoNoticeAssisted,
|
|
10417
10561
|
RedactoNoticeConsent,
|
|
10418
|
-
RedactoConsentInline as RedactoNoticeConsentInline
|
|
10562
|
+
RedactoConsentInline as RedactoNoticeConsentInline,
|
|
10563
|
+
configureNoticeFonts
|
|
10419
10564
|
};
|