@redacto.io/consent-sdk-react-native 3.0.0 → 3.0.1-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.
@@ -3,8 +3,9 @@ import {
3
3
  } from "./chunk-Y6FXYEAI.mjs";
4
4
 
5
5
  // src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
6
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
6
7
  import { I18nextProvider } from "react-i18next";
7
- import { View as View25, StyleSheet as StyleSheet26 } from "react-native";
8
+ import { View as View26, StyleSheet as StyleSheet27 } from "react-native";
8
9
 
9
10
  // src/RedactoPrivacyCenter/lib/i18n.ts
10
11
  import i18n from "i18next";
@@ -174,6 +175,8 @@ var translation_default = {
174
175
  grievanceTypes: "Grievance Types",
175
176
  close: "Close",
176
177
  noData: "No Data",
178
+ noDataTitle: "Nothing to show yet",
179
+ noDataDescription: "We couldn't find any consents, requests, or activity linked to your account yet. Your privacy records will appear here once they're available.",
177
180
  rowsPerPage: "Rows per page:",
178
181
  pageOf: "Page {{current}} of {{total}}",
179
182
  rowsSelected: "{{count}} of {{total}} row(s) selected",
@@ -450,6 +453,8 @@ var translation_default2 = {
450
453
  grievanceTypes: "\u0985\u09AD\u09BF\u09AF\u09CB\u0997\u09F0 \u09AA\u09CD\u09F0\u0995\u09BE\u09F0",
451
454
  close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09F0\u0995",
452
455
  noData: "\u09A1\u09C7\u099F\u09BE \u09A8\u09BE\u0987",
456
+ noDataTitle: "\u098F\u09A4\u09BF\u09AF\u09BC\u09BE\u09B2\u09C8\u0995\u09C7 \u09A6\u09C7\u0996\u09C1\u09F1\u09BE\u09AC\u09B2\u09C8 \u098F\u0995\u09CB \u09A8\u09BE\u0987",
457
+ noDataDescription: "\u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u098F\u0995\u09BE\u0989\u09A3\u09CD\u099F\u09F0 \u09B8\u09C8\u09A4\u09C7 \u09B8\u0982\u09AF\u09C1\u0995\u09CD\u09A4 \u0995\u09CB\u09A8\u09CB \u09B8\u09A8\u09CD\u09AE\u09A4\u09BF, \u0985\u09A8\u09C1\u09F0\u09CB\u09A7 \u09AC\u09BE \u0995\u09BE\u09F0\u09CD\u09AF\u09CD\u09AF\u09BE\u09F1\u09B2\u09C0 \u0986\u09AE\u09BF \u098F\u09A4\u09BF\u09AF\u09BC\u09BE\u09B2\u09C8\u0995\u09C7 \u09AC\u09BF\u099A\u09BE\u09F0\u09BF \u09AA\u09CB\u09F1\u09BE \u09A8\u09BE\u0987\u0964 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09B9\u09CB\u09F1\u09BE\u09F0 \u09B2\u0997\u09C7 \u09B2\u0997\u09C7 \u0986\u09AA\u09CB\u09A8\u09BE\u09F0 \u0997\u09CB\u09AA\u09A8\u09C0\u09AF\u09BC\u09A4\u09BE \u09F0\u09C7\u0995\u09F0\u09CD\u09A1\u09B8\u09AE\u09C2\u09B9 \u0987\u09AF\u09BC\u09BE\u09A4 \u09A6\u09C7\u0996\u09BE \u09AF\u09BE\u09AC\u0964",
453
458
  rowsPerPage: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u09A4 \u09B6\u09BE\u09F0\u09C0:",
454
459
  pageOf: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE {{current}} / {{total}}",
455
460
  rowsSelected: "{{total}}-\u09F0 {{count}} \u09B6\u09BE\u09F0\u09C0 \u09A8\u09BF\u09F0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",
@@ -761,6 +766,8 @@ var translation_default3 = {
761
766
  grievanceTypes: "\u0985\u09AD\u09BF\u09AF\u09CB\u0997\u09C7\u09B0 \u09A7\u09B0\u09A8",
762
767
  close: "\u09AC\u09A8\u09CD\u09A7 \u0995\u09B0\u09C1\u09A8",
763
768
  noData: "\u0995\u09CB\u09A8\u09CB \u09A1\u09C7\u099F\u09BE \u09A8\u09C7\u0987",
769
+ noDataTitle: "\u098F\u0996\u09A8\u09CB \u09A6\u09C7\u0996\u09BE\u09A8\u09CB\u09B0 \u09AE\u09A4\u09CB \u0995\u09BF\u099B\u09C1 \u09A8\u09C7\u0987",
770
+ noDataDescription: "\u0986\u09AA\u09A8\u09BE\u09B0 \u0985\u09CD\u09AF\u09BE\u0995\u09BE\u0989\u09A8\u09CD\u099F\u09C7\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09AE\u09CD\u09AA\u09B0\u09CD\u0995\u09BF\u09A4 \u0995\u09CB\u09A8\u09CB \u09B8\u09AE\u09CD\u09AE\u09A4\u09BF, \u0985\u09A8\u09C1\u09B0\u09CB\u09A7 \u09AC\u09BE \u0995\u09CD\u09B0\u09BF\u09AF\u09BC\u09BE\u0995\u09B2\u09BE\u09AA \u0986\u09AE\u09B0\u09BE \u098F\u0996\u09A8\u09CB \u0996\u09C1\u0981\u099C\u09C7 \u09AA\u09BE\u0987\u09A8\u09BF\u0964 \u0989\u09AA\u09B2\u09AC\u09CD\u09A7 \u09B9\u0993\u09AF\u09BC\u09BE\u09B0 \u09B8\u09BE\u09A5\u09C7 \u09B8\u09BE\u09A5\u09C7\u0987 \u0986\u09AA\u09A8\u09BE\u09B0 \u0997\u09CB\u09AA\u09A8\u09C0\u09AF\u09BC\u09A4\u09BE \u09B0\u09C7\u0995\u09B0\u09CD\u09A1\u0997\u09C1\u09B2\u09BF \u098F\u0996\u09BE\u09A8\u09C7 \u09AA\u09CD\u09B0\u09A6\u09B0\u09CD\u09B6\u09BF\u09A4 \u09B9\u09AC\u09C7\u0964",
764
771
  rowsPerPage: "\u09AA\u09CD\u09B0\u09A4\u09BF \u09AA\u09C3\u09B7\u09CD\u09A0\u09BE\u09AF\u09BC \u09B8\u09BE\u09B0\u09BF:",
765
772
  pageOf: "\u09AA\u09C3\u09B7\u09CD\u09A0\u09BE {{current}} / {{total}}",
766
773
  rowsSelected: "{{total}}-\u098F\u09B0 \u09AE\u09A7\u09CD\u09AF\u09C7 {{count}} \u09B8\u09BE\u09B0\u09BF \u09A8\u09BF\u09B0\u09CD\u09AC\u09BE\u099A\u09BF\u09A4",
@@ -1072,6 +1079,8 @@ var translation_default4 = {
1072
1079
  grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
1073
1080
  close: "\u092C\u0928\u094D\u0926 \u0915\u0930\u0940\u0902",
1074
1081
  noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
1082
+ noDataTitle: "\u0905\u092C\u0939\u0940\u0902 \u0926\u0947\u0916\u093E\u0935\u0947 \u0916\u093E\u0924\u093F\u0930 \u0915\u0941\u091B \u0928\u0907\u0916\u0947",
1083
+ noDataDescription: "\u0930\u0909\u0930\u093E \u0916\u093E\u0924\u093E \u0938\u0947 \u091C\u0941\u0921\u093C\u0932 \u0915\u0935\u0928\u094B \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927, \u092F\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u092C\u0939\u0940\u0902 \u0924\u0915 \u0928\u093E \u092E\u093F\u0932\u0932\u0964 \u0930\u0909\u0930\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u0947 \u0908 \u0907\u0939\u093E\u0901 \u0926\u0947\u0916\u093E\u0908 \u0926\u093F\u0939\u0940\u0964",
1075
1084
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
1076
1085
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
1077
1086
  rowsSelected: "{{total}} \u092E\u0947\u0902 \u0938\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0907\u0932",
@@ -1383,6 +1392,8 @@ var translation_default5 = {
1383
1392
  grievanceTypes: "\u0917\u0941\u0928\u093E\u0938\u094B \u0925\u093E\u0916\u094B",
1384
1393
  close: "\u092C\u0928\u094D\u0926 \u0916\u093E\u0932\u093E\u092E",
1385
1394
  noData: "\u0921\u0947\u091F\u093E \u0928\u0902\u0917\u094C",
1395
+ noDataTitle: "\u0926\u093E\u0928\u094B \u0926\u093F\u0928\u0925\u093F\u0928\u094B \u0925\u093E\u0916\u093E\u092F \u091C\u0947\u092C\u094B \u0917\u0948\u092F\u093E",
1396
+ noDataDescription: "\u0926\u093E\u0928\u094B \u0938\u092E \u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u090F\u0915\u093E\u0909\u0928\u094D\u091F\u091C\u094B\u0902 \u0938\u094B\u092E\u094B\u0928\u094D\u0926\u094B \u0925\u093E\u0928\u093E\u092F \u091C\u0947\u092C\u094B \u0938\u0939\u092E\u0924\u093F, \u0939\u093E\u092C\u093E\u092F \u090F\u092C\u093E \u0916\u093E\u092E\u093E\u0928\u093F \u091C\u094B\u0902 \u092E\u094B\u0928\u0928\u094B \u0939\u093E\u092F\u093E\u0916\u0948\u0964 \u0928\u094B\u0902\u0925\u093E\u0902\u0928\u093F \u0917\u094B\u092A\u0928\u0940\u092F\u0925\u093E \u0930\u093F\u0915\u0930\u094D\u0921\u092B\u094B\u0930 \u092E\u094B\u0928\u0928\u094B \u0939\u093E\u0928\u093E\u092F \u092C\u093E\u0926\u093F \u092C\u0947\u092F\u093E\u0935\u0928\u094B \u0926\u093F\u0928\u0925\u093F\u091C\u093E\u0917\u094B\u0928\u0964",
1386
1397
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920\u0928\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
1387
1398
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
1388
1399
  rowsSelected: "{{total}} \u0928\u093F\u092B\u094D\u0930\u093E\u092F {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u0938\u093E\u092F\u0916 '\u0916\u0948",
@@ -1694,6 +1705,8 @@ var translation_default6 = {
1694
1705
  grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
1695
1706
  close: "\u092C\u0902\u0926 \u0915\u0930\u094B",
1696
1707
  noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
1708
+ noDataTitle: "\u0905\u091C\u0947\u0902 \u0926\u093F\u0915\u094D\u0916\u093E\u0928\u0947 \u0906\u0938\u094D\u0924\u0948 \u0915\u093F\u091B \u0928\u0947\u0908\u0902",
1709
+ noDataDescription: "\u0924\u0941\u0902\u0926\u0947 \u0916\u093E\u0924\u0947 \u0915\u0928\u094D\u0928\u0948 \u091C\u0941\u0921\u093C\u0940 \u0926\u0940 \u0915\u094B\u0908 \u092C\u0940 \u0938\u0939\u092E\u0924\u093F, \u092C\u0947\u0928\u0924\u0940 \u091C\u093E\u0902 \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u091C\u0947\u0902 \u0924\u0915 \u0928\u0947\u0908\u0902 \u092E\u093F\u0932\u0940\u0964 \u0924\u0941\u0902\u0926\u0947 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0902\u0926\u0947 \u0917\u0948 \u0907\u0924\u094D\u0925\u0947\u0902 \u0926\u093F\u0915\u094D\u0916\u0928\u0947 \u0917\u0940 \u092E\u093F\u0932\u0919\u0928\u0964",
1697
1710
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
1698
1711
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
1699
1712
  rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0947\u0932",
@@ -2005,6 +2018,8 @@ var translation_default7 = {
2005
2018
  grievanceTypes: "\u0924\u0915\u094D\u0930\u093E\u0930 \u092A\u094D\u0930\u0915\u093E\u0930",
2006
2019
  close: "\u092C\u0902\u0926 \u0915\u0930\u093E\u0924",
2007
2020
  noData: "\u0921\u0947\u091F\u093E \u0928\u093E",
2021
+ noDataTitle: "\u0905\u091C\u0942\u0928 \u0926\u093E\u0916\u094B\u0935\u092A\u093E\u0915 \u0915\u093E\u0902\u092F \u0928\u093E",
2022
+ noDataDescription: "\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0916\u093E\u0924\u094D\u092F\u093E\u0915\u0921\u0947\u0928 \u091C\u094B\u0921\u093F\u0932\u094D\u0932\u0940 \u0915\u0938\u0932\u0940\u091A \u0938\u0902\u092E\u0924\u0940, \u092E\u093E\u0917\u0923\u094D\u092F\u094B \u0935\u093E \u0915\u0943\u0924\u0940 \u0906\u092E\u0915\u093E\u0902 \u0905\u091C\u0942\u0928 \u092E\u0947\u0933\u0942\u0902\u0915 \u0928\u093E\u0924. \u0909\u092A\u0932\u092C\u094D\u0927 \u091C\u093E\u0924\u0915\u091A \u0924\u0941\u092E\u091A\u094D\u092F\u094B \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0928\u094B\u0902\u0926\u0940 \u0939\u093E\u0902\u0917\u093E \u0926\u093F\u0938\u0924\u0932\u094D\u092F\u094B.",
2008
2023
  rowsPerPage: "\u092A\u093E\u0928\u093E\u0915 \u092A\u0902\u0915\u094D\u0924\u0940:",
2009
2024
  pageOf: "\u092A\u093E\u0928 {{current}} / {{total}}",
2010
2025
  rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u0940 \u0928\u093F\u0935\u0921\u0932\u0940",
@@ -2316,6 +2331,8 @@ var translation_default8 = {
2316
2331
  grievanceTypes: "\u0AAB\u0AB0\u0ABF\u0AAF\u0ABE\u0AA6 \u0AAA\u0ACD\u0AB0\u0A95\u0ABE\u0AB0\u0ACB",
2317
2332
  close: "\u0AAC\u0A82\u0AA7 \u0A95\u0AB0\u0ACB",
2318
2333
  noData: "\u0AA1\u0AC7\u0A9F\u0ABE \u0AA8\u0AA5\u0AC0",
2334
+ noDataTitle: "\u0AB9\u0A9C\u0AC1 \u0AB8\u0AC1\u0AA7\u0AC0 \u0AAC\u0AA4\u0ABE\u0AB5\u0AB5\u0ABE \u0AAE\u0ABE\u0A9F\u0AC7 \u0A95\u0A82\u0A88 \u0AA8\u0AA5\u0AC0",
2335
+ noDataDescription: "\u0AA4\u0AAE\u0ABE\u0AB0\u0ABE \u0A96\u0ABE\u0AA4\u0ABE \u0AB8\u0ABE\u0AA5\u0AC7 \u0A9C\u0ACB\u0AA1\u0ABE\u0AAF\u0AC7\u0AB2\u0AC0 \u0A95\u0ACB\u0A88 \u0AB8\u0A82\u0AAE\u0AA4\u0ABF\u0A93, \u0AB5\u0ABF\u0AA8\u0A82\u0AA4\u0AC0\u0A93 \u0A85\u0AA5\u0AB5\u0ABE \u0AAA\u0ACD\u0AB0\u0AB5\u0AC3\u0AA4\u0ACD\u0AA4\u0ABF \u0A85\u0AAE\u0AA8\u0AC7 \u0AB9\u0A9C\u0AC1 \u0AB8\u0AC1\u0AA7\u0AC0 \u0AAE\u0AB3\u0AC0 \u0AA8\u0AA5\u0AC0. \u0AA4\u0AAE\u0ABE\u0AB0\u0ABE \u0A97\u0ACB\u0AAA\u0AA8\u0AC0\u0AAF\u0AA4\u0ABE \u0AB0\u0AC7\u0A95\u0ACB\u0AB0\u0ACD\u0AA1 \u0A89\u0AAA\u0AB2\u0AAC\u0ACD\u0AA7 \u0AA5\u0AA4\u0ABE\u0A82 \u0A9C \u0A85\u0AB9\u0AC0\u0A82 \u0AA6\u0AC7\u0A96\u0ABE\u0AB6\u0AC7.",
2319
2336
  rowsPerPage: "\u0AA6\u0AB0 \u0AAA\u0AC3\u0AB7\u0ACD\u0AA0 \u0AAA\u0A82\u0A95\u0ACD\u0AA4\u0ABF\u0A93:",
2320
2337
  pageOf: "\u0AAA\u0AC3\u0AB7\u0ACD\u0AA0 {{current}} / {{total}}",
2321
2338
  rowsSelected: "{{total}} \u0AAE\u0ABE\u0A82\u0AA5\u0AC0 {{count}} \u0AAA\u0A82\u0A95\u0ACD\u0AA4\u0ABF \u0AAA\u0AB8\u0A82\u0AA6",
@@ -2627,6 +2644,8 @@ var translation_default9 = {
2627
2644
  grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
2628
2645
  close: "\u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
2629
2646
  noData: "\u0915\u094B\u0908 \u0921\u0947\u091F\u093E \u0928\u0939\u0940\u0902",
2647
+ noDataTitle: "\u0905\u092D\u0940 \u0926\u093F\u0916\u093E\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u0915\u0941\u091B \u0928\u0939\u0940\u0902",
2648
+ noDataDescription: "\u0939\u092E\u0947\u0902 \u0905\u092D\u0940 \u0924\u0915 \u0906\u092A\u0915\u0947 \u0916\u093E\u0924\u0947 \u0938\u0947 \u091C\u0941\u0921\u093C\u0940 \u0915\u094B\u0908 \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927 \u092F\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u0940\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u0947 \u0939\u0940 \u0906\u092A\u0915\u0947 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u092F\u0939\u093E\u0901 \u0926\u093F\u0916\u093E\u0908 \u0926\u0947\u0902\u0917\u0947\u0964",
2630
2649
  rowsPerPage: "\u092A\u094D\u0930\u0924\u093F \u092A\u0943\u0937\u094D\u0920 \u092A\u0902\u0915\u094D\u0924\u093F\u092F\u093E\u0901:",
2631
2650
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
2632
2651
  rowsSelected: "\u0915\u0941\u0932 {{total}} \u092E\u0947\u0902 \u0938\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F\u092F\u093E\u0901 \u091A\u092F\u0928\u093F\u0924",
@@ -2938,6 +2957,8 @@ var translation_default10 = {
2938
2957
  grievanceTypes: "\u0CAA\u0CB0\u0CBE\u0CA4\u0CBF \u0CB5\u0CBF\u0CA7\u0C97\u0CB3\u0CC1",
2939
2958
  close: "\u0CAE\u0CC1\u0C9A\u0CCD\u0C9A\u0CBF",
2940
2959
  noData: "\u0CA1\u0CC7\u0C9F\u0CBE \u0C87\u0CB2\u0CCD\u0CB2",
2960
+ noDataTitle: "\u0C87\u0CA8\u0CCD\u0CA8\u0CC2 \u0CA4\u0CCB\u0CB0\u0CBF\u0CB8\u0CB2\u0CC1 \u0C8F\u0CA8\u0CC2 \u0C87\u0CB2\u0CCD\u0CB2",
2961
+ noDataDescription: "\u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C96\u0CBE\u0CA4\u0CC6\u0C97\u0CC6 \u0CB8\u0C82\u0CAC\u0C82\u0CA7\u0CBF\u0CB8\u0CBF\u0CA6 \u0CAF\u0CBE\u0CB5\u0CC1\u0CA6\u0CC7 \u0CB8\u0CAE\u0CCD\u0CAE\u0CA4\u0CBF\u0C97\u0CB3\u0CC1, \u0CB5\u0CBF\u0CA8\u0C82\u0CA4\u0CBF\u0C97\u0CB3\u0CC1 \u0C85\u0CA5\u0CB5\u0CBE \u0C9A\u0C9F\u0CC1\u0CB5\u0C9F\u0CBF\u0C95\u0CC6 \u0CA8\u0CAE\u0C97\u0CC6 \u0C87\u0CA8\u0CCD\u0CA8\u0CC2 \u0C95\u0C82\u0CA1\u0CC1\u0CAC\u0C82\u0CA6\u0CBF\u0CB2\u0CCD\u0CB2. \u0CA8\u0CBF\u0CAE\u0CCD\u0CAE \u0C97\u0CCC\u0CAA\u0CCD\u0CAF\u0CA4\u0CBE \u0CA6\u0CBE\u0C96\u0CB2\u0CC6\u0C97\u0CB3\u0CC1 \u0CB2\u0CAD\u0CCD\u0CAF\u0CB5\u0CBE\u0CA6 \u0CA4\u0C95\u0CCD\u0CB7\u0CA3 \u0C85\u0CB5\u0CC1 \u0C87\u0CB2\u0CCD\u0CB2\u0CBF \u0C97\u0CCB\u0C9A\u0CB0\u0CBF\u0CB8\u0CC1\u0CA4\u0CCD\u0CA4\u0CB5\u0CC6.",
2941
2962
  rowsPerPage: "\u0CAA\u0CC1\u0C9F\u0C95\u0CCD\u0C95\u0CC6 \u0CB8\u0CBE\u0CB2\u0CC1\u0C97\u0CB3\u0CC1:",
2942
2963
  pageOf: "\u0CAA\u0CC1\u0C9F {{current}} / {{total}}",
2943
2964
  rowsSelected: "{{total}} \u0CB0\u0CB2\u0CCD\u0CB2\u0CBF {{count}} \u0CB8\u0CBE\u0CB2\u0CC1 \u0C86\u0CAF\u0CCD\u0C95\u0CC6\u0CAE\u0CBE\u0CA1\u0CB2\u0CBE\u0C97\u0CBF\u0CA6\u0CC6",
@@ -3249,6 +3270,8 @@ var translation_default11 = {
3249
3270
  grievanceTypes: "\u0634\u06A9\u0627\u06CC\u062A \u0642\u0633\u0645",
3250
3271
  close: "\u0628\u0646\u062F \u06A9\u0631\u0648",
3251
3272
  noData: "\u0688\u06CC\u0679\u0627 \u06A9\u0627\u0646\u06C1\u06C1",
3273
+ noDataTitle: "\u0627\u0628\u0655 \u062A\u0627\u0645 \u06C1\u0627\u0648\u064F\u0646 \u062E\u0672\u0637\u0631\u0655 \u06A9\u0627\u0646\u065B\u06C1\u06C1 \u0646\u0655",
3274
+ noDataDescription: "\u0627\u0633\u06C1\u0650 \u062A\u064F\u06C1\u0646\u065B\u062F\u0650 \u0627\u06A9\u0627\u0624\u0646\u0679\u064E\u0633 \u0633\u0655\u062A\u06CD \u062C\u064F\u0691\u0655\u0645\u0655\u0698 \u06A9\u0627\u0646\u065B\u06C1\u06C1\u0650 \u0631\u0636\u0627\u0645\u0646\u062F\u06CC\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A\u0655 \u06CC\u0627 \u0633\u0631\u06AF\u0631\u0645\u06CC \u0627\u0628\u0655 \u062A\u0627\u0645 \u0646\u0655 \u0644\u064E\u0628\u06D4 \u062A\u064F\u06C1\u0646\u065B\u062F \u0631\u0627\u0632\u062F\u0627\u0631\u06CC \u0631\u06CC\u06A9\u0627\u0631\u0688 \u06CC\u06C1\u0650 \u062F\u0633\u062A\u06CC\u0627\u0628 \u0633\u067E\u062F\u0650\u062A\u06BE \u06CC\u0650\u062A\u06C1\u0650 \u06A9\u0646\u06C1\u0650 \u0648\u064F\u0686\u06BE\u0646\u06C1\u0655 \u06CC\u0650\u06CC\u0650\u06C1\u0655\u06D4",
3252
3275
  rowsPerPage: "\u0635\u0641\u062D\u06C1 \u0641\u06CC \u0642\u0637\u0627\u0631\u0627\u06BA:",
3253
3276
  pageOf: "\u0635\u0641\u062D\u06C1 {{current}} / {{total}}",
3254
3277
  rowsSelected: "{{total}} \u0645\u0646\u0632 {{count}} \u0642\u0637\u0627\u0631 \u0686\u064F\u0646\u0650\u062A",
@@ -3560,6 +3583,8 @@ var translation_default12 = {
3560
3583
  grievanceTypes: "\u0936\u093F\u0915\u093E\u092F\u0924 \u092A\u094D\u0930\u0915\u093E\u0930",
3561
3584
  close: "\u092C\u0928\u094D\u0926 \u0915\u0930\u0942",
3562
3585
  noData: "\u0915\u094B\u0928\u094B \u0921\u0947\u091F\u093E \u0928\u0948",
3586
+ noDataTitle: "\u0905\u0916\u0928 \u0924\u0915 \u0926\u0947\u0916\u093E\u092C\u092F \u0932\u0947\u0932 \u0915\u093F\u091B\u0941 \u0928\u0939\u093F",
3587
+ noDataDescription: "\u0905\u0939\u093E\u0901\u0915 \u0916\u093E\u0924\u093E \u0938\u0901 \u091C\u0941\u0921\u093C\u0932 \u0915\u094B\u0928\u094B \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927, \u0935\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0905\u0916\u0928 \u0924\u0915 \u0928\u0939\u093F \u092D\u0947\u091F\u0932\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0907\u0924\u0947 \u0905\u0939\u093E\u0901\u0915 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u093F\u0915\u0949\u0930\u094D\u0921 \u090F\u0924\u092F \u0926\u0947\u0916\u093E\u090F\u0924\u0964",
3563
3588
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0902\u0915\u094D\u0924\u093F:",
3564
3589
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
3565
3590
  rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F \u091A\u0941\u0928\u0932 \u0917\u0947\u0932",
@@ -3871,6 +3896,8 @@ var translation_default13 = {
3871
3896
  grievanceTypes: "\u0D2A\u0D30\u0D3E\u0D24\u0D3F \u0D24\u0D30\u0D19\u0D4D\u0D19\u0D7E",
3872
3897
  close: "\u0D05\u0D1F\u0D2F\u0D4D\u0D15\u0D4D\u0D15\u0D41\u0D15",
3873
3898
  noData: "\u0D21\u0D3E\u0D31\u0D4D\u0D31\u0D2F\u0D3F\u0D32\u0D4D\u0D32",
3899
+ noDataTitle: "\u0D07\u0D24\u0D41\u0D35\u0D30\u0D46 \u0D15\u0D3E\u0D23\u0D3F\u0D15\u0D4D\u0D15\u0D3E\u0D7B \u0D12\u0D28\u0D4D\u0D28\u0D41\u0D2E\u0D3F\u0D32\u0D4D\u0D32",
3900
+ noDataDescription: "\u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D05\u0D15\u0D4D\u0D15\u0D57\u0D23\u0D4D\u0D1F\u0D41\u0D2E\u0D3E\u0D2F\u0D3F \u0D2C\u0D28\u0D4D\u0D27\u0D3F\u0D2A\u0D4D\u0D2A\u0D3F\u0D1A\u0D4D\u0D1A \u0D38\u0D2E\u0D4D\u0D2E\u0D24\u0D19\u0D4D\u0D19\u0D33\u0D4B \u0D05\u0D2D\u0D4D\u0D2F\u0D7C\u0D24\u0D4D\u0D25\u0D28\u0D15\u0D33\u0D4B \u0D2A\u0D4D\u0D30\u0D35\u0D43\u0D24\u0D4D\u0D24\u0D3F\u0D2F\u0D4B \u0D07\u0D24\u0D41\u0D35\u0D30\u0D46 \u0D1E\u0D19\u0D4D\u0D19\u0D7E\u0D15\u0D4D\u0D15\u0D4D \u0D15\u0D23\u0D4D\u0D1F\u0D46\u0D24\u0D4D\u0D24\u0D3E\u0D28\u0D3E\u0D2F\u0D3F\u0D32\u0D4D\u0D32. \u0D28\u0D3F\u0D19\u0D4D\u0D19\u0D33\u0D41\u0D1F\u0D46 \u0D38\u0D4D\u0D35\u0D15\u0D3E\u0D30\u0D4D\u0D2F\u0D24\u0D3E \u0D30\u0D47\u0D16\u0D15\u0D7E \u0D32\u0D2D\u0D4D\u0D2F\u0D2E\u0D3E\u0D15\u0D41\u0D2E\u0D4D\u0D2A\u0D4B\u0D7E \u0D05\u0D35 \u0D07\u0D35\u0D3F\u0D1F\u0D46 \u0D26\u0D43\u0D36\u0D4D\u0D2F\u0D2E\u0D3E\u0D15\u0D41\u0D02.",
3874
3901
  rowsPerPage: "\u0D2A\u0D47\u0D1C\u0D3F\u0D28\u0D4D \u0D35\u0D30\u0D3F\u0D15\u0D7E:",
3875
3902
  pageOf: "\u0D2A\u0D47\u0D1C\u0D4D {{current}} / {{total}}",
3876
3903
  rowsSelected: "{{total}}-\u0D7D {{count}} \u0D35\u0D30\u0D3F \u0D24\u0D3F\u0D30\u0D1E\u0D4D\u0D1E\u0D46\u0D1F\u0D41\u0D24\u0D4D\u0D24\u0D41",
@@ -4182,6 +4209,8 @@ var translation_default14 = {
4182
4209
  grievanceTypes: "\uABC1\uABE4\uABD5\uABD2\uABE4 \uABC4\uABE3\uABE0\uABC1\uABE4\uABE1",
4183
4210
  close: "\uABC1\uABE5\uABD5",
4184
4211
  noData: "\uABD7\uABE6\uABC7\uABE5 \uABC2\uABE9\uABC7\uABE6",
4212
+ noDataTitle: "\uABCD\uABE7\uABD6\uABE4\uABDB \uABD0\uABE5\uABCE\uABD5 \uABCE\uABE0\uABC5\uABD5 \uABC0\uABD4\uABE4\uABC1\uABE8 \uABC2\uABE9\uABC7\uABE6",
4213
+ noDataDescription: "\uABCD\uABE7\uABD6\uABE4\uABDB \uABD0\uABE5\uABCE\uABD5 \uABD1\uABD7\uABE3\uABDD\uABD2\uABE4 \uABD1\uABC0\uABE5\uABCE\uABDF\uABC7\uABC0 \uABC1\uABDD\uABC5\uABD7\uABE8\uABC5 \uABC0\uABC5\uABC1\uABE6\uABDF\uABC7, \uABCD\uABE7\uABD4\uABDB\uABD0\uABDD, \uABC5\uABE0\uABC7\uABED\uABD4\uABD2 \uABC8\uABE8\uABD7\uABDD\uABD5\uABE4\uABE0 \uABD1\uABC3\uABE0\uABC7 \uABD0\uABEA\uABD7\uABD4\uABE6\uABEB \uABD1\uABD7\uABE3\uABDD\uABD2\uABE4 \uABC4\uABED\uABD4\uABE5\uABCF\uABDA\uABE6\uABC1\uABE4 \uABD4\uABE4\uABC0\uABE3\uABD4\uABD7\uABC1\uABE4\uABE1 \uABD0\uABEA\uABC2\uABDB\uABC4 \uABC3\uABC7\uABC3\uABD7 \uABC3\uABD0\uABDD \uABD1\uABC1\uABE4\uABD7 \uABCE\uABD4\uABDB\uABC0\uABC5\uABE4\uABEB",
4185
4214
  rowsPerPage: "\uABC2\uABE6\uABE1\uABD2\uABE4 \uABC3\uABD4\uABE8\uABD1\uABE3\uABCF\uABD5:",
4186
4215
  pageOf: "\uABC2\uABE6\uABE1 {{current}} / {{total}}",
4187
4216
  rowsSelected: "{{total}} \uABD2\uABE4 \uABC3\uABD4\uABE8\uABD1\uABE3\uABCF\uABD5 {{count}} \uABC1\uABE4\uABC4 \uABC8\uABE8\uABDF\uABC1\uABE5\uABD6\uABC8\uABD4\uABE6",
@@ -4493,6 +4522,8 @@ var translation_default15 = {
4493
4522
  grievanceTypes: "\u0924\u0915\u094D\u0930\u093E\u0930 \u092A\u094D\u0930\u0915\u093E\u0930",
4494
4523
  close: "\u092C\u0902\u0926 \u0915\u0930\u093E",
4495
4524
  noData: "\u0921\u0947\u091F\u093E \u0928\u093E\u0939\u0940",
4525
+ noDataTitle: "\u0905\u0926\u094D\u092F\u093E\u092A \u0926\u093E\u0916\u0935\u0923\u094D\u092F\u093E\u0938\u093E\u0930\u0916\u0947 \u0915\u093E\u0939\u0940 \u0928\u093E\u0939\u0940",
4526
+ noDataDescription: "\u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0916\u093E\u0924\u094D\u092F\u093E\u0936\u0940 \u0938\u0902\u092C\u0902\u0927\u093F\u0924 \u0915\u094B\u0923\u0924\u094D\u092F\u093E\u0939\u0940 \u0938\u0902\u092E\u0924\u0940, \u0935\u093F\u0928\u0902\u0924\u094D\u092F\u093E \u0915\u093F\u0902\u0935\u093E \u0915\u094D\u0930\u093F\u092F\u093E\u0915\u0932\u093E\u092A \u0905\u0926\u094D\u092F\u093E\u092A \u0906\u092E\u094D\u0939\u093E\u0932\u093E \u0906\u0922\u0933\u0932\u0947 \u0928\u093E\u0939\u0940\u0924. \u0909\u092A\u0932\u092C\u094D\u0927 \u0939\u094B\u0924\u093E\u091A \u0924\u0941\u092E\u091A\u094D\u092F\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0928\u094B\u0902\u0926\u0940 \u092F\u0947\u0925\u0947 \u0926\u093F\u0938\u0924\u0940\u0932.",
4496
4527
  rowsPerPage: "\u092A\u094D\u0930\u0924\u093F \u092A\u0943\u0937\u094D\u0920 \u092A\u0902\u0915\u094D\u0924\u0940:",
4497
4528
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
4498
4529
  rowsSelected: "{{total}} \u092A\u0948\u0915\u0940 {{count}} \u092A\u0902\u0915\u094D\u0924\u0940 \u0928\u093F\u0935\u0921\u0932\u0940",
@@ -4804,6 +4835,8 @@ var translation_default16 = {
4804
4835
  grievanceTypes: "\u0917\u0941\u0928\u093E\u0938\u094B \u092A\u094D\u0930\u0915\u093E\u0930\u0939\u0930\u0942",
4805
4836
  close: "\u092C\u0928\u094D\u0926 \u0917\u0930\u094D\u0928\u0941\u0939\u094B\u0938\u094D",
4806
4837
  noData: "\u0921\u0947\u091F\u093E \u091B\u0948\u0928",
4838
+ noDataTitle: "\u0905\u0939\u093F\u0932\u0947\u0938\u092E\u094D\u092E \u0926\u0947\u0916\u093E\u0909\u0928\u0947 \u0915\u0947\u0939\u0940 \u091B\u0948\u0928",
4839
+ noDataDescription: "\u0924\u092A\u093E\u0908\u0902\u0915\u094B \u0916\u093E\u0924\u093E\u0938\u0901\u0917 \u091C\u094B\u0921\u093F\u090F\u0915\u093E \u0915\u0941\u0928\u0948 \u0938\u0939\u092E\u0924\u093F, \u0905\u0928\u0941\u0930\u094B\u0927 \u0935\u093E \u0917\u0924\u093F\u0935\u093F\u0927\u093F \u0939\u093E\u092E\u0940\u0932\u0947 \u0905\u0939\u093F\u0932\u0947\u0938\u092E\u094D\u092E \u092B\u0947\u0932\u093E \u092A\u093E\u0930\u0947\u0928\u094C\u0902\u0964 \u0909\u092A\u0932\u092C\u094D\u0927 \u092D\u090F\u092A\u091B\u093F \u0924\u092A\u093E\u0908\u0902\u0915\u093E \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E \u0930\u0947\u0915\u0930\u094D\u0921\u0939\u0930\u0942 \u092F\u0939\u093E\u0901 \u0926\u0947\u0916\u093F\u0928\u0947\u091B\u0928\u094D\u0964",
4807
4840
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920 \u092A\u094D\u0930\u0924\u093F \u092A\u0919\u094D\u0915\u094D\u0924\u093F\u0939\u0930\u0942:",
4808
4841
  pageOf: "\u092A\u0943\u0937\u094D\u0920 {{current}} / {{total}}",
4809
4842
  rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0919\u094D\u0915\u094D\u0924\u093F \u091A\u092F\u0928 \u0917\u0930\u093F\u092F\u094B",
@@ -5115,6 +5148,8 @@ var translation_default17 = {
5115
5148
  grievanceTypes: "\u0B05\u0B2D\u0B3F\u0B2F\u0B4B\u0B17 \u0B2A\u0B4D\u0B30\u0B15\u0B3E\u0B30",
5116
5149
  close: "\u0B2C\u0B28\u0B4D\u0B26 \u0B15\u0B30\u0B28\u0B4D\u0B24\u0B41",
5117
5150
  noData: "\u0B24\u0B25\u0B4D\u0B5F \u0B28\u0B3E\u0B39\u0B3F\u0B01",
5151
+ noDataTitle: "\u0B0F\u0B2A\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B28\u0B4D\u0B24 \u0B26\u0B47\u0B16\u0B3E\u0B07\u0B2C\u0B3E\u0B15\u0B41 \u0B15\u0B3F\u0B1B\u0B3F \u0B28\u0B3E\u0B39\u0B3F\u0B01",
5152
+ noDataDescription: "\u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B06\u0B15\u0B3E\u0B09\u0B23\u0B4D\u0B1F \u0B38\u0B39\u0B3F\u0B24 \u0B38\u0B02\u0B2F\u0B41\u0B15\u0B4D\u0B24 \u0B15\u0B4C\u0B23\u0B38\u0B3F \u0B38\u0B2E\u0B4D\u0B2E\u0B24\u0B3F, \u0B05\u0B28\u0B41\u0B30\u0B4B\u0B27 \u0B15\u0B3F\u0B2E\u0B4D\u0B2C\u0B3E \u0B15\u0B3E\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B15\u0B33\u0B3E\u0B2A \u0B06\u0B2E\u0B47 \u0B0F\u0B2A\u0B30\u0B4D\u0B2F\u0B4D\u0B5F\u0B28\u0B4D\u0B24 \u0B2A\u0B3E\u0B07\u0B32\u0B41 \u0B28\u0B3E\u0B39\u0B3F\u0B01\u0964 \u0B09\u0B2A\u0B32\u0B2C\u0B4D\u0B27 \u0B39\u0B47\u0B2C\u0B3E \u0B2E\u0B3E\u0B24\u0B4D\u0B30\u0B47 \u0B06\u0B2A\u0B23\u0B19\u0B4D\u0B15 \u0B17\u0B4B\u0B2A\u0B28\u0B40\u0B5F\u0B24\u0B3E \u0B30\u0B47\u0B15\u0B30\u0B4D\u0B21 \u0B0F\u0B20\u0B3E\u0B30\u0B47 \u0B26\u0B47\u0B16\u0B3E\u0B2F\u0B3F\u0B2C\u0964",
5118
5153
  rowsPerPage: "\u0B2A\u0B43\u0B37\u0B4D\u0B20\u0B3E\u0B15\u0B41 \u0B27\u0B3E\u0B21\u0B3C\u0B3F:",
5119
5154
  pageOf: "\u0B2A\u0B43\u0B37\u0B4D\u0B20\u0B3E {{current}} / {{total}}",
5120
5155
  rowsSelected: "{{total}} \u0B30\u0B41 {{count}} \u0B27\u0B3E\u0B21\u0B3C\u0B3F \u0B2C\u0B3E\u0B1B\u0B3F\u0B32\u0B47",
@@ -5426,6 +5461,8 @@ var translation_default18 = {
5426
5461
  grievanceTypes: "\u0A38\u0A3C\u0A3F\u0A15\u0A3E\u0A07\u0A24 \u0A15\u0A3F\u0A38\u0A2E\u0A3E\u0A02",
5427
5462
  close: "\u0A2C\u0A70\u0A26 \u0A15\u0A30\u0A4B",
5428
5463
  noData: "\u0A15\u0A4B\u0A08 \u0A21\u0A47\u0A1F\u0A3E \u0A28\u0A39\u0A40\u0A02",
5464
+ noDataTitle: "\u0A05\u0A1C\u0A47 \u0A26\u0A3F\u0A16\u0A3E\u0A09\u0A23 \u0A32\u0A08 \u0A15\u0A41\u0A1D \u0A28\u0A39\u0A40\u0A02",
5465
+ noDataDescription: "\u0A05\u0A38\u0A40\u0A02 \u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A16\u0A3E\u0A24\u0A47 \u0A28\u0A3E\u0A32 \u0A1C\u0A41\u0A5C\u0A40 \u0A15\u0A4B\u0A08 \u0A38\u0A39\u0A3F\u0A2E\u0A24\u0A40, \u0A2C\u0A47\u0A28\u0A24\u0A40 \u0A1C\u0A3E\u0A02 \u0A17\u0A24\u0A40\u0A35\u0A3F\u0A27\u0A40 \u0A05\u0A1C\u0A47 \u0A28\u0A39\u0A40\u0A02 \u0A32\u0A71\u0A2D \u0A38\u0A15\u0A47\u0964 \u0A24\u0A41\u0A39\u0A3E\u0A21\u0A47 \u0A17\u0A4B\u0A2A\u0A28\u0A40\u0A2F\u0A24\u0A3E \u0A30\u0A3F\u0A15\u0A3E\u0A30\u0A21 \u0A09\u0A2A\u0A32\u0A2C\u0A27 \u0A39\u0A41\u0A70\u0A26\u0A47 \u0A39\u0A40 \u0A07\u0A71\u0A25\u0A47 \u0A26\u0A3F\u0A16\u0A3E\u0A08 \u0A26\u0A47\u0A23\u0A17\u0A47\u0964",
5429
5466
  rowsPerPage: "\u0A2A\u0A70\u0A28\u0A47 \u0A2A\u0A4D\u0A30\u0A24\u0A40 \u0A15\u0A24\u0A3E\u0A30\u0A3E\u0A02:",
5430
5467
  pageOf: "\u0A2A\u0A70\u0A28\u0A3E {{current}} / {{total}}",
5431
5468
  rowsSelected: "{{total}} \u0A35\u0A3F\u0A71\u0A1A\u0A4B\u0A02 {{count}} \u0A15\u0A24\u0A3E\u0A30 \u0A1A\u0A41\u0A23\u0A40 \u0A17\u0A08",
@@ -5737,6 +5774,8 @@ var translation_default19 = {
5737
5774
  grievanceTypes: "\u0905\u092D\u093F\u092F\u094B\u0917\u092A\u094D\u0930\u0915\u093E\u0930\u093E\u0903",
5738
5775
  close: "\u0938\u092E\u093E\u092A\u092F",
5739
5776
  noData: "\u0921\u0947\u091F\u093E \u0928\u093E\u0938\u094D\u0924\u093F",
5777
+ noDataTitle: "\u0905\u0926\u094D\u092F\u093E\u092A\u093F \u0915\u093F\u092E\u092A\u093F \u0926\u0930\u094D\u0936\u092F\u093F\u0924\u0941\u0902 \u0928\u093E\u0938\u094D\u0924\u093F",
5778
+ noDataDescription: "\u092D\u0935\u0924\u0903 \u0916\u093E\u0924\u092F\u093E \u0938\u0939 \u0938\u092E\u094D\u092C\u0926\u094D\u0927\u093E\u0903 \u0915\u093E\u0936\u094D\u091A\u0928 \u0938\u092E\u094D\u092E\u0924\u092F\u0903, \u0905\u0928\u0941\u0930\u094B\u0927\u093E\u0903, \u0915\u093E\u0930\u094D\u092F\u0915\u0932\u093E\u092A\u093E\u0903 \u0935\u093E \u0905\u0926\u094D\u092F\u093E\u092A\u093F \u0905\u0938\u094D\u092E\u093E\u092D\u093F\u0903 \u0928 \u092A\u094D\u0930\u093E\u092A\u094D\u0924\u093E\u0903\u0964 \u0909\u092A\u0932\u092C\u094D\u0927\u093E\u0903 \u0938\u0924\u093F \u092D\u0935\u0924\u0903 \u0917\u094B\u092A\u0928\u0940\u092F\u0924\u093E-\u0905\u092D\u093F\u0932\u0947\u0916\u093E\u0903 \u0905\u0924\u094D\u0930 \u0926\u0930\u094D\u0936\u092F\u093F\u0937\u094D\u092F\u0928\u094D\u0924\u0947\u0964",
5740
5779
  rowsPerPage: "\u092A\u0943\u0937\u094D\u0920\u0947 \u092A\u0902\u0915\u094D\u0924\u092F\u0903:",
5741
5780
  pageOf: "\u092A\u0943\u0937\u094D\u0920\u092E\u094D {{current}} / {{total}}",
5742
5781
  rowsSelected: "{{total}} \u092E\u0927\u094D\u092F\u0947 {{count}} \u092A\u0902\u0915\u094D\u0924\u093F\u0903 \u091A\u093F\u0924\u093E",
@@ -6048,6 +6087,8 @@ var translation_default20 = {
6048
6087
  grievanceTypes: "\u1C69\u1C6F\u1C5F\u1C79\u1C6D \u1C5E\u1C6E\u1C60\u1C5F\u1C71",
6049
6088
  close: "\u1C75\u1C5A\u1C78\u1C6B\u1C5A",
6050
6089
  noData: "\u1C70\u1C6E\u1C74\u1C5F \u1C75\u1C5F\u1C79\u1C71\u1C69\u1C5C\u1C7C\u1C5F",
6090
+ noDataTitle: "\u1C71\u1C64\u1C5B \u1C5B\u1C5F\u1C60 \u1C61\u1C5F\u1C66\u1C5F\u1C78 \u1C6B\u1C6E\u1C60\u1C77\u1C5F\u1C63 \u1C5E\u1C5F\u1C79\u1C5C\u1C64\u1C6B \u1C75\u1C5F\u1C5D",
6091
+ noDataDescription: "\u1C5F\u1C5E\u1C6E \u1C71\u1C64\u1C5B \u1C5B\u1C5F\u1C60 \u1C5F\u1C62\u1C5F\u1C5C \u1C6E\u1C60\u1C5F\u1C63\u1C69\u1C71\u1C74 \u1C65\u1C5F\u1C5E\u1C5F\u1C5C \u1C61\u1C5A\u1C72\u1C5F\u1C63 \u1C61\u1C5F\u1C66\u1C5F\u1C78 \u1C65\u1C5A\u1C66\u1C5A\u1C62\u1C5A\u1C5B\u1C64, \u1C66\u1C5F\u1C75\u1C5F\u1C6D, \u1C5F\u1C68\u1C75\u1C5F\u1C5D \u1C60\u1C5F\u1C79\u1C62\u1C64 \u1C75\u1C5F\u1C5D \u1C67\u1C5F\u1C62 \u1C6B\u1C5F\u1C72\u1C6E\u1C6D\u1C5F\u1C6B\u1C7C\u1C5F\u1C7E \u1C5F\u1C62\u1C5F\u1C5C \u1C6F\u1C68\u1C5F\u1C6D\u1C63\u1C6E\u1C65\u1C64 \u1C68\u1C64\u1C60\u1C5A\u1C68\u1C70 \u1C60\u1C5A \u1C67\u1C5F\u1C62\u1C5A\u1C5C \u1C60\u1C77\u1C5F\u1C71 \u1C71\u1C5A\u1C78\u1C70\u1C6E \u1C6B\u1C6E\u1C60\u1C77\u1C5F\u1C63\u1C5A\u1C5C\u1C7C\u1C5F\u1C7E",
6051
6092
  rowsPerPage: "\u1C6F\u1C6E\u1C61\u1C7D \u1C6F\u1C64\u1C68\u1C64 \u1C6A\u1C77\u1C69\u1C74\u1C5F\u1C79:",
6052
6093
  pageOf: "\u1C6F\u1C6E\u1C61\u1C7D {{current}} / {{total}}",
6053
6094
  rowsSelected: "{{total}} \u1C60\u1C77\u1C5A\u1C71 {{count}} \u1C6A\u1C77\u1C69\u1C74\u1C5F\u1C79 \u1C75\u1C5F\u1C6A\u1C77\u1C5F\u1C63",
@@ -6359,6 +6400,8 @@ var translation_default21 = {
6359
6400
  grievanceTypes: "\u0634\u06AA\u0627\u064A\u062A \u0642\u0633\u0645\u0646",
6360
6401
  close: "\u0628\u0646\u062F \u06AA\u0631\u064A\u0648",
6361
6402
  noData: "\u068A\u064A\u067D\u0627 \u06AA\u0627\u0646\u0647\u064A",
6403
+ noDataTitle: "\u0627\u0683\u0627 \u068F\u064A\u06A9\u0627\u0631\u06BB \u0644\u0627\u0621\u0650 \u06AA\u062C\u0647\u0647 \u0646\u0627\u0647\u064A",
6404
+ noDataDescription: "\u0627\u0633\u0627\u0646 \u06A9\u064A \u0627\u0683\u0627 \u062A\u0627\u0626\u064A\u0646 \u062A\u0648\u0647\u0627\u0646 \u062C\u064A \u0627\u06AA\u0627\u0626\u0648\u0646\u067D \u0633\u0627\u0646 \u0644\u0627\u06B3\u0627\u067E\u064A\u0644 \u06AA\u0627\u0628\u0647 \u0631\u0636\u0627\u0645\u0646\u062F\u064A\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u064A\u0627 \u0633\u0631\u06AF\u0631\u0645\u064A \u0646\u0647 \u0645\u0644\u064A. \u062A\u0648\u0647\u0627\u0646 \u062C\u0627 \u0631\u0627\u0632\u062F\u0627\u0631\u064A \u0631\u06AA\u0627\u0631\u068A \u0645\u0648\u062C\u0648\u062F \u067F\u064A\u0646\u062F\u064A \u0626\u064A \u0647\u062A\u064A \u0638\u0627\u0647\u0631 \u067F\u064A\u0646\u062F\u0627.",
6362
6405
  rowsPerPage: "\u0635\u0641\u062D\u064A \u0641\u064A \u0642\u0637\u0627\u0631\u0648\u0646:",
6363
6406
  pageOf: "\u0635\u0641\u062D\u0648 {{current}} / {{total}}",
6364
6407
  rowsSelected: "{{total}} \u0645\u0627\u0646 {{count}} \u0642\u0637\u0627\u0631 \u0686\u0648\u0646\u068A\u064A\u0644",
@@ -6670,6 +6713,8 @@ var translation_default22 = {
6670
6713
  grievanceTypes: "\u0BAE\u0BC1\u0BB1\u0BC8\u0BAF\u0BC0\u0B9F\u0BCD\u0B9F\u0BC1 \u0BB5\u0B95\u0BC8\u0B95\u0BB3\u0BCD",
6671
6714
  close: "\u0BAE\u0BC2\u0B9F\u0BC1",
6672
6715
  noData: "\u0BA4\u0BB0\u0BB5\u0BC1 \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
6716
+ noDataTitle: "\u0B87\u0BA9\u0BCD\u0BA9\u0BC1\u0BAE\u0BCD \u0B95\u0BBE\u0B9F\u0BCD\u0B9F \u0B8E\u0BA4\u0BC1\u0BB5\u0BC1\u0BAE\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8",
6717
+ noDataDescription: "\u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0B95\u0BA3\u0B95\u0BCD\u0B95\u0BC1\u0B9F\u0BA9\u0BCD \u0B87\u0BA3\u0BC8\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F \u0B92\u0BAA\u0BCD\u0BAA\u0BC1\u0BA4\u0BB2\u0BCD\u0B95\u0BB3\u0BCD, \u0B95\u0BCB\u0BB0\u0BBF\u0B95\u0BCD\u0B95\u0BC8\u0B95\u0BB3\u0BCD \u0B85\u0BB2\u0BCD\u0BB2\u0BA4\u0BC1 \u0B9A\u0BC6\u0BAF\u0BB2\u0BCD\u0BAA\u0BBE\u0B9F\u0BC1 \u0B8E\u0BA4\u0BC8\u0BAF\u0BC1\u0BAE\u0BCD \u0B87\u0BA9\u0BCD\u0BA9\u0BC1\u0BAE\u0BCD \u0B8E\u0B99\u0BCD\u0B95\u0BB3\u0BBE\u0BB2\u0BCD \u0B95\u0BA3\u0BCD\u0B9F\u0BB1\u0BBF\u0BAF \u0BAE\u0BC1\u0B9F\u0BBF\u0BAF\u0BB5\u0BBF\u0BB2\u0BCD\u0BB2\u0BC8. \u0B89\u0B99\u0BCD\u0B95\u0BB3\u0BCD \u0BA4\u0BA9\u0BBF\u0BAF\u0BC1\u0BB0\u0BBF\u0BAE\u0BC8 \u0BAA\u0BA4\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B95\u0BBF\u0B9F\u0BC8\u0B95\u0BCD\u0B95\u0BC1\u0BAE\u0BCD\u0BAA\u0BCB\u0BA4\u0BC1 \u0B85\u0BB5\u0BC8 \u0B87\u0B99\u0BCD\u0B95\u0BC7 \u0BA4\u0BCB\u0BA9\u0BCD\u0BB1\u0BC1\u0BAE\u0BCD.",
6673
6718
  rowsPerPage: "\u0BAA\u0B95\u0BCD\u0B95\u0BA4\u0BCD\u0BA4\u0BBF\u0BB1\u0BCD\u0B95\u0BC1 \u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0B95\u0BB3\u0BCD:",
6674
6719
  pageOf: "\u0BAA\u0B95\u0BCD\u0B95\u0BAE\u0BCD {{current}} / {{total}}",
6675
6720
  rowsSelected: "{{count}} / {{total}} \u0BB5\u0BB0\u0BBF\u0B9A\u0BC8\u0BA4\u0BCD \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1",
@@ -6981,6 +7026,8 @@ var translation_default23 = {
6981
7026
  grievanceTypes: "\u0C2B\u0C3F\u0C30\u0C4D\u0C2F\u0C3E\u0C26\u0C41 \u0C30\u0C15\u0C3E\u0C32\u0C41",
6982
7027
  close: "\u0C2E\u0C42\u0C38\u0C3F\u0C35\u0C47\u0C2F\u0C02\u0C21\u0C3F",
6983
7028
  noData: "\u0C21\u0C47\u0C1F\u0C3E \u0C32\u0C47\u0C26\u0C41",
7029
+ noDataTitle: "\u0C1A\u0C42\u0C2A\u0C3F\u0C02\u0C1A\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C07\u0C02\u0C15\u0C3E \u0C0F\u0C2E\u0C40 \u0C32\u0C47\u0C26\u0C41",
7030
+ noDataDescription: "\u0C2E\u0C40 \u0C16\u0C3E\u0C24\u0C3E\u0C15\u0C41 \u0C05\u0C28\u0C41\u0C38\u0C02\u0C27\u0C3E\u0C28\u0C3F\u0C02\u0C1A\u0C2C\u0C21\u0C3F\u0C28 \u0C0F \u0C38\u0C2E\u0C4D\u0C2E\u0C24\u0C41\u0C32\u0C41, \u0C05\u0C2D\u0C4D\u0C2F\u0C30\u0C4D\u0C25\u0C28\u0C32\u0C41 \u0C32\u0C47\u0C26\u0C3E \u0C15\u0C3E\u0C30\u0C4D\u0C2F\u0C3E\u0C1A\u0C30\u0C23 \u0C07\u0C02\u0C15\u0C3E \u0C2E\u0C3E\u0C15\u0C41 \u0C15\u0C28\u0C41\u0C17\u0C4A\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41. \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B\u0C15\u0C3F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C28 \u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24 \u0C2E\u0C40 \u0C17\u0C4B\u0C2A\u0C4D\u0C2F\u0C24\u0C3E \u0C30\u0C3F\u0C15\u0C3E\u0C30\u0C4D\u0C21\u0C41\u0C32\u0C41 \u0C07\u0C15\u0C4D\u0C15\u0C21 \u0C15\u0C28\u0C3F\u0C2A\u0C3F\u0C38\u0C4D\u0C24\u0C3E\u0C2F\u0C3F.",
6984
7031
  rowsPerPage: "\u0C2A\u0C47\u0C1C\u0C40\u0C15\u0C3F \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41:",
6985
7032
  pageOf: "\u0C2A\u0C47\u0C1C\u0C40 {{current}} / {{total}}",
6986
7033
  rowsSelected: "{{total}}\u0C32\u0C4B {{count}} \u0C35\u0C30\u0C41\u0C38 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C2C\u0C21\u0C3F\u0C02\u0C26\u0C3F",
@@ -7292,6 +7339,8 @@ var translation_default24 = {
7292
7339
  grievanceTypes: "\u0634\u06A9\u0627\u06CC\u062A \u06A9\u06CC \u0627\u0642\u0633\u0627\u0645",
7293
7340
  close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA",
7294
7341
  noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA",
7342
+ noDataTitle: "\u0627\u0628\u06BE\u06CC \u062F\u06A9\u06BE\u0627\u0646\u06D2 \u06A9\u06D2 \u0644\u06CC\u06D2 \u06A9\u0686\u06BE \u0646\u06C1\u06CC\u06BA",
7343
+ noDataDescription: "\u06C1\u0645\u06CC\u06BA \u0627\u0628\u06BE\u06CC \u062A\u06A9 \u0622\u067E \u06A9\u06D2 \u0627\u06A9\u0627\u0624\u0646\u0679 \u0633\u06D2 \u0645\u0646\u0633\u0644\u06A9 \u06A9\u0648\u0626\u06CC \u0631\u0636\u0627\u0645\u0646\u062F\u06CC\u060C \u062F\u0631\u062E\u0648\u0627\u0633\u062A \u06CC\u0627 \u0633\u0631\u06AF\u0631\u0645\u06CC \u0646\u06C1\u06CC\u06BA \u0645\u0644\u06CC\u06D4 \u0622\u067E \u06A9\u06D2 \u067E\u0631\u0627\u0626\u06CC\u0648\u06CC\u0633\u06CC \u0631\u06CC\u06A9\u0627\u0631\u0688 \u062F\u0633\u062A\u06CC\u0627\u0628 \u06C1\u0648\u062A\u06D2 \u06C1\u06CC \u06CC\u06C1\u0627\u06BA \u0638\u0627\u06C1\u0631 \u06C1\u0648 \u062C\u0627\u0626\u06CC\u06BA \u06AF\u06D2\u06D4",
7295
7344
  rowsPerPage: "\u0641\u06CC \u0635\u0641\u062D\u06C1 \u0642\u0637\u0627\u0631\u06CC\u06BA:",
7296
7345
  pageOf: "\u0635\u0641\u062D\u06C1 {{current}} / {{total}}",
7297
7346
  rowsSelected: "{{count}} \u0627\u0632 {{total}} \u0642\u0637\u0627\u0631 \u0645\u0646\u062A\u062E\u0628",
@@ -9327,24 +9376,16 @@ function useTheme() {
9327
9376
  return ctx;
9328
9377
  }
9329
9378
 
9330
- // src/RedactoPrivacyCenter/components/ConsentManager.tsx
9331
- import { useCallback as useCallback4, useEffect as useEffect3, useMemo as useMemo5, useRef, useState as useState6 } from "react";
9379
+ // src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx
9332
9380
  import {
9333
- Alert,
9334
- Animated as Animated2,
9335
- Easing,
9336
- Platform as Platform4,
9337
- RefreshControl,
9338
- ScrollView as ScrollView3,
9339
- Share,
9340
- StyleSheet as StyleSheet6,
9341
- Text as Text6,
9342
- TextInput,
9343
- TouchableOpacity as TouchableOpacity6,
9344
- View as View5
9345
- } from "react-native";
9346
- import { useTranslation as useTranslation2 } from "react-i18next";
9347
- import Svg5, { Path as Path5 } from "react-native-svg";
9381
+ createContext as createContext5,
9382
+ useCallback as useCallback4,
9383
+ useContext as useContext5,
9384
+ useEffect as useEffect2,
9385
+ useMemo as useMemo4,
9386
+ useRef,
9387
+ useState as useState4
9388
+ } from "react";
9348
9389
 
9349
9390
  // src/RedactoPrivacyCenter/lib/useCurrentLanguage.ts
9350
9391
  import { useSyncExternalStore, useCallback as useCallback3 } from "react";
@@ -9365,6 +9406,127 @@ function useCurrentLanguage() {
9365
9406
  return { currentLanguage, langParam };
9366
9407
  }
9367
9408
 
9409
+ // src/RedactoPrivacyCenter/context/DataAvailabilityContext.tsx
9410
+ import { jsx as jsx5 } from "react/jsx-runtime";
9411
+ var DataAvailabilityContext = createContext5(null);
9412
+ function isConsentsEmpty(v) {
9413
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
9414
+ return ((_b = (_a = v.status_summary) == null ? void 0 : _a.total_purposes) != null ? _b : 0) === 0 && ((_d = (_c = v.direct) == null ? void 0 : _c.length) != null ? _d : 0) === 0 && ((_f = (_e = v.nominated) == null ? void 0 : _e.length) != null ? _f : 0) === 0 && ((_h = (_g = v.nominators) == null ? void 0 : _g.length) != null ? _h : 0) === 0 && ((_j = (_i = v.data) == null ? void 0 : _i.length) != null ? _j : 0) === 0 && ((_l = (_k = v.product_purpose_groups) == null ? void 0 : _k.length) != null ? _l : 0) === 0 && ((_n = (_m = v.direct_product_groups) == null ? void 0 : _m.length) != null ? _n : 0) === 0 && ((_p = (_o = v.nominated_purposes) == null ? void 0 : _o.length) != null ? _p : 0) === 0;
9415
+ }
9416
+ function DataAvailabilityProvider({ children }) {
9417
+ const {
9418
+ accessToken,
9419
+ refreshToken,
9420
+ email,
9421
+ organizationId,
9422
+ workspaceId,
9423
+ onError,
9424
+ updateTokens
9425
+ } = useAuth();
9426
+ const { consentClient } = useBaseUrl();
9427
+ const { langParam } = useCurrentLanguage();
9428
+ const authContext = useMemo4(
9429
+ () => ({ accessToken, refreshToken, onError, updateTokens }),
9430
+ [accessToken, refreshToken, onError, updateTokens]
9431
+ );
9432
+ const [status, setStatus] = useState4("checking");
9433
+ const runIdRef = useRef(0);
9434
+ const mountedRef = useRef(true);
9435
+ useEffect2(() => {
9436
+ mountedRef.current = true;
9437
+ return () => {
9438
+ mountedRef.current = false;
9439
+ };
9440
+ }, []);
9441
+ const runCheck = useCallback4(async () => {
9442
+ if (!organizationId || !workspaceId) return;
9443
+ const runId = ++runIdRef.current;
9444
+ setStatus("checking");
9445
+ const contact = email;
9446
+ const consentsEmptyP = fetchUserConsents({
9447
+ organizationId,
9448
+ workspaceId,
9449
+ limit: 1,
9450
+ nominatedLimit: 1,
9451
+ language: langParam,
9452
+ authContext,
9453
+ consentClient
9454
+ }).then((v) => !!v && isConsentsEmpty(v)).catch(() => false);
9455
+ const casesEmptyP = contact ? fetchCaseHistory(
9456
+ organizationId,
9457
+ workspaceId,
9458
+ contact,
9459
+ 0,
9460
+ 1,
9461
+ authContext,
9462
+ consentClient,
9463
+ langParam
9464
+ ).then((v) => {
9465
+ var _a, _b;
9466
+ return !!v && ((_b = (_a = v.data) == null ? void 0 : _a.length) != null ? _b : 0) === 0;
9467
+ }).catch(() => false) : Promise.resolve(true);
9468
+ const activitiesEmptyP = fetchActivities(
9469
+ organizationId,
9470
+ workspaceId,
9471
+ 0,
9472
+ 1,
9473
+ authContext,
9474
+ consentClient,
9475
+ langParam
9476
+ ).then((v) => {
9477
+ var _a, _b;
9478
+ return !!v && ((_b = (_a = v.pagination) == null ? void 0 : _a.total_count) != null ? _b : 0) === 0;
9479
+ }).catch(() => false);
9480
+ const [consentsEmpty, casesEmpty, activitiesEmpty] = await Promise.all([
9481
+ consentsEmptyP,
9482
+ casesEmptyP,
9483
+ activitiesEmptyP
9484
+ ]);
9485
+ if (!mountedRef.current || runId !== runIdRef.current) return;
9486
+ setStatus(
9487
+ consentsEmpty && casesEmpty && activitiesEmpty ? "empty" : "has-data"
9488
+ );
9489
+ }, [organizationId, workspaceId, email, authContext, consentClient, langParam]);
9490
+ useEffect2(() => {
9491
+ if (organizationId && workspaceId && accessToken) {
9492
+ void runCheck();
9493
+ }
9494
+ }, [organizationId, workspaceId, accessToken, runCheck]);
9495
+ const value = useMemo4(
9496
+ () => ({ status }),
9497
+ [status]
9498
+ );
9499
+ return /* @__PURE__ */ jsx5(DataAvailabilityContext.Provider, { value, children });
9500
+ }
9501
+ function useDataAvailability() {
9502
+ const ctx = useContext5(DataAvailabilityContext);
9503
+ if (!ctx) {
9504
+ throw new Error(
9505
+ "useDataAvailability must be used within a DataAvailabilityProvider"
9506
+ );
9507
+ }
9508
+ return ctx;
9509
+ }
9510
+
9511
+ // src/RedactoPrivacyCenter/components/ConsentManager.tsx
9512
+ import { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo6, useRef as useRef2, useState as useState7 } from "react";
9513
+ import {
9514
+ Alert,
9515
+ Animated as Animated2,
9516
+ Easing,
9517
+ Platform as Platform4,
9518
+ RefreshControl,
9519
+ ScrollView as ScrollView3,
9520
+ Share,
9521
+ StyleSheet as StyleSheet6,
9522
+ Text as Text6,
9523
+ TextInput,
9524
+ TouchableOpacity as TouchableOpacity6,
9525
+ View as View5
9526
+ } from "react-native";
9527
+ import { useTranslation as useTranslation2 } from "react-i18next";
9528
+ import Svg5, { Path as Path5 } from "react-native-svg";
9529
+
9368
9530
  // src/RedactoPrivacyCenter/lib/consentManagerUtils.ts
9369
9531
  function purposeItemToUserConsent(purpose, group) {
9370
9532
  var _a, _b, _c, _d;
@@ -9451,7 +9613,7 @@ var ConsentStatusEnum = /* @__PURE__ */ ((ConsentStatusEnum2) => {
9451
9613
  })(ConsentStatusEnum || {});
9452
9614
 
9453
9615
  // src/RedactoPrivacyCenter/ui/PCSelect.tsx
9454
- import { useState as useState4 } from "react";
9616
+ import { useState as useState5 } from "react";
9455
9617
  import {
9456
9618
  Modal,
9457
9619
  Platform,
@@ -9463,7 +9625,7 @@ import {
9463
9625
  View
9464
9626
  } from "react-native";
9465
9627
  import Svg, { Path } from "react-native-svg";
9466
- import { jsx as jsx5, jsxs } from "react/jsx-runtime";
9628
+ import { jsx as jsx6, jsxs } from "react/jsx-runtime";
9467
9629
  var PCSelect = ({
9468
9630
  label,
9469
9631
  value,
@@ -9473,7 +9635,7 @@ var PCSelect = ({
9473
9635
  compact = false,
9474
9636
  style
9475
9637
  }) => {
9476
- const [open, setOpen] = useState4(false);
9638
+ const [open, setOpen] = useState5(false);
9477
9639
  const selected = options.find((o) => o.value === value);
9478
9640
  const { colors } = useTheme();
9479
9641
  const handleSelect = (val) => {
@@ -9481,7 +9643,7 @@ var PCSelect = ({
9481
9643
  setOpen(false);
9482
9644
  };
9483
9645
  return /* @__PURE__ */ jsxs(View, { style: [compact ? styles.containerCompact : styles.container, style], children: [
9484
- label ? /* @__PURE__ */ jsx5(Text, { style: styles.label, children: label }) : null,
9646
+ label ? /* @__PURE__ */ jsx6(Text, { style: styles.label, children: label }) : null,
9485
9647
  /* @__PURE__ */ jsxs(
9486
9648
  TouchableOpacity,
9487
9649
  {
@@ -9490,7 +9652,7 @@ var PCSelect = ({
9490
9652
  activeOpacity: 0.7,
9491
9653
  accessibilityRole: "button",
9492
9654
  children: [
9493
- /* @__PURE__ */ jsx5(
9655
+ /* @__PURE__ */ jsx6(
9494
9656
  Text,
9495
9657
  {
9496
9658
  style: [
@@ -9502,7 +9664,7 @@ var PCSelect = ({
9502
9664
  children: selected ? compact ? selected.value === "en" ? "EN" : selected.label.split("(")[0].trim().substring(0, 6) : selected.label : placeholder
9503
9665
  }
9504
9666
  ),
9505
- /* @__PURE__ */ jsx5(Svg, { width: compact ? 10 : 16, height: compact ? 10 : 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx5(
9667
+ /* @__PURE__ */ jsx6(Svg, { width: compact ? 10 : 16, height: compact ? 10 : 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx6(
9506
9668
  Path,
9507
9669
  {
9508
9670
  d: "M6 9l6 6 6-6",
@@ -9515,17 +9677,17 @@ var PCSelect = ({
9515
9677
  ]
9516
9678
  }
9517
9679
  ),
9518
- /* @__PURE__ */ jsx5(
9680
+ /* @__PURE__ */ jsx6(
9519
9681
  Modal,
9520
9682
  {
9521
9683
  visible: open,
9522
9684
  transparent: true,
9523
9685
  animationType: "fade",
9524
9686
  onRequestClose: () => setOpen(false),
9525
- children: /* @__PURE__ */ jsx5(Pressable, { style: styles.overlay, onPress: () => setOpen(false), children: /* @__PURE__ */ jsxs(View, { style: styles.dropdown, children: [
9687
+ children: /* @__PURE__ */ jsx6(Pressable, { style: styles.overlay, onPress: () => setOpen(false), children: /* @__PURE__ */ jsxs(View, { style: styles.dropdown, children: [
9526
9688
  /* @__PURE__ */ jsxs(View, { style: styles.dropdownHeader, children: [
9527
- /* @__PURE__ */ jsx5(Text, { style: styles.dropdownTitle, children: label || "Select" }),
9528
- /* @__PURE__ */ jsx5(TouchableOpacity, { onPress: () => setOpen(false), hitSlop: 8, children: /* @__PURE__ */ jsx5(Svg, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx5(
9689
+ /* @__PURE__ */ jsx6(Text, { style: styles.dropdownTitle, children: label || "Select" }),
9690
+ /* @__PURE__ */ jsx6(TouchableOpacity, { onPress: () => setOpen(false), hitSlop: 8, children: /* @__PURE__ */ jsx6(Svg, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx6(
9529
9691
  Path,
9530
9692
  {
9531
9693
  d: "M18 6L6 18M6 6l12 12",
@@ -9536,7 +9698,7 @@ var PCSelect = ({
9536
9698
  }
9537
9699
  ) }) })
9538
9700
  ] }),
9539
- /* @__PURE__ */ jsx5(ScrollView, { style: styles.optionsList, bounces: false, children: options.map((opt) => {
9701
+ /* @__PURE__ */ jsx6(ScrollView, { style: styles.optionsList, bounces: false, children: options.map((opt) => {
9540
9702
  const isSelected = opt.value === value;
9541
9703
  return /* @__PURE__ */ jsxs(
9542
9704
  TouchableOpacity,
@@ -9545,7 +9707,7 @@ var PCSelect = ({
9545
9707
  onPress: () => handleSelect(opt.value),
9546
9708
  activeOpacity: 0.6,
9547
9709
  children: [
9548
- /* @__PURE__ */ jsx5(
9710
+ /* @__PURE__ */ jsx6(
9549
9711
  Text,
9550
9712
  {
9551
9713
  style: [
@@ -9555,7 +9717,7 @@ var PCSelect = ({
9555
9717
  children: opt.label
9556
9718
  }
9557
9719
  ),
9558
- isSelected && /* @__PURE__ */ jsx5(Svg, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx5(
9720
+ isSelected && /* @__PURE__ */ jsx6(Svg, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx6(
9559
9721
  Path,
9560
9722
  {
9561
9723
  d: "M5 13l4 4L19 7",
@@ -9680,7 +9842,7 @@ var styles = StyleSheet.create({
9680
9842
  });
9681
9843
 
9682
9844
  // src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx
9683
- import { useEffect as useEffect2, useMemo as useMemo4, useState as useState5 } from "react";
9845
+ import { useEffect as useEffect3, useMemo as useMemo5, useState as useState6 } from "react";
9684
9846
  import {
9685
9847
  Animated,
9686
9848
  StyleSheet as StyleSheet5,
@@ -9699,7 +9861,7 @@ import {
9699
9861
  Text as Text2,
9700
9862
  TouchableOpacity as TouchableOpacity2
9701
9863
  } from "react-native";
9702
- import { jsx as jsx6 } from "react/jsx-runtime";
9864
+ import { jsx as jsx7 } from "react/jsx-runtime";
9703
9865
  var PCButton = ({
9704
9866
  onPress,
9705
9867
  title,
@@ -9710,7 +9872,7 @@ var PCButton = ({
9710
9872
  textStyle
9711
9873
  }) => {
9712
9874
  const isDisabled = disabled || loading;
9713
- return /* @__PURE__ */ jsx6(
9875
+ return /* @__PURE__ */ jsx7(
9714
9876
  TouchableOpacity2,
9715
9877
  {
9716
9878
  onPress,
@@ -9726,13 +9888,13 @@ var PCButton = ({
9726
9888
  ],
9727
9889
  accessibilityRole: "button",
9728
9890
  accessibilityState: { disabled: isDisabled },
9729
- children: loading ? /* @__PURE__ */ jsx6(
9891
+ children: loading ? /* @__PURE__ */ jsx7(
9730
9892
  ActivityIndicator,
9731
9893
  {
9732
9894
  size: "small",
9733
9895
  color: variant === "primary" ? "#ffffff" : "#4f87ff"
9734
9896
  }
9735
- ) : /* @__PURE__ */ jsx6(
9897
+ ) : /* @__PURE__ */ jsx7(
9736
9898
  Text2,
9737
9899
  {
9738
9900
  style: [
@@ -9805,7 +9967,7 @@ var styles2 = StyleSheet2.create({
9805
9967
  // src/RedactoPrivacyCenter/ui/PCCheckbox.tsx
9806
9968
  import { StyleSheet as StyleSheet3, Text as Text3, TouchableOpacity as TouchableOpacity3, View as View2 } from "react-native";
9807
9969
  import Svg2, { Path as Path2 } from "react-native-svg";
9808
- import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
9970
+ import { jsx as jsx8, jsxs as jsxs2 } from "react/jsx-runtime";
9809
9971
  var PCCheckbox = ({
9810
9972
  checked,
9811
9973
  onChange,
@@ -9822,7 +9984,7 @@ var PCCheckbox = ({
9822
9984
  accessibilityRole: "checkbox",
9823
9985
  accessibilityState: { checked, disabled },
9824
9986
  children: [
9825
- /* @__PURE__ */ jsx7(
9987
+ /* @__PURE__ */ jsx8(
9826
9988
  View2,
9827
9989
  {
9828
9990
  style: [
@@ -9830,7 +9992,7 @@ var PCCheckbox = ({
9830
9992
  checked ? styles3.boxChecked : styles3.boxUnchecked,
9831
9993
  disabled && styles3.disabled
9832
9994
  ],
9833
- children: checked && /* @__PURE__ */ jsx7(Svg2, { width: 12, height: 12, viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ jsx7(
9995
+ children: checked && /* @__PURE__ */ jsx8(Svg2, { width: 12, height: 12, viewBox: "0 0 10 10", fill: "none", children: /* @__PURE__ */ jsx8(
9834
9996
  Path2,
9835
9997
  {
9836
9998
  d: "M2.5 5L4.2 6.7L7.5 3.3",
@@ -9842,7 +10004,7 @@ var PCCheckbox = ({
9842
10004
  ) })
9843
10005
  }
9844
10006
  ),
9845
- label ? /* @__PURE__ */ jsx7(Text3, { style: [styles3.label, disabled && styles3.disabled], children: label }) : null
10007
+ label ? /* @__PURE__ */ jsx8(Text3, { style: [styles3.label, disabled && styles3.disabled], children: label }) : null
9846
10008
  ]
9847
10009
  }
9848
10010
  );
@@ -9892,7 +10054,7 @@ import {
9892
10054
  View as View3
9893
10055
  } from "react-native";
9894
10056
  import Svg3, { Path as Path3 } from "react-native-svg";
9895
- import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
10057
+ import { jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
9896
10058
  var widthForSize = {
9897
10059
  sm: "80%",
9898
10060
  md: "90%",
@@ -9905,14 +10067,14 @@ var PCModal = ({
9905
10067
  children,
9906
10068
  size = "md"
9907
10069
  }) => {
9908
- return /* @__PURE__ */ jsx8(
10070
+ return /* @__PURE__ */ jsx9(
9909
10071
  Modal2,
9910
10072
  {
9911
10073
  visible,
9912
10074
  transparent: true,
9913
10075
  animationType: "fade",
9914
10076
  onRequestClose: onClose,
9915
- children: /* @__PURE__ */ jsx8(Pressable2, { style: styles4.overlay, onPress: onClose, children: /* @__PURE__ */ jsx8(
10077
+ children: /* @__PURE__ */ jsx9(Pressable2, { style: styles4.overlay, onPress: onClose, children: /* @__PURE__ */ jsx9(
9916
10078
  KeyboardAvoidingView,
9917
10079
  {
9918
10080
  behavior: Platform3.OS === "ios" ? "padding" : "height",
@@ -9925,15 +10087,15 @@ var PCModal = ({
9925
10087
  },
9926
10088
  children: [
9927
10089
  /* @__PURE__ */ jsxs3(View3, { style: styles4.header, children: [
9928
- /* @__PURE__ */ jsx8(Text4, { style: styles4.title, numberOfLines: 1, children: title != null ? title : "" }),
9929
- /* @__PURE__ */ jsx8(
10090
+ /* @__PURE__ */ jsx9(Text4, { style: styles4.title, numberOfLines: 1, children: title != null ? title : "" }),
10091
+ /* @__PURE__ */ jsx9(
9930
10092
  TouchableOpacity4,
9931
10093
  {
9932
10094
  onPress: onClose,
9933
10095
  hitSlop: 8,
9934
10096
  accessibilityLabel: "Close",
9935
10097
  accessibilityRole: "button",
9936
- children: /* @__PURE__ */ jsx8(Svg3, { width: 22, height: 22, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx8(
10098
+ children: /* @__PURE__ */ jsx9(Svg3, { width: 22, height: 22, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx9(
9937
10099
  Path3,
9938
10100
  {
9939
10101
  d: "M18 6L6 18M6 6l12 12",
@@ -9946,7 +10108,7 @@ var PCModal = ({
9946
10108
  }
9947
10109
  )
9948
10110
  ] }),
9949
- /* @__PURE__ */ jsx8(
10111
+ /* @__PURE__ */ jsx9(
9950
10112
  ScrollView2,
9951
10113
  {
9952
10114
  style: styles4.body,
@@ -10022,7 +10184,7 @@ var styles4 = StyleSheet4.create({
10022
10184
  });
10023
10185
 
10024
10186
  // src/RedactoPrivacyCenter/components/ModifyConsentModal.tsx
10025
- import { Fragment, jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
10187
+ import { Fragment, jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
10026
10188
  var ModifyConsentModal = ({
10027
10189
  visible,
10028
10190
  onClose,
@@ -10032,12 +10194,12 @@ var ModifyConsentModal = ({
10032
10194
  }) => {
10033
10195
  const { t } = useTranslation();
10034
10196
  const { colors } = useTheme();
10035
- const [isAccordionOpen, setIsAccordionOpen] = useState5(false);
10036
- const [selectedDataElementUuids, setSelectedDataElementUuids] = useState5([]);
10037
- const chevronAnim = useState5(new Animated.Value(0))[0];
10197
+ const [isAccordionOpen, setIsAccordionOpen] = useState6(false);
10198
+ const [selectedDataElementUuids, setSelectedDataElementUuids] = useState6([]);
10199
+ const chevronAnim = useState6(new Animated.Value(0))[0];
10038
10200
  const nominatorInfo = selectedRecord == null ? void 0 : selectedRecord.nominator_info;
10039
10201
  const nominatorLabel = (nominatorInfo == null ? void 0 : nominatorInfo.name) || (nominatorInfo == null ? void 0 : nominatorInfo.email) || (nominatorInfo == null ? void 0 : nominatorInfo.org_user_id) || null;
10040
- const actionConfig = useMemo4(() => {
10202
+ const actionConfig = useMemo5(() => {
10041
10203
  if (!selectedRecord) return null;
10042
10204
  const status = selectedRecord.status;
10043
10205
  if (status === "ACTIVE" /* ACTIVE */) {
@@ -10070,27 +10232,27 @@ var ModifyConsentModal = ({
10070
10232
  return null;
10071
10233
  }, [selectedRecord, t, nominatorLabel, colors.error, colors.primary]);
10072
10234
  const isRegrantAction = (actionConfig == null ? void 0 : actionConfig.action) === "regrant";
10073
- const regrantEligibleDataElements = useMemo4(
10235
+ const regrantEligibleDataElements = useMemo5(
10074
10236
  () => ((selectedRecord == null ? void 0 : selectedRecord.data_elements) || []).filter(
10075
10237
  (el) => Boolean(el == null ? void 0 : el.uuid) && el.enabled
10076
10238
  ),
10077
10239
  [selectedRecord]
10078
10240
  );
10079
- const requiredDataElementUuidSet = useMemo4(
10241
+ const requiredDataElementUuidSet = useMemo5(
10080
10242
  () => new Set(regrantEligibleDataElements.filter((el) => el.required).map((el) => el.uuid)),
10081
10243
  [regrantEligibleDataElements]
10082
10244
  );
10083
- useEffect2(() => {
10245
+ useEffect3(() => {
10084
10246
  setIsAccordionOpen(Boolean(isRegrantAction));
10085
10247
  }, [isRegrantAction, selectedRecord]);
10086
- useEffect2(() => {
10248
+ useEffect3(() => {
10087
10249
  Animated.timing(chevronAnim, {
10088
10250
  toValue: isAccordionOpen ? 1 : 0,
10089
10251
  duration: 200,
10090
10252
  useNativeDriver: true
10091
10253
  }).start();
10092
10254
  }, [isAccordionOpen, chevronAnim]);
10093
- useEffect2(() => {
10255
+ useEffect3(() => {
10094
10256
  if (isRegrantAction) {
10095
10257
  setSelectedDataElementUuids(regrantEligibleDataElements.map((el) => el.uuid));
10096
10258
  } else {
@@ -10121,10 +10283,10 @@ var ModifyConsentModal = ({
10121
10283
  });
10122
10284
  const showSelectedFallback = !isRegrantAction && Array.isArray(selectedRecord == null ? void 0 : selectedRecord.data_elements) && ((selectedRecord == null ? void 0 : selectedRecord.data_elements) || []).filter((el) => el.selected).length > 0;
10123
10285
  const isConfirmDisabled = !(selectedRecord == null ? void 0 : selectedRecord.purpose_uuid) || isRegrantAction && selectedDataElementUuids.length === 0 || isLoading;
10124
- return /* @__PURE__ */ jsx9(PCModal, { visible, onClose, title: t("modifyConsent"), size: "lg", children: /* @__PURE__ */ jsxs4(View4, { children: [
10125
- selectedRecord && !actionConfig ? /* @__PURE__ */ jsx9(Text5, { style: [styles5.noActions, { color: colors.textSecondary }], children: t("noActionsAvailable") }) : null,
10286
+ return /* @__PURE__ */ jsx10(PCModal, { visible, onClose, title: t("modifyConsent"), size: "lg", children: /* @__PURE__ */ jsxs4(View4, { children: [
10287
+ selectedRecord && !actionConfig ? /* @__PURE__ */ jsx10(Text5, { style: [styles5.noActions, { color: colors.textSecondary }], children: t("noActionsAvailable") }) : null,
10126
10288
  selectedRecord && actionConfig ? /* @__PURE__ */ jsxs4(Fragment, { children: [
10127
- /* @__PURE__ */ jsx9(Text5, { style: [styles5.description, { color: colors.textSecondary }], children: actionConfig.description }),
10289
+ /* @__PURE__ */ jsx10(Text5, { style: [styles5.description, { color: colors.textSecondary }], children: actionConfig.description }),
10128
10290
  /* @__PURE__ */ jsxs4(
10129
10291
  View4,
10130
10292
  {
@@ -10141,8 +10303,8 @@ var ModifyConsentModal = ({
10141
10303
  activeOpacity: 0.7,
10142
10304
  children: [
10143
10305
  /* @__PURE__ */ jsxs4(View4, { style: styles5.accordionHeaderText, children: [
10144
- /* @__PURE__ */ jsx9(Text5, { style: [styles5.purposeName, { color: colors.text }], children: selectedRecord.purpose }),
10145
- selectedRecord.purpose_description ? /* @__PURE__ */ jsx9(
10306
+ /* @__PURE__ */ jsx10(Text5, { style: [styles5.purposeName, { color: colors.text }], children: selectedRecord.purpose }),
10307
+ selectedRecord.purpose_description ? /* @__PURE__ */ jsx10(
10146
10308
  Text5,
10147
10309
  {
10148
10310
  style: [styles5.purposeDescription, { color: colors.textSecondary }],
@@ -10150,7 +10312,7 @@ var ModifyConsentModal = ({
10150
10312
  }
10151
10313
  ) : null
10152
10314
  ] }),
10153
- /* @__PURE__ */ jsx9(Animated.View, { style: { transform: [{ rotate: chevronRotation }] }, children: /* @__PURE__ */ jsx9(Svg4, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx9(
10315
+ /* @__PURE__ */ jsx10(Animated.View, { style: { transform: [{ rotate: chevronRotation }] }, children: /* @__PURE__ */ jsx10(Svg4, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
10154
10316
  Path4,
10155
10317
  {
10156
10318
  d: "M6 9l6 6 6-6",
@@ -10163,7 +10325,7 @@ var ModifyConsentModal = ({
10163
10325
  ]
10164
10326
  }
10165
10327
  ),
10166
- isAccordionOpen ? /* @__PURE__ */ jsx9(
10328
+ isAccordionOpen ? /* @__PURE__ */ jsx10(
10167
10329
  View4,
10168
10330
  {
10169
10331
  style: [
@@ -10174,12 +10336,12 @@ var ModifyConsentModal = ({
10174
10336
  }
10175
10337
  ],
10176
10338
  children: isRegrantAction && regrantEligibleDataElements.length > 0 ? /* @__PURE__ */ jsxs4(View4, { children: [
10177
- /* @__PURE__ */ jsx9(Text5, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("selectDataElementsForRegrant") }),
10178
- /* @__PURE__ */ jsx9(View4, { style: styles5.checkboxList, children: regrantEligibleDataElements.map((element) => {
10339
+ /* @__PURE__ */ jsx10(Text5, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("selectDataElementsForRegrant") }),
10340
+ /* @__PURE__ */ jsx10(View4, { style: styles5.checkboxList, children: regrantEligibleDataElements.map((element) => {
10179
10341
  const isRequired = requiredDataElementUuidSet.has(element.uuid);
10180
10342
  const isChecked = isRequired || selectedDataElementUuids.includes(element.uuid);
10181
10343
  const labelText = isRequired ? `${element.name} (${t("mandatory")})` : element.name;
10182
- return /* @__PURE__ */ jsx9(View4, { style: styles5.checkboxRow, children: /* @__PURE__ */ jsx9(
10344
+ return /* @__PURE__ */ jsx10(View4, { style: styles5.checkboxRow, children: /* @__PURE__ */ jsx10(
10183
10345
  PCCheckbox,
10184
10346
  {
10185
10347
  checked: isChecked,
@@ -10197,12 +10359,12 @@ var ModifyConsentModal = ({
10197
10359
  idx < arr.length - 1 && styles5.bulletRowSpacing
10198
10360
  ],
10199
10361
  children: [
10200
- /* @__PURE__ */ jsx9(View4, { style: [styles5.bulletDot, { backgroundColor: colors.primary }] }),
10201
- /* @__PURE__ */ jsx9(Text5, { style: [styles5.bulletText, { color: colors.text }], children: el.name })
10362
+ /* @__PURE__ */ jsx10(View4, { style: [styles5.bulletDot, { backgroundColor: colors.primary }] }),
10363
+ /* @__PURE__ */ jsx10(Text5, { style: [styles5.bulletText, { color: colors.text }], children: el.name })
10202
10364
  ]
10203
10365
  },
10204
10366
  el.uuid || idx
10205
- )) : /* @__PURE__ */ jsx9(Text5, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("noDataElementsAvailable") })
10367
+ )) : /* @__PURE__ */ jsx10(Text5, { style: [styles5.helperText, { color: colors.textSecondary }], children: t("noDataElementsAvailable") })
10206
10368
  }
10207
10369
  ) : null
10208
10370
  ]
@@ -10219,7 +10381,7 @@ var ModifyConsentModal = ({
10219
10381
  }
10220
10382
  ],
10221
10383
  children: [
10222
- /* @__PURE__ */ jsx9(Svg4, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx9(
10384
+ /* @__PURE__ */ jsx10(Svg4, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
10223
10385
  Path4,
10224
10386
  {
10225
10387
  d: "M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z",
@@ -10229,12 +10391,12 @@ var ModifyConsentModal = ({
10229
10391
  strokeLinejoin: "round"
10230
10392
  }
10231
10393
  ) }),
10232
- /* @__PURE__ */ jsx9(Text5, { style: [styles5.warningText, { color: colors.warning }], children: actionConfig.warningMessage })
10394
+ /* @__PURE__ */ jsx10(Text5, { style: [styles5.warningText, { color: colors.warning }], children: actionConfig.warningMessage })
10233
10395
  ]
10234
10396
  }
10235
10397
  ),
10236
10398
  /* @__PURE__ */ jsxs4(View4, { style: styles5.footer, children: [
10237
- /* @__PURE__ */ jsx9(
10399
+ /* @__PURE__ */ jsx10(
10238
10400
  PCButton,
10239
10401
  {
10240
10402
  title: t("cancel"),
@@ -10243,7 +10405,7 @@ var ModifyConsentModal = ({
10243
10405
  style: styles5.footerButton
10244
10406
  }
10245
10407
  ),
10246
- /* @__PURE__ */ jsx9(
10408
+ /* @__PURE__ */ jsx10(
10247
10409
  PCButton,
10248
10410
  {
10249
10411
  title: actionConfig.buttonLabel,
@@ -10353,7 +10515,7 @@ var styles5 = StyleSheet5.create({
10353
10515
  });
10354
10516
 
10355
10517
  // src/RedactoPrivacyCenter/components/ConsentManager.tsx
10356
- import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
10518
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
10357
10519
  var SEARCH_DEBOUNCE_DELAY = 400;
10358
10520
  var DEFAULT_PAGE = 1;
10359
10521
  var DEFAULT_PAGE_SIZE = 10;
@@ -10389,7 +10551,7 @@ function StatusBadge({ status }) {
10389
10551
  const { t } = useTranslation2();
10390
10552
  const { colors } = useTheme();
10391
10553
  const { fg, bg } = getStatusColors(status, colors);
10392
- return /* @__PURE__ */ jsx10(View5, { style: [badgeStyles.container, { backgroundColor: bg }], children: /* @__PURE__ */ jsx10(Text6, { style: [badgeStyles.text, { color: fg }], children: getStatusLabel(status, t) }) });
10554
+ return /* @__PURE__ */ jsx11(View5, { style: [badgeStyles.container, { backgroundColor: bg }], children: /* @__PURE__ */ jsx11(Text6, { style: [badgeStyles.text, { color: fg }], children: getStatusLabel(status, t) }) });
10393
10555
  }
10394
10556
  var badgeStyles = StyleSheet6.create({
10395
10557
  container: {
@@ -10405,7 +10567,7 @@ var badgeStyles = StyleSheet6.create({
10405
10567
  });
10406
10568
  function MethodIcon({ method, color }) {
10407
10569
  if (method === "MOBILE") {
10408
- return /* @__PURE__ */ jsx10(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
10570
+ return /* @__PURE__ */ jsx11(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx11(
10409
10571
  Path5,
10410
10572
  {
10411
10573
  d: "M5 4a2 2 0 012-2h10a2 2 0 012 2v16a2 2 0 01-2 2H7a2 2 0 01-2-2V4zM10 18h4",
@@ -10417,7 +10579,7 @@ function MethodIcon({ method, color }) {
10417
10579
  ) });
10418
10580
  }
10419
10581
  if (method === "WEB") {
10420
- return /* @__PURE__ */ jsx10(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
10582
+ return /* @__PURE__ */ jsx11(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx11(
10421
10583
  Path5,
10422
10584
  {
10423
10585
  d: "M2 6a2 2 0 012-2h16a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM7 21h10M12 17v4",
@@ -10434,13 +10596,13 @@ function SkeletonCard({ pulse }) {
10434
10596
  const { colors } = useTheme();
10435
10597
  const opacity = pulse.interpolate({ inputRange: [0, 1], outputRange: [0.4, 0.8] });
10436
10598
  return /* @__PURE__ */ jsxs5(View5, { style: [skeletonStyles.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
10437
- /* @__PURE__ */ jsx10(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineWide, { backgroundColor: colors.border, opacity }] }),
10438
- /* @__PURE__ */ jsx10(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineMid, { backgroundColor: colors.border, opacity }] }),
10599
+ /* @__PURE__ */ jsx11(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineWide, { backgroundColor: colors.border, opacity }] }),
10600
+ /* @__PURE__ */ jsx11(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineMid, { backgroundColor: colors.border, opacity }] }),
10439
10601
  /* @__PURE__ */ jsxs5(View5, { style: skeletonStyles.row, children: [
10440
- /* @__PURE__ */ jsx10(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] }),
10441
- /* @__PURE__ */ jsx10(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] })
10602
+ /* @__PURE__ */ jsx11(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] }),
10603
+ /* @__PURE__ */ jsx11(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineSmall, { backgroundColor: colors.border, opacity }] })
10442
10604
  ] }),
10443
- /* @__PURE__ */ jsx10(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineButton, { backgroundColor: colors.border, opacity }] })
10605
+ /* @__PURE__ */ jsx11(Animated2.View, { style: [skeletonStyles.line, skeletonStyles.lineButton, { backgroundColor: colors.border, opacity }] })
10444
10606
  ] });
10445
10607
  }
10446
10608
  var skeletonStyles = StyleSheet6.create({
@@ -10472,30 +10634,30 @@ function ConsentManager() {
10472
10634
  const { accessToken, refreshToken, email, organizationId, workspaceId, updateTokens, onError } = useAuth();
10473
10635
  const { consentClient } = useBaseUrl();
10474
10636
  const { langParam } = useCurrentLanguage();
10475
- const authContext = useMemo5(
10637
+ const authContext = useMemo6(
10476
10638
  () => ({ accessToken, refreshToken, onError, updateTokens }),
10477
10639
  [accessToken, refreshToken, onError, updateTokens]
10478
10640
  );
10479
10641
  const contact = email || "";
10480
- const [activeTab, setActiveTab] = useState6("direct");
10481
- const [consentDetail, setConsentDetail] = useState6(null);
10482
- const [consentData, setConsentData] = useState6([]);
10483
- const [totalCount, setTotalCount] = useState6(0);
10484
- const [productOptions, setProductOptions] = useState6([]);
10485
- const [searchQuery, setSearchQuery] = useState6("");
10486
- const [debouncedSearch, setDebouncedSearch] = useState6("");
10487
- const [statusFilter, setStatusFilter] = useState6(ALL_VALUE);
10488
- const [productFilter, setProductFilter] = useState6(ALL_VALUE);
10489
- const [currentPage, setCurrentPage] = useState6(DEFAULT_PAGE);
10490
- const [pageSize] = useState6(DEFAULT_PAGE_SIZE);
10491
- const [isLoading, setIsLoading] = useState6(true);
10492
- const [refreshing, setRefreshing] = useState6(false);
10493
- const [isModalOpen, setIsModalOpen] = useState6(false);
10494
- const [selectedRecord, setSelectedRecord] = useState6(null);
10495
- const [isManageLoading, setIsManageLoading] = useState6(false);
10496
- const [exportModalVisible, setExportModalVisible] = useState6(false);
10497
- const pulseAnim = useRef(new Animated2.Value(0)).current;
10498
- useEffect3(() => {
10642
+ const [activeTab, setActiveTab] = useState7("direct");
10643
+ const [consentDetail, setConsentDetail] = useState7(null);
10644
+ const [consentData, setConsentData] = useState7([]);
10645
+ const [totalCount, setTotalCount] = useState7(0);
10646
+ const [productOptions, setProductOptions] = useState7([]);
10647
+ const [searchQuery, setSearchQuery] = useState7("");
10648
+ const [debouncedSearch, setDebouncedSearch] = useState7("");
10649
+ const [statusFilter, setStatusFilter] = useState7(ALL_VALUE);
10650
+ const [productFilter, setProductFilter] = useState7(ALL_VALUE);
10651
+ const [currentPage, setCurrentPage] = useState7(DEFAULT_PAGE);
10652
+ const [pageSize] = useState7(DEFAULT_PAGE_SIZE);
10653
+ const [isLoading, setIsLoading] = useState7(true);
10654
+ const [refreshing, setRefreshing] = useState7(false);
10655
+ const [isModalOpen, setIsModalOpen] = useState7(false);
10656
+ const [selectedRecord, setSelectedRecord] = useState7(null);
10657
+ const [isManageLoading, setIsManageLoading] = useState7(false);
10658
+ const [exportModalVisible, setExportModalVisible] = useState7(false);
10659
+ const pulseAnim = useRef2(new Animated2.Value(0)).current;
10660
+ useEffect4(() => {
10499
10661
  if (!isLoading) return;
10500
10662
  const loop = Animated2.loop(
10501
10663
  Animated2.sequence([
@@ -10506,11 +10668,11 @@ function ConsentManager() {
10506
10668
  loop.start();
10507
10669
  return () => loop.stop();
10508
10670
  }, [isLoading, pulseAnim]);
10509
- useEffect3(() => {
10671
+ useEffect4(() => {
10510
10672
  const timer = setTimeout(() => setDebouncedSearch(searchQuery), SEARCH_DEBOUNCE_DELAY);
10511
10673
  return () => clearTimeout(timer);
10512
10674
  }, [searchQuery]);
10513
- const flattenProductGroups = useCallback4(
10675
+ const flattenProductGroups = useCallback5(
10514
10676
  (groups) => {
10515
10677
  if (!groups || groups.length === 0) return [];
10516
10678
  return groups.flatMap(
@@ -10527,7 +10689,7 @@ function ConsentManager() {
10527
10689
  },
10528
10690
  []
10529
10691
  );
10530
- const filterConsentRows = useCallback4(
10692
+ const filterConsentRows = useCallback5(
10531
10693
  (rows, search, statusValue, productUuid) => {
10532
10694
  const normalizedSearch = search.trim().toLowerCase();
10533
10695
  return rows.filter((row) => {
@@ -10540,7 +10702,7 @@ function ConsentManager() {
10540
10702
  },
10541
10703
  []
10542
10704
  );
10543
- const buildProductOptions = useCallback4(
10705
+ const buildProductOptions = useCallback5(
10544
10706
  (groups) => {
10545
10707
  if (!groups || groups.length === 0) return [];
10546
10708
  const map = /* @__PURE__ */ new Map();
@@ -10553,7 +10715,7 @@ function ConsentManager() {
10553
10715
  },
10554
10716
  []
10555
10717
  );
10556
- const fetchData = useCallback4(async () => {
10718
+ const fetchData = useCallback5(async () => {
10557
10719
  var _a2, _b2;
10558
10720
  if (!organizationId || !workspaceId) return;
10559
10721
  try {
@@ -10622,24 +10784,24 @@ function ConsentManager() {
10622
10784
  filterConsentRows,
10623
10785
  buildProductOptions
10624
10786
  ]);
10625
- useEffect3(() => {
10787
+ useEffect4(() => {
10626
10788
  setIsLoading(true);
10627
10789
  fetchData().finally(() => setIsLoading(false));
10628
10790
  }, [fetchData]);
10629
- const handleRefresh = useCallback4(async () => {
10791
+ const handleRefresh = useCallback5(async () => {
10630
10792
  setRefreshing(true);
10631
10793
  await fetchData();
10632
10794
  setRefreshing(false);
10633
10795
  }, [fetchData]);
10634
- const handleOpenModal = useCallback4((record) => {
10796
+ const handleOpenModal = useCallback5((record) => {
10635
10797
  setSelectedRecord(record);
10636
10798
  setIsModalOpen(true);
10637
10799
  }, []);
10638
- const handleCloseModal = useCallback4(() => {
10800
+ const handleCloseModal = useCallback5(() => {
10639
10801
  setIsModalOpen(false);
10640
10802
  setSelectedRecord(null);
10641
10803
  }, []);
10642
- const handleManageConsent = useCallback4(
10804
+ const handleManageConsent = useCallback5(
10643
10805
  async (purposeId, action, nominatorContact, dataElementUuids) => {
10644
10806
  if (!organizationId || !workspaceId || !contact) return;
10645
10807
  const errorTitleByAction = {
@@ -10719,7 +10881,7 @@ function ConsentManager() {
10719
10881
  },
10720
10882
  [organizationId, workspaceId, contact, authContext, consentClient, fetchData, handleCloseModal, t]
10721
10883
  );
10722
- const handleExport = useCallback4(async () => {
10884
+ const handleExport = useCallback5(async () => {
10723
10885
  if (consentData.length === 0) {
10724
10886
  setExportModalVisible(false);
10725
10887
  return;
@@ -10751,7 +10913,7 @@ function ConsentManager() {
10751
10913
  console.error("Export failed:", e);
10752
10914
  }
10753
10915
  }, [consentData, t]);
10754
- const statusOptions = useMemo5(
10916
+ const statusOptions = useMemo6(
10755
10917
  () => [
10756
10918
  { value: ALL_VALUE, label: t("all") },
10757
10919
  { value: "ACTIVE" /* ACTIVE */, label: t("statusActive") },
@@ -10761,7 +10923,7 @@ function ConsentManager() {
10761
10923
  ],
10762
10924
  [t]
10763
10925
  );
10764
- const productSelectOptions = useMemo5(
10926
+ const productSelectOptions = useMemo6(
10765
10927
  () => [{ value: ALL_VALUE, label: t("all") }, ...productOptions],
10766
10928
  [productOptions, t]
10767
10929
  );
@@ -10794,17 +10956,17 @@ function ConsentManager() {
10794
10956
  if (!hasInfo) return null;
10795
10957
  return /* @__PURE__ */ jsxs5(View5, { style: [styles6.visibilityStrip, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
10796
10958
  /* @__PURE__ */ jsxs5(View5, { style: { flex: 1 }, children: [
10797
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.visibilityTitle, { color: colors.text }], children: t("consentVisibility") }),
10959
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.visibilityTitle, { color: colors.text }], children: t("consentVisibility") }),
10798
10960
  nominatorLabels.length > 0 ? /* @__PURE__ */ jsxs5(Text6, { style: [styles6.visibilitySubtitle, { color: colors.textSecondary }], children: [
10799
10961
  t("managingConsentsFor"),
10800
10962
  " ",
10801
- /* @__PURE__ */ jsx10(Text6, { style: { fontWeight: "600", color: colors.text }, children: nominatorLabels.join(", ") })
10963
+ /* @__PURE__ */ jsx11(Text6, { style: { fontWeight: "600", color: colors.text }, children: nominatorLabels.join(", ") })
10802
10964
  ] }) : null
10803
10965
  ] }),
10804
- statusLabel ? /* @__PURE__ */ jsx10(View5, { style: [styles6.statusPill, { backgroundColor: statusBg }], children: /* @__PURE__ */ jsx10(Text6, { style: [styles6.statusPillText, { color: statusFg }], children: statusLabel }) }) : null
10966
+ statusLabel ? /* @__PURE__ */ jsx11(View5, { style: [styles6.statusPill, { backgroundColor: statusBg }], children: /* @__PURE__ */ jsx11(Text6, { style: [styles6.statusPillText, { color: statusFg }], children: statusLabel }) }) : null
10805
10967
  ] });
10806
10968
  };
10807
- const renderTabs = () => /* @__PURE__ */ jsx10(View5, { style: [styles6.tabsRow, { borderBottomColor: colors.border }], children: [
10969
+ const renderTabs = () => /* @__PURE__ */ jsx11(View5, { style: [styles6.tabsRow, { borderBottomColor: colors.border }], children: [
10808
10970
  { key: "direct", label: t("myConsents"), badge: directBadge },
10809
10971
  { key: "nominated", label: t("managing"), badge: nominatedBadge }
10810
10972
  ].map((tab) => {
@@ -10822,7 +10984,7 @@ function ConsentManager() {
10822
10984
  },
10823
10985
  activeOpacity: 0.7,
10824
10986
  children: [
10825
- /* @__PURE__ */ jsx10(
10987
+ /* @__PURE__ */ jsx11(
10826
10988
  Text6,
10827
10989
  {
10828
10990
  style: [
@@ -10832,7 +10994,7 @@ function ConsentManager() {
10832
10994
  children: tab.label
10833
10995
  }
10834
10996
  ),
10835
- /* @__PURE__ */ jsx10(View5, { style: [styles6.tabBadge, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsx10(Text6, { style: [styles6.tabBadgeText, { color: colors.textSecondary }], children: tab.badge }) })
10997
+ /* @__PURE__ */ jsx11(View5, { style: [styles6.tabBadge, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsx11(Text6, { style: [styles6.tabBadgeText, { color: colors.textSecondary }], children: tab.badge }) })
10836
10998
  ]
10837
10999
  },
10838
11000
  tab.key
@@ -10849,33 +11011,33 @@ function ConsentManager() {
10849
11011
  style: [styles6.card, { backgroundColor: colors.surface, borderColor: colors.border }],
10850
11012
  children: [
10851
11013
  /* @__PURE__ */ jsxs5(View5, { style: styles6.cardTopRow, children: [
10852
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.purposeName, { color: colors.text }], numberOfLines: 2, children: consent.purpose }),
10853
- /* @__PURE__ */ jsx10(StatusBadge, { status: consent.status })
11014
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.purposeName, { color: colors.text }], numberOfLines: 2, children: consent.purpose }),
11015
+ /* @__PURE__ */ jsx11(StatusBadge, { status: consent.status })
10854
11016
  ] }),
10855
- consent.purpose_description ? /* @__PURE__ */ jsx10(Text6, { style: [styles6.purposeDesc, { color: colors.textSecondary }], numberOfLines: 2, children: consent.purpose_description }) : null,
11017
+ consent.purpose_description ? /* @__PURE__ */ jsx11(Text6, { style: [styles6.purposeDesc, { color: colors.textSecondary }], numberOfLines: 2, children: consent.purpose_description }) : null,
10856
11018
  /* @__PURE__ */ jsxs5(View5, { style: styles6.metaGrid, children: [
10857
11019
  /* @__PURE__ */ jsxs5(View5, { style: styles6.metaCell, children: [
10858
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("product") }),
10859
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaValue, { color: colors.text }], numberOfLines: 1, children: consent.product_name || "-" })
11020
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("product") }),
11021
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaValue, { color: colors.text }], numberOfLines: 1, children: consent.product_name || "-" })
10860
11022
  ] }),
10861
11023
  /* @__PURE__ */ jsxs5(View5, { style: styles6.metaCell, children: [
10862
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("method") }),
11024
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("method") }),
10863
11025
  /* @__PURE__ */ jsxs5(View5, { style: styles6.methodRow, children: [
10864
- /* @__PURE__ */ jsx10(MethodIcon, { method: consent.method, color: colors.textSecondary }),
10865
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaValue, { color: colors.text }], children: consent.method || "-" })
11026
+ /* @__PURE__ */ jsx11(MethodIcon, { method: consent.method, color: colors.textSecondary }),
11027
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaValue, { color: colors.text }], children: consent.method || "-" })
10866
11028
  ] })
10867
11029
  ] }),
10868
11030
  /* @__PURE__ */ jsxs5(View5, { style: styles6.metaCell, children: [
10869
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("givenDate") }),
10870
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaValue, { color: colors.text }], children: givenDateText }),
10871
- givenRelative ? /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaSubvalue, { color: colors.textSecondary }], children: givenRelative }) : null
11031
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("givenDate") }),
11032
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaValue, { color: colors.text }], children: givenDateText }),
11033
+ givenRelative ? /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaSubvalue, { color: colors.textSecondary }], children: givenRelative }) : null
10872
11034
  ] }),
10873
11035
  /* @__PURE__ */ jsxs5(View5, { style: styles6.metaCell, children: [
10874
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("validTill") }),
10875
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.metaValue, { color: colors.text }], children: validTillText })
11036
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaLabel, { color: colors.textSecondary }], children: t("validTill") }),
11037
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.metaValue, { color: colors.text }], children: validTillText })
10876
11038
  ] })
10877
11039
  ] }),
10878
- /* @__PURE__ */ jsx10(View5, { style: [styles6.cardFooter, { borderTopColor: colors.border }], children: /* @__PURE__ */ jsx10(
11040
+ /* @__PURE__ */ jsx11(View5, { style: [styles6.cardFooter, { borderTopColor: colors.border }], children: /* @__PURE__ */ jsx11(
10879
11041
  TouchableOpacity6,
10880
11042
  {
10881
11043
  style: [
@@ -10888,7 +11050,7 @@ function ConsentManager() {
10888
11050
  onPress: () => handleOpenModal(consent),
10889
11051
  disabled: isDeclined,
10890
11052
  activeOpacity: 0.7,
10891
- children: /* @__PURE__ */ jsx10(
11053
+ children: /* @__PURE__ */ jsx11(
10892
11054
  Text6,
10893
11055
  {
10894
11056
  style: [
@@ -10906,8 +11068,8 @@ function ConsentManager() {
10906
11068
  );
10907
11069
  };
10908
11070
  const renderEmpty = () => /* @__PURE__ */ jsxs5(View5, { style: styles6.emptyContainer, children: [
10909
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.emptyTitle, { color: colors.text }], children: t("noData") || "No Data" }),
10910
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.emptyText, { color: colors.textSecondary }], children: searchQuery || statusFilter !== ALL_VALUE || productFilter !== ALL_VALUE ? t("noResultsForSearch") || "No consents match your current filters" : t("noConsentsYet") || "No consents to display yet" })
11071
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.emptyTitle, { color: colors.text }], children: t("noData") || "No Data" }),
11072
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.emptyText, { color: colors.textSecondary }], children: searchQuery || statusFilter !== ALL_VALUE || productFilter !== ALL_VALUE ? t("noResultsForSearch") || "No consents match your current filters" : t("noConsentsYet") || "No consents to display yet" })
10911
11073
  ] });
10912
11074
  return /* @__PURE__ */ jsxs5(View5, { style: [styles6.container, { backgroundColor: colors.background }], children: [
10913
11075
  /* @__PURE__ */ jsxs5(
@@ -10915,13 +11077,13 @@ function ConsentManager() {
10915
11077
  {
10916
11078
  contentContainerStyle: styles6.scrollContent,
10917
11079
  keyboardShouldPersistTaps: "handled",
10918
- refreshControl: /* @__PURE__ */ jsx10(RefreshControl, { refreshing, onRefresh: handleRefresh, tintColor: colors.primary }),
11080
+ refreshControl: /* @__PURE__ */ jsx11(RefreshControl, { refreshing, onRefresh: handleRefresh, tintColor: colors.primary }),
10919
11081
  children: [
10920
11082
  renderUserRelationshipStrip(),
10921
11083
  /* @__PURE__ */ jsxs5(View5, { style: [styles6.filtersCard, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
10922
11084
  renderTabs(),
10923
11085
  /* @__PURE__ */ jsxs5(View5, { style: [styles6.searchContainer, { borderColor: colors.border, backgroundColor: colors.background }], children: [
10924
- /* @__PURE__ */ jsx10(Svg5, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
11086
+ /* @__PURE__ */ jsx11(Svg5, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx11(
10925
11087
  Path5,
10926
11088
  {
10927
11089
  d: "M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4.35-4.35",
@@ -10931,7 +11093,7 @@ function ConsentManager() {
10931
11093
  strokeLinejoin: "round"
10932
11094
  }
10933
11095
  ) }),
10934
- /* @__PURE__ */ jsx10(
11096
+ /* @__PURE__ */ jsx11(
10935
11097
  TextInput,
10936
11098
  {
10937
11099
  style: [styles6.searchInput, { color: colors.text }],
@@ -10947,7 +11109,7 @@ function ConsentManager() {
10947
11109
  returnKeyType: "search"
10948
11110
  }
10949
11111
  ),
10950
- searchQuery.length > 0 ? /* @__PURE__ */ jsx10(
11112
+ searchQuery.length > 0 ? /* @__PURE__ */ jsx11(
10951
11113
  TouchableOpacity6,
10952
11114
  {
10953
11115
  onPress: () => {
@@ -10955,7 +11117,7 @@ function ConsentManager() {
10955
11117
  setCurrentPage(DEFAULT_PAGE);
10956
11118
  },
10957
11119
  hitSlop: 8,
10958
- children: /* @__PURE__ */ jsx10(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
11120
+ children: /* @__PURE__ */ jsx11(Svg5, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx11(
10959
11121
  Path5,
10960
11122
  {
10961
11123
  d: "M18 6L6 18M6 6l12 12",
@@ -10969,7 +11131,7 @@ function ConsentManager() {
10969
11131
  ) : null
10970
11132
  ] }),
10971
11133
  /* @__PURE__ */ jsxs5(View5, { style: styles6.filterRow, children: [
10972
- /* @__PURE__ */ jsx10(View5, { style: styles6.filterCol, children: /* @__PURE__ */ jsx10(
11134
+ /* @__PURE__ */ jsx11(View5, { style: styles6.filterCol, children: /* @__PURE__ */ jsx11(
10973
11135
  PCSelect,
10974
11136
  {
10975
11137
  value: statusFilter,
@@ -10981,7 +11143,7 @@ function ConsentManager() {
10981
11143
  placeholder: t("status")
10982
11144
  }
10983
11145
  ) }),
10984
- /* @__PURE__ */ jsx10(View5, { style: styles6.filterCol, children: /* @__PURE__ */ jsx10(
11146
+ /* @__PURE__ */ jsx11(View5, { style: styles6.filterCol, children: /* @__PURE__ */ jsx11(
10985
11147
  PCSelect,
10986
11148
  {
10987
11149
  value: productFilter,
@@ -11001,7 +11163,7 @@ function ConsentManager() {
11001
11163
  onPress: () => setExportModalVisible(true),
11002
11164
  activeOpacity: 0.7,
11003
11165
  children: [
11004
- /* @__PURE__ */ jsx10(Svg5, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx10(
11166
+ /* @__PURE__ */ jsx11(Svg5, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx11(
11005
11167
  Path5,
11006
11168
  {
11007
11169
  d: "M12 4v12m0-12l-5 5m5-5l5 5M4 20h16",
@@ -11011,14 +11173,14 @@ function ConsentManager() {
11011
11173
  strokeLinejoin: "round"
11012
11174
  }
11013
11175
  ) }),
11014
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.exportButtonText, { color: colors.text }], children: t("export") })
11176
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.exportButtonText, { color: colors.text }], children: t("export") })
11015
11177
  ]
11016
11178
  }
11017
11179
  )
11018
11180
  ] }),
11019
- isLoading ? /* @__PURE__ */ jsx10(View5, { style: styles6.list, children: Array.from({ length: SKELETON_ROW_COUNT }).map((_, i) => /* @__PURE__ */ jsx10(SkeletonCard, { pulse: pulseAnim }, i)) }) : consentData.length === 0 ? renderEmpty() : /* @__PURE__ */ jsx10(View5, { style: styles6.list, children: consentData.map((c, idx) => renderConsentCard(c, idx)) }),
11181
+ isLoading ? /* @__PURE__ */ jsx11(View5, { style: styles6.list, children: Array.from({ length: SKELETON_ROW_COUNT }).map((_, i) => /* @__PURE__ */ jsx11(SkeletonCard, { pulse: pulseAnim }, i)) }) : consentData.length === 0 ? renderEmpty() : /* @__PURE__ */ jsx11(View5, { style: styles6.list, children: consentData.map((c, idx) => renderConsentCard(c, idx)) }),
11020
11182
  !isLoading && consentData.length > 0 ? /* @__PURE__ */ jsxs5(View5, { style: styles6.paginationRow, children: [
11021
- /* @__PURE__ */ jsx10(
11183
+ /* @__PURE__ */ jsx11(
11022
11184
  TouchableOpacity6,
11023
11185
  {
11024
11186
  style: [
@@ -11028,11 +11190,11 @@ function ConsentManager() {
11028
11190
  disabled: !canPrev,
11029
11191
  onPress: () => setCurrentPage((p) => Math.max(1, p - 1)),
11030
11192
  activeOpacity: 0.7,
11031
- children: /* @__PURE__ */ jsx10(Text6, { style: [styles6.pageButtonText, { color: colors.text }], children: t("previous") || "Previous" })
11193
+ children: /* @__PURE__ */ jsx11(Text6, { style: [styles6.pageButtonText, { color: colors.text }], children: t("previous") || "Previous" })
11032
11194
  }
11033
11195
  ),
11034
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.pageInfo, { color: colors.textSecondary }], children: `${currentPage} / ${totalPages}` }),
11035
- /* @__PURE__ */ jsx10(
11196
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.pageInfo, { color: colors.textSecondary }], children: `${currentPage} / ${totalPages}` }),
11197
+ /* @__PURE__ */ jsx11(
11036
11198
  TouchableOpacity6,
11037
11199
  {
11038
11200
  style: [
@@ -11042,14 +11204,14 @@ function ConsentManager() {
11042
11204
  disabled: !canNext,
11043
11205
  onPress: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
11044
11206
  activeOpacity: 0.7,
11045
- children: /* @__PURE__ */ jsx10(Text6, { style: [styles6.pageButtonText, { color: colors.text }], children: t("next") || "Next" })
11207
+ children: /* @__PURE__ */ jsx11(Text6, { style: [styles6.pageButtonText, { color: colors.text }], children: t("next") || "Next" })
11046
11208
  }
11047
11209
  )
11048
11210
  ] }) : null
11049
11211
  ]
11050
11212
  }
11051
11213
  ),
11052
- /* @__PURE__ */ jsx10(
11214
+ /* @__PURE__ */ jsx11(
11053
11215
  ModifyConsentModal,
11054
11216
  {
11055
11217
  visible: isModalOpen,
@@ -11059,27 +11221,27 @@ function ConsentManager() {
11059
11221
  onManageConsent: handleManageConsent
11060
11222
  }
11061
11223
  ),
11062
- exportModalVisible ? /* @__PURE__ */ jsx10(View5, { style: styles6.exportModalOverlay, children: /* @__PURE__ */ jsxs5(View5, { style: [styles6.exportModalCard, { backgroundColor: colors.surface }], children: [
11063
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.exportModalTitle, { color: colors.text }], children: t("exportConsentData") }),
11064
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.exportModalSubtitle, { color: colors.textSecondary }], children: t("exportConsentDataSubtitle") }),
11065
- /* @__PURE__ */ jsx10(Text6, { style: [styles6.exportModalBody, { color: colors.textSecondary }], children: t("exportingIncludesFilters") }),
11224
+ exportModalVisible ? /* @__PURE__ */ jsx11(View5, { style: styles6.exportModalOverlay, children: /* @__PURE__ */ jsxs5(View5, { style: [styles6.exportModalCard, { backgroundColor: colors.surface }], children: [
11225
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.exportModalTitle, { color: colors.text }], children: t("exportConsentData") }),
11226
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.exportModalSubtitle, { color: colors.textSecondary }], children: t("exportConsentDataSubtitle") }),
11227
+ /* @__PURE__ */ jsx11(Text6, { style: [styles6.exportModalBody, { color: colors.textSecondary }], children: t("exportingIncludesFilters") }),
11066
11228
  /* @__PURE__ */ jsxs5(View5, { style: styles6.exportModalActions, children: [
11067
- /* @__PURE__ */ jsx10(
11229
+ /* @__PURE__ */ jsx11(
11068
11230
  TouchableOpacity6,
11069
11231
  {
11070
11232
  style: [styles6.exportCancelButton, { borderColor: colors.border }],
11071
11233
  onPress: () => setExportModalVisible(false),
11072
11234
  activeOpacity: 0.7,
11073
- children: /* @__PURE__ */ jsx10(Text6, { style: [styles6.exportCancelText, { color: colors.text }], children: t("cancel") })
11235
+ children: /* @__PURE__ */ jsx11(Text6, { style: [styles6.exportCancelText, { color: colors.text }], children: t("cancel") })
11074
11236
  }
11075
11237
  ),
11076
- /* @__PURE__ */ jsx10(
11238
+ /* @__PURE__ */ jsx11(
11077
11239
  TouchableOpacity6,
11078
11240
  {
11079
11241
  style: [styles6.exportConfirmButton, { backgroundColor: colors.primary }],
11080
11242
  onPress: handleExport,
11081
11243
  activeOpacity: 0.7,
11082
- children: /* @__PURE__ */ jsx10(Text6, { style: styles6.exportConfirmText, children: t("export") })
11244
+ children: /* @__PURE__ */ jsx11(Text6, { style: styles6.exportConfirmText, children: t("export") })
11083
11245
  }
11084
11246
  )
11085
11247
  ] })
@@ -11366,7 +11528,7 @@ var styles6 = StyleSheet6.create({
11366
11528
  });
11367
11529
 
11368
11530
  // src/RedactoPrivacyCenter/components/ActivitiesList.tsx
11369
- import { useState as useState7, useEffect as useEffect4, useCallback as useCallback5, useMemo as useMemo6 } from "react";
11531
+ import { useState as useState8, useEffect as useEffect5, useCallback as useCallback6, useMemo as useMemo7 } from "react";
11370
11532
  import {
11371
11533
  ActivityIndicator as ActivityIndicator2,
11372
11534
  FlatList,
@@ -11376,7 +11538,7 @@ import {
11376
11538
  View as View6
11377
11539
  } from "react-native";
11378
11540
  import { useTranslation as useTranslation3 } from "react-i18next";
11379
- import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
11541
+ import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
11380
11542
  var PAGE_SIZE = 15;
11381
11543
  var ACTIVITY_TYPE_COLORS = {
11382
11544
  consent_given: { bg: "rgba(16, 185, 129, 0.1)", text: "#10B981" },
@@ -11414,19 +11576,19 @@ function ActivitiesList() {
11414
11576
  const { accessToken, refreshToken, organizationId, workspaceId, updateTokens, onError } = useAuth();
11415
11577
  const { consentClient } = useBaseUrl();
11416
11578
  const { colors } = useTheme();
11417
- const authContext = useMemo6(() => ({
11579
+ const authContext = useMemo7(() => ({
11418
11580
  accessToken,
11419
11581
  refreshToken,
11420
11582
  onError,
11421
11583
  updateTokens
11422
11584
  }), [accessToken, refreshToken, onError, updateTokens]);
11423
- const [activities, setActivities] = useState7([]);
11424
- const [totalCount, setTotalCount] = useState7(0);
11425
- const [isLoading, setIsLoading] = useState7(true);
11426
- const [refreshing, setRefreshing] = useState7(false);
11427
- const [loadingMore, setLoadingMore] = useState7(false);
11428
- const [offset, setOffset] = useState7(0);
11429
- const fetchData = useCallback5(
11585
+ const [activities, setActivities] = useState8([]);
11586
+ const [totalCount, setTotalCount] = useState8(0);
11587
+ const [isLoading, setIsLoading] = useState8(true);
11588
+ const [refreshing, setRefreshing] = useState8(false);
11589
+ const [loadingMore, setLoadingMore] = useState8(false);
11590
+ const [offset, setOffset] = useState8(0);
11591
+ const fetchData = useCallback6(
11430
11592
  async (newOffset = 0, append = false) => {
11431
11593
  var _a, _b, _c;
11432
11594
  if (!organizationId || !workspaceId) return;
@@ -11460,23 +11622,23 @@ function ActivitiesList() {
11460
11622
  },
11461
11623
  [organizationId, workspaceId, authContext, consentClient]
11462
11624
  );
11463
- useEffect4(() => {
11625
+ useEffect5(() => {
11464
11626
  setIsLoading(true);
11465
11627
  fetchData(0).finally(() => setIsLoading(false));
11466
11628
  }, [fetchData]);
11467
- const handleRefresh = useCallback5(async () => {
11629
+ const handleRefresh = useCallback6(async () => {
11468
11630
  setRefreshing(true);
11469
11631
  await fetchData(0);
11470
11632
  setRefreshing(false);
11471
11633
  }, [fetchData]);
11472
- const handleLoadMore = useCallback5(async () => {
11634
+ const handleLoadMore = useCallback6(async () => {
11473
11635
  if (loadingMore || activities.length >= totalCount) return;
11474
11636
  setLoadingMore(true);
11475
11637
  const nextOffset = offset + PAGE_SIZE;
11476
11638
  await fetchData(nextOffset, true);
11477
11639
  setLoadingMore(false);
11478
11640
  }, [loadingMore, activities.length, totalCount, offset, fetchData]);
11479
- const renderItem = useCallback5(
11641
+ const renderItem = useCallback6(
11480
11642
  ({ item }) => {
11481
11643
  const typeColor = getActivityTypeColor(item.activity_type);
11482
11644
  const displayTitle = item.title_display || item.title || "";
@@ -11484,35 +11646,35 @@ function ActivitiesList() {
11484
11646
  const displayType = item.activity_type_display || item.activity_type || "";
11485
11647
  return /* @__PURE__ */ jsxs6(View6, { style: [styles7.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
11486
11648
  /* @__PURE__ */ jsxs6(View6, { style: styles7.cardTopRow, children: [
11487
- /* @__PURE__ */ jsx11(View6, { style: [styles7.typeBadge, { backgroundColor: typeColor.bg }], children: /* @__PURE__ */ jsx11(Text7, { style: [styles7.typeBadgeText, { color: typeColor.text }], children: displayType }) }),
11488
- /* @__PURE__ */ jsx11(Text7, { style: [styles7.timestamp, { color: colors.textSecondary }], children: formatTimestamp(item.timestamp) })
11649
+ /* @__PURE__ */ jsx12(View6, { style: [styles7.typeBadge, { backgroundColor: typeColor.bg }], children: /* @__PURE__ */ jsx12(Text7, { style: [styles7.typeBadgeText, { color: typeColor.text }], children: displayType }) }),
11650
+ /* @__PURE__ */ jsx12(Text7, { style: [styles7.timestamp, { color: colors.textSecondary }], children: formatTimestamp(item.timestamp) })
11489
11651
  ] }),
11490
- /* @__PURE__ */ jsx11(Text7, { style: [styles7.title, { color: colors.text }], numberOfLines: 2, children: displayTitle }),
11491
- displayDescription ? /* @__PURE__ */ jsx11(Text7, { style: [styles7.description, { color: colors.textSecondary }], numberOfLines: 3, children: truncate(displayDescription) }) : null,
11652
+ /* @__PURE__ */ jsx12(Text7, { style: [styles7.title, { color: colors.text }], numberOfLines: 2, children: displayTitle }),
11653
+ displayDescription ? /* @__PURE__ */ jsx12(Text7, { style: [styles7.description, { color: colors.textSecondary }], numberOfLines: 3, children: truncate(displayDescription) }) : null,
11492
11654
  item.case_id || item.status ? /* @__PURE__ */ jsxs6(View6, { style: styles7.metaRow, children: [
11493
11655
  item.case_id ? /* @__PURE__ */ jsxs6(Text7, { style: [styles7.caseId, { color: colors.textSecondary }], children: [
11494
11656
  t("caseID") || "Case ID",
11495
11657
  ": ",
11496
11658
  item.case_id
11497
11659
  ] }) : null,
11498
- item.status_display || item.status ? /* @__PURE__ */ jsx11(Text7, { style: [styles7.statusText, { color: colors.textSecondary }], children: item.status_display || item.status }) : null
11660
+ item.status_display || item.status ? /* @__PURE__ */ jsx12(Text7, { style: [styles7.statusText, { color: colors.textSecondary }], children: item.status_display || item.status }) : null
11499
11661
  ] }) : null
11500
11662
  ] });
11501
11663
  },
11502
11664
  [colors, t]
11503
11665
  );
11504
- const renderFooter = useCallback5(() => {
11666
+ const renderFooter = useCallback6(() => {
11505
11667
  if (!loadingMore) return null;
11506
- return /* @__PURE__ */ jsx11(View6, { style: styles7.footerLoader, children: /* @__PURE__ */ jsx11(ActivityIndicator2, { size: "small", color: colors.primary }) });
11668
+ return /* @__PURE__ */ jsx12(View6, { style: styles7.footerLoader, children: /* @__PURE__ */ jsx12(ActivityIndicator2, { size: "small", color: colors.primary }) });
11507
11669
  }, [loadingMore, colors]);
11508
- const renderEmpty = useCallback5(
11509
- () => /* @__PURE__ */ jsx11(View6, { style: styles7.emptyContainer, children: /* @__PURE__ */ jsx11(Text7, { style: [styles7.emptyText, { color: colors.textSecondary }], children: t("noData") || "No activities found" }) }),
11670
+ const renderEmpty = useCallback6(
11671
+ () => /* @__PURE__ */ jsx12(View6, { style: styles7.emptyContainer, children: /* @__PURE__ */ jsx12(Text7, { style: [styles7.emptyText, { color: colors.textSecondary }], children: t("noData") || "No activities found" }) }),
11510
11672
  [colors, t]
11511
11673
  );
11512
11674
  if (isLoading) {
11513
- return /* @__PURE__ */ jsx11(View6, { style: [styles7.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx11(ActivityIndicator2, { size: "large", color: colors.primary }) });
11675
+ return /* @__PURE__ */ jsx12(View6, { style: [styles7.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx12(ActivityIndicator2, { size: "large", color: colors.primary }) });
11514
11676
  }
11515
- return /* @__PURE__ */ jsx11(View6, { style: [styles7.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx11(
11677
+ return /* @__PURE__ */ jsx12(View6, { style: [styles7.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx12(
11516
11678
  FlatList,
11517
11679
  {
11518
11680
  data: activities,
@@ -11523,7 +11685,7 @@ function ActivitiesList() {
11523
11685
  contentContainerStyle: styles7.listContent,
11524
11686
  onEndReached: handleLoadMore,
11525
11687
  onEndReachedThreshold: 0.3,
11526
- refreshControl: /* @__PURE__ */ jsx11(
11688
+ refreshControl: /* @__PURE__ */ jsx12(
11527
11689
  RefreshControl2,
11528
11690
  {
11529
11691
  refreshing,
@@ -11611,7 +11773,7 @@ var styles7 = StyleSheet7.create({
11611
11773
  });
11612
11774
 
11613
11775
  // src/RedactoPrivacyCenter/components/ReceiptsList.tsx
11614
- import { useState as useState8, useEffect as useEffect5, useCallback as useCallback6, useMemo as useMemo7 } from "react";
11776
+ import { useState as useState9, useEffect as useEffect6, useCallback as useCallback7, useMemo as useMemo8 } from "react";
11615
11777
  import {
11616
11778
  ActivityIndicator as ActivityIndicator3,
11617
11779
  Alert as Alert3,
@@ -11628,11 +11790,25 @@ import Svg6, { Path as Path6 } from "react-native-svg";
11628
11790
 
11629
11791
  // src/RedactoPrivacyCenter/lib/receiptDownload.ts
11630
11792
  import { Alert as Alert2 } from "react-native";
11793
+ function loadExpoFileSystem() {
11794
+ try {
11795
+ return __require("expo-file-system/legacy");
11796
+ } catch {
11797
+ return __require("expo-file-system");
11798
+ }
11799
+ }
11800
+ function getBase64Encoding(FileSystem) {
11801
+ var _a;
11802
+ if (((_a = FileSystem.EncodingType) == null ? void 0 : _a.Base64) != null) {
11803
+ return FileSystem.EncodingType.Base64;
11804
+ }
11805
+ return "base64";
11806
+ }
11631
11807
  async function saveAndShareReceiptPdf(base64, fileName) {
11632
11808
  let FileSystem;
11633
11809
  let Sharing;
11634
11810
  try {
11635
- FileSystem = __require("expo-file-system");
11811
+ FileSystem = loadExpoFileSystem();
11636
11812
  Sharing = __require("expo-sharing");
11637
11813
  } catch {
11638
11814
  Alert2.alert(
@@ -11648,7 +11824,7 @@ async function saveAndShareReceiptPdf(base64, fileName) {
11648
11824
  }
11649
11825
  const fileUri = `${dir}${fileName}`;
11650
11826
  await FileSystem.writeAsStringAsync(fileUri, base64, {
11651
- encoding: FileSystem.EncodingType.Base64
11827
+ encoding: getBase64Encoding(FileSystem)
11652
11828
  });
11653
11829
  const canShare = typeof Sharing.isAvailableAsync === "function" ? await Sharing.isAvailableAsync() : true;
11654
11830
  if (canShare) {
@@ -11668,7 +11844,7 @@ async function saveAndShareReceiptPdf(base64, fileName) {
11668
11844
  }
11669
11845
 
11670
11846
  // src/RedactoPrivacyCenter/components/ReceiptsList.tsx
11671
- import { Fragment as Fragment2, jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
11847
+ import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
11672
11848
  var PAGE_SIZE2 = 10;
11673
11849
  var EVENT_COLORS = {
11674
11850
  GRANTED: { bg: "rgba(16, 185, 129, 0.1)", text: "#10B981" },
@@ -11792,29 +11968,29 @@ function ReceiptsList() {
11792
11968
  const { consentClient } = useBaseUrl();
11793
11969
  const { colors } = useTheme();
11794
11970
  const { langParam } = useCurrentLanguage();
11795
- const authContext = useMemo7(
11971
+ const authContext = useMemo8(
11796
11972
  () => ({ accessToken, refreshToken, onError, updateTokens }),
11797
11973
  [accessToken, refreshToken, onError, updateTokens]
11798
11974
  );
11799
- const [receipts, setReceipts] = useState8([]);
11800
- const [totalCount, setTotalCount] = useState8(0);
11801
- const [isLoading, setIsLoading] = useState8(true);
11802
- const [refreshing, setRefreshing] = useState8(false);
11803
- const [loadingMore, setLoadingMore] = useState8(false);
11804
- const [offset, setOffset] = useState8(0);
11805
- const [downloadingUuid, setDownloadingUuid] = useState8(null);
11806
- const [eventType, setEventType] = useState8("");
11807
- const [datePreset, setDatePreset] = useState8("");
11808
- const [customFrom, setCustomFrom] = useState8(null);
11809
- const [customTo, setCustomTo] = useState8(null);
11810
- const [iosPickerField, setIosPickerField] = useState8(null);
11811
- const [IosPickerComponent, setIosPickerComponent] = useState8(null);
11975
+ const [receipts, setReceipts] = useState9([]);
11976
+ const [totalCount, setTotalCount] = useState9(0);
11977
+ const [isLoading, setIsLoading] = useState9(true);
11978
+ const [refreshing, setRefreshing] = useState9(false);
11979
+ const [loadingMore, setLoadingMore] = useState9(false);
11980
+ const [offset, setOffset] = useState9(0);
11981
+ const [downloadingUuid, setDownloadingUuid] = useState9(null);
11982
+ const [eventType, setEventType] = useState9("");
11983
+ const [datePreset, setDatePreset] = useState9("");
11984
+ const [customFrom, setCustomFrom] = useState9(null);
11985
+ const [customTo, setCustomTo] = useState9(null);
11986
+ const [iosPickerField, setIosPickerField] = useState9(null);
11987
+ const [IosPickerComponent, setIosPickerComponent] = useState9(null);
11812
11988
  const hasActiveFilters = Boolean(eventType || datePreset);
11813
- const isCustomRangeInvalid = useMemo7(
11989
+ const isCustomRangeInvalid = useMemo8(
11814
11990
  () => datePreset === "custom" && Boolean(customFrom && customTo && customFrom.getTime() > customTo.getTime()),
11815
11991
  [datePreset, customFrom, customTo]
11816
11992
  );
11817
- const eventTypeOptions = useMemo7(
11993
+ const eventTypeOptions = useMemo8(
11818
11994
  () => [
11819
11995
  { value: "", label: t("all") },
11820
11996
  { value: "GRANTED", label: t("consentGranted") },
@@ -11824,7 +12000,7 @@ function ReceiptsList() {
11824
12000
  ],
11825
12001
  [t]
11826
12002
  );
11827
- const dateOptions = useMemo7(
12003
+ const dateOptions = useMemo8(
11828
12004
  () => [
11829
12005
  { value: "", label: t("allTime") },
11830
12006
  { value: "1", label: t("today") },
@@ -11835,7 +12011,7 @@ function ReceiptsList() {
11835
12011
  ],
11836
12012
  [t]
11837
12013
  );
11838
- const fetchData = useCallback6(
12014
+ const fetchData = useCallback7(
11839
12015
  async (newOffset = 0, append = false) => {
11840
12016
  if (!organizationId || !workspaceId) return;
11841
12017
  if (isCustomRangeInvalid) return;
@@ -11890,24 +12066,24 @@ function ReceiptsList() {
11890
12066
  langParam
11891
12067
  ]
11892
12068
  );
11893
- useEffect5(() => {
12069
+ useEffect6(() => {
11894
12070
  setIsLoading(true);
11895
12071
  setOffset(0);
11896
12072
  fetchData(0).finally(() => setIsLoading(false));
11897
12073
  }, [fetchData]);
11898
- const handleRefresh = useCallback6(async () => {
12074
+ const handleRefresh = useCallback7(async () => {
11899
12075
  setRefreshing(true);
11900
12076
  await fetchData(0);
11901
12077
  setRefreshing(false);
11902
12078
  }, [fetchData]);
11903
- const handleLoadMore = useCallback6(async () => {
12079
+ const handleLoadMore = useCallback7(async () => {
11904
12080
  if (loadingMore || receipts.length >= totalCount) return;
11905
12081
  setLoadingMore(true);
11906
12082
  const nextOffset = offset + PAGE_SIZE2;
11907
12083
  await fetchData(nextOffset, true);
11908
12084
  setLoadingMore(false);
11909
12085
  }, [loadingMore, receipts.length, totalCount, offset, fetchData]);
11910
- const handleDownload = useCallback6(
12086
+ const handleDownload = useCallback7(
11911
12087
  async (receipt) => {
11912
12088
  if (!organizationId || !workspaceId || !receipt.uuid) return;
11913
12089
  setDownloadingUuid(receipt.uuid);
@@ -11930,23 +12106,23 @@ function ReceiptsList() {
11930
12106
  },
11931
12107
  [organizationId, workspaceId, authContext, consentClient, t]
11932
12108
  );
11933
- const handleEventChange = useCallback6((val) => {
12109
+ const handleEventChange = useCallback7((val) => {
11934
12110
  setEventType(val);
11935
12111
  }, []);
11936
- const handleDateChange = useCallback6((val) => {
12112
+ const handleDateChange = useCallback7((val) => {
11937
12113
  setDatePreset(val);
11938
12114
  if (val !== "custom") {
11939
12115
  setCustomFrom(null);
11940
12116
  setCustomTo(null);
11941
12117
  }
11942
12118
  }, []);
11943
- const handleClearFilters = useCallback6(() => {
12119
+ const handleClearFilters = useCallback7(() => {
11944
12120
  setEventType("");
11945
12121
  setDatePreset("");
11946
12122
  setCustomFrom(null);
11947
12123
  setCustomTo(null);
11948
12124
  }, []);
11949
- const openPicker = useCallback6(
12125
+ const openPicker = useCallback7(
11950
12126
  (field) => {
11951
12127
  const current = field === "from" ? customFrom : customTo;
11952
12128
  const onSelect = (d) => {
@@ -11963,7 +12139,7 @@ function ReceiptsList() {
11963
12139
  },
11964
12140
  [customFrom, customTo]
11965
12141
  );
11966
- const renderItem = useCallback6(
12142
+ const renderItem = useCallback7(
11967
12143
  ({ item }) => {
11968
12144
  var _a;
11969
12145
  const raw = String((_a = item.event_type) != null ? _a : "").toUpperCase();
@@ -11975,19 +12151,19 @@ function ReceiptsList() {
11975
12151
  return /* @__PURE__ */ jsxs7(View7, { style: [styles8.card, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
11976
12152
  /* @__PURE__ */ jsxs7(View7, { style: styles8.cardTopRow, children: [
11977
12153
  /* @__PURE__ */ jsxs7(View7, { style: [styles8.eventBadge, { backgroundColor: eventColor.bg }], children: [
11978
- /* @__PURE__ */ jsx12(View7, { style: [styles8.eventDot, { backgroundColor: eventColor.text }] }),
11979
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.eventBadgeText, { color: eventColor.text }], numberOfLines: 1, children: eventLabel })
12154
+ /* @__PURE__ */ jsx13(View7, { style: [styles8.eventDot, { backgroundColor: eventColor.text }] }),
12155
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.eventBadgeText, { color: eventColor.text }], numberOfLines: 1, children: eventLabel })
11980
12156
  ] }),
11981
12157
  /* @__PURE__ */ jsxs7(View7, { style: styles8.dateTimeCol, children: [
11982
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.dateText, { color: colors.text }], children: formatDate(item.created_at) }),
11983
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.timeText, { color: colors.textSecondary }], children: formatTime(item.created_at) })
12158
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.dateText, { color: colors.text }], children: formatDate(item.created_at) }),
12159
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.timeText, { color: colors.textSecondary }], children: formatTime(item.created_at) })
11984
12160
  ] })
11985
12161
  ] }),
11986
12162
  /* @__PURE__ */ jsxs7(View7, { style: styles8.productRow, children: [
11987
- /* @__PURE__ */ jsx12(View7, { style: [styles8.avatar, { backgroundColor: colors.background, borderColor: colors.border }], children: /* @__PURE__ */ jsx12(Text8, { style: [styles8.avatarText, { color: colors.textSecondary }], children: getProductInitials(productName) }) }),
11988
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.productName, { color: colors.text }], numberOfLines: 2, children: productName })
12163
+ /* @__PURE__ */ jsx13(View7, { style: [styles8.avatar, { backgroundColor: colors.background, borderColor: colors.border }], children: /* @__PURE__ */ jsx13(Text8, { style: [styles8.avatarText, { color: colors.textSecondary }], children: getProductInitials(productName) }) }),
12164
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.productName, { color: colors.text }], numberOfLines: 2, children: productName })
11989
12165
  ] }),
11990
- /* @__PURE__ */ jsx12(
12166
+ /* @__PURE__ */ jsx13(
11991
12167
  TouchableOpacity7,
11992
12168
  {
11993
12169
  style: [styles8.downloadBtn, { borderColor: colors.primary }, (isDownloading || !item.uuid) && styles8.downloadBtnDisabled],
@@ -11995,8 +12171,8 @@ function ReceiptsList() {
11995
12171
  disabled: isDownloading || !item.uuid,
11996
12172
  activeOpacity: 0.7,
11997
12173
  accessibilityRole: "button",
11998
- children: isDownloading ? /* @__PURE__ */ jsx12(ActivityIndicator3, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsxs7(Fragment2, { children: [
11999
- /* @__PURE__ */ jsx12(Svg6, { width: 15, height: 15, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx12(
12174
+ children: isDownloading ? /* @__PURE__ */ jsx13(ActivityIndicator3, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsxs7(Fragment2, { children: [
12175
+ /* @__PURE__ */ jsx13(Svg6, { width: 15, height: 15, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx13(
12000
12176
  Path6,
12001
12177
  {
12002
12178
  d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3",
@@ -12006,7 +12182,7 @@ function ReceiptsList() {
12006
12182
  strokeLinejoin: "round"
12007
12183
  }
12008
12184
  ) }),
12009
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.downloadText, { color: colors.primary }], children: t("download") || "Download" })
12185
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.downloadText, { color: colors.primary }], children: t("download") || "Download" })
12010
12186
  ] })
12011
12187
  }
12012
12188
  )
@@ -12014,12 +12190,12 @@ function ReceiptsList() {
12014
12190
  },
12015
12191
  [colors, t, downloadingUuid, handleDownload]
12016
12192
  );
12017
- const renderHeader = useCallback6(
12193
+ const renderHeader = useCallback7(
12018
12194
  () => /* @__PURE__ */ jsxs7(View7, { style: styles8.header, children: [
12019
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.title, { color: colors.text }], children: t("myReceipt") || "My Receipt" }),
12020
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.subtitle, { color: colors.textSecondary }], children: t("myReceiptSubtitle") || "" }),
12195
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.title, { color: colors.text }], children: t("myReceipt") || "My Receipt" }),
12196
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.subtitle, { color: colors.textSecondary }], children: t("myReceiptSubtitle") || "" }),
12021
12197
  /* @__PURE__ */ jsxs7(View7, { style: styles8.filtersRow, children: [
12022
- /* @__PURE__ */ jsx12(
12198
+ /* @__PURE__ */ jsx13(
12023
12199
  PCSelect,
12024
12200
  {
12025
12201
  label: t("event") || "Event",
@@ -12031,7 +12207,7 @@ function ReceiptsList() {
12031
12207
  style: styles8.filterControl
12032
12208
  }
12033
12209
  ),
12034
- /* @__PURE__ */ jsx12(
12210
+ /* @__PURE__ */ jsx13(
12035
12211
  PCSelect,
12036
12212
  {
12037
12213
  label: t("dateRange") || "Date range",
@@ -12052,8 +12228,8 @@ function ReceiptsList() {
12052
12228
  onPress: () => openPicker("from"),
12053
12229
  activeOpacity: 0.7,
12054
12230
  children: [
12055
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("from") || "From" }),
12056
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.dateFieldValue, { color: customFrom ? colors.text : colors.textSecondary }], children: customFrom ? formatDate(customFrom.toISOString()) : t("from") || "From" })
12231
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("from") || "From" }),
12232
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.dateFieldValue, { color: customFrom ? colors.text : colors.textSecondary }], children: customFrom ? formatDate(customFrom.toISOString()) : t("from") || "From" })
12057
12233
  ]
12058
12234
  }
12059
12235
  ),
@@ -12064,13 +12240,13 @@ function ReceiptsList() {
12064
12240
  onPress: () => openPicker("to"),
12065
12241
  activeOpacity: 0.7,
12066
12242
  children: [
12067
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("to") || "To" }),
12068
- /* @__PURE__ */ jsx12(Text8, { style: [styles8.dateFieldValue, { color: customTo ? colors.text : colors.textSecondary }], children: customTo ? formatDate(customTo.toISOString()) : t("to") || "To" })
12243
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.dateFieldLabel, { color: colors.textSecondary }], children: t("to") || "To" }),
12244
+ /* @__PURE__ */ jsx13(Text8, { style: [styles8.dateFieldValue, { color: customTo ? colors.text : colors.textSecondary }], children: customTo ? formatDate(customTo.toISOString()) : t("to") || "To" })
12069
12245
  ]
12070
12246
  }
12071
12247
  )
12072
12248
  ] }),
12073
- iosPickerField && IosPickerComponent ? /* @__PURE__ */ jsx12(
12249
+ iosPickerField && IosPickerComponent ? /* @__PURE__ */ jsx13(
12074
12250
  IosPickerComponent,
12075
12251
  {
12076
12252
  value: (iosPickerField === "from" ? customFrom : customTo) || /* @__PURE__ */ new Date(),
@@ -12088,7 +12264,7 @@ function ReceiptsList() {
12088
12264
  }
12089
12265
  }
12090
12266
  ) : null,
12091
- hasActiveFilters ? /* @__PURE__ */ jsx12(TouchableOpacity7, { onPress: handleClearFilters, style: styles8.clearFilters, activeOpacity: 0.7, children: /* @__PURE__ */ jsx12(Text8, { style: [styles8.clearFiltersText, { color: colors.primary }], children: t("clearFilters") || "Clear filters" }) }) : null
12267
+ hasActiveFilters ? /* @__PURE__ */ jsx13(TouchableOpacity7, { onPress: handleClearFilters, style: styles8.clearFilters, activeOpacity: 0.7, children: /* @__PURE__ */ jsx13(Text8, { style: [styles8.clearFiltersText, { color: colors.primary }], children: t("clearFilters") || "Clear filters" }) }) : null
12092
12268
  ] }),
12093
12269
  [
12094
12270
  colors,
@@ -12108,27 +12284,27 @@ function ReceiptsList() {
12108
12284
  openPicker
12109
12285
  ]
12110
12286
  );
12111
- const renderFooter = useCallback6(() => {
12287
+ const renderFooter = useCallback7(() => {
12112
12288
  if (!loadingMore) return null;
12113
- return /* @__PURE__ */ jsx12(View7, { style: styles8.footerLoader, children: /* @__PURE__ */ jsx12(ActivityIndicator3, { size: "small", color: colors.primary }) });
12289
+ return /* @__PURE__ */ jsx13(View7, { style: styles8.footerLoader, children: /* @__PURE__ */ jsx13(ActivityIndicator3, { size: "small", color: colors.primary }) });
12114
12290
  }, [loadingMore, colors]);
12115
- const renderEmpty = useCallback6(
12116
- () => /* @__PURE__ */ jsx12(View7, { style: styles8.emptyContainer, children: /* @__PURE__ */ jsx12(Text8, { style: [styles8.emptyText, { color: colors.textSecondary }], children: t("noData") || "No receipts found" }) }),
12291
+ const renderEmpty = useCallback7(
12292
+ () => /* @__PURE__ */ jsx13(View7, { style: styles8.emptyContainer, children: /* @__PURE__ */ jsx13(Text8, { style: [styles8.emptyText, { color: colors.textSecondary }], children: t("noData") || "No receipts found" }) }),
12117
12293
  [colors, t]
12118
12294
  );
12119
- return /* @__PURE__ */ jsx12(View7, { style: [styles8.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx12(
12295
+ return /* @__PURE__ */ jsx13(View7, { style: [styles8.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx13(
12120
12296
  FlatList2,
12121
12297
  {
12122
12298
  data: isLoading ? [] : receipts,
12123
12299
  renderItem,
12124
12300
  keyExtractor: (item, idx) => `${item.uuid || item.created_at}-${idx}`,
12125
12301
  ListHeaderComponent: renderHeader,
12126
- ListEmptyComponent: isLoading ? /* @__PURE__ */ jsx12(View7, { style: styles8.loaderContainer, children: /* @__PURE__ */ jsx12(ActivityIndicator3, { size: "large", color: colors.primary }) }) : renderEmpty,
12302
+ ListEmptyComponent: isLoading ? /* @__PURE__ */ jsx13(View7, { style: styles8.loaderContainer, children: /* @__PURE__ */ jsx13(ActivityIndicator3, { size: "large", color: colors.primary }) }) : renderEmpty,
12127
12303
  ListFooterComponent: renderFooter,
12128
12304
  contentContainerStyle: styles8.listContent,
12129
12305
  onEndReached: handleLoadMore,
12130
12306
  onEndReachedThreshold: 0.3,
12131
- refreshControl: /* @__PURE__ */ jsx12(
12307
+ refreshControl: /* @__PURE__ */ jsx13(
12132
12308
  RefreshControl3,
12133
12309
  {
12134
12310
  refreshing,
@@ -12300,13 +12476,13 @@ var styles8 = StyleSheet8.create({
12300
12476
  });
12301
12477
 
12302
12478
  // src/RedactoPrivacyCenter/components/FormPage.tsx
12303
- import { useState as useState11 } from "react";
12479
+ import { useState as useState12 } from "react";
12304
12480
  import { View as View13, Text as Text14, TouchableOpacity as TouchableOpacity10, StyleSheet as StyleSheet14 } from "react-native";
12305
12481
  import { useTranslation as useTranslation8 } from "react-i18next";
12306
12482
  import Svg8, { Path as Path8 } from "react-native-svg";
12307
12483
 
12308
12484
  // src/RedactoPrivacyCenter/components/Form.tsx
12309
- import { useState as useState9, useEffect as useEffect6, useCallback as useCallback7, useMemo as useMemo9 } from "react";
12485
+ import { useState as useState10, useEffect as useEffect7, useCallback as useCallback8, useMemo as useMemo10 } from "react";
12310
12486
  import {
12311
12487
  ActivityIndicator as ActivityIndicator4,
12312
12488
  Alert as Alert5,
@@ -12375,7 +12551,7 @@ var uploadFileWithS2S = async ({
12375
12551
 
12376
12552
  // src/RedactoPrivacyCenter/lib/constants.ts
12377
12553
  import { useTranslation as useTranslation5 } from "react-i18next";
12378
- import { useMemo as useMemo8 } from "react";
12554
+ import { useMemo as useMemo9 } from "react";
12379
12555
  var languageOptions = [
12380
12556
  { value: "en", label: "English" },
12381
12557
  { value: "hi", label: "\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)" },
@@ -12432,7 +12608,7 @@ var GRIEVANCE_TAB_IDS = {
12432
12608
  };
12433
12609
  function useGrievanceTabs() {
12434
12610
  const { t } = useTranslation5();
12435
- return useMemo8(() => [
12611
+ return useMemo9(() => [
12436
12612
  { id: GRIEVANCE_TAB_IDS.ALL, label: t("all") || "All" },
12437
12613
  { id: GRIEVANCE_TAB_IDS.PROCESSING, label: t("processing") || "Processing" },
12438
12614
  { id: GRIEVANCE_TAB_IDS.COMPLETED, label: t("completed") || "Completed" },
@@ -12441,7 +12617,7 @@ function useGrievanceTabs() {
12441
12617
  }
12442
12618
  function useRequestTypeLabels() {
12443
12619
  const { t } = useTranslation5();
12444
- return useMemo8(() => {
12620
+ return useMemo9(() => {
12445
12621
  const labels = {};
12446
12622
  const entries = [
12447
12623
  ["ACCESS" /* ACCESS */, t("access") || "Access"],
@@ -12501,7 +12677,7 @@ import {
12501
12677
  TextInput as TextInput2,
12502
12678
  View as View8
12503
12679
  } from "react-native";
12504
- import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
12680
+ import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
12505
12681
  var PCInput = ({
12506
12682
  label,
12507
12683
  value,
@@ -12515,8 +12691,8 @@ var PCInput = ({
12515
12691
  }) => {
12516
12692
  const { colors } = useTheme();
12517
12693
  return /* @__PURE__ */ jsxs8(View8, { style: styles9.container, children: [
12518
- label ? /* @__PURE__ */ jsx13(Text9, { style: [styles9.label, { color: colors.text }], children: label }) : null,
12519
- /* @__PURE__ */ jsx13(
12694
+ label ? /* @__PURE__ */ jsx14(Text9, { style: [styles9.label, { color: colors.text }], children: label }) : null,
12695
+ /* @__PURE__ */ jsx14(
12520
12696
  TextInput2,
12521
12697
  {
12522
12698
  style: [
@@ -12537,7 +12713,7 @@ var PCInput = ({
12537
12713
  textAlignVertical: multiline ? "top" : "center"
12538
12714
  }
12539
12715
  ),
12540
- error ? /* @__PURE__ */ jsx13(Text9, { style: [styles9.error, { color: colors.error }], children: error }) : null
12716
+ error ? /* @__PURE__ */ jsx14(Text9, { style: [styles9.error, { color: colors.error }], children: error }) : null
12541
12717
  ] });
12542
12718
  };
12543
12719
  var styles9 = StyleSheet9.create({
@@ -12567,39 +12743,39 @@ var styles9 = StyleSheet9.create({
12567
12743
  });
12568
12744
 
12569
12745
  // src/RedactoPrivacyCenter/components/Form.tsx
12570
- import { Fragment as Fragment3, jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
12746
+ import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
12571
12747
  function Form({ onCreateRequest }) {
12572
12748
  const { t } = useTranslation6();
12573
12749
  const { accessToken, refreshToken, email, organizationId, workspaceId, updateTokens, onError } = useAuth();
12574
12750
  const { consentClient, baseUrl } = useBaseUrl();
12575
12751
  const { colors } = useTheme();
12576
12752
  const requestTypeLabels = useRequestTypeLabels();
12577
- const authContext = useMemo9(
12753
+ const authContext = useMemo10(
12578
12754
  () => ({ accessToken, refreshToken, onError, updateTokens }),
12579
12755
  [accessToken, refreshToken, onError, updateTokens]
12580
12756
  );
12581
12757
  const contact = email || "";
12582
- const [formDataResponse, setFormDataResponse] = useState9(null);
12583
- const [isLoading, setIsLoading] = useState9(true);
12584
- const [isSubmitting, setIsSubmitting] = useState9(false);
12585
- const [requestType, setRequestType] = useState9("");
12586
- const [additionalNote, setAdditionalNote] = useState9("");
12587
- const [confirmChecked, setConfirmChecked] = useState9(false);
12588
- const [isRequestDetailsExpanded, setIsRequestDetailsExpanded] = useState9(true);
12589
- const [isSubmitted, setIsSubmitted] = useState9(false);
12590
- const [caseId, setCaseId] = useState9(null);
12591
- const [selectedPurposes, setSelectedPurposes] = useState9(/* @__PURE__ */ new Set());
12592
- const [selectedDataElements, setSelectedDataElements] = useState9(/* @__PURE__ */ new Map());
12593
- const [selectedCorrectionFields, setSelectedCorrectionFields] = useState9(/* @__PURE__ */ new Set());
12594
- const [correctionValues, setCorrectionValues] = useState9({});
12595
- const [selectedGrievances, setSelectedGrievances] = useState9({});
12596
- const [nominationData, setNominationData] = useState9({
12758
+ const [formDataResponse, setFormDataResponse] = useState10(null);
12759
+ const [isLoading, setIsLoading] = useState10(true);
12760
+ const [isSubmitting, setIsSubmitting] = useState10(false);
12761
+ const [requestType, setRequestType] = useState10("");
12762
+ const [additionalNote, setAdditionalNote] = useState10("");
12763
+ const [confirmChecked, setConfirmChecked] = useState10(false);
12764
+ const [isRequestDetailsExpanded, setIsRequestDetailsExpanded] = useState10(true);
12765
+ const [isSubmitted, setIsSubmitted] = useState10(false);
12766
+ const [caseId, setCaseId] = useState10(null);
12767
+ const [selectedPurposes, setSelectedPurposes] = useState10(/* @__PURE__ */ new Set());
12768
+ const [selectedDataElements, setSelectedDataElements] = useState10(/* @__PURE__ */ new Map());
12769
+ const [selectedCorrectionFields, setSelectedCorrectionFields] = useState10(/* @__PURE__ */ new Set());
12770
+ const [correctionValues, setCorrectionValues] = useState10({});
12771
+ const [selectedGrievances, setSelectedGrievances] = useState10({});
12772
+ const [nominationData, setNominationData] = useState10({
12597
12773
  nominee_email: "",
12598
12774
  nominee_mobile: ""
12599
12775
  });
12600
- const [uploadedDocs, setUploadedDocs] = useState9([]);
12601
- const [isUploading, setIsUploading] = useState9(false);
12602
- useEffect6(() => {
12776
+ const [uploadedDocs, setUploadedDocs] = useState10([]);
12777
+ const [isUploading, setIsUploading] = useState10(false);
12778
+ useEffect7(() => {
12603
12779
  if (!organizationId || !workspaceId || !contact) return;
12604
12780
  setIsLoading(true);
12605
12781
  getFormData(organizationId, workspaceId, contact, false, false, authContext, consentClient).then((data) => {
@@ -12608,11 +12784,11 @@ function Form({ onCreateRequest }) {
12608
12784
  console.warn("Error fetching form data:", error);
12609
12785
  }).finally(() => setIsLoading(false));
12610
12786
  }, [organizationId, workspaceId, contact, authContext, consentClient]);
12611
- const purposes = useMemo9(() => {
12787
+ const purposes = useMemo10(() => {
12612
12788
  if (!(formDataResponse == null ? void 0 : formDataResponse.purposes)) return [];
12613
12789
  return formDataResponse.purposes.map((pw) => pw.purpose).filter(Boolean);
12614
12790
  }, [formDataResponse]);
12615
- const uniqueDataElements = useMemo9(() => {
12791
+ const uniqueDataElements = useMemo10(() => {
12616
12792
  const map = /* @__PURE__ */ new Map();
12617
12793
  purposes.forEach((p) => {
12618
12794
  (p.data_elements || []).forEach((de) => {
@@ -12621,11 +12797,11 @@ function Form({ onCreateRequest }) {
12621
12797
  });
12622
12798
  return Array.from(map.values());
12623
12799
  }, [purposes]);
12624
- const grievanceOptions = useMemo9(
12800
+ const grievanceOptions = useMemo10(
12625
12801
  () => (formDataResponse == null ? void 0 : formDataResponse.grievance_options) || [],
12626
12802
  [formDataResponse]
12627
12803
  );
12628
- const togglePurpose = useCallback7(
12804
+ const togglePurpose = useCallback8(
12629
12805
  (purpose) => {
12630
12806
  const uuid = purpose.uuid;
12631
12807
  setSelectedPurposes((prev) => {
@@ -12648,7 +12824,7 @@ function Form({ onCreateRequest }) {
12648
12824
  },
12649
12825
  []
12650
12826
  );
12651
- const toggleDataElement = useCallback7(
12827
+ const toggleDataElement = useCallback8(
12652
12828
  (purpose, deUuid) => {
12653
12829
  const purposeUuid = purpose.uuid;
12654
12830
  setSelectedDataElements((prev) => {
@@ -12679,7 +12855,7 @@ function Form({ onCreateRequest }) {
12679
12855
  },
12680
12856
  []
12681
12857
  );
12682
- const toggleCorrectionField = useCallback7((uuid) => {
12858
+ const toggleCorrectionField = useCallback8((uuid) => {
12683
12859
  setSelectedCorrectionFields((prev) => {
12684
12860
  const next = new Set(prev);
12685
12861
  if (next.has(uuid)) next.delete(uuid);
@@ -12687,10 +12863,10 @@ function Form({ onCreateRequest }) {
12687
12863
  return next;
12688
12864
  });
12689
12865
  }, []);
12690
- const toggleGrievance = useCallback7((value) => {
12866
+ const toggleGrievance = useCallback8((value) => {
12691
12867
  setSelectedGrievances((prev) => ({ ...prev, [value]: !prev[value] }));
12692
12868
  }, []);
12693
- const isFormValid = useMemo9(() => {
12869
+ const isFormValid = useMemo10(() => {
12694
12870
  if (!requestType || !confirmChecked) return false;
12695
12871
  if (requestType === "ACCESS" /* ACCESS */ || requestType === "erasure" /* ERASURE */) {
12696
12872
  return selectedPurposes.size > 0;
@@ -12706,7 +12882,7 @@ function Form({ onCreateRequest }) {
12706
12882
  }
12707
12883
  return false;
12708
12884
  }, [requestType, confirmChecked, selectedPurposes, selectedCorrectionFields, selectedGrievances, nominationData]);
12709
- const handleUpload = useCallback7(async () => {
12885
+ const handleUpload = useCallback8(async () => {
12710
12886
  if (!organizationId || !workspaceId) return;
12711
12887
  try {
12712
12888
  const file = await pickFile();
@@ -12737,10 +12913,10 @@ function Form({ onCreateRequest }) {
12737
12913
  setIsUploading(false);
12738
12914
  }
12739
12915
  }, [organizationId, workspaceId, authContext, consentClient, baseUrl, t]);
12740
- const removeUploadedDoc = useCallback7((uuid) => {
12916
+ const removeUploadedDoc = useCallback8((uuid) => {
12741
12917
  setUploadedDocs((prev) => prev.filter((d) => d.uuid !== uuid));
12742
12918
  }, []);
12743
- const handleSubmit = useCallback7(async () => {
12919
+ const handleSubmit = useCallback8(async () => {
12744
12920
  var _a, _b, _c;
12745
12921
  if (!organizationId || !workspaceId || !contact || !requestType || !formDataResponse) return;
12746
12922
  setIsSubmitting(true);
@@ -12805,8 +12981,8 @@ function Form({ onCreateRequest }) {
12805
12981
  t
12806
12982
  ]);
12807
12983
  if (isSubmitted && caseId) {
12808
- return /* @__PURE__ */ jsx14(View9, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs9(ScrollView4, { contentContainerStyle: styles10.successContent, children: [
12809
- /* @__PURE__ */ jsx14(View9, { style: [styles10.successIconWrap, { backgroundColor: `${colors.success}20` }], children: /* @__PURE__ */ jsx14(Svg7, { width: 36, height: 36, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx14(
12984
+ return /* @__PURE__ */ jsx15(View9, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs9(ScrollView4, { contentContainerStyle: styles10.successContent, children: [
12985
+ /* @__PURE__ */ jsx15(View9, { style: [styles10.successIconWrap, { backgroundColor: `${colors.success}20` }], children: /* @__PURE__ */ jsx15(Svg7, { width: 36, height: 36, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx15(
12810
12986
  Path7,
12811
12987
  {
12812
12988
  d: "M20 6L9 17l-5-5",
@@ -12816,27 +12992,27 @@ function Form({ onCreateRequest }) {
12816
12992
  strokeLinejoin: "round"
12817
12993
  }
12818
12994
  ) }) }),
12819
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.successTitle, { color: colors.text }], children: t("requestSubmittedSuccessfully") || "Request Submitted Successfully" }),
12820
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.successSubtitle, { color: colors.textSecondary }], children: t("thankYouForSubmittingYourRequest") || "Thank you for submitting your request" }),
12995
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.successTitle, { color: colors.text }], children: t("requestSubmittedSuccessfully") || "Request Submitted Successfully" }),
12996
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.successSubtitle, { color: colors.textSecondary }], children: t("thankYouForSubmittingYourRequest") || "Thank you for submitting your request" }),
12821
12997
  /* @__PURE__ */ jsxs9(View9, { style: [styles10.caseIdBox, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
12822
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.caseIdLabel, { color: colors.textSecondary }], children: t("caseID") || "Case ID" }),
12823
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.caseIdValue, { color: colors.text }], children: caseId }),
12824
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.caseIdHint, { color: colors.textSecondary }], children: t("saveThisID") || "Please save this ID for future reference" })
12998
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.caseIdLabel, { color: colors.textSecondary }], children: t("caseID") || "Case ID" }),
12999
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.caseIdValue, { color: colors.text }], children: caseId }),
13000
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.caseIdHint, { color: colors.textSecondary }], children: t("saveThisID") || "Please save this ID for future reference" })
12825
13001
  ] }),
12826
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.processNote, { color: colors.textSecondary }], children: t("processRequest") || "We will process your request as per laws" }),
12827
- onCreateRequest ? /* @__PURE__ */ jsx14(
13002
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.processNote, { color: colors.textSecondary }], children: t("processRequest") || "We will process your request as per laws" }),
13003
+ onCreateRequest ? /* @__PURE__ */ jsx15(
12828
13004
  TouchableOpacity8,
12829
13005
  {
12830
13006
  style: [styles10.viewRequestsBtn, { backgroundColor: colors.primary }],
12831
13007
  onPress: onCreateRequest,
12832
13008
  activeOpacity: 0.7,
12833
- children: /* @__PURE__ */ jsx14(Text10, { style: [styles10.viewRequestsBtnText, { color: colors.primaryText }], children: t("viewMyRequests") || "View My Requests" })
13009
+ children: /* @__PURE__ */ jsx15(Text10, { style: [styles10.viewRequestsBtnText, { color: colors.primaryText }], children: t("viewMyRequests") || "View My Requests" })
12834
13010
  }
12835
13011
  ) : null
12836
13012
  ] }) });
12837
13013
  }
12838
13014
  if (isLoading) {
12839
- return /* @__PURE__ */ jsx14(View9, { style: [styles10.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx14(ActivityIndicator4, { size: "large", color: colors.primary }) });
13015
+ return /* @__PURE__ */ jsx15(View9, { style: [styles10.loaderContainer, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsx15(ActivityIndicator4, { size: "large", color: colors.primary }) });
12840
13016
  }
12841
13017
  const requestTypeOptions = [
12842
13018
  "ACCESS" /* ACCESS */,
@@ -12848,11 +13024,11 @@ function Form({ onCreateRequest }) {
12848
13024
  const renderRequestDetailsBody = () => {
12849
13025
  if (requestType === "ACCESS" /* ACCESS */ || requestType === "erasure" /* ERASURE */) {
12850
13026
  if (purposes.length === 0) {
12851
- return /* @__PURE__ */ jsx14(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No purposes available" });
13027
+ return /* @__PURE__ */ jsx15(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No purposes available" });
12852
13028
  }
12853
13029
  return /* @__PURE__ */ jsxs9(View9, { style: { gap: 8 }, children: [
12854
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: requestType === "ACCESS" /* ACCESS */ ? t("whatDataToAccess") : t("whatDataToDelete") }),
12855
- /* @__PURE__ */ jsx14(
13030
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: requestType === "ACCESS" /* ACCESS */ ? t("whatDataToAccess") : t("whatDataToDelete") }),
13031
+ /* @__PURE__ */ jsx15(
12856
13032
  Text10,
12857
13033
  {
12858
13034
  style: {
@@ -12882,7 +13058,7 @@ function Form({ onCreateRequest }) {
12882
13058
  onPress: () => togglePurpose(purpose),
12883
13059
  activeOpacity: 0.7,
12884
13060
  children: [
12885
- /* @__PURE__ */ jsx14(
13061
+ /* @__PURE__ */ jsx15(
12886
13062
  View9,
12887
13063
  {
12888
13064
  style: [
@@ -12890,18 +13066,18 @@ function Form({ onCreateRequest }) {
12890
13066
  { borderColor: colors.border },
12891
13067
  purposeSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
12892
13068
  ],
12893
- children: purposeSelected ? /* @__PURE__ */ jsx14(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
13069
+ children: purposeSelected ? /* @__PURE__ */ jsx15(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
12894
13070
  }
12895
13071
  ),
12896
13072
  /* @__PURE__ */ jsxs9(View9, { style: { flex: 1 }, children: [
12897
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.purposeName, { color: colors.text }], children: purpose.name }),
12898
- purpose.description ? /* @__PURE__ */ jsx14(Text10, { style: [styles10.purposeDesc, { color: colors.textSecondary }], numberOfLines: 3, children: purpose.description }) : null
13073
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.purposeName, { color: colors.text }], children: purpose.name }),
13074
+ purpose.description ? /* @__PURE__ */ jsx15(Text10, { style: [styles10.purposeDesc, { color: colors.textSecondary }], numberOfLines: 3, children: purpose.description }) : null
12899
13075
  ] })
12900
13076
  ]
12901
13077
  }
12902
13078
  ),
12903
13079
  purposeSelected && (((_a = purpose.data_elements) == null ? void 0 : _a.length) || 0) > 0 ? /* @__PURE__ */ jsxs9(View9, { style: styles10.dataElementsContainer, children: [
12904
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.dataElementsLabel, { color: colors.textSecondary }], children: t("dataCollected") }),
13080
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.dataElementsLabel, { color: colors.textSecondary }], children: t("dataCollected") }),
12905
13081
  purpose.data_elements.map((de) => {
12906
13082
  var _a2, _b;
12907
13083
  const deSelected = (_b = (_a2 = selectedDataElements.get(purpose.uuid)) == null ? void 0 : _a2.has(de.uuid)) != null ? _b : false;
@@ -12912,7 +13088,7 @@ function Form({ onCreateRequest }) {
12912
13088
  onPress: () => toggleDataElement(purpose, de.uuid),
12913
13089
  activeOpacity: 0.7,
12914
13090
  children: [
12915
- /* @__PURE__ */ jsx14(
13091
+ /* @__PURE__ */ jsx15(
12916
13092
  View9,
12917
13093
  {
12918
13094
  style: [
@@ -12920,10 +13096,10 @@ function Form({ onCreateRequest }) {
12920
13096
  { borderColor: colors.border },
12921
13097
  deSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
12922
13098
  ],
12923
- children: deSelected ? /* @__PURE__ */ jsx14(Text10, { style: styles10.checkmarkSmall, children: "\u2713" }) : null
13099
+ children: deSelected ? /* @__PURE__ */ jsx15(Text10, { style: styles10.checkmarkSmall, children: "\u2713" }) : null
12924
13100
  }
12925
13101
  ),
12926
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.dataElementName, { color: colors.text }], children: de.name })
13102
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.dataElementName, { color: colors.text }], children: de.name })
12927
13103
  ]
12928
13104
  },
12929
13105
  de.uuid
@@ -12939,10 +13115,10 @@ function Form({ onCreateRequest }) {
12939
13115
  }
12940
13116
  if (requestType === "CORRECTION" /* CORRECTION */) {
12941
13117
  if (uniqueDataElements.length === 0) {
12942
- return /* @__PURE__ */ jsx14(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No fields available" });
13118
+ return /* @__PURE__ */ jsx15(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No fields available" });
12943
13119
  }
12944
13120
  return /* @__PURE__ */ jsxs9(View9, { style: { gap: 8 }, children: [
12945
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectFieldsToUpdate") }),
13121
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectFieldsToUpdate") }),
12946
13122
  uniqueDataElements.map((de) => {
12947
13123
  var _a, _b;
12948
13124
  const isSelected = selectedCorrectionFields.has(de.uuid);
@@ -12954,7 +13130,7 @@ function Form({ onCreateRequest }) {
12954
13130
  onPress: () => toggleCorrectionField(de.uuid),
12955
13131
  activeOpacity: 0.7,
12956
13132
  children: [
12957
- /* @__PURE__ */ jsx14(
13133
+ /* @__PURE__ */ jsx15(
12958
13134
  View9,
12959
13135
  {
12960
13136
  style: [
@@ -12962,15 +13138,15 @@ function Form({ onCreateRequest }) {
12962
13138
  { borderColor: colors.border },
12963
13139
  isSelected && { backgroundColor: colors.primary, borderColor: colors.primary }
12964
13140
  ],
12965
- children: isSelected ? /* @__PURE__ */ jsx14(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
13141
+ children: isSelected ? /* @__PURE__ */ jsx15(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
12966
13142
  }
12967
13143
  ),
12968
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.purposeName, { color: colors.text }], children: de.name })
13144
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.purposeName, { color: colors.text }], children: de.name })
12969
13145
  ]
12970
13146
  }
12971
13147
  ),
12972
13148
  isSelected ? /* @__PURE__ */ jsxs9(View9, { style: styles10.correctionInputs, children: [
12973
- /* @__PURE__ */ jsx14(
13149
+ /* @__PURE__ */ jsx15(
12974
13150
  PCInput,
12975
13151
  {
12976
13152
  label: t("currentValue"),
@@ -12985,7 +13161,7 @@ function Form({ onCreateRequest }) {
12985
13161
  placeholder: t("currentValue")
12986
13162
  }
12987
13163
  ),
12988
- /* @__PURE__ */ jsx14(
13164
+ /* @__PURE__ */ jsx15(
12989
13165
  PCInput,
12990
13166
  {
12991
13167
  label: t("newValue"),
@@ -13007,10 +13183,10 @@ function Form({ onCreateRequest }) {
13007
13183
  }
13008
13184
  if (requestType === "grievance" /* GRIEVANCE */) {
13009
13185
  if (grievanceOptions.length === 0) {
13010
- return /* @__PURE__ */ jsx14(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No grievance types available" });
13186
+ return /* @__PURE__ */ jsx15(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("noPurposesAvailable") || "No grievance types available" });
13011
13187
  }
13012
13188
  return /* @__PURE__ */ jsxs9(View9, { style: { gap: 8 }, children: [
13013
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectGrievance") }),
13189
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("selectGrievance") }),
13014
13190
  grievanceOptions.map((option) => /* @__PURE__ */ jsxs9(
13015
13191
  TouchableOpacity8,
13016
13192
  {
@@ -13018,7 +13194,7 @@ function Form({ onCreateRequest }) {
13018
13194
  onPress: () => toggleGrievance(option.value),
13019
13195
  activeOpacity: 0.7,
13020
13196
  children: [
13021
- /* @__PURE__ */ jsx14(
13197
+ /* @__PURE__ */ jsx15(
13022
13198
  View9,
13023
13199
  {
13024
13200
  style: [
@@ -13026,10 +13202,10 @@ function Form({ onCreateRequest }) {
13026
13202
  { borderColor: colors.border },
13027
13203
  selectedGrievances[option.value] && { backgroundColor: colors.primary, borderColor: colors.primary }
13028
13204
  ],
13029
- children: selectedGrievances[option.value] ? /* @__PURE__ */ jsx14(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
13205
+ children: selectedGrievances[option.value] ? /* @__PURE__ */ jsx15(Text10, { style: styles10.checkmark, children: "\u2713" }) : null
13030
13206
  }
13031
13207
  ),
13032
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.purposeName, { color: colors.text }], children: option.label })
13208
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.purposeName, { color: colors.text }], children: option.label })
13033
13209
  ]
13034
13210
  },
13035
13211
  option.value
@@ -13038,8 +13214,8 @@ function Form({ onCreateRequest }) {
13038
13214
  }
13039
13215
  if (requestType === "nomination" /* NOMINATION */) {
13040
13216
  return /* @__PURE__ */ jsxs9(View9, { style: { gap: 8 }, children: [
13041
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("enterNomineeDetails") }),
13042
- /* @__PURE__ */ jsx14(
13217
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.sectionTitle, { color: colors.text }], children: t("enterNomineeDetails") }),
13218
+ /* @__PURE__ */ jsx15(
13043
13219
  PCInput,
13044
13220
  {
13045
13221
  label: t("nomineeEmail"),
@@ -13049,7 +13225,7 @@ function Form({ onCreateRequest }) {
13049
13225
  keyboardType: "email-address"
13050
13226
  }
13051
13227
  ),
13052
- /* @__PURE__ */ jsx14(
13228
+ /* @__PURE__ */ jsx15(
13053
13229
  PCInput,
13054
13230
  {
13055
13231
  label: t("nomineeMobile"),
@@ -13061,25 +13237,25 @@ function Form({ onCreateRequest }) {
13061
13237
  )
13062
13238
  ] });
13063
13239
  }
13064
- return /* @__PURE__ */ jsx14(View9, { style: styles10.placeholderBox, children: /* @__PURE__ */ jsx14(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("selectRequestType") }) });
13240
+ return /* @__PURE__ */ jsx15(View9, { style: styles10.placeholderBox, children: /* @__PURE__ */ jsx15(Text10, { style: [styles10.placeholder, { color: colors.textSecondary }], children: t("selectRequestType") }) });
13065
13241
  };
13066
- return /* @__PURE__ */ jsx14(View9, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs9(
13242
+ return /* @__PURE__ */ jsx15(View9, { style: [styles10.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs9(
13067
13243
  ScrollView4,
13068
13244
  {
13069
13245
  contentContainerStyle: styles10.scrollContent,
13070
13246
  keyboardShouldPersistTaps: "handled",
13071
13247
  children: [
13072
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.descriptionText, { color: colors.textSecondary }], children: t("description") }),
13248
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.descriptionText, { color: colors.textSecondary }], children: t("description") }),
13073
13249
  /* @__PURE__ */ jsxs9(View9, { style: [styles10.card, { borderColor: colors.border, backgroundColor: colors.background }], children: [
13074
- /* @__PURE__ */ jsx14(View9, { style: [styles10.cardHeader, { backgroundColor: colors.surface, borderBottomColor: colors.border }], children: /* @__PURE__ */ jsx14(Text10, { style: [styles10.cardHeaderText, { color: colors.text }], children: t("raiseDataRequest") }) }),
13250
+ /* @__PURE__ */ jsx15(View9, { style: [styles10.cardHeader, { backgroundColor: colors.surface, borderBottomColor: colors.border }], children: /* @__PURE__ */ jsx15(Text10, { style: [styles10.cardHeaderText, { color: colors.text }], children: t("raiseDataRequest") }) }),
13075
13251
  /* @__PURE__ */ jsxs9(View9, { style: styles10.cardBody, children: [
13076
13252
  /* @__PURE__ */ jsxs9(View9, { children: [
13077
13253
  /* @__PURE__ */ jsxs9(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: [
13078
13254
  t("contact"),
13079
13255
  " ",
13080
- /* @__PURE__ */ jsx14(Text10, { style: { color: colors.error }, children: "*" })
13256
+ /* @__PURE__ */ jsx15(Text10, { style: { color: colors.error }, children: "*" })
13081
13257
  ] }),
13082
- /* @__PURE__ */ jsx14(
13258
+ /* @__PURE__ */ jsx15(
13083
13259
  PCInput,
13084
13260
  {
13085
13261
  value: contact,
@@ -13094,9 +13270,9 @@ function Form({ onCreateRequest }) {
13094
13270
  /* @__PURE__ */ jsxs9(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: [
13095
13271
  t("requestType"),
13096
13272
  " ",
13097
- /* @__PURE__ */ jsx14(Text10, { style: { color: colors.error }, children: "*" })
13273
+ /* @__PURE__ */ jsx15(Text10, { style: { color: colors.error }, children: "*" })
13098
13274
  ] }),
13099
- /* @__PURE__ */ jsx14(
13275
+ /* @__PURE__ */ jsx15(
13100
13276
  PCSelect,
13101
13277
  {
13102
13278
  value: requestType,
@@ -13120,9 +13296,9 @@ function Form({ onCreateRequest }) {
13120
13296
  /* @__PURE__ */ jsxs9(Text10, { style: [styles10.detailsHeaderText, { color: colors.text }], children: [
13121
13297
  t("requestDetails"),
13122
13298
  " ",
13123
- /* @__PURE__ */ jsx14(Text10, { style: { color: colors.error }, children: "*" })
13299
+ /* @__PURE__ */ jsx15(Text10, { style: { color: colors.error }, children: "*" })
13124
13300
  ] }),
13125
- /* @__PURE__ */ jsx14(
13301
+ /* @__PURE__ */ jsx15(
13126
13302
  Svg7,
13127
13303
  {
13128
13304
  width: 18,
@@ -13130,7 +13306,7 @@ function Form({ onCreateRequest }) {
13130
13306
  viewBox: "0 0 24 24",
13131
13307
  fill: "none",
13132
13308
  style: { transform: [{ rotate: isRequestDetailsExpanded ? "0deg" : "-90deg" }] },
13133
- children: /* @__PURE__ */ jsx14(
13309
+ children: /* @__PURE__ */ jsx15(
13134
13310
  Path7,
13135
13311
  {
13136
13312
  d: "M6 9l6 6 6-6",
@@ -13145,17 +13321,17 @@ function Form({ onCreateRequest }) {
13145
13321
  ]
13146
13322
  }
13147
13323
  ),
13148
- isRequestDetailsExpanded ? /* @__PURE__ */ jsx14(View9, { style: styles10.detailsBody, children: renderRequestDetailsBody() }) : null
13324
+ isRequestDetailsExpanded ? /* @__PURE__ */ jsx15(View9, { style: styles10.detailsBody, children: renderRequestDetailsBody() }) : null
13149
13325
  ] }),
13150
13326
  /* @__PURE__ */ jsxs9(View9, { children: [
13151
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: t("supportingDocumentation") }),
13327
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: t("supportingDocumentation") }),
13152
13328
  /* @__PURE__ */ jsxs9(View9, { style: [styles10.uploadBox, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
13153
- uploadedDocs.length > 0 ? /* @__PURE__ */ jsx14(View9, { style: styles10.docsList, children: uploadedDocs.map((doc) => /* @__PURE__ */ jsxs9(
13329
+ uploadedDocs.length > 0 ? /* @__PURE__ */ jsx15(View9, { style: styles10.docsList, children: uploadedDocs.map((doc) => /* @__PURE__ */ jsxs9(
13154
13330
  View9,
13155
13331
  {
13156
13332
  style: [styles10.docPill, { borderColor: colors.border, backgroundColor: colors.background }],
13157
13333
  children: [
13158
- /* @__PURE__ */ jsx14(Svg7, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx14(
13334
+ /* @__PURE__ */ jsx15(Svg7, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx15(
13159
13335
  Path7,
13160
13336
  {
13161
13337
  d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6",
@@ -13165,14 +13341,14 @@ function Form({ onCreateRequest }) {
13165
13341
  strokeLinejoin: "round"
13166
13342
  }
13167
13343
  ) }),
13168
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.docName, { color: colors.text }], numberOfLines: 1, children: doc.name }),
13169
- /* @__PURE__ */ jsx14(
13344
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.docName, { color: colors.text }], numberOfLines: 1, children: doc.name }),
13345
+ /* @__PURE__ */ jsx15(
13170
13346
  TouchableOpacity8,
13171
13347
  {
13172
13348
  onPress: () => removeUploadedDoc(doc.uuid),
13173
13349
  hitSlop: 8,
13174
13350
  accessibilityLabel: t("cancel"),
13175
- children: /* @__PURE__ */ jsx14(Svg7, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx14(
13351
+ children: /* @__PURE__ */ jsx15(Svg7, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx15(
13176
13352
  Path7,
13177
13353
  {
13178
13354
  d: "M18 6L6 18M6 6l12 12",
@@ -13188,7 +13364,7 @@ function Form({ onCreateRequest }) {
13188
13364
  },
13189
13365
  doc.uuid
13190
13366
  )) }) : null,
13191
- /* @__PURE__ */ jsx14(
13367
+ /* @__PURE__ */ jsx15(
13192
13368
  TouchableOpacity8,
13193
13369
  {
13194
13370
  style: [
@@ -13202,8 +13378,8 @@ function Form({ onCreateRequest }) {
13202
13378
  onPress: handleUpload,
13203
13379
  disabled: isUploading,
13204
13380
  activeOpacity: 0.7,
13205
- children: isUploading ? /* @__PURE__ */ jsx14(ActivityIndicator4, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsxs9(Fragment3, { children: [
13206
- /* @__PURE__ */ jsx14(Svg7, { width: uploadedDocs.length > 0 ? 16 : 28, height: uploadedDocs.length > 0 ? 16 : 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx14(
13381
+ children: isUploading ? /* @__PURE__ */ jsx15(ActivityIndicator4, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsxs9(Fragment3, { children: [
13382
+ /* @__PURE__ */ jsx15(Svg7, { width: uploadedDocs.length > 0 ? 16 : 28, height: uploadedDocs.length > 0 ? 16 : 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx15(
13207
13383
  Path7,
13208
13384
  {
13209
13385
  d: "M12 16V4m0 0L7 9m5-5l5 5M4 20h16",
@@ -13213,15 +13389,15 @@ function Form({ onCreateRequest }) {
13213
13389
  strokeLinejoin: "round"
13214
13390
  }
13215
13391
  ) }),
13216
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.uploadText, { color: colors.textSecondary }], children: uploadedDocs.length > 0 ? t("uploadFileButton") || "Upload another file" : t("uploadFile") })
13392
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.uploadText, { color: colors.textSecondary }], children: uploadedDocs.length > 0 ? t("uploadFileButton") || "Upload another file" : t("uploadFile") })
13217
13393
  ] })
13218
13394
  }
13219
13395
  )
13220
13396
  ] })
13221
13397
  ] }),
13222
13398
  /* @__PURE__ */ jsxs9(View9, { children: [
13223
- /* @__PURE__ */ jsx14(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: t("additionalNote") }),
13224
- /* @__PURE__ */ jsx14(
13399
+ /* @__PURE__ */ jsx15(Text10, { style: [styles10.fieldLabel, { color: colors.text }], children: t("additionalNote") }),
13400
+ /* @__PURE__ */ jsx15(
13225
13401
  PCInput,
13226
13402
  {
13227
13403
  value: additionalNote,
@@ -13231,7 +13407,7 @@ function Form({ onCreateRequest }) {
13231
13407
  }
13232
13408
  )
13233
13409
  ] }),
13234
- /* @__PURE__ */ jsx14(View9, { style: styles10.confirmRow, children: /* @__PURE__ */ jsx14(
13410
+ /* @__PURE__ */ jsx15(View9, { style: styles10.confirmRow, children: /* @__PURE__ */ jsx15(
13235
13411
  PCCheckbox,
13236
13412
  {
13237
13413
  checked: confirmChecked,
@@ -13240,7 +13416,7 @@ function Form({ onCreateRequest }) {
13240
13416
  }
13241
13417
  ) }),
13242
13418
  /* @__PURE__ */ jsxs9(View9, { style: styles10.actionsRow, children: [
13243
- /* @__PURE__ */ jsx14(
13419
+ /* @__PURE__ */ jsx15(
13244
13420
  PCButton,
13245
13421
  {
13246
13422
  title: t("saveDraft"),
@@ -13251,7 +13427,7 @@ function Form({ onCreateRequest }) {
13251
13427
  style: styles10.actionButton
13252
13428
  }
13253
13429
  ),
13254
- /* @__PURE__ */ jsx14(
13430
+ /* @__PURE__ */ jsx15(
13255
13431
  PCButton,
13256
13432
  {
13257
13433
  title: t("submit"),
@@ -13541,7 +13717,7 @@ var styles10 = StyleSheet10.create({
13541
13717
  });
13542
13718
 
13543
13719
  // src/RedactoPrivacyCenter/components/CaseHistory.tsx
13544
- import { useState as useState10, useMemo as useMemo10, useCallback as useCallback8 } from "react";
13720
+ import { useState as useState11, useMemo as useMemo11, useCallback as useCallback9 } from "react";
13545
13721
  import {
13546
13722
  View as View12,
13547
13723
  Text as Text13,
@@ -13593,7 +13769,7 @@ var useCaseMessages = (organizationId, workspaceId, caseUuid, authContext, polli
13593
13769
 
13594
13770
  // src/RedactoPrivacyCenter/ui/PCBadge.tsx
13595
13771
  import { StyleSheet as StyleSheet11, Text as Text11, View as View10 } from "react-native";
13596
- import { jsx as jsx15 } from "react/jsx-runtime";
13772
+ import { jsx as jsx16 } from "react/jsx-runtime";
13597
13773
  var lightColors2 = {
13598
13774
  success: { bg: "#d1fae5", text: "#059669" },
13599
13775
  warning: { bg: "#fef3c7", text: "#92400e" },
@@ -13614,7 +13790,7 @@ var PCBadge = ({ status, label }) => {
13614
13790
  const { theme } = useTheme();
13615
13791
  const palette = theme === "dark" ? darkColors2 : lightColors2;
13616
13792
  const colors = palette[status] || palette.pending;
13617
- return /* @__PURE__ */ jsx15(View10, { style: [styles11.badge, { backgroundColor: colors.bg }], children: /* @__PURE__ */ jsx15(Text11, { style: [styles11.text, { color: colors.text }], children: label }) });
13793
+ return /* @__PURE__ */ jsx16(View10, { style: [styles11.badge, { backgroundColor: colors.bg }], children: /* @__PURE__ */ jsx16(Text11, { style: [styles11.text, { color: colors.text }], children: label }) });
13618
13794
  };
13619
13795
  var styles11 = StyleSheet11.create({
13620
13796
  badge: {
@@ -13631,12 +13807,12 @@ var styles11 = StyleSheet11.create({
13631
13807
 
13632
13808
  // src/RedactoPrivacyCenter/ui/PCEmpty.tsx
13633
13809
  import { StyleSheet as StyleSheet12, Text as Text12, View as View11 } from "react-native";
13634
- import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
13810
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
13635
13811
  var PCEmpty = ({ title, description, icon }) => {
13636
13812
  return /* @__PURE__ */ jsxs10(View11, { style: styles12.container, children: [
13637
- icon ? /* @__PURE__ */ jsx16(View11, { style: styles12.iconWrapper, children: icon }) : null,
13638
- /* @__PURE__ */ jsx16(Text12, { style: styles12.title, children: title }),
13639
- description ? /* @__PURE__ */ jsx16(Text12, { style: styles12.description, children: description }) : null
13813
+ icon ? /* @__PURE__ */ jsx17(View11, { style: styles12.iconWrapper, children: icon }) : null,
13814
+ /* @__PURE__ */ jsx17(Text12, { style: styles12.title, children: title }),
13815
+ description ? /* @__PURE__ */ jsx17(Text12, { style: styles12.description, children: description }) : null
13640
13816
  ] });
13641
13817
  };
13642
13818
  var styles12 = StyleSheet12.create({
@@ -13695,7 +13871,7 @@ function formatDate2(dateStr) {
13695
13871
  }
13696
13872
 
13697
13873
  // src/RedactoPrivacyCenter/components/CaseHistory.tsx
13698
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
13874
+ import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
13699
13875
  function CaseHistory({ onCreateRequest }) {
13700
13876
  const { t } = useTranslation7();
13701
13877
  const { navigateTo, setSelectedCase } = useInternalNavigation();
@@ -13703,9 +13879,9 @@ function CaseHistory({ onCreateRequest }) {
13703
13879
  const { colors } = useTheme();
13704
13880
  const grievanceTabs = useGrievanceTabs();
13705
13881
  const requestTypeLabels = useRequestTypeLabels();
13706
- const [activeTab, setActiveTab] = useState10(GRIEVANCE_TAB_IDS.ALL);
13707
- const [searchQuery, setSearchQuery] = useState10("");
13708
- const authContext = useMemo10(() => ({
13882
+ const [activeTab, setActiveTab] = useState11(GRIEVANCE_TAB_IDS.ALL);
13883
+ const [searchQuery, setSearchQuery] = useState11("");
13884
+ const authContext = useMemo11(() => ({
13709
13885
  accessToken,
13710
13886
  refreshToken,
13711
13887
  onError,
@@ -13717,7 +13893,7 @@ function CaseHistory({ onCreateRequest }) {
13717
13893
  email != null ? email : void 0,
13718
13894
  authContext
13719
13895
  );
13720
- const filteredCases = useMemo10(() => {
13896
+ const filteredCases = useMemo11(() => {
13721
13897
  return (cases || []).filter((item) => {
13722
13898
  var _a, _b, _c;
13723
13899
  const statusLower = item.status.toLowerCase();
@@ -13744,11 +13920,11 @@ function CaseHistory({ onCreateRequest }) {
13744
13920
  return true;
13745
13921
  });
13746
13922
  }, [cases, activeTab, searchQuery]);
13747
- const handleViewDetails = useCallback8((caseRequest) => {
13923
+ const handleViewDetails = useCallback9((caseRequest) => {
13748
13924
  setSelectedCase(caseRequest);
13749
13925
  navigateTo("case-details");
13750
13926
  }, [setSelectedCase, navigateTo]);
13751
- const renderCaseCard = useCallback8(({ item }) => {
13927
+ const renderCaseCard = useCallback9(({ item }) => {
13752
13928
  var _a;
13753
13929
  const typeLabel = requestTypeLabels[(_a = item.request_type) == null ? void 0 : _a.toUpperCase()] || item.request_type_display || formatCaseStatus(item.request_type || "");
13754
13930
  return /* @__PURE__ */ jsxs11(
@@ -13759,8 +13935,8 @@ function CaseHistory({ onCreateRequest }) {
13759
13935
  activeOpacity: 0.7,
13760
13936
  children: [
13761
13937
  /* @__PURE__ */ jsxs11(View12, { style: styles13.caseCardHeader, children: [
13762
- /* @__PURE__ */ jsx17(Text13, { style: [styles13.caseId, { color: colors.text }], children: item.case_id }),
13763
- /* @__PURE__ */ jsx17(
13938
+ /* @__PURE__ */ jsx18(Text13, { style: [styles13.caseId, { color: colors.text }], children: item.case_id }),
13939
+ /* @__PURE__ */ jsx18(
13764
13940
  PCBadge,
13765
13941
  {
13766
13942
  status: getCaseStatusVariant(item.status),
@@ -13769,22 +13945,22 @@ function CaseHistory({ onCreateRequest }) {
13769
13945
  )
13770
13946
  ] }),
13771
13947
  /* @__PURE__ */ jsxs11(View12, { style: styles13.caseCardMeta, children: [
13772
- /* @__PURE__ */ jsx17(Text13, { style: [styles13.caseType, { color: colors.primary }], children: typeLabel }),
13773
- /* @__PURE__ */ jsx17(Text13, { style: [styles13.caseDot, { color: colors.textSecondary }], children: "\xB7" }),
13774
- /* @__PURE__ */ jsx17(Text13, { style: [styles13.caseDate, { color: colors.textSecondary }], children: formatDate2(item.created_at) })
13948
+ /* @__PURE__ */ jsx18(Text13, { style: [styles13.caseType, { color: colors.primary }], children: typeLabel }),
13949
+ /* @__PURE__ */ jsx18(Text13, { style: [styles13.caseDot, { color: colors.textSecondary }], children: "\xB7" }),
13950
+ /* @__PURE__ */ jsx18(Text13, { style: [styles13.caseDate, { color: colors.textSecondary }], children: formatDate2(item.created_at) })
13775
13951
  ] }),
13776
- item.description_display || item.description ? /* @__PURE__ */ jsx17(Text13, { style: [styles13.caseDescription, { color: colors.textSecondary }], numberOfLines: 2, children: item.description_display || item.description }) : null
13952
+ item.description_display || item.description ? /* @__PURE__ */ jsx18(Text13, { style: [styles13.caseDescription, { color: colors.textSecondary }], numberOfLines: 2, children: item.description_display || item.description }) : null
13777
13953
  ]
13778
13954
  }
13779
13955
  );
13780
13956
  }, [colors, requestTypeLabels, handleViewDetails]);
13781
13957
  if (isLoading) {
13782
- return /* @__PURE__ */ jsx17(View12, { style: styles13.centered, children: /* @__PURE__ */ jsx17(ActivityIndicator5, { size: "large", color: colors.primary }) });
13958
+ return /* @__PURE__ */ jsx18(View12, { style: styles13.centered, children: /* @__PURE__ */ jsx18(ActivityIndicator5, { size: "large", color: colors.primary }) });
13783
13959
  }
13784
13960
  return /* @__PURE__ */ jsxs11(View12, { style: [styles13.container, { backgroundColor: colors.background }], children: [
13785
13961
  /* @__PURE__ */ jsxs11(View12, { style: styles13.topBar, children: [
13786
- /* @__PURE__ */ jsx17(Text13, { style: [styles13.title, { color: colors.text }], children: t("grievanceRequests") || "Privacy Requests" }),
13787
- /* @__PURE__ */ jsx17(
13962
+ /* @__PURE__ */ jsx18(Text13, { style: [styles13.title, { color: colors.text }], children: t("grievanceRequests") || "Privacy Requests" }),
13963
+ /* @__PURE__ */ jsx18(
13788
13964
  TouchableOpacity9,
13789
13965
  {
13790
13966
  style: [styles13.newRequestBtn, { backgroundColor: colors.primary }],
@@ -13797,7 +13973,7 @@ function CaseHistory({ onCreateRequest }) {
13797
13973
  }
13798
13974
  )
13799
13975
  ] }),
13800
- /* @__PURE__ */ jsx17(View12, { style: styles13.searchContainer, children: /* @__PURE__ */ jsx17(
13976
+ /* @__PURE__ */ jsx18(View12, { style: styles13.searchContainer, children: /* @__PURE__ */ jsx18(
13801
13977
  PCInput,
13802
13978
  {
13803
13979
  value: searchQuery,
@@ -13805,9 +13981,9 @@ function CaseHistory({ onCreateRequest }) {
13805
13981
  placeholder: t("searchPlaceholder") || "Search..."
13806
13982
  }
13807
13983
  ) }),
13808
- /* @__PURE__ */ jsx17(ScrollView5, { horizontal: true, showsHorizontalScrollIndicator: false, style: styles13.tabsScroll, contentContainerStyle: styles13.tabsContent, children: grievanceTabs.map((tab) => {
13984
+ /* @__PURE__ */ jsx18(ScrollView5, { horizontal: true, showsHorizontalScrollIndicator: false, style: styles13.tabsScroll, contentContainerStyle: styles13.tabsContent, children: grievanceTabs.map((tab) => {
13809
13985
  const isActive = activeTab === tab.id;
13810
- return /* @__PURE__ */ jsx17(
13986
+ return /* @__PURE__ */ jsx18(
13811
13987
  TouchableOpacity9,
13812
13988
  {
13813
13989
  style: [
@@ -13817,7 +13993,7 @@ function CaseHistory({ onCreateRequest }) {
13817
13993
  ],
13818
13994
  onPress: () => setActiveTab(tab.id),
13819
13995
  activeOpacity: 0.7,
13820
- children: /* @__PURE__ */ jsx17(
13996
+ children: /* @__PURE__ */ jsx18(
13821
13997
  Text13,
13822
13998
  {
13823
13999
  style: [
@@ -13832,14 +14008,14 @@ function CaseHistory({ onCreateRequest }) {
13832
14008
  tab.id
13833
14009
  );
13834
14010
  }) }),
13835
- /* @__PURE__ */ jsx17(
14011
+ /* @__PURE__ */ jsx18(
13836
14012
  FlatList3,
13837
14013
  {
13838
14014
  data: filteredCases,
13839
14015
  keyExtractor: (item) => item.uuid,
13840
14016
  renderItem: renderCaseCard,
13841
14017
  contentContainerStyle: styles13.listContent,
13842
- refreshControl: /* @__PURE__ */ jsx17(
14018
+ refreshControl: /* @__PURE__ */ jsx18(
13843
14019
  RefreshControl4,
13844
14020
  {
13845
14021
  refreshing: isRefetching,
@@ -13847,7 +14023,7 @@ function CaseHistory({ onCreateRequest }) {
13847
14023
  tintColor: colors.primary
13848
14024
  }
13849
14025
  ),
13850
- ListEmptyComponent: /* @__PURE__ */ jsx17(
14026
+ ListEmptyComponent: /* @__PURE__ */ jsx18(
13851
14027
  PCEmpty,
13852
14028
  {
13853
14029
  title: t("noCasesYet") || "No requests found",
@@ -13958,21 +14134,21 @@ var styles13 = StyleSheet13.create({
13958
14134
  });
13959
14135
 
13960
14136
  // src/RedactoPrivacyCenter/components/FormPage.tsx
13961
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
14137
+ import { jsx as jsx19, jsxs as jsxs12 } from "react/jsx-runtime";
13962
14138
  function FormPage() {
13963
14139
  const { t } = useTranslation8();
13964
14140
  const { colors } = useTheme();
13965
- const [showForm, setShowForm] = useState11(false);
14141
+ const [showForm, setShowForm] = useState12(false);
13966
14142
  if (showForm) {
13967
14143
  return /* @__PURE__ */ jsxs12(View13, { style: styles14.container, children: [
13968
- /* @__PURE__ */ jsx18(View13, { style: styles14.backRow, children: /* @__PURE__ */ jsxs12(
14144
+ /* @__PURE__ */ jsx19(View13, { style: styles14.backRow, children: /* @__PURE__ */ jsxs12(
13969
14145
  TouchableOpacity10,
13970
14146
  {
13971
14147
  style: styles14.backButton,
13972
14148
  onPress: () => setShowForm(false),
13973
14149
  activeOpacity: 0.7,
13974
14150
  children: [
13975
- /* @__PURE__ */ jsx18(Svg8, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx18(
14151
+ /* @__PURE__ */ jsx19(Svg8, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx19(
13976
14152
  Path8,
13977
14153
  {
13978
14154
  d: "M19 12H5m0 0l7 7m-7-7l7-7",
@@ -13982,14 +14158,14 @@ function FormPage() {
13982
14158
  strokeLinejoin: "round"
13983
14159
  }
13984
14160
  ) }),
13985
- /* @__PURE__ */ jsx18(Text14, { style: [styles14.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
14161
+ /* @__PURE__ */ jsx19(Text14, { style: [styles14.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
13986
14162
  ]
13987
14163
  }
13988
14164
  ) }),
13989
- /* @__PURE__ */ jsx18(Form, { onCreateRequest: () => setShowForm(false) })
14165
+ /* @__PURE__ */ jsx19(Form, { onCreateRequest: () => setShowForm(false) })
13990
14166
  ] });
13991
14167
  }
13992
- return /* @__PURE__ */ jsx18(CaseHistory, { onCreateRequest: () => setShowForm(true) });
14168
+ return /* @__PURE__ */ jsx19(CaseHistory, { onCreateRequest: () => setShowForm(true) });
13993
14169
  }
13994
14170
  var styles14 = StyleSheet14.create({
13995
14171
  container: {
@@ -14015,7 +14191,7 @@ var styles14 = StyleSheet14.create({
14015
14191
  import { View as View14, Text as Text15, TouchableOpacity as TouchableOpacity11, StyleSheet as StyleSheet15 } from "react-native";
14016
14192
  import { useTranslation as useTranslation9 } from "react-i18next";
14017
14193
  import Svg9, { Path as Path9 } from "react-native-svg";
14018
- import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
14194
+ import { jsx as jsx20, jsxs as jsxs13 } from "react/jsx-runtime";
14019
14195
  var TAB_ITEMS = [
14020
14196
  { page: "consent-manager", labelKey: "consentManager", fallback: "Consents" },
14021
14197
  { page: "form", labelKey: "grievanceRequests", fallback: "Requests" },
@@ -14026,15 +14202,15 @@ function TabIcon({ page, color }) {
14026
14202
  const size = 22;
14027
14203
  switch (page) {
14028
14204
  case "consent-manager":
14029
- return /* @__PURE__ */ jsx19(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx19(Path9, { d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14205
+ return /* @__PURE__ */ jsx20(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path9, { d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14030
14206
  case "form":
14031
- return /* @__PURE__ */ jsx19(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx19(Path9, { d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14207
+ return /* @__PURE__ */ jsx20(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path9, { d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14032
14208
  case "activity":
14033
- return /* @__PURE__ */ jsx19(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx19(Path9, { d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14209
+ return /* @__PURE__ */ jsx20(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path9, { d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }) });
14034
14210
  case "receipts":
14035
14211
  return /* @__PURE__ */ jsxs13(Svg9, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: [
14036
- /* @__PURE__ */ jsx19(Path9, { d: "M9 14l2 2 4-4m4 8V5a2 2 0 00-2-2h-4.586a1 1 0 00-.707.293l-4.414 4.414A1 1 0 007 8.414V19a2 2 0 002 2z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }),
14037
- /* @__PURE__ */ jsx19(Path9, { d: "M14 3v4a1 1 0 001 1h4", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" })
14212
+ /* @__PURE__ */ jsx20(Path9, { d: "M9 14l2 2 4-4m4 8V5a2 2 0 00-2-2h-4.586a1 1 0 00-.707.293l-4.414 4.414A1 1 0 007 8.414V19a2 2 0 002 2z", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" }),
14213
+ /* @__PURE__ */ jsx20(Path9, { d: "M14 3v4a1 1 0 001 1h4", stroke: color, strokeWidth: 1.8, strokeLinecap: "round", strokeLinejoin: "round" })
14038
14214
  ] });
14039
14215
  default:
14040
14216
  return null;
@@ -14044,7 +14220,7 @@ function BottomTabBar() {
14044
14220
  const { t } = useTranslation9();
14045
14221
  const { currentPage, navigateTo } = useInternalNavigation();
14046
14222
  const { colors } = useTheme();
14047
- return /* @__PURE__ */ jsx19(View14, { style: [styles15.container, { backgroundColor: colors.background, borderTopColor: colors.border }], children: TAB_ITEMS.map((item) => {
14223
+ return /* @__PURE__ */ jsx20(View14, { style: [styles15.container, { backgroundColor: colors.background, borderTopColor: colors.border }], children: TAB_ITEMS.map((item) => {
14048
14224
  const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
14049
14225
  const iconColor = isActive ? colors.primary : colors.textSecondary;
14050
14226
  return /* @__PURE__ */ jsxs13(
@@ -14056,9 +14232,9 @@ function BottomTabBar() {
14056
14232
  accessibilityRole: "tab",
14057
14233
  accessibilityState: { selected: isActive },
14058
14234
  children: [
14059
- isActive && /* @__PURE__ */ jsx19(View14, { style: [styles15.activeIndicator, { backgroundColor: colors.primary }] }),
14060
- /* @__PURE__ */ jsx19(TabIcon, { page: item.page, color: iconColor }),
14061
- /* @__PURE__ */ jsx19(
14235
+ isActive && /* @__PURE__ */ jsx20(View14, { style: [styles15.activeIndicator, { backgroundColor: colors.primary }] }),
14236
+ /* @__PURE__ */ jsx20(TabIcon, { page: item.page, color: iconColor }),
14237
+ /* @__PURE__ */ jsx20(
14062
14238
  Text15,
14063
14239
  {
14064
14240
  style: [
@@ -14108,7 +14284,7 @@ var styles15 = StyleSheet15.create({
14108
14284
  });
14109
14285
 
14110
14286
  // src/RedactoPrivacyCenter/components/Navbar.tsx
14111
- import { useCallback as useCallback9, useEffect as useEffect7, useState as useState12 } from "react";
14287
+ import { useCallback as useCallback10, useEffect as useEffect8, useState as useState13 } from "react";
14112
14288
  import { View as View15, Text as Text16, TouchableOpacity as TouchableOpacity12, StyleSheet as StyleSheet16, Platform as Platform7 } from "react-native";
14113
14289
  import { useTranslation as useTranslation10 } from "react-i18next";
14114
14290
  import Svg10, { Path as Path10 } from "react-native-svg";
@@ -14135,35 +14311,35 @@ function navigateBack(onBack) {
14135
14311
  }
14136
14312
 
14137
14313
  // src/RedactoPrivacyCenter/components/Navbar.tsx
14138
- import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
14314
+ import { jsx as jsx21, jsxs as jsxs14 } from "react/jsx-runtime";
14139
14315
  function Navbar({ onBack }) {
14140
14316
  const { t } = useTranslation10();
14141
14317
  const { currentPage } = useInternalNavigation();
14142
14318
  const { email } = useAuth();
14143
14319
  const { colors, theme, setTheme } = useTheme();
14144
- const [locale, setLocale] = useState12(i18n_default.language || "en");
14320
+ const [locale, setLocale] = useState13(i18n_default.language || "en");
14145
14321
  const pageChrome = PAGE_CHROME_BY_PAGE[currentPage] || PAGE_CHROME_BY_PAGE["consent-manager"];
14146
- useEffect7(() => {
14322
+ useEffect8(() => {
14147
14323
  const handleLanguageChanged = () => setLocale(i18n_default.language);
14148
14324
  i18n_default.on("languageChanged", handleLanguageChanged);
14149
14325
  return () => {
14150
14326
  i18n_default.off("languageChanged", handleLanguageChanged);
14151
14327
  };
14152
14328
  }, []);
14153
- const handleLanguageChange = useCallback9((value) => {
14329
+ const handleLanguageChange = useCallback10((value) => {
14154
14330
  i18n_default.changeLanguage(value);
14155
14331
  }, []);
14156
- const toggleTheme = useCallback9(() => {
14332
+ const toggleTheme = useCallback10(() => {
14157
14333
  setTheme(theme === "light" ? "dark" : "light");
14158
14334
  }, [theme, setTheme]);
14159
14335
  return /* @__PURE__ */ jsxs14(View15, { style: [styles16.container, { backgroundColor: colors.background, borderBottomColor: colors.border }], children: [
14160
- onBack ? /* @__PURE__ */ jsx20(TouchableOpacity12, { style: styles16.backButton, onPress: () => navigateBack(onBack), activeOpacity: 0.7, children: onBack === "back" ? /* @__PURE__ */ jsx20(Svg10, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path10, { d: "M19 12H5m0 0l7 7m-7-7l7-7", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ jsx20(Svg10, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path10, { d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) }) : null,
14336
+ onBack ? /* @__PURE__ */ jsx21(TouchableOpacity12, { style: styles16.backButton, onPress: () => navigateBack(onBack), activeOpacity: 0.7, children: onBack === "back" ? /* @__PURE__ */ jsx21(Svg10, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx21(Path10, { d: "M19 12H5m0 0l7 7m-7-7l7-7", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ jsx21(Svg10, { width: 20, height: 20, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx21(Path10, { d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) }) : null,
14161
14337
  /* @__PURE__ */ jsxs14(View15, { style: styles16.leftSection, children: [
14162
- /* @__PURE__ */ jsx20(Text16, { style: [styles16.title, { color: colors.text }], numberOfLines: 1, children: t(pageChrome.titleKey) }),
14163
- email ? /* @__PURE__ */ jsx20(Text16, { style: [styles16.email, { color: colors.primary }], numberOfLines: 1, children: email }) : null
14338
+ /* @__PURE__ */ jsx21(Text16, { style: [styles16.title, { color: colors.text }], numberOfLines: 1, children: t(pageChrome.titleKey) }),
14339
+ email ? /* @__PURE__ */ jsx21(Text16, { style: [styles16.email, { color: colors.primary }], numberOfLines: 1, children: email }) : null
14164
14340
  ] }),
14165
14341
  /* @__PURE__ */ jsxs14(View15, { style: styles16.rightSection, children: [
14166
- /* @__PURE__ */ jsx20(
14342
+ /* @__PURE__ */ jsx21(
14167
14343
  PCSelect,
14168
14344
  {
14169
14345
  value: locale,
@@ -14173,13 +14349,13 @@ function Navbar({ onBack }) {
14173
14349
  compact: true
14174
14350
  }
14175
14351
  ),
14176
- /* @__PURE__ */ jsx20(
14352
+ /* @__PURE__ */ jsx21(
14177
14353
  TouchableOpacity12,
14178
14354
  {
14179
14355
  style: [styles16.themeButton, { borderColor: colors.border, backgroundColor: colors.surface }],
14180
14356
  onPress: toggleTheme,
14181
14357
  activeOpacity: 0.7,
14182
- children: theme === "light" ? /* @__PURE__ */ jsx20(Svg10, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path10, { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ jsx20(Svg10, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx20(Path10, { d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) })
14358
+ children: theme === "light" ? /* @__PURE__ */ jsx21(Svg10, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx21(Path10, { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) }) : /* @__PURE__ */ jsx21(Svg10, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx21(Path10, { d: "M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z", stroke: colors.text, strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }) })
14183
14359
  }
14184
14360
  )
14185
14361
  ] })
@@ -14239,14 +14415,14 @@ var styles16 = StyleSheet16.create({
14239
14415
  // src/RedactoPrivacyCenter/components/Footer.tsx
14240
14416
  import { View as View16, Text as Text17, StyleSheet as StyleSheet17 } from "react-native";
14241
14417
  import { useTranslation as useTranslation11 } from "react-i18next";
14242
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
14418
+ import { jsx as jsx22, jsxs as jsxs15 } from "react/jsx-runtime";
14243
14419
  function Footer() {
14244
14420
  const { t } = useTranslation11();
14245
14421
  const { colors } = useTheme();
14246
- return /* @__PURE__ */ jsx21(View16, { style: [styles17.container, { borderTopColor: colors.border }], children: /* @__PURE__ */ jsxs15(Text17, { style: [styles17.text, { color: colors.textSecondary }], children: [
14422
+ return /* @__PURE__ */ jsx22(View16, { style: [styles17.container, { borderTopColor: colors.border }], children: /* @__PURE__ */ jsxs15(Text17, { style: [styles17.text, { color: colors.textSecondary }], children: [
14247
14423
  t("poweredBy") || "Powered by",
14248
14424
  " ",
14249
- /* @__PURE__ */ jsx21(Text17, { style: [styles17.brand, { color: colors.primary }], children: "Redacto" })
14425
+ /* @__PURE__ */ jsx22(Text17, { style: [styles17.brand, { color: colors.primary }], children: "Redacto" })
14250
14426
  ] }) });
14251
14427
  }
14252
14428
  var styles17 = StyleSheet17.create({
@@ -14263,31 +14439,67 @@ var styles17 = StyleSheet17.create({
14263
14439
  }
14264
14440
  });
14265
14441
 
14442
+ // src/RedactoPrivacyCenter/components/PrivacyCenterEmptyState.tsx
14443
+ import { useTranslation as useTranslation12 } from "react-i18next";
14444
+ import { jsx as jsx23 } from "react/jsx-runtime";
14445
+ function PrivacyCenterEmptyState() {
14446
+ const { t } = useTranslation12();
14447
+ return /* @__PURE__ */ jsx23(PCEmpty, { title: t("noDataTitle"), description: t("noDataDescription") });
14448
+ }
14449
+
14450
+ // src/RedactoPrivacyCenter/ui/PCLoader.tsx
14451
+ import { ActivityIndicator as ActivityIndicator6, StyleSheet as StyleSheet18, Text as Text18, View as View17 } from "react-native";
14452
+ import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
14453
+ var PCLoader = ({
14454
+ size = "large",
14455
+ color = "#4f87ff",
14456
+ text
14457
+ }) => {
14458
+ return /* @__PURE__ */ jsxs16(View17, { style: styles18.container, children: [
14459
+ /* @__PURE__ */ jsx24(ActivityIndicator6, { size, color }),
14460
+ text ? /* @__PURE__ */ jsx24(Text18, { style: styles18.text, children: text }) : null
14461
+ ] });
14462
+ };
14463
+ var styles18 = StyleSheet18.create({
14464
+ container: {
14465
+ flex: 1,
14466
+ alignItems: "center",
14467
+ justifyContent: "center",
14468
+ padding: 24
14469
+ },
14470
+ text: {
14471
+ marginTop: 12,
14472
+ fontSize: 14,
14473
+ color: "#667085",
14474
+ textAlign: "center"
14475
+ }
14476
+ });
14477
+
14266
14478
  // src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
14267
- import { useState as useState14, useMemo as useMemo12, useEffect as useEffect10 } from "react";
14268
- import { View as View24, Text as Text25, TouchableOpacity as TouchableOpacity16, StyleSheet as StyleSheet25, ActivityIndicator as ActivityIndicator8 } from "react-native";
14269
- import { useTranslation as useTranslation17 } from "react-i18next";
14479
+ import { useState as useState15, useMemo as useMemo13, useEffect as useEffect11 } from "react";
14480
+ import { View as View25, Text as Text26, TouchableOpacity as TouchableOpacity16, StyleSheet as StyleSheet26, ActivityIndicator as ActivityIndicator9 } from "react-native";
14481
+ import { useTranslation as useTranslation18 } from "react-i18next";
14270
14482
  import Svg18, { Path as Path18 } from "react-native-svg";
14271
14483
 
14272
14484
  // src/RedactoPrivacyCenter/components/CaseDetails/RequestDetailsTab.tsx
14273
- import { View as View17, Text as Text18, ScrollView as ScrollView6, StyleSheet as StyleSheet18 } from "react-native";
14274
- import { useTranslation as useTranslation12 } from "react-i18next";
14485
+ import { View as View18, Text as Text19, ScrollView as ScrollView6, StyleSheet as StyleSheet19 } from "react-native";
14486
+ import { useTranslation as useTranslation13 } from "react-i18next";
14275
14487
  import Svg11, { Path as Path11 } from "react-native-svg";
14276
- import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
14488
+ import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
14277
14489
  function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14278
- const { t } = useTranslation12();
14490
+ const { t } = useTranslation13();
14279
14491
  const { colors } = useTheme();
14280
14492
  const details = selectedCase.request_details;
14281
14493
  const isOverdue = selectedCase.due_date && new Date(selectedCase.due_date) < /* @__PURE__ */ new Date() && selectedCase.status !== "completed";
14282
- return /* @__PURE__ */ jsxs16(ScrollView6, { style: styles18.container, contentContainerStyle: styles18.content, children: [
14283
- /* @__PURE__ */ jsx22(View17, { style: [styles18.summaryCard, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryGrid, children: [
14284
- /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryItem, children: [
14285
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.label, { color: colors.textSecondary }], children: t("requestType") || "Request Type" }),
14286
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.value, { color: colors.text }], children: requestTypeLabel })
14494
+ return /* @__PURE__ */ jsxs17(ScrollView6, { style: styles19.container, contentContainerStyle: styles19.content, children: [
14495
+ /* @__PURE__ */ jsx25(View18, { style: [styles19.summaryCard, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryGrid, children: [
14496
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryItem, children: [
14497
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.label, { color: colors.textSecondary }], children: t("requestType") || "Request Type" }),
14498
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.value, { color: colors.text }], children: requestTypeLabel })
14287
14499
  ] }),
14288
- /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryItem, children: [
14289
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.label, { color: colors.textSecondary }], children: t("status") || "Status" }),
14290
- /* @__PURE__ */ jsx22(
14500
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryItem, children: [
14501
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.label, { color: colors.textSecondary }], children: t("status") || "Status" }),
14502
+ /* @__PURE__ */ jsx25(
14291
14503
  PCBadge,
14292
14504
  {
14293
14505
  status: getCaseStatusVariant(selectedCase.status),
@@ -14295,30 +14507,30 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14295
14507
  }
14296
14508
  )
14297
14509
  ] }),
14298
- /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryItem, children: [
14299
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.label, { color: colors.textSecondary }], children: t("createdAt") || "Created" }),
14300
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.value, { color: colors.text }], children: formatDate2(selectedCase.created_at) })
14510
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryItem, children: [
14511
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.label, { color: colors.textSecondary }], children: t("createdAt") || "Created" }),
14512
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.value, { color: colors.text }], children: formatDate2(selectedCase.created_at) })
14301
14513
  ] }),
14302
- selectedCase.completed_at ? /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryItem, children: [
14303
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.label, { color: colors.textSecondary }], children: t("completedAt") || "Completed" }),
14304
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.value, { color: colors.text }], children: formatDate2(selectedCase.completed_at) })
14514
+ selectedCase.completed_at ? /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryItem, children: [
14515
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.label, { color: colors.textSecondary }], children: t("completedAt") || "Completed" }),
14516
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.value, { color: colors.text }], children: formatDate2(selectedCase.completed_at) })
14305
14517
  ] }) : null,
14306
- selectedCase.due_date ? /* @__PURE__ */ jsxs16(View17, { style: styles18.summaryItem, children: [
14307
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.label, { color: colors.textSecondary }], children: t("dueDate") || "Due Date" }),
14308
- /* @__PURE__ */ jsxs16(Text18, { style: [styles18.value, { color: isOverdue ? colors.error : colors.text }], children: [
14518
+ selectedCase.due_date ? /* @__PURE__ */ jsxs17(View18, { style: styles19.summaryItem, children: [
14519
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.label, { color: colors.textSecondary }], children: t("dueDate") || "Due Date" }),
14520
+ /* @__PURE__ */ jsxs17(Text19, { style: [styles19.value, { color: isOverdue ? colors.error : colors.text }], children: [
14309
14521
  formatDate2(selectedCase.due_date),
14310
14522
  isOverdue ? ` (${t("overdue") || "Overdue"})` : ""
14311
14523
  ] })
14312
14524
  ] }) : null
14313
14525
  ] }) }),
14314
- selectedCase.description_display || selectedCase.description ? /* @__PURE__ */ jsxs16(View17, { style: [styles18.section, { borderColor: colors.border }], children: [
14315
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.sectionTitle, { color: colors.text }], children: t("descriptionLabel") || "Description" }),
14316
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.descriptionText, { color: colors.textSecondary }], children: selectedCase.description_display || selectedCase.description })
14526
+ selectedCase.description_display || selectedCase.description ? /* @__PURE__ */ jsxs17(View18, { style: [styles19.section, { borderColor: colors.border }], children: [
14527
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.sectionTitle, { color: colors.text }], children: t("descriptionLabel") || "Description" }),
14528
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.descriptionText, { color: colors.textSecondary }], children: selectedCase.description_display || selectedCase.description })
14317
14529
  ] }) : null,
14318
- details ? /* @__PURE__ */ jsxs16(View17, { style: [styles18.section, { borderColor: colors.border }], children: [
14319
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.sectionTitle, { color: colors.text }], children: t("requestDetails") || "Request Details" }),
14320
- details.purposes && details.purposes.length > 0 ? /* @__PURE__ */ jsxs16(View17, { style: styles18.detailGroup, children: [
14321
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.detailLabel, { color: colors.textSecondary }], children: t("purposesInvolved") || t("purposes") || "Purposes" }),
14530
+ details ? /* @__PURE__ */ jsxs17(View18, { style: [styles19.section, { borderColor: colors.border }], children: [
14531
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.sectionTitle, { color: colors.text }], children: t("requestDetails") || "Request Details" }),
14532
+ details.purposes && details.purposes.length > 0 ? /* @__PURE__ */ jsxs17(View18, { style: styles19.detailGroup, children: [
14533
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("purposesInvolved") || t("purposes") || "Purposes" }),
14322
14534
  details.purposes.map((rawP, idx) => {
14323
14535
  const p = (rawP == null ? void 0 : rawP.purpose) ? rawP.purpose : rawP;
14324
14536
  const purposeId = (p == null ? void 0 : p.uuid) || (p == null ? void 0 : p.purpose_uuid) || (rawP == null ? void 0 : rawP.purpose_uuid) || idx;
@@ -14326,10 +14538,10 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14326
14538
  const purposeDescription = (p == null ? void 0 : p.description) || (rawP == null ? void 0 : rawP.description);
14327
14539
  const dataElements = Array.isArray(p == null ? void 0 : p.data_elements) ? p.data_elements.filter((de) => (de == null ? void 0 : de.selected) || (de == null ? void 0 : de.given_consent)) : [];
14328
14540
  const dataElementUuids = Array.isArray(rawP == null ? void 0 : rawP.data_element_uuids) ? rawP.data_element_uuids : Array.isArray(p == null ? void 0 : p.data_element_uuids) ? p.data_element_uuids : [];
14329
- return /* @__PURE__ */ jsxs16(View17, { style: [styles18.purposeCard, { borderColor: colors.border }], children: [
14330
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.purposeName, { color: colors.text }], children: purposeName }),
14331
- purposeDescription ? /* @__PURE__ */ jsx22(Text18, { style: [styles18.dataElements, { color: colors.textSecondary }], numberOfLines: 3, children: purposeDescription }) : null,
14332
- dataElements.length > 0 ? /* @__PURE__ */ jsx22(View17, { style: styles18.badgeRow, children: dataElements.map((de) => /* @__PURE__ */ jsx22(PCBadge, { status: "info", label: de.name }, de.uuid)) }) : dataElementUuids.length > 0 ? /* @__PURE__ */ jsxs16(Text18, { style: [styles18.dataElements, { color: colors.textSecondary }], children: [
14541
+ return /* @__PURE__ */ jsxs17(View18, { style: [styles19.purposeCard, { borderColor: colors.border }], children: [
14542
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.purposeName, { color: colors.text }], children: purposeName }),
14543
+ purposeDescription ? /* @__PURE__ */ jsx25(Text19, { style: [styles19.dataElements, { color: colors.textSecondary }], numberOfLines: 3, children: purposeDescription }) : null,
14544
+ dataElements.length > 0 ? /* @__PURE__ */ jsx25(View18, { style: styles19.badgeRow, children: dataElements.map((de) => /* @__PURE__ */ jsx25(PCBadge, { status: "info", label: de.name }, de.uuid)) }) : dataElementUuids.length > 0 ? /* @__PURE__ */ jsxs17(Text19, { style: [styles19.dataElements, { color: colors.textSecondary }], children: [
14333
14545
  dataElementUuids.length,
14334
14546
  " ",
14335
14547
  t("dataElements") || "data elements"
@@ -14337,16 +14549,16 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14337
14549
  ] }, purposeId);
14338
14550
  })
14339
14551
  ] }) : null,
14340
- details.correction_data && details.correction_data.length > 0 ? /* @__PURE__ */ jsxs16(View17, { style: styles18.detailGroup, children: [
14341
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.detailLabel, { color: colors.textSecondary }], children: t("correctionData") || "Correction Data" }),
14342
- details.correction_data.map((item, idx) => /* @__PURE__ */ jsxs16(View17, { style: [styles18.correctionCard, { borderColor: colors.border }], children: [
14343
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.correctionField, { color: colors.text }], children: item.name }),
14344
- /* @__PURE__ */ jsxs16(View17, { style: styles18.correctionValues, children: [
14345
- /* @__PURE__ */ jsxs16(View17, { style: styles18.correctionValue, children: [
14346
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.correctionLabel, { color: colors.textSecondary }], children: t("currentValue") || "Current" }),
14347
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.correctionText, { color: colors.text }], children: item.curr_value || "-" })
14552
+ details.correction_data && details.correction_data.length > 0 ? /* @__PURE__ */ jsxs17(View18, { style: styles19.detailGroup, children: [
14553
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("correctionData") || "Correction Data" }),
14554
+ details.correction_data.map((item, idx) => /* @__PURE__ */ jsxs17(View18, { style: [styles19.correctionCard, { borderColor: colors.border }], children: [
14555
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.correctionField, { color: colors.text }], children: item.name }),
14556
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.correctionValues, children: [
14557
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.correctionValue, children: [
14558
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.correctionLabel, { color: colors.textSecondary }], children: t("currentValue") || "Current" }),
14559
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.correctionText, { color: colors.text }], children: item.curr_value || "-" })
14348
14560
  ] }),
14349
- /* @__PURE__ */ jsx22(Svg11, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx22(
14561
+ /* @__PURE__ */ jsx25(Svg11, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx25(
14350
14562
  Path11,
14351
14563
  {
14352
14564
  d: "M5 12h14m0 0l-7-7m7 7l-7 7",
@@ -14356,16 +14568,16 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14356
14568
  strokeLinejoin: "round"
14357
14569
  }
14358
14570
  ) }),
14359
- /* @__PURE__ */ jsxs16(View17, { style: styles18.correctionValue, children: [
14360
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.correctionLabel, { color: colors.textSecondary }], children: t("newValue") || "New" }),
14361
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.correctionText, { color: colors.primary }], children: item.new_value || "-" })
14571
+ /* @__PURE__ */ jsxs17(View18, { style: styles19.correctionValue, children: [
14572
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.correctionLabel, { color: colors.textSecondary }], children: t("newValue") || "New" }),
14573
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.correctionText, { color: colors.primary }], children: item.new_value || "-" })
14362
14574
  ] })
14363
14575
  ] })
14364
14576
  ] }, idx))
14365
14577
  ] }) : null,
14366
- details.grievance_types && details.grievance_types.length > 0 ? /* @__PURE__ */ jsxs16(View17, { style: styles18.detailGroup, children: [
14367
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.detailLabel, { color: colors.textSecondary }], children: t("grievanceTypes") || "Grievance Types" }),
14368
- /* @__PURE__ */ jsx22(View17, { style: styles18.badgeRow, children: details.grievance_types.map((g, idx) => /* @__PURE__ */ jsx22(
14578
+ details.grievance_types && details.grievance_types.length > 0 ? /* @__PURE__ */ jsxs17(View18, { style: styles19.detailGroup, children: [
14579
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("grievanceTypes") || "Grievance Types" }),
14580
+ /* @__PURE__ */ jsx25(View18, { style: styles19.badgeRow, children: details.grievance_types.map((g, idx) => /* @__PURE__ */ jsx25(
14369
14581
  PCBadge,
14370
14582
  {
14371
14583
  status: "warning",
@@ -14374,23 +14586,23 @@ function RequestDetailsTab({ selectedCase, requestTypeLabel }) {
14374
14586
  idx
14375
14587
  )) })
14376
14588
  ] }) : null,
14377
- details.nomination_data ? /* @__PURE__ */ jsxs16(View17, { style: styles18.detailGroup, children: [
14378
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.detailLabel, { color: colors.textSecondary }], children: t("nominationData") || "Nomination" }),
14379
- /* @__PURE__ */ jsxs16(View17, { style: [styles18.nominationCard, { borderColor: colors.border }], children: [
14380
- details.nomination_data.nominee_email ? /* @__PURE__ */ jsxs16(View17, { style: styles18.nominationRow, children: [
14381
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.nominationLabel, { color: colors.textSecondary }], children: t("email") || "Email" }),
14382
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_email })
14589
+ details.nomination_data ? /* @__PURE__ */ jsxs17(View18, { style: styles19.detailGroup, children: [
14590
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.detailLabel, { color: colors.textSecondary }], children: t("nominationData") || "Nomination" }),
14591
+ /* @__PURE__ */ jsxs17(View18, { style: [styles19.nominationCard, { borderColor: colors.border }], children: [
14592
+ details.nomination_data.nominee_email ? /* @__PURE__ */ jsxs17(View18, { style: styles19.nominationRow, children: [
14593
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.nominationLabel, { color: colors.textSecondary }], children: t("email") || "Email" }),
14594
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_email })
14383
14595
  ] }) : null,
14384
- details.nomination_data.nominee_mobile ? /* @__PURE__ */ jsxs16(View17, { style: styles18.nominationRow, children: [
14385
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.nominationLabel, { color: colors.textSecondary }], children: t("mobile") || "Mobile" }),
14386
- /* @__PURE__ */ jsx22(Text18, { style: [styles18.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_mobile })
14596
+ details.nomination_data.nominee_mobile ? /* @__PURE__ */ jsxs17(View18, { style: styles19.nominationRow, children: [
14597
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.nominationLabel, { color: colors.textSecondary }], children: t("mobile") || "Mobile" }),
14598
+ /* @__PURE__ */ jsx25(Text19, { style: [styles19.nominationValue, { color: colors.text }], children: details.nomination_data.nominee_mobile })
14387
14599
  ] }) : null
14388
14600
  ] })
14389
14601
  ] }) : null
14390
14602
  ] }) : null
14391
14603
  ] });
14392
14604
  }
14393
- var styles18 = StyleSheet18.create({
14605
+ var styles19 = StyleSheet19.create({
14394
14606
  container: {
14395
14607
  flex: 1
14396
14608
  },
@@ -14509,25 +14721,25 @@ var styles18 = StyleSheet18.create({
14509
14721
  });
14510
14722
 
14511
14723
  // src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
14512
- import { useState as useState13, useRef as useRef3, useEffect as useEffect9, useCallback as useCallback10, useMemo as useMemo11 } from "react";
14513
- import { View as View23, Text as Text24, FlatList as FlatList4, StyleSheet as StyleSheet24, ActivityIndicator as ActivityIndicator7, KeyboardAvoidingView as KeyboardAvoidingView2, Platform as Platform8 } from "react-native";
14514
- import { useTranslation as useTranslation16 } from "react-i18next";
14724
+ import { useState as useState14, useRef as useRef4, useEffect as useEffect10, useCallback as useCallback11, useMemo as useMemo12 } from "react";
14725
+ import { View as View24, Text as Text25, FlatList as FlatList4, StyleSheet as StyleSheet25, ActivityIndicator as ActivityIndicator8, KeyboardAvoidingView as KeyboardAvoidingView2, Platform as Platform8 } from "react-native";
14726
+ import { useTranslation as useTranslation17 } from "react-i18next";
14515
14727
  import Svg17, { Path as Path17 } from "react-native-svg";
14516
14728
 
14517
14729
  // src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
14518
14730
  import React11 from "react";
14519
- import { useTranslation as useTranslation14 } from "react-i18next";
14731
+ import { useTranslation as useTranslation15 } from "react-i18next";
14520
14732
  import Svg15, { Path as Path15 } from "react-native-svg";
14521
14733
 
14522
14734
  // src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
14523
14735
  import React10 from "react";
14524
- import { StyleSheet as StyleSheet20, Text as Text20, View as View19 } from "react-native";
14736
+ import { StyleSheet as StyleSheet21, Text as Text21, View as View20 } from "react-native";
14525
14737
  import Svg13, { Path as Path13 } from "react-native-svg";
14526
14738
 
14527
14739
  // src/RedactoPrivacyCenter/components/CaseDetails/AttachmentCard.tsx
14528
- import { View as View18, Text as Text19, TouchableOpacity as TouchableOpacity13, Linking, StyleSheet as StyleSheet19 } from "react-native";
14740
+ import { View as View19, Text as Text20, TouchableOpacity as TouchableOpacity13, Linking, StyleSheet as StyleSheet20 } from "react-native";
14529
14741
  import Svg12, { Path as Path12 } from "react-native-svg";
14530
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
14742
+ import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
14531
14743
  function AttachmentCard({ doc }) {
14532
14744
  const { colors } = useTheme();
14533
14745
  const downloadUrl = getDownloadUrl(doc.file_url);
@@ -14536,15 +14748,15 @@ function AttachmentCard({ doc }) {
14536
14748
  Linking.openURL(downloadUrl);
14537
14749
  }
14538
14750
  };
14539
- return /* @__PURE__ */ jsxs17(
14751
+ return /* @__PURE__ */ jsxs18(
14540
14752
  TouchableOpacity13,
14541
14753
  {
14542
- style: [styles19.container, { backgroundColor: colors.surface, borderColor: colors.border }],
14754
+ style: [styles20.container, { backgroundColor: colors.surface, borderColor: colors.border }],
14543
14755
  onPress: handlePress,
14544
14756
  disabled: !downloadUrl,
14545
14757
  activeOpacity: 0.7,
14546
14758
  children: [
14547
- /* @__PURE__ */ jsx23(Svg12, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx23(
14759
+ /* @__PURE__ */ jsx26(Svg12, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx26(
14548
14760
  Path12,
14549
14761
  {
14550
14762
  d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6 M16 13H8 M16 17H8 M10 9H8",
@@ -14554,15 +14766,15 @@ function AttachmentCard({ doc }) {
14554
14766
  strokeLinejoin: "round"
14555
14767
  }
14556
14768
  ) }),
14557
- /* @__PURE__ */ jsxs17(View18, { style: styles19.info, children: [
14558
- /* @__PURE__ */ jsx23(Text19, { style: [styles19.fileName, { color: colors.text }], numberOfLines: 1, children: doc.file_name || "Document" }),
14559
- doc.file_size ? /* @__PURE__ */ jsx23(Text19, { style: [styles19.fileSize, { color: colors.textSecondary }], children: formatFileSize(doc.file_size) }) : null
14769
+ /* @__PURE__ */ jsxs18(View19, { style: styles20.info, children: [
14770
+ /* @__PURE__ */ jsx26(Text20, { style: [styles20.fileName, { color: colors.text }], numberOfLines: 1, children: doc.file_name || "Document" }),
14771
+ doc.file_size ? /* @__PURE__ */ jsx26(Text20, { style: [styles20.fileSize, { color: colors.textSecondary }], children: formatFileSize(doc.file_size) }) : null
14560
14772
  ] })
14561
14773
  ]
14562
14774
  }
14563
14775
  );
14564
14776
  }
14565
- var styles19 = StyleSheet19.create({
14777
+ var styles20 = StyleSheet20.create({
14566
14778
  container: {
14567
14779
  flexDirection: "row",
14568
14780
  alignItems: "center",
@@ -14587,11 +14799,11 @@ var styles19 = StyleSheet19.create({
14587
14799
  });
14588
14800
 
14589
14801
  // src/RedactoPrivacyCenter/components/CaseDetails/ChatBubble.tsx
14590
- import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
14802
+ import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
14591
14803
  var AVATAR_SIZE = 28;
14592
14804
  var AVATAR_GUTTER = 36;
14593
14805
  function TeamAvatar({ tint }) {
14594
- return /* @__PURE__ */ jsx24(View19, { style: [styles20.avatar, { backgroundColor: `${tint}1F` }], children: /* @__PURE__ */ jsx24(Svg13, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx24(
14806
+ return /* @__PURE__ */ jsx27(View20, { style: [styles21.avatar, { backgroundColor: `${tint}1F` }], children: /* @__PURE__ */ jsx27(Svg13, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx27(
14595
14807
  Path13,
14596
14808
  {
14597
14809
  d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",
@@ -14627,28 +14839,28 @@ function ChatBubbleImpl({
14627
14839
  borderBottomRightRadius: 18,
14628
14840
  borderBottomLeftRadius: tailRadius
14629
14841
  };
14630
- const bubble = /* @__PURE__ */ jsxs18(View19, { style: [styles20.bubble, bubbleStyle], children: [
14631
- !isPrincipal && isFirstInGroup ? /* @__PURE__ */ jsx24(Text20, { style: [styles20.bubbleSender, { color: colors.primary }], numberOfLines: 1, children: senderLabel }) : null,
14632
- message.body ? /* @__PURE__ */ jsx24(Text20, { style: [styles20.body, { color: isPrincipal ? colors.primaryText : colors.text }], children: message.body }) : null,
14633
- message.documents && message.documents.length > 0 ? /* @__PURE__ */ jsx24(View19, { style: styles20.attachments, children: message.documents.map((doc) => /* @__PURE__ */ jsx24(AttachmentCard, { doc }, doc.uuid)) }) : null
14842
+ const bubble = /* @__PURE__ */ jsxs19(View20, { style: [styles21.bubble, bubbleStyle], children: [
14843
+ !isPrincipal && isFirstInGroup ? /* @__PURE__ */ jsx27(Text21, { style: [styles21.bubbleSender, { color: colors.primary }], numberOfLines: 1, children: senderLabel }) : null,
14844
+ message.body ? /* @__PURE__ */ jsx27(Text21, { style: [styles21.body, { color: isPrincipal ? colors.primaryText : colors.text }], children: message.body }) : null,
14845
+ message.documents && message.documents.length > 0 ? /* @__PURE__ */ jsx27(View20, { style: styles21.attachments, children: message.documents.map((doc) => /* @__PURE__ */ jsx27(AttachmentCard, { doc }, doc.uuid)) }) : null
14634
14846
  ] });
14635
- return /* @__PURE__ */ jsxs18(
14636
- View19,
14847
+ return /* @__PURE__ */ jsxs19(
14848
+ View20,
14637
14849
  {
14638
14850
  style: [
14639
- styles20.row,
14640
- isPrincipal ? styles20.rowRight : styles20.rowLeft,
14851
+ styles21.row,
14852
+ isPrincipal ? styles21.rowRight : styles21.rowLeft,
14641
14853
  { marginTop: isFirstInGroup ? 12 : 2 }
14642
14854
  ],
14643
14855
  children: [
14644
- !isPrincipal ? /* @__PURE__ */ jsx24(View19, { style: styles20.avatarSlot, children: isFirstInGroup ? /* @__PURE__ */ jsx24(TeamAvatar, { tint: colors.primary }) : null }) : null,
14645
- /* @__PURE__ */ jsxs18(View19, { style: [styles20.column, isPrincipal ? styles20.columnRight : styles20.columnLeft], children: [
14856
+ !isPrincipal ? /* @__PURE__ */ jsx27(View20, { style: styles21.avatarSlot, children: isFirstInGroup ? /* @__PURE__ */ jsx27(TeamAvatar, { tint: colors.primary }) : null }) : null,
14857
+ /* @__PURE__ */ jsxs19(View20, { style: [styles21.column, isPrincipal ? styles21.columnRight : styles21.columnLeft], children: [
14646
14858
  bubble,
14647
- isLastInGroup ? /* @__PURE__ */ jsx24(
14648
- Text20,
14859
+ isLastInGroup ? /* @__PURE__ */ jsx27(
14860
+ Text21,
14649
14861
  {
14650
14862
  style: [
14651
- styles20.timestamp,
14863
+ styles21.timestamp,
14652
14864
  { color: colors.textSecondary, textAlign: isPrincipal ? "right" : "left" }
14653
14865
  ],
14654
14866
  children: formatMessageTime(timestamp)
@@ -14660,7 +14872,7 @@ function ChatBubbleImpl({
14660
14872
  );
14661
14873
  }
14662
14874
  var ChatBubble = React10.memo(ChatBubbleImpl);
14663
- var styles20 = StyleSheet20.create({
14875
+ var styles21 = StyleSheet21.create({
14664
14876
  row: {
14665
14877
  flexDirection: "row",
14666
14878
  paddingHorizontal: 12,
@@ -14719,10 +14931,10 @@ var styles20 = StyleSheet20.create({
14719
14931
  });
14720
14932
 
14721
14933
  // src/RedactoPrivacyCenter/components/CaseDetails/DocumentRequestCard.tsx
14722
- import { View as View20, Text as Text21, TouchableOpacity as TouchableOpacity14, StyleSheet as StyleSheet21 } from "react-native";
14723
- import { useTranslation as useTranslation13 } from "react-i18next";
14934
+ import { View as View21, Text as Text22, TouchableOpacity as TouchableOpacity14, StyleSheet as StyleSheet22 } from "react-native";
14935
+ import { useTranslation as useTranslation14 } from "react-i18next";
14724
14936
  import Svg14, { Path as Path14 } from "react-native-svg";
14725
- import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
14937
+ import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
14726
14938
  var STATUS_BADGE_MAP = {
14727
14939
  pending: "warning",
14728
14940
  under_review: "info",
@@ -14731,17 +14943,17 @@ var STATUS_BADGE_MAP = {
14731
14943
  replacement_requested: "warning"
14732
14944
  };
14733
14945
  function DocumentRequestCard({ message, onUpload, isSubmitting }) {
14734
- const { t } = useTranslation13();
14946
+ const { t } = useTranslation14();
14735
14947
  const { colors } = useTheme();
14736
14948
  const meta = message.document_request_metadata;
14737
14949
  if (!meta) return null;
14738
14950
  const status = meta.document_request_status;
14739
14951
  const canUpload = status === "pending" || status === "replacement_requested";
14740
14952
  const requestEventUuid = meta.document_request_uuid;
14741
- return /* @__PURE__ */ jsxs19(View20, { style: [styles21.container, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
14742
- /* @__PURE__ */ jsxs19(View20, { style: styles21.header, children: [
14743
- /* @__PURE__ */ jsxs19(View20, { style: styles21.titleRow, children: [
14744
- /* @__PURE__ */ jsx25(Svg14, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx25(
14953
+ return /* @__PURE__ */ jsxs20(View21, { style: [styles22.container, { borderColor: colors.border, backgroundColor: colors.surface }], children: [
14954
+ /* @__PURE__ */ jsxs20(View21, { style: styles22.header, children: [
14955
+ /* @__PURE__ */ jsxs20(View21, { style: styles22.titleRow, children: [
14956
+ /* @__PURE__ */ jsx28(Svg14, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx28(
14745
14957
  Path14,
14746
14958
  {
14747
14959
  d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2z",
@@ -14751,9 +14963,9 @@ function DocumentRequestCard({ message, onUpload, isSubmitting }) {
14751
14963
  strokeLinejoin: "round"
14752
14964
  }
14753
14965
  ) }),
14754
- /* @__PURE__ */ jsx25(Text21, { style: [styles21.title, { color: colors.text }], children: meta.title || t("documentRequestedLabel") || "Document Requested" })
14966
+ /* @__PURE__ */ jsx28(Text22, { style: [styles22.title, { color: colors.text }], children: meta.title || t("documentRequestedLabel") || "Document Requested" })
14755
14967
  ] }),
14756
- /* @__PURE__ */ jsx25(
14968
+ /* @__PURE__ */ jsx28(
14757
14969
  PCBadge,
14758
14970
  {
14759
14971
  status: STATUS_BADGE_MAP[status] || "info",
@@ -14761,31 +14973,31 @@ function DocumentRequestCard({ message, onUpload, isSubmitting }) {
14761
14973
  }
14762
14974
  )
14763
14975
  ] }),
14764
- meta.accepted_document ? /* @__PURE__ */ jsxs19(Text21, { style: [styles21.accepted, { color: colors.textSecondary }], children: [
14976
+ meta.accepted_document ? /* @__PURE__ */ jsxs20(Text22, { style: [styles22.accepted, { color: colors.textSecondary }], children: [
14765
14977
  t("acceptedLabel") || "Accepted",
14766
14978
  ": ",
14767
14979
  meta.accepted_document
14768
14980
  ] }) : null,
14769
- meta.rejection_reason ? /* @__PURE__ */ jsxs19(View20, { style: [styles21.rejectionBox, { backgroundColor: `${colors.error}10`, borderColor: `${colors.error}30` }], children: [
14770
- /* @__PURE__ */ jsxs19(Text21, { style: [styles21.rejectionLabel, { color: colors.error }], children: [
14981
+ meta.rejection_reason ? /* @__PURE__ */ jsxs20(View21, { style: [styles22.rejectionBox, { backgroundColor: `${colors.error}10`, borderColor: `${colors.error}30` }], children: [
14982
+ /* @__PURE__ */ jsxs20(Text22, { style: [styles22.rejectionLabel, { color: colors.error }], children: [
14771
14983
  t("rejectionReasonLabel") || "Rejection reason",
14772
14984
  ":"
14773
14985
  ] }),
14774
- /* @__PURE__ */ jsx25(Text21, { style: [styles21.rejectionText, { color: colors.error }], children: meta.rejection_reason })
14986
+ /* @__PURE__ */ jsx28(Text22, { style: [styles22.rejectionText, { color: colors.error }], children: meta.rejection_reason })
14775
14987
  ] }) : null,
14776
- canUpload && requestEventUuid ? /* @__PURE__ */ jsx25(
14988
+ canUpload && requestEventUuid ? /* @__PURE__ */ jsx28(
14777
14989
  TouchableOpacity14,
14778
14990
  {
14779
- style: [styles21.uploadButton, { backgroundColor: colors.primary }],
14991
+ style: [styles22.uploadButton, { backgroundColor: colors.primary }],
14780
14992
  onPress: () => onUpload(requestEventUuid),
14781
14993
  disabled: isSubmitting,
14782
14994
  activeOpacity: 0.7,
14783
- children: /* @__PURE__ */ jsx25(Text21, { style: [styles21.uploadButtonText, { color: colors.primaryText }], children: isSubmitting ? t("loading") || "Loading..." : t("uploadAndSubmit") || "Upload & Submit" })
14995
+ children: /* @__PURE__ */ jsx28(Text22, { style: [styles22.uploadButtonText, { color: colors.primaryText }], children: isSubmitting ? t("loading") || "Loading..." : t("uploadAndSubmit") || "Upload & Submit" })
14784
14996
  }
14785
14997
  ) : null
14786
14998
  ] });
14787
14999
  }
14788
- var styles21 = StyleSheet21.create({
15000
+ var styles22 = StyleSheet22.create({
14789
15001
  container: {
14790
15002
  borderWidth: 1,
14791
15003
  borderStyle: "dashed",
@@ -14840,20 +15052,20 @@ var styles21 = StyleSheet21.create({
14840
15052
  });
14841
15053
 
14842
15054
  // src/RedactoPrivacyCenter/components/CaseDetails/StatusEvent.tsx
14843
- import { StyleSheet as StyleSheet22, Text as Text22, View as View21 } from "react-native";
14844
- import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
15055
+ import { StyleSheet as StyleSheet23, Text as Text23, View as View22 } from "react-native";
15056
+ import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
14845
15057
  function StatusEvent({ icon, color, bgColor, borderColor, text, subText, timestamp }) {
14846
15058
  const { colors } = useTheme();
14847
- return /* @__PURE__ */ jsxs20(View21, { style: [styles22.container, { backgroundColor: bgColor, borderColor }], children: [
14848
- /* @__PURE__ */ jsx26(View21, { style: [styles22.iconBubble, { backgroundColor: `${color}1F` }], children: icon }),
14849
- /* @__PURE__ */ jsxs20(View21, { style: styles22.textContainer, children: [
14850
- /* @__PURE__ */ jsx26(Text22, { style: [styles22.text, { color }], children: text }),
14851
- subText ? /* @__PURE__ */ jsx26(Text22, { style: [styles22.subText, { color: colors.textSecondary }], numberOfLines: 2, children: subText }) : null
15059
+ return /* @__PURE__ */ jsxs21(View22, { style: [styles23.container, { backgroundColor: bgColor, borderColor }], children: [
15060
+ /* @__PURE__ */ jsx29(View22, { style: [styles23.iconBubble, { backgroundColor: `${color}1F` }], children: icon }),
15061
+ /* @__PURE__ */ jsxs21(View22, { style: styles23.textContainer, children: [
15062
+ /* @__PURE__ */ jsx29(Text23, { style: [styles23.text, { color }], children: text }),
15063
+ subText ? /* @__PURE__ */ jsx29(Text23, { style: [styles23.subText, { color: colors.textSecondary }], numberOfLines: 2, children: subText }) : null
14852
15064
  ] }),
14853
- /* @__PURE__ */ jsx26(Text22, { style: [styles22.timestamp, { color: colors.textSecondary }], children: formatMessageTime(timestamp) })
15065
+ /* @__PURE__ */ jsx29(Text23, { style: [styles23.timestamp, { color: colors.textSecondary }], children: formatMessageTime(timestamp) })
14854
15066
  ] });
14855
15067
  }
14856
- var styles22 = StyleSheet22.create({
15068
+ var styles23 = StyleSheet23.create({
14857
15069
  container: {
14858
15070
  flexDirection: "row",
14859
15071
  alignItems: "center",
@@ -14892,10 +15104,10 @@ var styles22 = StyleSheet22.create({
14892
15104
  });
14893
15105
 
14894
15106
  // src/RedactoPrivacyCenter/components/CaseDetails/MessageItem.tsx
14895
- import { Fragment as Fragment4, jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
14896
- var CheckIcon = ({ color }) => /* @__PURE__ */ jsx27(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx27(Path15, { d: "M20 6L9 17l-5-5", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
14897
- var XIcon = ({ color }) => /* @__PURE__ */ jsx27(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx27(Path15, { d: "M18 6L6 18M6 6l12 12", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
14898
- var RefreshIcon = ({ color }) => /* @__PURE__ */ jsx27(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx27(
15107
+ import { Fragment as Fragment4, jsx as jsx30, jsxs as jsxs22 } from "react/jsx-runtime";
15108
+ var CheckIcon = ({ color }) => /* @__PURE__ */ jsx30(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx30(Path15, { d: "M20 6L9 17l-5-5", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
15109
+ var XIcon = ({ color }) => /* @__PURE__ */ jsx30(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx30(Path15, { d: "M18 6L6 18M6 6l12 12", stroke: color, strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round" }) });
15110
+ var RefreshIcon = ({ color }) => /* @__PURE__ */ jsx30(Svg15, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx30(
14899
15111
  Path15,
14900
15112
  {
14901
15113
  d: "M23 4v6h-6 M1 20v-6h6 M3.51 9a9 9 0 0114.85-3.36L23 10 M20.49 15A9 9 0 015.64 18.36L1 14",
@@ -14913,14 +15125,14 @@ function MessageItemImpl({
14913
15125
  isLastInGroup = true
14914
15126
  }) {
14915
15127
  var _a, _b;
14916
- const { t } = useTranslation14();
15128
+ const { t } = useTranslation15();
14917
15129
  const isPrincipal = message.sender_role === "data_principal";
14918
15130
  const senderLabel = isPrincipal ? t("senderYou") || "You" : t("senderPrivacyTeam") || "Privacy Team";
14919
15131
  switch (message.message_type) {
14920
15132
  case "message_sent":
14921
15133
  case "document_submitted":
14922
15134
  case "document_replaced":
14923
- return /* @__PURE__ */ jsx27(
15135
+ return /* @__PURE__ */ jsx30(
14924
15136
  ChatBubble,
14925
15137
  {
14926
15138
  message,
@@ -14932,8 +15144,8 @@ function MessageItemImpl({
14932
15144
  }
14933
15145
  );
14934
15146
  case "document_requested":
14935
- return /* @__PURE__ */ jsxs21(Fragment4, { children: [
14936
- /* @__PURE__ */ jsx27(
15147
+ return /* @__PURE__ */ jsxs22(Fragment4, { children: [
15148
+ /* @__PURE__ */ jsx30(
14937
15149
  ChatBubble,
14938
15150
  {
14939
15151
  message,
@@ -14944,7 +15156,7 @@ function MessageItemImpl({
14944
15156
  isLastInGroup
14945
15157
  }
14946
15158
  ),
14947
- /* @__PURE__ */ jsx27(
15159
+ /* @__PURE__ */ jsx30(
14948
15160
  DocumentRequestCard,
14949
15161
  {
14950
15162
  message,
@@ -14954,10 +15166,10 @@ function MessageItemImpl({
14954
15166
  )
14955
15167
  ] });
14956
15168
  case "document_approved":
14957
- return /* @__PURE__ */ jsx27(
15169
+ return /* @__PURE__ */ jsx30(
14958
15170
  StatusEvent,
14959
15171
  {
14960
- icon: /* @__PURE__ */ jsx27(CheckIcon, { color: "#059669" }),
15172
+ icon: /* @__PURE__ */ jsx30(CheckIcon, { color: "#059669" }),
14961
15173
  color: "#059669",
14962
15174
  bgColor: "rgba(16, 185, 129, 0.08)",
14963
15175
  borderColor: "rgba(16, 185, 129, 0.2)",
@@ -14966,10 +15178,10 @@ function MessageItemImpl({
14966
15178
  }
14967
15179
  );
14968
15180
  case "document_rejected":
14969
- return /* @__PURE__ */ jsx27(
15181
+ return /* @__PURE__ */ jsx30(
14970
15182
  StatusEvent,
14971
15183
  {
14972
- icon: /* @__PURE__ */ jsx27(XIcon, { color: "#DC2626" }),
15184
+ icon: /* @__PURE__ */ jsx30(XIcon, { color: "#DC2626" }),
14973
15185
  color: "#DC2626",
14974
15186
  bgColor: "rgba(220, 38, 38, 0.08)",
14975
15187
  borderColor: "rgba(220, 38, 38, 0.2)",
@@ -14979,10 +15191,10 @@ function MessageItemImpl({
14979
15191
  }
14980
15192
  );
14981
15193
  case "document_replacement_requested":
14982
- return /* @__PURE__ */ jsx27(
15194
+ return /* @__PURE__ */ jsx30(
14983
15195
  StatusEvent,
14984
15196
  {
14985
- icon: /* @__PURE__ */ jsx27(RefreshIcon, { color: "#D97706" }),
15197
+ icon: /* @__PURE__ */ jsx30(RefreshIcon, { color: "#D97706" }),
14986
15198
  color: "#D97706",
14987
15199
  bgColor: "rgba(245, 158, 11, 0.08)",
14988
15200
  borderColor: "rgba(245, 158, 11, 0.2)",
@@ -14992,7 +15204,7 @@ function MessageItemImpl({
14992
15204
  }
14993
15205
  );
14994
15206
  default:
14995
- return /* @__PURE__ */ jsx27(
15207
+ return /* @__PURE__ */ jsx30(
14996
15208
  ChatBubble,
14997
15209
  {
14998
15210
  message,
@@ -15008,20 +15220,20 @@ function MessageItemImpl({
15008
15220
  var MessageItem = React11.memo(MessageItemImpl);
15009
15221
 
15010
15222
  // src/RedactoPrivacyCenter/components/CaseDetails/MessageComposer.tsx
15011
- import { useEffect as useEffect8, useRef as useRef2 } from "react";
15223
+ import { useEffect as useEffect9, useRef as useRef3 } from "react";
15012
15224
  import {
15013
- ActivityIndicator as ActivityIndicator6,
15225
+ ActivityIndicator as ActivityIndicator7,
15014
15226
  Animated as Animated3,
15015
15227
  Easing as Easing2,
15016
- StyleSheet as StyleSheet23,
15017
- Text as Text23,
15228
+ StyleSheet as StyleSheet24,
15229
+ Text as Text24,
15018
15230
  TextInput as TextInput3,
15019
15231
  TouchableOpacity as TouchableOpacity15,
15020
- View as View22
15232
+ View as View23
15021
15233
  } from "react-native";
15022
- import { useTranslation as useTranslation15 } from "react-i18next";
15234
+ import { useTranslation as useTranslation16 } from "react-i18next";
15023
15235
  import Svg16, { Path as Path16 } from "react-native-svg";
15024
- import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
15236
+ import { jsx as jsx31, jsxs as jsxs23 } from "react/jsx-runtime";
15025
15237
  function MessageComposer({
15026
15238
  messageText,
15027
15239
  onMessageTextChange,
@@ -15032,11 +15244,11 @@ function MessageComposer({
15032
15244
  isSending,
15033
15245
  isUploading
15034
15246
  }) {
15035
- const { t } = useTranslation15();
15247
+ const { t } = useTranslation16();
15036
15248
  const { colors } = useTheme();
15037
15249
  const canSend = (messageText.trim().length > 0 || pendingUpload) && !isSending && !isUploading;
15038
- const activate = useRef2(new Animated3.Value(canSend ? 1 : 0)).current;
15039
- useEffect8(() => {
15250
+ const activate = useRef3(new Animated3.Value(canSend ? 1 : 0)).current;
15251
+ useEffect9(() => {
15040
15252
  Animated3.timing(activate, {
15041
15253
  toValue: canSend ? 1 : 0,
15042
15254
  duration: 180,
@@ -15048,15 +15260,15 @@ function MessageComposer({
15048
15260
  inputRange: [0, 1],
15049
15261
  outputRange: [colors.border, colors.primary]
15050
15262
  });
15051
- const pressScale = useRef2(new Animated3.Value(1)).current;
15263
+ const pressScale = useRef3(new Animated3.Value(1)).current;
15052
15264
  const handlePressIn = () => {
15053
15265
  Animated3.spring(pressScale, { toValue: 0.88, useNativeDriver: true, speed: 30, bounciness: 0 }).start();
15054
15266
  };
15055
15267
  const handlePressOut = () => {
15056
15268
  Animated3.spring(pressScale, { toValue: 1, useNativeDriver: true, speed: 20, bounciness: 6 }).start();
15057
15269
  };
15058
- const pillIn = useRef2(new Animated3.Value(0)).current;
15059
- useEffect8(() => {
15270
+ const pillIn = useRef3(new Animated3.Value(0)).current;
15271
+ useEffect9(() => {
15060
15272
  Animated3.timing(pillIn, {
15061
15273
  toValue: pendingUpload ? 1 : 0,
15062
15274
  duration: 220,
@@ -15066,12 +15278,12 @@ function MessageComposer({
15066
15278
  }, [pendingUpload, pillIn]);
15067
15279
  const pillOpacity = pillIn;
15068
15280
  const pillTranslateY = pillIn.interpolate({ inputRange: [0, 1], outputRange: [8, 0] });
15069
- return /* @__PURE__ */ jsxs22(View22, { style: [styles23.container, { borderTopColor: colors.border, backgroundColor: colors.background }], children: [
15070
- pendingUpload && /* @__PURE__ */ jsxs22(
15281
+ return /* @__PURE__ */ jsxs23(View23, { style: [styles24.container, { borderTopColor: colors.border, backgroundColor: colors.background }], children: [
15282
+ pendingUpload && /* @__PURE__ */ jsxs23(
15071
15283
  Animated3.View,
15072
15284
  {
15073
15285
  style: [
15074
- styles23.uploadPill,
15286
+ styles24.uploadPill,
15075
15287
  {
15076
15288
  backgroundColor: `${colors.primary}15`,
15077
15289
  borderColor: `${colors.primary}30`,
@@ -15080,7 +15292,7 @@ function MessageComposer({
15080
15292
  }
15081
15293
  ],
15082
15294
  children: [
15083
- /* @__PURE__ */ jsx28(Svg16, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx28(
15295
+ /* @__PURE__ */ jsx31(Svg16, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx31(
15084
15296
  Path16,
15085
15297
  {
15086
15298
  d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z M14 2v6h6",
@@ -15090,13 +15302,13 @@ function MessageComposer({
15090
15302
  strokeLinejoin: "round"
15091
15303
  }
15092
15304
  ) }),
15093
- /* @__PURE__ */ jsxs22(Text23, { style: [styles23.uploadFileName, { color: colors.primary }], numberOfLines: 1, children: [
15305
+ /* @__PURE__ */ jsxs23(Text24, { style: [styles24.uploadFileName, { color: colors.primary }], numberOfLines: 1, children: [
15094
15306
  pendingUpload.file_name,
15095
15307
  " (",
15096
15308
  formatFileSize(pendingUpload.file_size),
15097
15309
  ")"
15098
15310
  ] }),
15099
- /* @__PURE__ */ jsx28(TouchableOpacity15, { onPress: onRemovePendingUpload, hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }, children: /* @__PURE__ */ jsx28(Svg16, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx28(
15311
+ /* @__PURE__ */ jsx31(TouchableOpacity15, { onPress: onRemovePendingUpload, hitSlop: { top: 8, bottom: 8, left: 8, right: 8 }, children: /* @__PURE__ */ jsx31(Svg16, { width: 14, height: 14, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx31(
15100
15312
  Path16,
15101
15313
  {
15102
15314
  d: "M18 6L6 18M6 6l12 12",
@@ -15109,16 +15321,16 @@ function MessageComposer({
15109
15321
  ]
15110
15322
  }
15111
15323
  ),
15112
- /* @__PURE__ */ jsxs22(View22, { style: [styles23.pill, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
15113
- /* @__PURE__ */ jsx28(
15324
+ /* @__PURE__ */ jsxs23(View23, { style: [styles24.pill, { backgroundColor: colors.surface, borderColor: colors.border }], children: [
15325
+ /* @__PURE__ */ jsx31(
15114
15326
  TouchableOpacity15,
15115
15327
  {
15116
- style: styles23.attachButton,
15328
+ style: styles24.attachButton,
15117
15329
  onPress: onAttachClick,
15118
15330
  disabled: isUploading,
15119
15331
  activeOpacity: 0.6,
15120
15332
  accessibilityLabel: t("uploadFile") || "Attach file",
15121
- children: isUploading ? /* @__PURE__ */ jsx28(ActivityIndicator6, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsx28(Svg16, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx28(
15333
+ children: isUploading ? /* @__PURE__ */ jsx31(ActivityIndicator7, { size: "small", color: colors.primary }) : /* @__PURE__ */ jsx31(Svg16, { width: 18, height: 18, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx31(
15122
15334
  Path16,
15123
15335
  {
15124
15336
  d: "M21.44 11.05l-9.19 9.19a6 6 0 01-8.49-8.49l9.19-9.19a4 4 0 015.66 5.66l-9.2 9.19a2 2 0 01-2.83-2.83l8.49-8.48",
@@ -15130,10 +15342,10 @@ function MessageComposer({
15130
15342
  ) })
15131
15343
  }
15132
15344
  ),
15133
- /* @__PURE__ */ jsx28(
15345
+ /* @__PURE__ */ jsx31(
15134
15346
  TextInput3,
15135
15347
  {
15136
- style: [styles23.input, { color: colors.text }],
15348
+ style: [styles24.input, { color: colors.text }],
15137
15349
  value: messageText,
15138
15350
  onChangeText: onMessageTextChange,
15139
15351
  placeholder: t("writeMessagePlaceholder") || "Type a message...",
@@ -15143,7 +15355,7 @@ function MessageComposer({
15143
15355
  editable: !isSending
15144
15356
  }
15145
15357
  ),
15146
- /* @__PURE__ */ jsx28(Animated3.View, { style: { transform: [{ scale: pressScale }] }, children: /* @__PURE__ */ jsx28(
15358
+ /* @__PURE__ */ jsx31(Animated3.View, { style: { transform: [{ scale: pressScale }] }, children: /* @__PURE__ */ jsx31(
15147
15359
  TouchableOpacity15,
15148
15360
  {
15149
15361
  onPress: onSend,
@@ -15152,7 +15364,7 @@ function MessageComposer({
15152
15364
  disabled: !canSend,
15153
15365
  activeOpacity: 0.85,
15154
15366
  accessibilityLabel: t("send") || "Send",
15155
- children: /* @__PURE__ */ jsx28(Animated3.View, { style: [styles23.sendButton, { backgroundColor: sendBgColor }], children: isSending ? /* @__PURE__ */ jsx28(ActivityIndicator6, { size: "small", color: colors.primaryText }) : /* @__PURE__ */ jsx28(Svg16, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx28(
15367
+ children: /* @__PURE__ */ jsx31(Animated3.View, { style: [styles24.sendButton, { backgroundColor: sendBgColor }], children: isSending ? /* @__PURE__ */ jsx31(ActivityIndicator7, { size: "small", color: colors.primaryText }) : /* @__PURE__ */ jsx31(Svg16, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx31(
15156
15368
  Path16,
15157
15369
  {
15158
15370
  d: "M22 2L11 13 M22 2l-7 20-4-9-9-4 20-7z",
@@ -15167,7 +15379,7 @@ function MessageComposer({
15167
15379
  ] })
15168
15380
  ] });
15169
15381
  }
15170
- var styles23 = StyleSheet23.create({
15382
+ var styles24 = StyleSheet24.create({
15171
15383
  container: {
15172
15384
  borderTopWidth: 1,
15173
15385
  paddingHorizontal: 12,
@@ -15227,7 +15439,7 @@ var styles23 = StyleSheet23.create({
15227
15439
  });
15228
15440
 
15229
15441
  // src/RedactoPrivacyCenter/components/CaseDetails/MessagesTab.tsx
15230
- import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
15442
+ import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs24 } from "react/jsx-runtime";
15231
15443
  var STREAK_GAP_MS = 5 * 60 * 1e3;
15232
15444
  function isStreakBoundary(a, b) {
15233
15445
  if (!a || !b) return true;
@@ -15256,11 +15468,11 @@ function sameDay(a, b) {
15256
15468
  return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
15257
15469
  }
15258
15470
  function MessagesTab({ caseUuid }) {
15259
- const { t } = useTranslation16();
15471
+ const { t } = useTranslation17();
15260
15472
  const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
15261
15473
  const { consentClient } = useBaseUrl();
15262
15474
  const { colors } = useTheme();
15263
- const authContext = useMemo11(() => ({
15475
+ const authContext = useMemo12(() => ({
15264
15476
  accessToken,
15265
15477
  refreshToken,
15266
15478
  onError,
@@ -15272,13 +15484,13 @@ function MessagesTab({ caseUuid }) {
15272
15484
  caseUuid,
15273
15485
  authContext
15274
15486
  );
15275
- const [messageText, setMessageText] = useState13("");
15276
- const [pendingUpload, setPendingUpload] = useState13(null);
15277
- const [isSending, setIsSending] = useState13(false);
15278
- const [isUploading, setIsUploading] = useState13(false);
15279
- const [isSubmittingForRequest, setIsSubmittingForRequest] = useState13(false);
15280
- const flatListRef = useRef3(null);
15281
- useEffect9(() => {
15487
+ const [messageText, setMessageText] = useState14("");
15488
+ const [pendingUpload, setPendingUpload] = useState14(null);
15489
+ const [isSending, setIsSending] = useState14(false);
15490
+ const [isUploading, setIsUploading] = useState14(false);
15491
+ const [isSubmittingForRequest, setIsSubmittingForRequest] = useState14(false);
15492
+ const flatListRef = useRef4(null);
15493
+ useEffect10(() => {
15282
15494
  if (messages && messages.length > 0) {
15283
15495
  setTimeout(() => {
15284
15496
  var _a;
@@ -15286,7 +15498,7 @@ function MessagesTab({ caseUuid }) {
15286
15498
  }, 100);
15287
15499
  }
15288
15500
  }, [messages == null ? void 0 : messages.length]);
15289
- const handleSend = useCallback10(async () => {
15501
+ const handleSend = useCallback11(async () => {
15290
15502
  if (!messageText.trim() && !pendingUpload) return;
15291
15503
  if (!organizationId || !workspaceId) return;
15292
15504
  setIsSending(true);
@@ -15310,7 +15522,7 @@ function MessagesTab({ caseUuid }) {
15310
15522
  setIsSending(false);
15311
15523
  }
15312
15524
  }, [messageText, pendingUpload, organizationId, workspaceId, caseUuid, authContext, consentClient, refetch]);
15313
- const handleAttach = useCallback10(async () => {
15525
+ const handleAttach = useCallback11(async () => {
15314
15526
  if (!organizationId || !workspaceId) return;
15315
15527
  try {
15316
15528
  const file = await pickFile();
@@ -15343,10 +15555,10 @@ function MessagesTab({ caseUuid }) {
15343
15555
  setIsUploading(false);
15344
15556
  }
15345
15557
  }, [organizationId, workspaceId, caseUuid, authContext, consentClient]);
15346
- const handleUploadForRequest = useCallback10((_requestEventUuid) => {
15558
+ const handleUploadForRequest = useCallback11((_requestEventUuid) => {
15347
15559
  handleAttach();
15348
15560
  }, [handleAttach]);
15349
- const messagesList = useMemo11(() => {
15561
+ const messagesList = useMemo12(() => {
15350
15562
  const list = messages ? [...messages] : [];
15351
15563
  list.sort((a, b) => {
15352
15564
  const ta = new Date(a.created_at).getTime();
@@ -15355,17 +15567,17 @@ function MessagesTab({ caseUuid }) {
15355
15567
  });
15356
15568
  return list;
15357
15569
  }, [messages]);
15358
- const keyExtractor = useCallback10((item) => item.uuid, []);
15359
- const renderMessage = useCallback10(
15570
+ const keyExtractor = useCallback11((item) => item.uuid, []);
15571
+ const renderMessage = useCallback11(
15360
15572
  ({ item, index }) => {
15361
15573
  const prev = index > 0 ? messagesList[index - 1] : void 0;
15362
15574
  const next = index < messagesList.length - 1 ? messagesList[index + 1] : void 0;
15363
15575
  const isFirstInGroup = isStreakBoundary(prev, item);
15364
15576
  const isLastInGroup = isStreakBoundary(item, next);
15365
15577
  const dateSeparator = getDateSeparator(prev == null ? void 0 : prev.created_at, item.created_at, t);
15366
- return /* @__PURE__ */ jsxs23(Fragment5, { children: [
15367
- dateSeparator ? /* @__PURE__ */ jsx29(View23, { style: styles24.daySeparator, children: /* @__PURE__ */ jsx29(View23, { style: [styles24.dayPill, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsx29(Text24, { style: [styles24.dayPillText, { color: colors.textSecondary }], children: dateSeparator }) }) }) : null,
15368
- /* @__PURE__ */ jsx29(
15578
+ return /* @__PURE__ */ jsxs24(Fragment5, { children: [
15579
+ dateSeparator ? /* @__PURE__ */ jsx32(View24, { style: styles25.daySeparator, children: /* @__PURE__ */ jsx32(View24, { style: [styles25.dayPill, { backgroundColor: colors.surface, borderColor: colors.border }], children: /* @__PURE__ */ jsx32(Text25, { style: [styles25.dayPillText, { color: colors.textSecondary }], children: dateSeparator }) }) }) : null,
15580
+ /* @__PURE__ */ jsx32(
15369
15581
  MessageItem,
15370
15582
  {
15371
15583
  message: item,
@@ -15380,20 +15592,20 @@ function MessagesTab({ caseUuid }) {
15380
15592
  [messagesList, handleUploadForRequest, isSubmittingForRequest, colors, t]
15381
15593
  );
15382
15594
  if (isLoading) {
15383
- return /* @__PURE__ */ jsx29(View23, { style: styles24.centered, children: /* @__PURE__ */ jsx29(ActivityIndicator7, { size: "large", color: colors.primary }) });
15595
+ return /* @__PURE__ */ jsx32(View24, { style: styles25.centered, children: /* @__PURE__ */ jsx32(ActivityIndicator8, { size: "large", color: colors.primary }) });
15384
15596
  }
15385
15597
  if (error) {
15386
- return /* @__PURE__ */ jsx29(View23, { style: styles24.centered, children: /* @__PURE__ */ jsx29(Text24, { style: [styles24.errorText, { color: colors.error }], children: t("errorLoadingMessages") || "Error loading messages" }) });
15598
+ return /* @__PURE__ */ jsx32(View24, { style: styles25.centered, children: /* @__PURE__ */ jsx32(Text25, { style: [styles25.errorText, { color: colors.error }], children: t("errorLoadingMessages") || "Error loading messages" }) });
15387
15599
  }
15388
- return /* @__PURE__ */ jsxs23(
15600
+ return /* @__PURE__ */ jsxs24(
15389
15601
  KeyboardAvoidingView2,
15390
15602
  {
15391
- style: styles24.container,
15603
+ style: styles25.container,
15392
15604
  behavior: Platform8.OS === "ios" ? "padding" : "height",
15393
15605
  keyboardVerticalOffset: Platform8.OS === "ios" ? 100 : 0,
15394
15606
  children: [
15395
- /* @__PURE__ */ jsxs23(View23, { style: styles24.secureRow, children: [
15396
- /* @__PURE__ */ jsx29(Svg17, { width: 12, height: 12, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx29(
15607
+ /* @__PURE__ */ jsxs24(View24, { style: styles25.secureRow, children: [
15608
+ /* @__PURE__ */ jsx32(Svg17, { width: 12, height: 12, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx32(
15397
15609
  Path17,
15398
15610
  {
15399
15611
  d: "M5 11h14a1 1 0 011 1v8a1 1 0 01-1 1H5a1 1 0 01-1-1v-8a1 1 0 011-1zM8 11V7a4 4 0 118 0v4",
@@ -15403,18 +15615,18 @@ function MessagesTab({ caseUuid }) {
15403
15615
  strokeLinejoin: "round"
15404
15616
  }
15405
15617
  ) }),
15406
- /* @__PURE__ */ jsx29(Text24, { style: [styles24.secureText, { color: colors.textSecondary }], children: t("secureMessagesNotice") || "Messages are encrypted and securely transmitted" })
15618
+ /* @__PURE__ */ jsx32(Text25, { style: [styles25.secureText, { color: colors.textSecondary }], children: t("secureMessagesNotice") || "Messages are encrypted and securely transmitted" })
15407
15619
  ] }),
15408
- /* @__PURE__ */ jsx29(
15620
+ /* @__PURE__ */ jsx32(
15409
15621
  FlatList4,
15410
15622
  {
15411
15623
  ref: flatListRef,
15412
15624
  data: messagesList,
15413
15625
  keyExtractor,
15414
15626
  renderItem: renderMessage,
15415
- contentContainerStyle: styles24.messagesList,
15416
- ListEmptyComponent: /* @__PURE__ */ jsxs23(View23, { style: styles24.emptyContainer, children: [
15417
- /* @__PURE__ */ jsx29(View23, { style: [styles24.emptyIconWrap, { backgroundColor: `${colors.primary}12` }], children: /* @__PURE__ */ jsx29(Svg17, { width: 28, height: 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx29(
15627
+ contentContainerStyle: styles25.messagesList,
15628
+ ListEmptyComponent: /* @__PURE__ */ jsxs24(View24, { style: styles25.emptyContainer, children: [
15629
+ /* @__PURE__ */ jsx32(View24, { style: [styles25.emptyIconWrap, { backgroundColor: `${colors.primary}12` }], children: /* @__PURE__ */ jsx32(Svg17, { width: 28, height: 28, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx32(
15418
15630
  Path17,
15419
15631
  {
15420
15632
  d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",
@@ -15424,8 +15636,8 @@ function MessagesTab({ caseUuid }) {
15424
15636
  strokeLinejoin: "round"
15425
15637
  }
15426
15638
  ) }) }),
15427
- /* @__PURE__ */ jsx29(Text24, { style: [styles24.emptyTitle, { color: colors.text }], children: t("noMessagesYet") || "No messages yet" }),
15428
- /* @__PURE__ */ jsx29(Text24, { style: [styles24.emptySubtitle, { color: colors.textSecondary }], children: t("noMessagesYetSubtitle", "Start the conversation below") })
15639
+ /* @__PURE__ */ jsx32(Text25, { style: [styles25.emptyTitle, { color: colors.text }], children: t("noMessagesYet") || "No messages yet" }),
15640
+ /* @__PURE__ */ jsx32(Text25, { style: [styles25.emptySubtitle, { color: colors.textSecondary }], children: t("noMessagesYetSubtitle", "Start the conversation below") })
15429
15641
  ] }),
15430
15642
  onContentSizeChange: () => {
15431
15643
  var _a;
@@ -15437,7 +15649,7 @@ function MessagesTab({ caseUuid }) {
15437
15649
  removeClippedSubviews: true
15438
15650
  }
15439
15651
  ),
15440
- /* @__PURE__ */ jsx29(
15652
+ /* @__PURE__ */ jsx32(
15441
15653
  MessageComposer,
15442
15654
  {
15443
15655
  messageText,
@@ -15454,7 +15666,7 @@ function MessagesTab({ caseUuid }) {
15454
15666
  }
15455
15667
  );
15456
15668
  }
15457
- var styles24 = StyleSheet24.create({
15669
+ var styles25 = StyleSheet25.create({
15458
15670
  container: {
15459
15671
  flex: 1
15460
15672
  },
@@ -15529,16 +15741,16 @@ var styles24 = StyleSheet24.create({
15529
15741
  });
15530
15742
 
15531
15743
  // src/RedactoPrivacyCenter/components/CaseDetails/CaseDetailsPage.tsx
15532
- import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
15744
+ import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
15533
15745
  function CaseDetailsPage() {
15534
15746
  var _a, _b;
15535
- const { t } = useTranslation17();
15747
+ const { t } = useTranslation18();
15536
15748
  const { navigateTo, selectedCase, setSelectedCase, pendingCaseUuid } = useInternalNavigation();
15537
15749
  const { accessToken, refreshToken, email, organizationId, workspaceId, onError, updateTokens } = useAuth();
15538
15750
  const { colors } = useTheme();
15539
15751
  const requestTypeLabels = useRequestTypeLabels();
15540
- const [activeTab, setActiveTab] = useState14("request-details");
15541
- const authContext = useMemo12(() => ({
15752
+ const [activeTab, setActiveTab] = useState15("request-details");
15753
+ const authContext = useMemo13(() => ({
15542
15754
  accessToken,
15543
15755
  refreshToken,
15544
15756
  onError,
@@ -15551,7 +15763,7 @@ function CaseDetailsPage() {
15551
15763
  email != null ? email : void 0,
15552
15764
  authContext
15553
15765
  );
15554
- useEffect10(() => {
15766
+ useEffect11(() => {
15555
15767
  if (!cases) return;
15556
15768
  if (cases.length === 0) {
15557
15769
  navigateTo("form");
@@ -15565,23 +15777,23 @@ function CaseDetailsPage() {
15565
15777
  navigateTo("form");
15566
15778
  }
15567
15779
  }, [cases, targetUuid, setSelectedCase, navigateTo]);
15568
- useEffect10(() => {
15780
+ useEffect11(() => {
15569
15781
  if (!selectedCase && !targetUuid && !isLoading) {
15570
15782
  navigateTo("form");
15571
15783
  }
15572
15784
  }, [selectedCase, targetUuid, isLoading, navigateTo]);
15573
15785
  if (!selectedCase) {
15574
- return /* @__PURE__ */ jsx30(View24, { style: styles25.centered, children: isLoading ? /* @__PURE__ */ jsx30(ActivityIndicator8, { size: "large", color: colors.primary }) : /* @__PURE__ */ jsx30(Text25, { style: [styles25.emptyText, { color: colors.textSecondary }], children: t("noCasesYet") || "No case selected" }) });
15786
+ return /* @__PURE__ */ jsx33(View25, { style: styles26.centered, children: isLoading ? /* @__PURE__ */ jsx33(ActivityIndicator9, { size: "large", color: colors.primary }) : /* @__PURE__ */ jsx33(Text26, { style: [styles26.emptyText, { color: colors.textSecondary }], children: t("noCasesYet") || "No case selected" }) });
15575
15787
  }
15576
15788
  const requestTypeLabel = requestTypeLabels[(_b = selectedCase.request_type) == null ? void 0 : _b.toUpperCase()] || selectedCase.request_type_display || formatCaseStatus(selectedCase.request_type || "");
15577
15789
  const tabs = [
15578
15790
  { id: "request-details", label: t("requestDetails") || "Request Details" },
15579
15791
  { id: "messages", label: t("messages") || "Messages" }
15580
15792
  ];
15581
- return /* @__PURE__ */ jsxs24(View24, { style: [styles25.container, { backgroundColor: colors.background }], children: [
15582
- /* @__PURE__ */ jsxs24(View24, { style: [styles25.header, { borderBottomColor: colors.border }], children: [
15583
- /* @__PURE__ */ jsxs24(TouchableOpacity16, { style: styles25.backButton, onPress: () => navigateTo("form"), activeOpacity: 0.7, children: [
15584
- /* @__PURE__ */ jsx30(Svg18, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx30(
15793
+ return /* @__PURE__ */ jsxs25(View25, { style: [styles26.container, { backgroundColor: colors.background }], children: [
15794
+ /* @__PURE__ */ jsxs25(View25, { style: [styles26.header, { borderBottomColor: colors.border }], children: [
15795
+ /* @__PURE__ */ jsxs25(TouchableOpacity16, { style: styles26.backButton, onPress: () => navigateTo("form"), activeOpacity: 0.7, children: [
15796
+ /* @__PURE__ */ jsx33(Svg18, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx33(
15585
15797
  Path18,
15586
15798
  {
15587
15799
  d: "M19 12H5m0 0l7 7m-7-7l7-7",
@@ -15591,12 +15803,12 @@ function CaseDetailsPage() {
15591
15803
  strokeLinejoin: "round"
15592
15804
  }
15593
15805
  ) }),
15594
- /* @__PURE__ */ jsx30(Text25, { style: [styles25.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
15806
+ /* @__PURE__ */ jsx33(Text26, { style: [styles26.backText, { color: colors.primary }], children: t("backToHome") || "Back" })
15595
15807
  ] }),
15596
- /* @__PURE__ */ jsxs24(View24, { style: styles25.caseInfo, children: [
15597
- /* @__PURE__ */ jsxs24(View24, { style: styles25.caseIdRow, children: [
15598
- /* @__PURE__ */ jsx30(Text25, { style: [styles25.caseId, { color: colors.text }], children: selectedCase.case_id }),
15599
- /* @__PURE__ */ jsx30(
15808
+ /* @__PURE__ */ jsxs25(View25, { style: styles26.caseInfo, children: [
15809
+ /* @__PURE__ */ jsxs25(View25, { style: styles26.caseIdRow, children: [
15810
+ /* @__PURE__ */ jsx33(Text26, { style: [styles26.caseId, { color: colors.text }], children: selectedCase.case_id }),
15811
+ /* @__PURE__ */ jsx33(
15600
15812
  PCBadge,
15601
15813
  {
15602
15814
  status: getCaseStatusVariant(selectedCase.status),
@@ -15604,7 +15816,7 @@ function CaseDetailsPage() {
15604
15816
  }
15605
15817
  )
15606
15818
  ] }),
15607
- /* @__PURE__ */ jsxs24(Text25, { style: [styles25.caseType, { color: colors.textSecondary }], children: [
15819
+ /* @__PURE__ */ jsxs25(Text26, { style: [styles26.caseType, { color: colors.textSecondary }], children: [
15608
15820
  requestTypeLabel,
15609
15821
  " ",
15610
15822
  "\xB7",
@@ -15615,39 +15827,39 @@ function CaseDetailsPage() {
15615
15827
  ] })
15616
15828
  ] })
15617
15829
  ] }),
15618
- /* @__PURE__ */ jsx30(View24, { style: [styles25.tabBar, { borderBottomColor: colors.border }], children: tabs.map((tab) => /* @__PURE__ */ jsxs24(
15830
+ /* @__PURE__ */ jsx33(View25, { style: [styles26.tabBar, { borderBottomColor: colors.border }], children: tabs.map((tab) => /* @__PURE__ */ jsxs25(
15619
15831
  TouchableOpacity16,
15620
15832
  {
15621
- style: [styles25.tab, activeTab === tab.id && styles25.tabActive],
15833
+ style: [styles26.tab, activeTab === tab.id && styles26.tabActive],
15622
15834
  onPress: () => setActiveTab(tab.id),
15623
15835
  activeOpacity: 0.7,
15624
15836
  children: [
15625
- /* @__PURE__ */ jsx30(
15626
- Text25,
15837
+ /* @__PURE__ */ jsx33(
15838
+ Text26,
15627
15839
  {
15628
15840
  style: [
15629
- styles25.tabText,
15841
+ styles26.tabText,
15630
15842
  { color: activeTab === tab.id ? colors.primary : colors.textSecondary },
15631
- activeTab === tab.id && styles25.tabTextActive
15843
+ activeTab === tab.id && styles26.tabTextActive
15632
15844
  ],
15633
15845
  children: tab.label
15634
15846
  }
15635
15847
  ),
15636
- activeTab === tab.id && /* @__PURE__ */ jsx30(View24, { style: [styles25.tabIndicator, { backgroundColor: colors.primary }] })
15848
+ activeTab === tab.id && /* @__PURE__ */ jsx33(View25, { style: [styles26.tabIndicator, { backgroundColor: colors.primary }] })
15637
15849
  ]
15638
15850
  },
15639
15851
  tab.id
15640
15852
  )) }),
15641
- /* @__PURE__ */ jsx30(View24, { style: styles25.tabContent, children: activeTab === "request-details" ? /* @__PURE__ */ jsx30(
15853
+ /* @__PURE__ */ jsx33(View25, { style: styles26.tabContent, children: activeTab === "request-details" ? /* @__PURE__ */ jsx33(
15642
15854
  RequestDetailsTab,
15643
15855
  {
15644
15856
  selectedCase,
15645
15857
  requestTypeLabel
15646
15858
  }
15647
- ) : /* @__PURE__ */ jsx30(MessagesTab, { caseUuid: selectedCase.uuid }) })
15859
+ ) : /* @__PURE__ */ jsx33(MessagesTab, { caseUuid: selectedCase.uuid }) })
15648
15860
  ] });
15649
15861
  }
15650
- var styles25 = StyleSheet25.create({
15862
+ var styles26 = StyleSheet26.create({
15651
15863
  container: {
15652
15864
  flex: 1
15653
15865
  },
@@ -15721,21 +15933,23 @@ var styles25 = StyleSheet25.create({
15721
15933
  });
15722
15934
 
15723
15935
  // src/RedactoPrivacyCenter/RedactoPrivacyCenter.tsx
15724
- import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
15936
+ import { Fragment as Fragment6, jsx as jsx34, jsxs as jsxs26 } from "react/jsx-runtime";
15937
+ var privacyCenterQueryClient = new QueryClient();
15725
15938
  function PrivacyCenterContent({ onBack }) {
15726
15939
  const { currentPage } = useInternalNavigation();
15727
15940
  const { colors } = useTheme();
15728
- return /* @__PURE__ */ jsx31(View25, { style: [styles26.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs25(View25, { style: styles26.mainColumn, children: [
15729
- /* @__PURE__ */ jsx31(Navbar, { onBack }),
15730
- /* @__PURE__ */ jsxs25(View25, { style: styles26.content, children: [
15731
- currentPage === "consent-manager" && /* @__PURE__ */ jsx31(ConsentManager, {}),
15732
- currentPage === "form" && /* @__PURE__ */ jsx31(FormPage, {}),
15733
- currentPage === "activity" && /* @__PURE__ */ jsx31(ActivitiesList, {}),
15734
- currentPage === "receipts" && /* @__PURE__ */ jsx31(ReceiptsList, {}),
15735
- currentPage === "case-details" && /* @__PURE__ */ jsx31(CaseDetailsPage, {})
15736
- ] }),
15737
- /* @__PURE__ */ jsx31(BottomTabBar, {}),
15738
- /* @__PURE__ */ jsx31(Footer, {})
15941
+ const { status } = useDataAvailability();
15942
+ return /* @__PURE__ */ jsx34(View26, { style: [styles27.container, { backgroundColor: colors.background }], children: /* @__PURE__ */ jsxs26(View26, { style: styles27.mainColumn, children: [
15943
+ /* @__PURE__ */ jsx34(Navbar, { onBack }),
15944
+ /* @__PURE__ */ jsx34(View26, { style: styles27.content, children: status === "checking" ? /* @__PURE__ */ jsx34(PCLoader, {}) : status === "empty" ? /* @__PURE__ */ jsx34(PrivacyCenterEmptyState, {}) : /* @__PURE__ */ jsxs26(Fragment6, { children: [
15945
+ currentPage === "consent-manager" && /* @__PURE__ */ jsx34(ConsentManager, {}),
15946
+ currentPage === "form" && /* @__PURE__ */ jsx34(FormPage, {}),
15947
+ currentPage === "activity" && /* @__PURE__ */ jsx34(ActivitiesList, {}),
15948
+ currentPage === "receipts" && /* @__PURE__ */ jsx34(ReceiptsList, {}),
15949
+ currentPage === "case-details" && /* @__PURE__ */ jsx34(CaseDetailsPage, {})
15950
+ ] }) }),
15951
+ status === "has-data" && /* @__PURE__ */ jsx34(BottomTabBar, {}),
15952
+ /* @__PURE__ */ jsx34(Footer, {})
15739
15953
  ] }) });
15740
15954
  }
15741
15955
  function RedactoPrivacyCenter({
@@ -15748,17 +15962,17 @@ function RedactoPrivacyCenter({
15748
15962
  initialPage = "consent-manager",
15749
15963
  onBack
15750
15964
  }) {
15751
- return /* @__PURE__ */ jsx31(I18nextProvider, { i18n: i18n_default, children: /* @__PURE__ */ jsx31(ThemeProvider, { defaultTheme: theme, children: /* @__PURE__ */ jsx31(BaseUrlProvider, { baseUrl, children: /* @__PURE__ */ jsx31(
15965
+ return /* @__PURE__ */ jsx34(QueryClientProvider, { client: privacyCenterQueryClient, children: /* @__PURE__ */ jsx34(I18nextProvider, { i18n: i18n_default, children: /* @__PURE__ */ jsx34(ThemeProvider, { defaultTheme: theme, children: /* @__PURE__ */ jsx34(BaseUrlProvider, { baseUrl, children: /* @__PURE__ */ jsx34(
15752
15966
  AuthProvider,
15753
15967
  {
15754
15968
  accessToken,
15755
15969
  refreshToken,
15756
15970
  onError,
15757
- children: /* @__PURE__ */ jsx31(NavigationProvider, { initialPage, children: /* @__PURE__ */ jsx31(PrivacyCenterContent, { onBack }) })
15971
+ children: /* @__PURE__ */ jsx34(NavigationProvider, { initialPage, children: /* @__PURE__ */ jsx34(DataAvailabilityProvider, { children: /* @__PURE__ */ jsx34(PrivacyCenterContent, { onBack }) }) })
15758
15972
  }
15759
- ) }) }) });
15973
+ ) }) }) }) });
15760
15974
  }
15761
- var styles26 = StyleSheet26.create({
15975
+ var styles27 = StyleSheet27.create({
15762
15976
  container: {
15763
15977
  flex: 1
15764
15978
  },
@@ -15773,15 +15987,15 @@ var styles26 = StyleSheet26.create({
15773
15987
 
15774
15988
  // src/RedactoPrivacyCenter/components/SideMenu.tsx
15775
15989
  import {
15776
- StyleSheet as StyleSheet27,
15777
- Text as Text26,
15990
+ StyleSheet as StyleSheet28,
15991
+ Text as Text27,
15778
15992
  TouchableOpacity as TouchableOpacity17,
15779
- View as View26
15993
+ View as View27
15780
15994
  } from "react-native";
15781
- import { useTranslation as useTranslation18 } from "react-i18next";
15995
+ import { useTranslation as useTranslation19 } from "react-i18next";
15782
15996
  import Svg19, { Path as Path19 } from "react-native-svg";
15783
- import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
15784
- var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx32(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx32(
15997
+ import { Fragment as Fragment7, jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
15998
+ var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx35(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx35(
15785
15999
  Path19,
15786
16000
  {
15787
16001
  d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",
@@ -15791,7 +16005,7 @@ var ConsentIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx32(Svg19, { width
15791
16005
  strokeLinejoin: "round"
15792
16006
  }
15793
16007
  ) });
15794
- var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx32(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx32(
16008
+ var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx35(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx35(
15795
16009
  Path19,
15796
16010
  {
15797
16011
  d: "M9 4h6a2 2 0 012 2v14a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2z M9 4V2h6v2 M9 12h6 M9 16h6",
@@ -15801,7 +16015,7 @@ var FormIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx32(Svg19, { width: s
15801
16015
  strokeLinejoin: "round"
15802
16016
  }
15803
16017
  ) });
15804
- var ActivityIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx32(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx32(
16018
+ var ActivityIcon = ({ color, size = 18 }) => /* @__PURE__ */ jsx35(Svg19, { width: size, height: size, viewBox: "0 0 24 24", fill: "none", children: /* @__PURE__ */ jsx35(
15805
16019
  Path19,
15806
16020
  {
15807
16021
  d: "M12 2a10 10 0 100 20 10 10 0 000-20z M12 6v6l4 2",
@@ -15817,64 +16031,64 @@ var MENU_ITEMS = [
15817
16031
  { page: "activity", labelKey: "activities", fallback: "Activities", icon: ActivityIcon }
15818
16032
  ];
15819
16033
  function SideMenu({ onBack } = {}) {
15820
- const { t } = useTranslation18();
16034
+ const { t } = useTranslation19();
15821
16035
  const { currentPage, navigateTo } = useInternalNavigation();
15822
16036
  const { organizationName, email } = useAuth();
15823
16037
  const { colors } = useTheme();
15824
16038
  const orgInitial = organizationName ? organizationName.charAt(0).toUpperCase() : "R";
15825
16039
  const displayName = organizationName || "Organization";
15826
- return /* @__PURE__ */ jsxs26(View26, { style: [styles27.container, { backgroundColor: colors.surface }], children: [
15827
- /* @__PURE__ */ jsxs26(View26, { style: styles27.orgSection, children: [
15828
- /* @__PURE__ */ jsx32(View26, { style: [styles27.avatar, { backgroundColor: colors.primary }], children: /* @__PURE__ */ jsx32(Text26, { style: [styles27.avatarText, { color: colors.primaryText }], children: orgInitial }) }),
15829
- /* @__PURE__ */ jsxs26(View26, { style: styles27.orgInfo, children: [
15830
- /* @__PURE__ */ jsx32(Text26, { style: [styles27.orgName, { color: colors.text }], numberOfLines: 1, children: displayName }),
15831
- email ? /* @__PURE__ */ jsx32(Text26, { style: [styles27.orgEmail, { color: colors.textSecondary }], numberOfLines: 1, children: email }) : null
16040
+ return /* @__PURE__ */ jsxs27(View27, { style: [styles28.container, { backgroundColor: colors.surface }], children: [
16041
+ /* @__PURE__ */ jsxs27(View27, { style: styles28.orgSection, children: [
16042
+ /* @__PURE__ */ jsx35(View27, { style: [styles28.avatar, { backgroundColor: colors.primary }], children: /* @__PURE__ */ jsx35(Text27, { style: [styles28.avatarText, { color: colors.primaryText }], children: orgInitial }) }),
16043
+ /* @__PURE__ */ jsxs27(View27, { style: styles28.orgInfo, children: [
16044
+ /* @__PURE__ */ jsx35(Text27, { style: [styles28.orgName, { color: colors.text }], numberOfLines: 1, children: displayName }),
16045
+ email ? /* @__PURE__ */ jsx35(Text27, { style: [styles28.orgEmail, { color: colors.textSecondary }], numberOfLines: 1, children: email }) : null
15832
16046
  ] })
15833
16047
  ] }),
15834
- /* @__PURE__ */ jsx32(View26, { style: [styles27.divider, { backgroundColor: colors.border }] }),
15835
- /* @__PURE__ */ jsx32(View26, { style: styles27.menuSection, children: MENU_ITEMS.map((item) => {
16048
+ /* @__PURE__ */ jsx35(View27, { style: [styles28.divider, { backgroundColor: colors.border }] }),
16049
+ /* @__PURE__ */ jsx35(View27, { style: styles28.menuSection, children: MENU_ITEMS.map((item) => {
15836
16050
  const isActive = currentPage === item.page || item.page === "form" && currentPage === "case-details";
15837
- return /* @__PURE__ */ jsxs26(
16051
+ return /* @__PURE__ */ jsxs27(
15838
16052
  TouchableOpacity17,
15839
16053
  {
15840
16054
  style: [
15841
- styles27.menuItem,
15842
- isActive && [styles27.menuItemActive, { backgroundColor: `${colors.primary}14` }]
16055
+ styles28.menuItem,
16056
+ isActive && [styles28.menuItemActive, { backgroundColor: `${colors.primary}14` }]
15843
16057
  ],
15844
16058
  onPress: () => navigateTo(item.page),
15845
16059
  activeOpacity: 0.7,
15846
16060
  accessibilityRole: "button",
15847
16061
  accessibilityState: { selected: isActive },
15848
16062
  children: [
15849
- /* @__PURE__ */ jsx32(View26, { style: styles27.menuIconWrap, children: /* @__PURE__ */ jsx32(item.icon, { color: isActive ? colors.primary : colors.textSecondary }) }),
15850
- /* @__PURE__ */ jsx32(
15851
- Text26,
16063
+ /* @__PURE__ */ jsx35(View27, { style: styles28.menuIconWrap, children: /* @__PURE__ */ jsx35(item.icon, { color: isActive ? colors.primary : colors.textSecondary }) }),
16064
+ /* @__PURE__ */ jsx35(
16065
+ Text27,
15852
16066
  {
15853
16067
  style: [
15854
- styles27.menuLabel,
16068
+ styles28.menuLabel,
15855
16069
  { color: isActive ? colors.primary : colors.text },
15856
- isActive && styles27.menuLabelActive
16070
+ isActive && styles28.menuLabelActive
15857
16071
  ],
15858
16072
  children: t(item.labelKey) || item.fallback
15859
16073
  }
15860
16074
  ),
15861
- isActive ? /* @__PURE__ */ jsx32(View26, { style: [styles27.activeIndicator, { backgroundColor: colors.primary }] }) : null
16075
+ isActive ? /* @__PURE__ */ jsx35(View27, { style: [styles28.activeIndicator, { backgroundColor: colors.primary }] }) : null
15862
16076
  ]
15863
16077
  },
15864
16078
  item.page
15865
16079
  );
15866
16080
  }) }),
15867
- onBack ? /* @__PURE__ */ jsxs26(Fragment6, { children: [
15868
- /* @__PURE__ */ jsx32(View26, { style: { flex: 1 } }),
15869
- /* @__PURE__ */ jsx32(View26, { style: [styles27.divider, { backgroundColor: colors.border }] }),
15870
- /* @__PURE__ */ jsxs26(
16081
+ onBack ? /* @__PURE__ */ jsxs27(Fragment7, { children: [
16082
+ /* @__PURE__ */ jsx35(View27, { style: { flex: 1 } }),
16083
+ /* @__PURE__ */ jsx35(View27, { style: [styles28.divider, { backgroundColor: colors.border }] }),
16084
+ /* @__PURE__ */ jsxs27(
15871
16085
  TouchableOpacity17,
15872
16086
  {
15873
- style: styles27.backBtn,
16087
+ style: styles28.backBtn,
15874
16088
  onPress: () => navigateBack(onBack),
15875
16089
  activeOpacity: 0.7,
15876
16090
  children: [
15877
- /* @__PURE__ */ jsx32(Svg19, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: onBack === "back" ? /* @__PURE__ */ jsx32(
16091
+ /* @__PURE__ */ jsx35(Svg19, { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", children: onBack === "back" ? /* @__PURE__ */ jsx35(
15878
16092
  Path19,
15879
16093
  {
15880
16094
  d: "M19 12H5m0 0l7 7m-7-7l7-7",
@@ -15883,7 +16097,7 @@ function SideMenu({ onBack } = {}) {
15883
16097
  strokeLinecap: "round",
15884
16098
  strokeLinejoin: "round"
15885
16099
  }
15886
- ) : /* @__PURE__ */ jsx32(
16100
+ ) : /* @__PURE__ */ jsx35(
15887
16101
  Path19,
15888
16102
  {
15889
16103
  d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4 M16 17l5-5-5-5 M21 12H9",
@@ -15893,14 +16107,14 @@ function SideMenu({ onBack } = {}) {
15893
16107
  strokeLinejoin: "round"
15894
16108
  }
15895
16109
  ) }),
15896
- /* @__PURE__ */ jsx32(Text26, { style: [styles27.backBtnLabel, { color: colors.textSecondary }], children: onBack === "back" ? t("back") || "Back" : t("signOut") || "Sign Out" })
16110
+ /* @__PURE__ */ jsx35(Text27, { style: [styles28.backBtnLabel, { color: colors.textSecondary }], children: onBack === "back" ? t("back") || "Back" : t("signOut") || "Sign Out" })
15897
16111
  ]
15898
16112
  }
15899
16113
  )
15900
16114
  ] }) : null
15901
16115
  ] });
15902
16116
  }
15903
- var styles27 = StyleSheet27.create({
16117
+ var styles28 = StyleSheet28.create({
15904
16118
  container: {
15905
16119
  flex: 1,
15906
16120
  paddingTop: 12
@@ -15984,34 +16198,6 @@ var styles27 = StyleSheet27.create({
15984
16198
  fontWeight: "500"
15985
16199
  }
15986
16200
  });
15987
-
15988
- // src/RedactoPrivacyCenter/ui/PCLoader.tsx
15989
- import { ActivityIndicator as ActivityIndicator9, StyleSheet as StyleSheet28, Text as Text27, View as View27 } from "react-native";
15990
- import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
15991
- var PCLoader = ({
15992
- size = "large",
15993
- color = "#4f87ff",
15994
- text
15995
- }) => {
15996
- return /* @__PURE__ */ jsxs27(View27, { style: styles28.container, children: [
15997
- /* @__PURE__ */ jsx33(ActivityIndicator9, { size, color }),
15998
- text ? /* @__PURE__ */ jsx33(Text27, { style: styles28.text, children: text }) : null
15999
- ] });
16000
- };
16001
- var styles28 = StyleSheet28.create({
16002
- container: {
16003
- flex: 1,
16004
- alignItems: "center",
16005
- justifyContent: "center",
16006
- padding: 24
16007
- },
16008
- text: {
16009
- marginTop: 12,
16010
- fontSize: 14,
16011
- color: "#667085",
16012
- textAlign: "center"
16013
- }
16014
- });
16015
16201
  export {
16016
16202
  ActivitiesList,
16017
16203
  AuthProvider,