@redacto.io/consent-sdk-react 10.3.0-beta.5 → 10.3.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.
@@ -581,9 +581,15 @@ var useMediaQuery = (query) => {
581
581
  // src/shared/sandbox.ts
582
582
  var SANDBOX_TOKEN_HEADER = "X-Consent-Token";
583
583
 
584
+ // src/constants.ts
585
+ var DEFAULT_CONSENT_API_BASE_URL = "https://api.redacto.io/consent";
586
+ var USER_SERVICE_PATH = "/user/api/0";
587
+
584
588
  export {
585
589
  SANDBOX_TOKEN_HEADER,
586
590
  withIdempotencyKey,
591
+ DEFAULT_CONSENT_API_BASE_URL,
592
+ USER_SERVICE_PATH,
587
593
  DEFAULT_TEXT_SCALE,
588
594
  NOTICE_TEXT_SCALE_FACTORS,
589
595
  NOTICE_THEME_VARS,
package/dist/index.js CHANGED
@@ -278,6 +278,9 @@ ${body}`;
278
278
  }
279
279
  };
280
280
 
281
+ // src/constants.ts
282
+ var DEFAULT_CONSENT_API_BASE_URL = "https://api.redacto.io/consent";
283
+
281
284
  // src/shared/notice-consent-status.ts
282
285
  var import_jwt_decode = require("jwt-decode");
283
286
  var decodeNoticeConsentToken = (token) => {
@@ -356,7 +359,7 @@ var fetchNoticeConsentStatus = async ({
356
359
  var isNoticeFullyConsented = (status) => status.consented && status.all_mandatory_active;
357
360
 
358
361
  // src/RedactoNoticeConsent/api/index.ts
359
- var BASE_URL = "https://api.redacto.io/consent";
362
+ var BASE_URL = DEFAULT_CONSENT_API_BASE_URL;
360
363
  var apiCache = /* @__PURE__ */ new Map();
361
364
  var CACHE_TTL = 5 * 60 * 1e3;
362
365
  function getCachedData(key) {
@@ -714,7 +717,7 @@ var redacto_logo_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATkAAA
714
717
  var NOTICE_CHROME_EN = {
715
718
  yes: "Yes",
716
719
  no: "No",
717
- mixed: "Mixed",
720
+ mixed: "Partly",
718
721
  savedAnswer: "Saved answer: {answer}",
719
722
  confirmAcceptAllTitle: "Accept every purpose?",
720
723
  confirmAcceptAllDetail: "This agrees to all purposes on this notice, including any you left unselected.",
@@ -737,7 +740,7 @@ var TRANSLATIONS = {
737
740
  hi: {
738
741
  yes: "\u0939\u093E\u0901",
739
742
  no: "\u0928\u0939\u0940\u0902",
740
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
743
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
741
744
  savedAnswer: "\u0938\u0939\u0947\u091C\u093E \u0917\u092F\u093E \u0909\u0924\u094D\u0924\u0930: {answer}",
742
745
  confirmAcceptAllTitle: "\u0938\u092D\u0940 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0947\u0902?",
743
746
  confirmAcceptAllDetail: "\u0907\u0938\u0938\u0947 \u0907\u0938 \u0938\u0942\u091A\u0928\u093E \u0915\u0947 \u0938\u092D\u0940 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u094B\u0902 \u092A\u0930 \u0938\u0939\u092E\u0924\u093F \u0926\u0940 \u091C\u093E\u0924\u0940 \u0939\u0948, \u0909\u0928\u094D\u0939\u0947\u0902 \u092D\u0940 \u091C\u093F\u0928\u094D\u0939\u0947\u0902 \u0906\u092A\u0928\u0947 \u0928\u0939\u0940\u0902 \u091A\u0941\u0928\u093E\u0964",
@@ -758,7 +761,7 @@ var TRANSLATIONS = {
758
761
  bn: {
759
762
  yes: "\u09B9\u09CD\u09AF\u09BE\u0981",
760
763
  no: "\u09A8\u09BE",
761
- mixed: "\u09AE\u09BF\u09B6\u09CD\u09B0",
764
+ mixed: "\u0986\u0982\u09B6\u09BF\u0995",
762
765
  savedAnswer: "\u09B8\u0982\u09B0\u0995\u09CD\u09B7\u09BF\u09A4 \u0989\u09A4\u09CD\u09A4\u09B0: {answer}",
763
766
  confirmAcceptAllTitle: "\u09B8\u09AC \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF \u0997\u09CD\u09B0\u09B9\u09A3 \u0995\u09B0\u09AC\u09C7\u09A8?",
764
767
  confirmAcceptAllDetail: "\u098F\u09A4\u09C7 \u098F\u0987 \u09AC\u09BF\u099C\u09CD\u099E\u09AA\u09CD\u09A4\u09BF\u09B0 \u09B8\u09AC \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF\u09C7 \u09B8\u09AE\u09CD\u09AE\u09A4\u09BF \u09A6\u09C7\u0993\u09AF\u09BC\u09BE \u09B9\u09AF\u09BC, \u0986\u09AA\u09A8\u09BF \u09AF\u09C7\u0997\u09C1\u09B2\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8 \u0995\u09B0\u09C7\u09A8\u09A8\u09BF \u09B8\u09C7\u0997\u09C1\u09B2\u09BF \u09B8\u09B9\u0964",
@@ -779,7 +782,7 @@ var TRANSLATIONS = {
779
782
  mr: {
780
783
  yes: "\u0939\u094B\u092F",
781
784
  no: "\u0928\u093E\u0939\u0940",
782
- mixed: "\u092E\u093F\u0936\u094D\u0930",
785
+ mixed: "\u0905\u0902\u0936\u0924\u0903",
783
786
  savedAnswer: "\u091C\u0924\u0928 \u0915\u0947\u0932\u0947\u0932\u0947 \u0909\u0924\u094D\u0924\u0930: {answer}",
784
787
  confirmAcceptAllTitle: "\u0938\u0930\u094D\u0935 \u0909\u0926\u094D\u0926\u093F\u0937\u094D\u091F\u0947 \u0938\u094D\u0935\u0940\u0915\u093E\u0930\u093E\u092F\u091A\u0940?",
785
788
  confirmAcceptAllDetail: "\u092F\u093E\u092E\u0941\u0933\u0947 \u092F\u093E \u0938\u0942\u091A\u0928\u0947\u0924\u0940\u0932 \u0938\u0930\u094D\u0935 \u0909\u0926\u094D\u0926\u093F\u0937\u094D\u091F\u093E\u0902\u0928\u093E \u0938\u0902\u092E\u0924\u0940 \u092E\u093F\u0933\u0924\u0947, \u0924\u0941\u092E\u094D\u0939\u0940 \u0928 \u0928\u093F\u0935\u0921\u0932\u0947\u0932\u094D\u092F\u093E\u0902\u0938\u0939.",
@@ -800,7 +803,7 @@ var TRANSLATIONS = {
800
803
  ta: {
801
804
  yes: "\u0B86\u0BAE\u0BCD",
802
805
  no: "\u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
803
- mixed: "\u0B95\u0BB2\u0BB5\u0BC8",
806
+ mixed: "\u0BAA\u0B95\u0BC1\u0BA4\u0BBF",
804
807
  savedAnswer: "\u0B9A\u0BC7\u0BAE\u0BBF\u0BA4\u0BCD\u0BA4 \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD: {answer}",
805
808
  confirmAcceptAllTitle: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BCB\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BB5\u0BBE?",
806
809
  confirmAcceptAllDetail: "\u0B87\u0BA4\u0BC1 \u0B87\u0BA8\u0BCD\u0BA4 \u0B85\u0BB1\u0BBF\u0BB5\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BCD \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BCB\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0B92\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BB2\u0BCD \u0B85\u0BB3\u0BBF\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1, \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BB5\u0BC8 \u0B89\u0B9F\u0BCD\u0BAA\u0B9F.",
@@ -821,7 +824,7 @@ var TRANSLATIONS = {
821
824
  te: {
822
825
  yes: "\u0C05\u0C35\u0C41\u0C28\u0C41",
823
826
  no: "\u0C15\u0C3E\u0C26\u0C41",
824
- mixed: "\u0C2E\u0C3F\u0C36\u0C4D\u0C30\u0C2E\u0C02",
827
+ mixed: "\u0C2A\u0C3E\u0C15\u0C4D\u0C37\u0C3F\u0C15",
825
828
  savedAnswer: "\u0C38\u0C47\u0C35\u0C4D \u0C1A\u0C47\u0C38\u0C3F\u0C28 \u0C38\u0C2E\u0C3E\u0C27\u0C3E\u0C28\u0C02: {answer}",
826
829
  confirmAcceptAllTitle: "\u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C2A\u0C4D\u0C30\u0C2F\u0C4B\u0C1C\u0C28\u0C3E\u0C32\u0C28\u0C41 \u0C05\u0C02\u0C17\u0C40\u0C15\u0C30\u0C3F\u0C02\u0C1A\u0C3E\u0C32\u0C3E?",
827
830
  confirmAcceptAllDetail: "\u0C07\u0C26\u0C3F \u0C08 \u0C28\u0C4B\u0C1F\u0C40\u0C38\u0C41\u0C32\u0C4B\u0C28\u0C3F \u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C2A\u0C4D\u0C30\u0C2F\u0C4B\u0C1C\u0C28\u0C3E\u0C32\u0C15\u0C41 \u0C05\u0C02\u0C17\u0C40\u0C15\u0C30\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F, \u0C2E\u0C40\u0C30\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C28\u0C3F\u0C35\u0C3F \u0C38\u0C39\u0C3E.",
@@ -842,7 +845,7 @@ var TRANSLATIONS = {
842
845
  gu: {
843
846
  yes: "\u0AB9\u0ABE",
844
847
  no: "\u0AA8\u0ABE",
845
- mixed: "\u0AAE\u0ABF\u0AB6\u0ACD\u0AB0",
848
+ mixed: "\u0A86\u0A82\u0AB6\u0ABF\u0A95",
846
849
  savedAnswer: "\u0AB8\u0ABE\u0A9A\u0AB5\u0AC7\u0AB2 \u0A9C\u0AB5\u0ABE\u0AAC: {answer}",
847
850
  confirmAcceptAllTitle: "\u0AAC\u0AA7\u0ABE \u0AB9\u0AC7\u0AA4\u0AC1\u0A93 \u0AB8\u0ACD\u0AB5\u0AC0\u0A95\u0ABE\u0AB0\u0AB5\u0ABE?",
848
851
  confirmAcceptAllDetail: "\u0A86\u0AA5\u0AC0 \u0A86 \u0AB8\u0AC2\u0A9A\u0AA8\u0ABE\u0AA8\u0ABE \u0AAC\u0AA7\u0ABE \u0AB9\u0AC7\u0AA4\u0AC1\u0A93\u0AA8\u0AC7 \u0AB8\u0A82\u0AAE\u0AA4\u0ABF \u0AAE\u0AB3\u0AC7 \u0A9B\u0AC7, \u0AA4\u0AAE\u0AC7 \u0AAA\u0AB8\u0A82\u0AA6 \u0AA8 \u0A95\u0AB0\u0AC7\u0AB2\u0ABE \u0AB8\u0AB9\u0ABF\u0AA4.",
@@ -863,7 +866,7 @@ var TRANSLATIONS = {
863
866
  kn: {
864
867
  yes: "\u0CB9\u0CCC\u0CA6\u0CC1",
865
868
  no: "\u0C87\u0CB2\u0CCD\u0CB2",
866
- mixed: "\u0CAE\u0CBF\u0CB6\u0CCD\u0CB0",
869
+ mixed: "\u0CAD\u0CBE\u0C97\u0CB6\u0C83",
867
870
  savedAnswer: "\u0C89\u0CB3\u0CBF\u0CB8\u0CBF\u0CA6 \u0C89\u0CA4\u0CCD\u0CA4\u0CB0: {answer}",
868
871
  confirmAcceptAllTitle: "\u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0C89\u0CA6\u0CCD\u0CA6\u0CC7\u0CB6\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CC7?",
869
872
  confirmAcceptAllDetail: "\u0C87\u0CA6\u0CC1 \u0C88 \u0CB8\u0CC2\u0C9A\u0CA8\u0CC6\u0CAF \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0C89\u0CA6\u0CCD\u0CA6\u0CC7\u0CB6\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0CB8\u0CAE\u0CCD\u0CAE\u0CA4\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6, \u0CA8\u0CC0\u0CB5\u0CC1 \u0C86\u0CAF\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA1\u0CA6\u0CB5\u0CC1\u0C97\u0CB3\u0CC2 \u0CB8\u0CC7\u0CB0\u0CBF.",
@@ -884,7 +887,7 @@ var TRANSLATIONS = {
884
887
  ml: {
885
888
  yes: "\u0D05\u0D24\u0D46",
886
889
  no: "\u0D05\u0D32\u0D4D\u0D32",
887
- mixed: "\u0D2E\u0D3F\u0D36\u0D4D\u0D30\u0D3F\u0D24\u0D02",
890
+ mixed: "\u0D2D\u0D3E\u0D17\u0D3F\u0D15\u0D02",
888
891
  savedAnswer: "\u0D38\u0D02\u0D30\u0D15\u0D4D\u0D37\u0D3F\u0D1A\u0D4D\u0D1A \u0D09\u0D24\u0D4D\u0D24\u0D30\u0D02: {answer}",
889
892
  confirmAcceptAllTitle: "\u0D0E\u0D32\u0D4D\u0D32\u0D3E \u0D09\u0D26\u0D4D\u0D26\u0D47\u0D36\u0D4D\u0D2F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D02 \u0D38\u0D4D\u0D35\u0D40\u0D15\u0D30\u0D3F\u0D15\u0D4D\u0D15\u0D23\u0D4B?",
890
893
  confirmAcceptAllDetail: "\u0D07\u0D24\u0D4D \u0D08 \u0D05\u0D31\u0D3F\u0D2F\u0D3F\u0D2A\u0D4D\u0D2A\u0D3F\u0D32\u0D46 \u0D0E\u0D32\u0D4D\u0D32\u0D3E \u0D09\u0D26\u0D4D\u0D26\u0D47\u0D36\u0D4D\u0D2F\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D41\u0D02 \u0D38\u0D2E\u0D4D\u0D2E\u0D24\u0D02 \u0D28\u0D7D\u0D15\u0D41\u0D28\u0D4D\u0D28\u0D41, \u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D7E \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D15\u0D4D\u0D15\u0D3E\u0D24\u0D4D\u0D24\u0D35 \u0D09\u0D7E\u0D2A\u0D4D\u0D2A\u0D46\u0D1F\u0D46.",
@@ -905,7 +908,7 @@ var TRANSLATIONS = {
905
908
  pa: {
906
909
  yes: "\u0A39\u0A3E\u0A02",
907
910
  no: "\u0A28\u0A39\u0A40\u0A02",
908
- mixed: "\u0A2E\u0A3F\u0A38\u0A3C\u0A30\u0A3F\u0A24",
911
+ mixed: "\u0A05\u0A70\u0A38\u0A3C\u0A15",
909
912
  savedAnswer: "\u0A38\u0A70\u0A2D\u0A3E\u0A32\u0A3F\u0A06 \u0A1C\u0A35\u0A3E\u0A2C: {answer}",
910
913
  confirmAcceptAllTitle: "\u0A38\u0A3E\u0A30\u0A47 \u0A2E\u0A70\u0A24\u0A35 \u0A38\u0A35\u0A40\u0A15\u0A3E\u0A30 \u0A15\u0A30\u0A28\u0A47 \u0A39\u0A28?",
911
914
  confirmAcceptAllDetail: "\u0A07\u0A38 \u0A28\u0A3E\u0A32 \u0A07\u0A38 \u0A38\u0A42\u0A1A\u0A28\u0A3E \u0A26\u0A47 \u0A38\u0A3E\u0A30\u0A47 \u0A2E\u0A70\u0A24\u0A35\u0A3E\u0A02 \u0A32\u0A08 \u0A38\u0A39\u0A3F\u0A2E\u0A24\u0A40 \u0A26\u0A3F\u0A71\u0A24\u0A40 \u0A1C\u0A3E\u0A02\u0A26\u0A40 \u0A39\u0A48, \u0A09\u0A39 \u0A35\u0A40 \u0A1C\u0A4B \u0A24\u0A41\u0A38\u0A40\u0A02 \u0A28\u0A39\u0A40\u0A02 \u0A1A\u0A41\u0A23\u0A47\u0964",
@@ -926,7 +929,7 @@ var TRANSLATIONS = {
926
929
  or: {
927
930
  yes: "\u0B39\u0B01",
928
931
  no: "\u0B28\u0B3E",
929
- mixed: "\u0B2E\u0B3F\u0B36\u0B4D\u0B30\u0B3F\u0B24",
932
+ mixed: "\u0B06\u0B02\u0B36\u0B3F\u0B15",
930
933
  savedAnswer: "\u0B38\u0B1E\u0B4D\u0B1A\u0B3F\u0B24 \u0B09\u0B24\u0B4D\u0B24\u0B30: {answer}",
931
934
  confirmAcceptAllTitle: "\u0B38\u0B2E\u0B38\u0B4D\u0B24 \u0B09\u0B26\u0B4D\u0B26\u0B47\u0B36\u0B4D\u0B5F \u0B17\u0B4D\u0B30\u0B39\u0B23 \u0B15\u0B30\u0B3F\u0B2C\u0B47?",
932
935
  confirmAcceptAllDetail: "\u0B0F\u0B39\u0B3E \u0B0F\u0B39\u0B3F \u0B38\u0B42\u0B1A\u0B28\u0B3E\u0B30 \u0B38\u0B2E\u0B38\u0B4D\u0B24 \u0B09\u0B26\u0B4D\u0B26\u0B47\u0B36\u0B4D\u0B5F\u0B15\u0B41 \u0B38\u0B2E\u0B4D\u0B2E\u0B24\u0B3F \u0B26\u0B3F\u0B0F, \u0B06\u0B2A\u0B23 \u0B1A\u0B5F\u0B28 \u0B28\u0B15\u0B30\u0B3F\u0B25\u0B3F\u0B2C\u0B3E \u0B17\u0B41\u0B21\u0B3C\u0B3F\u0B15 \u0B38\u0B39\u0B3F\u0B24\u0964",
@@ -947,7 +950,7 @@ var TRANSLATIONS = {
947
950
  as: {
948
951
  yes: "\u09B9\u09AF\u09BC",
949
952
  no: "\u09A8\u09B9\u09AF\u09BC",
950
- mixed: "\u09AE\u09BF\u09B6\u09CD\u09F0\u09BF\u09A4",
953
+ mixed: "\u0986\u0982\u09B6\u09BF\u0995",
951
954
  savedAnswer: "\u09B8\u0982\u09F0\u0995\u09CD\u09B7\u09BF\u09A4 \u0989\u09A4\u09CD\u09A4\u09F0: {answer}",
952
955
  confirmAcceptAllTitle: "\u09B8\u0995\u09B2\u09CB \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF \u0997\u09CD\u09F0\u09B9\u09A3 \u0995\u09F0\u09BF\u09AC\u09A8\u09C7?",
953
956
  confirmAcceptAllDetail: "\u0987 \u098F\u0987 \u099C\u09BE\u09A8\u09A8\u09C0\u09F0 \u09B8\u0995\u09B2\u09CB \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF\u09A4 \u09B8\u09A8\u09CD\u09AE\u09A4\u09BF \u09A6\u09BF\u09AF\u09BC\u09C7, \u0986\u09AA\u09C1\u09A8\u09BF \u09A8\u09BF\u09F0\u09CD\u09AC\u09BE\u099A\u09A8 \u09A8\u0995\u09F0\u09BE\u09AC\u09CB\u09F0\u09CB \u09A7\u09F0\u09BF\u0964",
@@ -968,7 +971,7 @@ var TRANSLATIONS = {
968
971
  ur: {
969
972
  yes: "\u06C1\u0627\u06BA",
970
973
  no: "\u0646\u06C1\u06CC\u06BA",
971
- mixed: "\u0645\u062E\u0644\u0648\u0637",
974
+ mixed: "\u062C\u0632\u0648\u06CC",
972
975
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
973
976
  confirmAcceptAllTitle: "\u062A\u0645\u0627\u0645 \u0645\u0642\u0627\u0635\u062F \u0642\u0628\u0648\u0644 \u06A9\u0631\u06CC\u06BA\u061F",
974
977
  confirmAcceptAllDetail: "\u0627\u0633 \u0633\u06D2 \u0627\u0633 \u0646\u0648\u0679\u0633 \u06A9\u06D2 \u062A\u0645\u0627\u0645 \u0645\u0642\u0627\u0635\u062F \u067E\u0631 \u0631\u0636\u0627\u0645\u0646\u062F\u06CC \u062F\u06CC \u062C\u0627\u062A\u06CC \u06C1\u06D2\u060C \u0627\u0646 \u0633\u0645\u06CC\u062A \u062C\u0648 \u0622\u067E \u0646\u06D2 \u0645\u0646\u062A\u062E\u0628 \u0646\u06C1\u06CC\u06BA \u06A9\u06CC\u06D2\u06D4",
@@ -989,7 +992,7 @@ var TRANSLATIONS = {
989
992
  ne: {
990
993
  yes: "\u0939\u094B",
991
994
  no: "\u0939\u094B\u0907\u0928",
992
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
995
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
993
996
  savedAnswer: "\u0938\u0941\u0930\u0915\u094D\u0937\u093F\u0924 \u0909\u0924\u094D\u0924\u0930: {answer}",
994
997
  confirmAcceptAllTitle: "\u0938\u092C\u0948 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0917\u0930\u094D\u0928\u0947?",
995
998
  confirmAcceptAllDetail: "\u092F\u0938\u0932\u0947 \u092F\u0938 \u0938\u0942\u091A\u0928\u093E\u0915\u093E \u0938\u092C\u0948 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u092E\u093E \u0938\u0939\u092E\u0924\u093F \u0926\u093F\u0928\u094D\u091B, \u0924\u092A\u093E\u0908\u0902\u0932\u0947 \u0928\u091B\u093E\u0928\u0947\u0915\u093E \u092A\u0928\u093F\u0964",
@@ -1010,7 +1013,7 @@ var TRANSLATIONS = {
1010
1013
  sa: {
1011
1014
  yes: "\u0906\u092E\u094D",
1012
1015
  no: "\u0928",
1013
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924\u092E\u094D",
1016
+ mixed: "\u0906\u0902\u0936\u093F\u0915\u092E\u094D",
1014
1017
  savedAnswer: "\u0930\u0915\u094D\u0937\u093F\u0924\u092E\u094D \u0909\u0924\u094D\u0924\u0930\u092E\u094D: {answer}",
1015
1018
  confirmAcceptAllTitle: "\u0938\u0930\u094D\u0935\u093E\u0923\u093F \u092A\u094D\u0930\u092F\u094B\u091C\u0928\u093E\u0928\u093F \u0938\u094D\u0935\u0940\u0915\u0941\u0930\u094D\u0935\u0928\u094D\u0924\u0941?",
1016
1019
  confirmAcceptAllDetail: "\u0905\u0928\u0947\u0928 \u0905\u0938\u094D\u092F\u093E\u0903 \u0938\u0942\u091A\u0928\u093E\u092F\u093E\u0903 \u0938\u0930\u094D\u0935\u0947\u0937\u0941 \u092A\u094D\u0930\u092F\u094B\u091C\u0928\u0947\u0937\u0941 \u0938\u092E\u094D\u092E\u0924\u093F\u0903 \u0926\u0940\u092F\u0924\u0947, \u092F\u093E\u0928\u093F \u092D\u0935\u0924\u093E \u0928 \u091A\u093F\u0924\u093E\u0928\u093F \u0924\u093E\u0928\u094D\u092F\u092A\u093F\u0964",
@@ -1031,7 +1034,7 @@ var TRANSLATIONS = {
1031
1034
  mai: {
1032
1035
  yes: "\u0939\u0901",
1033
1036
  no: "\u0928\u0939\u093F",
1034
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
1037
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
1035
1038
  savedAnswer: "\u0938\u0939\u0947\u091C\u0932 \u0909\u0924\u094D\u0924\u0930: {answer}",
1036
1039
  confirmAcceptAllTitle: "\u0938\u092D \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0940?",
1037
1040
  confirmAcceptAllDetail: "\u090F\u0939\u093F\u0938\u0901 \u090F\u0939\u093F \u0938\u0942\u091A\u0928\u093E\u0915 \u0938\u092D \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u092A\u0930 \u0938\u0939\u092E\u0924\u093F \u0926\u0947\u0932 \u091C\u093E\u0907\u0924 \u0905\u091B\u093F, \u091C\u0947 \u0905\u0939\u093E\u0901 \u0928\u0939\u093F \u091A\u0941\u0928\u0932\u0939\u0941\u0901 \u0924\u093E\u0939\u093F \u0938\u0939\u093F\u0924\u0964",
@@ -1052,7 +1055,7 @@ var TRANSLATIONS = {
1052
1055
  gom: {
1053
1056
  yes: "\u0939\u0902\u092F",
1054
1057
  no: "\u0928\u093E",
1055
- mixed: "\u092E\u093F\u0936\u094D\u0930\u0940\u0924",
1058
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
1056
1059
  savedAnswer: "\u091C\u0924\u0928 \u0915\u0947\u0932\u094D\u0932\u0947\u0902 \u0909\u0924\u094D\u0924\u0930: {answer}",
1057
1060
  confirmAcceptAllTitle: "\u0938\u0917\u0933\u0940\u0902 \u0909\u0926\u094D\u0926\u093F\u0936\u094D\u091F\u093E\u0902 \u0938\u094D\u0935\u0940\u0915\u093E\u0930\u091A\u0940\u0902?",
1058
1061
  confirmAcceptAllDetail: "\u0939\u093E\u0915\u093E \u0932\u093E\u0917\u0942\u0928 \u0939\u094D\u092F\u093E \u0938\u0941\u091A\u094B\u0935\u0923\u0947\u091A\u094D\u092F\u093E \u0938\u0917\u0933\u094D\u092F\u093E \u0909\u0926\u094D\u0926\u093F\u0936\u094D\u091F\u093E\u0902\u0915 \u0938\u0902\u092E\u0924\u0940 \u092E\u0947\u0933\u091F\u093E, \u0924\u0941\u0935\u0947\u0902 \u0928\u093F\u0935\u0921\u0942\u0902\u0915 \u0928\u093E\u0936\u093F\u0932\u094D\u0932\u0940\u0902 \u0938\u092F\u0924.",
@@ -1073,7 +1076,7 @@ var TRANSLATIONS = {
1073
1076
  doi: {
1074
1077
  yes: "\u0939\u093E\u0901",
1075
1078
  no: "\u0928\u0947\u0908\u0902",
1076
- mixed: "\u092E\u093F\u0936\u094D\u0930\u0924",
1079
+ mixed: "\u0905\u0902\u0936\u0915",
1077
1080
  savedAnswer: "\u0938\u0939\u0947\u091C\u0947 \u0926\u093E \u091C\u0935\u093E\u092C: {answer}",
1078
1081
  confirmAcceptAllTitle: "\u0938\u093E\u0930\u0947 \u092E\u0915\u0938\u0926 \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0928\u0947 \u0928?",
1079
1082
  confirmAcceptAllDetail: "\u0907\u0938\u094D\u0938\u0948 \u0907\u0938 \u0938\u0942\u091A\u0928\u093E \u0926\u0947 \u0938\u093E\u0930\u0947 \u092E\u0915\u0938\u0926\u0947\u0902 \u0917\u0940 \u0938\u0939\u092E\u0924\u093F \u0926\u093F\u0924\u094D\u0924\u0940 \u091C\u0902\u0926\u0940 \u0910, \u0909' \u092C\u0940 \u091C\u0947\u0939\u094D\u0921\u093C\u0947 \u0924\u0941\u0938\u0947\u0902 \u0928\u0947\u0908\u0902 \u091A\u0941\u0928\u0947\u0964",
@@ -1094,7 +1097,7 @@ var TRANSLATIONS = {
1094
1097
  brx: {
1095
1098
  yes: "\u0928\u0902\u0917\u094C",
1096
1099
  no: "\u0928\u0919\u093E",
1097
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
1100
+ mixed: "\u092C\u093E\u0939\u093E\u0917\u094B",
1098
1101
  savedAnswer: "\u0925\u093F\u0928\u093E \u0926\u093F\u0928\u093E\u092F \u092B\u093F\u0928: {answer}",
1099
1102
  confirmAcceptAllTitle: "\u0917\u093E\u0938\u0948\u092C\u094B \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u0916\u094C \u0932\u093E\u0928\u094B \u0928\u093E\u092E\u093E?",
1100
1103
  confirmAcceptAllDetail: "\u092C\u0947\u092F\u093E\u0935 \u092C\u0947 \u0916\u094C\u0930\u093E\u0902\u0928\u093F \u0917\u093E\u0938\u0948\u092C\u094B \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u0916\u094C \u0930\u093E\u091C\u093F \u0939\u094B\u092F\u094B, \u0928\u094B\u0902\u0925\u093E\u0919\u093E \u0938\u093E\u092F\u0916'\u0906\u0916\u0948\u092E\u093E\u0928\u093F\u0916\u094C\u092C\u094B \u0932\u093E\u092B\u093E\u0928\u093E\u0928\u0948\u0964",
@@ -1115,7 +1118,7 @@ var TRANSLATIONS = {
1115
1118
  "mni-Mtei": {
1116
1119
  yes: "\uABCD\uABE3\uABCF",
1117
1120
  no: "\uABC5\uABE0\uABC7\uABE6",
1118
- mixed: "\uABD1\uABCC\uABE5\uABCE\uABD5",
1121
+ mixed: "\uABC1\uABD4\uABE8\uABDB",
1119
1122
  savedAnswer: "\uABC1\uABE6\uABDA \uABC7\uABE7\uABD4\uABD5 \uABC4\uABE5\uABCE\uABC8\uABE8\uABDD: {answer}",
1120
1123
  confirmAcceptAllTitle: "\uABC4\uABE5\uABDF\uABD7\uABDD \uABC4\uABE8\uABDD\uABC5\uABC3\uABDB \uABCC\uABE5\uABD5\uABD4\uABE5?",
1121
1124
  confirmAcceptAllDetail: "\uABC3\uABC1\uABE4\uABC5 \uABC8\uABE8\uABD7\uABDD \uABD1\uABC1\uABE4\uABD2\uABE4 \uABC4\uABE5\uABDF\uABD7\uABDD \uABC4\uABE8\uABDD\uABC5\uABC3\uABDB\uABC7 \uABD1\uABCC\uABE5\uABD5 \uABC4\uABE4, \uABC5\uABEA\uABC5 \uABC8\uABC5\uABD7\uABD5\uABC1\uABE4\uABE1\uABC1\uABE8 \uABCC\uABE5\uABCE\uABC5\u0964",
@@ -1136,7 +1139,7 @@ var TRANSLATIONS = {
1136
1139
  sat: {
1137
1140
  yes: "\u1C66\u1C5A\u1C6D",
1138
1141
  no: "\u1C75\u1C5F\u1C5D",
1139
- mixed: "\u1C62\u1C64\u1C65\u1C68\u1C64\u1C5B",
1142
+ mixed: "\u1C60\u1C5A\u1C74\u1C6E\u1C6B",
1140
1143
  savedAnswer: "\u1C65\u1C5F\u1C78\u1C6A\u1C5F\u1C63 \u1C5B\u1C6E\u1C5E\u1C5F \u1C5B\u1C6E\u1C5E\u1C5F: {answer}",
1141
1144
  confirmAcceptAllTitle: "\u1C61\u1C5A\u1C5B\u1C5A \u1C69\u1C6B\u1C6B\u1C6E\u1C65\u1C6D \u1C66\u1C5F\u1C5B\u1C5F\u1C63 \u1C62\u1C6E?",
1142
1145
  confirmAcceptAllDetail: "\u1C71\u1C73\u1C76\u1C5F \u1C5B\u1C6E \u1C71\u1C5A\u1C76\u1C5F \u1C60\u1C77\u1C5A\u1C75\u1C5A\u1C68 \u1C68\u1C6E\u1C6D\u1C5F\u1C5C \u1C61\u1C5A\u1C5B\u1C5A \u1C69\u1C6B\u1C6B\u1C6E\u1C65\u1C6D \u1C68\u1C6E \u1C68\u1C5F\u1C61\u1C64 \u1C6E\u1C62\u1C5A\u1C5C\u1C7C\u1C5F, \u1C5F\u1C62 \u1C75\u1C5F\u1C5D \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63 \u1C5F\u1C60\u1C5F\u1C71 \u1C60\u1C73 \u1C66\u1C5A\u1C78\u0964",
@@ -1157,7 +1160,7 @@ var TRANSLATIONS = {
1157
1160
  sd: {
1158
1161
  yes: "\u0647\u0627",
1159
1162
  no: "\u0646\u0647",
1160
- mixed: "\u0645\u062E\u0644\u0648\u0637",
1163
+ mixed: "\u062C\u0632\u0648\u064A",
1161
1164
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
1162
1165
  confirmAcceptAllTitle: "\u0633\u0680 \u0645\u0642\u0635\u062F \u0642\u0628\u0648\u0644 \u06AA\u062C\u0646\u061F",
1163
1166
  confirmAcceptAllDetail: "\u0647\u0646 \u0633\u0627\u0646 \u0647\u0646 \u0646\u0648\u067D\u064A\u0633 \u062C\u064A \u0633\u0680\u0646\u064A \u0645\u0642\u0635\u062F\u0646 \u062A\u064A \u0631\u0636\u0627\u0645\u0646\u062F\u064A \u068F\u0646\u064A \u0648\u064A\u0646\u062F\u064A\u060C \u0627\u0646\u0647\u0646 \u0633\u0645\u064A\u062A \u062C\u064A\u06AA\u064A \u062A\u0648\u0647\u0627\u0646 \u0646\u0647 \u0686\u0648\u0646\u068A\u064A\u0627.",
@@ -1178,7 +1181,7 @@ var TRANSLATIONS = {
1178
1181
  ks: {
1179
1182
  yes: "\u0622\u06C1\u0646",
1180
1183
  no: "\u0646\u06C1",
1181
- mixed: "\u0645\u0650\u0644\u0627\u0648\u0655\u0679\u06BE",
1184
+ mixed: "\u062C\u064F\u0632\u0648\u06CC",
1182
1185
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
1183
1186
  confirmAcceptAllTitle: "\u0633\u0672\u0631\u06CC \u0645\u0642\u0635\u062F \u0642\u0628\u0648\u0644 \u06A9\u0631\u06CC\u0648\u061F",
1184
1187
  confirmAcceptAllDetail: "\u06CC\u064E\u0645\u06C1 \u0633\u0627\u0646 \u0686\u06BE \u0627\u064E\u0645\u06C1 \u0627\u0637\u0644\u0627\u0639\u06C1 \u06C1\u0655\u0646\u065B\u062F\u06CC\u0646 \u0633\u0672\u0631\u06CC \u0645\u0642\u0635\u062F\u0646 \u067E\u0620\u0679\u06BE \u0631\u0636\u0627\u0645\u0646\u062F\u06CC \u062F\u0650\u06CC\u06C1 \u06CC\u0648\u0627\u0646\u060C \u062A\u0650\u0645 \u062A\u06C1\u0655 \u06CC\u064E\u0645 \u062A\u0648\u06C1\u06C1\u0650 \u0686\u06BE\u064F \u0646\u06C1\u0655 \u0698\u0627\u0631\u0645\u064F\u062A\u06D4",
@@ -4687,7 +4690,6 @@ var injectNoticeSkinStyles = (appearance) => {
4687
4690
  // src/RedactoNoticeConsent/switchCss.ts
4688
4691
  var S = `[${NOTICE_ROOT_ATTRIBUTE}][${CONTROL_ATTRIBUTE}="${SWITCH_CONTROL}"]`;
4689
4692
  var ACCENT = `var(${GLASS_VARS.accent}, var(${NOTICE_THEME_VARS.accent}, #4f87ff))`;
4690
- var ACCENT_MID = `var(${GLASS_VARS.accentMid}, color-mix(in srgb, ${ACCENT} 55%, transparent))`;
4691
4693
  var TRACK = `var(${GLASS_VARS.track}, var(${NOTICE_THEME_VARS.controlOff}, #d0d5dd))`;
4692
4694
  var KNOB = `var(${NOTICE_THEME_VARS.knob}, #ffffff)`;
4693
4695
  var OUTLINE = `var(${GLASS_VARS.outline}, var(${NOTICE_THEME_VARS.controlOff}, #d0d5dd))`;
@@ -4732,15 +4734,7 @@ var switchRules = (size) => {
4732
4734
  transform: translateX(${travel}px) !important;
4733
4735
  }
4734
4736
 
4735
- /* A partly ticked product section: thumb parked mid-track, so it reads
4736
- as neither on nor off. */
4737
- ${sel}:indeterminate {
4738
- background-color: ${ACCENT_MID} !important;
4739
- }
4740
-
4741
- ${sel}:indeterminate::after {
4742
- transform: translateX(${travel / 2}px) !important;
4743
- }
4737
+ /* No mid-state rule here on purpose: a switch has two positions. */
4744
4738
  `;
4745
4739
  };
4746
4740
  var switchCss = `
@@ -5122,6 +5116,7 @@ var ProductSectionHeader = ({
5122
5116
  requiredOnly,
5123
5117
  allSelected,
5124
5118
  someSelected,
5119
+ drawsSwitches,
5125
5120
  collapsed,
5126
5121
  locked,
5127
5122
  settings,
@@ -5133,7 +5128,7 @@ var ProductSectionHeader = ({
5133
5128
  getTranslatedText,
5134
5129
  language
5135
5130
  }) => {
5136
- var _a;
5131
+ var _a, _b;
5137
5132
  const name = getTranslatedText("products.name", product.name, product.uuid);
5138
5133
  const headingColor = (settings == null ? void 0 : settings.headingColor) || DEFAULT_HEADING_COLOR;
5139
5134
  const handleToggleCollapse = () => {
@@ -5185,7 +5180,7 @@ var ProductSectionHeader = ({
5185
5180
  control: (_a = settings == null ? void 0 : settings.selectionControl) != null ? _a : DEFAULT_SELECTION_CONTROL,
5186
5181
  language,
5187
5182
  checked: allSelected,
5188
- indeterminate: someSelected && !allSelected,
5183
+ indeterminate: !(drawsSwitches && ((_b = settings == null ? void 0 : settings.selectionControl) != null ? _b : DEFAULT_SELECTION_CONTROL) === "checkbox") && someSelected && !allSelected,
5189
5184
  onSelect: handleSelect,
5190
5185
  label: requiredOnly ? PRODUCT_SECTION_COPY.toggleRequired(name, purposeCount) : PRODUCT_SECTION_COPY.toggleSelection(name, purposeCount),
5191
5186
  groupName: `redacto-product-${product.uuid}`,
@@ -6495,6 +6490,7 @@ var NoticeConsentView = ({
6495
6490
  const [showGuardianForm, setShowGuardianForm] = (0, import_react8.useState)(false);
6496
6491
  const [isSubmittingGuardian, setIsSubmittingGuardian] = (0, import_react8.useState)(false);
6497
6492
  const [otpPendingMode, setOtpPendingMode] = (0, import_react8.useState)(null);
6493
+ const preGateSelectionRef = (0, import_react8.useRef)(null);
6498
6494
  const otpVerifiedRef = (0, import_react8.useRef)(false);
6499
6495
  const otpTokenAtVerifyRef = (0, import_react8.useRef)(void 0);
6500
6496
  const [otpAcceptAfterToken, setOtpAcceptAfterToken] = (0, import_react8.useState)(null);
@@ -7464,6 +7460,7 @@ var NoticeConsentView = ({
7464
7460
  requiredOnly: boxPurposes.length < purposes.length,
7465
7461
  allSelected: boxPurposes.length > 0 && selectedCount === boxPurposes.length,
7466
7462
  someSelected: selectedCount > 0,
7463
+ drawsSwitches,
7467
7464
  collapsed: collapsedProducts[product.uuid] || false,
7468
7465
  locked: (_b2 = consentedProducts[product.uuid]) != null ? _b2 : isFullyConsentedReviewMode,
7469
7466
  settings: noticeSettings,
@@ -7511,11 +7508,31 @@ var NoticeConsentView = ({
7511
7508
  });
7512
7509
  };
7513
7510
  const handleAccept = async (mode = "selected") => {
7511
+ var _a2;
7514
7512
  if (previewContent) {
7515
7513
  return;
7516
7514
  }
7517
7515
  const submitController = new AbortController();
7518
7516
  if ((otpGate == null ? void 0 : otpGate.required) && !otpVerifiedRef.current) {
7517
+ if (mode === "selected") {
7518
+ const own = preGateSelectionRef.current;
7519
+ if (own) {
7520
+ setSelectedPurposes(own.selectedPurposes);
7521
+ setSelectedDataElements(own.selectedDataElements);
7522
+ preGateSelectionRef.current = null;
7523
+ }
7524
+ } else if (content) {
7525
+ (_a2 = preGateSelectionRef.current) != null ? _a2 : preGateSelectionRef.current = {
7526
+ selectedPurposes,
7527
+ selectedDataElements
7528
+ };
7529
+ const pending2 = buildSelectionForMode(purposeRows, mode, {
7530
+ selectedPurposes,
7531
+ selectedDataElements
7532
+ });
7533
+ setSelectedPurposes(pending2.selectedPurposes);
7534
+ setSelectedDataElements(pending2.selectedDataElements);
7535
+ }
7519
7536
  setOtpPendingMode(mode);
7520
7537
  setOtpError(null);
7521
7538
  return;
@@ -7550,11 +7567,11 @@ var NoticeConsentView = ({
7550
7567
  // for the other. On a single-product notice it is one entry per
7551
7568
  // purpose, with no product, in the order the admin saved.
7552
7569
  purposes: purposeRows.map(({ purpose, productUuid }) => {
7553
- var _a2, _b2;
7570
+ var _a3, _b2;
7554
7571
  const stateKey = productPurposeKey(productUuid, purpose.uuid);
7555
- const isAlreadyConsented = ((_a2 = categorizedPurposes == null ? void 0 : categorizedPurposes.alreadyConsented.some(
7572
+ const isAlreadyConsented = ((_a3 = categorizedPurposes == null ? void 0 : categorizedPurposes.alreadyConsented.some(
7556
7573
  (p) => p.uuid === purpose.uuid
7557
- )) != null ? _a2 : false) && ((_b2 = recordedPurposeSelections[stateKey]) != null ? _b2 : false);
7574
+ )) != null ? _a3 : false) && ((_b2 = recordedPurposeSelections[stateKey]) != null ? _b2 : false);
7558
7575
  let purposeSelected = selection.selectedPurposes[stateKey] || false;
7559
7576
  if (mode === "selected" && isAlreadyConsented) {
7560
7577
  const wasModified = purpose.data_elements.some((element) => {
@@ -8488,6 +8505,7 @@ var NoticeConsentView = ({
8488
8505
  const mode = otpPendingMode != null ? otpPendingMode : "selected";
8489
8506
  otpVerifiedRef.current = true;
8490
8507
  setOtpPendingMode(null);
8508
+ preGateSelectionRef.current = null;
8491
8509
  setOtpBusy(false);
8492
8510
  otpTokenAtVerifyRef.current = accessToken;
8493
8511
  setOtpAcceptAfterToken(mode);
@@ -8528,12 +8546,13 @@ var NoticeConsentView = ({
8528
8546
  backgroundColor: ((_A = (_z = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _z.language) == null ? void 0 : _A.backgroundColor) || (skin ? skin.palette.control : "#ffffff"),
8529
8547
  color: ((_C = (_B = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _B.language) == null ? void 0 : _C.textColor) || (skin ? headingColor : "#344054")
8530
8548
  };
8549
+ const { borderRadius: _chipRadius, ...languageChipColors } = languageSelectorStyle;
8531
8550
  const languageMenuStyle = skin ? {
8532
8551
  ...((_E = (_D = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _D.language) == null ? void 0 : _E.backgroundColor) && {
8533
8552
  backgroundColor: noticeSettings.button.language.backgroundColor
8534
8553
  },
8535
8554
  color: languageSelectorStyle.color
8536
- } : languageSelectorStyle;
8555
+ } : languageChipColors;
8537
8556
  const selectedLanguageItemStyle = {
8538
8557
  ...languageMenuStyle,
8539
8558
  backgroundColor: ((_G = (_F = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _F.language) == null ? void 0 : _G.selectedBackgroundColor) || (skin ? skin.palette.accentWash : "#f3f4f6"),
@@ -9361,6 +9380,7 @@ var NoticeConsentView = ({
9361
9380
  requiredOnly: boxPurposes.length < group.purposes.length,
9362
9381
  allSelected: selectedInGroup === boxPurposes.length,
9363
9382
  someSelected: selectedInGroup > 0,
9383
+ drawsSwitches,
9364
9384
  collapsed: collapsedProducts[group.product.uuid] || false,
9365
9385
  locked: (_a2 = consentedProducts[group.product.uuid]) != null ? _a2 : false,
9366
9386
  settings: noticeSettings,
@@ -9784,7 +9804,7 @@ var RedactoNoticeConsent = (props) => /* @__PURE__ */ (0, import_jsx_runtime7.js
9784
9804
  var import_react10 = require("react");
9785
9805
 
9786
9806
  // src/RedactoNoticeConsentInline/api/index.ts
9787
- var BASE_URL2 = "https://api.redacto.tech/consent";
9807
+ var BASE_URL2 = DEFAULT_CONSENT_API_BASE_URL;
9788
9808
  var fetchConsentContent2 = async ({
9789
9809
  org_uuid,
9790
9810
  workspace_uuid,
@@ -12042,7 +12062,7 @@ var DPO_AUDIO_ELEMENT_MAP2 = [
12042
12062
  ];
12043
12063
 
12044
12064
  // src/RedactoNoticeAssisted/api/index.ts
12045
- var BASE_URL3 = "https://api.redacto.io/consent";
12065
+ var BASE_URL3 = DEFAULT_CONSENT_API_BASE_URL;
12046
12066
  var publicScope = (baseUrl, organisationUuid, workspaceUuid) => `${baseUrl || BASE_URL3}/public/organisations/${organisationUuid}/workspaces/${workspaceUuid}`;
12047
12067
  var fetchAssistedNotice = async ({
12048
12068
  organisationUuid,
package/dist/index.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  APPEARANCE_ATTRIBUTE,
3
3
  Collapse,
4
+ DEFAULT_CONSENT_API_BASE_URL,
4
5
  DEFAULT_TEXT_SCALE,
5
6
  GLASS_BLUR,
6
7
  GLASS_DEFAULT_TINT,
@@ -30,7 +31,7 @@ import {
30
31
  withAlpha,
31
32
  withColorScheme,
32
33
  withIdempotencyKey
33
- } from "./chunk-EYHKLIAJ.mjs";
34
+ } from "./chunk-SZWLAJB7.mjs";
34
35
  import {
35
36
  FONT_FAMILY_SEPARATOR,
36
37
  FONT_NAME_QUOTE_CHARACTERS,
@@ -259,7 +260,7 @@ var fetchNoticeConsentStatus = async ({
259
260
  var isNoticeFullyConsented = (status) => status.consented && status.all_mandatory_active;
260
261
 
261
262
  // src/RedactoNoticeConsent/api/index.ts
262
- var BASE_URL = "https://api.redacto.io/consent";
263
+ var BASE_URL = DEFAULT_CONSENT_API_BASE_URL;
263
264
  var apiCache = /* @__PURE__ */ new Map();
264
265
  var CACHE_TTL = 5 * 60 * 1e3;
265
266
  function getCachedData(key) {
@@ -617,7 +618,7 @@ var redacto_logo_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATkAAA
617
618
  var NOTICE_CHROME_EN = {
618
619
  yes: "Yes",
619
620
  no: "No",
620
- mixed: "Mixed",
621
+ mixed: "Partly",
621
622
  savedAnswer: "Saved answer: {answer}",
622
623
  confirmAcceptAllTitle: "Accept every purpose?",
623
624
  confirmAcceptAllDetail: "This agrees to all purposes on this notice, including any you left unselected.",
@@ -640,7 +641,7 @@ var TRANSLATIONS = {
640
641
  hi: {
641
642
  yes: "\u0939\u093E\u0901",
642
643
  no: "\u0928\u0939\u0940\u0902",
643
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
644
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
644
645
  savedAnswer: "\u0938\u0939\u0947\u091C\u093E \u0917\u092F\u093E \u0909\u0924\u094D\u0924\u0930: {answer}",
645
646
  confirmAcceptAllTitle: "\u0938\u092D\u0940 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0947\u0902?",
646
647
  confirmAcceptAllDetail: "\u0907\u0938\u0938\u0947 \u0907\u0938 \u0938\u0942\u091A\u0928\u093E \u0915\u0947 \u0938\u092D\u0940 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u094B\u0902 \u092A\u0930 \u0938\u0939\u092E\u0924\u093F \u0926\u0940 \u091C\u093E\u0924\u0940 \u0939\u0948, \u0909\u0928\u094D\u0939\u0947\u0902 \u092D\u0940 \u091C\u093F\u0928\u094D\u0939\u0947\u0902 \u0906\u092A\u0928\u0947 \u0928\u0939\u0940\u0902 \u091A\u0941\u0928\u093E\u0964",
@@ -661,7 +662,7 @@ var TRANSLATIONS = {
661
662
  bn: {
662
663
  yes: "\u09B9\u09CD\u09AF\u09BE\u0981",
663
664
  no: "\u09A8\u09BE",
664
- mixed: "\u09AE\u09BF\u09B6\u09CD\u09B0",
665
+ mixed: "\u0986\u0982\u09B6\u09BF\u0995",
665
666
  savedAnswer: "\u09B8\u0982\u09B0\u0995\u09CD\u09B7\u09BF\u09A4 \u0989\u09A4\u09CD\u09A4\u09B0: {answer}",
666
667
  confirmAcceptAllTitle: "\u09B8\u09AC \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF \u0997\u09CD\u09B0\u09B9\u09A3 \u0995\u09B0\u09AC\u09C7\u09A8?",
667
668
  confirmAcceptAllDetail: "\u098F\u09A4\u09C7 \u098F\u0987 \u09AC\u09BF\u099C\u09CD\u099E\u09AA\u09CD\u09A4\u09BF\u09B0 \u09B8\u09AC \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF\u09C7 \u09B8\u09AE\u09CD\u09AE\u09A4\u09BF \u09A6\u09C7\u0993\u09AF\u09BC\u09BE \u09B9\u09AF\u09BC, \u0986\u09AA\u09A8\u09BF \u09AF\u09C7\u0997\u09C1\u09B2\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09A8 \u0995\u09B0\u09C7\u09A8\u09A8\u09BF \u09B8\u09C7\u0997\u09C1\u09B2\u09BF \u09B8\u09B9\u0964",
@@ -682,7 +683,7 @@ var TRANSLATIONS = {
682
683
  mr: {
683
684
  yes: "\u0939\u094B\u092F",
684
685
  no: "\u0928\u093E\u0939\u0940",
685
- mixed: "\u092E\u093F\u0936\u094D\u0930",
686
+ mixed: "\u0905\u0902\u0936\u0924\u0903",
686
687
  savedAnswer: "\u091C\u0924\u0928 \u0915\u0947\u0932\u0947\u0932\u0947 \u0909\u0924\u094D\u0924\u0930: {answer}",
687
688
  confirmAcceptAllTitle: "\u0938\u0930\u094D\u0935 \u0909\u0926\u094D\u0926\u093F\u0937\u094D\u091F\u0947 \u0938\u094D\u0935\u0940\u0915\u093E\u0930\u093E\u092F\u091A\u0940?",
688
689
  confirmAcceptAllDetail: "\u092F\u093E\u092E\u0941\u0933\u0947 \u092F\u093E \u0938\u0942\u091A\u0928\u0947\u0924\u0940\u0932 \u0938\u0930\u094D\u0935 \u0909\u0926\u094D\u0926\u093F\u0937\u094D\u091F\u093E\u0902\u0928\u093E \u0938\u0902\u092E\u0924\u0940 \u092E\u093F\u0933\u0924\u0947, \u0924\u0941\u092E\u094D\u0939\u0940 \u0928 \u0928\u093F\u0935\u0921\u0932\u0947\u0932\u094D\u092F\u093E\u0902\u0938\u0939.",
@@ -703,7 +704,7 @@ var TRANSLATIONS = {
703
704
  ta: {
704
705
  yes: "\u0B86\u0BAE\u0BCD",
705
706
  no: "\u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
706
- mixed: "\u0B95\u0BB2\u0BB5\u0BC8",
707
+ mixed: "\u0BAA\u0B95\u0BC1\u0BA4\u0BBF",
707
708
  savedAnswer: "\u0B9A\u0BC7\u0BAE\u0BBF\u0BA4\u0BCD\u0BA4 \u0BAA\u0BA4\u0BBF\u0BB2\u0BCD: {answer}",
708
709
  confirmAcceptAllTitle: "\u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BCB\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B8F\u0BB1\u0BCD\u0B95\u0BB5\u0BBE?",
709
710
  confirmAcceptAllDetail: "\u0B87\u0BA4\u0BC1 \u0B87\u0BA8\u0BCD\u0BA4 \u0B85\u0BB1\u0BBF\u0BB5\u0BBF\u0BAA\u0BCD\u0BAA\u0BBF\u0BA9\u0BCD \u0B85\u0BA9\u0BC8\u0BA4\u0BCD\u0BA4\u0BC1 \u0BA8\u0BCB\u0B95\u0BCD\u0B95\u0B99\u0BCD\u0B95\u0BB3\u0BC1\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD \u0B92\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BB2\u0BCD \u0B85\u0BB3\u0BBF\u0B95\u0BCD\u0B95\u0BBF\u0BB1\u0BA4\u0BC1, \u0BA8\u0BC0\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BBE\u0BA4\u0BB5\u0BC8 \u0B89\u0B9F\u0BCD\u0BAA\u0B9F.",
@@ -724,7 +725,7 @@ var TRANSLATIONS = {
724
725
  te: {
725
726
  yes: "\u0C05\u0C35\u0C41\u0C28\u0C41",
726
727
  no: "\u0C15\u0C3E\u0C26\u0C41",
727
- mixed: "\u0C2E\u0C3F\u0C36\u0C4D\u0C30\u0C2E\u0C02",
728
+ mixed: "\u0C2A\u0C3E\u0C15\u0C4D\u0C37\u0C3F\u0C15",
728
729
  savedAnswer: "\u0C38\u0C47\u0C35\u0C4D \u0C1A\u0C47\u0C38\u0C3F\u0C28 \u0C38\u0C2E\u0C3E\u0C27\u0C3E\u0C28\u0C02: {answer}",
729
730
  confirmAcceptAllTitle: "\u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C2A\u0C4D\u0C30\u0C2F\u0C4B\u0C1C\u0C28\u0C3E\u0C32\u0C28\u0C41 \u0C05\u0C02\u0C17\u0C40\u0C15\u0C30\u0C3F\u0C02\u0C1A\u0C3E\u0C32\u0C3E?",
730
731
  confirmAcceptAllDetail: "\u0C07\u0C26\u0C3F \u0C08 \u0C28\u0C4B\u0C1F\u0C40\u0C38\u0C41\u0C32\u0C4B\u0C28\u0C3F \u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C2A\u0C4D\u0C30\u0C2F\u0C4B\u0C1C\u0C28\u0C3E\u0C32\u0C15\u0C41 \u0C05\u0C02\u0C17\u0C40\u0C15\u0C30\u0C3F\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C26\u0C3F, \u0C2E\u0C40\u0C30\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C28\u0C3F\u0C35\u0C3F \u0C38\u0C39\u0C3E.",
@@ -745,7 +746,7 @@ var TRANSLATIONS = {
745
746
  gu: {
746
747
  yes: "\u0AB9\u0ABE",
747
748
  no: "\u0AA8\u0ABE",
748
- mixed: "\u0AAE\u0ABF\u0AB6\u0ACD\u0AB0",
749
+ mixed: "\u0A86\u0A82\u0AB6\u0ABF\u0A95",
749
750
  savedAnswer: "\u0AB8\u0ABE\u0A9A\u0AB5\u0AC7\u0AB2 \u0A9C\u0AB5\u0ABE\u0AAC: {answer}",
750
751
  confirmAcceptAllTitle: "\u0AAC\u0AA7\u0ABE \u0AB9\u0AC7\u0AA4\u0AC1\u0A93 \u0AB8\u0ACD\u0AB5\u0AC0\u0A95\u0ABE\u0AB0\u0AB5\u0ABE?",
751
752
  confirmAcceptAllDetail: "\u0A86\u0AA5\u0AC0 \u0A86 \u0AB8\u0AC2\u0A9A\u0AA8\u0ABE\u0AA8\u0ABE \u0AAC\u0AA7\u0ABE \u0AB9\u0AC7\u0AA4\u0AC1\u0A93\u0AA8\u0AC7 \u0AB8\u0A82\u0AAE\u0AA4\u0ABF \u0AAE\u0AB3\u0AC7 \u0A9B\u0AC7, \u0AA4\u0AAE\u0AC7 \u0AAA\u0AB8\u0A82\u0AA6 \u0AA8 \u0A95\u0AB0\u0AC7\u0AB2\u0ABE \u0AB8\u0AB9\u0ABF\u0AA4.",
@@ -766,7 +767,7 @@ var TRANSLATIONS = {
766
767
  kn: {
767
768
  yes: "\u0CB9\u0CCC\u0CA6\u0CC1",
768
769
  no: "\u0C87\u0CB2\u0CCD\u0CB2",
769
- mixed: "\u0CAE\u0CBF\u0CB6\u0CCD\u0CB0",
770
+ mixed: "\u0CAD\u0CBE\u0C97\u0CB6\u0C83",
770
771
  savedAnswer: "\u0C89\u0CB3\u0CBF\u0CB8\u0CBF\u0CA6 \u0C89\u0CA4\u0CCD\u0CA4\u0CB0: {answer}",
771
772
  confirmAcceptAllTitle: "\u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0C89\u0CA6\u0CCD\u0CA6\u0CC7\u0CB6\u0C97\u0CB3\u0CA8\u0CCD\u0CA8\u0CC1 \u0CB8\u0CCD\u0CB5\u0CC0\u0C95\u0CB0\u0CBF\u0CB8\u0CC1\u0CB5\u0CC1\u0CA6\u0CC7?",
772
773
  confirmAcceptAllDetail: "\u0C87\u0CA6\u0CC1 \u0C88 \u0CB8\u0CC2\u0C9A\u0CA8\u0CC6\u0CAF \u0C8E\u0CB2\u0CCD\u0CB2\u0CBE \u0C89\u0CA6\u0CCD\u0CA6\u0CC7\u0CB6\u0C97\u0CB3\u0CBF\u0C97\u0CC6 \u0CB8\u0CAE\u0CCD\u0CAE\u0CA4\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CA6\u0CC6, \u0CA8\u0CC0\u0CB5\u0CC1 \u0C86\u0CAF\u0CCD\u0C95\u0CC6 \u0CAE\u0CBE\u0CA1\u0CA6\u0CB5\u0CC1\u0C97\u0CB3\u0CC2 \u0CB8\u0CC7\u0CB0\u0CBF.",
@@ -787,7 +788,7 @@ var TRANSLATIONS = {
787
788
  ml: {
788
789
  yes: "\u0D05\u0D24\u0D46",
789
790
  no: "\u0D05\u0D32\u0D4D\u0D32",
790
- mixed: "\u0D2E\u0D3F\u0D36\u0D4D\u0D30\u0D3F\u0D24\u0D02",
791
+ mixed: "\u0D2D\u0D3E\u0D17\u0D3F\u0D15\u0D02",
791
792
  savedAnswer: "\u0D38\u0D02\u0D30\u0D15\u0D4D\u0D37\u0D3F\u0D1A\u0D4D\u0D1A \u0D09\u0D24\u0D4D\u0D24\u0D30\u0D02: {answer}",
792
793
  confirmAcceptAllTitle: "\u0D0E\u0D32\u0D4D\u0D32\u0D3E \u0D09\u0D26\u0D4D\u0D26\u0D47\u0D36\u0D4D\u0D2F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D02 \u0D38\u0D4D\u0D35\u0D40\u0D15\u0D30\u0D3F\u0D15\u0D4D\u0D15\u0D23\u0D4B?",
793
794
  confirmAcceptAllDetail: "\u0D07\u0D24\u0D4D \u0D08 \u0D05\u0D31\u0D3F\u0D2F\u0D3F\u0D2A\u0D4D\u0D2A\u0D3F\u0D32\u0D46 \u0D0E\u0D32\u0D4D\u0D32\u0D3E \u0D09\u0D26\u0D4D\u0D26\u0D47\u0D36\u0D4D\u0D2F\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D41\u0D02 \u0D38\u0D2E\u0D4D\u0D2E\u0D24\u0D02 \u0D28\u0D7D\u0D15\u0D41\u0D28\u0D4D\u0D28\u0D41, \u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D7E \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D15\u0D4D\u0D15\u0D3E\u0D24\u0D4D\u0D24\u0D35 \u0D09\u0D7E\u0D2A\u0D4D\u0D2A\u0D46\u0D1F\u0D46.",
@@ -808,7 +809,7 @@ var TRANSLATIONS = {
808
809
  pa: {
809
810
  yes: "\u0A39\u0A3E\u0A02",
810
811
  no: "\u0A28\u0A39\u0A40\u0A02",
811
- mixed: "\u0A2E\u0A3F\u0A38\u0A3C\u0A30\u0A3F\u0A24",
812
+ mixed: "\u0A05\u0A70\u0A38\u0A3C\u0A15",
812
813
  savedAnswer: "\u0A38\u0A70\u0A2D\u0A3E\u0A32\u0A3F\u0A06 \u0A1C\u0A35\u0A3E\u0A2C: {answer}",
813
814
  confirmAcceptAllTitle: "\u0A38\u0A3E\u0A30\u0A47 \u0A2E\u0A70\u0A24\u0A35 \u0A38\u0A35\u0A40\u0A15\u0A3E\u0A30 \u0A15\u0A30\u0A28\u0A47 \u0A39\u0A28?",
814
815
  confirmAcceptAllDetail: "\u0A07\u0A38 \u0A28\u0A3E\u0A32 \u0A07\u0A38 \u0A38\u0A42\u0A1A\u0A28\u0A3E \u0A26\u0A47 \u0A38\u0A3E\u0A30\u0A47 \u0A2E\u0A70\u0A24\u0A35\u0A3E\u0A02 \u0A32\u0A08 \u0A38\u0A39\u0A3F\u0A2E\u0A24\u0A40 \u0A26\u0A3F\u0A71\u0A24\u0A40 \u0A1C\u0A3E\u0A02\u0A26\u0A40 \u0A39\u0A48, \u0A09\u0A39 \u0A35\u0A40 \u0A1C\u0A4B \u0A24\u0A41\u0A38\u0A40\u0A02 \u0A28\u0A39\u0A40\u0A02 \u0A1A\u0A41\u0A23\u0A47\u0964",
@@ -829,7 +830,7 @@ var TRANSLATIONS = {
829
830
  or: {
830
831
  yes: "\u0B39\u0B01",
831
832
  no: "\u0B28\u0B3E",
832
- mixed: "\u0B2E\u0B3F\u0B36\u0B4D\u0B30\u0B3F\u0B24",
833
+ mixed: "\u0B06\u0B02\u0B36\u0B3F\u0B15",
833
834
  savedAnswer: "\u0B38\u0B1E\u0B4D\u0B1A\u0B3F\u0B24 \u0B09\u0B24\u0B4D\u0B24\u0B30: {answer}",
834
835
  confirmAcceptAllTitle: "\u0B38\u0B2E\u0B38\u0B4D\u0B24 \u0B09\u0B26\u0B4D\u0B26\u0B47\u0B36\u0B4D\u0B5F \u0B17\u0B4D\u0B30\u0B39\u0B23 \u0B15\u0B30\u0B3F\u0B2C\u0B47?",
835
836
  confirmAcceptAllDetail: "\u0B0F\u0B39\u0B3E \u0B0F\u0B39\u0B3F \u0B38\u0B42\u0B1A\u0B28\u0B3E\u0B30 \u0B38\u0B2E\u0B38\u0B4D\u0B24 \u0B09\u0B26\u0B4D\u0B26\u0B47\u0B36\u0B4D\u0B5F\u0B15\u0B41 \u0B38\u0B2E\u0B4D\u0B2E\u0B24\u0B3F \u0B26\u0B3F\u0B0F, \u0B06\u0B2A\u0B23 \u0B1A\u0B5F\u0B28 \u0B28\u0B15\u0B30\u0B3F\u0B25\u0B3F\u0B2C\u0B3E \u0B17\u0B41\u0B21\u0B3C\u0B3F\u0B15 \u0B38\u0B39\u0B3F\u0B24\u0964",
@@ -850,7 +851,7 @@ var TRANSLATIONS = {
850
851
  as: {
851
852
  yes: "\u09B9\u09AF\u09BC",
852
853
  no: "\u09A8\u09B9\u09AF\u09BC",
853
- mixed: "\u09AE\u09BF\u09B6\u09CD\u09F0\u09BF\u09A4",
854
+ mixed: "\u0986\u0982\u09B6\u09BF\u0995",
854
855
  savedAnswer: "\u09B8\u0982\u09F0\u0995\u09CD\u09B7\u09BF\u09A4 \u0989\u09A4\u09CD\u09A4\u09F0: {answer}",
855
856
  confirmAcceptAllTitle: "\u09B8\u0995\u09B2\u09CB \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF \u0997\u09CD\u09F0\u09B9\u09A3 \u0995\u09F0\u09BF\u09AC\u09A8\u09C7?",
856
857
  confirmAcceptAllDetail: "\u0987 \u098F\u0987 \u099C\u09BE\u09A8\u09A8\u09C0\u09F0 \u09B8\u0995\u09B2\u09CB \u0989\u09A6\u09CD\u09A6\u09C7\u09B6\u09CD\u09AF\u09A4 \u09B8\u09A8\u09CD\u09AE\u09A4\u09BF \u09A6\u09BF\u09AF\u09BC\u09C7, \u0986\u09AA\u09C1\u09A8\u09BF \u09A8\u09BF\u09F0\u09CD\u09AC\u09BE\u099A\u09A8 \u09A8\u0995\u09F0\u09BE\u09AC\u09CB\u09F0\u09CB \u09A7\u09F0\u09BF\u0964",
@@ -871,7 +872,7 @@ var TRANSLATIONS = {
871
872
  ur: {
872
873
  yes: "\u06C1\u0627\u06BA",
873
874
  no: "\u0646\u06C1\u06CC\u06BA",
874
- mixed: "\u0645\u062E\u0644\u0648\u0637",
875
+ mixed: "\u062C\u0632\u0648\u06CC",
875
876
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
876
877
  confirmAcceptAllTitle: "\u062A\u0645\u0627\u0645 \u0645\u0642\u0627\u0635\u062F \u0642\u0628\u0648\u0644 \u06A9\u0631\u06CC\u06BA\u061F",
877
878
  confirmAcceptAllDetail: "\u0627\u0633 \u0633\u06D2 \u0627\u0633 \u0646\u0648\u0679\u0633 \u06A9\u06D2 \u062A\u0645\u0627\u0645 \u0645\u0642\u0627\u0635\u062F \u067E\u0631 \u0631\u0636\u0627\u0645\u0646\u062F\u06CC \u062F\u06CC \u062C\u0627\u062A\u06CC \u06C1\u06D2\u060C \u0627\u0646 \u0633\u0645\u06CC\u062A \u062C\u0648 \u0622\u067E \u0646\u06D2 \u0645\u0646\u062A\u062E\u0628 \u0646\u06C1\u06CC\u06BA \u06A9\u06CC\u06D2\u06D4",
@@ -892,7 +893,7 @@ var TRANSLATIONS = {
892
893
  ne: {
893
894
  yes: "\u0939\u094B",
894
895
  no: "\u0939\u094B\u0907\u0928",
895
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
896
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
896
897
  savedAnswer: "\u0938\u0941\u0930\u0915\u094D\u0937\u093F\u0924 \u0909\u0924\u094D\u0924\u0930: {answer}",
897
898
  confirmAcceptAllTitle: "\u0938\u092C\u0948 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0917\u0930\u094D\u0928\u0947?",
898
899
  confirmAcceptAllDetail: "\u092F\u0938\u0932\u0947 \u092F\u0938 \u0938\u0942\u091A\u0928\u093E\u0915\u093E \u0938\u092C\u0948 \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u092E\u093E \u0938\u0939\u092E\u0924\u093F \u0926\u093F\u0928\u094D\u091B, \u0924\u092A\u093E\u0908\u0902\u0932\u0947 \u0928\u091B\u093E\u0928\u0947\u0915\u093E \u092A\u0928\u093F\u0964",
@@ -913,7 +914,7 @@ var TRANSLATIONS = {
913
914
  sa: {
914
915
  yes: "\u0906\u092E\u094D",
915
916
  no: "\u0928",
916
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924\u092E\u094D",
917
+ mixed: "\u0906\u0902\u0936\u093F\u0915\u092E\u094D",
917
918
  savedAnswer: "\u0930\u0915\u094D\u0937\u093F\u0924\u092E\u094D \u0909\u0924\u094D\u0924\u0930\u092E\u094D: {answer}",
918
919
  confirmAcceptAllTitle: "\u0938\u0930\u094D\u0935\u093E\u0923\u093F \u092A\u094D\u0930\u092F\u094B\u091C\u0928\u093E\u0928\u093F \u0938\u094D\u0935\u0940\u0915\u0941\u0930\u094D\u0935\u0928\u094D\u0924\u0941?",
919
920
  confirmAcceptAllDetail: "\u0905\u0928\u0947\u0928 \u0905\u0938\u094D\u092F\u093E\u0903 \u0938\u0942\u091A\u0928\u093E\u092F\u093E\u0903 \u0938\u0930\u094D\u0935\u0947\u0937\u0941 \u092A\u094D\u0930\u092F\u094B\u091C\u0928\u0947\u0937\u0941 \u0938\u092E\u094D\u092E\u0924\u093F\u0903 \u0926\u0940\u092F\u0924\u0947, \u092F\u093E\u0928\u093F \u092D\u0935\u0924\u093E \u0928 \u091A\u093F\u0924\u093E\u0928\u093F \u0924\u093E\u0928\u094D\u092F\u092A\u093F\u0964",
@@ -934,7 +935,7 @@ var TRANSLATIONS = {
934
935
  mai: {
935
936
  yes: "\u0939\u0901",
936
937
  no: "\u0928\u0939\u093F",
937
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
938
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
938
939
  savedAnswer: "\u0938\u0939\u0947\u091C\u0932 \u0909\u0924\u094D\u0924\u0930: {answer}",
939
940
  confirmAcceptAllTitle: "\u0938\u092D \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0940?",
940
941
  confirmAcceptAllDetail: "\u090F\u0939\u093F\u0938\u0901 \u090F\u0939\u093F \u0938\u0942\u091A\u0928\u093E\u0915 \u0938\u092D \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F \u092A\u0930 \u0938\u0939\u092E\u0924\u093F \u0926\u0947\u0932 \u091C\u093E\u0907\u0924 \u0905\u091B\u093F, \u091C\u0947 \u0905\u0939\u093E\u0901 \u0928\u0939\u093F \u091A\u0941\u0928\u0932\u0939\u0941\u0901 \u0924\u093E\u0939\u093F \u0938\u0939\u093F\u0924\u0964",
@@ -955,7 +956,7 @@ var TRANSLATIONS = {
955
956
  gom: {
956
957
  yes: "\u0939\u0902\u092F",
957
958
  no: "\u0928\u093E",
958
- mixed: "\u092E\u093F\u0936\u094D\u0930\u0940\u0924",
959
+ mixed: "\u0906\u0902\u0936\u093F\u0915",
959
960
  savedAnswer: "\u091C\u0924\u0928 \u0915\u0947\u0932\u094D\u0932\u0947\u0902 \u0909\u0924\u094D\u0924\u0930: {answer}",
960
961
  confirmAcceptAllTitle: "\u0938\u0917\u0933\u0940\u0902 \u0909\u0926\u094D\u0926\u093F\u0936\u094D\u091F\u093E\u0902 \u0938\u094D\u0935\u0940\u0915\u093E\u0930\u091A\u0940\u0902?",
961
962
  confirmAcceptAllDetail: "\u0939\u093E\u0915\u093E \u0932\u093E\u0917\u0942\u0928 \u0939\u094D\u092F\u093E \u0938\u0941\u091A\u094B\u0935\u0923\u0947\u091A\u094D\u092F\u093E \u0938\u0917\u0933\u094D\u092F\u093E \u0909\u0926\u094D\u0926\u093F\u0936\u094D\u091F\u093E\u0902\u0915 \u0938\u0902\u092E\u0924\u0940 \u092E\u0947\u0933\u091F\u093E, \u0924\u0941\u0935\u0947\u0902 \u0928\u093F\u0935\u0921\u0942\u0902\u0915 \u0928\u093E\u0936\u093F\u0932\u094D\u0932\u0940\u0902 \u0938\u092F\u0924.",
@@ -976,7 +977,7 @@ var TRANSLATIONS = {
976
977
  doi: {
977
978
  yes: "\u0939\u093E\u0901",
978
979
  no: "\u0928\u0947\u0908\u0902",
979
- mixed: "\u092E\u093F\u0936\u094D\u0930\u0924",
980
+ mixed: "\u0905\u0902\u0936\u0915",
980
981
  savedAnswer: "\u0938\u0939\u0947\u091C\u0947 \u0926\u093E \u091C\u0935\u093E\u092C: {answer}",
981
982
  confirmAcceptAllTitle: "\u0938\u093E\u0930\u0947 \u092E\u0915\u0938\u0926 \u0938\u094D\u0935\u0940\u0915\u093E\u0930 \u0915\u0930\u0928\u0947 \u0928?",
982
983
  confirmAcceptAllDetail: "\u0907\u0938\u094D\u0938\u0948 \u0907\u0938 \u0938\u0942\u091A\u0928\u093E \u0926\u0947 \u0938\u093E\u0930\u0947 \u092E\u0915\u0938\u0926\u0947\u0902 \u0917\u0940 \u0938\u0939\u092E\u0924\u093F \u0926\u093F\u0924\u094D\u0924\u0940 \u091C\u0902\u0926\u0940 \u0910, \u0909' \u092C\u0940 \u091C\u0947\u0939\u094D\u0921\u093C\u0947 \u0924\u0941\u0938\u0947\u0902 \u0928\u0947\u0908\u0902 \u091A\u0941\u0928\u0947\u0964",
@@ -997,7 +998,7 @@ var TRANSLATIONS = {
997
998
  brx: {
998
999
  yes: "\u0928\u0902\u0917\u094C",
999
1000
  no: "\u0928\u0919\u093E",
1000
- mixed: "\u092E\u093F\u0936\u094D\u0930\u093F\u0924",
1001
+ mixed: "\u092C\u093E\u0939\u093E\u0917\u094B",
1001
1002
  savedAnswer: "\u0925\u093F\u0928\u093E \u0926\u093F\u0928\u093E\u092F \u092B\u093F\u0928: {answer}",
1002
1003
  confirmAcceptAllTitle: "\u0917\u093E\u0938\u0948\u092C\u094B \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u0916\u094C \u0932\u093E\u0928\u094B \u0928\u093E\u092E\u093E?",
1003
1004
  confirmAcceptAllDetail: "\u092C\u0947\u092F\u093E\u0935 \u092C\u0947 \u0916\u094C\u0930\u093E\u0902\u0928\u093F \u0917\u093E\u0938\u0948\u092C\u094B \u0909\u0926\u094D\u0926\u0947\u0936\u094D\u092F\u0916\u094C \u0930\u093E\u091C\u093F \u0939\u094B\u092F\u094B, \u0928\u094B\u0902\u0925\u093E\u0919\u093E \u0938\u093E\u092F\u0916'\u0906\u0916\u0948\u092E\u093E\u0928\u093F\u0916\u094C\u092C\u094B \u0932\u093E\u092B\u093E\u0928\u093E\u0928\u0948\u0964",
@@ -1018,7 +1019,7 @@ var TRANSLATIONS = {
1018
1019
  "mni-Mtei": {
1019
1020
  yes: "\uABCD\uABE3\uABCF",
1020
1021
  no: "\uABC5\uABE0\uABC7\uABE6",
1021
- mixed: "\uABD1\uABCC\uABE5\uABCE\uABD5",
1022
+ mixed: "\uABC1\uABD4\uABE8\uABDB",
1022
1023
  savedAnswer: "\uABC1\uABE6\uABDA \uABC7\uABE7\uABD4\uABD5 \uABC4\uABE5\uABCE\uABC8\uABE8\uABDD: {answer}",
1023
1024
  confirmAcceptAllTitle: "\uABC4\uABE5\uABDF\uABD7\uABDD \uABC4\uABE8\uABDD\uABC5\uABC3\uABDB \uABCC\uABE5\uABD5\uABD4\uABE5?",
1024
1025
  confirmAcceptAllDetail: "\uABC3\uABC1\uABE4\uABC5 \uABC8\uABE8\uABD7\uABDD \uABD1\uABC1\uABE4\uABD2\uABE4 \uABC4\uABE5\uABDF\uABD7\uABDD \uABC4\uABE8\uABDD\uABC5\uABC3\uABDB\uABC7 \uABD1\uABCC\uABE5\uABD5 \uABC4\uABE4, \uABC5\uABEA\uABC5 \uABC8\uABC5\uABD7\uABD5\uABC1\uABE4\uABE1\uABC1\uABE8 \uABCC\uABE5\uABCE\uABC5\u0964",
@@ -1039,7 +1040,7 @@ var TRANSLATIONS = {
1039
1040
  sat: {
1040
1041
  yes: "\u1C66\u1C5A\u1C6D",
1041
1042
  no: "\u1C75\u1C5F\u1C5D",
1042
- mixed: "\u1C62\u1C64\u1C65\u1C68\u1C64\u1C5B",
1043
+ mixed: "\u1C60\u1C5A\u1C74\u1C6E\u1C6B",
1043
1044
  savedAnswer: "\u1C65\u1C5F\u1C78\u1C6A\u1C5F\u1C63 \u1C5B\u1C6E\u1C5E\u1C5F \u1C5B\u1C6E\u1C5E\u1C5F: {answer}",
1044
1045
  confirmAcceptAllTitle: "\u1C61\u1C5A\u1C5B\u1C5A \u1C69\u1C6B\u1C6B\u1C6E\u1C65\u1C6D \u1C66\u1C5F\u1C5B\u1C5F\u1C63 \u1C62\u1C6E?",
1045
1046
  confirmAcceptAllDetail: "\u1C71\u1C73\u1C76\u1C5F \u1C5B\u1C6E \u1C71\u1C5A\u1C76\u1C5F \u1C60\u1C77\u1C5A\u1C75\u1C5A\u1C68 \u1C68\u1C6E\u1C6D\u1C5F\u1C5C \u1C61\u1C5A\u1C5B\u1C5A \u1C69\u1C6B\u1C6B\u1C6E\u1C65\u1C6D \u1C68\u1C6E \u1C68\u1C5F\u1C61\u1C64 \u1C6E\u1C62\u1C5A\u1C5C\u1C7C\u1C5F, \u1C5F\u1C62 \u1C75\u1C5F\u1C5D \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63 \u1C5F\u1C60\u1C5F\u1C71 \u1C60\u1C73 \u1C66\u1C5A\u1C78\u0964",
@@ -1060,7 +1061,7 @@ var TRANSLATIONS = {
1060
1061
  sd: {
1061
1062
  yes: "\u0647\u0627",
1062
1063
  no: "\u0646\u0647",
1063
- mixed: "\u0645\u062E\u0644\u0648\u0637",
1064
+ mixed: "\u062C\u0632\u0648\u064A",
1064
1065
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
1065
1066
  confirmAcceptAllTitle: "\u0633\u0680 \u0645\u0642\u0635\u062F \u0642\u0628\u0648\u0644 \u06AA\u062C\u0646\u061F",
1066
1067
  confirmAcceptAllDetail: "\u0647\u0646 \u0633\u0627\u0646 \u0647\u0646 \u0646\u0648\u067D\u064A\u0633 \u062C\u064A \u0633\u0680\u0646\u064A \u0645\u0642\u0635\u062F\u0646 \u062A\u064A \u0631\u0636\u0627\u0645\u0646\u062F\u064A \u068F\u0646\u064A \u0648\u064A\u0646\u062F\u064A\u060C \u0627\u0646\u0647\u0646 \u0633\u0645\u064A\u062A \u062C\u064A\u06AA\u064A \u062A\u0648\u0647\u0627\u0646 \u0646\u0647 \u0686\u0648\u0646\u068A\u064A\u0627.",
@@ -1081,7 +1082,7 @@ var TRANSLATIONS = {
1081
1082
  ks: {
1082
1083
  yes: "\u0622\u06C1\u0646",
1083
1084
  no: "\u0646\u06C1",
1084
- mixed: "\u0645\u0650\u0644\u0627\u0648\u0655\u0679\u06BE",
1085
+ mixed: "\u062C\u064F\u0632\u0648\u06CC",
1085
1086
  savedAnswer: "\u0645\u062D\u0641\u0648\u0638 \u062C\u0648\u0627\u0628: {answer}",
1086
1087
  confirmAcceptAllTitle: "\u0633\u0672\u0631\u06CC \u0645\u0642\u0635\u062F \u0642\u0628\u0648\u0644 \u06A9\u0631\u06CC\u0648\u061F",
1087
1088
  confirmAcceptAllDetail: "\u06CC\u064E\u0645\u06C1 \u0633\u0627\u0646 \u0686\u06BE \u0627\u064E\u0645\u06C1 \u0627\u0637\u0644\u0627\u0639\u06C1 \u06C1\u0655\u0646\u065B\u062F\u06CC\u0646 \u0633\u0672\u0631\u06CC \u0645\u0642\u0635\u062F\u0646 \u067E\u0620\u0679\u06BE \u0631\u0636\u0627\u0645\u0646\u062F\u06CC \u062F\u0650\u06CC\u06C1 \u06CC\u0648\u0627\u0646\u060C \u062A\u0650\u0645 \u062A\u06C1\u0655 \u06CC\u064E\u0645 \u062A\u0648\u06C1\u06C1\u0650 \u0686\u06BE\u064F \u0646\u06C1\u0655 \u0698\u0627\u0631\u0645\u064F\u062A\u06D4",
@@ -3919,7 +3920,6 @@ var injectNoticeSkinStyles = (appearance) => {
3919
3920
  // src/RedactoNoticeConsent/switchCss.ts
3920
3921
  var S = `[${NOTICE_ROOT_ATTRIBUTE}][${CONTROL_ATTRIBUTE}="${SWITCH_CONTROL}"]`;
3921
3922
  var ACCENT = `var(${GLASS_VARS.accent}, var(${NOTICE_THEME_VARS.accent}, #4f87ff))`;
3922
- var ACCENT_MID = `var(${GLASS_VARS.accentMid}, color-mix(in srgb, ${ACCENT} 55%, transparent))`;
3923
3923
  var TRACK = `var(${GLASS_VARS.track}, var(${NOTICE_THEME_VARS.controlOff}, #d0d5dd))`;
3924
3924
  var KNOB = `var(${NOTICE_THEME_VARS.knob}, #ffffff)`;
3925
3925
  var OUTLINE = `var(${GLASS_VARS.outline}, var(${NOTICE_THEME_VARS.controlOff}, #d0d5dd))`;
@@ -3964,15 +3964,7 @@ var switchRules = (size) => {
3964
3964
  transform: translateX(${travel}px) !important;
3965
3965
  }
3966
3966
 
3967
- /* A partly ticked product section: thumb parked mid-track, so it reads
3968
- as neither on nor off. */
3969
- ${sel}:indeterminate {
3970
- background-color: ${ACCENT_MID} !important;
3971
- }
3972
-
3973
- ${sel}:indeterminate::after {
3974
- transform: translateX(${travel / 2}px) !important;
3975
- }
3967
+ /* No mid-state rule here on purpose: a switch has two positions. */
3976
3968
  `;
3977
3969
  };
3978
3970
  var switchCss = `
@@ -4327,6 +4319,7 @@ var ProductSectionHeader = ({
4327
4319
  requiredOnly,
4328
4320
  allSelected,
4329
4321
  someSelected,
4322
+ drawsSwitches,
4330
4323
  collapsed,
4331
4324
  locked,
4332
4325
  settings,
@@ -4338,7 +4331,7 @@ var ProductSectionHeader = ({
4338
4331
  getTranslatedText,
4339
4332
  language
4340
4333
  }) => {
4341
- var _a;
4334
+ var _a, _b;
4342
4335
  const name = getTranslatedText("products.name", product.name, product.uuid);
4343
4336
  const headingColor = (settings == null ? void 0 : settings.headingColor) || DEFAULT_HEADING_COLOR;
4344
4337
  const handleToggleCollapse = () => {
@@ -4390,7 +4383,7 @@ var ProductSectionHeader = ({
4390
4383
  control: (_a = settings == null ? void 0 : settings.selectionControl) != null ? _a : DEFAULT_SELECTION_CONTROL,
4391
4384
  language,
4392
4385
  checked: allSelected,
4393
- indeterminate: someSelected && !allSelected,
4386
+ indeterminate: !(drawsSwitches && ((_b = settings == null ? void 0 : settings.selectionControl) != null ? _b : DEFAULT_SELECTION_CONTROL) === "checkbox") && someSelected && !allSelected,
4394
4387
  onSelect: handleSelect,
4395
4388
  label: requiredOnly ? PRODUCT_SECTION_COPY.toggleRequired(name, purposeCount) : PRODUCT_SECTION_COPY.toggleSelection(name, purposeCount),
4396
4389
  groupName: `redacto-product-${product.uuid}`,
@@ -5700,6 +5693,7 @@ var NoticeConsentView = ({
5700
5693
  const [showGuardianForm, setShowGuardianForm] = useState(false);
5701
5694
  const [isSubmittingGuardian, setIsSubmittingGuardian] = useState(false);
5702
5695
  const [otpPendingMode, setOtpPendingMode] = useState(null);
5696
+ const preGateSelectionRef = useRef3(null);
5703
5697
  const otpVerifiedRef = useRef3(false);
5704
5698
  const otpTokenAtVerifyRef = useRef3(void 0);
5705
5699
  const [otpAcceptAfterToken, setOtpAcceptAfterToken] = useState(null);
@@ -6669,6 +6663,7 @@ var NoticeConsentView = ({
6669
6663
  requiredOnly: boxPurposes.length < purposes.length,
6670
6664
  allSelected: boxPurposes.length > 0 && selectedCount === boxPurposes.length,
6671
6665
  someSelected: selectedCount > 0,
6666
+ drawsSwitches,
6672
6667
  collapsed: collapsedProducts[product.uuid] || false,
6673
6668
  locked: (_b2 = consentedProducts[product.uuid]) != null ? _b2 : isFullyConsentedReviewMode,
6674
6669
  settings: noticeSettings,
@@ -6716,11 +6711,31 @@ var NoticeConsentView = ({
6716
6711
  });
6717
6712
  };
6718
6713
  const handleAccept = async (mode = "selected") => {
6714
+ var _a2;
6719
6715
  if (previewContent) {
6720
6716
  return;
6721
6717
  }
6722
6718
  const submitController = new AbortController();
6723
6719
  if ((otpGate == null ? void 0 : otpGate.required) && !otpVerifiedRef.current) {
6720
+ if (mode === "selected") {
6721
+ const own = preGateSelectionRef.current;
6722
+ if (own) {
6723
+ setSelectedPurposes(own.selectedPurposes);
6724
+ setSelectedDataElements(own.selectedDataElements);
6725
+ preGateSelectionRef.current = null;
6726
+ }
6727
+ } else if (content) {
6728
+ (_a2 = preGateSelectionRef.current) != null ? _a2 : preGateSelectionRef.current = {
6729
+ selectedPurposes,
6730
+ selectedDataElements
6731
+ };
6732
+ const pending = buildSelectionForMode(purposeRows, mode, {
6733
+ selectedPurposes,
6734
+ selectedDataElements
6735
+ });
6736
+ setSelectedPurposes(pending.selectedPurposes);
6737
+ setSelectedDataElements(pending.selectedDataElements);
6738
+ }
6724
6739
  setOtpPendingMode(mode);
6725
6740
  setOtpError(null);
6726
6741
  return;
@@ -6755,11 +6770,11 @@ var NoticeConsentView = ({
6755
6770
  // for the other. On a single-product notice it is one entry per
6756
6771
  // purpose, with no product, in the order the admin saved.
6757
6772
  purposes: purposeRows.map(({ purpose, productUuid }) => {
6758
- var _a2, _b2;
6773
+ var _a3, _b2;
6759
6774
  const stateKey = productPurposeKey(productUuid, purpose.uuid);
6760
- const isAlreadyConsented = ((_a2 = categorizedPurposes == null ? void 0 : categorizedPurposes.alreadyConsented.some(
6775
+ const isAlreadyConsented = ((_a3 = categorizedPurposes == null ? void 0 : categorizedPurposes.alreadyConsented.some(
6761
6776
  (p) => p.uuid === purpose.uuid
6762
- )) != null ? _a2 : false) && ((_b2 = recordedPurposeSelections[stateKey]) != null ? _b2 : false);
6777
+ )) != null ? _a3 : false) && ((_b2 = recordedPurposeSelections[stateKey]) != null ? _b2 : false);
6763
6778
  let purposeSelected = selection.selectedPurposes[stateKey] || false;
6764
6779
  if (mode === "selected" && isAlreadyConsented) {
6765
6780
  const wasModified = purpose.data_elements.some((element) => {
@@ -7693,6 +7708,7 @@ var NoticeConsentView = ({
7693
7708
  const mode = otpPendingMode != null ? otpPendingMode : "selected";
7694
7709
  otpVerifiedRef.current = true;
7695
7710
  setOtpPendingMode(null);
7711
+ preGateSelectionRef.current = null;
7696
7712
  setOtpBusy(false);
7697
7713
  otpTokenAtVerifyRef.current = accessToken;
7698
7714
  setOtpAcceptAfterToken(mode);
@@ -7733,12 +7749,13 @@ var NoticeConsentView = ({
7733
7749
  backgroundColor: ((_A = (_z = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _z.language) == null ? void 0 : _A.backgroundColor) || (skin ? skin.palette.control : "#ffffff"),
7734
7750
  color: ((_C = (_B = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _B.language) == null ? void 0 : _C.textColor) || (skin ? headingColor : "#344054")
7735
7751
  };
7752
+ const { borderRadius: _chipRadius, ...languageChipColors } = languageSelectorStyle;
7736
7753
  const languageMenuStyle = skin ? {
7737
7754
  ...((_E = (_D = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _D.language) == null ? void 0 : _E.backgroundColor) && {
7738
7755
  backgroundColor: noticeSettings.button.language.backgroundColor
7739
7756
  },
7740
7757
  color: languageSelectorStyle.color
7741
- } : languageSelectorStyle;
7758
+ } : languageChipColors;
7742
7759
  const selectedLanguageItemStyle = {
7743
7760
  ...languageMenuStyle,
7744
7761
  backgroundColor: ((_G = (_F = noticeSettings == null ? void 0 : noticeSettings.button) == null ? void 0 : _F.language) == null ? void 0 : _G.selectedBackgroundColor) || (skin ? skin.palette.accentWash : "#f3f4f6"),
@@ -8566,6 +8583,7 @@ var NoticeConsentView = ({
8566
8583
  requiredOnly: boxPurposes.length < group.purposes.length,
8567
8584
  allSelected: selectedInGroup === boxPurposes.length,
8568
8585
  someSelected: selectedInGroup > 0,
8586
+ drawsSwitches,
8569
8587
  collapsed: collapsedProducts[group.product.uuid] || false,
8570
8588
  locked: (_a2 = consentedProducts[group.product.uuid]) != null ? _a2 : false,
8571
8589
  settings: noticeSettings,
@@ -8989,7 +9007,7 @@ var RedactoNoticeConsent = (props) => /* @__PURE__ */ jsx6(NoticeConsentView, {
8989
9007
  import { useEffect as useEffect7, useMemo as useMemo4, useState as useState3, useRef as useRef4, useCallback as useCallback4, memo } from "react";
8990
9008
 
8991
9009
  // src/RedactoNoticeConsentInline/api/index.ts
8992
- var BASE_URL2 = "https://api.redacto.tech/consent";
9010
+ var BASE_URL2 = DEFAULT_CONSENT_API_BASE_URL;
8993
9011
  var fetchConsentContent2 = async ({
8994
9012
  org_uuid,
8995
9013
  workspace_uuid,
@@ -11247,7 +11265,7 @@ var DPO_AUDIO_ELEMENT_MAP2 = [
11247
11265
  ];
11248
11266
 
11249
11267
  // src/RedactoNoticeAssisted/api/index.ts
11250
- var BASE_URL3 = "https://api.redacto.io/consent";
11268
+ var BASE_URL3 = DEFAULT_CONSENT_API_BASE_URL;
11251
11269
  var publicScope = (baseUrl, organisationUuid, workspaceUuid) => `${baseUrl || BASE_URL3}/public/organisations/${organisationUuid}/workspaces/${workspaceUuid}`;
11252
11270
  var fetchAssistedNotice = async ({
11253
11271
  organisationUuid,
@@ -14051,12 +14051,22 @@ var poweredByRedacto_default = 'data:image/svg+xml,<svg width="81" height="27" v
14051
14051
  // src/RedactoPrivacyCenter/context/BrandingContext.tsx
14052
14052
  var import_react20 = require("react");
14053
14053
 
14054
+ // src/constants.ts
14055
+ var DEFAULT_CONSENT_API_BASE_URL = "https://api.redacto.io/consent";
14056
+ var USER_SERVICE_PATH = "/user/api/0";
14057
+
14054
14058
  // src/RedactoPrivacyCenter/api/orgBranding.ts
14055
- function getUserServerBaseUrl(baseUrl) {
14056
- return baseUrl.includes(".io") ? "https://api.redacto.io/user/api/0" : "https://api.redacto.tech/user/api/0";
14059
+ var ORIGIN = /^https?:\/\/(?:\[[0-9a-f:.]+\]|[^\s/?#@:[\]]+)(?::\d+)?(?=[/?#]|$)/i;
14060
+ function originOf(url) {
14061
+ const match = ORIGIN.exec(url.trim());
14062
+ return match ? match[0] : "";
14063
+ }
14064
+ function userServiceBaseUrl(consentBaseUrl) {
14065
+ const origin = originOf(consentBaseUrl) || originOf(DEFAULT_CONSENT_API_BASE_URL);
14066
+ return origin + USER_SERVICE_PATH;
14057
14067
  }
14058
14068
  async function fetchOrgBranding(slug, baseUrl) {
14059
- const url = `${getUserServerBaseUrl(baseUrl)}/public/org-branding/by-slug/${encodeURIComponent(slug)}`;
14069
+ const url = `${userServiceBaseUrl(baseUrl)}/public/org-branding/by-slug/${encodeURIComponent(slug)}`;
14060
14070
  return apiFetch(url, { method: "GET" });
14061
14071
  }
14062
14072
 
@@ -2,18 +2,20 @@ import {
2
2
  APPEARANCE_ATTRIBUTE,
3
3
  Collapse,
4
4
  DEFAULT_APPEARANCE,
5
+ DEFAULT_CONSENT_API_BASE_URL,
5
6
  GLASS_BLUR,
6
7
  GLASS_RADIUS,
7
8
  MOTION,
8
9
  NOTICE_ROOT_ATTRIBUTE,
9
10
  SANDBOX_TOKEN_HEADER,
11
+ USER_SERVICE_PATH,
10
12
  getAppearanceLayout,
11
13
  glassPalette,
12
14
  resolveAppearance,
13
15
  useIsomorphicLayoutEffect,
14
16
  useMediaQuery,
15
17
  withIdempotencyKey
16
- } from "./chunk-EYHKLIAJ.mjs";
18
+ } from "./chunk-SZWLAJB7.mjs";
17
19
 
18
20
  // src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
19
21
  import { I18nextProvider } from "react-i18next";
@@ -13761,11 +13763,17 @@ var poweredByRedacto_default = 'data:image/svg+xml,<svg width="81" height="27" v
13761
13763
  import { createContext as createContext8, useContext as useContext6, useEffect as useEffect11, useState as useState11 } from "react";
13762
13764
 
13763
13765
  // src/RedactoPrivacyCenter/api/orgBranding.ts
13764
- function getUserServerBaseUrl(baseUrl) {
13765
- return baseUrl.includes(".io") ? "https://api.redacto.io/user/api/0" : "https://api.redacto.tech/user/api/0";
13766
+ var ORIGIN = /^https?:\/\/(?:\[[0-9a-f:.]+\]|[^\s/?#@:[\]]+)(?::\d+)?(?=[/?#]|$)/i;
13767
+ function originOf(url) {
13768
+ const match = ORIGIN.exec(url.trim());
13769
+ return match ? match[0] : "";
13770
+ }
13771
+ function userServiceBaseUrl(consentBaseUrl) {
13772
+ const origin = originOf(consentBaseUrl) || originOf(DEFAULT_CONSENT_API_BASE_URL);
13773
+ return origin + USER_SERVICE_PATH;
13766
13774
  }
13767
13775
  async function fetchOrgBranding(slug, baseUrl) {
13768
- const url = `${getUserServerBaseUrl(baseUrl)}/public/org-branding/by-slug/${encodeURIComponent(slug)}`;
13776
+ const url = `${userServiceBaseUrl(baseUrl)}/public/org-branding/by-slug/${encodeURIComponent(slug)}`;
13769
13777
  return apiFetch(url, { method: "GET" });
13770
13778
  }
13771
13779
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redacto.io/consent-sdk-react",
3
- "version": "10.3.0-beta.5",
3
+ "version": "10.3.0",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",