@redacto.io/consent-sdk-react 10.0.0-beta.9 → 10.1.0-beta.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.
Files changed (264) hide show
  1. package/NOTICE.md +17 -0
  2. package/README.md +141 -3
  3. package/dist/chunk-FT5G2PXK.mjs +193 -0
  4. package/dist/fonts.d.mts +35 -0
  5. package/dist/fonts.d.ts +35 -0
  6. package/dist/fonts.js +183 -0
  7. package/dist/fonts.mjs +10 -0
  8. package/dist/index.d.mts +18 -1
  9. package/dist/index.d.ts +18 -1
  10. package/dist/index.js +1864 -1158
  11. package/dist/index.mjs +1444 -957
  12. package/dist/montserrat.generated-NBTECYRW.mjs +22 -0
  13. package/dist/privacy-center.d.mts +0 -1
  14. package/dist/privacy-center.d.ts +0 -1
  15. package/dist/privacy-center.js +2 -66
  16. package/dist/privacy-center.mjs +2 -66
  17. package/dist/types-xaCyZUfo.d.mts +53 -0
  18. package/dist/types-xaCyZUfo.d.ts +53 -0
  19. package/package.json +10 -1
  20. package/.turbo/turbo-build.log +0 -22
  21. package/.turbo/turbo-test.log +0 -203
  22. package/.turbo/turbo-verify-pack.log +0 -6
  23. package/CHANGELOG.md +0 -353
  24. package/src/RedactoNoticeAssisted/RedactoNoticeAssisted.test.tsx +0 -934
  25. package/src/RedactoNoticeAssisted/RedactoNoticeAssisted.tsx +0 -2160
  26. package/src/RedactoNoticeAssisted/api/index.ts +0 -275
  27. package/src/RedactoNoticeAssisted/api/types.ts +0 -182
  28. package/src/RedactoNoticeAssisted/assets/redacto-logo.png +0 -0
  29. package/src/RedactoNoticeAssisted/constants.ts +0 -51
  30. package/src/RedactoNoticeAssisted/i18n.ts +0 -1408
  31. package/src/RedactoNoticeAssisted/index.ts +0 -1
  32. package/src/RedactoNoticeAssisted/injectStyles.ts +0 -251
  33. package/src/RedactoNoticeAssisted/styles.ts +0 -730
  34. package/src/RedactoNoticeAssisted/types.ts +0 -26
  35. package/src/RedactoNoticeAssisted/useMediaQuery.ts +0 -36
  36. package/src/RedactoNoticeConsent/RedactoNoticeConsent.test.tsx +0 -1152
  37. package/src/RedactoNoticeConsent/RedactoNoticeConsent.tsx +0 -4308
  38. package/src/RedactoNoticeConsent/api/index.ts +0 -542
  39. package/src/RedactoNoticeConsent/api/sandbox.ts +0 -150
  40. package/src/RedactoNoticeConsent/api/types.ts +0 -515
  41. package/src/RedactoNoticeConsent/assets/redacto-logo.png +0 -0
  42. package/src/RedactoNoticeConsent/components/DigiLockerCallback.tsx +0 -602
  43. package/src/RedactoNoticeConsent/components/index.ts +0 -7
  44. package/src/RedactoNoticeConsent/constants.ts +0 -20
  45. package/src/RedactoNoticeConsent/index.ts +0 -1
  46. package/src/RedactoNoticeConsent/injectStyles.ts +0 -151
  47. package/src/RedactoNoticeConsent/language-codes.ts +0 -95
  48. package/src/RedactoNoticeConsent/services/storage.ts +0 -122
  49. package/src/RedactoNoticeConsent/styles.ts +0 -409
  50. package/src/RedactoNoticeConsent/types.ts +0 -80
  51. package/src/RedactoNoticeConsent/useMediaQuery.ts +0 -36
  52. package/src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.test.tsx +0 -369
  53. package/src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.tsx +0 -687
  54. package/src/RedactoNoticeConsentInline/api/index.ts +0 -106
  55. package/src/RedactoNoticeConsentInline/api/types.ts +0 -183
  56. package/src/RedactoNoticeConsentInline/assets/redacto-logo.png +0 -0
  57. package/src/RedactoNoticeConsentInline/index.ts +0 -1
  58. package/src/RedactoNoticeConsentInline/injectStyles.ts +0 -40
  59. package/src/RedactoNoticeConsentInline/styles.ts +0 -397
  60. package/src/RedactoNoticeConsentInline/types.ts +0 -51
  61. package/src/RedactoNoticeConsentInline/useMediaQuery.ts +0 -36
  62. package/src/RedactoPrivacyCenter/NotificationsPage.tsx +0 -182
  63. package/src/RedactoPrivacyCenter/PrivacyCenterActivityPage.tsx +0 -19
  64. package/src/RedactoPrivacyCenter/PrivacyCenterCaseDetailsPage.tsx +0 -156
  65. package/src/RedactoPrivacyCenter/PrivacyCenterConsentManagerPage.tsx +0 -17
  66. package/src/RedactoPrivacyCenter/PrivacyCenterFormPage.tsx +0 -79
  67. package/src/RedactoPrivacyCenter/PrivacyCenterHomePage.tsx +0 -36
  68. package/src/RedactoPrivacyCenter/PrivacyCenterLayout.tsx +0 -177
  69. package/src/RedactoPrivacyCenter/PrivacyCenterMyReceiptPage.tsx +0 -26
  70. package/src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx +0 -93
  71. package/src/RedactoPrivacyCenter/api/actions.ts +0 -695
  72. package/src/RedactoPrivacyCenter/api/client.ts +0 -1003
  73. package/src/RedactoPrivacyCenter/api/config.ts +0 -33
  74. package/src/RedactoPrivacyCenter/api/fetcher.ts +0 -275
  75. package/src/RedactoPrivacyCenter/api/orgBranding.ts +0 -16
  76. package/src/RedactoPrivacyCenter/api/upload.ts +0 -93
  77. package/src/RedactoPrivacyCenter/assets/character.svg +0 -31
  78. package/src/RedactoPrivacyCenter/assets/fileAttach.svg +0 -9
  79. package/src/RedactoPrivacyCenter/assets/greenTick.svg +0 -4
  80. package/src/RedactoPrivacyCenter/assets/mail.svg +0 -3
  81. package/src/RedactoPrivacyCenter/assets/poweredByRedacto.svg +0 -9
  82. package/src/RedactoPrivacyCenter/assets/sentImg.svg +0 -9
  83. package/src/RedactoPrivacyCenter/assets/uploadFileIcon.svg +0 -9
  84. package/src/RedactoPrivacyCenter/components/ActivitiesList.tsx +0 -252
  85. package/src/RedactoPrivacyCenter/components/ActivityTimeline.tsx +0 -239
  86. package/src/RedactoPrivacyCenter/components/AppShell/AppShell.tsx +0 -268
  87. package/src/RedactoPrivacyCenter/components/AppShell/MobileNavDrawer.tsx +0 -218
  88. package/src/RedactoPrivacyCenter/components/AppShell/NavItem.tsx +0 -205
  89. package/src/RedactoPrivacyCenter/components/AppShell/PageHeader.tsx +0 -107
  90. package/src/RedactoPrivacyCenter/components/AppShell/SidebarNav.tsx +0 -100
  91. package/src/RedactoPrivacyCenter/components/AppShell/TopAppBar.tsx +0 -339
  92. package/src/RedactoPrivacyCenter/components/AppShell/UserMenu.tsx +0 -245
  93. package/src/RedactoPrivacyCenter/components/AppShell/hooks/useIsTruncated.ts +0 -28
  94. package/src/RedactoPrivacyCenter/components/AppShell/hooks/useKeyboardShortcut.ts +0 -40
  95. package/src/RedactoPrivacyCenter/components/AppShell/hooks/useSidebarState.ts +0 -62
  96. package/src/RedactoPrivacyCenter/components/AppShell/usePrivacyCenterExitAction.ts +0 -36
  97. package/src/RedactoPrivacyCenter/components/CaseDetails/AttachmentCard.tsx +0 -38
  98. package/src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx +0 -31
  99. package/src/RedactoPrivacyCenter/components/CaseDetails/DocumentRequestCard.tsx +0 -79
  100. package/src/RedactoPrivacyCenter/components/CaseDetails/FinalizedTooltipWrapper.tsx +0 -25
  101. package/src/RedactoPrivacyCenter/components/CaseDetails/MessageComposer.tsx +0 -96
  102. package/src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx +0 -97
  103. package/src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx +0 -156
  104. package/src/RedactoPrivacyCenter/components/CaseDetails/RequestDetailsTab.tsx +0 -171
  105. package/src/RedactoPrivacyCenter/components/CaseDetails/StatusEvent.tsx +0 -23
  106. package/src/RedactoPrivacyCenter/components/CaseDetails/useFileUpload.ts +0 -116
  107. package/src/RedactoPrivacyCenter/components/CaseDetails/useMessagePolling.ts +0 -43
  108. package/src/RedactoPrivacyCenter/components/CaseDetails/utils.ts +0 -71
  109. package/src/RedactoPrivacyCenter/components/CaseDetailsModal.tsx +0 -469
  110. package/src/RedactoPrivacyCenter/components/CaseHistory.tsx +0 -426
  111. package/src/RedactoPrivacyCenter/components/ConsentManager.tsx +0 -1206
  112. package/src/RedactoPrivacyCenter/components/ConsentManagerCells.tsx +0 -218
  113. package/src/RedactoPrivacyCenter/components/ConsentManagerColumns.tsx +0 -138
  114. package/src/RedactoPrivacyCenter/components/ConsentManagerConstants.ts +0 -7
  115. package/src/RedactoPrivacyCenter/components/ConsentManagerExpandedRow.tsx +0 -179
  116. package/src/RedactoPrivacyCenter/components/ConsentManagerGroupedColumns.tsx +0 -318
  117. package/src/RedactoPrivacyCenter/components/ConsentManagerProductCards.tsx +0 -333
  118. package/src/RedactoPrivacyCenter/components/ConsentManagerPurposeCards.tsx +0 -102
  119. package/src/RedactoPrivacyCenter/components/ConsentManagerTableSkeleton.tsx +0 -159
  120. package/src/RedactoPrivacyCenter/components/DataRequest/CorrectionDataSection.tsx +0 -189
  121. package/src/RedactoPrivacyCenter/components/DataRequest/GrievanceDataSection.tsx +0 -118
  122. package/src/RedactoPrivacyCenter/components/DataRequest/NominationDataSection.tsx +0 -66
  123. package/src/RedactoPrivacyCenter/components/DataRequest/ProductSelectionSection.tsx +0 -222
  124. package/src/RedactoPrivacyCenter/components/DataRequest/PurposeSelectionSection.tsx +0 -331
  125. package/src/RedactoPrivacyCenter/components/Form.tsx +0 -1821
  126. package/src/RedactoPrivacyCenter/components/GrievanceTable.tsx +0 -174
  127. package/src/RedactoPrivacyCenter/components/GrievanceTablePagination.tsx +0 -337
  128. package/src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx +0 -334
  129. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationBell.tsx +0 -173
  130. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationCTAButton.tsx +0 -18
  131. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationDropdown.tsx +0 -54
  132. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationDropdownItem.tsx +0 -57
  133. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationIcon.tsx +0 -19
  134. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationListPanel.tsx +0 -92
  135. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationRefreshButton.tsx +0 -20
  136. package/src/RedactoPrivacyCenter/components/NotificationHub/NotificationRow.tsx +0 -58
  137. package/src/RedactoPrivacyCenter/components/NotificationHub/StatCard.tsx +0 -10
  138. package/src/RedactoPrivacyCenter/components/NotificationHub/useNotificationActions.ts +0 -112
  139. package/src/RedactoPrivacyCenter/components/NotificationHub/utils.ts +0 -27
  140. package/src/RedactoPrivacyCenter/components/Pagination.tsx +0 -140
  141. package/src/RedactoPrivacyCenter/components/PrivacyCenterEmptyState.tsx +0 -76
  142. package/src/RedactoPrivacyCenter/components/PrivacyCenterSessionExpired.tsx +0 -97
  143. package/src/RedactoPrivacyCenter/components/ReceiptsList.tsx +0 -454
  144. package/src/RedactoPrivacyCenter/components/RequestSubmit.tsx +0 -270
  145. package/src/RedactoPrivacyCenter/components/SelectUser.tsx +0 -95
  146. package/src/RedactoPrivacyCenter/components/SelectUserGate.tsx +0 -195
  147. package/src/RedactoPrivacyCenter/components/SideMenuBarPC/constants.tsx +0 -25
  148. package/src/RedactoPrivacyCenter/components/SideMenuBarPC/types.ts +0 -21
  149. package/src/RedactoPrivacyCenter/components/caseHistoryColumns.tsx +0 -159
  150. package/src/RedactoPrivacyCenter/components/constant.ts +0 -52
  151. package/src/RedactoPrivacyCenter/components/groupHelpers.ts +0 -155
  152. package/src/RedactoPrivacyCenter/components/receiptColumns.tsx +0 -203
  153. package/src/RedactoPrivacyCenter/components/types.ts +0 -123
  154. package/src/RedactoPrivacyCenter/components/utils.tsx +0 -10
  155. package/src/RedactoPrivacyCenter/config/routes.ts +0 -9
  156. package/src/RedactoPrivacyCenter/config/table.ts +0 -25
  157. package/src/RedactoPrivacyCenter/context/AuthContext.tsx +0 -252
  158. package/src/RedactoPrivacyCenter/context/BaseUrlContext.tsx +0 -47
  159. package/src/RedactoPrivacyCenter/context/BrandingContext.tsx +0 -52
  160. package/src/RedactoPrivacyCenter/context/DataAvailabilityContext.session-expired.test.tsx +0 -92
  161. package/src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx +0 -181
  162. package/src/RedactoPrivacyCenter/context/LocaleContext.tsx +0 -11
  163. package/src/RedactoPrivacyCenter/context/NavigationContext.tsx +0 -96
  164. package/src/RedactoPrivacyCenter/context/OrganizationContext.tsx +0 -30
  165. package/src/RedactoPrivacyCenter/context/PageChromeContext.tsx +0 -80
  166. package/src/RedactoPrivacyCenter/context/ProfileSwitchContext.tsx +0 -15
  167. package/src/RedactoPrivacyCenter/context/types.ts +0 -57
  168. package/src/RedactoPrivacyCenter/lib/api.ts +0 -759
  169. package/src/RedactoPrivacyCenter/lib/consent-manager/utils.tsx +0 -67
  170. package/src/RedactoPrivacyCenter/lib/constants.ts +0 -283
  171. package/src/RedactoPrivacyCenter/lib/i18n.ts +0 -81
  172. package/src/RedactoPrivacyCenter/lib/locales.ts +0 -102
  173. package/src/RedactoPrivacyCenter/lib/queries.ts +0 -141
  174. package/src/RedactoPrivacyCenter/lib/sandbox.ts +0 -104
  175. package/src/RedactoPrivacyCenter/lib/types.ts +0 -896
  176. package/src/RedactoPrivacyCenter/lib/useCurrentLanguage.ts +0 -37
  177. package/src/RedactoPrivacyCenter/lib/utils.refresh-circuit.test.ts +0 -127
  178. package/src/RedactoPrivacyCenter/lib/utils.refresh-storage.test.ts +0 -85
  179. package/src/RedactoPrivacyCenter/lib/utils.session-expired.test.ts +0 -109
  180. package/src/RedactoPrivacyCenter/lib/utils.ts +0 -798
  181. package/src/RedactoPrivacyCenter/locales/as/translation.json +0 -342
  182. package/src/RedactoPrivacyCenter/locales/bn/translation.json +0 -342
  183. package/src/RedactoPrivacyCenter/locales/brx/translation.json +0 -342
  184. package/src/RedactoPrivacyCenter/locales/doi/translation.json +0 -342
  185. package/src/RedactoPrivacyCenter/locales/en/translation.json +0 -357
  186. package/src/RedactoPrivacyCenter/locales/gom/translation.json +0 -342
  187. package/src/RedactoPrivacyCenter/locales/gu/translation.json +0 -342
  188. package/src/RedactoPrivacyCenter/locales/hi/translation.json +0 -345
  189. package/src/RedactoPrivacyCenter/locales/kn/translation.json +0 -342
  190. package/src/RedactoPrivacyCenter/locales/ks/translation.json +0 -342
  191. package/src/RedactoPrivacyCenter/locales/mai/translation.json +0 -342
  192. package/src/RedactoPrivacyCenter/locales/ml/translation.json +0 -342
  193. package/src/RedactoPrivacyCenter/locales/mni-Mtei/translation.json +0 -342
  194. package/src/RedactoPrivacyCenter/locales/mr/translation.json +0 -342
  195. package/src/RedactoPrivacyCenter/locales/ne/translation.json +0 -342
  196. package/src/RedactoPrivacyCenter/locales/or/translation.json +0 -342
  197. package/src/RedactoPrivacyCenter/locales/pa/translation.json +0 -342
  198. package/src/RedactoPrivacyCenter/locales/sa/translation.json +0 -342
  199. package/src/RedactoPrivacyCenter/locales/sat/translation.json +0 -342
  200. package/src/RedactoPrivacyCenter/locales/sd/translation.json +0 -342
  201. package/src/RedactoPrivacyCenter/locales/ta/translation.json +0 -342
  202. package/src/RedactoPrivacyCenter/locales/te/translation.json +0 -342
  203. package/src/RedactoPrivacyCenter/locales/ur/translation.json +0 -342
  204. package/src/RedactoPrivacyCenter/styles/applyBrandingTheme.ts +0 -66
  205. package/src/RedactoPrivacyCenter/styles/base.css +0 -117
  206. package/src/RedactoPrivacyCenter/styles/injectStyles.ts +0 -3108
  207. package/src/RedactoPrivacyCenter/styles/pcStyles.ts +0 -831
  208. package/src/RedactoPrivacyCenter/styles/responsive.ts +0 -138
  209. package/src/RedactoPrivacyCenter/styles/variables.css +0 -96
  210. package/src/RedactoPrivacyCenter/table/AdvancedTable.tsx +0 -387
  211. package/src/RedactoPrivacyCenter/table/AdvancedTablePagination.tsx +0 -468
  212. package/src/RedactoPrivacyCenter/table/index.ts +0 -2
  213. package/src/RedactoPrivacyCenter/types/images.d.ts +0 -29
  214. package/src/RedactoPrivacyCenter/ui/Footer.tsx +0 -69
  215. package/src/RedactoPrivacyCenter/ui/FormBlockWrapper.tsx +0 -54
  216. package/src/RedactoPrivacyCenter/ui/PCAccordion.tsx +0 -93
  217. package/src/RedactoPrivacyCenter/ui/PCActionIcon.tsx +0 -47
  218. package/src/RedactoPrivacyCenter/ui/PCAvatar.test.tsx +0 -83
  219. package/src/RedactoPrivacyCenter/ui/PCAvatar.tsx +0 -93
  220. package/src/RedactoPrivacyCenter/ui/PCBadge.tsx +0 -48
  221. package/src/RedactoPrivacyCenter/ui/PCButton.tsx +0 -77
  222. package/src/RedactoPrivacyCenter/ui/PCCheckbox.tsx +0 -55
  223. package/src/RedactoPrivacyCenter/ui/PCCollapse.tsx +0 -107
  224. package/src/RedactoPrivacyCenter/ui/PCEmpty.tsx +0 -35
  225. package/src/RedactoPrivacyCenter/ui/PCInput.tsx +0 -132
  226. package/src/RedactoPrivacyCenter/ui/PCLoader.tsx +0 -31
  227. package/src/RedactoPrivacyCenter/ui/PCModal.tsx +0 -106
  228. package/src/RedactoPrivacyCenter/ui/PCPopover.tsx +0 -206
  229. package/src/RedactoPrivacyCenter/ui/PCSelect.tsx +0 -433
  230. package/src/RedactoPrivacyCenter/ui/PCTable.tsx +0 -149
  231. package/src/RedactoPrivacyCenter/ui/PCText.tsx +0 -41
  232. package/src/RedactoPrivacyCenter/ui/PCTextarea.tsx +0 -43
  233. package/src/RedactoPrivacyCenter/ui/PCTitle.tsx +0 -37
  234. package/src/RedactoPrivacyCenter/ui/PCTooltip.tsx +0 -121
  235. package/src/RedactoPrivacyCenter/ui/SimpleBar.tsx +0 -25
  236. package/src/RedactoPrivacyCenter/ui/StatusBadge.tsx +0 -53
  237. package/src/RedactoPrivacyCenter/ui/index.ts +0 -18
  238. package/src/RedactoPrivacyCenter/utils/cn.ts +0 -28
  239. package/src/RedactoPrivacyCenter/utils/date.ts +0 -48
  240. package/src/RedactoPrivacyCenter/utils/status.ts +0 -111
  241. package/src/RedactoPrivacyCenter/utils/toast.ts +0 -130
  242. package/src/index.ts +0 -19
  243. package/src/privacy-center.ts +0 -113
  244. package/src/shared/api-errors.ts +0 -180
  245. package/src/shared/notice-consent-status.ts +0 -190
  246. package/src/shared/sandbox.ts +0 -6
  247. package/src/types/css.d.ts +0 -4
  248. package/src/types/images.d.ts +0 -19
  249. package/src/types/react-jsx.d.ts +0 -26
  250. package/tests/DataAvailabilityContext.test.tsx +0 -123
  251. package/tests/Form.test.tsx +0 -1424
  252. package/tests/ManageConsentErrorMapping.test.tsx +0 -85
  253. package/tests/ProductSelectionSection.test.tsx +0 -328
  254. package/tests/RequestSubmit.test.tsx +0 -135
  255. package/tests/RevocablePurpose.test.tsx +0 -146
  256. package/tests/RevokeWarningMessage.test.tsx +0 -151
  257. package/tests/consentClient.test.ts +0 -217
  258. package/tests/manageConsentServer.test.ts +0 -38
  259. package/tests/mocks.ts +0 -257
  260. package/tests/resolveContactFromJwt.test.ts +0 -44
  261. package/tests/setup.ts +0 -16
  262. package/tsconfig.json +0 -16
  263. package/tsup.config.ts +0 -31
  264. package/vitest.config.ts +0 -16
package/dist/index.mjs CHANGED
@@ -2,9 +2,22 @@ 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
+ REQUIRED_MARKER_ARIA_LABEL,
13
+ REQUIRED_MARKER_GLYPH,
14
+ REQUIRED_MARKER_STYLE,
15
+ injectNoticeFontStyles,
16
+ resolveNoticeFontFamily
17
+ } from "./chunk-FT5G2PXK.mjs";
5
18
 
6
19
  // src/RedactoNoticeConsent/RedactoNoticeConsent.tsx
7
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
20
+ import { useCallback, useEffect as useEffect2, useMemo as useMemo2, useRef, useState } from "react";
8
21
 
9
22
  // src/RedactoNoticeConsent/api/index.ts
10
23
  import { jwtDecode as jwtDecode2 } from "jwt-decode";
@@ -360,48 +373,10 @@ var submitConsentEvent = async ({
360
373
  }
361
374
  apiCache.clear();
362
375
  };
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
376
  var fetchTTSAudioUrls = async ({
403
377
  accessToken,
404
378
  baseUrl,
379
+ ledgerBaseUrl,
405
380
  noticeUuid,
406
381
  language,
407
382
  signal,
@@ -411,7 +386,7 @@ var fetchTTSAudioUrls = async ({
411
386
  throw new Error("accessToken (or token), noticeUuid, and language are required");
412
387
  }
413
388
  const { organisationUuid: ORGANISATION_UUID, workspaceUuid: WORKSPACE_UUID, sandbox } = resolveRequestAuth(accessToken, sandboxParams, decodeTokenSafely);
414
- const apiBaseUrl = baseUrl || BASE_URL;
389
+ const apiBaseUrl = (sandbox ? null : ledgerBaseUrl) || baseUrl || BASE_URL;
415
390
  const url = new URL(
416
391
  `${apiBaseUrl}/public/organisations/${ORGANISATION_UUID}/workspaces/${WORKSPACE_UUID}/notices/${noticeUuid}/audio/${language}`
417
392
  );
@@ -585,238 +560,41 @@ var verifyGuardianStatus = async ({
585
560
  var redacto_logo_default = "data:image/png;base64,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";
586
561
 
587
562
  // src/RedactoNoticeConsent/constants.ts
563
+ var DEFAULT_LOGO_POSITION = "left";
564
+ var DEFAULT_PURPOSE_PRESELECTION = "NONE";
565
+ var PURPOSE_STATUS_INACTIVE = "INACTIVE";
566
+ var DEFAULT_ACCEPT_ALL_BUTTON_TEXT = "Accept All";
567
+ var DEFAULT_ACCEPT_SELECTED_BUTTON_TEXT = "Accept Selected";
568
+ var DEFAULT_DECLINE_BUTTON_TEXT = "Decline";
569
+ var ACCEPT_ALL_BUTTON_ID = "accept-all-button-text";
570
+ var ACCEPT_SELECTED_BUTTON_ID = "confirm-button-text";
571
+ var DECLINE_BUTTON_ID = "decline-button-text";
572
+ var SUBMITTING_BUTTON_TEXT = "Processing...";
573
+ var LOGO_POSITION_JUSTIFY = {
574
+ left: "flex-start",
575
+ center: "center",
576
+ right: "flex-end"
577
+ };
588
578
  var DPO_AUDIO_ELEMENT_MAP = [
589
579
  { audioKey: "grievance_text_audio_url", elementId: "dpo-grievance-text" },
590
- { audioKey: "grievance_anchor_text_audio_url", elementId: "dpo-grievance-link" },
591
- { audioKey: "grievance_email_connector_text_audio_url", elementId: "dpo-grievance-email-connector" },
580
+ {
581
+ audioKey: "grievance_anchor_text_audio_url",
582
+ elementId: "dpo-grievance-link"
583
+ },
584
+ {
585
+ audioKey: "grievance_email_connector_text_audio_url",
586
+ elementId: "dpo-grievance-email-connector"
587
+ },
592
588
  { audioKey: "grievance_email_audio_url", elementId: "dpo-grievance-email" },
593
589
  { audioKey: "dp_board_text_audio_url", elementId: "dpo-dp-board-text" },
594
- { audioKey: "dp_board_anchor_text_audio_url", elementId: "dpo-dp-board-link" },
590
+ {
591
+ audioKey: "dp_board_anchor_text_audio_url",
592
+ elementId: "dpo-dp-board-link"
593
+ },
595
594
  { audioKey: "dpo_text_audio_url", elementId: "dpo-dpo-text" },
596
595
  { audioKey: "dpo_anchor_text_audio_url", elementId: "dpo-dpo-link" }
597
596
  ];
598
597
 
599
- // src/RedactoNoticeConsent/language-codes.ts
600
- var LANGUAGE_NATIVE_LABELS = {
601
- English: "English",
602
- Assamese: "\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE (Assamese)",
603
- Bengali: "\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)",
604
- Bodo: "\u092C\u0921\u093C\u094B (Bodo)",
605
- Dogri: "\u0921\u094B\u0917\u0930\u0940 (Dogri)",
606
- Gujarati: "\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)",
607
- Hindi: "\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)",
608
- Kannada: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)",
609
- Kashmiri: "\u0643\u0672\u0634\u064F\u0631 (Kashmiri)",
610
- "Goan Konkani": "\u0915\u094B\u0902\u0915\u0923\u0940 (Goan Konkani)",
611
- Maithili: "\u092E\u0948\u0925\u093F\u0932\u0940 (Maithili)",
612
- Malayalam: "\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)",
613
- Manipuri: "\uABC3\uABE9\uABC7\uABE9\uABC2\uABE3\uABDF (Manipuri)",
614
- Marathi: "\u092E\u0930\u093E\u0920\u0940 (Marathi)",
615
- Nepali: "\u0928\u0947\u092A\u093E\u0932\u0940 (Nepali)",
616
- Odia: "\u0B13\u0B21\u0B3C\u0B3F\u0B06 (Odia)",
617
- Punjabi: "\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40 (Punjabi)",
618
- Sanskrit: "\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D (Sanskrit)",
619
- Santali: "\u1C65\u1C5F\u1C71\u1C5B\u1C5F\u1C72\u1C64 (Santali)",
620
- Sindhi: "\u0633\u0646\u068C\u064A (Sindhi)",
621
- Tamil: "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)",
622
- Telugu: "\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)",
623
- Urdu: "\u0627\u0631\u062F\u0648 (Urdu)"
624
- };
625
- var toNativeLabel = (name) => {
626
- var _a;
627
- return (_a = LANGUAGE_NATIVE_LABELS[name]) != null ? _a : name;
628
- };
629
- var LANGUAGE_NAME_TO_BCP47 = {
630
- English: "en",
631
- Assamese: "as",
632
- Bengali: "bn",
633
- Bodo: "brx",
634
- Dogri: "doi",
635
- Gujarati: "gu",
636
- Hindi: "hi",
637
- Kannada: "kn",
638
- Kashmiri: "ks",
639
- "Goan Konkani": "gom",
640
- Maithili: "mai",
641
- Malayalam: "ml",
642
- Manipuri: "mni-Mtei",
643
- Marathi: "mr",
644
- Nepali: "ne",
645
- Odia: "or",
646
- Punjabi: "pa",
647
- Sanskrit: "sa",
648
- Santali: "sat",
649
- Sindhi: "sd",
650
- Tamil: "ta",
651
- Telugu: "te",
652
- Urdu: "ur"
653
- };
654
- var KNOWN_BCP47_CODES = new Set(Object.values(LANGUAGE_NAME_TO_BCP47));
655
- var toBcp47Code = (language) => {
656
- if (LANGUAGE_NAME_TO_BCP47[language]) {
657
- return LANGUAGE_NAME_TO_BCP47[language];
658
- }
659
- if (KNOWN_BCP47_CODES.has(language)) {
660
- return language;
661
- }
662
- const lower = language.toLowerCase();
663
- for (const [name, code] of Object.entries(LANGUAGE_NAME_TO_BCP47)) {
664
- if (name.toLowerCase() === lower) {
665
- return code;
666
- }
667
- }
668
- if (/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(language)) {
669
- return language;
670
- }
671
- return "en";
672
- };
673
-
674
- // src/RedactoNoticeConsent/injectStyles.ts
675
- var stylesInjected = false;
676
- var injectCheckboxStyles = () => {
677
- if (stylesInjected || typeof document === "undefined") {
678
- return;
679
- }
680
- const STYLE_ID = "redacto-consent-checkbox-styles";
681
- if (document.getElementById(STYLE_ID)) {
682
- stylesInjected = true;
683
- return;
684
- }
685
- const style = document.createElement("style");
686
- style.id = STYLE_ID;
687
- style.textContent = `
688
- /* Redacto Consent SDK Checkbox Styles */
689
- .redacto-checkbox-large {
690
- appearance: none !important;
691
- -webkit-appearance: none !important;
692
- -moz-appearance: none !important;
693
- height: 20px !important;
694
- width: 20px !important;
695
- border: 2px solid #d0d5dd !important;
696
- border-radius: 5px !important;
697
- background-color: transparent !important;
698
- cursor: pointer !important;
699
- position: relative !important;
700
- box-sizing: border-box !important;
701
- margin: 0 !important;
702
- padding: 4px !important;
703
- }
704
-
705
- .redacto-checkbox-small {
706
- appearance: none !important;
707
- -webkit-appearance: none !important;
708
- -moz-appearance: none !important;
709
- height: 16px !important;
710
- width: 16px !important;
711
- border: 2px solid #d0d5dd !important;
712
- border-radius: 5px !important;
713
- background-color: transparent !important;
714
- cursor: pointer !important;
715
- position: relative !important;
716
- box-sizing: border-box !important;
717
- margin: 0 !important;
718
- padding: 4px !important;
719
- }
720
-
721
- .redacto-checkbox-large:checked {
722
- background-color: #4f87ff !important;
723
- border-color: #4f87ff !important;
724
- }
725
-
726
- .redacto-checkbox-small:checked {
727
- background-color: #4f87ff !important;
728
- border-color: #4f87ff !important;
729
- }
730
-
731
- .redacto-checkbox-large:checked::after {
732
- content: '' !important;
733
- position: absolute !important;
734
- left: 50% !important;
735
- top: 50% !important;
736
- transform: translate(-50%, -50%) rotate(45deg) !important;
737
- width: 4px !important;
738
- height: 8px !important;
739
- border: solid white !important;
740
- border-width: 0 2px 2px 0 !important;
741
- box-sizing: border-box !important;
742
- }
743
-
744
- .redacto-checkbox-small:checked::after {
745
- content: '' !important;
746
- position: absolute !important;
747
- left: 50% !important;
748
- top: 50% !important;
749
- transform: translate(-50%, -50%) rotate(45deg) !important;
750
- width: 3px !important;
751
- height: 6px !important;
752
- border: solid white !important;
753
- border-width: 0 1.5px 1.5px 0 !important;
754
- box-sizing: border-box !important;
755
- }
756
-
757
- .redacto-checkbox-large:focus {
758
- outline: 2px solid #4f87ff !important;
759
- outline-offset: 2px !important;
760
- }
761
-
762
- .redacto-checkbox-small:focus {
763
- outline: 2px solid #4f87ff !important;
764
- outline-offset: 2px !important;
765
- }
766
-
767
- /* TTS Highlight Styles - Visible highlighting without layout shift */
768
- .redacto-tts-highlight {
769
- position: relative !important;
770
- transition: background-color 0.3s ease, outline 0.3s ease !important;
771
- }
772
-
773
- /* Block-level elements - headings */
774
- h2.redacto-tts-highlight,
775
- h3.redacto-tts-highlight {
776
- background-color: #FFF9C4 !important;
777
- border-radius: 3px !important;
778
- padding: 2px 4px !important;
779
- margin: -2px -4px !important;
780
- }
781
-
782
- /* Inline elements - spans, links */
783
- span.redacto-tts-highlight,
784
- a.redacto-tts-highlight {
785
- background-color: #FFF9C4 !important;
786
- border-radius: 3px !important;
787
- padding: 2px 4px !important;
788
- margin: -2px -4px !important;
789
- }
790
-
791
- /* Paragraphs - handle carefully to avoid layout shift */
792
- p.redacto-tts-highlight {
793
- background-color: #FFF9C4 !important;
794
- border-radius: 3px !important;
795
- padding: 2px 4px !important;
796
- margin: -2px -4px !important;
797
- }
798
-
799
- /* Buttons - use outline to keep button styles intact */
800
- button.redacto-tts-highlight {
801
- outline: 3px solid #FFF9C4 !important;
802
- outline-offset: 2px !important;
803
- }
804
-
805
- /* Spinner animation for verification screens */
806
- @keyframes spin {
807
- from { transform: rotate(0deg); }
808
- to { transform: rotate(360deg); }
809
- }
810
-
811
- /* DigiLocker callback retry button hover */
812
- .redacto-dl-retry-btn:hover {
813
- background-color: #2563eb !important;
814
- }
815
- `;
816
- document.head.appendChild(style);
817
- stylesInjected = true;
818
- };
819
-
820
598
  // src/RedactoNoticeConsent/styles.ts
821
599
  var styles = {
822
600
  overlay: {
@@ -888,6 +666,41 @@ var styles = {
888
666
  padding: 0,
889
667
  boxSizing: "border-box"
890
668
  },
669
+ // The main notice header is two stacked rows: the logo alone on row 1,
670
+ // aligned per active_config.logo_position, then the title and the
671
+ // TTS/language controls on row 2. `topSection` and `topLeft` above keep their
672
+ // single-row shape for the age-verification, guardian and verification
673
+ // screens, which have no controls to place and share those styles.
674
+ headerStack: {
675
+ display: "flex",
676
+ flexDirection: "column",
677
+ alignItems: "stretch",
678
+ gap: "10px",
679
+ paddingBottom: "15px",
680
+ borderBottom: "none",
681
+ backgroundColor: "#ffffff",
682
+ margin: 0,
683
+ boxSizing: "border-box",
684
+ textAlign: "left"
685
+ },
686
+ logoRow: {
687
+ display: "flex",
688
+ alignItems: "center",
689
+ width: "100%",
690
+ margin: 0,
691
+ padding: 0,
692
+ boxSizing: "border-box"
693
+ },
694
+ headerRow: {
695
+ display: "flex",
696
+ alignItems: "center",
697
+ justifyContent: "space-between",
698
+ gap: "10px",
699
+ width: "100%",
700
+ margin: 0,
701
+ padding: 0,
702
+ boxSizing: "border-box"
703
+ },
891
704
  logo: {
892
705
  height: "32px",
893
706
  width: "auto",
@@ -931,7 +744,8 @@ var styles = {
931
744
  boxSizing: "border-box",
932
745
  textAlign: "left",
933
746
  cursor: "pointer",
934
- backgroundColor: "#ffffff"
747
+ backgroundColor: "#ffffff",
748
+ fontFamily: "inherit"
935
749
  },
936
750
  middleSection: {
937
751
  margin: "0px",
@@ -1093,6 +907,33 @@ var styles = {
1093
907
  margin: 0,
1094
908
  boxSizing: "border-box"
1095
909
  },
910
+ /**
911
+ * The main notice footer. Wide: one row with decline pushed to the left and
912
+ * the two accepts grouped right (see `declineSpacer`). Narrow: a full-width
913
+ * stack. The guardian-verification and age-gate sub-flows keep using
914
+ * `bottomSection` — they have their own two-button layout.
915
+ */
916
+ actionButtonRow: {
917
+ display: "flex",
918
+ flexDirection: "row",
919
+ alignItems: "center",
920
+ gap: "12px",
921
+ paddingTop: "15px",
922
+ borderTop: "none",
923
+ backgroundColor: "#ffffff",
924
+ margin: 0,
925
+ boxSizing: "border-box"
926
+ },
927
+ actionButtonStack: {
928
+ display: "flex",
929
+ flexDirection: "column",
930
+ gap: "12px",
931
+ paddingTop: "15px",
932
+ borderTop: "none",
933
+ backgroundColor: "#ffffff",
934
+ margin: 0,
935
+ boxSizing: "border-box"
936
+ },
1096
937
  button: {
1097
938
  width: "100%",
1098
939
  borderRadius: "8px",
@@ -1104,13 +945,52 @@ var styles = {
1104
945
  cursor: "pointer",
1105
946
  margin: 0,
1106
947
  boxSizing: "border-box",
1107
- textAlign: "center"
948
+ textAlign: "center",
949
+ fontFamily: "inherit"
1108
950
  },
1109
951
  acceptButton: {
1110
952
  backgroundColor: "#4f87ff",
1111
953
  border: "none",
1112
954
  color: "#ffffff"
1113
955
  },
956
+ /**
957
+ * The accept-all shortcut. Tinted rather than filled so the primary
958
+ * "accept selected" action stays visually dominant, and outlined-but-coloured
959
+ * so it still reads as an accept next to the neutral decline button.
960
+ */
961
+ acceptSecondaryButton: {
962
+ backgroundColor: "#ffffff",
963
+ border: "1px solid #4f87ff",
964
+ color: "#4f87ff"
965
+ },
966
+ /**
967
+ * Three buttons share the footer width, so the single-button horizontal
968
+ * padding would clip long translated labels. Let them wrap instead.
969
+ *
970
+ * `width: auto` undoes `button`'s `width: 100%` — in the wide row each button
971
+ * must size to its own label, or all three stretch equally and the
972
+ * left/right split disappears.
973
+ */
974
+ rowButton: {
975
+ width: "auto",
976
+ padding: "9px 20px",
977
+ whiteSpace: "normal",
978
+ wordBreak: "break-word"
979
+ },
980
+ /** In the narrow stack every button spans the full width. */
981
+ stackButton: {
982
+ width: "100%",
983
+ padding: "9px 20px",
984
+ whiteSpace: "normal",
985
+ wordBreak: "break-word"
986
+ },
987
+ /**
988
+ * Pushes everything after decline to the right edge, which is the whole of
989
+ * the wide layout: `[Decline] <-- gap --> [Accept Selected] [Accept All]`.
990
+ */
991
+ declineSpacer: {
992
+ marginRight: "auto"
993
+ },
1114
994
  cancelButton: {
1115
995
  border: "1px solid #d0d5dd",
1116
996
  backgroundColor: "#ffffff",
@@ -1118,6 +998,9 @@ var styles = {
1118
998
  },
1119
999
  languageSelectorContainer: {
1120
1000
  position: "relative",
1001
+ // Shares `headerRow` with the title, which grows; without this a long
1002
+ // heading squeezes the language button instead of wrapping itself.
1003
+ flexShrink: 0,
1121
1004
  margin: 0,
1122
1005
  padding: 0,
1123
1006
  boxSizing: "border-box"
@@ -1176,6 +1059,495 @@ var styles = {
1176
1059
  }
1177
1060
  };
1178
1061
 
1062
+ // src/RedactoNoticeConsent/components/NoticeFooter.tsx
1063
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1064
+ var DISABLED_OPACITY = 0.5;
1065
+ var NoticeFooter = ({
1066
+ labels,
1067
+ acceptSelectedDisabled,
1068
+ isSubmittingAccept,
1069
+ isSubmittingDecline,
1070
+ isMobile,
1071
+ responsiveButtonStyle,
1072
+ acceptAllButtonStyle,
1073
+ acceptSelectedButtonStyle,
1074
+ declineButtonStyle,
1075
+ lastFocusableRef,
1076
+ onAcceptAll,
1077
+ onAcceptSelected,
1078
+ onDecline
1079
+ }) => {
1080
+ const isSubmitting = isSubmittingAccept || isSubmittingDecline;
1081
+ const baseButtonStyle = {
1082
+ ...styles.button,
1083
+ ...responsiveButtonStyle,
1084
+ ...isMobile ? styles.stackButton : styles.rowButton
1085
+ };
1086
+ const acceptAllButton = /* @__PURE__ */ jsx(
1087
+ "button",
1088
+ {
1089
+ type: "button",
1090
+ id: ACCEPT_ALL_BUTTON_ID,
1091
+ style: {
1092
+ ...baseButtonStyle,
1093
+ ...styles.acceptButton,
1094
+ ...acceptAllButtonStyle,
1095
+ opacity: isSubmitting ? DISABLED_OPACITY : 1
1096
+ },
1097
+ onClick: onAcceptAll,
1098
+ disabled: isSubmitting,
1099
+ "aria-label": labels.acceptAll,
1100
+ children: isSubmittingAccept ? SUBMITTING_BUTTON_TEXT : labels.acceptAll
1101
+ }
1102
+ );
1103
+ const acceptSelectedButton = /* @__PURE__ */ jsx(
1104
+ "button",
1105
+ {
1106
+ type: "button",
1107
+ ref: lastFocusableRef,
1108
+ id: ACCEPT_SELECTED_BUTTON_ID,
1109
+ style: {
1110
+ ...baseButtonStyle,
1111
+ ...styles.acceptSecondaryButton,
1112
+ ...acceptSelectedButtonStyle,
1113
+ opacity: acceptSelectedDisabled ? DISABLED_OPACITY : 1
1114
+ },
1115
+ onClick: onAcceptSelected,
1116
+ disabled: acceptSelectedDisabled || isSubmittingDecline,
1117
+ "aria-label": labels.acceptSelected,
1118
+ children: isSubmittingAccept ? SUBMITTING_BUTTON_TEXT : labels.acceptSelected
1119
+ }
1120
+ );
1121
+ const declineButton = /* @__PURE__ */ jsx(
1122
+ "button",
1123
+ {
1124
+ type: "button",
1125
+ id: DECLINE_BUTTON_ID,
1126
+ style: {
1127
+ ...baseButtonStyle,
1128
+ ...styles.cancelButton,
1129
+ ...declineButtonStyle,
1130
+ // Only the wide row needs the spacer that pushes the accepts right.
1131
+ ...isMobile ? {} : styles.declineSpacer,
1132
+ opacity: isSubmittingAccept ? DISABLED_OPACITY : 1
1133
+ },
1134
+ onClick: onDecline,
1135
+ disabled: isSubmitting,
1136
+ "aria-label": labels.decline,
1137
+ children: isSubmittingDecline ? SUBMITTING_BUTTON_TEXT : labels.decline
1138
+ }
1139
+ );
1140
+ if (isMobile) {
1141
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1142
+ acceptAllButton,
1143
+ acceptSelectedButton,
1144
+ declineButton
1145
+ ] });
1146
+ }
1147
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1148
+ declineButton,
1149
+ acceptSelectedButton,
1150
+ acceptAllButton
1151
+ ] });
1152
+ };
1153
+
1154
+ // src/RedactoNoticeConsent/utils/consentSelection.ts
1155
+ var dataElementKey = (purposeUuid, elementUuid) => `${purposeUuid}-${elementUuid}`;
1156
+ var buildSelectionForMode = (purposes, mode, current) => {
1157
+ if (mode === "selected") {
1158
+ return current;
1159
+ }
1160
+ const selectedPurposes = {};
1161
+ const selectedDataElements = {};
1162
+ purposes.forEach((purpose) => {
1163
+ selectedPurposes[purpose.uuid] = true;
1164
+ purpose.data_elements.forEach((element) => {
1165
+ selectedDataElements[dataElementKey(purpose.uuid, element.uuid)] = element.enabled;
1166
+ });
1167
+ });
1168
+ return { selectedPurposes, selectedDataElements };
1169
+ };
1170
+ var resolvePurposePreselection = (raw) => raw === "MANDATORY" || raw === "ALL" ? raw : DEFAULT_PURPOSE_PRESELECTION;
1171
+ var hasRecordedPurposeState = (selection) => {
1172
+ var _a;
1173
+ if (!selection) {
1174
+ return false;
1175
+ }
1176
+ if (selection.status && selection.status !== PURPOSE_STATUS_INACTIVE) {
1177
+ return true;
1178
+ }
1179
+ return Object.keys((_a = selection.data_elements) != null ? _a : {}).length > 0;
1180
+ };
1181
+ var buildPreselection = (purposes, mode) => {
1182
+ const selectedPurposes = {};
1183
+ const selectedDataElements = {};
1184
+ if (mode === "ALL") {
1185
+ return buildSelectionForMode(purposes, "all", {
1186
+ selectedPurposes,
1187
+ selectedDataElements
1188
+ });
1189
+ }
1190
+ purposes.forEach((purpose) => {
1191
+ let hasPreselectedElement = false;
1192
+ purpose.data_elements.forEach((element) => {
1193
+ const isPreselected = mode === "MANDATORY" && element.required && element.enabled;
1194
+ selectedDataElements[dataElementKey(purpose.uuid, element.uuid)] = isPreselected;
1195
+ hasPreselectedElement = hasPreselectedElement || isPreselected;
1196
+ });
1197
+ selectedPurposes[purpose.uuid] = hasPreselectedElement;
1198
+ });
1199
+ return { selectedPurposes, selectedDataElements };
1200
+ };
1201
+ var hasRequiredDataElement = (purpose) => purpose.data_elements.some((element) => element.required);
1202
+
1203
+ // src/RedactoNoticeConsent/layout.ts
1204
+ var resolveLogoPosition = (raw) => raw === "center" || raw === "right" ? raw : DEFAULT_LOGO_POSITION;
1205
+ var logoRowJustify = (position) => LOGO_POSITION_JUSTIFY[position];
1206
+
1207
+ // src/RedactoNoticeConsent/language-codes.ts
1208
+ var LANGUAGE_NATIVE_LABELS = {
1209
+ English: "English",
1210
+ Assamese: "\u0985\u09B8\u09AE\u09C0\u09AF\u09BC\u09BE (Assamese)",
1211
+ Bengali: "\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)",
1212
+ Bodo: "\u092C\u0921\u093C\u094B (Bodo)",
1213
+ Dogri: "\u0921\u094B\u0917\u0930\u0940 (Dogri)",
1214
+ Gujarati: "\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)",
1215
+ Hindi: "\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)",
1216
+ Kannada: "\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)",
1217
+ Kashmiri: "\u0643\u0672\u0634\u064F\u0631 (Kashmiri)",
1218
+ "Goan Konkani": "\u0915\u094B\u0902\u0915\u0923\u0940 (Goan Konkani)",
1219
+ Maithili: "\u092E\u0948\u0925\u093F\u0932\u0940 (Maithili)",
1220
+ Malayalam: "\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)",
1221
+ Manipuri: "\uABC3\uABE9\uABC7\uABE9\uABC2\uABE3\uABDF (Manipuri)",
1222
+ Marathi: "\u092E\u0930\u093E\u0920\u0940 (Marathi)",
1223
+ Nepali: "\u0928\u0947\u092A\u093E\u0932\u0940 (Nepali)",
1224
+ Odia: "\u0B13\u0B21\u0B3C\u0B3F\u0B06 (Odia)",
1225
+ Punjabi: "\u0A2A\u0A70\u0A1C\u0A3E\u0A2C\u0A40 (Punjabi)",
1226
+ Sanskrit: "\u0938\u0902\u0938\u094D\u0915\u0943\u0924\u092E\u094D (Sanskrit)",
1227
+ Santali: "\u1C65\u1C5F\u1C71\u1C5B\u1C5F\u1C72\u1C64 (Santali)",
1228
+ Sindhi: "\u0633\u0646\u068C\u064A (Sindhi)",
1229
+ Tamil: "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)",
1230
+ Telugu: "\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)",
1231
+ Urdu: "\u0627\u0631\u062F\u0648 (Urdu)"
1232
+ };
1233
+ var toNativeLabel = (name) => {
1234
+ var _a;
1235
+ return (_a = LANGUAGE_NATIVE_LABELS[name]) != null ? _a : name;
1236
+ };
1237
+ var LANGUAGE_NAME_TO_BCP47 = {
1238
+ English: "en",
1239
+ Assamese: "as",
1240
+ Bengali: "bn",
1241
+ Bodo: "brx",
1242
+ Dogri: "doi",
1243
+ Gujarati: "gu",
1244
+ Hindi: "hi",
1245
+ Kannada: "kn",
1246
+ Kashmiri: "ks",
1247
+ "Goan Konkani": "gom",
1248
+ Maithili: "mai",
1249
+ Malayalam: "ml",
1250
+ Manipuri: "mni-Mtei",
1251
+ Marathi: "mr",
1252
+ Nepali: "ne",
1253
+ Odia: "or",
1254
+ Punjabi: "pa",
1255
+ Sanskrit: "sa",
1256
+ Santali: "sat",
1257
+ Sindhi: "sd",
1258
+ Tamil: "ta",
1259
+ Telugu: "te",
1260
+ Urdu: "ur"
1261
+ };
1262
+ var KNOWN_BCP47_CODES = new Set(Object.values(LANGUAGE_NAME_TO_BCP47));
1263
+ var toBcp47Code = (language) => {
1264
+ if (LANGUAGE_NAME_TO_BCP47[language]) {
1265
+ return LANGUAGE_NAME_TO_BCP47[language];
1266
+ }
1267
+ if (KNOWN_BCP47_CODES.has(language)) {
1268
+ return language;
1269
+ }
1270
+ const lower = language.toLowerCase();
1271
+ for (const [name, code] of Object.entries(LANGUAGE_NAME_TO_BCP47)) {
1272
+ if (name.toLowerCase() === lower) {
1273
+ return code;
1274
+ }
1275
+ }
1276
+ if (/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/.test(language)) {
1277
+ return language;
1278
+ }
1279
+ return "en";
1280
+ };
1281
+
1282
+ // src/RedactoNoticeConsent/injectStyles.ts
1283
+ var stylesInjected = false;
1284
+ var injectCheckboxStyles = () => {
1285
+ if (stylesInjected || typeof document === "undefined") {
1286
+ return;
1287
+ }
1288
+ const STYLE_ID = "redacto-consent-checkbox-styles";
1289
+ if (document.getElementById(STYLE_ID)) {
1290
+ stylesInjected = true;
1291
+ return;
1292
+ }
1293
+ const style = document.createElement("style");
1294
+ style.id = STYLE_ID;
1295
+ style.textContent = `
1296
+ /* Redacto Consent SDK Checkbox Styles */
1297
+ .redacto-checkbox-large {
1298
+ appearance: none !important;
1299
+ -webkit-appearance: none !important;
1300
+ -moz-appearance: none !important;
1301
+ height: 20px !important;
1302
+ width: 20px !important;
1303
+ border: 2px solid #d0d5dd !important;
1304
+ border-radius: 5px !important;
1305
+ background-color: transparent !important;
1306
+ cursor: pointer !important;
1307
+ position: relative !important;
1308
+ box-sizing: border-box !important;
1309
+ margin: 0 !important;
1310
+ padding: 4px !important;
1311
+ }
1312
+
1313
+ .redacto-checkbox-small {
1314
+ appearance: none !important;
1315
+ -webkit-appearance: none !important;
1316
+ -moz-appearance: none !important;
1317
+ height: 16px !important;
1318
+ width: 16px !important;
1319
+ border: 2px solid #d0d5dd !important;
1320
+ border-radius: 5px !important;
1321
+ background-color: transparent !important;
1322
+ cursor: pointer !important;
1323
+ position: relative !important;
1324
+ box-sizing: border-box !important;
1325
+ margin: 0 !important;
1326
+ padding: 4px !important;
1327
+ }
1328
+
1329
+ .redacto-checkbox-large:checked {
1330
+ background-color: #4f87ff !important;
1331
+ border-color: #4f87ff !important;
1332
+ }
1333
+
1334
+ .redacto-checkbox-small:checked {
1335
+ background-color: #4f87ff !important;
1336
+ border-color: #4f87ff !important;
1337
+ }
1338
+
1339
+ .redacto-checkbox-large:checked::after {
1340
+ content: '' !important;
1341
+ position: absolute !important;
1342
+ left: 50% !important;
1343
+ top: 50% !important;
1344
+ transform: translate(-50%, -50%) rotate(45deg) !important;
1345
+ width: 4px !important;
1346
+ height: 8px !important;
1347
+ border: solid white !important;
1348
+ border-width: 0 2px 2px 0 !important;
1349
+ box-sizing: border-box !important;
1350
+ }
1351
+
1352
+ .redacto-checkbox-small:checked::after {
1353
+ content: '' !important;
1354
+ position: absolute !important;
1355
+ left: 50% !important;
1356
+ top: 50% !important;
1357
+ transform: translate(-50%, -50%) rotate(45deg) !important;
1358
+ width: 3px !important;
1359
+ height: 6px !important;
1360
+ border: solid white !important;
1361
+ border-width: 0 1.5px 1.5px 0 !important;
1362
+ box-sizing: border-box !important;
1363
+ }
1364
+
1365
+ .redacto-checkbox-large:focus {
1366
+ outline: 2px solid #4f87ff !important;
1367
+ outline-offset: 2px !important;
1368
+ }
1369
+
1370
+ .redacto-checkbox-small:focus {
1371
+ outline: 2px solid #4f87ff !important;
1372
+ outline-offset: 2px !important;
1373
+ }
1374
+
1375
+ /* TTS Highlight Styles - Visible highlighting without layout shift */
1376
+ .redacto-tts-highlight {
1377
+ position: relative !important;
1378
+ transition: background-color 0.3s ease, outline 0.3s ease !important;
1379
+ }
1380
+
1381
+ /* Block-level elements - headings */
1382
+ h2.redacto-tts-highlight,
1383
+ h3.redacto-tts-highlight {
1384
+ background-color: #FFF9C4 !important;
1385
+ border-radius: 3px !important;
1386
+ padding: 2px 4px !important;
1387
+ margin: -2px -4px !important;
1388
+ }
1389
+
1390
+ /* Inline elements - spans, links */
1391
+ span.redacto-tts-highlight,
1392
+ a.redacto-tts-highlight {
1393
+ background-color: #FFF9C4 !important;
1394
+ border-radius: 3px !important;
1395
+ padding: 2px 4px !important;
1396
+ margin: -2px -4px !important;
1397
+ }
1398
+
1399
+ /* Paragraphs - handle carefully to avoid layout shift */
1400
+ p.redacto-tts-highlight {
1401
+ background-color: #FFF9C4 !important;
1402
+ border-radius: 3px !important;
1403
+ padding: 2px 4px !important;
1404
+ margin: -2px -4px !important;
1405
+ }
1406
+
1407
+ /* Buttons - use outline to keep button styles intact */
1408
+ button.redacto-tts-highlight {
1409
+ outline: 3px solid #FFF9C4 !important;
1410
+ outline-offset: 2px !important;
1411
+ }
1412
+
1413
+ /* Spinner animation for verification screens */
1414
+ @keyframes spin {
1415
+ from { transform: rotate(0deg); }
1416
+ to { transform: rotate(360deg); }
1417
+ }
1418
+
1419
+ /* DigiLocker callback retry button hover */
1420
+ .redacto-dl-retry-btn:hover {
1421
+ background-color: #2563eb !important;
1422
+ }
1423
+ `;
1424
+ document.head.appendChild(style);
1425
+ stylesInjected = true;
1426
+ };
1427
+
1428
+ // src/shared/RequiredMarker.tsx
1429
+ import { jsx as jsx2 } from "react/jsx-runtime";
1430
+ var RequiredMarker = ({
1431
+ label = REQUIRED_MARKER_ARIA_LABEL
1432
+ }) => /* @__PURE__ */ jsx2("span", { style: REQUIRED_MARKER_STYLE, "aria-label": label, children: REQUIRED_MARKER_GLYPH });
1433
+
1434
+ // src/shared/useNoticeFont.ts
1435
+ import { useEffect, useMemo } from "react";
1436
+
1437
+ // src/shared/fonts/font-sources.generated.ts
1438
+ var NOTICE_FONT_SOURCE_IMPORTS = {
1439
+ "montserrat": () => import("./montserrat.generated-NBTECYRW.mjs")
1440
+ };
1441
+
1442
+ // src/shared/notice-webfont.ts
1443
+ var noticeFontOptions = {};
1444
+ var configureNoticeFonts = (options) => {
1445
+ noticeFontOptions = { ...noticeFontOptions, ...options };
1446
+ };
1447
+ var toFamilyTokens = (value) => value.split(FONT_FAMILY_SEPARATOR).map(
1448
+ (token) => token.trim().replace(FONT_NAME_QUOTE_CHARACTERS, "").toLowerCase()
1449
+ );
1450
+ var findNoticeFontEntry = (value) => {
1451
+ const id = toFamilyTokens(value).find(
1452
+ (token) => Boolean(NOTICE_FONT_ENTRY_BY_ID[token])
1453
+ );
1454
+ if (!id) {
1455
+ return void 0;
1456
+ }
1457
+ return NOTICE_FONT_ENTRY_BY_ID[id];
1458
+ };
1459
+ var toFontFaceCss = (entry, sources) => sources.map(
1460
+ ({ weight, url }) => [
1461
+ "@font-face {",
1462
+ ` font-family: "${entry.cssFamily}";`,
1463
+ " font-style: normal;",
1464
+ ` font-weight: ${weight};`,
1465
+ // `swap`, never the `auto` default: auto gives most browsers a ~3s block
1466
+ // period with INVISIBLE text, which is unacceptable for a consent notice.
1467
+ " font-display: swap;",
1468
+ // `local()` still leads: the bundled copy is Latin + Latin-Extended only,
1469
+ // so a visitor's own installation covers more scripts than ours does.
1470
+ ` src: local("${entry.cssFamily}"),`,
1471
+ // Quoted url(): a data URI carries `,` and `;`, which are hostile to an
1472
+ // unquoted url token. Base64 never contains a double quote.
1473
+ ` url("${url}") format("woff2");`,
1474
+ "}"
1475
+ ].join("\n")
1476
+ ).join("\n\n");
1477
+ var fontSourceLoads = /* @__PURE__ */ new Map();
1478
+ var loadFontSources = (entry, importSources) => {
1479
+ const pending = fontSourceLoads.get(entry.id);
1480
+ if (pending) {
1481
+ return pending;
1482
+ }
1483
+ const load = importSources().then((module) => module.NOTICE_FONT_SOURCES).catch((error) => {
1484
+ fontSourceLoads.delete(entry.id);
1485
+ throw error;
1486
+ });
1487
+ fontSourceLoads.set(entry.id, load);
1488
+ return load;
1489
+ };
1490
+ var injectedFontFaceIds = /* @__PURE__ */ new Set();
1491
+ var injectFontFace = (entry, sources) => {
1492
+ if (injectedFontFaceIds.has(entry.id)) {
1493
+ return;
1494
+ }
1495
+ injectedFontFaceIds.add(entry.id);
1496
+ const styleId = `${NOTICE_FONT_FACE_STYLE_ID_PREFIX}${entry.slug}`;
1497
+ if (document.getElementById(styleId)) {
1498
+ return;
1499
+ }
1500
+ const style = document.createElement("style");
1501
+ style.id = styleId;
1502
+ style.textContent = toFontFaceCss(entry, sources);
1503
+ document.head.appendChild(style);
1504
+ };
1505
+ var loadNoticeWebfont = async (value, signal) => {
1506
+ if (typeof document === "undefined" || noticeFontOptions.disabled) {
1507
+ return;
1508
+ }
1509
+ if (signal == null ? void 0 : signal.aborted) {
1510
+ return;
1511
+ }
1512
+ const entry = findNoticeFontEntry(value);
1513
+ if (!entry || entry.source !== "webfont" || injectedFontFaceIds.has(entry.id)) {
1514
+ return;
1515
+ }
1516
+ const importSources = NOTICE_FONT_SOURCE_IMPORTS[entry.slug];
1517
+ if (!importSources) {
1518
+ return;
1519
+ }
1520
+ try {
1521
+ const sources = await loadFontSources(entry, importSources);
1522
+ if (signal == null ? void 0 : signal.aborted) {
1523
+ return;
1524
+ }
1525
+ injectFontFace(entry, sources);
1526
+ } catch (error) {
1527
+ console.error(NOTICE_FONT_LOAD_ERROR_MESSAGE, error);
1528
+ }
1529
+ };
1530
+
1531
+ // src/shared/useNoticeFont.ts
1532
+ var useNoticeFont = ({
1533
+ hostFont,
1534
+ noticeFont
1535
+ }) => {
1536
+ const fontFamily = useMemo(
1537
+ () => resolveNoticeFontFamily({ hostFont, noticeFont }),
1538
+ [hostFont, noticeFont]
1539
+ );
1540
+ useEffect(() => {
1541
+ injectNoticeFontStyles();
1542
+ }, []);
1543
+ useEffect(() => {
1544
+ const controller = new AbortController();
1545
+ void loadNoticeWebfont(fontFamily, controller.signal);
1546
+ return () => controller.abort();
1547
+ }, [fontFamily]);
1548
+ return fontFamily;
1549
+ };
1550
+
1179
1551
  // src/RedactoNoticeConsent/services/storage.ts
1180
1552
  var STORAGE_KEY = "redacto_consent_sdk_state";
1181
1553
  var STATE_EXPIRY_MS = 30 * 60 * 1e3;
@@ -1240,7 +1612,7 @@ var updateConsentState = (updates) => {
1240
1612
  };
1241
1613
 
1242
1614
  // src/RedactoNoticeConsent/RedactoNoticeConsent.tsx
1243
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1615
+ import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
1244
1616
  var PurposeItem = ({
1245
1617
  purpose,
1246
1618
  selectedPurposes,
@@ -1257,23 +1629,21 @@ var PurposeItem = ({
1257
1629
  selectedLanguage,
1258
1630
  initialDataElementSelections = {}
1259
1631
  }) => {
1260
- const headingStyle = useMemo(
1632
+ const headingStyle = useMemo2(
1261
1633
  () => ({
1262
- color: (settings == null ? void 0 : settings.headingColor) || "#323B4B",
1263
- fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
1634
+ color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
1264
1635
  }),
1265
- [settings]
1636
+ [settings == null ? void 0 : settings.headingColor]
1266
1637
  );
1267
- const textStyle = useMemo(
1638
+ const textStyle = useMemo2(
1268
1639
  () => ({
1269
- color: (settings == null ? void 0 : settings.textColor) || "#344054",
1270
- fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
1640
+ color: (settings == null ? void 0 : settings.textColor) || "#344054"
1271
1641
  }),
1272
- [settings]
1642
+ [settings == null ? void 0 : settings.textColor]
1273
1643
  );
1274
- return /* @__PURE__ */ jsxs("div", { children: [
1275
- /* @__PURE__ */ jsxs("div", { style: styles4.optionItem, children: [
1276
- /* @__PURE__ */ jsxs(
1644
+ return /* @__PURE__ */ jsxs2("div", { children: [
1645
+ /* @__PURE__ */ jsxs2("div", { style: styles4.optionItem, children: [
1646
+ /* @__PURE__ */ jsxs2(
1277
1647
  "div",
1278
1648
  {
1279
1649
  style: styles4.optionLeft,
@@ -1294,7 +1664,7 @@ var PurposeItem = ({
1294
1664
  }
1295
1665
  },
1296
1666
  children: [
1297
- /* @__PURE__ */ jsx(
1667
+ /* @__PURE__ */ jsx3(
1298
1668
  "div",
1299
1669
  {
1300
1670
  style: {
@@ -1303,7 +1673,7 @@ var PurposeItem = ({
1303
1673
  justifyContent: "center",
1304
1674
  marginLeft: "5px"
1305
1675
  },
1306
- children: /* @__PURE__ */ jsx(
1676
+ children: /* @__PURE__ */ jsx3(
1307
1677
  "svg",
1308
1678
  {
1309
1679
  width: "7",
@@ -1320,13 +1690,13 @@ var PurposeItem = ({
1320
1690
  transition: "transform 0.3s ease"
1321
1691
  },
1322
1692
  "aria-hidden": "true",
1323
- children: /* @__PURE__ */ jsx("path", { d: "M1 1L6 6L1 11" })
1693
+ children: /* @__PURE__ */ jsx3("path", { d: "M1 1L6 6L1 11" })
1324
1694
  }
1325
1695
  )
1326
1696
  }
1327
1697
  ),
1328
- /* @__PURE__ */ jsxs("div", { style: styles4.optionTextContainer, children: [
1329
- /* @__PURE__ */ jsx(
1698
+ /* @__PURE__ */ jsxs2("div", { style: styles4.optionTextContainer, children: [
1699
+ /* @__PURE__ */ jsxs2(
1330
1700
  "h2",
1331
1701
  {
1332
1702
  id: `purpose-name-${purpose.uuid}`,
@@ -1335,11 +1705,14 @@ var PurposeItem = ({
1335
1705
  ...responsiveStyles.optionTitle,
1336
1706
  ...headingStyle
1337
1707
  },
1338
- children: getTranslatedText(`purposes.name`, purpose.name, purpose.uuid)
1708
+ children: [
1709
+ getTranslatedText(`purposes.name`, purpose.name, purpose.uuid),
1710
+ hasRequiredDataElement(purpose) && /* @__PURE__ */ jsx3(RequiredMarker, {})
1711
+ ]
1339
1712
  },
1340
1713
  `purpose-name-${purpose.uuid}-${selectedLanguage}`
1341
1714
  ),
1342
- /* @__PURE__ */ jsx(
1715
+ /* @__PURE__ */ jsx3(
1343
1716
  "h3",
1344
1717
  {
1345
1718
  id: `purpose-description-${purpose.uuid}`,
@@ -1360,7 +1733,7 @@ var PurposeItem = ({
1360
1733
  ]
1361
1734
  }
1362
1735
  ),
1363
- !isAlreadyConsented && /* @__PURE__ */ jsx(
1736
+ !isAlreadyConsented && /* @__PURE__ */ jsx3(
1364
1737
  "input",
1365
1738
  {
1366
1739
  className: "redacto-checkbox-large",
@@ -1374,7 +1747,7 @@ var PurposeItem = ({
1374
1747
  )}`
1375
1748
  }
1376
1749
  ),
1377
- isAlreadyConsented && /* @__PURE__ */ jsx(
1750
+ isAlreadyConsented && /* @__PURE__ */ jsx3(
1378
1751
  "div",
1379
1752
  {
1380
1753
  style: {
@@ -1392,7 +1765,7 @@ var PurposeItem = ({
1392
1765
  purpose.name,
1393
1766
  purpose.uuid
1394
1767
  )}`,
1395
- children: /* @__PURE__ */ jsx(
1768
+ children: /* @__PURE__ */ jsx3(
1396
1769
  "svg",
1397
1770
  {
1398
1771
  width: "12",
@@ -1401,7 +1774,7 @@ var PurposeItem = ({
1401
1774
  fill: "none",
1402
1775
  xmlns: "http://www.w3.org/2000/svg",
1403
1776
  "aria-hidden": "true",
1404
- children: /* @__PURE__ */ jsx(
1777
+ children: /* @__PURE__ */ jsx3(
1405
1778
  "path",
1406
1779
  {
1407
1780
  d: "M4 6L5.5 7.5L8.5 4.5",
@@ -1416,17 +1789,17 @@ var PurposeItem = ({
1416
1789
  }
1417
1790
  )
1418
1791
  ] }),
1419
- !collapsedPurposes[purpose.uuid] && purpose.data_elements && purpose.data_elements.length > 0 && /* @__PURE__ */ jsx(
1792
+ !collapsedPurposes[purpose.uuid] && purpose.data_elements && purpose.data_elements.length > 0 && /* @__PURE__ */ jsx3(
1420
1793
  "div",
1421
1794
  {
1422
1795
  id: `purpose-${purpose.uuid}`,
1423
1796
  style: styles4.dataElementsContainer,
1424
- children: purpose.data_elements.map((dataElement) => /* @__PURE__ */ jsxs(
1797
+ children: purpose.data_elements.map((dataElement) => /* @__PURE__ */ jsxs2(
1425
1798
  "div",
1426
1799
  {
1427
1800
  style: styles4.dataElementItem,
1428
1801
  children: [
1429
- /* @__PURE__ */ jsxs(
1802
+ /* @__PURE__ */ jsxs2(
1430
1803
  "span",
1431
1804
  {
1432
1805
  id: `data-element-${purpose.uuid}-${dataElement.uuid}`,
@@ -1441,22 +1814,12 @@ var PurposeItem = ({
1441
1814
  dataElement.name,
1442
1815
  dataElement.uuid
1443
1816
  ),
1444
- dataElement.required && /* @__PURE__ */ jsx(
1445
- "span",
1446
- {
1447
- style: {
1448
- color: "red",
1449
- marginLeft: "4px"
1450
- },
1451
- "aria-label": "required",
1452
- children: "*"
1453
- }
1454
- )
1817
+ dataElement.required && /* @__PURE__ */ jsx3(RequiredMarker, {})
1455
1818
  ]
1456
1819
  },
1457
1820
  `data-element-${purpose.uuid}-${dataElement.uuid}-${selectedLanguage}`
1458
1821
  ),
1459
- !isAlreadyConsented && /* @__PURE__ */ jsx(
1822
+ !isAlreadyConsented && /* @__PURE__ */ jsx3(
1460
1823
  "input",
1461
1824
  {
1462
1825
  className: "redacto-checkbox-small",
@@ -1470,11 +1833,11 @@ var PurposeItem = ({
1470
1833
  )}${dataElement.required ? " (required)" : ""}`
1471
1834
  }
1472
1835
  ),
1473
- isAlreadyConsented && /* @__PURE__ */ jsx(Fragment, { children: (() => {
1836
+ isAlreadyConsented && /* @__PURE__ */ jsx3(Fragment2, { children: (() => {
1474
1837
  const combinedId = `${purpose.uuid}-${dataElement.uuid}`;
1475
1838
  const wasOriginallySelected = initialDataElementSelections[combinedId] || false;
1476
1839
  if (wasOriginallySelected) {
1477
- return /* @__PURE__ */ jsx(
1840
+ return /* @__PURE__ */ jsx3(
1478
1841
  "div",
1479
1842
  {
1480
1843
  style: {
@@ -1491,7 +1854,7 @@ var PurposeItem = ({
1491
1854
  dataElement.name,
1492
1855
  dataElement.uuid
1493
1856
  )}`,
1494
- children: /* @__PURE__ */ jsx(
1857
+ children: /* @__PURE__ */ jsx3(
1495
1858
  "svg",
1496
1859
  {
1497
1860
  width: "10",
@@ -1500,7 +1863,7 @@ var PurposeItem = ({
1500
1863
  fill: "none",
1501
1864
  xmlns: "http://www.w3.org/2000/svg",
1502
1865
  "aria-hidden": "true",
1503
- children: /* @__PURE__ */ jsx(
1866
+ children: /* @__PURE__ */ jsx3(
1504
1867
  "path",
1505
1868
  {
1506
1869
  d: "M3 5L4.5 6.5L7.5 3.5",
@@ -1515,7 +1878,7 @@ var PurposeItem = ({
1515
1878
  }
1516
1879
  );
1517
1880
  } else {
1518
- return /* @__PURE__ */ jsx(
1881
+ return /* @__PURE__ */ jsx3(
1519
1882
  "div",
1520
1883
  {
1521
1884
  style: {
@@ -1574,7 +1937,7 @@ var GuardianForm = ({
1574
1937
  const [openUpward, setOpenUpward] = useState(false);
1575
1938
  const dropdownRef = useRef(null);
1576
1939
  const optionsRef = useRef(null);
1577
- useEffect(() => {
1940
+ useEffect2(() => {
1578
1941
  if (!isDropdownOpen) return;
1579
1942
  const handleClickOutside = (e) => {
1580
1943
  if (dropdownRef.current && !dropdownRef.current.contains(e.target)) {
@@ -1585,7 +1948,7 @@ var GuardianForm = ({
1585
1948
  document.addEventListener("mousedown", handleClickOutside);
1586
1949
  return () => document.removeEventListener("mousedown", handleClickOutside);
1587
1950
  }, [isDropdownOpen]);
1588
- useEffect(() => {
1951
+ useEffect2(() => {
1589
1952
  if (!isDropdownOpen || !dropdownRef.current) return;
1590
1953
  const rect = dropdownRef.current.getBoundingClientRect();
1591
1954
  const spaceBelow = window.innerHeight - rect.bottom;
@@ -1627,7 +1990,7 @@ var GuardianForm = ({
1627
1990
  break;
1628
1991
  }
1629
1992
  };
1630
- useEffect(() => {
1993
+ useEffect2(() => {
1631
1994
  var _a2;
1632
1995
  if (focusedIndex >= 0 && optionsRef.current) {
1633
1996
  const option = optionsRef.current.children[focusedIndex];
@@ -1638,14 +2001,12 @@ var GuardianForm = ({
1638
2001
  const textColor = (settings == null ? void 0 : settings.textColor) || "#344054";
1639
2002
  const bgColor = (settings == null ? void 0 : settings.backgroundColor) || "#ffffff";
1640
2003
  const radius = (settings == null ? void 0 : settings.borderRadius) || "8px";
1641
- const font = (settings == null ? void 0 : settings.font) || "inherit";
1642
2004
  const inputStyle = {
1643
2005
  width: "100%",
1644
2006
  padding: "10px 12px",
1645
2007
  border: `1px solid ${borderColor}`,
1646
2008
  borderRadius: radius,
1647
2009
  fontSize: "13px",
1648
- fontFamily: font,
1649
2010
  color: textColor,
1650
2011
  backgroundColor: bgColor,
1651
2012
  marginBottom: "2px",
@@ -1687,10 +2048,10 @@ var GuardianForm = ({
1687
2048
  };
1688
2049
  const selectedLabel = (_a = RELATIONSHIP_OPTIONS.find((o) => o.value === formData.guardianRelationship)) == null ? void 0 : _a.label;
1689
2050
  const hasError = Boolean(errors.guardianRelationship);
1690
- return /* @__PURE__ */ jsxs(Fragment, { children: [
1691
- /* @__PURE__ */ jsx("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: /* @__PURE__ */ jsxs("div", { style: styles4.topLeft, children: [
1692
- /* @__PURE__ */ jsx("img", { style: styles4.logo, src: logoUrl, alt: "Logo" }),
1693
- /* @__PURE__ */ jsx(
2051
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
2052
+ /* @__PURE__ */ jsx3("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: /* @__PURE__ */ jsxs2("div", { style: styles4.topLeft, children: [
2053
+ /* @__PURE__ */ jsx3("img", { style: styles4.logo, src: logoUrl, alt: "Logo" }),
2054
+ /* @__PURE__ */ jsx3(
1694
2055
  "h2",
1695
2056
  {
1696
2057
  id: "guardian-form-title",
@@ -1705,7 +2066,7 @@ var GuardianForm = ({
1705
2066
  }
1706
2067
  )
1707
2068
  ] }) }),
1708
- /* @__PURE__ */ jsxs(
2069
+ /* @__PURE__ */ jsxs2(
1709
2070
  "div",
1710
2071
  {
1711
2072
  style: {
@@ -1714,7 +2075,7 @@ var GuardianForm = ({
1714
2075
  ...componentTextStyle
1715
2076
  },
1716
2077
  children: [
1717
- /* @__PURE__ */ jsx(
2078
+ /* @__PURE__ */ jsx3(
1718
2079
  "p",
1719
2080
  {
1720
2081
  style: {
@@ -1728,8 +2089,8 @@ var GuardianForm = ({
1728
2089
  children: "Since you are under the age of consent, a legal guardian must verify their identity via DigiLocker before you can proceed."
1729
2090
  }
1730
2091
  ),
1731
- /* @__PURE__ */ jsxs("div", { style: infoBannerStyle, children: [
1732
- /* @__PURE__ */ jsxs(
2092
+ /* @__PURE__ */ jsxs2("div", { style: infoBannerStyle, children: [
2093
+ /* @__PURE__ */ jsxs2(
1733
2094
  "svg",
1734
2095
  {
1735
2096
  width: "16",
@@ -1742,15 +2103,15 @@ var GuardianForm = ({
1742
2103
  strokeLinejoin: "round",
1743
2104
  style: { flexShrink: 0, marginTop: "1px" },
1744
2105
  children: [
1745
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
1746
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
1747
- /* @__PURE__ */ jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
2106
+ /* @__PURE__ */ jsx3("circle", { cx: "12", cy: "12", r: "10" }),
2107
+ /* @__PURE__ */ jsx3("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
2108
+ /* @__PURE__ */ jsx3("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
1748
2109
  ]
1749
2110
  }
1750
2111
  ),
1751
- /* @__PURE__ */ jsx("span", { children: "The guardian's name will be matched against their DigiLocker identity document (e.g. Aadhaar). Please enter the name exactly as it appears on the document." })
2112
+ /* @__PURE__ */ jsx3("span", { children: "The guardian's name will be matched against their DigiLocker identity document (e.g. Aadhaar). Please enter the name exactly as it appears on the document." })
1752
2113
  ] }),
1753
- /* @__PURE__ */ jsxs(
2114
+ /* @__PURE__ */ jsxs2(
1754
2115
  "div",
1755
2116
  {
1756
2117
  style: {
@@ -1759,12 +2120,12 @@ var GuardianForm = ({
1759
2120
  gap: "14px"
1760
2121
  },
1761
2122
  children: [
1762
- /* @__PURE__ */ jsxs("div", { children: [
1763
- /* @__PURE__ */ jsxs("label", { htmlFor: "guardianName", style: labelStyle, children: [
2123
+ /* @__PURE__ */ jsxs2("div", { children: [
2124
+ /* @__PURE__ */ jsxs2("label", { htmlFor: "guardianName", style: labelStyle, children: [
1764
2125
  "Guardian's Full Name ",
1765
- /* @__PURE__ */ jsx("span", { style: { color: "#DC2626" }, children: "*" })
2126
+ /* @__PURE__ */ jsx3("span", { style: { color: "#DC2626" }, children: "*" })
1766
2127
  ] }),
1767
- /* @__PURE__ */ jsx(
2128
+ /* @__PURE__ */ jsx3(
1768
2129
  "input",
1769
2130
  {
1770
2131
  id: "guardianName",
@@ -1780,15 +2141,15 @@ var GuardianForm = ({
1780
2141
  "aria-describedby": "guardianName-hint"
1781
2142
  }
1782
2143
  ),
1783
- /* @__PURE__ */ jsx("p", { id: "guardianName-hint", style: hintStyle, children: "Enter the full name as per government ID (Aadhaar, PAN, etc.)" }),
1784
- errors.guardianName && /* @__PURE__ */ jsx("div", { style: errorStyle, role: "alert", children: errors.guardianName })
2144
+ /* @__PURE__ */ jsx3("p", { id: "guardianName-hint", style: hintStyle, children: "Enter the full name as per government ID (Aadhaar, PAN, etc.)" }),
2145
+ errors.guardianName && /* @__PURE__ */ jsx3("div", { style: errorStyle, role: "alert", children: errors.guardianName })
1785
2146
  ] }),
1786
- /* @__PURE__ */ jsxs("div", { children: [
1787
- /* @__PURE__ */ jsxs("label", { htmlFor: "guardianContact", style: labelStyle, children: [
2147
+ /* @__PURE__ */ jsxs2("div", { children: [
2148
+ /* @__PURE__ */ jsxs2("label", { htmlFor: "guardianContact", style: labelStyle, children: [
1788
2149
  "Guardian's Phone Number ",
1789
- /* @__PURE__ */ jsx("span", { style: { color: "#DC2626" }, children: "*" })
2150
+ /* @__PURE__ */ jsx3("span", { style: { color: "#DC2626" }, children: "*" })
1790
2151
  ] }),
1791
- /* @__PURE__ */ jsx(
2152
+ /* @__PURE__ */ jsx3(
1792
2153
  "input",
1793
2154
  {
1794
2155
  id: "guardianContact",
@@ -1805,15 +2166,15 @@ var GuardianForm = ({
1805
2166
  "aria-describedby": "guardianContact-hint"
1806
2167
  }
1807
2168
  ),
1808
- /* @__PURE__ */ jsx("p", { id: "guardianContact-hint", style: hintStyle, children: "Mobile number linked to guardian's Aadhaar" }),
1809
- errors.guardianContact && /* @__PURE__ */ jsx("div", { style: errorStyle, role: "alert", children: errors.guardianContact })
2169
+ /* @__PURE__ */ jsx3("p", { id: "guardianContact-hint", style: hintStyle, children: "Mobile number linked to guardian's Aadhaar" }),
2170
+ errors.guardianContact && /* @__PURE__ */ jsx3("div", { style: errorStyle, role: "alert", children: errors.guardianContact })
1810
2171
  ] }),
1811
- /* @__PURE__ */ jsxs("div", { ref: dropdownRef, style: { position: "relative" }, children: [
1812
- /* @__PURE__ */ jsxs("label", { id: "guardianRelationship-label", style: labelStyle, children: [
2172
+ /* @__PURE__ */ jsxs2("div", { ref: dropdownRef, style: { position: "relative" }, children: [
2173
+ /* @__PURE__ */ jsxs2("label", { id: "guardianRelationship-label", style: labelStyle, children: [
1813
2174
  "Relationship ",
1814
- /* @__PURE__ */ jsx("span", { style: { color: "#DC2626" }, children: "*" })
2175
+ /* @__PURE__ */ jsx3("span", { style: { color: "#DC2626" }, children: "*" })
1815
2176
  ] }),
1816
- /* @__PURE__ */ jsxs(
2177
+ /* @__PURE__ */ jsxs2(
1817
2178
  "div",
1818
2179
  {
1819
2180
  role: "combobox",
@@ -1841,8 +2202,8 @@ var GuardianForm = ({
1841
2202
  transition: "border-color 0.15s, box-shadow 0.15s"
1842
2203
  },
1843
2204
  children: [
1844
- /* @__PURE__ */ jsx("span", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: selectedLabel || "Select relationship" }),
1845
- /* @__PURE__ */ jsx(
2205
+ /* @__PURE__ */ jsx3("span", { style: { overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: selectedLabel || "Select relationship" }),
2206
+ /* @__PURE__ */ jsx3(
1846
2207
  "svg",
1847
2208
  {
1848
2209
  width: "14",
@@ -1859,13 +2220,13 @@ var GuardianForm = ({
1859
2220
  transform: isDropdownOpen ? "rotate(180deg)" : "rotate(0deg)",
1860
2221
  transition: "transform 0.2s"
1861
2222
  },
1862
- children: /* @__PURE__ */ jsx("polyline", { points: "6 9 12 15 18 9" })
2223
+ children: /* @__PURE__ */ jsx3("polyline", { points: "6 9 12 15 18 9" })
1863
2224
  }
1864
2225
  )
1865
2226
  ]
1866
2227
  }
1867
2228
  ),
1868
- isDropdownOpen && /* @__PURE__ */ jsx(
2229
+ isDropdownOpen && /* @__PURE__ */ jsx3(
1869
2230
  "div",
1870
2231
  {
1871
2232
  ref: optionsRef,
@@ -1892,7 +2253,7 @@ var GuardianForm = ({
1892
2253
  const isSelected = formData.guardianRelationship === option.value;
1893
2254
  const isFocused = focusedIndex === index;
1894
2255
  const accentColor = ((_b2 = (_a2 = settings == null ? void 0 : settings.button) == null ? void 0 : _a2.accept) == null ? void 0 : _b2.backgroundColor) || "#3b82f6";
1895
- return /* @__PURE__ */ jsxs(
2256
+ return /* @__PURE__ */ jsxs2(
1896
2257
  "div",
1897
2258
  {
1898
2259
  id: `guardianRelationship-option-${index}`,
@@ -1903,7 +2264,6 @@ var GuardianForm = ({
1903
2264
  style: {
1904
2265
  padding: "9px 12px",
1905
2266
  fontSize: "13px",
1906
- fontFamily: font,
1907
2267
  color: isSelected ? accentColor : textColor,
1908
2268
  backgroundColor: isFocused ? "#F3F4F6" : "transparent",
1909
2269
  cursor: "pointer",
@@ -1913,8 +2273,8 @@ var GuardianForm = ({
1913
2273
  transition: "background-color 0.1s"
1914
2274
  },
1915
2275
  children: [
1916
- /* @__PURE__ */ jsx("span", { children: option.label }),
1917
- isSelected && /* @__PURE__ */ jsx(
2276
+ /* @__PURE__ */ jsx3("span", { children: option.label }),
2277
+ isSelected && /* @__PURE__ */ jsx3(
1918
2278
  "svg",
1919
2279
  {
1920
2280
  width: "14",
@@ -1926,7 +2286,7 @@ var GuardianForm = ({
1926
2286
  strokeLinecap: "round",
1927
2287
  strokeLinejoin: "round",
1928
2288
  style: { flexShrink: 0 },
1929
- children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" })
2289
+ children: /* @__PURE__ */ jsx3("polyline", { points: "20 6 9 17 4 12" })
1930
2290
  }
1931
2291
  )
1932
2292
  ]
@@ -1936,12 +2296,12 @@ var GuardianForm = ({
1936
2296
  })
1937
2297
  }
1938
2298
  ),
1939
- errors.guardianRelationship && /* @__PURE__ */ jsx("div", { style: errorStyle, role: "alert", children: errors.guardianRelationship })
2299
+ errors.guardianRelationship && /* @__PURE__ */ jsx3("div", { style: errorStyle, role: "alert", children: errors.guardianRelationship })
1940
2300
  ] })
1941
2301
  ]
1942
2302
  }
1943
2303
  ),
1944
- errors.general && /* @__PURE__ */ jsx(
2304
+ errors.general && /* @__PURE__ */ jsx3(
1945
2305
  "div",
1946
2306
  {
1947
2307
  role: "alert",
@@ -1961,7 +2321,7 @@ var GuardianForm = ({
1961
2321
  ]
1962
2322
  }
1963
2323
  ),
1964
- /* @__PURE__ */ jsxs(
2324
+ /* @__PURE__ */ jsxs2(
1965
2325
  "div",
1966
2326
  {
1967
2327
  style: {
@@ -1971,7 +2331,7 @@ var GuardianForm = ({
1971
2331
  paddingTop: "12px"
1972
2332
  },
1973
2333
  children: [
1974
- /* @__PURE__ */ jsx(
2334
+ /* @__PURE__ */ jsx3(
1975
2335
  "button",
1976
2336
  {
1977
2337
  style: {
@@ -1987,7 +2347,7 @@ var GuardianForm = ({
1987
2347
  children: isSubmitting ? "Verifying..." : "Verify via DigiLocker"
1988
2348
  }
1989
2349
  ),
1990
- /* @__PURE__ */ jsx(
2350
+ /* @__PURE__ */ jsx3(
1991
2351
  "button",
1992
2352
  {
1993
2353
  style: {
@@ -2056,10 +2416,10 @@ var VerificationScreen = ({
2056
2416
  animation: "spin 1s linear infinite",
2057
2417
  margin: "24px auto"
2058
2418
  };
2059
- return /* @__PURE__ */ jsxs(Fragment, { children: [
2060
- /* @__PURE__ */ jsx("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: /* @__PURE__ */ jsxs("div", { style: styles4.topLeft, children: [
2061
- /* @__PURE__ */ jsx("img", { style: styles4.logo, src: logoUrl, alt: "Logo" }),
2062
- /* @__PURE__ */ jsx(
2419
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
2420
+ /* @__PURE__ */ jsx3("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: /* @__PURE__ */ jsxs2("div", { style: styles4.topLeft, children: [
2421
+ /* @__PURE__ */ jsx3("img", { style: styles4.logo, src: logoUrl, alt: "Logo" }),
2422
+ /* @__PURE__ */ jsx3(
2063
2423
  "h2",
2064
2424
  {
2065
2425
  id: "verification-title",
@@ -2074,7 +2434,7 @@ var VerificationScreen = ({
2074
2434
  }
2075
2435
  )
2076
2436
  ] }) }),
2077
- /* @__PURE__ */ jsxs(
2437
+ /* @__PURE__ */ jsxs2(
2078
2438
  "div",
2079
2439
  {
2080
2440
  style: {
@@ -2084,7 +2444,7 @@ var VerificationScreen = ({
2084
2444
  textAlign: "center"
2085
2445
  },
2086
2446
  children: [
2087
- isVerificationComplete && !error ? /* @__PURE__ */ jsxs(
2447
+ isVerificationComplete && !error ? /* @__PURE__ */ jsxs2(
2088
2448
  "div",
2089
2449
  {
2090
2450
  style: {
@@ -2095,7 +2455,7 @@ var VerificationScreen = ({
2095
2455
  flex: 1
2096
2456
  },
2097
2457
  children: [
2098
- /* @__PURE__ */ jsx(
2458
+ /* @__PURE__ */ jsx3(
2099
2459
  "div",
2100
2460
  {
2101
2461
  style: {
@@ -2107,7 +2467,7 @@ var VerificationScreen = ({
2107
2467
  alignItems: "center",
2108
2468
  justifyContent: "center"
2109
2469
  },
2110
- children: /* @__PURE__ */ jsx(
2470
+ children: /* @__PURE__ */ jsx3(
2111
2471
  "svg",
2112
2472
  {
2113
2473
  width: "32",
@@ -2118,12 +2478,12 @@ var VerificationScreen = ({
2118
2478
  strokeWidth: "2",
2119
2479
  strokeLinecap: "round",
2120
2480
  strokeLinejoin: "round",
2121
- children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" })
2481
+ children: /* @__PURE__ */ jsx3("polyline", { points: "20 6 9 17 4 12" })
2122
2482
  }
2123
2483
  )
2124
2484
  }
2125
2485
  ),
2126
- /* @__PURE__ */ jsx(
2486
+ /* @__PURE__ */ jsx3(
2127
2487
  "p",
2128
2488
  {
2129
2489
  style: {
@@ -2139,12 +2499,12 @@ var VerificationScreen = ({
2139
2499
  )
2140
2500
  ]
2141
2501
  }
2142
- ) : (isInitiating || isPolling) && !error ? /* @__PURE__ */ jsxs(Fragment, { children: [
2143
- /* @__PURE__ */ jsx("div", { style: spinnerStyle }),
2144
- /* @__PURE__ */ jsx("div", { style: statusStyle, children: isInitiating ? "Opening DigiLocker in a new tab..." : "Please complete the verification in the DigiLocker tab. This page will update automatically when verification is complete." })
2502
+ ) : (isInitiating || isPolling) && !error ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
2503
+ /* @__PURE__ */ jsx3("div", { style: spinnerStyle }),
2504
+ /* @__PURE__ */ jsx3("div", { style: statusStyle, children: isInitiating ? "Opening DigiLocker in a new tab..." : "Please complete the verification in the DigiLocker tab. This page will update automatically when verification is complete." })
2145
2505
  ] }) : null,
2146
- error && /* @__PURE__ */ jsxs(Fragment, { children: [
2147
- /* @__PURE__ */ jsx(
2506
+ error && /* @__PURE__ */ jsxs2(Fragment2, { children: [
2507
+ /* @__PURE__ */ jsx3(
2148
2508
  "div",
2149
2509
  {
2150
2510
  style: {
@@ -2157,7 +2517,7 @@ var VerificationScreen = ({
2157
2517
  justifyContent: "center",
2158
2518
  margin: "24px auto"
2159
2519
  },
2160
- children: /* @__PURE__ */ jsxs(
2520
+ children: /* @__PURE__ */ jsxs2(
2161
2521
  "svg",
2162
2522
  {
2163
2523
  width: "32",
@@ -2169,14 +2529,14 @@ var VerificationScreen = ({
2169
2529
  strokeLinecap: "round",
2170
2530
  strokeLinejoin: "round",
2171
2531
  children: [
2172
- /* @__PURE__ */ jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
2173
- /* @__PURE__ */ jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
2532
+ /* @__PURE__ */ jsx3("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
2533
+ /* @__PURE__ */ jsx3("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
2174
2534
  ]
2175
2535
  }
2176
2536
  )
2177
2537
  }
2178
2538
  ),
2179
- /* @__PURE__ */ jsx(
2539
+ /* @__PURE__ */ jsx3(
2180
2540
  "p",
2181
2541
  {
2182
2542
  style: {
@@ -2190,12 +2550,12 @@ var VerificationScreen = ({
2190
2550
  children: "Verification failed"
2191
2551
  }
2192
2552
  ),
2193
- /* @__PURE__ */ jsx("div", { style: errorStyle, children: error })
2553
+ /* @__PURE__ */ jsx3("div", { style: errorStyle, children: error })
2194
2554
  ] })
2195
2555
  ]
2196
2556
  }
2197
2557
  ),
2198
- isAutoTransitioning ? null : /* @__PURE__ */ jsx(
2558
+ isAutoTransitioning ? null : /* @__PURE__ */ jsx3(
2199
2559
  "div",
2200
2560
  {
2201
2561
  style: {
@@ -2207,7 +2567,7 @@ var VerificationScreen = ({
2207
2567
  gap: "12px",
2208
2568
  justifyContent: "center"
2209
2569
  },
2210
- children: isVerificationComplete && !error ? /* @__PURE__ */ jsx(
2570
+ children: isVerificationComplete && !error ? /* @__PURE__ */ jsx3(
2211
2571
  "button",
2212
2572
  {
2213
2573
  style: {
@@ -2220,7 +2580,7 @@ var VerificationScreen = ({
2220
2580
  "aria-label": "Continue to consent form",
2221
2581
  children: "Continue"
2222
2582
  }
2223
- ) : error && canRetry ? /* @__PURE__ */ jsx(
2583
+ ) : error && canRetry ? /* @__PURE__ */ jsx3(
2224
2584
  "button",
2225
2585
  {
2226
2586
  style: {
@@ -2234,7 +2594,7 @@ var VerificationScreen = ({
2234
2594
  "aria-label": errorCode === "GUARDIAN_UNDER_18" ? "Change guardian details" : "Try verification again",
2235
2595
  children: errorCode === "GUARDIAN_UNDER_18" ? "Change Guardian" : "Try Again"
2236
2596
  }
2237
- ) : error ? /* @__PURE__ */ jsx(
2597
+ ) : error ? /* @__PURE__ */ jsx3(
2238
2598
  "button",
2239
2599
  {
2240
2600
  style: {
@@ -2248,7 +2608,7 @@ var VerificationScreen = ({
2248
2608
  "aria-label": "Go back",
2249
2609
  children: "Go Back"
2250
2610
  }
2251
- ) : /* @__PURE__ */ jsx(
2611
+ ) : /* @__PURE__ */ jsx3(
2252
2612
  "button",
2253
2613
  {
2254
2614
  style: {
@@ -2280,11 +2640,11 @@ var AgeVerification = ({
2280
2640
  logoUrl,
2281
2641
  isMobile
2282
2642
  }) => {
2283
- return /* @__PURE__ */ jsxs(Fragment, { children: [
2284
- /* @__PURE__ */ jsxs("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: [
2285
- /* @__PURE__ */ jsxs("div", { style: styles4.topLeft, children: [
2286
- /* @__PURE__ */ jsx("img", { style: styles4.logo, src: logoUrl, alt: "Redacto Logo" }),
2287
- /* @__PURE__ */ jsx(
2643
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
2644
+ /* @__PURE__ */ jsxs2("div", { style: { ...styles4.topSection, ...componentTextStyle }, children: [
2645
+ /* @__PURE__ */ jsxs2("div", { style: styles4.topLeft, children: [
2646
+ /* @__PURE__ */ jsx3("img", { style: styles4.logo, src: logoUrl, alt: "Redacto Logo" }),
2647
+ /* @__PURE__ */ jsx3(
2288
2648
  "h2",
2289
2649
  {
2290
2650
  id: "age-verification-title",
@@ -2297,7 +2657,7 @@ var AgeVerification = ({
2297
2657
  }
2298
2658
  )
2299
2659
  ] }),
2300
- /* @__PURE__ */ jsx(
2660
+ /* @__PURE__ */ jsx3(
2301
2661
  "button",
2302
2662
  {
2303
2663
  onClick: onClose,
@@ -2312,7 +2672,7 @@ var AgeVerification = ({
2312
2672
  justifyContent: "center"
2313
2673
  },
2314
2674
  "aria-label": "Close modal",
2315
- children: /* @__PURE__ */ jsx(
2675
+ children: /* @__PURE__ */ jsx3(
2316
2676
  "svg",
2317
2677
  {
2318
2678
  width: isMobile ? "18" : "20",
@@ -2321,7 +2681,7 @@ var AgeVerification = ({
2321
2681
  fill: "none",
2322
2682
  xmlns: "http://www.w3.org/2000/svg",
2323
2683
  "aria-hidden": "true",
2324
- children: /* @__PURE__ */ jsx(
2684
+ children: /* @__PURE__ */ jsx3(
2325
2685
  "path",
2326
2686
  {
2327
2687
  d: "M15 5L5 15M5 5L15 15",
@@ -2336,7 +2696,7 @@ var AgeVerification = ({
2336
2696
  }
2337
2697
  )
2338
2698
  ] }),
2339
- /* @__PURE__ */ jsxs(
2699
+ /* @__PURE__ */ jsxs2(
2340
2700
  "div",
2341
2701
  {
2342
2702
  style: {
@@ -2345,7 +2705,7 @@ var AgeVerification = ({
2345
2705
  ...componentTextStyle
2346
2706
  },
2347
2707
  children: [
2348
- /* @__PURE__ */ jsx(
2708
+ /* @__PURE__ */ jsx3(
2349
2709
  "p",
2350
2710
  {
2351
2711
  style: {
@@ -2357,7 +2717,7 @@ var AgeVerification = ({
2357
2717
  children: "To proceed with this consent form, we need to verify your age."
2358
2718
  }
2359
2719
  ),
2360
- /* @__PURE__ */ jsx(
2720
+ /* @__PURE__ */ jsx3(
2361
2721
  "p",
2362
2722
  {
2363
2723
  style: {
@@ -2372,7 +2732,7 @@ var AgeVerification = ({
2372
2732
  ]
2373
2733
  }
2374
2734
  ),
2375
- /* @__PURE__ */ jsxs(
2735
+ /* @__PURE__ */ jsxs2(
2376
2736
  "div",
2377
2737
  {
2378
2738
  style: {
@@ -2381,7 +2741,7 @@ var AgeVerification = ({
2381
2741
  ...componentTextStyle
2382
2742
  },
2383
2743
  children: [
2384
- /* @__PURE__ */ jsx(
2744
+ /* @__PURE__ */ jsx3(
2385
2745
  "button",
2386
2746
  {
2387
2747
  style: {
@@ -2396,7 +2756,7 @@ var AgeVerification = ({
2396
2756
  children: "Yes, I am 18 or older"
2397
2757
  }
2398
2758
  ),
2399
- /* @__PURE__ */ jsx(
2759
+ /* @__PURE__ */ jsx3(
2400
2760
  "button",
2401
2761
  {
2402
2762
  style: {
@@ -2443,8 +2803,8 @@ var RedactoNoticeConsent = ({
2443
2803
  includeFullyConsentedData = false,
2444
2804
  reviewModeButtonText = "Continue"
2445
2805
  }) => {
2446
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
2447
- const sandboxParams = useMemo(
2806
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
2807
+ const sandboxParams = useMemo2(
2448
2808
  () => ({
2449
2809
  token,
2450
2810
  sandboxUcic: ucic,
@@ -2454,7 +2814,7 @@ var RedactoNoticeConsent = ({
2454
2814
  }),
2455
2815
  [token, ucic, email, mobile, organisationUuid, workspaceUuid]
2456
2816
  );
2457
- const propValidationError = useMemo(() => {
2817
+ const propValidationError = useMemo2(() => {
2458
2818
  if (!(noticeId == null ? void 0 : noticeId.trim())) {
2459
2819
  return "RedactoNoticeConsent: 'noticeId' prop is required and cannot be empty";
2460
2820
  }
@@ -2482,7 +2842,7 @@ var RedactoNoticeConsent = ({
2482
2842
  ucic
2483
2843
  ]);
2484
2844
  if (propValidationError) {
2485
- return /* @__PURE__ */ jsxs(
2845
+ return /* @__PURE__ */ jsxs2(
2486
2846
  "div",
2487
2847
  {
2488
2848
  style: {
@@ -2493,9 +2853,9 @@ var RedactoNoticeConsent = ({
2493
2853
  color: "#c33"
2494
2854
  },
2495
2855
  children: [
2496
- /* @__PURE__ */ jsx("h3", { children: "Configuration Error" }),
2497
- /* @__PURE__ */ jsx("p", { children: propValidationError }),
2498
- /* @__PURE__ */ jsx("p", { children: "Please check your component props and try again." })
2856
+ /* @__PURE__ */ jsx3("h3", { children: "Configuration Error" }),
2857
+ /* @__PURE__ */ jsx3("p", { children: propValidationError }),
2858
+ /* @__PURE__ */ jsx3("p", { children: "Please check your component props and try again." })
2499
2859
  ]
2500
2860
  }
2501
2861
  );
@@ -2560,7 +2920,7 @@ var RedactoNoticeConsent = ({
2560
2920
  const isPollingStatusRef = useRef(false);
2561
2921
  const verificationSessionTokenRef = useRef(null);
2562
2922
  const isMobile = useMediaQuery("(max-width: 768px)");
2563
- const responsiveStyles = useMemo(
2923
+ const responsiveStyles = useMemo2(
2564
2924
  () => ({
2565
2925
  modal: {
2566
2926
  width: isMobile ? "90%" : "700px"
@@ -2618,9 +2978,7 @@ var RedactoNoticeConsent = ({
2618
2978
  height: isMobile ? "auto" : void 0,
2619
2979
  width: isMobile ? "auto" : void 0
2620
2980
  },
2621
- topSection: {
2622
- flexDirection: isMobile ? "column" : "row",
2623
- alignItems: isMobile ? "stretch" : "flex-start",
2981
+ headerStack: {
2624
2982
  gap: isMobile ? "12px" : "10px"
2625
2983
  },
2626
2984
  logo: {
@@ -2641,32 +2999,40 @@ var RedactoNoticeConsent = ({
2641
2999
  }),
2642
3000
  [isMobile]
2643
3001
  );
2644
- const componentHeadingStyle = useMemo(
3002
+ const fontFamily = useNoticeFont({
3003
+ hostFont: settings == null ? void 0 : settings.font,
3004
+ noticeFont: content == null ? void 0 : content.font_preference
3005
+ });
3006
+ const componentHeadingStyle = useMemo2(
3007
+ () => ({
3008
+ color: (settings == null ? void 0 : settings.headingColor) || "#323B4B"
3009
+ }),
3010
+ [settings == null ? void 0 : settings.headingColor]
3011
+ );
3012
+ const componentTextStyle = useMemo2(
2645
3013
  () => ({
2646
- color: (settings == null ? void 0 : settings.headingColor) || "#323B4B",
2647
- fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
3014
+ color: (settings == null ? void 0 : settings.textColor) || "#344054"
2648
3015
  }),
2649
- [settings == null ? void 0 : settings.headingColor, settings == null ? void 0 : settings.font]
3016
+ [settings == null ? void 0 : settings.textColor]
2650
3017
  );
2651
- const componentTextStyle = useMemo(
3018
+ const sectionStyle = useMemo2(
2652
3019
  () => ({
2653
- color: (settings == null ? void 0 : settings.textColor) || "#344054",
2654
- fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
3020
+ color: (settings == null ? void 0 : settings.textColor) || "#344054"
2655
3021
  }),
2656
- [settings == null ? void 0 : settings.textColor, settings == null ? void 0 : settings.font]
3022
+ [settings == null ? void 0 : settings.textColor]
2657
3023
  );
2658
- const sectionStyle = useMemo(
3024
+ const logoRowStyle = useMemo2(
2659
3025
  () => ({
2660
- color: (settings == null ? void 0 : settings.textColor) || "#344054",
2661
- fontFamily: (settings == null ? void 0 : settings.font) || "inherit"
3026
+ ...styles.logoRow,
3027
+ justifyContent: logoRowJustify(resolveLogoPosition(content == null ? void 0 : content.logo_position))
2662
3028
  }),
2663
- [settings == null ? void 0 : settings.textColor, settings == null ? void 0 : settings.font]
3029
+ [content == null ? void 0 : content.logo_position]
2664
3030
  );
2665
- const areAllRequiredElementsChecked = useMemo(() => {
3031
+ const areAllRequiredElementsChecked = useMemo2(() => {
2666
3032
  if (!content) return false;
2667
3033
  return content.purposes.every((purpose) => {
2668
3034
  const requiredElements = purpose.data_elements.filter(
2669
- (element) => element.required
3035
+ (element) => element.required && element.enabled
2670
3036
  );
2671
3037
  return requiredElements.every(
2672
3038
  (element) => selectedDataElements[`${purpose.uuid}-${element.uuid}`]
@@ -2674,7 +3040,7 @@ var RedactoNoticeConsent = ({
2674
3040
  });
2675
3041
  }, [content, selectedDataElements]);
2676
3042
  const acceptDisabled = isSubmitting || !areAllRequiredElementsChecked;
2677
- useEffect(() => {
3043
+ useEffect2(() => {
2678
3044
  var _a2, _b2;
2679
3045
  clearApiCache();
2680
3046
  isRequestInProgressRef.current = false;
@@ -2737,7 +3103,7 @@ var RedactoNoticeConsent = ({
2737
3103
  }
2738
3104
  isInitialMountRef.current = false;
2739
3105
  }, [accessToken]);
2740
- useEffect(() => {
3106
+ useEffect2(() => {
2741
3107
  if (hasAlreadyConsented) {
2742
3108
  onAccept == null ? void 0 : onAccept();
2743
3109
  }
@@ -2810,7 +3176,7 @@ var RedactoNoticeConsent = ({
2810
3176
  return content.dpo_info[key] || defaultText;
2811
3177
  };
2812
3178
  const fetchNotice = async () => {
2813
- var _a2, _b2, _c2;
3179
+ var _a2;
2814
3180
  if (isRequestInProgressRef.current) {
2815
3181
  return;
2816
3182
  }
@@ -2824,11 +3190,12 @@ var RedactoNoticeConsent = ({
2824
3190
  setShowAgeVerification(false);
2825
3191
  setShowGuardianForm(false);
2826
3192
  try {
3193
+ const noticeBaseUrl = ledgerBaseUrl && !applicationId && !token ? ledgerBaseUrl : baseUrl;
2827
3194
  const consentContentData = await fetchConsentContent({
2828
3195
  noticeId,
2829
3196
  accessToken,
2830
3197
  refreshToken,
2831
- baseUrl,
3198
+ baseUrl: noticeBaseUrl,
2832
3199
  language,
2833
3200
  specific_uuid: applicationId,
2834
3201
  validate_against: validateAgainst,
@@ -2852,25 +3219,8 @@ var RedactoNoticeConsent = ({
2852
3219
  {}
2853
3220
  );
2854
3221
  setCollapsedPurposes(initialCollapsedState);
2855
- let isReconsentRequired = consentContentData.detail.reconsent_required;
2856
- let purposeSelections = consentContentData.detail.purpose_selections;
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
- }
3222
+ const isReconsentRequired = consentContentData.detail.reconsent_required;
3223
+ const purposeSelections = consentContentData.detail.purpose_selections;
2874
3224
  const newCategorizedPurposes = isReconsentRequired ? {
2875
3225
  alreadyConsented: activeConfig.purposes.filter(
2876
3226
  (purpose) => {
@@ -2886,12 +3236,18 @@ var RedactoNoticeConsent = ({
2886
3236
  )
2887
3237
  } : null;
2888
3238
  setCategorizedPurposes(newCategorizedPurposes);
3239
+ const preselection = buildPreselection(
3240
+ activeConfig.purposes,
3241
+ resolvePurposePreselection(activeConfig.purpose_preselection)
3242
+ );
2889
3243
  const initialPurposeState = activeConfig.purposes.reduce(
2890
3244
  (acc, purpose) => {
2891
- if (purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) {
2892
- acc[purpose.uuid] = purposeSelections[purpose.uuid].selected;
3245
+ var _a3;
3246
+ const recorded = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid];
3247
+ if (hasRecordedPurposeState(recorded)) {
3248
+ acc[purpose.uuid] = recorded.selected;
2893
3249
  } else {
2894
- acc[purpose.uuid] = false;
3250
+ acc[purpose.uuid] = (_a3 = preselection.selectedPurposes[purpose.uuid]) != null ? _a3 : false;
2895
3251
  }
2896
3252
  return acc;
2897
3253
  },
@@ -2900,13 +3256,18 @@ var RedactoNoticeConsent = ({
2900
3256
  setSelectedPurposes(initialPurposeState);
2901
3257
  const initialDataElementState = activeConfig.purposes.reduce(
2902
3258
  (acc, purpose) => {
3259
+ const hasRecordedSelection = hasRecordedPurposeState(
3260
+ purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]
3261
+ );
2903
3262
  purpose.data_elements.forEach((element) => {
2904
- var _a3, _b3;
3263
+ var _a3, _b2, _c2;
2905
3264
  const combinedId = `${purpose.uuid}-${element.uuid}`;
2906
- if ((_b3 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b3[element.uuid]) {
3265
+ if ((_b2 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
2907
3266
  acc[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
2908
- } else {
3267
+ } else if (hasRecordedSelection) {
2909
3268
  acc[combinedId] = false;
3269
+ } else {
3270
+ acc[combinedId] = (_c2 = preselection.selectedDataElements[combinedId]) != null ? _c2 : false;
2910
3271
  }
2911
3272
  });
2912
3273
  return acc;
@@ -2919,9 +3280,9 @@ var RedactoNoticeConsent = ({
2919
3280
  const initialSelections = {};
2920
3281
  newCategorizedPurposes.alreadyConsented.forEach((purpose) => {
2921
3282
  purpose.data_elements.forEach((element) => {
2922
- var _a3, _b3;
3283
+ var _a3, _b2;
2923
3284
  const combinedId = `${purpose.uuid}-${element.uuid}`;
2924
- if ((_b3 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b3[element.uuid]) {
3285
+ if ((_b2 = (_a3 = purposeSelections == null ? void 0 : purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
2925
3286
  initialSelections[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
2926
3287
  } else {
2927
3288
  initialSelections[combinedId] = false;
@@ -2942,9 +3303,9 @@ var RedactoNoticeConsent = ({
2942
3303
  activeConfig.purposes.forEach(
2943
3304
  (purpose) => {
2944
3305
  purpose.data_elements.forEach((element) => {
2945
- var _a3, _b3;
3306
+ var _a3, _b2;
2946
3307
  const combinedId = `${purpose.uuid}-${element.uuid}`;
2947
- if ((_b3 = (_a3 = purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b3[element.uuid]) {
3308
+ if ((_b2 = (_a3 = purposeSelections[purpose.uuid]) == null ? void 0 : _a3.data_elements) == null ? void 0 : _b2[element.uuid]) {
2948
3309
  initialSelections[combinedId] = purposeSelections[purpose.uuid].data_elements[element.uuid].selected;
2949
3310
  } else {
2950
3311
  initialSelections[combinedId] = false;
@@ -2985,7 +3346,7 @@ var RedactoNoticeConsent = ({
2985
3346
  isRequestInProgressRef.current = false;
2986
3347
  }
2987
3348
  };
2988
- useEffect(() => {
3349
+ useEffect2(() => {
2989
3350
  injectCheckboxStyles();
2990
3351
  fetchNotice();
2991
3352
  }, [
@@ -2995,6 +3356,7 @@ var RedactoNoticeConsent = ({
2995
3356
  sandboxParams,
2996
3357
  language,
2997
3358
  applicationId,
3359
+ ledgerBaseUrl,
2998
3360
  validateAgainst,
2999
3361
  includeFullyConsentedData
3000
3362
  // Removed onError and isRefreshingToken from dependencies to prevent duplicate API calls
@@ -3063,7 +3425,7 @@ var RedactoNoticeConsent = ({
3063
3425
  return newState;
3064
3426
  });
3065
3427
  };
3066
- const handleAccept = async () => {
3428
+ const handleAccept = async (mode = "selected") => {
3067
3429
  const submitController = new AbortController();
3068
3430
  try {
3069
3431
  if (isMinorFlow && !verificationReference) {
@@ -3074,6 +3436,14 @@ var RedactoNoticeConsent = ({
3074
3436
  setIsSubmitting(true);
3075
3437
  setErrorMessage(null);
3076
3438
  if (content) {
3439
+ const selection = buildSelectionForMode(content.purposes, mode, {
3440
+ selectedPurposes,
3441
+ selectedDataElements
3442
+ });
3443
+ if (mode !== "selected") {
3444
+ setSelectedPurposes(selection.selectedPurposes);
3445
+ setSelectedDataElements(selection.selectedDataElements);
3446
+ }
3077
3447
  await submitConsentEvent({
3078
3448
  accessToken,
3079
3449
  baseUrl,
@@ -3083,11 +3453,11 @@ var RedactoNoticeConsent = ({
3083
3453
  const isAlreadyConsented = (categorizedPurposes == null ? void 0 : categorizedPurposes.alreadyConsented.some(
3084
3454
  (p) => p.uuid === purpose.uuid
3085
3455
  )) || false;
3086
- let purposeSelected = selectedPurposes[purpose.uuid] || false;
3087
- if (isAlreadyConsented) {
3456
+ let purposeSelected = selection.selectedPurposes[purpose.uuid] || false;
3457
+ if (mode === "selected" && isAlreadyConsented) {
3088
3458
  const wasModified = purpose.data_elements.some((element) => {
3089
3459
  const combinedId = `${purpose.uuid}-${element.uuid}`;
3090
- const currentSelection = selectedDataElements[combinedId] || false;
3460
+ const currentSelection = selection.selectedDataElements[combinedId] || false;
3091
3461
  const initialSelection = initialDataElementSelections[combinedId] || false;
3092
3462
  return currentSelection !== initialSelection;
3093
3463
  });
@@ -3100,7 +3470,7 @@ var RedactoNoticeConsent = ({
3100
3470
  selected: purposeSelected,
3101
3471
  data_elements: purpose.data_elements.map((element) => ({
3102
3472
  ...element,
3103
- selected: element.required ? true : selectedDataElements[`${purpose.uuid}-${element.uuid}`] || false
3473
+ selected: element.required ? true : selection.selectedDataElements[`${purpose.uuid}-${element.uuid}`] || false
3104
3474
  }))
3105
3475
  };
3106
3476
  }),
@@ -3539,7 +3909,7 @@ var RedactoNoticeConsent = ({
3539
3909
  }
3540
3910
  clearConsentState();
3541
3911
  }, []);
3542
- const availableLanguages = useMemo(() => {
3912
+ const availableLanguages = useMemo2(() => {
3543
3913
  if (!content) return [language];
3544
3914
  const pinned = ["English"];
3545
3915
  if (content.default_language && content.default_language !== "English" && content.default_language !== "en") {
@@ -3561,7 +3931,7 @@ var RedactoNoticeConsent = ({
3561
3931
  },
3562
3932
  [content]
3563
3933
  );
3564
- const audioSequence = useMemo(() => {
3934
+ const audioSequence = useMemo2(() => {
3565
3935
  if (!ttsAudioUrls || !content) return [];
3566
3936
  const sequence = [];
3567
3937
  if (ttsAudioUrls.notice_banner_heading_audio_url) {
@@ -3618,6 +3988,9 @@ var RedactoNoticeConsent = ({
3618
3988
  }
3619
3989
  });
3620
3990
  }
3991
+ if (ttsAudioUrls.accept_all_button_text_audio_url) {
3992
+ sequence.push(ttsAudioUrls.accept_all_button_text_audio_url);
3993
+ }
3621
3994
  if (ttsAudioUrls.confirm_button_text_audio_url) {
3622
3995
  sequence.push(ttsAudioUrls.confirm_button_text_audio_url);
3623
3996
  }
@@ -3626,7 +3999,7 @@ var RedactoNoticeConsent = ({
3626
3999
  }
3627
4000
  return sequence;
3628
4001
  }, [ttsAudioUrls, content, categorizedPurposes]);
3629
- const elementIdSequence = useMemo(() => {
4002
+ const elementIdSequence = useMemo2(() => {
3630
4003
  if (!ttsAudioUrls || !content) return [];
3631
4004
  const elementIds = [];
3632
4005
  if (ttsAudioUrls.notice_banner_heading_audio_url) {
@@ -3679,11 +4052,14 @@ var RedactoNoticeConsent = ({
3679
4052
  }
3680
4053
  });
3681
4054
  }
4055
+ if (ttsAudioUrls.accept_all_button_text_audio_url) {
4056
+ elementIds.push(ACCEPT_ALL_BUTTON_ID);
4057
+ }
3682
4058
  if (ttsAudioUrls.confirm_button_text_audio_url) {
3683
- elementIds.push("confirm-button-text");
4059
+ elementIds.push(ACCEPT_SELECTED_BUTTON_ID);
3684
4060
  }
3685
4061
  if (ttsAudioUrls.decline_button_text_audio_url) {
3686
- elementIds.push("decline-button-text");
4062
+ elementIds.push(DECLINE_BUTTON_ID);
3687
4063
  }
3688
4064
  return elementIds;
3689
4065
  }, [ttsAudioUrls, content, categorizedPurposes]);
@@ -3759,7 +4135,7 @@ var RedactoNoticeConsent = ({
3759
4135
  playAudio();
3760
4136
  }
3761
4137
  }, [isPlaying, playAudio, pauseAudio]);
3762
- useEffect(() => {
4138
+ useEffect2(() => {
3763
4139
  var _a2;
3764
4140
  if (!isPlaying || !content || audioSequence.length === 0) return;
3765
4141
  const currentIndex = currentAudioIndex;
@@ -3793,7 +4169,7 @@ var RedactoNoticeConsent = ({
3793
4169
  categorizedPurposes,
3794
4170
  collapsedPurposes
3795
4171
  ]);
3796
- useEffect(() => {
4172
+ useEffect2(() => {
3797
4173
  const removeAllHighlights = () => {
3798
4174
  document.querySelectorAll(".redacto-tts-highlight").forEach((el) => {
3799
4175
  el.classList.remove("redacto-tts-highlight");
@@ -3829,7 +4205,7 @@ var RedactoNoticeConsent = ({
3829
4205
  removeAllHighlights();
3830
4206
  };
3831
4207
  }, [highlightedElementId, isPlaying]);
3832
- useEffect(() => {
4208
+ useEffect2(() => {
3833
4209
  setIsTTSAvailable(false);
3834
4210
  setTtsAudioUrls(null);
3835
4211
  stopAudio();
@@ -3841,6 +4217,7 @@ var RedactoNoticeConsent = ({
3841
4217
  fetchTTSAudioUrls({
3842
4218
  accessToken,
3843
4219
  baseUrl,
4220
+ ledgerBaseUrl,
3844
4221
  noticeUuid: content.notice_uuid,
3845
4222
  language: languageCode,
3846
4223
  signal: ttsAbortController.signal,
@@ -3857,44 +4234,67 @@ var RedactoNoticeConsent = ({
3857
4234
  return () => {
3858
4235
  ttsAbortController.abort();
3859
4236
  };
3860
- }, [content, selectedLanguage, accessToken, sandboxParams, baseUrl, getLanguageCode]);
4237
+ }, [content, selectedLanguage, accessToken, sandboxParams, baseUrl, ledgerBaseUrl, getLanguageCode]);
3861
4238
  const modalStyle = {
3862
4239
  borderRadius: (settings == null ? void 0 : settings.borderRadius) || "8px",
3863
- backgroundColor: (settings == null ? void 0 : settings.backgroundColor) || "#ffffff"
4240
+ backgroundColor: (settings == null ? void 0 : settings.backgroundColor) || "#ffffff",
4241
+ fontFamily
3864
4242
  };
3865
4243
  const buttonStyle = {
3866
4244
  borderRadius: (settings == null ? void 0 : settings.borderRadius) || "8px"
3867
4245
  };
3868
- const acceptButtonStyle = {
4246
+ const acceptAllButtonStyle = {
3869
4247
  ...buttonStyle,
3870
- backgroundColor: ((_b = (_a = settings == null ? void 0 : settings.button) == null ? void 0 : _a.accept) == null ? void 0 : _b.backgroundColor) || (content == null ? void 0 : content.primary_color) || "#4f87ff",
3871
- color: ((_d = (_c = settings == null ? void 0 : settings.button) == null ? void 0 : _c.accept) == null ? void 0 : _d.textColor) || "#ffffff"
4248
+ backgroundColor: ((_b = (_a = settings == null ? void 0 : settings.button) == null ? void 0 : _a.acceptAll) == null ? void 0 : _b.backgroundColor) || ((_d = (_c = settings == null ? void 0 : settings.button) == null ? void 0 : _c.accept) == null ? void 0 : _d.backgroundColor) || (content == null ? void 0 : content.primary_color) || "#4f87ff",
4249
+ color: ((_f = (_e = settings == null ? void 0 : settings.button) == null ? void 0 : _e.acceptAll) == null ? void 0 : _f.textColor) || ((_h = (_g = settings == null ? void 0 : settings.button) == null ? void 0 : _g.accept) == null ? void 0 : _h.textColor) || "#ffffff"
4250
+ };
4251
+ const acceptSelectedButtonStyle = {
4252
+ ...buttonStyle,
4253
+ backgroundColor: "#ffffff",
4254
+ color: ((_j = (_i = settings == null ? void 0 : settings.button) == null ? void 0 : _i.accept) == null ? void 0 : _j.backgroundColor) || (content == null ? void 0 : content.primary_color) || "#4f87ff",
4255
+ borderColor: ((_l = (_k = settings == null ? void 0 : settings.button) == null ? void 0 : _k.accept) == null ? void 0 : _l.backgroundColor) || (content == null ? void 0 : content.primary_color) || "#4f87ff"
3872
4256
  };
3873
4257
  const declineButtonStyle = {
3874
4258
  ...buttonStyle,
3875
- backgroundColor: ((_f = (_e = settings == null ? void 0 : settings.button) == null ? void 0 : _e.decline) == null ? void 0 : _f.backgroundColor) || "#ffffff",
3876
- color: ((_h = (_g = settings == null ? void 0 : settings.button) == null ? void 0 : _g.decline) == null ? void 0 : _h.textColor) || "#000000",
4259
+ backgroundColor: ((_n = (_m = settings == null ? void 0 : settings.button) == null ? void 0 : _m.decline) == null ? void 0 : _n.backgroundColor) || "#ffffff",
4260
+ color: ((_p = (_o = settings == null ? void 0 : settings.button) == null ? void 0 : _o.decline) == null ? void 0 : _p.textColor) || "#000000",
3877
4261
  borderColor: (settings == null ? void 0 : settings.borderColor) || "#d0d5dd"
3878
4262
  };
4263
+ const actionLabels = {
4264
+ acceptAll: getTranslatedText(
4265
+ "accept_all_button_text",
4266
+ (content == null ? void 0 : content.accept_all_button_text) || DEFAULT_ACCEPT_ALL_BUTTON_TEXT
4267
+ ),
4268
+ acceptSelected: getTranslatedText(
4269
+ "confirm_button_text",
4270
+ (content == null ? void 0 : content.confirm_button_text) || DEFAULT_ACCEPT_SELECTED_BUTTON_TEXT
4271
+ ),
4272
+ decline: getTranslatedText(
4273
+ "decline_button_text",
4274
+ (content == null ? void 0 : content.decline_button_text) || DEFAULT_DECLINE_BUTTON_TEXT
4275
+ )
4276
+ };
4277
+ const handleAcceptAll = () => handleAccept("all");
4278
+ const handleAcceptSelected = () => handleAccept("selected");
3879
4279
  const linkStyle = {
3880
4280
  color: (settings == null ? void 0 : settings.link) || (content == null ? void 0 : content.secondary_color) || "#4f87ff"
3881
4281
  };
3882
4282
  const languageSelectorStyle = {
3883
4283
  borderRadius: (settings == null ? void 0 : settings.borderRadius) || "8px",
3884
4284
  borderColor: (settings == null ? void 0 : settings.borderColor) || "#d0d5dd",
3885
- backgroundColor: ((_j = (_i = settings == null ? void 0 : settings.button) == null ? void 0 : _i.language) == null ? void 0 : _j.backgroundColor) || "#ffffff",
3886
- color: ((_l = (_k = settings == null ? void 0 : settings.button) == null ? void 0 : _k.language) == null ? void 0 : _l.textColor) || "#344054"
4285
+ backgroundColor: ((_r = (_q = settings == null ? void 0 : settings.button) == null ? void 0 : _q.language) == null ? void 0 : _r.backgroundColor) || "#ffffff",
4286
+ color: ((_t = (_s = settings == null ? void 0 : settings.button) == null ? void 0 : _s.language) == null ? void 0 : _t.textColor) || "#344054"
3887
4287
  };
3888
4288
  const selectedLanguageItemStyle = {
3889
4289
  ...languageSelectorStyle,
3890
- backgroundColor: ((_n = (_m = settings == null ? void 0 : settings.button) == null ? void 0 : _m.language) == null ? void 0 : _n.selectedBackgroundColor) || "#f3f4f6",
3891
- color: ((_p = (_o = settings == null ? void 0 : settings.button) == null ? void 0 : _o.language) == null ? void 0 : _p.selectedTextColor) || "#344054",
4290
+ backgroundColor: ((_v = (_u = settings == null ? void 0 : settings.button) == null ? void 0 : _u.language) == null ? void 0 : _v.selectedBackgroundColor) || "#f3f4f6",
4291
+ color: ((_x = (_w = settings == null ? void 0 : settings.button) == null ? void 0 : _w.language) == null ? void 0 : _x.selectedTextColor) || "#344054",
3892
4292
  fontWeight: 600
3893
4293
  };
3894
4294
  const handleCloseError = () => {
3895
4295
  setErrorMessage(null);
3896
4296
  };
3897
- useEffect(() => {
4297
+ useEffect2(() => {
3898
4298
  const handleKeyDown = (event) => {
3899
4299
  if (!modalRef.current) return;
3900
4300
  const focusableElements = modalRef.current.querySelectorAll(
@@ -3933,13 +4333,13 @@ var RedactoNoticeConsent = ({
3933
4333
  modal == null ? void 0 : modal.removeEventListener("keydown", handleKeyDown);
3934
4334
  };
3935
4335
  }, [isLoading, handleDecline]);
3936
- useEffect(() => {
4336
+ useEffect2(() => {
3937
4337
  stopAudio();
3938
4338
  }, [selectedLanguage, stopAudio]);
3939
- useEffect(() => {
4339
+ useEffect2(() => {
3940
4340
  stopAudio();
3941
4341
  }, [content, stopAudio]);
3942
- useEffect(() => {
4342
+ useEffect2(() => {
3943
4343
  return () => {
3944
4344
  var _a2, _b2;
3945
4345
  if (abortControllerRef.current) {
@@ -3965,7 +4365,7 @@ var RedactoNoticeConsent = ({
3965
4365
  }
3966
4366
  };
3967
4367
  }, [stopAudio]);
3968
- useEffect(() => {
4368
+ useEffect2(() => {
3969
4369
  const persistedState = getConsentState();
3970
4370
  if (!persistedState) return;
3971
4371
  if (persistedState.noticeId && persistedState.noticeId !== noticeId) {
@@ -4002,8 +4402,8 @@ var RedactoNoticeConsent = ({
4002
4402
  clearConsentState();
4003
4403
  }
4004
4404
  }, [startStatusPolling, noticeId]);
4005
- return /* @__PURE__ */ jsx(Fragment, { children: hasAlreadyConsented ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
4006
- blockUI && /* @__PURE__ */ jsx(
4405
+ return /* @__PURE__ */ jsx3(Fragment2, { children: hasAlreadyConsented ? null : /* @__PURE__ */ jsxs2(Fragment2, { children: [
4406
+ blockUI && /* @__PURE__ */ jsx3(
4007
4407
  "div",
4008
4408
  {
4009
4409
  style: styles.overlay,
@@ -4011,10 +4411,11 @@ var RedactoNoticeConsent = ({
4011
4411
  role: "presentation"
4012
4412
  }
4013
4413
  ),
4014
- /* @__PURE__ */ jsx(
4414
+ /* @__PURE__ */ jsx3(
4015
4415
  "div",
4016
4416
  {
4017
4417
  ref: modalRef,
4418
+ ...NOTICE_FONT_ROOT_PROPS,
4018
4419
  style: {
4019
4420
  ...styles.modal,
4020
4421
  ...responsiveStyles.modal,
@@ -4025,7 +4426,7 @@ var RedactoNoticeConsent = ({
4025
4426
  "aria-labelledby": "privacy-notice-title",
4026
4427
  "aria-describedby": "privacy-notice-description",
4027
4428
  tabIndex: -1,
4028
- children: isLoading ? /* @__PURE__ */ jsxs(
4429
+ children: isLoading ? /* @__PURE__ */ jsxs2(
4029
4430
  "div",
4030
4431
  {
4031
4432
  role: "status",
@@ -4033,11 +4434,11 @@ var RedactoNoticeConsent = ({
4033
4434
  "aria-label": "Loading consent notice",
4034
4435
  style: styles.loadingContainer,
4035
4436
  children: [
4036
- /* @__PURE__ */ jsx("div", { style: styles.loadingSpinner, "aria-hidden": "true" }),
4037
- /* @__PURE__ */ jsx("p", { style: { ...styles.privacyText, ...componentTextStyle }, children: "Loading..." })
4437
+ /* @__PURE__ */ jsx3("div", { style: styles.loadingSpinner, "aria-hidden": "true" }),
4438
+ /* @__PURE__ */ jsx3("p", { style: { ...styles.privacyText, ...componentTextStyle }, children: "Loading..." })
4038
4439
  ]
4039
4440
  }
4040
- ) : fetchError ? /* @__PURE__ */ jsx(
4441
+ ) : fetchError ? /* @__PURE__ */ jsx3(
4041
4442
  "div",
4042
4443
  {
4043
4444
  role: "alert",
@@ -4053,7 +4454,7 @@ var RedactoNoticeConsent = ({
4053
4454
  textAlign: "center",
4054
4455
  padding: "40px 20px"
4055
4456
  },
4056
- children: /* @__PURE__ */ jsxs(
4457
+ children: /* @__PURE__ */ jsxs2(
4057
4458
  "div",
4058
4459
  {
4059
4460
  style: {
@@ -4066,7 +4467,7 @@ var RedactoNoticeConsent = ({
4066
4467
  position: "relative"
4067
4468
  },
4068
4469
  children: [
4069
- /* @__PURE__ */ jsx(
4470
+ /* @__PURE__ */ jsx3(
4070
4471
  "button",
4071
4472
  {
4072
4473
  onClick: handleDecline,
@@ -4084,7 +4485,7 @@ var RedactoNoticeConsent = ({
4084
4485
  justifyContent: "center"
4085
4486
  },
4086
4487
  "aria-label": "Close error message",
4087
- children: /* @__PURE__ */ jsx(
4488
+ children: /* @__PURE__ */ jsx3(
4088
4489
  "svg",
4089
4490
  {
4090
4491
  width: isMobile ? "14" : "16",
@@ -4093,7 +4494,7 @@ var RedactoNoticeConsent = ({
4093
4494
  fill: "none",
4094
4495
  xmlns: "http://www.w3.org/2000/svg",
4095
4496
  "aria-hidden": "true",
4096
- children: /* @__PURE__ */ jsx(
4497
+ children: /* @__PURE__ */ jsx3(
4097
4498
  "path",
4098
4499
  {
4099
4500
  d: "M12 4L4 12M4 4L12 12",
@@ -4107,7 +4508,7 @@ var RedactoNoticeConsent = ({
4107
4508
  )
4108
4509
  }
4109
4510
  ),
4110
- /* @__PURE__ */ jsx(
4511
+ /* @__PURE__ */ jsx3(
4111
4512
  "h3",
4112
4513
  {
4113
4514
  style: {
@@ -4118,7 +4519,7 @@ var RedactoNoticeConsent = ({
4118
4519
  children: "Error Loading Consent Notice"
4119
4520
  }
4120
4521
  ),
4121
- /* @__PURE__ */ jsx(
4522
+ /* @__PURE__ */ jsx3(
4122
4523
  "p",
4123
4524
  {
4124
4525
  style: {
@@ -4129,7 +4530,7 @@ var RedactoNoticeConsent = ({
4129
4530
  children: fetchError.message || "Failed to load consent notice. Please try again."
4130
4531
  }
4131
4532
  ),
4132
- /* @__PURE__ */ jsx(
4533
+ /* @__PURE__ */ jsx3(
4133
4534
  "button",
4134
4535
  {
4135
4536
  onClick: fetchNotice,
@@ -4154,7 +4555,7 @@ var RedactoNoticeConsent = ({
4154
4555
  }
4155
4556
  )
4156
4557
  }
4157
- ) : showAgeVerification ? /* @__PURE__ */ jsx("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx(
4558
+ ) : showAgeVerification ? /* @__PURE__ */ jsx3("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx3(
4158
4559
  AgeVerification,
4159
4560
  {
4160
4561
  onYes: handleAgeVerificationYes,
@@ -4164,12 +4565,12 @@ var RedactoNoticeConsent = ({
4164
4565
  responsiveStyles,
4165
4566
  componentHeadingStyle,
4166
4567
  componentTextStyle,
4167
- acceptButtonStyle,
4568
+ acceptButtonStyle: acceptAllButtonStyle,
4168
4569
  declineButtonStyle,
4169
4570
  logoUrl: (content == null ? void 0 : content.logo_url) || redacto_logo_default,
4170
4571
  isMobile
4171
4572
  }
4172
- ) }) : showGuardianForm ? /* @__PURE__ */ jsx("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx(
4573
+ ) }) : showGuardianForm ? /* @__PURE__ */ jsx3("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx3(
4173
4574
  GuardianForm,
4174
4575
  {
4175
4576
  formData: guardianFormData,
@@ -4183,11 +4584,11 @@ var RedactoNoticeConsent = ({
4183
4584
  settings,
4184
4585
  componentHeadingStyle,
4185
4586
  componentTextStyle,
4186
- acceptButtonStyle,
4587
+ acceptButtonStyle: acceptAllButtonStyle,
4187
4588
  declineButtonStyle,
4188
4589
  logoUrl: (content == null ? void 0 : content.logo_url) || redacto_logo_default
4189
4590
  }
4190
- ) }) : showVerificationScreen ? /* @__PURE__ */ jsx("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx(
4591
+ ) }) : showVerificationScreen ? /* @__PURE__ */ jsx3("div", { style: { ...styles.content, ...responsiveStyles.content }, children: /* @__PURE__ */ jsx3(
4191
4592
  VerificationScreen,
4192
4593
  {
4193
4594
  onBack: handleBackToGuardianForm,
@@ -4204,12 +4605,12 @@ var RedactoNoticeConsent = ({
4204
4605
  settings,
4205
4606
  componentHeadingStyle,
4206
4607
  componentTextStyle,
4207
- acceptButtonStyle,
4608
+ acceptButtonStyle: acceptAllButtonStyle,
4208
4609
  declineButtonStyle,
4209
4610
  logoUrl: (content == null ? void 0 : content.logo_url) || redacto_logo_default
4210
4611
  }
4211
- ) }) : /* @__PURE__ */ jsxs("div", { style: { ...styles.content, ...responsiveStyles.content }, children: [
4212
- errorMessage && /* @__PURE__ */ jsxs(
4612
+ ) }) : /* @__PURE__ */ jsxs2("div", { style: { ...styles.content, ...responsiveStyles.content }, children: [
4613
+ errorMessage && /* @__PURE__ */ jsxs2(
4213
4614
  "div",
4214
4615
  {
4215
4616
  role: "alert",
@@ -4227,8 +4628,8 @@ var RedactoNoticeConsent = ({
4227
4628
  justifyContent: "space-between"
4228
4629
  },
4229
4630
  children: [
4230
- /* @__PURE__ */ jsx("span", { children: errorMessage }),
4231
- /* @__PURE__ */ jsx(
4631
+ /* @__PURE__ */ jsx3("span", { children: errorMessage }),
4632
+ /* @__PURE__ */ jsx3(
4232
4633
  "button",
4233
4634
  {
4234
4635
  type: "button",
@@ -4245,7 +4646,7 @@ var RedactoNoticeConsent = ({
4245
4646
  justifyContent: "center"
4246
4647
  },
4247
4648
  "aria-label": "Close error message",
4248
- children: /* @__PURE__ */ jsx(
4649
+ children: /* @__PURE__ */ jsx3(
4249
4650
  "svg",
4250
4651
  {
4251
4652
  width: "16",
@@ -4254,7 +4655,7 @@ var RedactoNoticeConsent = ({
4254
4655
  fill: "none",
4255
4656
  xmlns: "http://www.w3.org/2000/svg",
4256
4657
  "aria-hidden": "true",
4257
- children: /* @__PURE__ */ jsx(
4658
+ children: /* @__PURE__ */ jsx3(
4258
4659
  "path",
4259
4660
  {
4260
4661
  d: "M12 4L4 12M4 4L12 12",
@@ -4271,17 +4672,17 @@ var RedactoNoticeConsent = ({
4271
4672
  ]
4272
4673
  }
4273
4674
  ),
4274
- /* @__PURE__ */ jsx(
4675
+ /* @__PURE__ */ jsx3(
4275
4676
  "div",
4276
4677
  {
4277
4678
  style: {
4278
- ...styles.topSection,
4279
- ...responsiveStyles.topSection,
4679
+ ...styles.headerStack,
4680
+ ...responsiveStyles.headerStack,
4280
4681
  ...sectionStyle
4281
4682
  },
4282
4683
  children: (() => {
4283
4684
  var _a2, _b2, _c2, _d2, _e2, _f2;
4284
- const logoNode = /* @__PURE__ */ jsx(
4685
+ const logoNode = /* @__PURE__ */ jsx3(
4285
4686
  "img",
4286
4687
  {
4287
4688
  style: { ...styles.logo, ...responsiveStyles.logo },
@@ -4289,7 +4690,7 @@ var RedactoNoticeConsent = ({
4289
4690
  alt: "Redacto Logo"
4290
4691
  }
4291
4692
  );
4292
- const titleNode = /* @__PURE__ */ jsx(
4693
+ const titleNode = /* @__PURE__ */ jsx3(
4293
4694
  "h2",
4294
4695
  {
4295
4696
  id: "privacy-notice-title",
@@ -4305,8 +4706,8 @@ var RedactoNoticeConsent = ({
4305
4706
  },
4306
4707
  `privacy-notice-title-${selectedLanguage}`
4307
4708
  );
4308
- const controlsBlock = /* @__PURE__ */ jsxs("div", { style: styles.languageSelectorContainer, children: [
4309
- /* @__PURE__ */ jsxs(
4709
+ const controlsBlock = /* @__PURE__ */ jsxs2("div", { style: styles.languageSelectorContainer, children: [
4710
+ /* @__PURE__ */ jsxs2(
4310
4711
  "div",
4311
4712
  {
4312
4713
  style: {
@@ -4315,7 +4716,7 @@ var RedactoNoticeConsent = ({
4315
4716
  gap: "8px"
4316
4717
  },
4317
4718
  children: [
4318
- isTTSAvailable && /* @__PURE__ */ jsx(
4719
+ isTTSAvailable && /* @__PURE__ */ jsx3(
4319
4720
  "button",
4320
4721
  {
4321
4722
  onClick: toggleAudio,
@@ -4332,7 +4733,7 @@ var RedactoNoticeConsent = ({
4332
4733
  title: isPlaying && !isPaused ? "Pause Talkback" : isPaused ? "Resume Talkback" : "Start Talkback",
4333
4734
  children: isPlaying && !isPaused ? (
4334
4735
  // Pause icon
4335
- /* @__PURE__ */ jsxs(
4736
+ /* @__PURE__ */ jsxs2(
4336
4737
  "svg",
4337
4738
  {
4338
4739
  xmlns: "http://www.w3.org/2000/svg",
@@ -4346,14 +4747,14 @@ var RedactoNoticeConsent = ({
4346
4747
  strokeLinejoin: "round",
4347
4748
  "aria-hidden": "true",
4348
4749
  children: [
4349
- /* @__PURE__ */ jsx("rect", { x: "6", y: "4", width: "4", height: "16" }),
4350
- /* @__PURE__ */ jsx("rect", { x: "14", y: "4", width: "4", height: "16" })
4750
+ /* @__PURE__ */ jsx3("rect", { x: "6", y: "4", width: "4", height: "16" }),
4751
+ /* @__PURE__ */ jsx3("rect", { x: "14", y: "4", width: "4", height: "16" })
4351
4752
  ]
4352
4753
  }
4353
4754
  )
4354
4755
  ) : (
4355
4756
  // Play/Sound icon
4356
- /* @__PURE__ */ jsxs(
4757
+ /* @__PURE__ */ jsxs2(
4357
4758
  "svg",
4358
4759
  {
4359
4760
  xmlns: "http://www.w3.org/2000/svg",
@@ -4367,15 +4768,15 @@ var RedactoNoticeConsent = ({
4367
4768
  strokeLinejoin: "round",
4368
4769
  "aria-hidden": "true",
4369
4770
  children: [
4370
- /* @__PURE__ */ jsx("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
4371
- /* @__PURE__ */ jsx("path", { d: "M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07" })
4771
+ /* @__PURE__ */ jsx3("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
4772
+ /* @__PURE__ */ jsx3("path", { d: "M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07" })
4372
4773
  ]
4373
4774
  }
4374
4775
  )
4375
4776
  )
4376
4777
  }
4377
4778
  ),
4378
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(
4779
+ /* @__PURE__ */ jsx3("div", { children: /* @__PURE__ */ jsxs2(
4379
4780
  "button",
4380
4781
  {
4381
4782
  ref: firstFocusableRef,
@@ -4391,7 +4792,7 @@ var RedactoNoticeConsent = ({
4391
4792
  "aria-label": `Select language. Current language: ${toNativeLabel(selectedLanguage)}`,
4392
4793
  children: [
4393
4794
  toNativeLabel(selectedLanguage),
4394
- /* @__PURE__ */ jsx(
4795
+ /* @__PURE__ */ jsx3(
4395
4796
  "svg",
4396
4797
  {
4397
4798
  xmlns: "http://www.w3.org/2000/svg",
@@ -4405,7 +4806,7 @@ var RedactoNoticeConsent = ({
4405
4806
  strokeLinejoin: "round",
4406
4807
  style: { flexShrink: 0, marginLeft: "4px" },
4407
4808
  "aria-hidden": "true",
4408
- children: /* @__PURE__ */ jsx("path", { d: "M4 6l4 4 4-4" })
4809
+ children: /* @__PURE__ */ jsx3("path", { d: "M4 6l4 4 4-4" })
4409
4810
  }
4410
4811
  )
4411
4812
  ]
@@ -4414,7 +4815,7 @@ var RedactoNoticeConsent = ({
4414
4815
  ]
4415
4816
  }
4416
4817
  ),
4417
- isLanguageDropdownOpen && /* @__PURE__ */ jsx(
4818
+ isLanguageDropdownOpen && /* @__PURE__ */ jsx3(
4418
4819
  "ul",
4419
4820
  {
4420
4821
  id: "language-listbox",
@@ -4424,7 +4825,7 @@ var RedactoNoticeConsent = ({
4424
4825
  },
4425
4826
  role: "listbox",
4426
4827
  "aria-label": "Select language",
4427
- children: availableLanguages.map((lang) => /* @__PURE__ */ jsx(
4828
+ children: availableLanguages.map((lang) => /* @__PURE__ */ jsx3(
4428
4829
  "li",
4429
4830
  {
4430
4831
  style: {
@@ -4445,45 +4846,17 @@ var RedactoNoticeConsent = ({
4445
4846
  }
4446
4847
  )
4447
4848
  ] });
4448
- return isMobile ? /* @__PURE__ */ jsxs(Fragment, { children: [
4449
- /* @__PURE__ */ jsxs(
4450
- "div",
4451
- {
4452
- style: {
4453
- display: "flex",
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
4849
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
4850
+ /* @__PURE__ */ jsx3("div", { style: logoRowStyle, children: logoNode }),
4851
+ /* @__PURE__ */ jsxs2("div", { style: styles.headerRow, children: [
4852
+ titleNode,
4853
+ controlsBlock
4854
+ ] })
4482
4855
  ] });
4483
4856
  })()
4484
4857
  }
4485
4858
  ),
4486
- /* @__PURE__ */ jsxs(
4859
+ /* @__PURE__ */ jsxs2(
4487
4860
  "div",
4488
4861
  {
4489
4862
  id: "privacy-notice-description",
@@ -4493,7 +4866,7 @@ var RedactoNoticeConsent = ({
4493
4866
  ...sectionStyle
4494
4867
  },
4495
4868
  children: [
4496
- /* @__PURE__ */ jsxs(
4869
+ /* @__PURE__ */ jsxs2(
4497
4870
  "p",
4498
4871
  {
4499
4872
  style: {
@@ -4502,7 +4875,7 @@ var RedactoNoticeConsent = ({
4502
4875
  ...componentTextStyle
4503
4876
  },
4504
4877
  children: [
4505
- /* @__PURE__ */ jsx(
4878
+ /* @__PURE__ */ jsx3(
4506
4879
  "span",
4507
4880
  {
4508
4881
  id: "privacy-notice-text",
@@ -4510,8 +4883,8 @@ var RedactoNoticeConsent = ({
4510
4883
  },
4511
4884
  `privacy-notice-text-${selectedLanguage}`
4512
4885
  ),
4513
- /* @__PURE__ */ jsx("br", {}),
4514
- /* @__PURE__ */ jsxs(
4886
+ /* @__PURE__ */ jsx3("br", {}),
4887
+ /* @__PURE__ */ jsxs2(
4515
4888
  "span",
4516
4889
  {
4517
4890
  id: "privacy-policy-text",
@@ -4521,7 +4894,7 @@ var RedactoNoticeConsent = ({
4521
4894
  (content == null ? void 0 : content.privacy_policy_prefix_text) || ""
4522
4895
  ),
4523
4896
  " ",
4524
- /* @__PURE__ */ jsx(
4897
+ /* @__PURE__ */ jsx3(
4525
4898
  "a",
4526
4899
  {
4527
4900
  id: "privacy-policy-link",
@@ -4544,7 +4917,7 @@ var RedactoNoticeConsent = ({
4544
4917
  },
4545
4918
  `privacy-text-${selectedLanguage}`
4546
4919
  ),
4547
- /* @__PURE__ */ jsx(
4920
+ /* @__PURE__ */ jsx3(
4548
4921
  "h2",
4549
4922
  {
4550
4923
  id: "purpose-section-heading",
@@ -4560,8 +4933,8 @@ var RedactoNoticeConsent = ({
4560
4933
  },
4561
4934
  `purpose-section-heading-${selectedLanguage}`
4562
4935
  ),
4563
- categorizedPurposes ? /* @__PURE__ */ jsxs("div", { style: styles.optionsContainer, children: [
4564
- categorizedPurposes.alreadyConsented.map((purpose) => /* @__PURE__ */ jsx(
4936
+ categorizedPurposes ? /* @__PURE__ */ jsxs2("div", { style: styles.optionsContainer, children: [
4937
+ categorizedPurposes.alreadyConsented.map((purpose) => /* @__PURE__ */ jsx3(
4565
4938
  PurposeItem,
4566
4939
  {
4567
4940
  purpose,
@@ -4581,7 +4954,7 @@ var RedactoNoticeConsent = ({
4581
4954
  },
4582
4955
  `${purpose.uuid}-${selectedLanguage}`
4583
4956
  )),
4584
- categorizedPurposes.needsConsent.map((purpose) => /* @__PURE__ */ jsx(
4957
+ categorizedPurposes.needsConsent.map((purpose) => /* @__PURE__ */ jsx3(
4585
4958
  PurposeItem,
4586
4959
  {
4587
4960
  purpose,
@@ -4602,7 +4975,7 @@ var RedactoNoticeConsent = ({
4602
4975
  ))
4603
4976
  ] }) : (
4604
4977
  /* Regular consent UI */
4605
- /* @__PURE__ */ jsx("div", { style: styles.optionsContainer, children: (_q = content == null ? void 0 : content.purposes) == null ? void 0 : _q.map((purpose) => /* @__PURE__ */ jsx(
4978
+ /* @__PURE__ */ jsx3("div", { style: styles.optionsContainer, children: (_y = content == null ? void 0 : content.purposes) == null ? void 0 : _y.map((purpose) => /* @__PURE__ */ jsx3(
4606
4979
  PurposeItem,
4607
4980
  {
4608
4981
  purpose,
@@ -4623,7 +4996,7 @@ var RedactoNoticeConsent = ({
4623
4996
  `${purpose.uuid}-${selectedLanguage}`
4624
4997
  )) })
4625
4998
  ),
4626
- ((content == null ? void 0 : content.privacy_center_url) || (content == null ? void 0 : content.dpo_info)) && /* @__PURE__ */ jsx(
4999
+ ((content == null ? void 0 : content.privacy_center_url) || (content == null ? void 0 : content.dpo_info)) && /* @__PURE__ */ jsx3(
4627
5000
  "div",
4628
5001
  {
4629
5002
  style: {
@@ -4636,14 +5009,14 @@ var RedactoNoticeConsent = ({
4636
5009
  paddingTop: "12px",
4637
5010
  marginTop: "12px"
4638
5011
  },
4639
- children: /* @__PURE__ */ jsxs("p", { style: { margin: 0, opacity: 0.6 }, children: [
4640
- content.privacy_center_url && /* @__PURE__ */ jsxs(Fragment, { children: [
4641
- content.additional_text && /* @__PURE__ */ jsx("span", { id: "additional-text", children: getTranslatedText(
5012
+ children: /* @__PURE__ */ jsxs2("p", { style: { margin: 0, opacity: 0.6 }, children: [
5013
+ content.privacy_center_url && /* @__PURE__ */ jsxs2(Fragment2, { children: [
5014
+ content.additional_text && /* @__PURE__ */ jsx3("span", { id: "additional-text", children: getTranslatedText(
4642
5015
  "additional_text",
4643
5016
  content.additional_text
4644
5017
  ) }),
4645
5018
  " ",
4646
- /* @__PURE__ */ jsx(
5019
+ /* @__PURE__ */ jsx3(
4647
5020
  "a",
4648
5021
  {
4649
5022
  id: "privacy-center-link",
@@ -4659,14 +5032,14 @@ var RedactoNoticeConsent = ({
4659
5032
  ),
4660
5033
  "."
4661
5034
  ] }),
4662
- content.dpo_info && /* @__PURE__ */ jsxs(Fragment, { children: [
4663
- content.privacy_center_url && /* @__PURE__ */ jsx("br", {}),
4664
- /* @__PURE__ */ jsx("span", { id: "dpo-grievance-text", children: getTranslatedDpoText(
5035
+ content.dpo_info && /* @__PURE__ */ jsxs2(Fragment2, { children: [
5036
+ content.privacy_center_url && /* @__PURE__ */ jsx3("br", {}),
5037
+ /* @__PURE__ */ jsx3("span", { id: "dpo-grievance-text", children: getTranslatedDpoText(
4665
5038
  "grievance_text",
4666
5039
  content.dpo_info.grievance_text || ""
4667
5040
  ) }),
4668
5041
  " ",
4669
- content.dpo_info.grievance_url && /* @__PURE__ */ jsx(
5042
+ content.dpo_info.grievance_url && /* @__PURE__ */ jsx3(
4670
5043
  "a",
4671
5044
  {
4672
5045
  id: "dpo-grievance-link",
@@ -4680,14 +5053,14 @@ var RedactoNoticeConsent = ({
4680
5053
  )
4681
5054
  }
4682
5055
  ),
4683
- content.dpo_info.grievance_email && /* @__PURE__ */ jsxs(Fragment, { children: [
5056
+ content.dpo_info.grievance_email && /* @__PURE__ */ jsxs2(Fragment2, { children: [
4684
5057
  " ",
4685
- /* @__PURE__ */ jsx("span", { id: "dpo-grievance-email-connector", children: getTranslatedDpoText(
5058
+ /* @__PURE__ */ jsx3("span", { id: "dpo-grievance-email-connector", children: getTranslatedDpoText(
4686
5059
  "grievance_email_connector_text",
4687
5060
  content.dpo_info.grievance_email_connector_text || "or email to"
4688
5061
  ) }),
4689
5062
  " ",
4690
- /* @__PURE__ */ jsx(
5063
+ /* @__PURE__ */ jsx3(
4691
5064
  "a",
4692
5065
  {
4693
5066
  id: "dpo-grievance-email",
@@ -4697,13 +5070,13 @@ var RedactoNoticeConsent = ({
4697
5070
  }
4698
5071
  )
4699
5072
  ] }),
4700
- /* @__PURE__ */ jsx("br", {}),
4701
- /* @__PURE__ */ jsx("span", { id: "dpo-dp-board-text", children: getTranslatedDpoText(
5073
+ /* @__PURE__ */ jsx3("br", {}),
5074
+ /* @__PURE__ */ jsx3("span", { id: "dpo-dp-board-text", children: getTranslatedDpoText(
4702
5075
  "dp_board_text",
4703
5076
  content.dpo_info.dp_board_text || ""
4704
5077
  ) }),
4705
5078
  " ",
4706
- content.dpo_info.dp_board_url && /* @__PURE__ */ jsx(
5079
+ content.dpo_info.dp_board_url && /* @__PURE__ */ jsx3(
4707
5080
  "a",
4708
5081
  {
4709
5082
  id: "dpo-dp-board-link",
@@ -4717,13 +5090,13 @@ var RedactoNoticeConsent = ({
4717
5090
  )
4718
5091
  }
4719
5092
  ),
4720
- /* @__PURE__ */ jsx("br", {}),
4721
- /* @__PURE__ */ jsx("span", { id: "dpo-dpo-text", children: getTranslatedDpoText(
5093
+ /* @__PURE__ */ jsx3("br", {}),
5094
+ /* @__PURE__ */ jsx3("span", { id: "dpo-dpo-text", children: getTranslatedDpoText(
4722
5095
  "dpo_text",
4723
5096
  content.dpo_info.dpo_text || ""
4724
5097
  ) }),
4725
5098
  " ",
4726
- content.dpo_info.dpo_email && /* @__PURE__ */ jsx(
5099
+ content.dpo_info.dpo_email && /* @__PURE__ */ jsx3(
4727
5100
  "a",
4728
5101
  {
4729
5102
  id: "dpo-dpo-link",
@@ -4742,15 +5115,17 @@ var RedactoNoticeConsent = ({
4742
5115
  ]
4743
5116
  }
4744
5117
  ),
4745
- /* @__PURE__ */ jsx(
5118
+ /* @__PURE__ */ jsx3(
4746
5119
  "div",
4747
5120
  {
4748
5121
  style: {
4749
- ...styles.bottomSection,
4750
- ...responsiveStyles.bottomSection,
5122
+ ...isFullyConsentedReviewMode ? {
5123
+ ...styles.bottomSection,
5124
+ ...responsiveStyles.bottomSection
5125
+ } : isMobile ? styles.actionButtonStack : styles.actionButtonRow,
4751
5126
  ...sectionStyle
4752
5127
  },
4753
- children: isFullyConsentedReviewMode ? /* @__PURE__ */ jsx(
5128
+ children: isFullyConsentedReviewMode ? /* @__PURE__ */ jsx3(
4754
5129
  "button",
4755
5130
  {
4756
5131
  ref: lastFocusableRef,
@@ -4759,61 +5134,30 @@ var RedactoNoticeConsent = ({
4759
5134
  ...styles.button,
4760
5135
  ...responsiveStyles.button,
4761
5136
  ...styles.acceptButton,
4762
- ...acceptButtonStyle
5137
+ ...acceptAllButtonStyle
4763
5138
  },
4764
5139
  onClick: () => onAccept == null ? void 0 : onAccept(),
4765
5140
  "aria-label": reviewModeButtonText,
4766
5141
  children: reviewModeButtonText
4767
5142
  }
4768
- ) : /* @__PURE__ */ jsxs(Fragment, { children: [
4769
- /* @__PURE__ */ jsx(
4770
- "button",
4771
- {
4772
- ref: lastFocusableRef,
4773
- id: "confirm-button-text",
4774
- style: {
4775
- ...styles.button,
4776
- ...responsiveStyles.button,
4777
- ...styles.acceptButton,
4778
- ...acceptButtonStyle,
4779
- opacity: acceptDisabled ? 0.5 : 1
4780
- },
4781
- onClick: handleAccept,
4782
- disabled: acceptDisabled || isSubmittingDecline,
4783
- "aria-label": getTranslatedText(
4784
- "confirm_button_text",
4785
- (content == null ? void 0 : content.confirm_button_text) || "Accept"
4786
- ),
4787
- children: isSubmittingAccept ? "Processing..." : getTranslatedText(
4788
- "confirm_button_text",
4789
- (content == null ? void 0 : content.confirm_button_text) || "Accept"
4790
- )
4791
- }
4792
- ),
4793
- /* @__PURE__ */ jsx(
4794
- "button",
4795
- {
4796
- id: "decline-button-text",
4797
- style: {
4798
- ...styles.button,
4799
- ...responsiveStyles.button,
4800
- ...styles.cancelButton,
4801
- ...declineButtonStyle,
4802
- opacity: isSubmittingAccept ? 0.5 : 1
4803
- },
4804
- onClick: handleDecline,
4805
- disabled: isSubmittingDecline || isSubmittingAccept,
4806
- "aria-label": getTranslatedText(
4807
- "decline_button_text",
4808
- (content == null ? void 0 : content.decline_button_text) || "Decline"
4809
- ),
4810
- children: isSubmittingDecline ? "Processing..." : getTranslatedText(
4811
- "decline_button_text",
4812
- (content == null ? void 0 : content.decline_button_text) || "Decline"
4813
- )
4814
- }
4815
- )
4816
- ] })
5143
+ ) : /* @__PURE__ */ jsx3(
5144
+ NoticeFooter,
5145
+ {
5146
+ labels: actionLabels,
5147
+ acceptSelectedDisabled: acceptDisabled,
5148
+ isSubmittingAccept,
5149
+ isSubmittingDecline,
5150
+ isMobile,
5151
+ responsiveButtonStyle: responsiveStyles.button,
5152
+ acceptAllButtonStyle,
5153
+ acceptSelectedButtonStyle,
5154
+ declineButtonStyle,
5155
+ lastFocusableRef,
5156
+ onAcceptAll: handleAcceptAll,
5157
+ onAcceptSelected: handleAcceptSelected,
5158
+ onDecline: handleDecline
5159
+ }
5160
+ )
4817
5161
  }
4818
5162
  )
4819
5163
  ] })
@@ -4823,7 +5167,7 @@ var RedactoNoticeConsent = ({
4823
5167
  };
4824
5168
 
4825
5169
  // src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.tsx
4826
- import { useEffect as useEffect3, useMemo as useMemo2, useState as useState3, useRef as useRef2, useCallback as useCallback2, memo } from "react";
5170
+ import { useEffect as useEffect4, useMemo as useMemo3, useState as useState3, useRef as useRef2, useCallback as useCallback2, memo } from "react";
4827
5171
 
4828
5172
  // src/RedactoNoticeConsentInline/api/index.ts
4829
5173
  var BASE_URL2 = "https://api.redacto.tech/consent";
@@ -4831,12 +5175,16 @@ var fetchConsentContent2 = async ({
4831
5175
  org_uuid,
4832
5176
  workspace_uuid,
4833
5177
  notice_uuid,
5178
+ accessToken,
4834
5179
  baseUrl,
4835
- specific_uuid
5180
+ language,
5181
+ specific_uuid,
5182
+ signal
4836
5183
  }) => {
4837
5184
  const apiBaseUrl = baseUrl || BASE_URL2;
5185
+ const noticesUrl = `${apiBaseUrl}/public/organisations/${org_uuid}/workspaces/${workspace_uuid}/notices`;
4838
5186
  const url = new URL(
4839
- `${apiBaseUrl}/public/organisations/${org_uuid}/workspaces/${workspace_uuid}/notices/get-notice/${notice_uuid}`
5187
+ accessToken ? `${noticesUrl}/${notice_uuid}` : `${noticesUrl}/get-notice/${notice_uuid}`
4840
5188
  );
4841
5189
  if (specific_uuid) {
4842
5190
  url.searchParams.append("specific_uuid", specific_uuid);
@@ -4844,8 +5192,11 @@ var fetchConsentContent2 = async ({
4844
5192
  const response = await fetch(url.toString(), {
4845
5193
  method: "GET",
4846
5194
  headers: {
4847
- "Content-Type": "application/json"
4848
- }
5195
+ "Content-Type": "application/json",
5196
+ "Accept-Language": language || "en",
5197
+ ...accessToken ? { Authorization: `Bearer ${accessToken}` } : {}
5198
+ },
5199
+ signal
4849
5200
  });
4850
5201
  if (!response.ok) {
4851
5202
  throw await parseApiError(
@@ -4910,6 +5261,15 @@ var submitConsentEvent2 = async ({
4910
5261
 
4911
5262
  // src/RedactoNoticeConsentInline/styles.ts
4912
5263
  var styles2 = {
5264
+ // Root of the embedded widget — the host supplies the surrounding card, so this
5265
+ // is layout plus the font the rest of the widget inherits. (`container` below is
5266
+ // a standalone-card variant that the current layout does not use.)
5267
+ root: {
5268
+ display: "flex",
5269
+ flexDirection: "column",
5270
+ gap: "16px",
5271
+ fontFamily: "inherit"
5272
+ },
4913
5273
  overlay: {
4914
5274
  position: "fixed",
4915
5275
  top: 0,
@@ -5256,11 +5616,11 @@ var styles2 = {
5256
5616
  };
5257
5617
 
5258
5618
  // src/RedactoNoticeConsentInline/useMediaQuery.ts
5259
- import { useState as useState2, useEffect as useEffect2 } from "react";
5619
+ import { useState as useState2, useEffect as useEffect3 } from "react";
5260
5620
  var useMediaQuery2 = (query) => {
5261
5621
  const getMatches = () => typeof window !== "undefined" ? window.matchMedia(query).matches : false;
5262
5622
  const [matches, setMatches] = useState2(getMatches);
5263
- useEffect2(() => {
5623
+ useEffect3(() => {
5264
5624
  if (typeof window === "undefined") return;
5265
5625
  const media = window.matchMedia(query);
5266
5626
  const listener = (e) => {
@@ -5311,7 +5671,7 @@ var injectSpinnerAnimation = () => {
5311
5671
  };
5312
5672
 
5313
5673
  // src/RedactoNoticeConsentInline/RedactoNoticeConsentInline.tsx
5314
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
5674
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
5315
5675
  var RedactoConsentInlineComponent = ({
5316
5676
  org_uuid,
5317
5677
  workspace_uuid,
@@ -5341,11 +5701,11 @@ var RedactoConsentInlineComponent = ({
5341
5701
  const [fetchError, setFetchError] = useState3(null);
5342
5702
  const [errorMessage, setErrorMessage] = useState3(null);
5343
5703
  const hasSubmittedRef = useRef2(false);
5344
- useEffect3(() => {
5704
+ useEffect4(() => {
5345
5705
  injectSpinnerAnimation();
5346
5706
  }, []);
5347
5707
  const isMobile = useMediaQuery2("(max-width: 768px)");
5348
- const responsiveStyles = useMemo2(
5708
+ const responsiveStyles = useMemo3(
5349
5709
  () => ({
5350
5710
  optionTitle: {
5351
5711
  fontSize: isMobile ? "14px" : "16px"
@@ -5363,21 +5723,21 @@ var RedactoConsentInlineComponent = ({
5363
5723
  }),
5364
5724
  [isMobile]
5365
5725
  );
5366
- const areAllRequiredElementsChecked = useMemo2(() => {
5726
+ const areAllRequiredElementsChecked = useMemo3(() => {
5367
5727
  if (!content) return false;
5368
5728
  return content.purposes.every((purpose) => {
5369
5729
  const requiredElements = purpose.data_elements.filter(
5370
- (element) => element.required
5730
+ (element) => element.required && element.enabled
5371
5731
  );
5372
5732
  return requiredElements.every(
5373
5733
  (element) => selectedDataElements[`${purpose.uuid}-${element.uuid}`]
5374
5734
  );
5375
5735
  });
5376
5736
  }, [content, selectedDataElements]);
5377
- useEffect3(() => {
5737
+ useEffect4(() => {
5378
5738
  onValidationChange == null ? void 0 : onValidationChange(areAllRequiredElementsChecked);
5379
5739
  }, [areAllRequiredElementsChecked, onValidationChange]);
5380
- useEffect3(() => {
5740
+ useEffect4(() => {
5381
5741
  if (hasAlreadyConsented) {
5382
5742
  onAccept == null ? void 0 : onAccept();
5383
5743
  }
@@ -5419,18 +5779,24 @@ var RedactoConsentInlineComponent = ({
5419
5779
  }
5420
5780
  return defaultText;
5421
5781
  };
5422
- const fetchNotice = async () => {
5782
+ const fetchNotice = async (signal) => {
5423
5783
  setIsLoading(true);
5424
5784
  setFetchError(null);
5785
+ setHasAlreadyConsented(false);
5425
5786
  try {
5426
5787
  const consentContentData = await fetchConsentContent2({
5427
5788
  org_uuid,
5428
5789
  workspace_uuid,
5429
5790
  notice_uuid,
5791
+ accessToken,
5430
5792
  baseUrl,
5431
5793
  language,
5432
- specific_uuid: applicationId
5794
+ specific_uuid: applicationId,
5795
+ signal
5433
5796
  });
5797
+ if (signal == null ? void 0 : signal.aborted) {
5798
+ return;
5799
+ }
5434
5800
  const activeConfig = consentContentData.detail.active_config;
5435
5801
  setContent(activeConfig);
5436
5802
  if (activeConfig.default_language) {
@@ -5444,28 +5810,16 @@ var RedactoConsentInlineComponent = ({
5444
5810
  {}
5445
5811
  );
5446
5812
  setCollapsedPurposes(initialCollapsedState);
5447
- const initialDataElementState = activeConfig.purposes.reduce(
5448
- (acc, purpose) => {
5449
- purpose.data_elements.forEach((element) => {
5450
- const combinedId = `${purpose.uuid}-${element.uuid}`;
5451
- acc[combinedId] = false;
5452
- });
5453
- return acc;
5454
- },
5455
- {}
5813
+ const preselection = buildPreselection(
5814
+ activeConfig.purposes,
5815
+ resolvePurposePreselection(activeConfig.purpose_preselection)
5456
5816
  );
5457
- setSelectedDataElements(initialDataElementState);
5458
- const initialPurposeState = activeConfig.purposes.reduce(
5459
- (acc, purpose) => {
5460
- return {
5461
- ...acc,
5462
- [purpose.uuid]: false
5463
- };
5464
- },
5465
- {}
5466
- );
5467
- setSelectedPurposes(initialPurposeState);
5817
+ setSelectedDataElements(preselection.selectedDataElements);
5818
+ setSelectedPurposes(preselection.selectedPurposes);
5468
5819
  } catch (err) {
5820
+ if ((signal == null ? void 0 : signal.aborted) || err instanceof Error && err.name === "AbortError") {
5821
+ return;
5822
+ }
5469
5823
  const error = err;
5470
5824
  setFetchError(error);
5471
5825
  if (error.status === 409) {
@@ -5474,13 +5828,26 @@ var RedactoConsentInlineComponent = ({
5474
5828
  onError == null ? void 0 : onError(error);
5475
5829
  }
5476
5830
  } finally {
5477
- setIsLoading(false);
5831
+ if (!(signal == null ? void 0 : signal.aborted)) {
5832
+ setIsLoading(false);
5833
+ }
5478
5834
  }
5479
5835
  };
5480
- useEffect3(() => {
5481
- fetchNotice();
5482
- }, [org_uuid, workspace_uuid, notice_uuid, language, applicationId]);
5483
- useEffect3(() => {
5836
+ useEffect4(() => {
5837
+ const controller = new AbortController();
5838
+ void fetchNotice(controller.signal);
5839
+ return () => {
5840
+ controller.abort();
5841
+ };
5842
+ }, [
5843
+ org_uuid,
5844
+ workspace_uuid,
5845
+ notice_uuid,
5846
+ language,
5847
+ applicationId,
5848
+ accessToken
5849
+ ]);
5850
+ useEffect4(() => {
5484
5851
  if (!ledgerBaseUrl || applicationId) {
5485
5852
  return;
5486
5853
  }
@@ -5634,7 +6001,7 @@ var RedactoConsentInlineComponent = ({
5634
6001
  onAccept
5635
6002
  ]
5636
6003
  );
5637
- useEffect3(() => {
6004
+ useEffect4(() => {
5638
6005
  if (accessToken && content && areAllRequiredElementsChecked && !isSubmitting && !isCheckingConsent && !hasAlreadyConsented && !hasSubmittedRef.current) {
5639
6006
  hasSubmittedRef.current = true;
5640
6007
  const autoSubmit = async () => {
@@ -5656,7 +6023,7 @@ var RedactoConsentInlineComponent = ({
5656
6023
  hasAlreadyConsented,
5657
6024
  handleAcceptWithToken
5658
6025
  ]);
5659
- useEffect3(() => {
6026
+ useEffect4(() => {
5660
6027
  if (!accessToken) {
5661
6028
  hasSubmittedRef.current = false;
5662
6029
  }
@@ -5667,20 +6034,29 @@ var RedactoConsentInlineComponent = ({
5667
6034
  const textStyle = {
5668
6035
  color: (settings == null ? void 0 : settings.textColor) || "#344054"
5669
6036
  };
6037
+ const fontFamily = useNoticeFont({
6038
+ hostFont: settings == null ? void 0 : settings.font,
6039
+ noticeFont: content == null ? void 0 : content.font_preference
6040
+ });
6041
+ const rootStyle = { ...styles2.root, fontFamily };
6042
+ const loadingRootStyle = {
6043
+ ...styles2.loadingContainer,
6044
+ fontFamily
6045
+ };
5670
6046
  if (hasAlreadyConsented || fetchError) {
5671
6047
  return null;
5672
6048
  }
5673
6049
  if (isLoading) {
5674
- return /* @__PURE__ */ jsxs2("div", { style: styles2.loadingContainer, children: [
5675
- /* @__PURE__ */ jsx2("div", { style: styles2.loadingSpinner }),
5676
- /* @__PURE__ */ jsx2("p", { style: { ...styles2.privacyText, ...textStyle }, children: "Loading..." })
6050
+ return /* @__PURE__ */ jsxs3("div", { ...NOTICE_FONT_ROOT_PROPS, style: loadingRootStyle, children: [
6051
+ /* @__PURE__ */ jsx4("div", { style: styles2.loadingSpinner }),
6052
+ /* @__PURE__ */ jsx4("p", { style: { ...styles2.privacyText, ...textStyle }, children: "Loading..." })
5677
6053
  ] });
5678
6054
  }
5679
6055
  if (!content) {
5680
6056
  return null;
5681
6057
  }
5682
- return /* @__PURE__ */ jsxs2("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
5683
- errorMessage && /* @__PURE__ */ jsx2(
6058
+ return /* @__PURE__ */ jsxs3("div", { ...NOTICE_FONT_ROOT_PROPS, style: rootStyle, children: [
6059
+ errorMessage && /* @__PURE__ */ jsx4(
5684
6060
  "div",
5685
6061
  {
5686
6062
  role: "alert",
@@ -5695,9 +6071,9 @@ var RedactoConsentInlineComponent = ({
5695
6071
  children: errorMessage
5696
6072
  }
5697
6073
  ),
5698
- (_a = content == null ? void 0 : content.purposes) == null ? void 0 : _a.map((purpose) => /* @__PURE__ */ jsxs2("div", { children: [
5699
- /* @__PURE__ */ jsxs2("div", { style: styles2.optionItem, children: [
5700
- /* @__PURE__ */ jsxs2(
6074
+ (_a = content == null ? void 0 : content.purposes) == null ? void 0 : _a.map((purpose) => /* @__PURE__ */ jsxs3("div", { children: [
6075
+ /* @__PURE__ */ jsxs3("div", { style: styles2.optionItem, children: [
6076
+ /* @__PURE__ */ jsxs3(
5701
6077
  "div",
5702
6078
  {
5703
6079
  style: styles2.optionLeft,
@@ -5718,7 +6094,7 @@ var RedactoConsentInlineComponent = ({
5718
6094
  }
5719
6095
  },
5720
6096
  children: [
5721
- /* @__PURE__ */ jsx2(
6097
+ /* @__PURE__ */ jsx4(
5722
6098
  "div",
5723
6099
  {
5724
6100
  style: {
@@ -5727,7 +6103,7 @@ var RedactoConsentInlineComponent = ({
5727
6103
  justifyContent: "center",
5728
6104
  marginLeft: "5px"
5729
6105
  },
5730
- children: /* @__PURE__ */ jsx2(
6106
+ children: /* @__PURE__ */ jsx4(
5731
6107
  "svg",
5732
6108
  {
5733
6109
  width: "7",
@@ -5744,13 +6120,13 @@ var RedactoConsentInlineComponent = ({
5744
6120
  transition: "transform 0.3s ease"
5745
6121
  },
5746
6122
  "aria-hidden": "true",
5747
- children: /* @__PURE__ */ jsx2("path", { d: "M1 1L6 6L1 11" })
6123
+ children: /* @__PURE__ */ jsx4("path", { d: "M1 1L6 6L1 11" })
5748
6124
  }
5749
6125
  )
5750
6126
  }
5751
6127
  ),
5752
- /* @__PURE__ */ jsxs2("div", { style: styles2.optionTextContainer, children: [
5753
- /* @__PURE__ */ jsx2(
6128
+ /* @__PURE__ */ jsxs3("div", { style: styles2.optionTextContainer, children: [
6129
+ /* @__PURE__ */ jsxs3(
5754
6130
  "h2",
5755
6131
  {
5756
6132
  style: {
@@ -5758,14 +6134,17 @@ var RedactoConsentInlineComponent = ({
5758
6134
  ...responsiveStyles.optionTitle,
5759
6135
  ...headingStyle
5760
6136
  },
5761
- children: getTranslatedText(
5762
- `purposes.name`,
5763
- purpose.name,
5764
- purpose.uuid
5765
- )
6137
+ children: [
6138
+ getTranslatedText(
6139
+ `purposes.name`,
6140
+ purpose.name,
6141
+ purpose.uuid
6142
+ ),
6143
+ hasRequiredDataElement(purpose) && /* @__PURE__ */ jsx4(RequiredMarker, {})
6144
+ ]
5766
6145
  }
5767
6146
  ),
5768
- /* @__PURE__ */ jsx2(
6147
+ /* @__PURE__ */ jsx4(
5769
6148
  "h3",
5770
6149
  {
5771
6150
  style: {
@@ -5784,7 +6163,7 @@ var RedactoConsentInlineComponent = ({
5784
6163
  ]
5785
6164
  }
5786
6165
  ),
5787
- /* @__PURE__ */ jsx2(
6166
+ /* @__PURE__ */ jsx4(
5788
6167
  "input",
5789
6168
  {
5790
6169
  type: "checkbox",
@@ -5798,13 +6177,13 @@ var RedactoConsentInlineComponent = ({
5798
6177
  }
5799
6178
  )
5800
6179
  ] }),
5801
- !collapsedPurposes[purpose.uuid] && purpose.data_elements && purpose.data_elements.length > 0 && /* @__PURE__ */ jsx2(
6180
+ !collapsedPurposes[purpose.uuid] && purpose.data_elements && purpose.data_elements.length > 0 && /* @__PURE__ */ jsx4(
5802
6181
  "div",
5803
6182
  {
5804
6183
  id: `purpose-${purpose.uuid}`,
5805
6184
  style: styles2.dataElementsContainer,
5806
- children: purpose.data_elements.map((dataElement) => /* @__PURE__ */ jsxs2("div", { style: styles2.dataElementItem, children: [
5807
- /* @__PURE__ */ jsxs2(
6185
+ children: purpose.data_elements.map((dataElement) => /* @__PURE__ */ jsxs3("div", { style: styles2.dataElementItem, children: [
6186
+ /* @__PURE__ */ jsxs3(
5808
6187
  "span",
5809
6188
  {
5810
6189
  style: {
@@ -5818,21 +6197,11 @@ var RedactoConsentInlineComponent = ({
5818
6197
  dataElement.name,
5819
6198
  dataElement.uuid
5820
6199
  ),
5821
- dataElement.required && /* @__PURE__ */ jsx2(
5822
- "span",
5823
- {
5824
- style: {
5825
- color: "red",
5826
- marginLeft: "4px"
5827
- },
5828
- "aria-label": "required",
5829
- children: "*"
5830
- }
5831
- )
6200
+ dataElement.required && /* @__PURE__ */ jsx4(RequiredMarker, {})
5832
6201
  ]
5833
6202
  }
5834
6203
  ),
5835
- /* @__PURE__ */ jsx2(
6204
+ /* @__PURE__ */ jsx4(
5836
6205
  "input",
5837
6206
  {
5838
6207
  type: "checkbox",
@@ -5858,7 +6227,7 @@ RedactoConsentInlineComponent.displayName = "RedactoConsentInline";
5858
6227
  var RedactoConsentInline = memo(RedactoConsentInlineComponent);
5859
6228
 
5860
6229
  // src/RedactoNoticeAssisted/RedactoNoticeAssisted.tsx
5861
- import { useState as useState5, useEffect as useEffect5, useMemo as useMemo3, useRef as useRef3, useCallback as useCallback3 } from "react";
6230
+ import { useState as useState5, useEffect as useEffect6, useMemo as useMemo4, useRef as useRef3, useCallback as useCallback3 } from "react";
5862
6231
 
5863
6232
  // src/RedactoNoticeAssisted/styles.ts
5864
6233
  var styles3 = {
@@ -5964,6 +6333,7 @@ var styles3 = {
5964
6333
  display: "flex",
5965
6334
  alignItems: "center",
5966
6335
  justifyContent: "center",
6336
+ fontFamily: "inherit",
5967
6337
  fontWeight: 400,
5968
6338
  fontSize: "12px",
5969
6339
  lineHeight: "150%",
@@ -6341,6 +6711,7 @@ var styles3 = {
6341
6711
  borderRadius: "8px",
6342
6712
  border: "1px solid #d0d5dd",
6343
6713
  textAlign: "center",
6714
+ fontFamily: "inherit",
6344
6715
  fontSize: "18px",
6345
6716
  fontWeight: 500,
6346
6717
  color: "#101828",
@@ -6458,10 +6829,53 @@ var styles3 = {
6458
6829
  margin: 0,
6459
6830
  boxSizing: "border-box"
6460
6831
  },
6832
+ /**
6833
+ * The notice step's three actions. Wide: one row with decline pushed left
6834
+ * and the accepts grouped right. Narrow: a full-width stack. The verify step
6835
+ * keeps `bottomSection` — it collapses back to the progressing primary CTA
6836
+ * plus decline.
6837
+ */
6838
+ actionButtonRow: {
6839
+ display: "flex",
6840
+ flexDirection: "row",
6841
+ alignItems: "center",
6842
+ gap: "12px",
6843
+ paddingTop: "15px",
6844
+ borderTop: "none",
6845
+ backgroundColor: "#ffffff",
6846
+ margin: 0,
6847
+ boxSizing: "border-box"
6848
+ },
6849
+ actionButtonStack: {
6850
+ display: "flex",
6851
+ flexDirection: "column",
6852
+ gap: "12px",
6853
+ paddingTop: "15px",
6854
+ borderTop: "none",
6855
+ backgroundColor: "#ffffff",
6856
+ margin: 0,
6857
+ boxSizing: "border-box"
6858
+ },
6859
+ /** `width: auto` undoes `button`'s `width: 100%` for the wide row. */
6860
+ rowButton: {
6861
+ width: "auto",
6862
+ whiteSpace: "normal",
6863
+ wordBreak: "break-word"
6864
+ },
6865
+ stackButton: {
6866
+ width: "100%",
6867
+ whiteSpace: "normal",
6868
+ wordBreak: "break-word"
6869
+ },
6870
+ /** Pushes everything after decline to the right edge in the wide row. */
6871
+ declineSpacer: {
6872
+ marginRight: "auto"
6873
+ },
6461
6874
  button: {
6462
6875
  width: "100%",
6463
6876
  borderRadius: "8px",
6464
6877
  padding: "9px 45px",
6878
+ fontFamily: "inherit",
6465
6879
  fontWeight: 400,
6466
6880
  fontSize: "16px",
6467
6881
  lineHeight: "150%",
@@ -6761,11 +7175,11 @@ var injectAssistedStyles = () => {
6761
7175
  };
6762
7176
 
6763
7177
  // src/RedactoNoticeAssisted/useMediaQuery.ts
6764
- import { useState as useState4, useEffect as useEffect4 } from "react";
7178
+ import { useState as useState4, useEffect as useEffect5 } from "react";
6765
7179
  var useMediaQuery3 = (query) => {
6766
7180
  const getMatches = () => typeof window !== "undefined" ? window.matchMedia(query).matches : false;
6767
7181
  const [matches, setMatches] = useState4(getMatches);
6768
- useEffect4(() => {
7182
+ useEffect5(() => {
6769
7183
  if (typeof window === "undefined") return;
6770
7184
  const media = window.matchMedia(query);
6771
7185
  const listener = (e) => {
@@ -8214,7 +8628,7 @@ var makeStaticT = (langCode) => (key, vars) => {
8214
8628
  var redacto_logo_default2 = "data:image/png;base64,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";
8215
8629
 
8216
8630
  // src/RedactoNoticeAssisted/RedactoNoticeAssisted.tsx
8217
- import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
8631
+ import { Fragment as Fragment3, jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
8218
8632
  var PurposeItem2 = ({
8219
8633
  purpose,
8220
8634
  selectedPurposes,
@@ -8238,9 +8652,10 @@ var PurposeItem2 = ({
8238
8652
  const dataElements = purpose.data_elements.filter(
8239
8653
  (el) => el.enabled !== false
8240
8654
  );
8241
- return /* @__PURE__ */ jsxs3("div", { children: [
8242
- /* @__PURE__ */ jsxs3("div", { style: styles3.optionItem, children: [
8243
- /* @__PURE__ */ jsxs3(
8655
+ const hasRequired = hasRequiredDataElement(purpose);
8656
+ return /* @__PURE__ */ jsxs4("div", { children: [
8657
+ /* @__PURE__ */ jsxs4("div", { style: styles3.optionItem, children: [
8658
+ /* @__PURE__ */ jsxs4(
8244
8659
  "div",
8245
8660
  {
8246
8661
  style: styles3.optionLeft,
@@ -8257,7 +8672,7 @@ var PurposeItem2 = ({
8257
8672
  }
8258
8673
  },
8259
8674
  children: [
8260
- /* @__PURE__ */ jsx3(
8675
+ /* @__PURE__ */ jsx5(
8261
8676
  "div",
8262
8677
  {
8263
8678
  style: {
@@ -8266,7 +8681,7 @@ var PurposeItem2 = ({
8266
8681
  justifyContent: "center",
8267
8682
  marginLeft: "5px"
8268
8683
  },
8269
- children: /* @__PURE__ */ jsx3(
8684
+ children: /* @__PURE__ */ jsx5(
8270
8685
  "svg",
8271
8686
  {
8272
8687
  width: "7",
@@ -8283,21 +8698,24 @@ var PurposeItem2 = ({
8283
8698
  transition: "transform 0.3s ease"
8284
8699
  },
8285
8700
  "aria-hidden": "true",
8286
- children: /* @__PURE__ */ jsx3("path", { d: "M1 1L6 6L1 11" })
8701
+ children: /* @__PURE__ */ jsx5("path", { d: "M1 1L6 6L1 11" })
8287
8702
  }
8288
8703
  )
8289
8704
  }
8290
8705
  ),
8291
- /* @__PURE__ */ jsxs3("div", { style: styles3.optionTextContainer, children: [
8292
- /* @__PURE__ */ jsx3(
8706
+ /* @__PURE__ */ jsxs4("div", { style: styles3.optionTextContainer, children: [
8707
+ /* @__PURE__ */ jsxs4(
8293
8708
  "h2",
8294
8709
  {
8295
8710
  id: `purpose-name-${purpose.uuid}`,
8296
8711
  style: { ...styles3.optionTitle, ...responsive.optionTitle },
8297
- children: name
8712
+ children: [
8713
+ name,
8714
+ hasRequired && /* @__PURE__ */ jsx5(RequiredMarker, { label: ts("required") })
8715
+ ]
8298
8716
  }
8299
8717
  ),
8300
- description && /* @__PURE__ */ jsx3(
8718
+ description && /* @__PURE__ */ jsx5(
8301
8719
  "h3",
8302
8720
  {
8303
8721
  id: `purpose-description-${purpose.uuid}`,
@@ -8312,7 +8730,7 @@ var PurposeItem2 = ({
8312
8730
  ]
8313
8731
  }
8314
8732
  ),
8315
- /* @__PURE__ */ jsx3(
8733
+ /* @__PURE__ */ jsx5(
8316
8734
  "input",
8317
8735
  {
8318
8736
  className: "redacto-assisted-checkbox-large",
@@ -8324,7 +8742,7 @@ var PurposeItem2 = ({
8324
8742
  }
8325
8743
  )
8326
8744
  ] }),
8327
- isExpanded && dataElements.length > 0 && /* @__PURE__ */ jsx3(
8745
+ isExpanded && dataElements.length > 0 && /* @__PURE__ */ jsx5(
8328
8746
  "div",
8329
8747
  {
8330
8748
  id: `redacto-assisted-purpose-${purpose.uuid}`,
@@ -8336,8 +8754,8 @@ var PurposeItem2 = ({
8336
8754
  dataElement.name,
8337
8755
  dataElement.uuid
8338
8756
  );
8339
- return /* @__PURE__ */ jsxs3("div", { style: styles3.dataElementItem, children: [
8340
- /* @__PURE__ */ jsxs3(
8757
+ return /* @__PURE__ */ jsxs4("div", { style: styles3.dataElementItem, children: [
8758
+ /* @__PURE__ */ jsxs4(
8341
8759
  "span",
8342
8760
  {
8343
8761
  id: `data-element-${combinedId}`,
@@ -8347,18 +8765,11 @@ var PurposeItem2 = ({
8347
8765
  },
8348
8766
  children: [
8349
8767
  elementName,
8350
- dataElement.required && /* @__PURE__ */ jsx3(
8351
- "span",
8352
- {
8353
- style: { color: "red", marginLeft: "4px" },
8354
- "aria-label": ts("required"),
8355
- children: "*"
8356
- }
8357
- )
8768
+ dataElement.required && /* @__PURE__ */ jsx5(RequiredMarker, { label: ts("required") })
8358
8769
  ]
8359
8770
  }
8360
8771
  ),
8361
- /* @__PURE__ */ jsx3(
8772
+ /* @__PURE__ */ jsx5(
8362
8773
  "input",
8363
8774
  {
8364
8775
  className: "redacto-assisted-checkbox-small",
@@ -8389,6 +8800,7 @@ var RedactoNoticeAssisted = ({
8389
8800
  const [isLoading, setIsLoading] = useState5(true);
8390
8801
  const [fetchError, setFetchError] = useState5(null);
8391
8802
  const [step, setStep] = useState5("notice");
8803
+ const [acceptMode, setAcceptMode] = useState5("selected");
8392
8804
  const [selectedPurposes, setSelectedPurposes] = useState5({});
8393
8805
  const [selectedDataElements, setSelectedDataElements] = useState5({});
8394
8806
  const [collapsedPurposes, setCollapsedPurposes] = useState5({});
@@ -8402,7 +8814,9 @@ var RedactoNoticeAssisted = ({
8402
8814
  const [currentAudioIndex, setCurrentAudioIndex] = useState5(0);
8403
8815
  const [highlightedElementId, setHighlightedElementId] = useState5(null);
8404
8816
  const currentAudioRef = useRef3(null);
8405
- const [verifyMethod, setVerifyMethod] = useState5("mobile");
8817
+ const [verifyMethod, setVerifyMethod] = useState5(
8818
+ "mobile"
8819
+ );
8406
8820
  const [mobile, setMobile] = useState5("");
8407
8821
  const mobileInputRef = useRef3(null);
8408
8822
  const [email, setEmail] = useState5("");
@@ -8420,10 +8834,10 @@ var RedactoNoticeAssisted = ({
8420
8834
  const [isVerifying, setIsVerifying] = useState5(false);
8421
8835
  const [createError, setCreateError] = useState5(null);
8422
8836
  const [otpError, setOtpError] = useState5(null);
8423
- useEffect5(() => {
8837
+ useEffect6(() => {
8424
8838
  injectAssistedStyles();
8425
8839
  }, []);
8426
- useEffect5(() => {
8840
+ useEffect6(() => {
8427
8841
  const controller = new AbortController();
8428
8842
  setIsLoading(true);
8429
8843
  setFetchError(null);
@@ -8440,18 +8854,16 @@ var RedactoNoticeAssisted = ({
8440
8854
  setSelectedLanguage(
8441
8855
  dl === "en" || dl === "EN" ? "English" : dl || "English"
8442
8856
  );
8443
- const purposeState = {};
8444
- const elementState = {};
8857
+ const preselection = buildPreselection(
8858
+ activeConfig.purposes,
8859
+ resolvePurposePreselection(activeConfig.purpose_preselection)
8860
+ );
8445
8861
  const collapsedState = {};
8446
8862
  activeConfig.purposes.forEach((p) => {
8447
- purposeState[p.uuid] = false;
8448
8863
  collapsedState[p.uuid] = true;
8449
- p.data_elements.forEach((el) => {
8450
- elementState[`${p.uuid}-${el.uuid}`] = false;
8451
- });
8452
8864
  });
8453
- setSelectedPurposes(purposeState);
8454
- setSelectedDataElements(elementState);
8865
+ setSelectedPurposes(preselection.selectedPurposes);
8866
+ setSelectedDataElements(preselection.selectedDataElements);
8455
8867
  setCollapsedPurposes(collapsedState);
8456
8868
  setIsLoading(false);
8457
8869
  }).catch((err) => {
@@ -8461,14 +8873,14 @@ var RedactoNoticeAssisted = ({
8461
8873
  });
8462
8874
  return () => controller.abort();
8463
8875
  }, [organisationUuid, workspaceUuid, noticeUuid, baseUrl]);
8464
- useEffect5(() => {
8876
+ useEffect6(() => {
8465
8877
  if (resendCountdown <= 0) return;
8466
8878
  const intervalId = window.setInterval(() => {
8467
8879
  setResendCountdown((prev) => prev <= 1 ? 0 : prev - 1);
8468
8880
  }, 1e3);
8469
8881
  return () => window.clearInterval(intervalId);
8470
8882
  }, [resendCountdown]);
8471
- useEffect5(() => {
8883
+ useEffect6(() => {
8472
8884
  if (step !== "verify") return;
8473
8885
  const id = window.setTimeout(
8474
8886
  () => scrollIntoViewSoft(verifyBlockRef.current),
@@ -8476,7 +8888,7 @@ var RedactoNoticeAssisted = ({
8476
8888
  );
8477
8889
  return () => window.clearTimeout(id);
8478
8890
  }, [step]);
8479
- useEffect5(() => {
8891
+ useEffect6(() => {
8480
8892
  if (!otpSent) return;
8481
8893
  const id = window.setTimeout(
8482
8894
  () => scrollIntoViewSoft(otpSectionRef.current),
@@ -8484,7 +8896,7 @@ var RedactoNoticeAssisted = ({
8484
8896
  );
8485
8897
  return () => window.clearTimeout(id);
8486
8898
  }, [otpSent]);
8487
- useEffect5(() => {
8899
+ useEffect6(() => {
8488
8900
  if (!isLanguageDropdownOpen) return;
8489
8901
  const handleClickOutside = (e) => {
8490
8902
  if (languageContainerRef.current && !languageContainerRef.current.contains(e.target)) {
@@ -8499,7 +8911,7 @@ var RedactoNoticeAssisted = ({
8499
8911
  const isMobileValid = mobile.replace(/\D/g, "").length >= 10;
8500
8912
  const isEmailValid = EMAIL_REGEX.test(email.trim());
8501
8913
  const isContactValid = verifyMethod === "email" ? isEmailValid : isMobileValid;
8502
- const areAllRequiredElementsChecked = useMemo3(() => {
8914
+ const areAllRequiredElementsChecked = useMemo4(() => {
8503
8915
  if (!content) return false;
8504
8916
  return content.purposes.every((purpose) => {
8505
8917
  const requiredElements = purpose.data_elements.filter(
@@ -8510,7 +8922,7 @@ var RedactoNoticeAssisted = ({
8510
8922
  );
8511
8923
  });
8512
8924
  }, [content, selectedDataElements]);
8513
- const normalizedDefaultLang = useMemo3(() => {
8925
+ const normalizedDefaultLang = useMemo4(() => {
8514
8926
  const dl = content == null ? void 0 : content.default_language;
8515
8927
  if (!dl) return "English";
8516
8928
  return dl === "en" || dl === "EN" ? "English" : dl;
@@ -8519,7 +8931,7 @@ var RedactoNoticeAssisted = ({
8519
8931
  (lang) => lang === "English" || lang === "en" || lang === "EN",
8520
8932
  []
8521
8933
  );
8522
- const ts = useMemo3(
8934
+ const ts = useMemo4(
8523
8935
  () => makeStaticT(toBcp47Code(selectedLanguage)),
8524
8936
  [selectedLanguage]
8525
8937
  );
@@ -8565,7 +8977,7 @@ var RedactoNoticeAssisted = ({
8565
8977
  },
8566
8978
  [content, selectedLanguage, isDefaultLanguage]
8567
8979
  );
8568
- const availableLanguages = useMemo3(() => {
8980
+ const availableLanguages = useMemo4(() => {
8569
8981
  if (!content) return [selectedLanguage];
8570
8982
  const pinned = ["English"];
8571
8983
  if (normalizedDefaultLang && normalizedDefaultLang !== "English") {
@@ -8582,10 +8994,10 @@ var RedactoNoticeAssisted = ({
8582
8994
  "--ra-accent": primaryColor,
8583
8995
  "--ra-accent-soft": accentSoft
8584
8996
  };
8585
- const fontFamily = (content == null ? void 0 : content.font_preference) || void 0;
8997
+ const fontFamily = useNoticeFont({ noticeFont: content == null ? void 0 : content.font_preference });
8586
8998
  const logoUrl = (content == null ? void 0 : content.logo_url) || redacto_logo_default2;
8587
8999
  const linkStyle = { ...styles3.link, color: secondaryColor };
8588
- const responsive = useMemo3(
9000
+ const responsive = useMemo4(
8589
9001
  () => ({
8590
9002
  modal: { width: isMobile ? "90%" : "700px" },
8591
9003
  title: { fontSize: isMobile ? "16px" : "18px" },
@@ -8676,7 +9088,7 @@ var RedactoNoticeAssisted = ({
8676
9088
  setSelectedLanguage(lang);
8677
9089
  setIsLanguageDropdownOpen(false);
8678
9090
  }, []);
8679
- const audioSequence = useMemo3(() => {
9091
+ const audioSequence = useMemo4(() => {
8680
9092
  if (!ttsAudioUrls || !content) return [];
8681
9093
  const sequence = [];
8682
9094
  if (ttsAudioUrls.notice_banner_heading_audio_url) {
@@ -8737,7 +9149,7 @@ var RedactoNoticeAssisted = ({
8737
9149
  }
8738
9150
  return sequence;
8739
9151
  }, [ttsAudioUrls, content]);
8740
- const elementIdSequence = useMemo3(() => {
9152
+ const elementIdSequence = useMemo4(() => {
8741
9153
  if (!ttsAudioUrls || !content) return [];
8742
9154
  const elementIds = [];
8743
9155
  if (ttsAudioUrls.notice_banner_heading_audio_url) {
@@ -8866,7 +9278,7 @@ var RedactoNoticeAssisted = ({
8866
9278
  playAudio();
8867
9279
  }
8868
9280
  }, [isPlaying, playAudio, pauseAudio]);
8869
- useEffect5(() => {
9281
+ useEffect6(() => {
8870
9282
  setIsTTSAvailable(false);
8871
9283
  setTtsAudioUrls(null);
8872
9284
  stopAudio();
@@ -8897,7 +9309,7 @@ var RedactoNoticeAssisted = ({
8897
9309
  baseUrl,
8898
9310
  stopAudio
8899
9311
  ]);
8900
- useEffect5(() => {
9312
+ useEffect6(() => {
8901
9313
  var _a;
8902
9314
  if (!isPlaying || !content || audioSequence.length === 0) return;
8903
9315
  const currentIndex = currentAudioIndex;
@@ -8916,7 +9328,7 @@ var RedactoNoticeAssisted = ({
8916
9328
  audioOffset += totalPurposeAudioCount;
8917
9329
  }
8918
9330
  }, [isPlaying, currentAudioIndex, audioSequence, content, collapsedPurposes]);
8919
- useEffect5(() => {
9331
+ useEffect6(() => {
8920
9332
  const removeAllHighlights = () => {
8921
9333
  document.querySelectorAll(".redacto-tts-highlight").forEach((el) => {
8922
9334
  el.classList.remove("redacto-tts-highlight");
@@ -8947,16 +9359,37 @@ var RedactoNoticeAssisted = ({
8947
9359
  removeAllHighlights();
8948
9360
  };
8949
9361
  }, [highlightedElementId, isPlaying]);
8950
- const handleConfirmStep = useCallback3(() => {
8951
- stopAudio();
8952
- setStep("verify");
8953
- setOtpSent(false);
8954
- window.setTimeout(() => {
8955
- var _a;
8956
- (_a = (verifyMethod === "email" ? emailInputRef : mobileInputRef).current) == null ? void 0 : _a.focus();
8957
- }, 80);
8958
- }, [verifyMethod, stopAudio]);
9362
+ const handleConfirmStep = useCallback3(
9363
+ (mode = "selected") => {
9364
+ if (mode !== "selected" && content) {
9365
+ const selection = buildSelectionForMode(content.purposes, mode, {
9366
+ selectedPurposes,
9367
+ selectedDataElements
9368
+ });
9369
+ setSelectedPurposes(selection.selectedPurposes);
9370
+ setSelectedDataElements(selection.selectedDataElements);
9371
+ }
9372
+ setAcceptMode(mode);
9373
+ stopAudio();
9374
+ setStep("verify");
9375
+ setOtpSent(false);
9376
+ window.setTimeout(() => {
9377
+ var _a;
9378
+ (_a = (verifyMethod === "email" ? emailInputRef : mobileInputRef).current) == null ? void 0 : _a.focus();
9379
+ }, 80);
9380
+ },
9381
+ [content, selectedPurposes, selectedDataElements, verifyMethod, stopAudio]
9382
+ );
9383
+ const handleAcceptAll = useCallback3(
9384
+ () => handleConfirmStep("all"),
9385
+ [handleConfirmStep]
9386
+ );
9387
+ const handleAcceptSelected = useCallback3(
9388
+ () => handleConfirmStep("selected"),
9389
+ [handleConfirmStep]
9390
+ );
8959
9391
  const handleEditSelections = useCallback3(() => {
9392
+ setAcceptMode("selected");
8960
9393
  setStep("notice");
8961
9394
  setOtpSent(false);
8962
9395
  setOtpUuid("");
@@ -9066,10 +9499,14 @@ var RedactoNoticeAssisted = ({
9066
9499
  (_a = otpInputRefs.current[focusIndex]) == null ? void 0 : _a.focus();
9067
9500
  }, []);
9068
9501
  const resetFlow = useCallback3(() => {
9502
+ var _a;
9069
9503
  setStep("notice");
9070
- setSelectedPurposes(
9071
- (prev) => Object.fromEntries(Object.keys(prev).map((k) => [k, false]))
9504
+ const preselection = buildPreselection(
9505
+ (_a = content == null ? void 0 : content.purposes) != null ? _a : [],
9506
+ resolvePurposePreselection(content == null ? void 0 : content.purpose_preselection)
9072
9507
  );
9508
+ setSelectedPurposes(preselection.selectedPurposes);
9509
+ setSelectedDataElements(preselection.selectedDataElements);
9073
9510
  setVerifyMethod("mobile");
9074
9511
  setMobile("");
9075
9512
  setEmail("");
@@ -9079,7 +9516,7 @@ var RedactoNoticeAssisted = ({
9079
9516
  setResendCountdown(0);
9080
9517
  setCreateError(null);
9081
9518
  setOtpError(null);
9082
- }, []);
9519
+ }, [content]);
9083
9520
  const handleSuccess = useCallback3(() => {
9084
9521
  if (onComplete) {
9085
9522
  onComplete();
@@ -9129,12 +9566,16 @@ var RedactoNoticeAssisted = ({
9129
9566
  return;
9130
9567
  }
9131
9568
  }
9569
+ const selection = buildSelectionForMode(content.purposes, acceptMode, {
9570
+ selectedPurposes,
9571
+ selectedDataElements
9572
+ });
9132
9573
  const submitPurposes = content.purposes.map((purpose) => ({
9133
9574
  ...purpose,
9134
- selected: selectedPurposes[purpose.uuid] || false,
9575
+ selected: selection.selectedPurposes[purpose.uuid] || false,
9135
9576
  data_elements: purpose.data_elements.map((element) => ({
9136
9577
  ...element,
9137
- selected: element.required ? true : selectedDataElements[`${purpose.uuid}-${element.uuid}`] || false
9578
+ selected: element.required ? true : selection.selectedDataElements[`${purpose.uuid}-${element.uuid}`] || false
9138
9579
  }))
9139
9580
  }));
9140
9581
  await submitAssistedConsent({
@@ -9186,7 +9627,7 @@ var RedactoNoticeAssisted = ({
9186
9627
  (content == null ? void 0 : content.notice_banner_heading) || "Privacy Notice"
9187
9628
  );
9188
9629
  const renderHeader = () => {
9189
- const logoNode = /* @__PURE__ */ jsx3(
9630
+ const logoNode = /* @__PURE__ */ jsx5(
9190
9631
  "img",
9191
9632
  {
9192
9633
  style: { ...styles3.logo, ...responsive.logo },
@@ -9194,7 +9635,7 @@ var RedactoNoticeAssisted = ({
9194
9635
  alt: ts("logoAlt")
9195
9636
  }
9196
9637
  );
9197
- const titleNode = /* @__PURE__ */ jsx3(
9638
+ const titleNode = /* @__PURE__ */ jsx5(
9198
9639
  "h2",
9199
9640
  {
9200
9641
  id: "privacy-notice-title",
@@ -9202,9 +9643,9 @@ var RedactoNoticeAssisted = ({
9202
9643
  children: noticeTitle
9203
9644
  }
9204
9645
  );
9205
- const controlsBlock = /* @__PURE__ */ jsxs3("div", { style: styles3.languageSelectorContainer, ref: languageContainerRef, children: [
9206
- /* @__PURE__ */ jsxs3("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
9207
- isTTSAvailable && step === "notice" && /* @__PURE__ */ jsx3(
9646
+ const controlsBlock = /* @__PURE__ */ jsxs4("div", { style: styles3.languageSelectorContainer, ref: languageContainerRef, children: [
9647
+ /* @__PURE__ */ jsxs4("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
9648
+ isTTSAvailable && step === "notice" && /* @__PURE__ */ jsx5(
9208
9649
  "button",
9209
9650
  {
9210
9651
  type: "button",
@@ -9219,7 +9660,7 @@ var RedactoNoticeAssisted = ({
9219
9660
  },
9220
9661
  "aria-label": isPlaying && !isPaused ? ts("audioPause") : ts("audioStart"),
9221
9662
  title: isPlaying && !isPaused ? ts("talkbackPause") : ts("talkbackStart"),
9222
- children: isPlaying && !isPaused ? /* @__PURE__ */ jsxs3(
9663
+ children: isPlaying && !isPaused ? /* @__PURE__ */ jsxs4(
9223
9664
  "svg",
9224
9665
  {
9225
9666
  xmlns: "http://www.w3.org/2000/svg",
@@ -9233,11 +9674,11 @@ var RedactoNoticeAssisted = ({
9233
9674
  strokeLinejoin: "round",
9234
9675
  "aria-hidden": "true",
9235
9676
  children: [
9236
- /* @__PURE__ */ jsx3("rect", { x: "6", y: "4", width: "4", height: "16" }),
9237
- /* @__PURE__ */ jsx3("rect", { x: "14", y: "4", width: "4", height: "16" })
9677
+ /* @__PURE__ */ jsx5("rect", { x: "6", y: "4", width: "4", height: "16" }),
9678
+ /* @__PURE__ */ jsx5("rect", { x: "14", y: "4", width: "4", height: "16" })
9238
9679
  ]
9239
9680
  }
9240
- ) : /* @__PURE__ */ jsxs3(
9681
+ ) : /* @__PURE__ */ jsxs4(
9241
9682
  "svg",
9242
9683
  {
9243
9684
  xmlns: "http://www.w3.org/2000/svg",
@@ -9251,14 +9692,14 @@ var RedactoNoticeAssisted = ({
9251
9692
  strokeLinejoin: "round",
9252
9693
  "aria-hidden": "true",
9253
9694
  children: [
9254
- /* @__PURE__ */ jsx3("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
9255
- /* @__PURE__ */ jsx3("path", { d: "M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07" })
9695
+ /* @__PURE__ */ jsx5("polygon", { points: "11 5 6 9 2 9 2 15 6 15 11 19 11 5" }),
9696
+ /* @__PURE__ */ jsx5("path", { d: "M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07" })
9256
9697
  ]
9257
9698
  }
9258
9699
  )
9259
9700
  }
9260
9701
  ),
9261
- /* @__PURE__ */ jsx3("div", { children: /* @__PURE__ */ jsxs3(
9702
+ /* @__PURE__ */ jsx5("div", { children: /* @__PURE__ */ jsxs4(
9262
9703
  "button",
9263
9704
  {
9264
9705
  type: "button",
@@ -9272,7 +9713,7 @@ var RedactoNoticeAssisted = ({
9272
9713
  }),
9273
9714
  children: [
9274
9715
  toNativeLabel(selectedLanguage),
9275
- /* @__PURE__ */ jsx3(
9716
+ /* @__PURE__ */ jsx5(
9276
9717
  "svg",
9277
9718
  {
9278
9719
  xmlns: "http://www.w3.org/2000/svg",
@@ -9286,21 +9727,21 @@ var RedactoNoticeAssisted = ({
9286
9727
  strokeLinejoin: "round",
9287
9728
  style: { flexShrink: 0, marginLeft: "4px" },
9288
9729
  "aria-hidden": "true",
9289
- children: /* @__PURE__ */ jsx3("path", { d: "M4 6l4 4 4-4" })
9730
+ children: /* @__PURE__ */ jsx5("path", { d: "M4 6l4 4 4-4" })
9290
9731
  }
9291
9732
  )
9292
9733
  ]
9293
9734
  }
9294
9735
  ) })
9295
9736
  ] }),
9296
- isLanguageDropdownOpen && /* @__PURE__ */ jsx3(
9737
+ isLanguageDropdownOpen && /* @__PURE__ */ jsx5(
9297
9738
  "ul",
9298
9739
  {
9299
9740
  id: "redacto-assisted-language-listbox",
9300
9741
  style: styles3.languageDropdown,
9301
9742
  role: "listbox",
9302
9743
  "aria-label": ts("selectLanguage"),
9303
- children: availableLanguages.map((lang) => /* @__PURE__ */ jsx3(
9744
+ children: availableLanguages.map((lang) => /* @__PURE__ */ jsx5(
9304
9745
  "li",
9305
9746
  {
9306
9747
  style: {
@@ -9320,8 +9761,8 @@ var RedactoNoticeAssisted = ({
9320
9761
  }
9321
9762
  )
9322
9763
  ] });
9323
- return /* @__PURE__ */ jsx3("div", { style: { ...styles3.topSection, ...responsive.topSection }, children: isMobile ? /* @__PURE__ */ jsxs3(Fragment2, { children: [
9324
- /* @__PURE__ */ jsxs3(
9764
+ return /* @__PURE__ */ jsx5("div", { style: { ...styles3.topSection, ...responsive.topSection }, children: isMobile ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
9765
+ /* @__PURE__ */ jsxs4(
9325
9766
  "div",
9326
9767
  {
9327
9768
  style: {
@@ -9332,7 +9773,7 @@ var RedactoNoticeAssisted = ({
9332
9773
  },
9333
9774
  children: [
9334
9775
  logoNode,
9335
- /* @__PURE__ */ jsx3(
9776
+ /* @__PURE__ */ jsx5(
9336
9777
  "div",
9337
9778
  {
9338
9779
  style: {
@@ -9348,8 +9789,8 @@ var RedactoNoticeAssisted = ({
9348
9789
  }
9349
9790
  ),
9350
9791
  titleNode
9351
- ] }) : /* @__PURE__ */ jsxs3(Fragment2, { children: [
9352
- /* @__PURE__ */ jsxs3("div", { style: styles3.topLeft, children: [
9792
+ ] }) : /* @__PURE__ */ jsxs4(Fragment3, { children: [
9793
+ /* @__PURE__ */ jsxs4("div", { style: styles3.topLeft, children: [
9353
9794
  logoNode,
9354
9795
  titleNode
9355
9796
  ] }),
@@ -9360,7 +9801,7 @@ var RedactoNoticeAssisted = ({
9360
9801
  if (!content) return null;
9361
9802
  const dpoInfo = content.dpo_info;
9362
9803
  if (!content.privacy_center_url && !dpoInfo) return null;
9363
- return /* @__PURE__ */ jsx3(
9804
+ return /* @__PURE__ */ jsx5(
9364
9805
  "div",
9365
9806
  {
9366
9807
  style: {
@@ -9372,14 +9813,14 @@ var RedactoNoticeAssisted = ({
9372
9813
  paddingTop: "12px",
9373
9814
  marginTop: "12px"
9374
9815
  },
9375
- children: /* @__PURE__ */ jsxs3("p", { style: { margin: 0, opacity: 0.6 }, children: [
9376
- content.privacy_center_url && /* @__PURE__ */ jsxs3(Fragment2, { children: [
9377
- /* @__PURE__ */ jsx3("span", { id: "additional-text", children: getTranslatedText(
9816
+ children: /* @__PURE__ */ jsxs4("p", { style: { margin: 0, opacity: 0.6 }, children: [
9817
+ content.privacy_center_url && /* @__PURE__ */ jsxs4(Fragment3, { children: [
9818
+ /* @__PURE__ */ jsx5("span", { id: "additional-text", children: getTranslatedText(
9378
9819
  "additional_text",
9379
9820
  content.additional_text || "Manage or withdraw consent anytime at"
9380
9821
  ) }),
9381
9822
  " ",
9382
- /* @__PURE__ */ jsx3(
9823
+ /* @__PURE__ */ jsx5(
9383
9824
  "a",
9384
9825
  {
9385
9826
  id: "privacy-center-link",
@@ -9395,11 +9836,11 @@ var RedactoNoticeAssisted = ({
9395
9836
  ),
9396
9837
  "."
9397
9838
  ] }),
9398
- dpoInfo && /* @__PURE__ */ jsxs3(Fragment2, { children: [
9399
- content.privacy_center_url && /* @__PURE__ */ jsx3("br", {}),
9400
- /* @__PURE__ */ jsx3("span", { id: "dpo-grievance-text", children: getTranslatedDpoText("grievance_text", dpoInfo.grievance_text) }),
9839
+ dpoInfo && /* @__PURE__ */ jsxs4(Fragment3, { children: [
9840
+ content.privacy_center_url && /* @__PURE__ */ jsx5("br", {}),
9841
+ /* @__PURE__ */ jsx5("span", { id: "dpo-grievance-text", children: getTranslatedDpoText("grievance_text", dpoInfo.grievance_text) }),
9401
9842
  " ",
9402
- dpoInfo.grievance_url && /* @__PURE__ */ jsx3(
9843
+ dpoInfo.grievance_url && /* @__PURE__ */ jsx5(
9403
9844
  "a",
9404
9845
  {
9405
9846
  id: "dpo-grievance-link",
@@ -9414,13 +9855,13 @@ var RedactoNoticeAssisted = ({
9414
9855
  }
9415
9856
  ),
9416
9857
  " ",
9417
- dpoInfo.grievance_email && /* @__PURE__ */ jsxs3(Fragment2, { children: [
9418
- /* @__PURE__ */ jsx3("span", { id: "dpo-grievance-email-connector", children: getTranslatedDpoText(
9858
+ dpoInfo.grievance_email && /* @__PURE__ */ jsxs4(Fragment3, { children: [
9859
+ /* @__PURE__ */ jsx5("span", { id: "dpo-grievance-email-connector", children: getTranslatedDpoText(
9419
9860
  "grievance_email_connector_text",
9420
9861
  dpoInfo.grievance_email_connector_text || "or email to"
9421
9862
  ) }),
9422
9863
  " ",
9423
- /* @__PURE__ */ jsx3(
9864
+ /* @__PURE__ */ jsx5(
9424
9865
  "a",
9425
9866
  {
9426
9867
  id: "dpo-grievance-email",
@@ -9430,10 +9871,10 @@ var RedactoNoticeAssisted = ({
9430
9871
  }
9431
9872
  )
9432
9873
  ] }),
9433
- /* @__PURE__ */ jsx3("br", {}),
9434
- /* @__PURE__ */ jsx3("span", { id: "dpo-dp-board-text", children: getTranslatedDpoText("dp_board_text", dpoInfo.dp_board_text) }),
9874
+ /* @__PURE__ */ jsx5("br", {}),
9875
+ /* @__PURE__ */ jsx5("span", { id: "dpo-dp-board-text", children: getTranslatedDpoText("dp_board_text", dpoInfo.dp_board_text) }),
9435
9876
  " ",
9436
- dpoInfo.dp_board_url && /* @__PURE__ */ jsx3(
9877
+ dpoInfo.dp_board_url && /* @__PURE__ */ jsx5(
9437
9878
  "a",
9438
9879
  {
9439
9880
  id: "dpo-dp-board-link",
@@ -9447,10 +9888,10 @@ var RedactoNoticeAssisted = ({
9447
9888
  )
9448
9889
  }
9449
9890
  ),
9450
- /* @__PURE__ */ jsx3("br", {}),
9451
- /* @__PURE__ */ jsx3("span", { id: "dpo-dpo-text", children: getTranslatedDpoText("dpo_text", dpoInfo.dpo_text) }),
9891
+ /* @__PURE__ */ jsx5("br", {}),
9892
+ /* @__PURE__ */ jsx5("span", { id: "dpo-dpo-text", children: getTranslatedDpoText("dpo_text", dpoInfo.dpo_text) }),
9452
9893
  " ",
9453
- dpoInfo.dpo_email && /* @__PURE__ */ jsx3(
9894
+ dpoInfo.dpo_email && /* @__PURE__ */ jsx5(
9454
9895
  "a",
9455
9896
  {
9456
9897
  id: "dpo-dpo-link",
@@ -9469,17 +9910,17 @@ var RedactoNoticeAssisted = ({
9469
9910
  };
9470
9911
  const renderNoticeScreen = (locked) => {
9471
9912
  if (!content) return null;
9472
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
9473
- /* @__PURE__ */ jsxs3("p", { style: { ...styles3.privacyText, ...responsive.privacyText }, children: [
9474
- /* @__PURE__ */ jsx3("span", { id: "privacy-notice-text", children: getTranslatedText("notice_text", content.notice_text) }),
9475
- /* @__PURE__ */ jsx3("br", {}),
9476
- /* @__PURE__ */ jsxs3("span", { children: [
9477
- /* @__PURE__ */ jsx3("span", { id: "privacy-policy-text", children: getTranslatedText(
9913
+ return /* @__PURE__ */ jsxs4(Fragment3, { children: [
9914
+ /* @__PURE__ */ jsxs4("p", { style: { ...styles3.privacyText, ...responsive.privacyText }, children: [
9915
+ /* @__PURE__ */ jsx5("span", { id: "privacy-notice-text", children: getTranslatedText("notice_text", content.notice_text) }),
9916
+ /* @__PURE__ */ jsx5("br", {}),
9917
+ /* @__PURE__ */ jsxs4("span", { children: [
9918
+ /* @__PURE__ */ jsx5("span", { id: "privacy-policy-text", children: getTranslatedText(
9478
9919
  "privacy_policy_prefix_text",
9479
9920
  content.privacy_policy_prefix_text || ""
9480
9921
  ) }),
9481
9922
  " ",
9482
- /* @__PURE__ */ jsx3(
9923
+ /* @__PURE__ */ jsx5(
9483
9924
  "a",
9484
9925
  {
9485
9926
  id: "privacy-policy-link",
@@ -9499,7 +9940,7 @@ var RedactoNoticeAssisted = ({
9499
9940
  )
9500
9941
  ] })
9501
9942
  ] }),
9502
- /* @__PURE__ */ jsx3(
9943
+ /* @__PURE__ */ jsx5(
9503
9944
  "h2",
9504
9945
  {
9505
9946
  id: "purpose-section-heading",
@@ -9510,7 +9951,7 @@ var RedactoNoticeAssisted = ({
9510
9951
  )
9511
9952
  }
9512
9953
  ),
9513
- /* @__PURE__ */ jsx3(
9954
+ /* @__PURE__ */ jsx5(
9514
9955
  "div",
9515
9956
  {
9516
9957
  style: {
@@ -9518,7 +9959,7 @@ var RedactoNoticeAssisted = ({
9518
9959
  ...locked ? styles3.lockedOptions : null
9519
9960
  },
9520
9961
  "aria-disabled": locked || void 0,
9521
- children: content.purposes.map((purpose) => /* @__PURE__ */ jsx3(
9962
+ children: content.purposes.map((purpose) => /* @__PURE__ */ jsx5(
9522
9963
  PurposeItem2,
9523
9964
  {
9524
9965
  purpose,
@@ -9540,19 +9981,19 @@ var RedactoNoticeAssisted = ({
9540
9981
  renderDpoFooter()
9541
9982
  ] });
9542
9983
  };
9543
- const renderVerifyBlock = () => /* @__PURE__ */ jsxs3(
9984
+ const renderVerifyBlock = () => /* @__PURE__ */ jsxs4(
9544
9985
  "div",
9545
9986
  {
9546
9987
  ref: verifyBlockRef,
9547
9988
  className: "redacto-assisted-reveal",
9548
9989
  style: styles3.verifyPanel,
9549
9990
  children: [
9550
- /* @__PURE__ */ jsxs3("div", { style: styles3.verifyPanelHeader, children: [
9551
- /* @__PURE__ */ jsxs3("span", { style: styles3.verifyPanelTitle, children: [
9552
- /* @__PURE__ */ jsx3(LockIcon, { size: 15, color: primaryColor }),
9991
+ /* @__PURE__ */ jsxs4("div", { style: styles3.verifyPanelHeader, children: [
9992
+ /* @__PURE__ */ jsxs4("span", { style: styles3.verifyPanelTitle, children: [
9993
+ /* @__PURE__ */ jsx5(LockIcon, { size: 15, color: primaryColor }),
9553
9994
  ts("verifyWithOtp")
9554
9995
  ] }),
9555
- /* @__PURE__ */ jsx3(
9996
+ /* @__PURE__ */ jsx5(
9556
9997
  "button",
9557
9998
  {
9558
9999
  type: "button",
@@ -9563,42 +10004,44 @@ var RedactoNoticeAssisted = ({
9563
10004
  }
9564
10005
  )
9565
10006
  ] }),
9566
- /* @__PURE__ */ jsxs3("div", { style: styles3.phoneFieldWrap, children: [
9567
- /* @__PURE__ */ jsxs3("div", { style: styles3.fieldLabelRow, children: [
9568
- /* @__PURE__ */ jsxs3(
10007
+ /* @__PURE__ */ jsxs4("div", { style: styles3.phoneFieldWrap, children: [
10008
+ /* @__PURE__ */ jsxs4("div", { style: styles3.fieldLabelRow, children: [
10009
+ /* @__PURE__ */ jsxs4(
9569
10010
  "label",
9570
10011
  {
9571
10012
  htmlFor: verifyMethod === "email" ? "redacto-assisted-email" : "redacto-assisted-mobile",
9572
10013
  style: styles3.fieldLabelWithIcon,
9573
10014
  children: [
9574
- verifyMethod === "email" ? /* @__PURE__ */ jsx3(MailIcon, { size: 14, color: "#475467" }) : /* @__PURE__ */ jsx3(PhoneIcon, { size: 14, color: "#475467" }),
10015
+ verifyMethod === "email" ? /* @__PURE__ */ jsx5(MailIcon, { size: 14, color: "#475467" }) : /* @__PURE__ */ jsx5(PhoneIcon, { size: 14, color: "#475467" }),
9575
10016
  verifyMethod === "email" ? ts("emailAddress") : ts("mobileNumber")
9576
10017
  ]
9577
10018
  }
9578
10019
  ),
9579
- !otpSent && /* @__PURE__ */ jsxs3(
10020
+ !otpSent && /* @__PURE__ */ jsxs4(
9580
10021
  "button",
9581
10022
  {
9582
10023
  type: "button",
9583
10024
  className: "redacto-assisted-switch-link",
9584
10025
  style: { ...styles3.editLink, color: primaryColor },
9585
- onClick: () => handleSelectMethod(verifyMethod === "email" ? "mobile" : "email"),
10026
+ onClick: () => handleSelectMethod(
10027
+ verifyMethod === "email" ? "mobile" : "email"
10028
+ ),
9586
10029
  disabled: isSendingOtp,
9587
10030
  children: [
9588
- verifyMethod === "email" ? /* @__PURE__ */ jsx3(PhoneIcon, { size: 14, color: primaryColor }) : /* @__PURE__ */ jsx3(MailIcon, { size: 14, color: primaryColor }),
10031
+ verifyMethod === "email" ? /* @__PURE__ */ jsx5(PhoneIcon, { size: 14, color: primaryColor }) : /* @__PURE__ */ jsx5(MailIcon, { size: 14, color: primaryColor }),
9589
10032
  verifyMethod === "email" ? ts("useMobileInstead") : ts("useEmailInstead")
9590
10033
  ]
9591
10034
  }
9592
10035
  )
9593
10036
  ] }),
9594
- verifyMethod === "mobile" ? /* @__PURE__ */ jsxs3(
10037
+ verifyMethod === "mobile" ? /* @__PURE__ */ jsxs4(
9595
10038
  "div",
9596
10039
  {
9597
10040
  className: "redacto-assisted-phone-field",
9598
10041
  style: styles3.phoneField,
9599
10042
  children: [
9600
- /* @__PURE__ */ jsx3("span", { style: styles3.phonePrefix, children: ASSISTED_CONFIG.dialCode }),
9601
- /* @__PURE__ */ jsx3(
10043
+ /* @__PURE__ */ jsx5("span", { style: styles3.phonePrefix, children: ASSISTED_CONFIG.dialCode }),
10044
+ /* @__PURE__ */ jsx5(
9602
10045
  "input",
9603
10046
  {
9604
10047
  id: "redacto-assisted-mobile",
@@ -9616,12 +10059,12 @@ var RedactoNoticeAssisted = ({
9616
10059
  )
9617
10060
  ]
9618
10061
  }
9619
- ) : /* @__PURE__ */ jsx3(
10062
+ ) : /* @__PURE__ */ jsx5(
9620
10063
  "div",
9621
10064
  {
9622
10065
  className: "redacto-assisted-phone-field",
9623
10066
  style: styles3.phoneField,
9624
- children: /* @__PURE__ */ jsx3(
10067
+ children: /* @__PURE__ */ jsx5(
9625
10068
  "input",
9626
10069
  {
9627
10070
  id: "redacto-assisted-email",
@@ -9639,15 +10082,15 @@ var RedactoNoticeAssisted = ({
9639
10082
  )
9640
10083
  }
9641
10084
  ),
9642
- !otpSent ? /* @__PURE__ */ jsx3("p", { style: styles3.helperText, children: verifyMethod === "email" ? ts("otpHelperEmail") : ts("otpHelper") }) : /* @__PURE__ */ jsxs3("div", { style: styles3.otpStatusRow, children: [
9643
- /* @__PURE__ */ jsxs3("span", { style: styles3.otpSentText, children: [
9644
- /* @__PURE__ */ jsx3(CheckIcon, { size: 15, color: "#10B981" }),
10085
+ !otpSent ? /* @__PURE__ */ jsx5("p", { style: styles3.helperText, children: verifyMethod === "email" ? ts("otpHelperEmail") : ts("otpHelper") }) : /* @__PURE__ */ jsxs4("div", { style: styles3.otpStatusRow, children: [
10086
+ /* @__PURE__ */ jsxs4("span", { style: styles3.otpSentText, children: [
10087
+ /* @__PURE__ */ jsx5(CheckIcon, { size: 15, color: "#10B981" }),
9645
10088
  " ",
9646
10089
  ts("otpSentTo"),
9647
10090
  " ",
9648
10091
  verifyMethod === "email" ? email : `${ASSISTED_CONFIG.dialCode} ${mobile}`
9649
10092
  ] }),
9650
- /* @__PURE__ */ jsx3(
10093
+ /* @__PURE__ */ jsx5(
9651
10094
  "button",
9652
10095
  {
9653
10096
  type: "button",
@@ -9658,15 +10101,15 @@ var RedactoNoticeAssisted = ({
9658
10101
  }
9659
10102
  )
9660
10103
  ] }),
9661
- createError && /* @__PURE__ */ jsx3("p", { style: styles3.fieldError, role: "alert", children: createError }),
9662
- otpSent && /* @__PURE__ */ jsxs3(
10104
+ createError && /* @__PURE__ */ jsx5("p", { style: styles3.fieldError, role: "alert", children: createError }),
10105
+ otpSent && /* @__PURE__ */ jsxs4(
9663
10106
  "div",
9664
10107
  {
9665
10108
  ref: otpSectionRef,
9666
10109
  style: { display: "flex", flexDirection: "column", gap: "12px" },
9667
10110
  children: [
9668
- /* @__PURE__ */ jsx3("p", { style: styles3.centerLabel, children: ts("enterNDigitOtp", { count: ASSISTED_CONFIG.otpLength }) }),
9669
- /* @__PURE__ */ jsx3("div", { style: styles3.otpRow, children: otpDigits.map((digit, index) => /* @__PURE__ */ jsx3(
10111
+ /* @__PURE__ */ jsx5("p", { style: styles3.centerLabel, children: ts("enterNDigitOtp", { count: ASSISTED_CONFIG.otpLength }) }),
10112
+ /* @__PURE__ */ jsx5("div", { style: styles3.otpRow, children: otpDigits.map((digit, index) => /* @__PURE__ */ jsx5(
9670
10113
  "input",
9671
10114
  {
9672
10115
  ref: (el) => {
@@ -9696,11 +10139,11 @@ var RedactoNoticeAssisted = ({
9696
10139
  },
9697
10140
  index
9698
10141
  )) }),
9699
- otpError && /* @__PURE__ */ jsx3("p", { style: styles3.fieldError, role: "alert", children: otpError }),
9700
- /* @__PURE__ */ jsx3("p", { style: styles3.resendText, children: resendCountdown > 0 ? /* @__PURE__ */ jsxs3(Fragment2, { children: [
9701
- /* @__PURE__ */ jsx3(ClockIcon, {}),
10142
+ otpError && /* @__PURE__ */ jsx5("p", { style: styles3.fieldError, role: "alert", children: otpError }),
10143
+ /* @__PURE__ */ jsx5("p", { style: styles3.resendText, children: resendCountdown > 0 ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
10144
+ /* @__PURE__ */ jsx5(ClockIcon, {}),
9702
10145
  ts("resendIn", { seconds: resendCountdown })
9703
- ] }) : /* @__PURE__ */ jsx3(
10146
+ ] }) : /* @__PURE__ */ jsx5(
9704
10147
  "button",
9705
10148
  {
9706
10149
  type: "button",
@@ -9720,15 +10163,15 @@ var RedactoNoticeAssisted = ({
9720
10163
  const renderFooter = () => {
9721
10164
  const declineLabel = getTranslatedText(
9722
10165
  "decline_button_text",
9723
- (content == null ? void 0 : content.decline_button_text) || "Decline"
10166
+ (content == null ? void 0 : content.decline_button_text) || DEFAULT_DECLINE_BUTTON_TEXT
9724
10167
  );
9725
10168
  const isVerify = step === "verify";
9726
10169
  let primaryLabel = getTranslatedText(
9727
10170
  "confirm_button_text",
9728
- (content == null ? void 0 : content.confirm_button_text) || "Confirm"
10171
+ (content == null ? void 0 : content.confirm_button_text) || DEFAULT_ACCEPT_SELECTED_BUTTON_TEXT
9729
10172
  );
9730
10173
  let primaryDisabled = !areAllRequiredElementsChecked;
9731
- let primaryOnClick = handleConfirmStep;
10174
+ let primaryOnClick = handleAcceptSelected;
9732
10175
  if (isVerify && !otpSent) {
9733
10176
  primaryLabel = isSendingOtp ? ts("sending") : ts("sendOtp");
9734
10177
  primaryDisabled = !isContactValid || isSendingOtp;
@@ -9738,50 +10181,92 @@ var RedactoNoticeAssisted = ({
9738
10181
  primaryDisabled = !isOtpComplete || isVerifying;
9739
10182
  primaryOnClick = handleConfirm;
9740
10183
  }
9741
- return /* @__PURE__ */ jsxs3("div", { style: { ...styles3.bottomSection, ...responsive.bottomSection }, children: [
9742
- /* @__PURE__ */ jsx3(
9743
- "button",
9744
- {
9745
- type: "button",
9746
- id: "confirm-button-text",
9747
- className: "redacto-assisted-primary-btn",
9748
- style: {
9749
- ...styles3.button,
9750
- ...responsive.button,
9751
- ...styles3.acceptButton,
9752
- backgroundColor: primaryColor
9753
- },
9754
- disabled: primaryDisabled,
9755
- onClick: primaryOnClick,
9756
- children: primaryLabel
9757
- }
9758
- ),
9759
- /* @__PURE__ */ jsx3(
9760
- "button",
9761
- {
9762
- type: "button",
9763
- id: "decline-button-text",
9764
- className: "redacto-assisted-secondary-btn",
9765
- style: {
9766
- ...styles3.button,
9767
- ...responsive.button,
9768
- ...styles3.cancelButton
9769
- },
9770
- onClick: handleDecline,
9771
- children: declineLabel
9772
- }
9773
- )
9774
- ] });
10184
+ const widthStyle = isMobile ? styles3.stackButton : styles3.rowButton;
10185
+ const shortcutStyle = {
10186
+ ...styles3.button,
10187
+ ...responsive.button,
10188
+ ...styles3.acceptButton,
10189
+ ...isVerify ? {} : widthStyle,
10190
+ backgroundColor: primaryColor
10191
+ };
10192
+ const acceptAllButton = /* @__PURE__ */ jsx5(
10193
+ "button",
10194
+ {
10195
+ type: "button",
10196
+ id: "accept-all-button-text",
10197
+ className: "redacto-assisted-secondary-btn",
10198
+ style: shortcutStyle,
10199
+ onClick: handleAcceptAll,
10200
+ children: getTranslatedText(
10201
+ "accept_all_button_text",
10202
+ (content == null ? void 0 : content.accept_all_button_text) || DEFAULT_ACCEPT_ALL_BUTTON_TEXT
10203
+ )
10204
+ }
10205
+ );
10206
+ const primaryButton = /* @__PURE__ */ jsx5(
10207
+ "button",
10208
+ {
10209
+ type: "button",
10210
+ id: "confirm-button-text",
10211
+ className: "redacto-assisted-primary-btn",
10212
+ style: {
10213
+ ...styles3.button,
10214
+ ...responsive.button,
10215
+ ...isVerify ? { ...styles3.acceptButton, backgroundColor: primaryColor } : {
10216
+ ...styles3.cancelButton,
10217
+ ...widthStyle,
10218
+ color: primaryColor,
10219
+ borderColor: primaryColor
10220
+ }
10221
+ },
10222
+ disabled: primaryDisabled,
10223
+ onClick: primaryOnClick,
10224
+ children: primaryLabel
10225
+ }
10226
+ );
10227
+ const declineButton = /* @__PURE__ */ jsx5(
10228
+ "button",
10229
+ {
10230
+ type: "button",
10231
+ id: "decline-button-text",
10232
+ className: "redacto-assisted-secondary-btn",
10233
+ style: {
10234
+ ...styles3.button,
10235
+ ...responsive.button,
10236
+ ...styles3.cancelButton,
10237
+ ...isVerify ? {} : widthStyle,
10238
+ // Only the wide notice-step row needs the push-right spacer.
10239
+ ...isVerify || isMobile ? {} : styles3.declineSpacer
10240
+ },
10241
+ onClick: handleDecline,
10242
+ children: declineLabel
10243
+ }
10244
+ );
10245
+ if (isVerify) {
10246
+ return /* @__PURE__ */ jsxs4("div", { style: { ...styles3.bottomSection, ...responsive.bottomSection }, children: [
10247
+ primaryButton,
10248
+ declineButton
10249
+ ] });
10250
+ }
10251
+ return /* @__PURE__ */ jsx5("div", { style: isMobile ? styles3.actionButtonStack : styles3.actionButtonRow, children: isMobile ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
10252
+ acceptAllButton,
10253
+ primaryButton,
10254
+ declineButton
10255
+ ] }) : /* @__PURE__ */ jsxs4(Fragment3, { children: [
10256
+ declineButton,
10257
+ primaryButton,
10258
+ acceptAllButton
10259
+ ] }) });
9775
10260
  };
9776
10261
  const renderBody = () => {
9777
10262
  if (isLoading) {
9778
- return /* @__PURE__ */ jsx3("div", { style: styles3.loadingWrap, children: /* @__PURE__ */ jsx3("div", { style: styles3.loadingSpinner, "aria-label": ts("loadingNotice") }) });
10263
+ return /* @__PURE__ */ jsx5("div", { style: styles3.loadingWrap, children: /* @__PURE__ */ jsx5("div", { style: styles3.loadingSpinner, "aria-label": ts("loadingNotice") }) });
9779
10264
  }
9780
10265
  if (fetchError || !content) {
9781
- return /* @__PURE__ */ jsxs3("div", { style: styles3.loadingWrap, children: [
9782
- /* @__PURE__ */ jsx3("p", { style: styles3.errorTitle, children: ts("loadFailedTitle") }),
9783
- /* @__PURE__ */ jsx3("p", { style: styles3.errorText, children: (fetchError == null ? void 0 : fetchError.message) || ts("tryAgain") }),
9784
- /* @__PURE__ */ jsx3(
10266
+ return /* @__PURE__ */ jsxs4("div", { style: styles3.loadingWrap, children: [
10267
+ /* @__PURE__ */ jsx5("p", { style: styles3.errorTitle, children: ts("loadFailedTitle") }),
10268
+ /* @__PURE__ */ jsx5("p", { style: styles3.errorText, children: (fetchError == null ? void 0 : fetchError.message) || ts("tryAgain") }),
10269
+ /* @__PURE__ */ jsx5(
9785
10270
  "button",
9786
10271
  {
9787
10272
  type: "button",
@@ -9793,18 +10278,19 @@ var RedactoNoticeAssisted = ({
9793
10278
  )
9794
10279
  ] });
9795
10280
  }
9796
- return /* @__PURE__ */ jsxs3(Fragment2, { children: [
10281
+ return /* @__PURE__ */ jsxs4(Fragment3, { children: [
9797
10282
  renderHeader(),
9798
- /* @__PURE__ */ jsxs3("div", { style: { ...styles3.middleSection, ...responsive.middleSection }, children: [
10283
+ /* @__PURE__ */ jsxs4("div", { style: { ...styles3.middleSection, ...responsive.middleSection }, children: [
9799
10284
  renderNoticeScreen(step === "verify"),
9800
10285
  step === "verify" && renderVerifyBlock()
9801
10286
  ] }),
9802
10287
  renderFooter()
9803
10288
  ] });
9804
10289
  };
9805
- return /* @__PURE__ */ jsx3("div", { style: styles3.overlay, children: /* @__PURE__ */ jsx3(
10290
+ return /* @__PURE__ */ jsx5("div", { style: styles3.overlay, children: /* @__PURE__ */ jsx5(
9806
10291
  "div",
9807
10292
  {
10293
+ ...NOTICE_FONT_ROOT_PROPS,
9808
10294
  style: {
9809
10295
  ...styles3.modal,
9810
10296
  ...responsive.modal,
@@ -9814,7 +10300,7 @@ var RedactoNoticeAssisted = ({
9814
10300
  role: "dialog",
9815
10301
  "aria-modal": "true",
9816
10302
  "aria-label": noticeTitle,
9817
- children: /* @__PURE__ */ jsx3("div", { style: styles3.content, children: renderBody() })
10303
+ children: /* @__PURE__ */ jsx5("div", { style: styles3.content, children: renderBody() })
9818
10304
  }
9819
10305
  ) });
9820
10306
  };
@@ -9836,7 +10322,7 @@ var scrollIntoViewSoft = (el) => {
9836
10322
  var ClockIcon = ({
9837
10323
  size = 13,
9838
10324
  color = "#667085"
9839
- }) => /* @__PURE__ */ jsxs3(
10325
+ }) => /* @__PURE__ */ jsxs4(
9840
10326
  "svg",
9841
10327
  {
9842
10328
  width: size,
@@ -9850,15 +10336,15 @@ var ClockIcon = ({
9850
10336
  "aria-hidden": "true",
9851
10337
  style: { flexShrink: 0 },
9852
10338
  children: [
9853
- /* @__PURE__ */ jsx3("circle", { cx: "12", cy: "12", r: "9" }),
9854
- /* @__PURE__ */ jsx3("path", { d: "M12 7v5l3 2" })
10339
+ /* @__PURE__ */ jsx5("circle", { cx: "12", cy: "12", r: "9" }),
10340
+ /* @__PURE__ */ jsx5("path", { d: "M12 7v5l3 2" })
9855
10341
  ]
9856
10342
  }
9857
10343
  );
9858
10344
  var LockIcon = ({
9859
10345
  size = 15,
9860
10346
  color = "#475467"
9861
- }) => /* @__PURE__ */ jsxs3(
10347
+ }) => /* @__PURE__ */ jsxs4(
9862
10348
  "svg",
9863
10349
  {
9864
10350
  width: size,
@@ -9872,15 +10358,15 @@ var LockIcon = ({
9872
10358
  "aria-hidden": "true",
9873
10359
  style: { flexShrink: 0 },
9874
10360
  children: [
9875
- /* @__PURE__ */ jsx3("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2" }),
9876
- /* @__PURE__ */ jsx3("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
10361
+ /* @__PURE__ */ jsx5("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2" }),
10362
+ /* @__PURE__ */ jsx5("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
9877
10363
  ]
9878
10364
  }
9879
10365
  );
9880
10366
  var CheckIcon = ({
9881
10367
  size = 16,
9882
10368
  color = "#10B981"
9883
- }) => /* @__PURE__ */ jsx3(
10369
+ }) => /* @__PURE__ */ jsx5(
9884
10370
  "svg",
9885
10371
  {
9886
10372
  width: size,
@@ -9893,13 +10379,13 @@ var CheckIcon = ({
9893
10379
  strokeLinejoin: "round",
9894
10380
  "aria-hidden": "true",
9895
10381
  style: { flexShrink: 0 },
9896
- children: /* @__PURE__ */ jsx3("path", { d: "M20 6 9 17l-5-5" })
10382
+ children: /* @__PURE__ */ jsx5("path", { d: "M20 6 9 17l-5-5" })
9897
10383
  }
9898
10384
  );
9899
10385
  var PhoneIcon = ({
9900
10386
  size = 14,
9901
10387
  color = "#475467"
9902
- }) => /* @__PURE__ */ jsx3(
10388
+ }) => /* @__PURE__ */ jsx5(
9903
10389
  "svg",
9904
10390
  {
9905
10391
  width: size,
@@ -9912,13 +10398,13 @@ var PhoneIcon = ({
9912
10398
  strokeLinejoin: "round",
9913
10399
  "aria-hidden": "true",
9914
10400
  style: { flexShrink: 0 },
9915
- children: /* @__PURE__ */ jsx3("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z" })
10401
+ children: /* @__PURE__ */ jsx5("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z" })
9916
10402
  }
9917
10403
  );
9918
10404
  var MailIcon = ({
9919
10405
  size = 14,
9920
10406
  color = "#475467"
9921
- }) => /* @__PURE__ */ jsxs3(
10407
+ }) => /* @__PURE__ */ jsxs4(
9922
10408
  "svg",
9923
10409
  {
9924
10410
  width: size,
@@ -9932,15 +10418,15 @@ var MailIcon = ({
9932
10418
  "aria-hidden": "true",
9933
10419
  style: { flexShrink: 0 },
9934
10420
  children: [
9935
- /* @__PURE__ */ jsx3("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2" }),
9936
- /* @__PURE__ */ jsx3("path", { d: "m22 7-10 5L2 7" })
10421
+ /* @__PURE__ */ jsx5("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2" }),
10422
+ /* @__PURE__ */ jsx5("path", { d: "m22 7-10 5L2 7" })
9937
10423
  ]
9938
10424
  }
9939
10425
  );
9940
10426
 
9941
10427
  // src/RedactoNoticeConsent/components/DigiLockerCallback.tsx
9942
- import { useCallback as useCallback4, useEffect as useEffect6, useRef as useRef4, useState as useState6 } from "react";
9943
- import { Fragment as Fragment3, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
10428
+ import { useCallback as useCallback4, useEffect as useEffect7, useRef as useRef4, useState as useState6 } from "react";
10429
+ import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
9944
10430
  var DigiLockerCallback = ({
9945
10431
  accessToken: propAccessToken,
9946
10432
  baseUrl,
@@ -10197,7 +10683,7 @@ var DigiLockerCallback = ({
10197
10683
  }
10198
10684
  }
10199
10685
  }, [propAccessToken, baseUrl, onSuccess, onError, redirectToOriginalPage]);
10200
- useEffect6(() => {
10686
+ useEffect7(() => {
10201
10687
  injectCheckboxStyles();
10202
10688
  handleCallback();
10203
10689
  return () => {
@@ -10338,25 +10824,25 @@ var DigiLockerCallback = ({
10338
10824
  transform: translateY(0);
10339
10825
  }
10340
10826
  `;
10341
- return /* @__PURE__ */ jsxs4(Fragment3, { children: [
10342
- /* @__PURE__ */ jsx4("style", { dangerouslySetInnerHTML: { __html: keyframesStyle } }),
10343
- /* @__PURE__ */ jsx4("div", { style: containerStyle, children: /* @__PURE__ */ jsxs4("div", { style: cardStyle, children: [
10344
- status === "processing" && /* @__PURE__ */ jsxs4(Fragment3, { children: [
10345
- /* @__PURE__ */ jsx4("div", { style: spinnerContainerStyle, children: /* @__PURE__ */ jsx4("div", { style: spinnerStyle }) }),
10346
- /* @__PURE__ */ jsx4("h2", { style: titleStyle, children: "Processing Verification" }),
10347
- /* @__PURE__ */ jsx4("p", { style: messageStyle, children: message }),
10348
- /* @__PURE__ */ jsx4("p", { style: subtextStyle, children: "Please wait while we verify your guardian's identity..." })
10827
+ return /* @__PURE__ */ jsxs5(Fragment4, { children: [
10828
+ /* @__PURE__ */ jsx6("style", { dangerouslySetInnerHTML: { __html: keyframesStyle } }),
10829
+ /* @__PURE__ */ jsx6("div", { style: containerStyle, children: /* @__PURE__ */ jsxs5("div", { style: cardStyle, children: [
10830
+ status === "processing" && /* @__PURE__ */ jsxs5(Fragment4, { children: [
10831
+ /* @__PURE__ */ jsx6("div", { style: spinnerContainerStyle, children: /* @__PURE__ */ jsx6("div", { style: spinnerStyle }) }),
10832
+ /* @__PURE__ */ jsx6("h2", { style: titleStyle, children: "Processing Verification" }),
10833
+ /* @__PURE__ */ jsx6("p", { style: messageStyle, children: message }),
10834
+ /* @__PURE__ */ jsx6("p", { style: subtextStyle, children: "Please wait while we verify your guardian's identity..." })
10349
10835
  ] }),
10350
- status === "success" && /* @__PURE__ */ jsxs4(Fragment3, { children: [
10351
- /* @__PURE__ */ jsxs4("div", { style: { position: "relative", width: "72px", height: "72px", margin: "0 auto 28px" }, children: [
10352
- /* @__PURE__ */ jsx4("div", { style: {
10836
+ status === "success" && /* @__PURE__ */ jsxs5(Fragment4, { children: [
10837
+ /* @__PURE__ */ jsxs5("div", { style: { position: "relative", width: "72px", height: "72px", margin: "0 auto 28px" }, children: [
10838
+ /* @__PURE__ */ jsx6("div", { style: {
10353
10839
  position: "absolute",
10354
10840
  inset: "-8px",
10355
10841
  borderRadius: "50%",
10356
10842
  border: "2px solid #d1fae5",
10357
10843
  animation: "redacto-dl-pulse 1.5s ease-out infinite"
10358
10844
  } }),
10359
- /* @__PURE__ */ jsx4("div", { style: successIconStyle, children: /* @__PURE__ */ jsx4(
10845
+ /* @__PURE__ */ jsx6("div", { style: successIconStyle, children: /* @__PURE__ */ jsx6(
10360
10846
  "svg",
10361
10847
  {
10362
10848
  width: "30",
@@ -10368,16 +10854,16 @@ var DigiLockerCallback = ({
10368
10854
  strokeLinecap: "round",
10369
10855
  strokeLinejoin: "round",
10370
10856
  style: { strokeDasharray: 24, animation: "redacto-dl-check 0.4s ease-out 0.3s forwards", strokeDashoffset: 24 },
10371
- children: /* @__PURE__ */ jsx4("polyline", { points: "20 6 9 17 4 12" })
10857
+ children: /* @__PURE__ */ jsx6("polyline", { points: "20 6 9 17 4 12" })
10372
10858
  }
10373
10859
  ) })
10374
10860
  ] }),
10375
- /* @__PURE__ */ jsx4("h2", { style: titleStyle, children: "Verification Successful" }),
10376
- /* @__PURE__ */ jsx4("p", { style: messageStyle, children: message }),
10377
- /* @__PURE__ */ jsx4("p", { style: subtextStyle, children: "You will be redirected automatically." })
10861
+ /* @__PURE__ */ jsx6("h2", { style: titleStyle, children: "Verification Successful" }),
10862
+ /* @__PURE__ */ jsx6("p", { style: messageStyle, children: message }),
10863
+ /* @__PURE__ */ jsx6("p", { style: subtextStyle, children: "You will be redirected automatically." })
10378
10864
  ] }),
10379
- status === "error" && /* @__PURE__ */ jsxs4(Fragment3, { children: [
10380
- /* @__PURE__ */ jsx4("div", { style: errorIconStyle, children: /* @__PURE__ */ jsxs4(
10865
+ status === "error" && /* @__PURE__ */ jsxs5(Fragment4, { children: [
10866
+ /* @__PURE__ */ jsx6("div", { style: errorIconStyle, children: /* @__PURE__ */ jsxs5(
10381
10867
  "svg",
10382
10868
  {
10383
10869
  width: "30",
@@ -10389,15 +10875,15 @@ var DigiLockerCallback = ({
10389
10875
  strokeLinecap: "round",
10390
10876
  strokeLinejoin: "round",
10391
10877
  children: [
10392
- /* @__PURE__ */ jsx4("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
10393
- /* @__PURE__ */ jsx4("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
10878
+ /* @__PURE__ */ jsx6("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
10879
+ /* @__PURE__ */ jsx6("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
10394
10880
  ]
10395
10881
  }
10396
10882
  ) }),
10397
- /* @__PURE__ */ jsx4("h2", { style: titleStyle, children: "Verification Failed" }),
10398
- /* @__PURE__ */ jsx4("p", { style: messageStyle, children: message }),
10399
- errorDetail && /* @__PURE__ */ jsx4("p", { style: errorDetailStyle, children: errorDetail }),
10400
- /* @__PURE__ */ jsx4(
10883
+ /* @__PURE__ */ jsx6("h2", { style: titleStyle, children: "Verification Failed" }),
10884
+ /* @__PURE__ */ jsx6("p", { style: messageStyle, children: message }),
10885
+ errorDetail && /* @__PURE__ */ jsx6("p", { style: errorDetailStyle, children: errorDetail }),
10886
+ /* @__PURE__ */ jsx6(
10401
10887
  "button",
10402
10888
  {
10403
10889
  className: "redacto-dl-retry-btn",
@@ -10415,5 +10901,6 @@ export {
10415
10901
  DigiLockerCallback,
10416
10902
  RedactoNoticeAssisted,
10417
10903
  RedactoNoticeConsent,
10418
- RedactoConsentInline as RedactoNoticeConsentInline
10904
+ RedactoConsentInline as RedactoNoticeConsentInline,
10905
+ configureNoticeFonts
10419
10906
  };