ethyca-fides 2.69.2rc2__py2.py3-none-any.whl → 2.69.3b1__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of ethyca-fides might be problematic. Click here for more details.

Files changed (239) hide show
  1. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/RECORD +231 -218
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/30369bb8ae01_add_webmonitorgroupjob_model.py +67 -0
  5. fides/api/alembic/migrations/versions/67d0e389b003_update_consentstatus_enum.py +47 -0
  6. fides/api/alembic/migrations/versions/f36ce1bde293_add_system_groups.py +132 -0
  7. fides/api/api/v1/endpoints/privacy_request_endpoints.py +3 -5
  8. fides/api/api/v1/endpoints/system.py +140 -55
  9. fides/api/api/v1/endpoints/user_endpoints.py +3 -3
  10. fides/api/db/base.py +2 -0
  11. fides/api/main.py +2 -0
  12. fides/api/models/asset.py +2 -0
  13. fides/api/models/detection_discovery/web_monitor.py +61 -0
  14. fides/api/models/sql_models.py +8 -0
  15. fides/api/models/system_group.py +85 -0
  16. fides/api/schemas/saas/saas_config.py +2 -17
  17. fides/api/schemas/saas/strategy_configuration.py +12 -0
  18. fides/api/schemas/system.py +8 -0
  19. fides/api/service/async_dsr/async_dsr_service.py +130 -10
  20. fides/api/service/async_dsr/async_dsr_strategy.py +5 -0
  21. fides/api/service/async_dsr/async_dsr_strategy_callback.py +16 -0
  22. fides/api/service/async_dsr/async_dsr_strategy_factory.py +63 -0
  23. fides/api/service/async_dsr/async_dsr_strategy_polling.py +94 -0
  24. fides/api/service/connectors/saas_connector.py +25 -7
  25. fides/api/service/deps.py +7 -0
  26. fides/api/service/privacy_request/request_service.py +30 -21
  27. fides/api/service/strategy.py +6 -3
  28. fides/api/task/graph_runners.py +2 -32
  29. fides/api/task/graph_task.py +5 -4
  30. fides/api/task/scheduler_utils.py +39 -0
  31. fides/api/util/filter_utils.py +0 -3
  32. fides/config/execution_settings.py +0 -4
  33. fides/service/system/__init__.py +0 -0
  34. fides/service/system/system_service.py +138 -0
  35. fides/ui-build/static/admin/404.html +1 -1
  36. fides/ui-build/static/admin/_next/static/_b75ACzlGNz3tZqGUPTE5/_buildManifest.js +1 -0
  37. fides/ui-build/static/admin/_next/static/chunks/{1345-5e1c5b66e25c566e.js → 1345-1961771e9619db39.js} +1 -1
  38. fides/ui-build/static/admin/_next/static/chunks/{1817-0ca16d288fad916d.js → 1817-9423665774c2c08f.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/1896-49010da5c2705fc5.js +1 -0
  40. fides/ui-build/static/admin/_next/static/chunks/{3620-602eb74dc896d556.js → 3620-34355b0c44325537.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/3642-c052564812532324.js +1 -0
  42. fides/ui-build/static/admin/_next/static/chunks/{3729-c17ac8031a4c4fd1.js → 3729-c8accd71498f6fe4.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{3855-ef5194cdb228beb6.js → 3855-0565d44d150c985a.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{3872-f78dec02f0d959ae.js → 3872-c022bb7259a9f323.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/{4164-355644b916ae0094.js → 4164-cadb4c6528662248.js} +1 -1
  46. fides/ui-build/static/admin/_next/static/chunks/{4608-be8cba73f5d7c326.js → 4608-caa9cb70fb66ac99.js} +1 -1
  47. fides/ui-build/static/admin/_next/static/chunks/{4786-61154adf88e448e1.js → 4786-d2b03ba5c82a02ed.js} +1 -1
  48. fides/ui-build/static/admin/_next/static/chunks/{4831-fd99c0b3784de128.js → 4831-c0d20b2a0b7332bb.js} +1 -1
  49. fides/ui-build/static/admin/_next/static/chunks/{4844-46324c3d848b8b6a.js → 4844-e5064a161a7e5a12.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/{5258-b0de22a8521686ab.js → 5258-0062e0a1e4f8c03e.js} +1 -1
  51. fides/ui-build/static/admin/_next/static/chunks/{5487-02d00bad7c6830e0.js → 5487-46774dc9df554af1.js} +1 -1
  52. fides/ui-build/static/admin/_next/static/chunks/{6084-c153669d5567e242.js → 6084-2c7b81cbcae7e3b4.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/{6853-b17673391117c976.js → 6853-8fb39280a8f0eb89.js} +1 -1
  54. fides/ui-build/static/admin/_next/static/chunks/6954-3b26ff8259c4d5c3.js +1 -0
  55. fides/ui-build/static/admin/_next/static/chunks/{7476-45c5088baa8b66af.js → 7476-fdd0eb08a12e0334.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/{787-a8c7eab617e2fceb.js → 787-f2eca25837ff7305.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/{79-65674011d455af4d.js → 79-68834fd07d69f428.js} +1 -1
  58. fides/ui-build/static/admin/_next/static/chunks/{8002-24af20d679efc04e.js → 8002-193a97fe4de8b779.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/{9046-712156d461165f56.js → 9046-1afcfb1c4dbdd6c6.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/{9951-a88367a129b724ba.js → 9951-0c8a80f01e431957.js} +1 -1
  61. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-fcdad91f6f66292b.js → _app-a653cee14ce2366b.js} +9 -9
  62. fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-bd0d82078e67cac3.js → add-systems-0a2b2f4a30245089.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-9dda4de5ec580279.js → privacy-experience-dff842dbed2bc6c8.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-23d3e50db42f31b3.js +1 -0
  65. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-28b192e2c074b0f3.js → reporting-75be0acd400cf527.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-30108b00ac769fc3.js → data-catalog-9fa11c01b44ba8f1.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-fb16cb8fd2b3826f.js +1 -0
  68. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-a481a5be96dede96.js +1 -0
  69. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-9a81d42a474e1e48.js → action-center-6c65b86a61340753.js} +1 -1
  70. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-b6ae7adb8ef0b525.js → activity-7fe1ca395914f77f.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-e32fccc4ca520d2b.js → new-85b28db67d96f201.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-7c59a6abf6ba6207.js → dataset-409fe1a086fb7d38.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-927b7e476c4b47d0.js → [id]-785205655317b1d3.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-cbe100d50df34285.js → new-a6985f77afbc5bc0.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/{index-6cd8708106331b8d.js → index-bf3042fdbfb12b3d.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-5d40db1ce8810e1d.js → [id]-e545f8ef5c945f45.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-95402b5001c07ef2.js → integrations-f297e6cdb9fe97b9.js} +1 -1
  78. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-0f25a76dd18c5e20.js → [id]-6e864b293571a508.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-ad6ad3e5bd72765d.js → messaging-0fc3f1f3b1cd6f2a.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-6032d82f0fc2893d.js → storage-089c166287a89166.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-baf31c3e4b081046.js → privacy-requests-73be3cfaaa95ece4.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-6903f42a0412bfa6.js → datamap-adbea0f9fd21ff3a.js} +1 -1
  83. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-9495e2eb506606c7.js → [purpose_id]-c64b87694eda4785.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-93a978443bf299db.js → consent-d502bf1e7580df06.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-9ecb803099082bf4.js → custom-fields-b841d63011827b43.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-2e635dcd11b78224.js → locations-e29384f7a3db5221.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-f547f1f33c12faf3.js → organization-88f6badc1bb38b97.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-20b1193ed76c56b0.js → test-datasets-0366184eda09a933.js} +1 -1
  89. fides/ui-build/static/admin/_next/static/chunks/pages/systems-f4bf47ed2c4746ba.js +1 -0
  90. fides/ui-build/static/admin/_next/static/chunks/pages/{taxonomy-4d7827fc9c46b6b8.js → taxonomy-2d9548cfa6086e8f.js} +1 -1
  91. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-64452dfae2c5e614.js → [id]-763861f5eb207db5.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-9cec020f89544426.js → user-management-98a3277820e232c7.js} +1 -1
  93. fides/ui-build/static/admin/_next/static/css/018c12b58ee7f861.css +1 -0
  94. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  95. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  96. fides/ui-build/static/admin/add-systems.html +1 -1
  97. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  98. fides/ui-build/static/admin/consent/configure.html +1 -1
  99. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  100. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  101. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  102. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  103. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  104. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  105. fides/ui-build/static/admin/consent/properties.html +1 -1
  106. fides/ui-build/static/admin/consent/reporting.html +1 -1
  107. fides/ui-build/static/admin/consent.html +1 -1
  108. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  109. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  110. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  111. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  112. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  113. fides/ui-build/static/admin/data-catalog.html +1 -1
  114. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  115. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  116. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  117. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  118. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  119. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  120. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  121. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  122. fides/ui-build/static/admin/datamap.html +1 -1
  123. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  124. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  125. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  126. fides/ui-build/static/admin/dataset/new.html +1 -1
  127. fides/ui-build/static/admin/dataset.html +1 -1
  128. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  129. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  130. fides/ui-build/static/admin/datastore-connection.html +1 -1
  131. fides/ui-build/static/admin/index.html +1 -1
  132. fides/ui-build/static/admin/integrations/[id].html +1 -1
  133. fides/ui-build/static/admin/integrations.html +1 -1
  134. fides/ui-build/static/admin/login/[provider].html +1 -1
  135. fides/ui-build/static/admin/login.html +1 -1
  136. fides/ui-build/static/admin/messaging/[id].html +1 -1
  137. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  138. fides/ui-build/static/admin/messaging.html +1 -1
  139. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  140. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  141. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  142. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  143. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  144. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  145. fides/ui-build/static/admin/poc/forms.html +1 -1
  146. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  147. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  148. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  149. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  150. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  151. fides/ui-build/static/admin/privacy-requests.html +1 -1
  152. fides/ui-build/static/admin/properties/[id].html +1 -1
  153. fides/ui-build/static/admin/properties/add-property.html +1 -1
  154. fides/ui-build/static/admin/properties.html +1 -1
  155. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  156. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  157. fides/ui-build/static/admin/settings/about.html +1 -1
  158. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  159. fides/ui-build/static/admin/settings/consent.html +1 -1
  160. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  161. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  162. fides/ui-build/static/admin/settings/domains.html +1 -1
  163. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  164. fides/ui-build/static/admin/settings/locations.html +1 -1
  165. fides/ui-build/static/admin/settings/organization.html +1 -1
  166. fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
  167. fides/ui-build/static/admin/settings/regulations.html +1 -1
  168. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  169. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  170. fides/ui-build/static/admin/systems.html +1 -1
  171. fides/ui-build/static/admin/taxonomy.html +1 -1
  172. fides/ui-build/static/admin/user-management/new.html +1 -1
  173. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  174. fides/ui-build/static/admin/user-management.html +1 -1
  175. fides/ui-build/static/admin/_next/static/5dPuc0vV0q3Rte9dEBVGg/_buildManifest.js +0 -1
  176. fides/ui-build/static/admin/_next/static/chunks/3847-230bf61b053bc706.js +0 -1
  177. fides/ui-build/static/admin/_next/static/chunks/6954-5296188c19d7d0ac.js +0 -1
  178. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-0d4844d0b808e6e4.js +0 -1
  179. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e1ba213fb666b3f4.js +0 -1
  180. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-6d133580045abdda.js +0 -1
  181. fides/ui-build/static/admin/_next/static/chunks/pages/systems-fbc8761ef4d55516.js +0 -1
  182. fides/ui-build/static/admin/_next/static/css/650df9c348000a26.css +0 -1
  183. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/WHEEL +0 -0
  184. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/entry_points.txt +0 -0
  185. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/licenses/LICENSE +0 -0
  186. {ethyca_fides-2.69.2rc2.dist-info → ethyca_fides-2.69.3b1.dist-info}/top_level.txt +0 -0
  187. /fides/ui-build/static/admin/_next/static/{5dPuc0vV0q3Rte9dEBVGg → _b75ACzlGNz3tZqGUPTE5}/_ssgManifest.js +0 -0
  188. /fides/ui-build/static/admin/_next/static/chunks/{1099-79646e64f26d62fa.js → 1099-718ce18b9bd70cdb.js} +0 -0
  189. /fides/ui-build/static/admin/_next/static/chunks/{2921-52328140bc420d0f.js → 2921-765918f8aa37fdb2.js} +0 -0
  190. /fides/ui-build/static/admin/_next/static/chunks/{3923-bb2417b8dcade7a4.js → 3923-23df37eef17d6ea2.js} +0 -0
  191. /fides/ui-build/static/admin/_next/static/chunks/{401-4af0a912e249d30f.js → 401-45f399d4d1325340.js} +0 -0
  192. /fides/ui-build/static/admin/_next/static/chunks/{4808-dd4157aa72648068.js → 4808-57c5ac15fd8b0d81.js} +0 -0
  193. /fides/ui-build/static/admin/_next/static/chunks/{549-38ea1d91ee2addaa.js → 549-170c96caa601e15a.js} +0 -0
  194. /fides/ui-build/static/admin/_next/static/chunks/{7630-7ed6c6117775dffe.js → 7630-8613916021366672.js} +0 -0
  195. /fides/ui-build/static/admin/_next/static/chunks/{796-9e1ca1a4030707c5.js → 796-8fbae2fc714e7a3a.js} +0 -0
  196. /fides/ui-build/static/admin/_next/static/chunks/{9826-dbae8dee941a7fac.js → 9826-d49a56431e896acb.js} +0 -0
  197. /fides/ui-build/static/admin/_next/static/chunks/pages/{404-471a6b18e712f050.js → 404-8d9c703c96662265.js} +0 -0
  198. /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-ace203dfacacbdc4.js → manual-adaec1ec185160af.js} +0 -0
  199. /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-920fb469e0dda1d2.js → multiple-20050dbae806179d.js} +0 -0
  200. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-406170eaae4329c6.js → add-vendors-7b8cec88b5ad53d1.js} +0 -0
  201. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-7207ab23bdb36ce8.js → configure-b7b7fb3e8b2ea816.js} +0 -0
  202. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-f80cf2d3966816fd.js → [id]-c30382719d6f797a.js} +0 -0
  203. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-b378576cba255609.js → [id]-074cdbfc678ba791.js} +0 -0
  204. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-2ca1de7b88094ab0.js → new-bcddda632b4df409.js} +0 -0
  205. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-226efa1dcd41437f.js → properties-17cdca29c6d4cdd6.js} +0 -0
  206. /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-3e8bdefe714254ec.js → consent-9b4e0a08ae6216c7.js} +0 -0
  207. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-2c29ff7a01198f30.js → [resourceUrn]-d0dbba5bff738b57.js} +0 -0
  208. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-04cfe2cfba7b7cd8.js → [projectUrn]-8ffd8d148269d323.js} +0 -0
  209. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-5f2d7b24804f861f.js → projects-25c5916c8357f98d.js} +0 -0
  210. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-8eb581024bc0172f.js → [resourceUrn]-cfc118e68285405c.js} +0 -0
  211. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-de704de849960f01.js → resources-9b7e4b86b1e8a40a.js} +0 -0
  212. /fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-c7390e046b2e2b7f.js → datamap-ea1eabce2a3fc2c7.js} +0 -0
  213. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-dfd71c1e9c458b89.js → [...subfieldNames]-3c629aecee30c575.js} +0 -0
  214. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-7cdc42ec5493b83d.js → [collectionName]-a13ea13e0316d5a2.js} +0 -0
  215. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-e12b11ba15bc3fc1.js → [datasetId]-a6ae353b3b1536cc.js} +0 -0
  216. /fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-cce20440b177050b.js → datastore-connection-93d5c01dd927bad2.js} +0 -0
  217. /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-3c6dc2f6e6bae960.js → [id]-f03f1fdaa1f5a0c6.js} +0 -0
  218. /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-4a6d4023a7791be8.js → add-template-8f90e275e932940b.js} +0 -0
  219. /fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-76b204c9b98d656f.js → messaging-68385a251c7ade5f.js} +0 -0
  220. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-bc0e2adf6e0d3ac7.js → ant-components-fc7d652910f3ad8d.js} +0 -0
  221. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-86ffcc1ad3fa912e.js → AntForm-fb6e6f4b276b6189.js} +0 -0
  222. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-ec04f595465bdf69.js → FormikAntFormItem-00869abf79950a9a.js} +0 -0
  223. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-41d309754ff0c1de.js → FormikControlled-5716d749236c9f70.js} +0 -0
  224. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-cab1f78cec7808f9.js → FormikField-d6dfb9daa3935db3.js} +0 -0
  225. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-eb6058221403b156.js → forms-9697549bce7060be.js} +0 -0
  226. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-48500551fd6a7602.js → table-migration-888656ae0bd40f62.js} +0 -0
  227. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-d83e5bd52a638234.js → configure-5a3cd9b14a37ef27.js} +0 -0
  228. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-e784c05d056b2371.js → [id]-3d2a77cb07aa8dc0.js} +0 -0
  229. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-0a7a2db148a7561a.js → add-property-210e7e3b3d776d44.js} +0 -0
  230. /fides/ui-build/static/admin/_next/static/chunks/pages/{properties-da734840e4f9d04b.js → properties-18257b6a70fa8a97.js} +0 -0
  231. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-a82f3df840d5c1b5.js → alpha-b678e7577eef5e5c.js} +0 -0
  232. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-d06fb16487705b9d.js → about-3f3039c7e86cab2f.js} +0 -0
  233. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-16fdd91a81074dd1.js → domain-records-50f9b26c6907d6de.js} +0 -0
  234. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-4cdd6001e7cb9aee.js → domains-5ae0d30eb3b770ab.js} +0 -0
  235. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-1914de830ce5cfc4.js → email-templates-f5924e64a15a0dc3.js} +0 -0
  236. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{privacy-requests-2ecc073f41628f62.js → privacy-requests-d5f8db89c7e91a02.js} +0 -0
  237. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-7c02e469d8c5bd74.js → regulations-46d06037fcadaf00.js} +0 -0
  238. /fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-6e15332935f6b538.js → [id]-a659f18a30ef89f3.js} +0 -0
  239. /fides/ui-build/static/admin/_next/static/chunks/{webpack-678e89d68dbcd94f.js → webpack-606818148553db7b.js} +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2369],{1565:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/privacy-requests",function(){return s(15273)}])},59969:function(e,t,s){"use strict";var i=s(24246),l=s(96306);s(27378);var a=s(8557);t.Z=e=>{let{daysLeft:t,includeText:s,status:r}=e;if(!t||r===a.q.COMPLETE||r===a.q.CANCELED||r===a.q.DENIED||r===a.q.IDENTITY_UNVERIFIED)return(0,i.jsx)("span",{children:"-"});let n="";switch(!0){case t>=10:n="success";break;case t<10&&t>4:n="warning";break;case t<5:n="error"}return(0,i.jsx)(l.j8w,{color:n,children:s?"".concat(t," days left"):t})}},18225:function(e,t,s){"use strict";var i=s(24246),l=s(96306);t.Z=e=>{let{alignment:t="center",...s}=e;return(0,i.jsx)(l.kCb,{boxSize:"full",align:"center",justify:t,children:(0,i.jsx)(l.$jN,{color:"primary",...s})})}},35287:function(e,t,s){"use strict";var i=s(24246),l=s(96306),a=s(88038),r=s.n(a);s(27378),t.Z=e=>{let{children:t,title:s,mainProps:a}=e;return(0,i.jsxs)(l.kCb,{"data-testid":s,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,i.jsxs)(r(),{children:[(0,i.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,i.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,i.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,i.jsx)(l.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...a,children:t})]})}},87361:function(e,t,s){"use strict";var i=s(24246),l=s(96306);t.Z=e=>{let{title:t,text:s,onClose:a}=e;return(0,i.jsxs)(l.Ugi,{backgroundColor:"gray.50",border:"1px solid",borderRadius:"md",justifyContent:"space-between",py:4,pr:6,pl:3,"data-testid":"empty-state",gap:2,position:"relative",children:[a&&(0,i.jsx)(l.Two,{boxSize:5,position:"absolute",right:3,top:3,zIndex:1,cursor:"pointer",p:1,onClick:a}),(0,i.jsx)(l.iid,{alignSelf:"start",color:"minos",mt:.5,flexGrow:0}),(0,i.jsxs)(l.kCb,{direction:"column",gap:2,flexGrow:1,children:[(0,i.jsx)(l.X6q,{fontSize:"md",children:t}),(0,i.jsx)(l.xvT,{fontSize:"sm",color:"gray.600",lineHeight:"5",children:s})]})]})}},19904:function(e,t,s){"use strict";s.d(t,{Tg:function(){return r}});var i=s(24246),l=s(16134),a=s(31793);let r=e=>(0,l.C)(a.uu).filter(t=>e.includes(t)).length>0;t.ZP=e=>{let{scopes:t,children:s}=e;return r(t)?(0,i.jsx)(i.Fragment,{children:s}):null}},96718:function(e,t,s){"use strict";s.d(t,{z:function(){return a}});var i=s(24246),l=s(96306);let a=e=>{let{...t}=e;return(0,i.jsx)(l.WPr,{defaultActiveFirstOption:!1,maxTagCount:"responsive",allowClear:!0,styles:t.mode?void 0:{popup:{root:{width:"auto",minWidth:"200px"}}},className:"w-auto","data-testid":"filter-select",...t})}},97181:function(e,t,s){"use strict";s.d(t,{d:function(){return o}});var i=s(24246),l=s(96306),a=s(34090),r=s(27378),n=s(46238),d=s(40324);let o=e=>{let{name:t,label:s,labelProps:o,tooltip:c,isRequired:u,layout:p="inline",helperText:m,...x}=e,[h,y,{setValue:v}]=(0,a.U$)(t),j=!!(y.touched&&y.error),[g,f]=(0,r.useState)("");h.value||"tags"!==x.mode&&"multiple"!==x.mode||(h.value=[]),"tags"===x.mode&&"string"==typeof h.value&&(h.value=[h.value]);let _="tags"===x.mode?(e,t)=>e?e.value!==g||h.value.includes(g)?x.optionRender?x.optionRender(e,t):e.label:'Create "'.concat(g,'"'):void 0:x.optionRender||void 0,b=e=>{f(e),x.onSearch&&x.onSearch(e)},C=(e,t)=>{v(e),x.onChange&&x.onChange(e,t)};return"inline"===p?(0,i.jsx)(l.NIc,{isInvalid:j,isRequired:u,children:(0,i.jsxs)(l.rjZ,{templateColumns:s?"1fr 3fr":"1fr",children:[s?(0,i.jsx)(d.__,{htmlFor:x.id||t,...o,children:s}):null,(0,i.jsxs)(l.jqI,{align:"center",children:[(0,i.jsxs)(l.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,i.jsx)(l.WPr,{...h,id:x.id||t,"data-testid":"controlled-select-".concat(h.name),...x,optionRender:_,onSearch:"tags"===x.mode?b:void 0,onChange:C,value:h.value||void 0,status:j?"error":void 0}),m&&(0,i.jsx)(l.Q6r,{children:m}),(0,i.jsx)(d.Bc,{isInvalid:j,message:y.error,fieldName:h.name})]}),(0,i.jsx)(n.b,{label:c,className:j?"mt-2 self-start":void 0})]})]})}):(0,i.jsx)(l.NIc,{isInvalid:j,isRequired:u,children:(0,i.jsxs)(l.gCW,{alignItems:"start",children:[(0,i.jsxs)(l.jqI,{align:"center",children:[s?(0,i.jsx)(d.__,{htmlFor:x.id||t,fontSize:"xs",my:0,mr:1,...o,children:s}):null,(0,i.jsx)(n.b,{label:c})]}),(0,i.jsx)(l.WPr,{...h,id:x.id||t,"data-testid":"controlled-select-".concat(h.name),...x,optionRender:_,onSearch:"tags"===x.mode?b:void 0,onChange:C,value:h.value||void 0,status:j?"error":void 0}),m&&(0,i.jsx)(l.Q6r,{style:{marginTop:0},children:m}),(0,i.jsx)(d.Bc,{isInvalid:j,message:y.error,fieldName:h.name})]})})}},57526:function(e,t,s){"use strict";var i=s(24246),l=s(96306),a=s(27378);t.Z=e=>{let{isOpen:t,onClose:s,onApproveRequest:r,isLoading:n,subjectRequest:d}=e,{identity:o,identity_verified_at:c,custom_privacy_request_fields:u}=d,p=(0,a.useCallback)(()=>{r().then(()=>{s()})},[r,s]);return(0,i.jsxs)(l.u_l,{isOpen:t,onClose:s,size:"lg",isCentered:!0,children:[(0,i.jsx)(l.ZAr,{}),(0,i.jsxs)(l.hzk,{children:[(0,i.jsx)(l.xBx,{children:"Privacy request approval"}),(0,i.jsxs)(l.fef,{paddingTop:0,paddingBottom:0,children:[(0,i.jsx)(l.xvT,{color:"gray.500",fontSize:"14px",marginBottom:4,children:"Are you sure you want to approve this privacy request?"}),(0,i.jsxs)(l.QI$,{children:[Object.entries(o).filter(e=>{let[,{value:t}]=e;return null!==t}).map(e=>{let[t,{value:s,label:a}]=e;return(0,i.jsx)(l.HCh,{children:(0,i.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,i.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[a,":"]}),(0,i.jsx)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:s}),"(",c?"Verified":"Unverified",")"]},t)},t)}),u&&Object.entries(u).filter(e=>{let[,t]=e;return t.value}).map(e=>{let[t,s]=e;return(0,i.jsx)(l.HCh,{children:(0,i.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,i.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[s.label,":"]}),(0,i.jsxs)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:[Array.isArray(s.value)?s.value.join(", "):s.value," "]}),"(Unverified)"]},t)},t)})]})]}),(0,i.jsx)(l.mzw,{children:(0,i.jsxs)(l.MIq,{columns:2,width:"100%",children:[(0,i.jsx)(l.wpx,{onClick:s,className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,i.jsx)(l.wpx,{type:"primary","data-testid":"continue-btn",onClick:p,loading:n,children:"Confirm"})]})})]})]})}},66548:function(e,t,s){"use strict";var i=s(24246),l=s(40324),a=s(96306),r=s(34090),n=s(27378),d=s(55484);let o={denialReason:""};t.Z=e=>{let{isOpen:t,onClose:s,onDenyRequest:c}=e,u=(0,n.useCallback)((e,t)=>{let{setSubmitting:i}=t;c(e.denialReason).then(()=>{i(!1),s()})},[c,s]);return(0,i.jsxs)(a.u_l,{isOpen:t,onClose:s,isCentered:!0,returnFocusOnClose:!1,children:[(0,i.jsx)(a.ZAr,{}),(0,i.jsx)(a.hzk,{width:"100%",maxWidth:"456px","data-testid":"deny-privacy-request-modal",children:(0,i.jsx)(r.J9,{initialValues:o,validationSchema:d.Ry({denialReason:d.Z_().required().label("Reason for denial")}),onSubmit:u,children:e=>{let{isSubmitting:t,dirty:n,isValid:d}=e;return(0,i.jsxs)(r.l0,{children:[(0,i.jsx)(a.xBx,{children:"Privacy request denial"}),(0,i.jsx)(a.fef,{color:"gray.500",fontSize:"14px",children:"Please enter a reason for denying this privacy request. Please note: this can be seen by the user in their notification email."}),(0,i.jsx)(a.fef,{children:(0,i.jsx)(l.Ks,{name:"denialReason",textAreaProps:{focusBorderColor:"primary.600",resize:"none"}})}),(0,i.jsxs)(a.mzw,{className:"flex w-full gap-4",children:[(0,i.jsx)(a.wpx,{disabled:t,onClick:s,className:"grow",children:"Cancel"}),(0,i.jsx)(a.wpx,{htmlType:"submit",type:"primary",disabled:!n||!d,loading:t,className:"grow","data-testid":"deny-privacy-request-modal-btn",children:"Confirm"})]})]})}})})]})}},71784:function(e,t,s){"use strict";s.d(t,{DE:function(){return d},I3:function(){return l},kN:function(){return r},qX:function(){return n},rE:function(){return a}});var i=s(54682);let l=[...new Map([[i.q2.APPROVED,"Approved"],[i.q2.AWAITING_EMAIL_SEND,"Awaiting email send"],[i.q2.CANCELED,"Canceled"],[i.q2.COMPLETE,"Completed"],[i.q2.DENIED,"Denied"],[i.q2.ERROR,"Error"],[i.q2.IN_PROCESSING,"In progress"],[i.q2.PENDING,"New"],[i.q2.PAUSED,"Paused"],[i.q2.IDENTITY_UNVERIFIED,"Unverified"],[i.q2.REQUIRES_INPUT,"Requires input"],[i.q2.REQUIRES_MANUAL_FINALIZATION,"Requires finalization"]])].map(e=>{let[t,s]=e;return{label:s,value:t}}),a=new Map([[i.Us.ACCESS,"Access"],[i.Us.ERASURE,"Erasure"],[i.Us.CONSENT,"Consent"],[i.Us.UPDATE,"Update"]]),r=[...a].map(e=>{let[t,s]=e;return{label:s,value:t}}),n={mailgun:"mailgun",twilio_email:"twilio_email",twilio_text:"twilio_text"},d={local:"local",s3:"s3",gcs:"gcs"}},45489:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});var i=s(90867);let l=e=>{let{subjectRequest:t}=e,[s,l]=(0,i.RW)({fixedCacheKey:t.id}),[a,r]=(0,i.F1)({fixedCacheKey:t.id}),[n,d]=(0,i.rC)({fixedCacheKey:t.id}),[o,c]=(0,i.zB)({fixedCacheKey:t.id}),u=r.isLoading||l.isLoading||c.isLoading;return{approveRequest:s,approveRequestResult:l,denyRequest:a,denyRequestResult:r,handleApproveRequest:()=>s(t),handleDenyRequest:e=>a({id:t.id,reason:e}),handleDeleteRequest:()=>n(t),handleFinalizeRequest:()=>o({privacyRequestId:t.id}),softDeleteRequestResult:d,finalizeRequestResult:c,isLoading:u}}},72281:function(e,t,s){"use strict";s.d(t,{G:function(){return n},d:function(){return d}});var i=s(86677),l=s(27378),a=s(19904),r=s(54682);let n={REQUEST:"request",MANUAL_TASK:"manual-tasks"},d=()=>{let e=(0,i.useRouter)(),t=(0,a.Tg)([r.Sh.PRIVACY_REQUEST_READ]),s=(0,a.Tg)([r.Sh.MANUAL_FIELD_READ_OWN,r.Sh.MANUAL_FIELD_READ_ALL]),d=(0,l.useMemo)(()=>({request:t,manualTask:s}),[t,s]),[o,c]=(0,l.useState)(d.request?n.REQUEST:n.MANUAL_TASK),u=(0,l.useCallback)(()=>{let{tab:t}=e.query;return t&&"string"==typeof t&&Object.values(n).includes(t)?t:null},[e.query]),p=(0,l.useCallback)(t=>{e.replace({pathname:e.pathname,query:{tab:t}},void 0,{shallow:!0})},[e]);return(0,l.useEffect)(()=>{if(!e.isReady)return;let t=u();t&&(t===n.REQUEST||t===n.MANUAL_TASK&&d.manualTask)&&c(t)},[e.isReady,e.query,d,u,p]),{activeTab:o,handleTabChange:(0,l.useCallback)(e=>{Object.values(n).includes(e)&&(c(e),p(e))},[p]),availableTabs:d}}},15273:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return eA}});var i,l,a=s(24246),r=s(35287),n=s(96306),d=s(65218),o=s.n(d),c=s(27378),u=s(25980),p=s(19904),m=s(56141),x=s.n(m),h=s(86677),y=s(16134),v=s(91317),j=s(18225),g=s(77830),f=s(28407),_=s(16394),b=s(54682),C=s(32735),q=s(59969),S=s(71784),k=s(45116);let E=e=>{let{label:t,children:s}=e;return(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"shrink-0 grow-0 basis-1/3 pr-2",children:(0,a.jsxs)(n.AntTypography.Text,{className:"text-gray-700",children:[t,":"]})}),(0,a.jsx)("div",{className:"min-w-0 shrink grow text-gray-600",children:s})]})},R=e=>{let{task:t}=e,s=t.request_type===b.k6.ACCESS?b.Us.ACCESS:b.Us.ERASURE,i=S.rE.get(s)||t.request_type;return(0,a.jsxs)("div",{className:"flex flex-col space-y-3","data-testid":"task-details-container",children:[(0,a.jsx)(E,{label:"Name",children:(0,a.jsx)(n.AntTypography.Text,{children:t.name})}),(0,a.jsx)(E,{label:"Description",children:(0,a.jsx)(n.AntTypography.Text,{children:t.description||"-"})}),(0,a.jsx)(E,{label:"Request Type",children:(0,a.jsx)(n.AntTypography.Text,{children:i})}),(0,a.jsx)(E,{label:"Assigned To",children:t.assigned_users&&t.assigned_users.length>0?(0,a.jsx)("div",{className:"flex flex-wrap gap-1","data-testid":"assigned-users-tags",children:t.assigned_users.map(e=>(0,a.jsx)(n.j8w,{"data-testid":"assigned-user-tag-".concat(e.id),children:"".concat(e.first_name||""," ").concat(e.last_name||"").trim()||e.email_address||"Unknown User"},e.id))}):(0,a.jsx)(n.AntTypography.Text,{children:"No one assigned"})}),t.privacy_request.subject_identities&&Object.keys(t.privacy_request.subject_identities).length>0?(0,a.jsx)(E,{label:"Subject identities",children:(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.entries(t.privacy_request.subject_identities).map(e=>{let[t,s]=e;return(0,a.jsxs)(n.j8w,{children:[t,": ",String(s)]},t)})})}):null,t.privacy_request.custom_fields&&Object.keys(t.privacy_request.custom_fields).length>0?(0,a.jsx)(E,{label:"Custom fields",children:(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.entries(t.privacy_request.custom_fields).filter(e=>{let[,t]=e;return t}).map(e=>{let[t,s]=e;return(0,a.jsxs)(n.j8w,{children:[t,": ",String(s)]},t)})})}):null]})},T=e=>{let{isOpen:t,onClose:s,task:i}=e,[l,{isLoading:r}]=(0,k.HP)(),[d,o]=(0,c.useState)(""),[u,p]=(0,c.useState)(!1),[m,x]=(0,c.useState)(""),[h,y]=(0,c.useState)([]),v=async()=>{try{await l({privacy_request_id:i.privacy_request.id,manual_field_id:i.manual_field_id,field_value:i.input_type===b.PF.TEXT?d:i.input_type===b.PF.CHECKBOX?u.toString():void 0,comment_text:m||void 0,attachments:h.length>0?h.map(e=>e.originFileObj).filter(Boolean):void 0}).unwrap(),o(""),p(!1),x(""),y([]),s()}catch(e){n.Pg3.error("Failed to complete task. Please try again.")}};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"700px",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{maxWidth:"700px","data-testid":"complete-task-modal",children:[(0,a.jsx)(n.xBx,{children:(0,a.jsx)(n.AntTypography.Title,{level:4,children:"Complete Task"})}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)(R,{task:i})}),(0,a.jsx)(n.htM,{}),(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(()=>{switch(i.input_type){case b.PF.TEXT:return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Subject data"}),(0,a.jsx)(n.uFc.TextArea,{value:d,onChange:e=>o(e.target.value),placeholder:"Enter your response...",rows:4,"data-testid":"complete-modal-text-input"})]});case b.PF.CHECKBOX:return(0,a.jsx)("div",{className:"space-y-2",children:(0,a.jsx)(n.E_O,{checked:u,onChange:e=>p(e.target.checked),"data-testid":"complete-modal-checkbox",children:"The task has been completed"})});default:return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Upload Files"}),(0,a.jsx)("div",{children:(0,a.jsx)(n.pMK,{fileList:h,onChange:e=>{let{fileList:t}=e;return y(t)},beforeUpload:()=>!1,"data-testid":"complete-modal-file-upload",multiple:!0,children:(0,a.jsx)(n.wpx,{"data-testid":"complete-modal-upload-button",children:"Click to Upload"})})})]})}})(),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Internal comment"}),(0,a.jsx)(n.uFc.TextArea,{value:m,onChange:e=>x(e.target.value),placeholder:"Add any additional comments...",rows:3,"data-testid":"complete-modal-comment-input"})]})]})})]})}),(0,a.jsx)(n.mzw,{children:(0,a.jsxs)(n.vyj,{children:[(0,a.jsx)(n.wpx,{onClick:()=>{o(""),p(!1),x(""),y([]),s()},disabled:r,"data-testid":"complete-modal-cancel-button",children:"Cancel"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:v,loading:r,disabled:!(()=>{switch(i.input_type){case b.PF.TEXT:return d.trim().length>0;case b.PF.CHECKBOX:return u;default:return h.length>0}})(),"data-testid":"complete-modal-save-button",children:"Save"})]})})]})]})},w=e=>{let{isOpen:t,onClose:s,task:i}=e,[l,{isLoading:r}]=(0,k.DA)(),[d,o]=(0,c.useState)(""),u=async()=>{try{await l({privacy_request_id:i.privacy_request.id,manual_field_id:i.manual_field_id,skip_reason:d}).unwrap(),o(""),s()}catch(e){n.Pg3.error("Failed to skip task. Please try again.")}};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"700px",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{maxWidth:"700px","data-testid":"skip-task-modal",children:[(0,a.jsx)(n.xBx,{children:(0,a.jsx)(n.AntTypography.Title,{level:4,children:"Skip Task"})}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)(R,{task:i})}),(0,a.jsx)(n.htM,{}),(0,a.jsx)("div",{children:(0,a.jsx)("div",{className:"flex flex-col space-y-4",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Reason for skipping (Required)"}),(0,a.jsx)(n.uFc.TextArea,{value:d,onChange:e=>o(e.target.value),placeholder:"Please provide a reason for skipping this task...",rows:4,"data-testid":"skip-modal-comment-input"})]})})})]})}),(0,a.jsx)(n.mzw,{children:(0,a.jsxs)(n.vyj,{children:[(0,a.jsx)(n.wpx,{onClick:()=>{o(""),s()},disabled:r,"data-testid":"skip-modal-cancel-button",children:"Cancel"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:u,loading:r,disabled:!d.trim(),danger:!0,"data-testid":"skip-modal-skip-button",children:"Skip Task"})]})})]})]})},A=e=>{let{task:t}=e,s=(0,h.useRouter)(),{isOpen:i,onOpen:l,onClose:r}=(0,n.qY0)(),{isOpen:d,onOpen:o,onClose:c}=(0,n.qY0)(),u=(0,p.Tg)([b.Sh.PRIVACY_REQUEST_READ]);if(t.status!==b.OS.NEW)return null;let m=[{key:"skip",label:"Skip task",onClick:o}];return u&&m.push({key:"go-to-request",label:"Go to request",onClick:()=>{s.push({pathname:g.ld,query:{id:t.privacy_request.id}})}}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.vyj,{size:"small",children:[(0,a.jsx)(n.wpx,{type:"default",onClick:l,size:"small",children:"Complete"}),(0,a.jsx)(n.S0p,{menu:{items:m},trigger:["click"],placement:"bottomRight",overlayStyle:{minWidth:120},children:(0,a.jsx)(n.wpx,{size:"small",icon:(0,a.jsx)(n.PJP.r43,{}),"aria-label":"More actions"})})]}),(0,a.jsx)(T,{isOpen:i,onClose:r,task:t}),(0,a.jsx)(w,{isOpen:d,onClose:c,task:t})]})},I={[b.OS.NEW]:{color:"info",label:"New"},[b.OS.COMPLETED]:{color:"success",label:"Completed"},[b.OS.SKIPPED]:{color:"marble",label:"Skipped"}},N=[{text:"New",value:b.OS.NEW},{text:"Completed",value:b.OS.COMPLETED},{text:"Skipped",value:b.OS.SKIPPED}],P=[{text:"Access",value:b.k6.ACCESS},{text:"Erasure",value:b.k6.ERASURE}],U=e=>{let{systemFilters:t,userFilters:s,onUserClick:i,currentFilters:l,hasAccessToAllTasks:r}=e,d=[{title:"Task name",dataIndex:"name",key:"name",minWidth:100,render:e=>(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:e},children:e})},{title:"Status",dataIndex:"status",key:"status",width:110,render:e=>(0,a.jsx)(n.j8w,{color:I[e].color,"data-testid":"manual-task-status-tag",children:I[e].label}),filters:N,filterMultiple:!1},{title:"System",dataIndex:["system","name"],key:"system_name",minWidth:100,render:e=>(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:e},children:e}),filters:t,filterMultiple:!1},{title:"Type",dataIndex:"request_type",key:"request_type",width:80,render:e=>{let t=e===b.k6.ACCESS?b.Us.ACCESS:b.Us.ERASURE,s=S.rE.get(t)||e;return(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:s},children:s})},filters:P,filterMultiple:!1},{title:"Assigned to",dataIndex:"assigned_users",key:"assigned_users",minWidth:100,render:e=>{if(!e||0===e.length)return(0,a.jsx)(n.AntTypography.Text,{children:"-"});let t=e.map(e=>({label:(0,_.gJ)(e),value:e.id})),s=e.map(e=>e.id);return(0,a.jsx)(n.d3V,{value:s,options:t,readonly:!0,onTagClick:e=>i(String(e))})},filters:s,filterMultiple:!1,defaultFilteredValue:l.assignedUsers?[l.assignedUsers]:void 0},{title:"Days left",dataIndex:["privacy_request","days_left"],key:"days_left",width:90,render:e=>(0,a.jsx)(q.Z,{daysLeft:e||0,includeText:!1,status:b.q2.PENDING})},{title:"Subject identity",dataIndex:["privacy_request","subject_identities"],key:"subject_identities",minWidth:120,render:e=>{if(!e)return(0,a.jsx)(n.AntTypography.Text,{children:"-"});let t=e.email||e.phone_number||"";return(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:t},children:t})}},{title:"Actions",key:"actions",width:145,render:(e,t)=>(0,a.jsx)(A,{task:t})}];return r?d:d.filter(e=>"assigned_users"!==e.key)},O=()=>{let e=(0,h.useRouter)(),t=(0,y.C)(v.dy),[s,i]=(0,c.useState)(1),[l,r]=(0,c.useState)(25),d=(0,p.Tg)([b.Sh.MANUAL_FIELD_READ_ALL]),o=e.query.privacy_request_id||void 0,u=(0,c.useMemo)(()=>{let e={};return(null==t?void 0:t.id)&&!o&&(e.assignedUsers=t.id),o&&"string"==typeof o&&(e.privacyRequestId=o),e},[null==t?void 0:t.id,o]),[m,q]=(0,c.useState)(u),{data:S,isLoading:E,isFetching:R}=(0,k.Ym)({page:s,size:l,status:m.status,systemName:m.systemName,requestType:m.requestType,assignedUserId:m.assignedUsers,privacyRequestId:m.privacyRequestId}),{data:T}=(0,k.Ym)({page:1,size:1}),{items:w,total:A}=(0,c.useMemo)(()=>S||{items:[],total:0,pages:0,filter_options:{assigned_users:[],systems:[]}},[S]),I=(0,c.useMemo)(()=>(null==T?void 0:T.filter_options)||{assigned_users:[],systems:[]},[T]),N=U({systemFilters:(0,c.useMemo)(()=>{var e;return(null==I?void 0:null===(e=I.systems)||void 0===e?void 0:e.map(e=>({text:e.name,value:e.name})))||[]},[null==I?void 0:I.systems]),userFilters:(0,c.useMemo)(()=>{var e;let s=(null==I?void 0:null===(e=I.assigned_users)||void 0===e?void 0:e.map(e=>({text:(0,_.gJ)(e),value:e.id})))||[];return(null==t?void 0:t.id)&&!s.some(e=>e.value===t.id)&&s.push({text:(0,_.gJ)(t,{fallbackToId:!0}),value:t.id}),s},[null==I?void 0:I.assigned_users,t]),onUserClick:t=>{e.push({pathname:g.fw,query:{id:t}})},currentFilters:m,hasAccessToAllTasks:d}),P=(0,c.useMemo)(()=>x()(m,u),[m,u]);return E?(0,a.jsx)(j.Z,{}):(0,a.jsxs)("div",{className:"mt-2 space-y-4",children:[(0,a.jsx)(n.kCb,{gap:3,align:"center",className:"mb-4",children:(0,a.jsx)(f.H,{globalFilter:m.privacyRequestId||"",setGlobalFilter:e=>{let t={...m};e&&e.trim()?t.privacyRequestId=e.trim():delete t.privacyRequestId,q(t),i(1)},placeholder:"Search by privacy request ID",testid:"privacy-request-id-filter"})}),(0,a.jsx)(n.V5H,{columns:N,dataSource:w,rowKey:e=>"".concat(e.privacy_request.id,"-").concat(e.manual_field_id),pagination:{current:s,pageSize:l,pageSizeOptions:C.VZ,total:A||0,showTotal:(e,t)=>"".concat(t[0],"-").concat(t[1]," of ").concat(e," items"),onChange:(e,t)=>{i(e),t!==l&&(r(t),i(1))}},onChange:(e,t)=>{let s={privacyRequestId:m.privacyRequestId};t.status&&([s.status]=t.status),t.system_name&&([s.systemName]=t.system_name),t.request_type&&([s.requestType]=t.request_type),t.assigned_users&&([s.assignedUsers]=t.assigned_users),q(s),i(1)},locale:{emptyText:P?(0,a.jsx)("div",{"data-testid":"empty-state-current-user",className:"my-4",children:(0,a.jsxs)(n.AntTypography.Paragraph,{children:["You have no tasks assigned."," ",d&&(0,a.jsx)("span",{children:'You can modify the "Assigned to" column filter to view tasks assigned to other users.'})]})}):(0,a.jsx)("div",{"data-testid":"empty-state",className:"my-4",children:"No results found."})},loading:E||R,scroll:{scrollToFirstRowOnChange:!0},tableLayout:"fixed",className:"[&_th]:!break-normal"})]})};var z=s(59003),D=s(92222),F=s(16125),Z=s(14048),M=s(47935),L=s(90867);let W={approved:{colorScheme:"success",label:"Approved"},complete:{label:"Completed",colorScheme:"success"},awaiting_email_send:{label:"Awaiting Email Send",colorScheme:"marble"},denied:{label:"Denied",colorScheme:"warning"},canceled:{label:"Canceled",colorScheme:"marble"},error:{label:"Error",colorScheme:"error"},in_processing:{label:"In Progress",colorScheme:"caution"},paused:{label:"Paused",colorScheme:"marble"},pending:{label:"New",colorScheme:"info"},identity_unverified:{label:"Unverified",colorScheme:"marble"},requires_input:{colorScheme:"minos",label:"Requires Input"},requires_manual_finalization:{colorScheme:"minos",label:"Requires Finalization"}},B=e=>{let{value:t}=e;return(0,a.jsx)(M.A4,{color:W[t].colorScheme,value:W[t].label,"data-testid":"request-status-badge"})},Y=e=>{let t,{daysLeft:s,timeframe:i=45,status:l,includeText:r=!1}=e;if(null==s||l===b.q2.COMPLETE||l===b.q2.CANCELED||l===b.q2.DENIED||l===b.q2.IDENTITY_UNVERIFIED)return null;let n=100*s/i;return n<25?t="error":n>=75?t="success":n>=25&&(t="warning"),(0,a.jsx)(M.A4,{value:r?"".concat(s," days left"):s.toString(),color:t})},K=e=>Array.from(new Set(e.filter(e=>Object.values(b.Us).includes(e.action_type)).map(e=>e.action_type))),V=e=>{let{value:t}=e,s=K(t).map(e=>S.rE.get(e));return(0,a.jsx)(M.WP,{value:s,cellState:{isExpanded:!0}})};var Q=s(58452),G=s(7426),X=s(57526),H=s(66548),J=s(45489);let $=e=>{var t;let{subjectRequest:s,...i}=e,l=(0,n.qY0)(),r=(0,n.qY0)(),d=(0,n.qY0)(),o=(0,n.qY0)(),{handleApproveRequest:c,handleDenyRequest:u,handleDeleteRequest:m,handleFinalizeRequest:x,isLoading:h}=(0,J.Z)({subjectRequest:s}),{data:y}=(0,G.tB)({api_set:!1}),{data:v}=(0,L.JE)(),j=null==y?void 0:null===(t=y.notifications)||void 0===t?void 0:t.send_request_completion_notification;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.Ugi,{...i,children:["pending"!==s.status?null:(0,a.jsx)(n.wpx,{title:"Approve","aria-label":"Approve",icon:(0,a.jsx)(n.PJP.MCw,{}),onClick:l.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-approve-btn",size:"small"}),"pending"!==s.status?null:(0,a.jsx)(n.wpx,{title:"Deny","aria-label":"Deny",icon:(0,a.jsx)(n.PJP.x8P,{}),onClick:r.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-deny-btn",size:"small"}),s.status!==b.q2.REQUIRES_MANUAL_FINALIZATION?null:(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_REVIEW],children:(0,a.jsx)(n.wpx,{title:"Finalize","aria-label":"Finalize",icon:(0,a.jsx)(n.PJP.Ok8,{}),onClick:o.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-finalize-btn",size:"small"})}),(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_DELETE],children:(0,a.jsx)(n.wpx,{title:"Delete","aria-label":"Delete",icon:(0,a.jsx)(n.PJP.ZNm,{size:14}),onClick:d.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-delete-btn",size:"small"})})]}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(X.Z,{isOpen:l.isOpen,isLoading:h,onClose:l.onClose,onApproveRequest:c,subjectRequest:s})}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(H.Z,{isOpen:r.isOpen,onClose:r.onClose,onDenyRequest:u})}),(0,a.jsx)(Q.Z,{isOpen:d.isOpen,onClose:d.onClose,onConfirm:m,message:(0,a.jsx)(n.xvT,{children:"You are about to permanently delete the privacy request. Are you sure you would like to continue?"})}),(0,a.jsx)(Q.Z,{isOpen:o.isOpen,onClose:o.onClose,onConfirm:()=>{x(),o.onClose()},title:"Finalize privacy request",message:(0,a.jsxs)(n.xvT,{children:['You are about to finalize this privacy request. The status will be updated to "Complete"',j&&(null==v?void 0:v.service_type)?" and the requesting user will be notified":"",". Would you like to continue?"]})})]})};(i=l||(l={})).STATUS="status",i.DAYS_LEFT="due_date",i.SOURCE="source",i.REQUEST_TYPE="request_type",i.SUBJECT_IDENTITY="subject_identity",i.TIME_RECEIVED="created_at",i.CREATED_BY="created_by",i.REVIEWER="reviewer",i.ID="id",i.ACTIONS="actions";let ee=(0,D.Cl)(),et=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return[ee.accessor(e=>e.status,{id:"status",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(B,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Status",...e})}),ee.accessor(e=>e.days_left,{id:"due_date",cell:e=>{let{row:t,getValue:s}=e;return(0,a.jsx)(Y,{daysLeft:s(),timeframe:t.original.policy.execution_timeframe,status:t.original.status})},header:e=>(0,a.jsx)(M.Rr,{value:"Days left",...e})}),...e?[ee.accessor(e=>e.source,{id:"source",cell:e=>e.getValue()?(0,a.jsx)(M.A4,{value:e.getValue()}):(0,a.jsx)(M.G3,{value:void 0}),header:e=>(0,a.jsx)(M.Rr,{value:"Source",...e}),enableSorting:!1})]:[],ee.accessor(e=>e.policy.rules,{id:"request_type",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(V,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Request type",...e}),enableSorting:!1}),ee.accessor(e=>{var t,s;return(null===(t=e.identity)||void 0===t?void 0:t.email.value)||(null===(s=e.identity)||void 0===s?void 0:s.phone_number.value)||""},{id:"subject_identity",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Subject identity",...e}),enableSorting:!1}),ee.accessor(e=>e.created_at,{id:"created_at",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:(0,_.p6)(t())})},header:e=>(0,a.jsx)(M.Rr,{value:"Time received",...e})}),ee.accessor(e=>{var t;return(null===(t=e.reviewer)||void 0===t?void 0:t.username)||""},{id:"reviewer",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Reviewed by",...e}),enableSorting:!1}),ee.accessor(e=>e.id,{id:"id",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Request ID",...e}),enableSorting:!1}),ee.display({id:"actions",cell:e=>{let{row:t}=e;return(0,a.jsx)($,{subjectRequest:t.original})},header:e=>(0,a.jsx)(M.Rr,{value:"Actions",...e}),meta:{disableRowClick:!0}})]},es=e=>{let t=(0,F.v9)(L.dp),s=(0,F.I0)();return{handleStatusChange:t=>{s((0,L.CI)(t)),e()},handleActionTypeChange:t=>{s((0,L.aM)(t)),e()},handleFromChange:t=>{s((0,L.su)(null==t?void 0:t.target.value)),e()},handleToChange:t=>{s((0,L.Ue)(null==t?void 0:t.target.value)),e()},handleClearAllFilters:()=>{s((0,L.Mk)()),e()},...t}};var ei=s(96718);let el=e=>{let{onClose:t,onFilterChange:s,...i}=e,{handleStatusChange:l,handleActionTypeChange:r,handleFromChange:d,handleToChange:o,handleClearAllFilters:c,from:u,to:p,status:m,action_type:x}=es(s);return(0,a.jsxs)(n.u_l,{onClose:t,size:"xl",...i,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{children:[(0,a.jsx)(n.xBx,{borderBottomWidth:1,borderBottomColor:"gray.200",children:"All Filters"}),(0,a.jsx)(n.olH,{}),(0,a.jsx)(n.fef,{py:4,sx:{"& label":{mb:0}},children:(0,a.jsxs)(n.Kqy,{gap:4,children:[(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",id:"request-date-range-label",children:"Date range"}),(0,a.jsxs)(n.Ugi,{gap:3,children:[(0,a.jsxs)(n.BZy,{size:"sm",flex:1,children:[(0,a.jsx)(n.UiE,{as:"label",htmlFor:"from-date",borderRadius:"md",children:"From"}),(0,a.jsx)(n.IIB,{type:"date",name:"From",value:u,max:p||void 0,onChange:d,borderRadius:"md",id:"from-date","aria-describedby":"request-date-range-label"})]}),(0,a.jsxs)(n.BZy,{size:"sm",flex:1,children:[(0,a.jsx)(n.UiE,{as:"label",htmlFor:"to-date",borderRadius:"md",children:"To"}),(0,a.jsx)(n.IIB,{type:"date",borderRadius:"md",name:"To",value:p,min:u||void 0,onChange:o,id:"to-date","aria-describedby":"request-date-range-label"})]})]})]}),(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",htmlFor:"request-status",children:"Status"}),(0,a.jsx)(ei.z,{id:"request-status",mode:"multiple",options:S.I3,value:m,onChange:l,"data-testid":"request-status-filter"})]}),(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",htmlFor:"request-action-type",children:"Request Type"}),(0,a.jsx)(ei.z,{id:"request-action-type",mode:"multiple",options:S.kN,value:x,onChange:r,"data-testid":"request-action-type-filter"})]})]})}),(0,a.jsxs)(n.mzw,{justifyContent:"space-between",children:[(0,a.jsx)(n.wpx,{type:"text",onClick:c,children:"Clear all"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:t,children:"Done"})]})]})]})},ea=e=>{let{...t}=e,{plus:s}=(0,u.hz)(),[i,l]=(0,c.useState)(""),r=(0,F.v9)(L.dp),d=(0,F.v9)(v.rK),o=(0,n.pmc)(),p=(0,h.useRouter)(),m=(0,F.I0)(),{PAGE_SIZES:x,pageSize:y,setPageSize:j,onPreviousPageClick:g,isPreviousPageDisabled:f,onNextPageClick:_,isNextPageDisabled:b,startRange:C,endRange:q,pageIndex:S,setTotalPages:k,resetPageIndexToDefault:E}=(0,M.oi)(),{isOpen:R,onOpen:T,onClose:w}=(0,n.qY0)(),{data:A,isLoading:I,isFetching:N}=(0,L.QA)({...r,page:S,size:y}),{items:P,total:U}=(0,c.useMemo)(()=>{let e=A||{items:[],total:0,pages:0};return k(e.pages),e},[A,k]),O=(0,c.useCallback)(e=>{m((0,L.mU)(e)),l(e),E()},[m,E,l]),W=async()=>{let e;try{await (0,L.py)({...r,token:d})}catch(t){e=t instanceof Error?t.message:"Unknown error occurred"}e&&o({description:"".concat(e),duration:5e3,status:"error"})},B=e=>{p.push("/privacy-requests/".concat(e))},Y=(0,z.b7)({getCoreRowModel:(0,D.sC)(),data:P,columns:(0,c.useMemo)(()=>et(s),[s]),getRowId:e=>"".concat(e.status,"-").concat(e.id),manualPagination:!0,columnResizeMode:"onChange"});return(0,a.jsxs)(n.xuv,{...t,children:[(0,a.jsxs)(M.Q$,{children:[(0,a.jsx)(M.HO,{globalFilter:i,setGlobalFilter:O,placeholder:"Search by request ID or identity value"}),(0,a.jsxs)(n.Ugi,{alignItems:"center",spacing:2,children:[(0,a.jsx)(n.wpx,{"data-testid":"filter-btn",onClick:T,children:"Filter"}),(0,a.jsx)(n.wpx,{"aria-label":"Export report","data-testid":"export-btn",icon:(0,a.jsx)(Z.nM,{ml:"1.5px"}),onClick:W})]}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(el,{isOpen:R,onClose:w,onFilterChange:E})})]}),I?(0,a.jsx)(n.xuv,{p:2,borderWidth:1,children:(0,a.jsx)(M.I4,{rowHeight:26,numRows:10})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M.ZK,{tableInstance:Y,onRowClick:e=>B(e.id),onSort:e=>{if(!e){m((0,L.PS)()),E();return}let{id:t,desc:s}=e;m((0,L.WR)(t)),m((0,L.iX)(s?"desc":"asc")),E()}}),(0,a.jsx)(M.s8,{totalRows:U||0,pageSizes:x,setPageSize:j,onPreviousPageClick:g,isPreviousPageDisabled:f||N,onNextPageClick:_,isNextPageDisabled:b||N,startRange:C,endRange:q})]})]})};var er=s(812),en=s(87361),ed=s(46628),eo=s(32885),ec=s(34090),eu=s(55484),ep=s(40324);let em=(e,t)=>null==t?void 0:t.find(t=>t.policy_key===e),ex=e=>{var t,s;if(!e)return eu.Ry().shape({policy_key:eu.Z_().required().label("Request type")});let i=e.custom_privacy_request_fields?Object.entries(e.custom_privacy_request_fields).map(e=>{let[t,s]=e;return{[t]:eu.Ry().shape({value:s.required&&!s.hidden?eu.Z_().required().label(s.label):eu.Z_().nullable()})}}).reduce((e,t)=>({...e,...t}),{}):{};return eu.Ry().shape({policy_key:eu.Z_().required().label("Request type"),identity:eu.Ry().shape({email:(null===(t=e.identity_inputs)||void 0===t?void 0:t.email)==="required"?eu.Z_().email().required().label("Email address"):eu.Z_().nullable(),phone_number:(null===(s=e.identity_inputs)||void 0===s?void 0:s.phone)==="required"?eu.Z_().matches(/^\+?[1-9]\d{1,14}$/,"Phone number must be formatted correctly (e.g. 15555555555)").required().label("Phone number"):eu.Z_().matches(/^\+?[1-9]\d{1,14}$/,"Phone number must be formatted correctly (e.g. 15555555555)").nullable()}),custom_privacy_request_fields:eu.Ry().shape(i)})};var eh=s(97181);let ey={is_verified:!1,policy_key:"",identity:{}},ev=e=>{let{identityInputs:t}=e;return t?(0,a.jsxs)(a.Fragment,{children:[t.email?(0,a.jsx)(ep.j0,{name:"identity.email",label:"User email address",isRequired:"required"===t.email,variant:"stacked"}):null,t.phone?(0,a.jsx)(ep.j0,{name:"identity.phone_number",label:"User phone number",isRequired:"required"===t.phone,variant:"stacked"}):null]}):null},ej=e=>{let{customFieldInputs:t}=e;if(!t)return null;let s=Object.entries(t);return(0,a.jsx)(a.Fragment,{children:s.map(e=>{let[t,s]=e;return(0,a.jsx)(ep.j0,{name:"custom_privacy_request_fields.".concat(t,".value"),label:s.label,isRequired:!!s.required,variant:"stacked"},t)})})},eg=e=>{let{onSubmit:t,onCancel:s,privacyCenterUrl:i}=e,{onCopy:l}=(0,n.VPI)(""),r=(0,n.pmc)();return(0,a.jsx)(ec.J9,{initialValues:{identity:{email:""}},onSubmit:e=>{l("".concat(i,"?email=").concat(encodeURIComponent(e.identity.email))),t(e),r({status:"success",description:"DSR Link Copied!"})},validationSchema:()=>eu.Ry().shape({identity:eu.Ry().shape({email:eu.Z_().email().required().label("Email Address")})}),children:e=>{let{dirty:t,isValid:i}=e;return(0,a.jsx)(ec.l0,{children:(0,a.jsxs)(n.Kqy,{spacing:6,mb:2,children:[(0,a.jsx)(ev,{identityInputs:{email:"required"}}),(0,a.jsxs)("div",{className:"flex gap-4 self-end",children:[(0,a.jsx)(n.wpx,{onClick:s,children:"Cancel"}),(0,a.jsx)(n.wpx,{htmlType:"submit",type:"primary",disabled:!t||!i,"data-testid":"submit-btn",icon:(0,a.jsx)(n.xPt,{}),children:"Copy"})]})]})})}})};var ef=e=>{let{onSubmit:t,onCancel:s}=e,{data:i}=(0,L.xv)();return(0,a.jsx)(ec.J9,{initialValues:ey,onSubmit:t,validationSchema:()=>(0,eu.Vo)(e=>ex(em(e.policy_key,null==i?void 0:i.actions))),children:e=>{var t;let{values:l,dirty:r,isValid:d,isSubmitting:o,setFieldValue:c}=e,u=em(l.policy_key,null==i?void 0:i.actions);return(0,a.jsx)(ec.l0,{children:(0,a.jsxs)(n.Kqy,{spacing:6,mb:2,children:[(0,a.jsx)(eh.d,{name:"policy_key",label:"Request type",options:null!==(t=null==i?void 0:i.actions.map(e=>({label:e.title,value:e.policy_key})))&&void 0!==t?t:[],onChange:e=>{let t=em(e,null==i?void 0:i.actions);if(!(null==t?void 0:t.custom_privacy_request_fields)){c("custom_privacy_request_fields",void 0);return}c("custom_privacy_request_fields",Object.entries(t.custom_privacy_request_fields).map(e=>{let[t,s]=e;return{[t]:{label:s.label,value:s.default_value}}}).reduce((e,t)=>({...e,...t}),{}))},layout:"stacked",isRequired:!0}),(0,a.jsx)(ev,{identityInputs:null==u?void 0:u.identity_inputs}),(0,a.jsx)(ej,{customFieldInputs:null==u?void 0:u.custom_privacy_request_fields}),(0,a.jsx)(ep.Xl,{name:"is_verified",label:"I confirm that I have verified this user information"}),(0,a.jsxs)("div",{className:"flex gap-4 self-end",children:[(0,a.jsx)(n.wpx,{onClick:s,children:"Cancel"}),(0,a.jsx)(n.wpx,{htmlType:"submit",type:"primary",disabled:!l.is_verified||!r||!d,loading:o,"data-testid":"submit-btn",children:"Create"})]})]})})}})},e_=s(31883);let eb=e=>{let{isOpen:t,onClose:s}=e,[i]=(0,L.M6)(),l=(0,n.pmc)(),r=async e=>{let{is_verified:t,...a}=e,r=a.custom_privacy_request_fields?Object.entries(a.custom_privacy_request_fields).map(e=>{let[t,s]=e;return s.value?{[t]:s}:{}}).reduce((e,t)=>({...e,...t}),{}):void 0,n={...a,custom_privacy_request_fields:r},d=await i([n]);(0,e_.D4)(d)?l((0,ed.Vo)((0,er.e$)(d.error,"An error occurred while creating this privacy request. Please try again"))):l((0,ed.t5)("Privacy request created")),s()};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"2xl",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{"data-testid":"submit-request-modal",maxHeight:"80%",overflowY:"auto",children:[(0,a.jsx)(n.xBx,{children:"Create privacy request"}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)(n.Kqy,{spacing:4,children:[(0,a.jsx)(en.Z,{title:"Warning: You are bypassing identity verification",text:"You are bypassing Fides' built-in identity verification step. Please ensure that you are only entering information on behalf of a verified and approved user's privacy request."}),(0,a.jsx)(ef,{onSubmit:r,onCancel:()=>s()})]})})]})]})},eC=e=>{let{isOpen:t,onClose:s,privacyCenterUrl:i}=e;return(0,a.jsxs)(n.u_l,{size:"md",isOpen:t,onClose:s,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{children:[(0,a.jsx)(n.xBx,{children:"Create a Privacy Request Link"}),(0,a.jsxs)(n.fef,{children:[(0,a.jsx)(n.Kqy,{spacing:4}),(0,a.jsx)(eg,{privacyCenterUrl:i,onSubmit:s,onCancel:s})]})]})]})};var eq=()=>{var e;let[t,s]=(0,c.useState)("closed"),i=()=>s("closed"),{data:l}=(0,eo.Vh)(),r=(null!==(e=null==l?void 0:l.privacy_center_url)&&void 0!==e?e:"").trim(),d=r.length>0;return(0,a.jsxs)(a.Fragment,{children:[d?(0,a.jsx)(eC,{isOpen:"create-link"===t,onClose:i,privacyCenterUrl:r}):null,(0,a.jsx)(eb,{isOpen:"submit-request"===t,onClose:i}),(0,a.jsx)(n.S0p.Button,{type:"primary",onClick:()=>s("submit-request"),"data-testid":"submit-request-btn",menu:{items:[{label:"Create request link",key:"create-request-link",icon:(0,a.jsx)(n.xPt,{}),onClick:()=>s("create-link"),disabled:!d}]},icon:(0,a.jsx)(n.v4q,{}),children:"Create request"})]})},eS=s(58754),ek=s(41841);let eE=()=>{let{errorAlert:e}=(0,ek.VY)(),[t,s]=(0,c.useState)(!1),[i,l]=(0,c.useState)({count:0,total:0}),[r,d]=(0,c.useState)(!0),o=b.q2.ERROR,{data:u}=(0,L.tE)(),{data:p}=(0,L.QA)({status:[o]},{pollingInterval:15e3,skip:r});return(0,c.useEffect)(()=>{d(!(u&&u.notify_after_failures>0))},[u]),(0,c.useEffect)(()=>{let e=(null==p?void 0:p.total)||0;e>=((null==u?void 0:u.notify_after_failures)||0)&&e>i.total?(l({count:e-i.total,total:e}),s(!0)):s(!1)},[null==p?void 0:p.total,null==u?void 0:u.notify_after_failures,i.total]),{processing:()=>{t&&e((0,a.jsxs)(n.xuv,{children:["DSR automation has failed for"," ",(0,a.jsx)(n.xvT,{as:"span",fontWeight:"semibold",children:i.count})," ","privacy request(s). Please review the event log for further details."]}),void 0,{containerStyle:{maxWidth:"max-content"},duration:null,id:"dsrErrorAlert"})}}};var eR=s(72281);let eT=o()(()=>s.e(9676).then(s.bind(s,59676)),{loadableGenerated:{webpack:()=>[59676]},loading:()=>(0,a.jsx)("div",{children:"Loading..."})});var ew=()=>{let{processing:e}=eE(),{plus:t}=(0,u.hz)(),{activeTab:s,handleTabChange:i,availableTabs:l}=(0,eR.d)();(0,c.useEffect)(()=>{e()},[e]);let r=(0,c.useMemo)(()=>{let e=[];return l.request&&e.push({key:eR.G.REQUEST,label:"Request",children:(0,a.jsx)(ea,{})}),l.manualTask&&e.push({key:eR.G.MANUAL_TASK,label:"Manual tasks",children:(0,a.jsx)(O,{})}),e},[l.manualTask,l.request]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eS.Z,{heading:"Privacy Requests",breadcrumbItems:[{title:"All requests"}],rightContent:(0,a.jsxs)(n.vyj,{children:[t&&(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_CREATE],children:(0,a.jsx)(eq,{})}),(0,a.jsx)(eT,{})]}),"data-testid":"privacy-requests"}),(0,a.jsx)(n.A5g,{activeKey:s,onChange:i,items:r})]})},eA=()=>(0,a.jsx)(r.Z,{title:"Privacy Requests",children:(0,a.jsx)(ew,{})})},31883:function(e,t,s){"use strict";s.d(t,{Bw:function(){return i.Bw},D4:function(){return i.D4}});var i=s(19043)}},function(e){e.O(0,[431,8765,3550,4164,2888,9774,179],function(){return e(e.s=1565)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2369],{1565:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/privacy-requests",function(){return s(15273)}])},59969:function(e,t,s){"use strict";var i=s(24246),l=s(96306);s(27378);var a=s(8557);t.Z=e=>{let{daysLeft:t,includeText:s,status:r}=e;if(!t||r===a.q.COMPLETE||r===a.q.CANCELED||r===a.q.DENIED||r===a.q.IDENTITY_UNVERIFIED)return(0,i.jsx)("span",{children:"-"});let n="";switch(!0){case t>=10:n="success";break;case t<10&&t>4:n="warning";break;case t<5:n="error"}return(0,i.jsx)(l.j8w,{color:n,children:s?"".concat(t," days left"):t})}},18225:function(e,t,s){"use strict";var i=s(24246),l=s(96306);t.Z=e=>{let{alignment:t="center",...s}=e;return(0,i.jsx)(l.kCb,{boxSize:"full",align:"center",justify:t,children:(0,i.jsx)(l.$jN,{color:"primary",...s})})}},35287:function(e,t,s){"use strict";var i=s(24246),l=s(96306),a=s(88038),r=s.n(a);s(27378),t.Z=e=>{let{children:t,title:s,mainProps:a}=e;return(0,i.jsxs)(l.kCb,{"data-testid":s,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,i.jsxs)(r(),{children:[(0,i.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,i.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,i.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,i.jsx)(l.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...a,children:t})]})}},87361:function(e,t,s){"use strict";var i=s(24246),l=s(96306);t.Z=e=>{let{title:t,text:s,onClose:a}=e;return(0,i.jsxs)(l.Ugi,{backgroundColor:"gray.50",border:"1px solid",borderRadius:"md",justifyContent:"space-between",py:4,pr:6,pl:3,"data-testid":"empty-state",gap:2,position:"relative",children:[a&&(0,i.jsx)(l.Two,{boxSize:5,position:"absolute",right:3,top:3,zIndex:1,cursor:"pointer",p:1,onClick:a}),(0,i.jsx)(l.iid,{alignSelf:"start",color:"minos",mt:.5,flexGrow:0}),(0,i.jsxs)(l.kCb,{direction:"column",gap:2,flexGrow:1,children:[(0,i.jsx)(l.X6q,{fontSize:"md",children:t}),(0,i.jsx)(l.xvT,{fontSize:"sm",color:"gray.600",lineHeight:"5",children:s})]})]})}},19904:function(e,t,s){"use strict";s.d(t,{Tg:function(){return r}});var i=s(24246),l=s(16134),a=s(31793);let r=e=>(0,l.C)(a.uu).filter(t=>e.includes(t)).length>0;t.ZP=e=>{let{scopes:t,children:s}=e;return r(t)?(0,i.jsx)(i.Fragment,{children:s}):null}},96718:function(e,t,s){"use strict";s.d(t,{z:function(){return a}});var i=s(24246),l=s(96306);let a=e=>{let{...t}=e;return(0,i.jsx)(l.WPr,{defaultActiveFirstOption:!1,maxTagCount:"responsive",allowClear:!0,styles:t.mode?void 0:{popup:{root:{width:"auto",minWidth:"200px"}}},className:"w-auto","data-testid":"filter-select",...t})}},97181:function(e,t,s){"use strict";s.d(t,{d:function(){return o}});var i=s(24246),l=s(96306),a=s(34090),r=s(27378),n=s(46238),d=s(40324);let o=e=>{let{name:t,label:s,labelProps:o,tooltip:c,isRequired:u,layout:p="inline",helperText:m,...x}=e,[h,y,{setValue:v}]=(0,a.U$)(t),j=!!(y.touched&&y.error),[g,f]=(0,r.useState)("");h.value||"tags"!==x.mode&&"multiple"!==x.mode||(h.value=[]),"tags"===x.mode&&"string"==typeof h.value&&(h.value=[h.value]);let _="tags"===x.mode?(e,t)=>e?e.value!==g||h.value.includes(g)?x.optionRender?x.optionRender(e,t):e.label:'Create "'.concat(g,'"'):void 0:x.optionRender||void 0,b=e=>{f(e),x.onSearch&&x.onSearch(e)},C=(e,t)=>{v(e),x.onChange&&x.onChange(e,t)};return"inline"===p?(0,i.jsx)(l.NIc,{isInvalid:j,isRequired:u,children:(0,i.jsxs)(l.rjZ,{templateColumns:s?"1fr 3fr":"1fr",children:[s?(0,i.jsx)(d.__,{htmlFor:x.id||t,...o,children:s}):null,(0,i.jsxs)(l.jqI,{align:"center",children:[(0,i.jsxs)(l.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,i.jsx)(l.WPr,{...h,id:x.id||t,"data-testid":"controlled-select-".concat(h.name),...x,optionRender:_,onSearch:"tags"===x.mode?b:void 0,onChange:C,value:h.value||void 0,status:j?"error":void 0}),m&&(0,i.jsx)(l.Q6r,{children:m}),(0,i.jsx)(d.Bc,{isInvalid:j,message:y.error,fieldName:h.name})]}),(0,i.jsx)(n.b,{label:c,className:j?"mt-2 self-start":void 0})]})]})}):(0,i.jsx)(l.NIc,{isInvalid:j,isRequired:u,children:(0,i.jsxs)(l.gCW,{alignItems:"start",children:[(0,i.jsxs)(l.jqI,{align:"center",children:[s?(0,i.jsx)(d.__,{htmlFor:x.id||t,fontSize:"xs",my:0,mr:1,...o,children:s}):null,(0,i.jsx)(n.b,{label:c})]}),(0,i.jsx)(l.WPr,{...h,id:x.id||t,"data-testid":"controlled-select-".concat(h.name),...x,optionRender:_,onSearch:"tags"===x.mode?b:void 0,onChange:C,value:h.value||void 0,status:j?"error":void 0}),m&&(0,i.jsx)(l.Q6r,{style:{marginTop:0},children:m}),(0,i.jsx)(d.Bc,{isInvalid:j,message:y.error,fieldName:h.name})]})})}},57526:function(e,t,s){"use strict";var i=s(24246),l=s(96306),a=s(27378);t.Z=e=>{let{isOpen:t,onClose:s,onApproveRequest:r,isLoading:n,subjectRequest:d}=e,{identity:o,identity_verified_at:c,custom_privacy_request_fields:u}=d,p=(0,a.useCallback)(()=>{r().then(()=>{s()})},[r,s]);return(0,i.jsxs)(l.u_l,{isOpen:t,onClose:s,size:"lg",isCentered:!0,children:[(0,i.jsx)(l.ZAr,{}),(0,i.jsxs)(l.hzk,{children:[(0,i.jsx)(l.xBx,{children:"Privacy request approval"}),(0,i.jsxs)(l.fef,{paddingTop:0,paddingBottom:0,children:[(0,i.jsx)(l.xvT,{color:"gray.500",fontSize:"14px",marginBottom:4,children:"Are you sure you want to approve this privacy request?"}),(0,i.jsxs)(l.QI$,{children:[Object.entries(o).filter(e=>{let[,{value:t}]=e;return null!==t}).map(e=>{let[t,{value:s,label:a}]=e;return(0,i.jsx)(l.HCh,{children:(0,i.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,i.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[a,":"]}),(0,i.jsx)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:s}),"(",c?"Verified":"Unverified",")"]},t)},t)}),u&&Object.entries(u).filter(e=>{let[,t]=e;return t.value}).map(e=>{let[t,s]=e;return(0,i.jsx)(l.HCh,{children:(0,i.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,i.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[s.label,":"]}),(0,i.jsxs)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:[Array.isArray(s.value)?s.value.join(", "):s.value," "]}),"(Unverified)"]},t)},t)})]})]}),(0,i.jsx)(l.mzw,{children:(0,i.jsxs)(l.MIq,{columns:2,width:"100%",children:[(0,i.jsx)(l.wpx,{onClick:s,className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,i.jsx)(l.wpx,{type:"primary","data-testid":"continue-btn",onClick:p,loading:n,children:"Confirm"})]})})]})]})}},66548:function(e,t,s){"use strict";var i=s(24246),l=s(40324),a=s(96306),r=s(34090),n=s(27378),d=s(55484);let o={denialReason:""};t.Z=e=>{let{isOpen:t,onClose:s,onDenyRequest:c}=e,u=(0,n.useCallback)((e,t)=>{let{setSubmitting:i}=t;c(e.denialReason).then(()=>{i(!1),s()})},[c,s]);return(0,i.jsxs)(a.u_l,{isOpen:t,onClose:s,isCentered:!0,returnFocusOnClose:!1,children:[(0,i.jsx)(a.ZAr,{}),(0,i.jsx)(a.hzk,{width:"100%",maxWidth:"456px","data-testid":"deny-privacy-request-modal",children:(0,i.jsx)(r.J9,{initialValues:o,validationSchema:d.Ry({denialReason:d.Z_().required().label("Reason for denial")}),onSubmit:u,children:e=>{let{isSubmitting:t,dirty:n,isValid:d}=e;return(0,i.jsxs)(r.l0,{children:[(0,i.jsx)(a.xBx,{children:"Privacy request denial"}),(0,i.jsx)(a.fef,{color:"gray.500",fontSize:"14px",children:"Please enter a reason for denying this privacy request. Please note: this can be seen by the user in their notification email."}),(0,i.jsx)(a.fef,{children:(0,i.jsx)(l.Ks,{name:"denialReason",textAreaProps:{focusBorderColor:"primary.600",resize:"none"}})}),(0,i.jsxs)(a.mzw,{className:"flex w-full gap-4",children:[(0,i.jsx)(a.wpx,{disabled:t,onClick:s,className:"grow",children:"Cancel"}),(0,i.jsx)(a.wpx,{htmlType:"submit",type:"primary",disabled:!n||!d,loading:t,className:"grow","data-testid":"deny-privacy-request-modal-btn",children:"Confirm"})]})]})}})})]})}},71784:function(e,t,s){"use strict";s.d(t,{DE:function(){return d},I3:function(){return l},kN:function(){return r},qX:function(){return n},rE:function(){return a}});var i=s(21910);let l=[...new Map([[i.q2.APPROVED,"Approved"],[i.q2.AWAITING_EMAIL_SEND,"Awaiting email send"],[i.q2.CANCELED,"Canceled"],[i.q2.COMPLETE,"Completed"],[i.q2.DENIED,"Denied"],[i.q2.ERROR,"Error"],[i.q2.IN_PROCESSING,"In progress"],[i.q2.PENDING,"New"],[i.q2.PAUSED,"Paused"],[i.q2.IDENTITY_UNVERIFIED,"Unverified"],[i.q2.REQUIRES_INPUT,"Requires input"],[i.q2.REQUIRES_MANUAL_FINALIZATION,"Requires finalization"]])].map(e=>{let[t,s]=e;return{label:s,value:t}}),a=new Map([[i.Us.ACCESS,"Access"],[i.Us.ERASURE,"Erasure"],[i.Us.CONSENT,"Consent"],[i.Us.UPDATE,"Update"]]),r=[...a].map(e=>{let[t,s]=e;return{label:s,value:t}}),n={mailgun:"mailgun",twilio_email:"twilio_email",twilio_text:"twilio_text"},d={local:"local",s3:"s3",gcs:"gcs"}},45489:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});var i=s(90867);let l=e=>{let{subjectRequest:t}=e,[s,l]=(0,i.RW)({fixedCacheKey:t.id}),[a,r]=(0,i.F1)({fixedCacheKey:t.id}),[n,d]=(0,i.rC)({fixedCacheKey:t.id}),[o,c]=(0,i.zB)({fixedCacheKey:t.id}),u=r.isLoading||l.isLoading||c.isLoading;return{approveRequest:s,approveRequestResult:l,denyRequest:a,denyRequestResult:r,handleApproveRequest:()=>s(t),handleDenyRequest:e=>a({id:t.id,reason:e}),handleDeleteRequest:()=>n(t),handleFinalizeRequest:()=>o({privacyRequestId:t.id}),softDeleteRequestResult:d,finalizeRequestResult:c,isLoading:u}}},72281:function(e,t,s){"use strict";s.d(t,{G:function(){return n},d:function(){return d}});var i=s(86677),l=s(27378),a=s(19904),r=s(21910);let n={REQUEST:"request",MANUAL_TASK:"manual-tasks"},d=()=>{let e=(0,i.useRouter)(),t=(0,a.Tg)([r.Sh.PRIVACY_REQUEST_READ]),s=(0,a.Tg)([r.Sh.MANUAL_FIELD_READ_OWN,r.Sh.MANUAL_FIELD_READ_ALL]),d=(0,l.useMemo)(()=>({request:t,manualTask:s}),[t,s]),[o,c]=(0,l.useState)(d.request?n.REQUEST:n.MANUAL_TASK),u=(0,l.useCallback)(()=>{let{tab:t}=e.query;return t&&"string"==typeof t&&Object.values(n).includes(t)?t:null},[e.query]),p=(0,l.useCallback)(t=>{e.replace({pathname:e.pathname,query:{tab:t}},void 0,{shallow:!0})},[e]);return(0,l.useEffect)(()=>{if(!e.isReady)return;let t=u();t&&(t===n.REQUEST||t===n.MANUAL_TASK&&d.manualTask)&&c(t)},[e.isReady,e.query,d,u,p]),{activeTab:o,handleTabChange:(0,l.useCallback)(e=>{Object.values(n).includes(e)&&(c(e),p(e))},[p]),availableTabs:d}}},15273:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return eA}});var i,l,a=s(24246),r=s(35287),n=s(96306),d=s(65218),o=s.n(d),c=s(27378),u=s(25980),p=s(19904),m=s(56141),x=s.n(m),h=s(86677),y=s(16134),v=s(91317),j=s(18225),g=s(77830),f=s(28407),_=s(16394),b=s(21910),C=s(32735),q=s(59969),S=s(71784),k=s(45116);let E=e=>{let{label:t,children:s}=e;return(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"shrink-0 grow-0 basis-1/3 pr-2",children:(0,a.jsxs)(n.AntTypography.Text,{className:"text-gray-700",children:[t,":"]})}),(0,a.jsx)("div",{className:"min-w-0 shrink grow text-gray-600",children:s})]})},R=e=>{let{task:t}=e,s=t.request_type===b.k6.ACCESS?b.Us.ACCESS:b.Us.ERASURE,i=S.rE.get(s)||t.request_type;return(0,a.jsxs)("div",{className:"flex flex-col space-y-3","data-testid":"task-details-container",children:[(0,a.jsx)(E,{label:"Name",children:(0,a.jsx)(n.AntTypography.Text,{children:t.name})}),(0,a.jsx)(E,{label:"Description",children:(0,a.jsx)(n.AntTypography.Text,{children:t.description||"-"})}),(0,a.jsx)(E,{label:"Request Type",children:(0,a.jsx)(n.AntTypography.Text,{children:i})}),(0,a.jsx)(E,{label:"Assigned To",children:t.assigned_users&&t.assigned_users.length>0?(0,a.jsx)("div",{className:"flex flex-wrap gap-1","data-testid":"assigned-users-tags",children:t.assigned_users.map(e=>(0,a.jsx)(n.j8w,{"data-testid":"assigned-user-tag-".concat(e.id),children:"".concat(e.first_name||""," ").concat(e.last_name||"").trim()||e.email_address||"Unknown User"},e.id))}):(0,a.jsx)(n.AntTypography.Text,{children:"No one assigned"})}),t.privacy_request.subject_identities&&Object.keys(t.privacy_request.subject_identities).length>0?(0,a.jsx)(E,{label:"Subject identities",children:(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.entries(t.privacy_request.subject_identities).map(e=>{let[t,s]=e;return(0,a.jsxs)(n.j8w,{children:[t,": ",String(s)]},t)})})}):null,t.privacy_request.custom_fields&&Object.keys(t.privacy_request.custom_fields).length>0?(0,a.jsx)(E,{label:"Custom fields",children:(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.entries(t.privacy_request.custom_fields).filter(e=>{let[,t]=e;return t}).map(e=>{let[t,s]=e;return(0,a.jsxs)(n.j8w,{children:[t,": ",String(s)]},t)})})}):null]})},T=e=>{let{isOpen:t,onClose:s,task:i}=e,[l,{isLoading:r}]=(0,k.HP)(),[d,o]=(0,c.useState)(""),[u,p]=(0,c.useState)(!1),[m,x]=(0,c.useState)(""),[h,y]=(0,c.useState)([]),v=async()=>{try{await l({privacy_request_id:i.privacy_request.id,manual_field_id:i.manual_field_id,field_value:i.input_type===b.PF.TEXT?d:i.input_type===b.PF.CHECKBOX?u.toString():void 0,comment_text:m||void 0,attachments:h.length>0?h.map(e=>e.originFileObj).filter(Boolean):void 0}).unwrap(),o(""),p(!1),x(""),y([]),s()}catch(e){n.Pg3.error("Failed to complete task. Please try again.")}};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"700px",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{maxWidth:"700px","data-testid":"complete-task-modal",children:[(0,a.jsx)(n.xBx,{children:(0,a.jsx)(n.AntTypography.Title,{level:4,children:"Complete Task"})}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)(R,{task:i})}),(0,a.jsx)(n.htM,{}),(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-4",children:[(()=>{switch(i.input_type){case b.PF.TEXT:return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Subject data"}),(0,a.jsx)(n.uFc.TextArea,{value:d,onChange:e=>o(e.target.value),placeholder:"Enter your response...",rows:4,"data-testid":"complete-modal-text-input"})]});case b.PF.CHECKBOX:return(0,a.jsx)("div",{className:"space-y-2",children:(0,a.jsx)(n.E_O,{checked:u,onChange:e=>p(e.target.checked),"data-testid":"complete-modal-checkbox",children:"The task has been completed"})});default:return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Upload Files"}),(0,a.jsx)("div",{children:(0,a.jsx)(n.pMK,{fileList:h,onChange:e=>{let{fileList:t}=e;return y(t)},beforeUpload:()=>!1,"data-testid":"complete-modal-file-upload",multiple:!0,children:(0,a.jsx)(n.wpx,{"data-testid":"complete-modal-upload-button",children:"Click to Upload"})})})]})}})(),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Internal comment"}),(0,a.jsx)(n.uFc.TextArea,{value:m,onChange:e=>x(e.target.value),placeholder:"Add any additional comments...",rows:3,"data-testid":"complete-modal-comment-input"})]})]})})]})}),(0,a.jsx)(n.mzw,{children:(0,a.jsxs)(n.vyj,{children:[(0,a.jsx)(n.wpx,{onClick:()=>{o(""),p(!1),x(""),y([]),s()},disabled:r,"data-testid":"complete-modal-cancel-button",children:"Cancel"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:v,loading:r,disabled:!(()=>{switch(i.input_type){case b.PF.TEXT:return d.trim().length>0;case b.PF.CHECKBOX:return u;default:return h.length>0}})(),"data-testid":"complete-modal-save-button",children:"Save"})]})})]})]})},w=e=>{let{isOpen:t,onClose:s,task:i}=e,[l,{isLoading:r}]=(0,k.DA)(),[d,o]=(0,c.useState)(""),u=async()=>{try{await l({privacy_request_id:i.privacy_request.id,manual_field_id:i.manual_field_id,skip_reason:d}).unwrap(),o(""),s()}catch(e){n.Pg3.error("Failed to skip task. Please try again.")}};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"700px",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{maxWidth:"700px","data-testid":"skip-task-modal",children:[(0,a.jsx)(n.xBx,{children:(0,a.jsx)(n.AntTypography.Title,{level:4,children:"Skip Task"})}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)("div",{className:"flex flex-col space-y-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)(R,{task:i})}),(0,a.jsx)(n.htM,{}),(0,a.jsx)("div",{children:(0,a.jsx)("div",{className:"flex flex-col space-y-4",children:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-sm font-medium text-gray-700",children:"Reason for skipping (Required)"}),(0,a.jsx)(n.uFc.TextArea,{value:d,onChange:e=>o(e.target.value),placeholder:"Please provide a reason for skipping this task...",rows:4,"data-testid":"skip-modal-comment-input"})]})})})]})}),(0,a.jsx)(n.mzw,{children:(0,a.jsxs)(n.vyj,{children:[(0,a.jsx)(n.wpx,{onClick:()=>{o(""),s()},disabled:r,"data-testid":"skip-modal-cancel-button",children:"Cancel"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:u,loading:r,disabled:!d.trim(),danger:!0,"data-testid":"skip-modal-skip-button",children:"Skip Task"})]})})]})]})},A=e=>{let{task:t}=e,s=(0,h.useRouter)(),{isOpen:i,onOpen:l,onClose:r}=(0,n.qY0)(),{isOpen:d,onOpen:o,onClose:c}=(0,n.qY0)(),u=(0,p.Tg)([b.Sh.PRIVACY_REQUEST_READ]);if(t.status!==b.OS.NEW)return null;let m=[{key:"skip",label:"Skip task",onClick:o}];return u&&m.push({key:"go-to-request",label:"Go to request",onClick:()=>{s.push({pathname:g.ld,query:{id:t.privacy_request.id}})}}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.vyj,{size:"small",children:[(0,a.jsx)(n.wpx,{type:"default",onClick:l,size:"small",children:"Complete"}),(0,a.jsx)(n.S0p,{menu:{items:m},trigger:["click"],placement:"bottomRight",overlayStyle:{minWidth:120},children:(0,a.jsx)(n.wpx,{size:"small",icon:(0,a.jsx)(n.PJP.r43,{}),"aria-label":"More actions"})})]}),(0,a.jsx)(T,{isOpen:i,onClose:r,task:t}),(0,a.jsx)(w,{isOpen:d,onClose:c,task:t})]})},I={[b.OS.NEW]:{color:"info",label:"New"},[b.OS.COMPLETED]:{color:"success",label:"Completed"},[b.OS.SKIPPED]:{color:"marble",label:"Skipped"}},N=[{text:"New",value:b.OS.NEW},{text:"Completed",value:b.OS.COMPLETED},{text:"Skipped",value:b.OS.SKIPPED}],P=[{text:"Access",value:b.k6.ACCESS},{text:"Erasure",value:b.k6.ERASURE}],U=e=>{let{systemFilters:t,userFilters:s,onUserClick:i,currentFilters:l,hasAccessToAllTasks:r}=e,d=[{title:"Task name",dataIndex:"name",key:"name",minWidth:100,render:e=>(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:e},children:e})},{title:"Status",dataIndex:"status",key:"status",width:110,render:e=>(0,a.jsx)(n.j8w,{color:I[e].color,"data-testid":"manual-task-status-tag",children:I[e].label}),filters:N,filterMultiple:!1},{title:"System",dataIndex:["system","name"],key:"system_name",minWidth:100,render:e=>(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:e},children:e}),filters:t,filterMultiple:!1},{title:"Type",dataIndex:"request_type",key:"request_type",width:80,render:e=>{let t=e===b.k6.ACCESS?b.Us.ACCESS:b.Us.ERASURE,s=S.rE.get(t)||e;return(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:s},children:s})},filters:P,filterMultiple:!1},{title:"Assigned to",dataIndex:"assigned_users",key:"assigned_users",minWidth:100,render:e=>{if(!e||0===e.length)return(0,a.jsx)(n.AntTypography.Text,{children:"-"});let t=e.map(e=>({label:(0,_.gJ)(e),value:e.id})),s=e.map(e=>e.id);return(0,a.jsx)(n.d3V,{value:s,options:t,readonly:!0,onTagClick:e=>i(String(e))})},filters:s,filterMultiple:!1,defaultFilteredValue:l.assignedUsers?[l.assignedUsers]:void 0},{title:"Days left",dataIndex:["privacy_request","days_left"],key:"days_left",width:90,render:e=>(0,a.jsx)(q.Z,{daysLeft:e||0,includeText:!1,status:b.q2.PENDING})},{title:"Subject identity",dataIndex:["privacy_request","subject_identities"],key:"subject_identities",minWidth:120,render:e=>{if(!e)return(0,a.jsx)(n.AntTypography.Text,{children:"-"});let t=e.email||e.phone_number||"";return(0,a.jsx)(n.AntTypography.Text,{ellipsis:{tooltip:t},children:t})}},{title:"Actions",key:"actions",width:145,render:(e,t)=>(0,a.jsx)(A,{task:t})}];return r?d:d.filter(e=>"assigned_users"!==e.key)},O=()=>{let e=(0,h.useRouter)(),t=(0,y.C)(v.dy),[s,i]=(0,c.useState)(1),[l,r]=(0,c.useState)(25),d=(0,p.Tg)([b.Sh.MANUAL_FIELD_READ_ALL]),o=e.query.privacy_request_id||void 0,u=(0,c.useMemo)(()=>{let e={};return(null==t?void 0:t.id)&&!o&&(e.assignedUsers=t.id),o&&"string"==typeof o&&(e.privacyRequestId=o),e},[null==t?void 0:t.id,o]),[m,q]=(0,c.useState)(u),{data:S,isLoading:E,isFetching:R}=(0,k.Ym)({page:s,size:l,status:m.status,systemName:m.systemName,requestType:m.requestType,assignedUserId:m.assignedUsers,privacyRequestId:m.privacyRequestId}),{data:T}=(0,k.Ym)({page:1,size:1}),{items:w,total:A}=(0,c.useMemo)(()=>S||{items:[],total:0,pages:0,filter_options:{assigned_users:[],systems:[]}},[S]),I=(0,c.useMemo)(()=>(null==T?void 0:T.filter_options)||{assigned_users:[],systems:[]},[T]),N=U({systemFilters:(0,c.useMemo)(()=>{var e;return(null==I?void 0:null===(e=I.systems)||void 0===e?void 0:e.map(e=>({text:e.name,value:e.name})))||[]},[null==I?void 0:I.systems]),userFilters:(0,c.useMemo)(()=>{var e;let s=(null==I?void 0:null===(e=I.assigned_users)||void 0===e?void 0:e.map(e=>({text:(0,_.gJ)(e),value:e.id})))||[];return(null==t?void 0:t.id)&&!s.some(e=>e.value===t.id)&&s.push({text:(0,_.gJ)(t,{fallbackToId:!0}),value:t.id}),s},[null==I?void 0:I.assigned_users,t]),onUserClick:t=>{e.push({pathname:g.fw,query:{id:t}})},currentFilters:m,hasAccessToAllTasks:d}),P=(0,c.useMemo)(()=>x()(m,u),[m,u]);return E?(0,a.jsx)(j.Z,{}):(0,a.jsxs)("div",{className:"mt-2 space-y-4",children:[(0,a.jsx)(n.kCb,{gap:3,align:"center",className:"mb-4",children:(0,a.jsx)(f.H,{globalFilter:m.privacyRequestId||"",setGlobalFilter:e=>{let t={...m};e&&e.trim()?t.privacyRequestId=e.trim():delete t.privacyRequestId,q(t),i(1)},placeholder:"Search by privacy request ID",testid:"privacy-request-id-filter"})}),(0,a.jsx)(n.V5H,{columns:N,dataSource:w,rowKey:e=>"".concat(e.privacy_request.id,"-").concat(e.manual_field_id),pagination:{current:s,pageSize:l,pageSizeOptions:C.VZ,total:A||0,showTotal:(e,t)=>"".concat(t[0],"-").concat(t[1]," of ").concat(e," items"),onChange:(e,t)=>{i(e),t!==l&&(r(t),i(1))}},onChange:(e,t)=>{let s={privacyRequestId:m.privacyRequestId};t.status&&([s.status]=t.status),t.system_name&&([s.systemName]=t.system_name),t.request_type&&([s.requestType]=t.request_type),t.assigned_users&&([s.assignedUsers]=t.assigned_users),q(s),i(1)},locale:{emptyText:P?(0,a.jsx)("div",{"data-testid":"empty-state-current-user",className:"my-4",children:(0,a.jsxs)(n.AntTypography.Paragraph,{children:["You have no tasks assigned."," ",d&&(0,a.jsx)("span",{children:'You can modify the "Assigned to" column filter to view tasks assigned to other users.'})]})}):(0,a.jsx)("div",{"data-testid":"empty-state",className:"my-4",children:"No results found."})},loading:E||R,scroll:{scrollToFirstRowOnChange:!0},tableLayout:"fixed",className:"[&_th]:!break-normal"})]})};var z=s(59003),D=s(92222),F=s(16125),Z=s(14048),M=s(47935),L=s(90867);let W={approved:{colorScheme:"success",label:"Approved"},complete:{label:"Completed",colorScheme:"success"},awaiting_email_send:{label:"Awaiting Email Send",colorScheme:"marble"},denied:{label:"Denied",colorScheme:"warning"},canceled:{label:"Canceled",colorScheme:"marble"},error:{label:"Error",colorScheme:"error"},in_processing:{label:"In Progress",colorScheme:"caution"},paused:{label:"Paused",colorScheme:"marble"},pending:{label:"New",colorScheme:"info"},identity_unverified:{label:"Unverified",colorScheme:"marble"},requires_input:{colorScheme:"minos",label:"Requires Input"},requires_manual_finalization:{colorScheme:"minos",label:"Requires Finalization"}},B=e=>{let{value:t}=e;return(0,a.jsx)(M.A4,{color:W[t].colorScheme,value:W[t].label,"data-testid":"request-status-badge"})},Y=e=>{let t,{daysLeft:s,timeframe:i=45,status:l,includeText:r=!1}=e;if(null==s||l===b.q2.COMPLETE||l===b.q2.CANCELED||l===b.q2.DENIED||l===b.q2.IDENTITY_UNVERIFIED)return null;let n=100*s/i;return n<25?t="error":n>=75?t="success":n>=25&&(t="warning"),(0,a.jsx)(M.A4,{value:r?"".concat(s," days left"):s.toString(),color:t})},K=e=>Array.from(new Set(e.filter(e=>Object.values(b.Us).includes(e.action_type)).map(e=>e.action_type))),V=e=>{let{value:t}=e,s=K(t).map(e=>S.rE.get(e));return(0,a.jsx)(M.WP,{value:s,cellState:{isExpanded:!0}})};var Q=s(58452),G=s(7426),X=s(57526),H=s(66548),J=s(45489);let $=e=>{var t;let{subjectRequest:s,...i}=e,l=(0,n.qY0)(),r=(0,n.qY0)(),d=(0,n.qY0)(),o=(0,n.qY0)(),{handleApproveRequest:c,handleDenyRequest:u,handleDeleteRequest:m,handleFinalizeRequest:x,isLoading:h}=(0,J.Z)({subjectRequest:s}),{data:y}=(0,G.tB)({api_set:!1}),{data:v}=(0,L.JE)(),j=null==y?void 0:null===(t=y.notifications)||void 0===t?void 0:t.send_request_completion_notification;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.Ugi,{...i,children:["pending"!==s.status?null:(0,a.jsx)(n.wpx,{title:"Approve","aria-label":"Approve",icon:(0,a.jsx)(n.PJP.MCw,{}),onClick:l.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-approve-btn",size:"small"}),"pending"!==s.status?null:(0,a.jsx)(n.wpx,{title:"Deny","aria-label":"Deny",icon:(0,a.jsx)(n.PJP.x8P,{}),onClick:r.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-deny-btn",size:"small"}),s.status!==b.q2.REQUIRES_MANUAL_FINALIZATION?null:(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_REVIEW],children:(0,a.jsx)(n.wpx,{title:"Finalize","aria-label":"Finalize",icon:(0,a.jsx)(n.PJP.Ok8,{}),onClick:o.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-finalize-btn",size:"small"})}),(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_DELETE],children:(0,a.jsx)(n.wpx,{title:"Delete","aria-label":"Delete",icon:(0,a.jsx)(n.PJP.ZNm,{size:14}),onClick:d.onOpen,loading:h,disabled:h,"data-testid":"privacy-request-delete-btn",size:"small"})})]}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(X.Z,{isOpen:l.isOpen,isLoading:h,onClose:l.onClose,onApproveRequest:c,subjectRequest:s})}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(H.Z,{isOpen:r.isOpen,onClose:r.onClose,onDenyRequest:u})}),(0,a.jsx)(Q.Z,{isOpen:d.isOpen,onClose:d.onClose,onConfirm:m,message:(0,a.jsx)(n.xvT,{children:"You are about to permanently delete the privacy request. Are you sure you would like to continue?"})}),(0,a.jsx)(Q.Z,{isOpen:o.isOpen,onClose:o.onClose,onConfirm:()=>{x(),o.onClose()},title:"Finalize privacy request",message:(0,a.jsxs)(n.xvT,{children:['You are about to finalize this privacy request. The status will be updated to "Complete"',j&&(null==v?void 0:v.service_type)?" and the requesting user will be notified":"",". Would you like to continue?"]})})]})};(i=l||(l={})).STATUS="status",i.DAYS_LEFT="due_date",i.SOURCE="source",i.REQUEST_TYPE="request_type",i.SUBJECT_IDENTITY="subject_identity",i.TIME_RECEIVED="created_at",i.CREATED_BY="created_by",i.REVIEWER="reviewer",i.ID="id",i.ACTIONS="actions";let ee=(0,D.Cl)(),et=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return[ee.accessor(e=>e.status,{id:"status",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(B,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Status",...e})}),ee.accessor(e=>e.days_left,{id:"due_date",cell:e=>{let{row:t,getValue:s}=e;return(0,a.jsx)(Y,{daysLeft:s(),timeframe:t.original.policy.execution_timeframe,status:t.original.status})},header:e=>(0,a.jsx)(M.Rr,{value:"Days left",...e})}),...e?[ee.accessor(e=>e.source,{id:"source",cell:e=>e.getValue()?(0,a.jsx)(M.A4,{value:e.getValue()}):(0,a.jsx)(M.G3,{value:void 0}),header:e=>(0,a.jsx)(M.Rr,{value:"Source",...e}),enableSorting:!1})]:[],ee.accessor(e=>e.policy.rules,{id:"request_type",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(V,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Request type",...e}),enableSorting:!1}),ee.accessor(e=>{var t,s;return(null===(t=e.identity)||void 0===t?void 0:t.email.value)||(null===(s=e.identity)||void 0===s?void 0:s.phone_number.value)||""},{id:"subject_identity",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Subject identity",...e}),enableSorting:!1}),ee.accessor(e=>e.created_at,{id:"created_at",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:(0,_.p6)(t())})},header:e=>(0,a.jsx)(M.Rr,{value:"Time received",...e})}),ee.accessor(e=>{var t;return(null===(t=e.reviewer)||void 0===t?void 0:t.username)||""},{id:"reviewer",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Reviewed by",...e}),enableSorting:!1}),ee.accessor(e=>e.id,{id:"id",cell:e=>{let{getValue:t}=e;return(0,a.jsx)(M.G3,{value:t()})},header:e=>(0,a.jsx)(M.Rr,{value:"Request ID",...e}),enableSorting:!1}),ee.display({id:"actions",cell:e=>{let{row:t}=e;return(0,a.jsx)($,{subjectRequest:t.original})},header:e=>(0,a.jsx)(M.Rr,{value:"Actions",...e}),meta:{disableRowClick:!0}})]},es=e=>{let t=(0,F.v9)(L.dp),s=(0,F.I0)();return{handleStatusChange:t=>{s((0,L.CI)(t)),e()},handleActionTypeChange:t=>{s((0,L.aM)(t)),e()},handleFromChange:t=>{s((0,L.su)(null==t?void 0:t.target.value)),e()},handleToChange:t=>{s((0,L.Ue)(null==t?void 0:t.target.value)),e()},handleClearAllFilters:()=>{s((0,L.Mk)()),e()},...t}};var ei=s(96718);let el=e=>{let{onClose:t,onFilterChange:s,...i}=e,{handleStatusChange:l,handleActionTypeChange:r,handleFromChange:d,handleToChange:o,handleClearAllFilters:c,from:u,to:p,status:m,action_type:x}=es(s);return(0,a.jsxs)(n.u_l,{onClose:t,size:"xl",...i,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{children:[(0,a.jsx)(n.xBx,{borderBottomWidth:1,borderBottomColor:"gray.200",children:"All Filters"}),(0,a.jsx)(n.olH,{}),(0,a.jsx)(n.fef,{py:4,sx:{"& label":{mb:0}},children:(0,a.jsxs)(n.Kqy,{gap:4,children:[(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",id:"request-date-range-label",children:"Date range"}),(0,a.jsxs)(n.Ugi,{gap:3,children:[(0,a.jsxs)(n.BZy,{size:"sm",flex:1,children:[(0,a.jsx)(n.UiE,{as:"label",htmlFor:"from-date",borderRadius:"md",children:"From"}),(0,a.jsx)(n.IIB,{type:"date",name:"From",value:u,max:p||void 0,onChange:d,borderRadius:"md",id:"from-date","aria-describedby":"request-date-range-label"})]}),(0,a.jsxs)(n.BZy,{size:"sm",flex:1,children:[(0,a.jsx)(n.UiE,{as:"label",htmlFor:"to-date",borderRadius:"md",children:"To"}),(0,a.jsx)(n.IIB,{type:"date",borderRadius:"md",name:"To",value:p,min:u||void 0,onChange:o,id:"to-date","aria-describedby":"request-date-range-label"})]})]})]}),(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",htmlFor:"request-status",children:"Status"}),(0,a.jsx)(ei.z,{id:"request-status",mode:"multiple",options:S.I3,value:m,onChange:l,"data-testid":"request-status-filter"})]}),(0,a.jsxs)(n.Kqy,{children:[(0,a.jsx)(n.lXp,{size:"md",htmlFor:"request-action-type",children:"Request Type"}),(0,a.jsx)(ei.z,{id:"request-action-type",mode:"multiple",options:S.kN,value:x,onChange:r,"data-testid":"request-action-type-filter"})]})]})}),(0,a.jsxs)(n.mzw,{justifyContent:"space-between",children:[(0,a.jsx)(n.wpx,{type:"text",onClick:c,children:"Clear all"}),(0,a.jsx)(n.wpx,{type:"primary",onClick:t,children:"Done"})]})]})]})},ea=e=>{let{...t}=e,{plus:s}=(0,u.hz)(),[i,l]=(0,c.useState)(""),r=(0,F.v9)(L.dp),d=(0,F.v9)(v.rK),o=(0,n.pmc)(),p=(0,h.useRouter)(),m=(0,F.I0)(),{PAGE_SIZES:x,pageSize:y,setPageSize:j,onPreviousPageClick:g,isPreviousPageDisabled:f,onNextPageClick:_,isNextPageDisabled:b,startRange:C,endRange:q,pageIndex:S,setTotalPages:k,resetPageIndexToDefault:E}=(0,M.oi)(),{isOpen:R,onOpen:T,onClose:w}=(0,n.qY0)(),{data:A,isLoading:I,isFetching:N}=(0,L.QA)({...r,page:S,size:y}),{items:P,total:U}=(0,c.useMemo)(()=>{let e=A||{items:[],total:0,pages:0};return k(e.pages),e},[A,k]),O=(0,c.useCallback)(e=>{m((0,L.mU)(e)),l(e),E()},[m,E,l]),W=async()=>{let e;try{await (0,L.py)({...r,token:d})}catch(t){e=t instanceof Error?t.message:"Unknown error occurred"}e&&o({description:"".concat(e),duration:5e3,status:"error"})},B=e=>{p.push("/privacy-requests/".concat(e))},Y=(0,z.b7)({getCoreRowModel:(0,D.sC)(),data:P,columns:(0,c.useMemo)(()=>et(s),[s]),getRowId:e=>"".concat(e.status,"-").concat(e.id),manualPagination:!0,columnResizeMode:"onChange"});return(0,a.jsxs)(n.xuv,{...t,children:[(0,a.jsxs)(M.Q$,{children:[(0,a.jsx)(M.HO,{globalFilter:i,setGlobalFilter:O,placeholder:"Search by request ID or identity value"}),(0,a.jsxs)(n.Ugi,{alignItems:"center",spacing:2,children:[(0,a.jsx)(n.wpx,{"data-testid":"filter-btn",onClick:T,children:"Filter"}),(0,a.jsx)(n.wpx,{"aria-label":"Export report","data-testid":"export-btn",icon:(0,a.jsx)(Z.nM,{ml:"1.5px"}),onClick:W})]}),(0,a.jsx)(n.h_i,{children:(0,a.jsx)(el,{isOpen:R,onClose:w,onFilterChange:E})})]}),I?(0,a.jsx)(n.xuv,{p:2,borderWidth:1,children:(0,a.jsx)(M.I4,{rowHeight:26,numRows:10})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(M.ZK,{tableInstance:Y,onRowClick:e=>B(e.id),onSort:e=>{if(!e){m((0,L.PS)()),E();return}let{id:t,desc:s}=e;m((0,L.WR)(t)),m((0,L.iX)(s?"desc":"asc")),E()}}),(0,a.jsx)(M.s8,{totalRows:U||0,pageSizes:x,setPageSize:j,onPreviousPageClick:g,isPreviousPageDisabled:f||N,onNextPageClick:_,isNextPageDisabled:b||N,startRange:C,endRange:q})]})]})};var er=s(812),en=s(87361),ed=s(46628),eo=s(32885),ec=s(34090),eu=s(55484),ep=s(40324);let em=(e,t)=>null==t?void 0:t.find(t=>t.policy_key===e),ex=e=>{var t,s;if(!e)return eu.Ry().shape({policy_key:eu.Z_().required().label("Request type")});let i=e.custom_privacy_request_fields?Object.entries(e.custom_privacy_request_fields).map(e=>{let[t,s]=e;return{[t]:eu.Ry().shape({value:s.required&&!s.hidden?eu.Z_().required().label(s.label):eu.Z_().nullable()})}}).reduce((e,t)=>({...e,...t}),{}):{};return eu.Ry().shape({policy_key:eu.Z_().required().label("Request type"),identity:eu.Ry().shape({email:(null===(t=e.identity_inputs)||void 0===t?void 0:t.email)==="required"?eu.Z_().email().required().label("Email address"):eu.Z_().nullable(),phone_number:(null===(s=e.identity_inputs)||void 0===s?void 0:s.phone)==="required"?eu.Z_().matches(/^\+?[1-9]\d{1,14}$/,"Phone number must be formatted correctly (e.g. 15555555555)").required().label("Phone number"):eu.Z_().matches(/^\+?[1-9]\d{1,14}$/,"Phone number must be formatted correctly (e.g. 15555555555)").nullable()}),custom_privacy_request_fields:eu.Ry().shape(i)})};var eh=s(97181);let ey={is_verified:!1,policy_key:"",identity:{}},ev=e=>{let{identityInputs:t}=e;return t?(0,a.jsxs)(a.Fragment,{children:[t.email?(0,a.jsx)(ep.j0,{name:"identity.email",label:"User email address",isRequired:"required"===t.email,variant:"stacked"}):null,t.phone?(0,a.jsx)(ep.j0,{name:"identity.phone_number",label:"User phone number",isRequired:"required"===t.phone,variant:"stacked"}):null]}):null},ej=e=>{let{customFieldInputs:t}=e;if(!t)return null;let s=Object.entries(t);return(0,a.jsx)(a.Fragment,{children:s.map(e=>{let[t,s]=e;return(0,a.jsx)(ep.j0,{name:"custom_privacy_request_fields.".concat(t,".value"),label:s.label,isRequired:!!s.required,variant:"stacked"},t)})})},eg=e=>{let{onSubmit:t,onCancel:s,privacyCenterUrl:i}=e,{onCopy:l}=(0,n.VPI)(""),r=(0,n.pmc)();return(0,a.jsx)(ec.J9,{initialValues:{identity:{email:""}},onSubmit:e=>{l("".concat(i,"?email=").concat(encodeURIComponent(e.identity.email))),t(e),r({status:"success",description:"DSR Link Copied!"})},validationSchema:()=>eu.Ry().shape({identity:eu.Ry().shape({email:eu.Z_().email().required().label("Email Address")})}),children:e=>{let{dirty:t,isValid:i}=e;return(0,a.jsx)(ec.l0,{children:(0,a.jsxs)(n.Kqy,{spacing:6,mb:2,children:[(0,a.jsx)(ev,{identityInputs:{email:"required"}}),(0,a.jsxs)("div",{className:"flex gap-4 self-end",children:[(0,a.jsx)(n.wpx,{onClick:s,children:"Cancel"}),(0,a.jsx)(n.wpx,{htmlType:"submit",type:"primary",disabled:!t||!i,"data-testid":"submit-btn",icon:(0,a.jsx)(n.xPt,{}),children:"Copy"})]})]})})}})};var ef=e=>{let{onSubmit:t,onCancel:s}=e,{data:i}=(0,L.xv)();return(0,a.jsx)(ec.J9,{initialValues:ey,onSubmit:t,validationSchema:()=>(0,eu.Vo)(e=>ex(em(e.policy_key,null==i?void 0:i.actions))),children:e=>{var t;let{values:l,dirty:r,isValid:d,isSubmitting:o,setFieldValue:c}=e,u=em(l.policy_key,null==i?void 0:i.actions);return(0,a.jsx)(ec.l0,{children:(0,a.jsxs)(n.Kqy,{spacing:6,mb:2,children:[(0,a.jsx)(eh.d,{name:"policy_key",label:"Request type",options:null!==(t=null==i?void 0:i.actions.map(e=>({label:e.title,value:e.policy_key})))&&void 0!==t?t:[],onChange:e=>{let t=em(e,null==i?void 0:i.actions);if(!(null==t?void 0:t.custom_privacy_request_fields)){c("custom_privacy_request_fields",void 0);return}c("custom_privacy_request_fields",Object.entries(t.custom_privacy_request_fields).map(e=>{let[t,s]=e;return{[t]:{label:s.label,value:s.default_value}}}).reduce((e,t)=>({...e,...t}),{}))},layout:"stacked",isRequired:!0}),(0,a.jsx)(ev,{identityInputs:null==u?void 0:u.identity_inputs}),(0,a.jsx)(ej,{customFieldInputs:null==u?void 0:u.custom_privacy_request_fields}),(0,a.jsx)(ep.Xl,{name:"is_verified",label:"I confirm that I have verified this user information"}),(0,a.jsxs)("div",{className:"flex gap-4 self-end",children:[(0,a.jsx)(n.wpx,{onClick:s,children:"Cancel"}),(0,a.jsx)(n.wpx,{htmlType:"submit",type:"primary",disabled:!l.is_verified||!r||!d,loading:o,"data-testid":"submit-btn",children:"Create"})]})]})})}})},e_=s(31883);let eb=e=>{let{isOpen:t,onClose:s}=e,[i]=(0,L.M6)(),l=(0,n.pmc)(),r=async e=>{let{is_verified:t,...a}=e,r=a.custom_privacy_request_fields?Object.entries(a.custom_privacy_request_fields).map(e=>{let[t,s]=e;return s.value?{[t]:s}:{}}).reduce((e,t)=>({...e,...t}),{}):void 0,n={...a,custom_privacy_request_fields:r},d=await i([n]);(0,e_.D4)(d)?l((0,ed.Vo)((0,er.e$)(d.error,"An error occurred while creating this privacy request. Please try again"))):l((0,ed.t5)("Privacy request created")),s()};return(0,a.jsxs)(n.u_l,{isOpen:t,onClose:s,size:"2xl",isCentered:!0,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{"data-testid":"submit-request-modal",maxHeight:"80%",overflowY:"auto",children:[(0,a.jsx)(n.xBx,{children:"Create privacy request"}),(0,a.jsx)(n.fef,{children:(0,a.jsxs)(n.Kqy,{spacing:4,children:[(0,a.jsx)(en.Z,{title:"Warning: You are bypassing identity verification",text:"You are bypassing Fides' built-in identity verification step. Please ensure that you are only entering information on behalf of a verified and approved user's privacy request."}),(0,a.jsx)(ef,{onSubmit:r,onCancel:()=>s()})]})})]})]})},eC=e=>{let{isOpen:t,onClose:s,privacyCenterUrl:i}=e;return(0,a.jsxs)(n.u_l,{size:"md",isOpen:t,onClose:s,children:[(0,a.jsx)(n.ZAr,{}),(0,a.jsxs)(n.hzk,{children:[(0,a.jsx)(n.xBx,{children:"Create a Privacy Request Link"}),(0,a.jsxs)(n.fef,{children:[(0,a.jsx)(n.Kqy,{spacing:4}),(0,a.jsx)(eg,{privacyCenterUrl:i,onSubmit:s,onCancel:s})]})]})]})};var eq=()=>{var e;let[t,s]=(0,c.useState)("closed"),i=()=>s("closed"),{data:l}=(0,eo.Vh)(),r=(null!==(e=null==l?void 0:l.privacy_center_url)&&void 0!==e?e:"").trim(),d=r.length>0;return(0,a.jsxs)(a.Fragment,{children:[d?(0,a.jsx)(eC,{isOpen:"create-link"===t,onClose:i,privacyCenterUrl:r}):null,(0,a.jsx)(eb,{isOpen:"submit-request"===t,onClose:i}),(0,a.jsx)(n.S0p.Button,{type:"primary",onClick:()=>s("submit-request"),"data-testid":"submit-request-btn",menu:{items:[{label:"Create request link",key:"create-request-link",icon:(0,a.jsx)(n.xPt,{}),onClick:()=>s("create-link"),disabled:!d}]},icon:(0,a.jsx)(n.v4q,{}),children:"Create request"})]})},eS=s(58754),ek=s(41841);let eE=()=>{let{errorAlert:e}=(0,ek.VY)(),[t,s]=(0,c.useState)(!1),[i,l]=(0,c.useState)({count:0,total:0}),[r,d]=(0,c.useState)(!0),o=b.q2.ERROR,{data:u}=(0,L.tE)(),{data:p}=(0,L.QA)({status:[o]},{pollingInterval:15e3,skip:r});return(0,c.useEffect)(()=>{d(!(u&&u.notify_after_failures>0))},[u]),(0,c.useEffect)(()=>{let e=(null==p?void 0:p.total)||0;e>=((null==u?void 0:u.notify_after_failures)||0)&&e>i.total?(l({count:e-i.total,total:e}),s(!0)):s(!1)},[null==p?void 0:p.total,null==u?void 0:u.notify_after_failures,i.total]),{processing:()=>{t&&e((0,a.jsxs)(n.xuv,{children:["DSR automation has failed for"," ",(0,a.jsx)(n.xvT,{as:"span",fontWeight:"semibold",children:i.count})," ","privacy request(s). Please review the event log for further details."]}),void 0,{containerStyle:{maxWidth:"max-content"},duration:null,id:"dsrErrorAlert"})}}};var eR=s(72281);let eT=o()(()=>s.e(9676).then(s.bind(s,59676)),{loadableGenerated:{webpack:()=>[59676]},loading:()=>(0,a.jsx)("div",{children:"Loading..."})});var ew=()=>{let{processing:e}=eE(),{plus:t}=(0,u.hz)(),{activeTab:s,handleTabChange:i,availableTabs:l}=(0,eR.d)();(0,c.useEffect)(()=>{e()},[e]);let r=(0,c.useMemo)(()=>{let e=[];return l.request&&e.push({key:eR.G.REQUEST,label:"Request",children:(0,a.jsx)(ea,{})}),l.manualTask&&e.push({key:eR.G.MANUAL_TASK,label:"Manual tasks",children:(0,a.jsx)(O,{})}),e},[l.manualTask,l.request]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eS.Z,{heading:"Privacy Requests",breadcrumbItems:[{title:"All requests"}],rightContent:(0,a.jsxs)(n.vyj,{children:[t&&(0,a.jsx)(p.ZP,{scopes:[b.Sh.PRIVACY_REQUEST_CREATE],children:(0,a.jsx)(eq,{})}),(0,a.jsx)(eT,{})]}),"data-testid":"privacy-requests"}),(0,a.jsx)(n.A5g,{activeKey:s,onChange:i,items:r})]})},eA=()=>(0,a.jsx)(r.Z,{title:"Privacy Requests",children:(0,a.jsx)(ew,{})})},31883:function(e,t,s){"use strict";s.d(t,{Bw:function(){return i.Bw},D4:function(){return i.D4}});var i=s(19043)}},function(e){e.O(0,[431,8765,3550,4164,2888,9774,179],function(){return e(e.s=1565)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9196],{6446:function(e){e.exports=function(e,t,a,s){var r=-1,i=null==e?0:e.length;for(s&&i&&(a=e[++r]);++r<i;)a=t(a,e[r],r,e);return a}},67375:function(e,t,a){var s=a(52033),r=a(80068);e.exports=function(e,t){var a=-1,i=r(e)?Array(e.length):[];return s(e,function(e,s,r){i[++a]=t(e,s,r)}),i}},74833:function(e,t,a){var s=a(56127),r=/^\s+/;e.exports=function(e){return e?e.slice(0,s(e)+1).replace(r,""):e}},56632:function(e,t,a){var s=a(89278),r=a(80068),i=a(50098);e.exports=function(e){return function(t,a,o){var n=Object(t);if(!r(t)){var l=s(a,3);t=i(t),a=function(e){return l(n[e],e,n)}}var c=e(t,a,o);return c>-1?n[l?t[c]:c]:void 0}}},56127:function(e){var t=/\s/;e.exports=function(e){for(var a=e.length;a--&&t.test(e.charAt(a)););return a}},64925:function(e,t,a){var s=a(56632)(a(66259));e.exports=s},66259:function(e,t,a){var s=a(95372),r=a(89278),i=a(47991),o=Math.max;e.exports=function(e,t,a){var n=null==e?0:e.length;if(!n)return -1;var l=null==a?0:i(a);return l<0&&(l=o(n+l,0)),s(e,r(t,3),l)}},55807:function(e,t,a){var s=a(66070),r=a(89278),i=a(67375),o=a(19785);e.exports=function(e,t){return(o(e)?s:i)(e,r(t,3))}},82846:function(e,t,a){var s=a(77400);e.exports=function(){return s.Date.now()}},32526:function(e,t,a){var s=a(68267)(function(e,t,a){return e+(a?"_":"")+t.toLowerCase()});e.exports=s},94919:function(e,t,a){var s=a(91936),r=1/0;e.exports=function(e){return e?(e=s(e))===r||e===-r?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,a){var s=a(94919);e.exports=function(e){var t=s(e),a=t%1;return t==t?a?t-a:t:0}},91936:function(e,t,a){var s=a(74833),r=a(11611),i=a(55193),o=0/0,n=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return o;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=s(e);var a=l.test(e);return a||c.test(e)?d(e.slice(2),a?2:8):n.test(e)?o:+e}},86548:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/reporting/datamap",function(){return a(27901)}])},624:function(e,t,a){"use strict";var s=a(24246),r=a(96306),i=a(27378);let o=e=>{let t=e.split("."),a=[];return t.forEach(e=>{let t=a.length>0?a[a.length-1]:null;t?a.push("".concat(t,".").concat(e)):a.push(e)}),a},n=(e,t)=>{let a=o(t).filter(e=>e!==t);return e.filter(e=>a.includes(e)).length>0},l=(e,t)=>!!(e===t||e.startsWith("".concat(t,"."))),c=(e,t,a)=>{let s=null!=a?a:[];return e.forEach(e=>{e.children&&c(e.children,t,s),l(e.value,t)&&s.push(e)}),s},d=e=>{let{node:t,isChecked:a,onChecked:i,isExpanded:o,onExpanded:n,isIndeterminate:l,isDisabled:c,children:d}=e,{value:u,label:_}=t,p=!!t.children&&t.children.length>0;return(0,s.jsxs)(r.xuv,{children:[(0,s.jsxs)(r.xuv,{display:"flex",justifyContent:"space-between",_hover:{backgroundColor:"gray.100",cursor:"pointer"},onClick:()=>n(t),minHeight:8,children:[(0,s.jsx)(r.XZJ,{colorScheme:"complimentary",value:u,isChecked:!l&&a,isIndeterminate:l,isDisabled:c,onChange:()=>i(t),mx:2,"data-testid":"checkbox-".concat(_),children:_}),p?(0,s.jsx)(r.wpx,{"data-testid":"expand-".concat(_),"aria-label":o?"collapse":"expand",icon:(0,s.jsx)(r.v4q,{boxSize:5}),type:"text",onClick:()=>n(t),className:o?"rotate-180":void 0}):null]}),d&&(0,s.jsx)(r.xuv,{ml:5,children:d})]})};t.ZP=e=>{let{nodes:t,selected:a,onSelected:u,..._}=e,[p,m]=(0,i.useState)([]),[E,S]=(0,i.useState)([]);(0,i.useEffect)(()=>{let e=Array.from(new Set([...a.map(e=>o(e)).reduce((e,t)=>e.concat(t),[]),...a.map(e=>c(t,e)).reduce((e,t)=>e.concat(t),[]).map(e=>e.value)]));S(e),m(e)},[a,t]);let h=e=>{let s=[],r=[];p.indexOf(e.value)>=0?(s=p.filter(t=>!l(t,e.value)),r=a.filter(t=>!l(t,e.value))):(s=[...p,...c(t,e.value).map(e=>e.value)],r=[...a,e.value]),m(s),u(r)},g=e=>{E.indexOf(e.value)>=0?S(E.filter(t=>!l(t,e.value))):S([...E,e.value])},f=e=>{if(e.children){let r=p.indexOf(e.value)>=0,o=E.indexOf(e.value)>=0,l=c(t,e.value),u=r&&e.children.length>0&&p.filter(t=>t.startsWith("".concat(e.value,"."))).length+1!==l.length,_=n(a,e.value);return(0,s.jsx)(d,{node:e,isChecked:r,onChecked:h,isExpanded:o,onExpanded:g,isDisabled:_,isIndeterminate:u,children:o?e.children.map(e=>(0,s.jsx)(i.Fragment,{children:f(e)},e.value)):void 0})}return null};return(0,s.jsx)(r.xuv,{..._,children:t.map(e=>(0,s.jsx)(r.xuv,{children:f(e)},e.value))})}},35287:function(e,t,a){"use strict";var s=a(24246),r=a(96306),i=a(88038),o=a.n(i);a(27378),t.Z=e=>{let{children:t,title:a,mainProps:i}=e;return(0,s.jsxs)(r.kCb,{"data-testid":a,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,s.jsxs)(o(),{children:[(0,s.jsxs)("title",{children:["Fides Admin UI - ",a]}),(0,s.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,s.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,s.jsx)(r.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...i,children:t})]})}},19904:function(e,t,a){"use strict";a.d(t,{Tg:function(){return o}});var s=a(24246),r=a(16134),i=a(31793);let o=e=>(0,r.C)(i.uu).filter(t=>e.includes(t)).length>0;t.ZP=e=>{let{scopes:t,children:a}=e;return o(t)?(0,s.jsx)(s.Fragment,{children:a}):null}},34929:function(e,t,a){"use strict";var s=a(24246),r=a(64925),i=a.n(r),o=a(27378),n=a(16134),l=a(30002),c=a(28079),d=a(57072);let u=()=>{let{isLoading:e}=(0,c.fd)(),t=(0,n.C)(c.U3),{isLoading:a}=(0,d.MO)(),s=(0,n.C)(d.qb),{isLoading:r}=(0,l.te)();return{dataUses:t,dataSubjects:(0,n.C)(l.ZL),dataCategories:s,isLoading:e||a||r}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:a,isLoading:r}=u(),n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.split(".").slice(0,t).join(".")},l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=t(e);if(!s)return{};let r=t(n(e,a)),i=!!s.parent_key;return{name:s.name||void 0,primaryName:i&&(null==r?void 0:r.name)!==s.name&&(null==r?void 0:r.name)||void 0}},c=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:r,primaryName:i}=l(e,t,a);return r?i?(0,s.jsxs)(o.Fragment,{children:[(0,s.jsxs)("strong",{children:[i,":"]})," ",r]},e):(0,s.jsx)("strong",{children:r},e):e},d=t=>i()(e,{fides_key:t}),_=e=>i()(t,{fides_key:e}),p=e=>i()(a,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:d,getDataUseDisplayName:e=>c(e,d,1),getDataUseDisplayNameProps:e=>l(e,d,1),getDataCategories:()=>t,getDataCategoryByKey:_,getDataCategoryDisplayName:e=>c(e,_,2),getDataCategoryDisplayNameProps:e=>l(e,_,2),getDataSubjects:()=>a,getDataSubjectByKey:p,getDataSubjectDisplayName:e=>{let t=p(e);return t?t.name:e},getPrimaryKey:n,isLoading:r}}},59001:function(e,t,a){"use strict";a.d(t,{Ch:function(){return o},Hy:function(){return n},Lo:function(){return r}});var s,r,i=a(54682);let o="root";(s=r||(r={})).DATA_CATEGORIES="Data categories",s.DATA_USES="Data uses",s.DATA_SUBJECTS="Data subjects";let n=e=>{switch(e){case"Data categories":return{UPDATE:i.Sh.DATA_CATEGORY_UPDATE,CREATE:i.Sh.DATA_CATEGORY_CREATE,DELETE:i.Sh.DATA_CATEGORY_DELETE,READ:i.Sh.DATA_CATEGORY_READ};case"Data uses":return{UPDATE:i.Sh.DATA_USE_UPDATE,CREATE:i.Sh.DATA_USE_CREATE,DELETE:i.Sh.DATA_USE_DELETE,READ:i.Sh.DATA_USE_READ};case"Data subjects":return{UPDATE:i.Sh.DATA_SUBJECT_UPDATE,CREATE:i.Sh.DATA_SUBJECT_CREATE,DELETE:i.Sh.DATA_SUBJECT_DELETE,READ:i.Sh.DATA_SUBJECT_READ};default:throw Error("Unknown taxonomy type: ".concat(e))}}},90673:function(e,t,a){"use strict";a.d(t,{Cd:function(){return i},Xl:function(){return o}});var s=a(54682),r=a(59001);let i=(e,t)=>{let a;if(null==t&&e.every(e=>void 0===e.parent_key))a=e;else{let s=null!=t?t:null;a=e.filter(e=>e.parent_key===s)}return a.map(t=>{var a,s;let r=t.fides_key;return{value:t.fides_key,label:""===t.name||null==t.name?t.fides_key:t.name,description:t.description,children:i(e,r),is_default:null!==(a=t.is_default)&&void 0!==a&&a,active:null!==(s=t.active)&&void 0!==s&&s}})},o=e=>{switch(e){case r.Lo.DATA_CATEGORIES:return s.P6.DATA_CATEGORY;case r.Lo.DATA_SUBJECTS:return s.P6.DATA_SUBJECT;case r.Lo.DATA_USES:return s.P6.DATA_USE;default:return}}},27901:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return eA}});var s,r,i,o,n=a(24246),l=a(27378),c=a(35287),d=a(58754),u=a(71795),_=a(54682);(s=i||(i={})).COLUMN_EXPANSION_STATE="datamap-column-expansion-state",s.COLUMN_NAMES="datamap-column-names",s.COLUMN_ORDER="datamap-column-order",s.COLUMN_SIZING="datamap-column-sizing",s.COLUMN_VISIBILITY="datamap-column-visibility",s.CUSTOM_REPORT_ID="datamap-custom-report-id",s.FILTERS="datamap-filters",s.GROUP_BY="datamap-group-by",s.SORTING_STATE="datamap-sorting-state",s.WRAPPING_COLUMNS="datamap-wrapping-columns",(r=o||(o={})).SYSTEM_NAME="system_name",r.DATA_USE="data_uses",r.DATA_CATEGORY="data_categories",r.DATA_SUBJECT="data_subjects",r.LEGAL_NAME="legal_name",r.DPO="dpo",r.LEGAL_BASIS_FOR_PROCESSING="legal_basis_for_processing",r.ADMINISTRATING_DEPARTMENT="administrating_department",r.COOKIE_MAX_AGE_SECONDS="cookie_max_age_seconds",r.PRIVACY_POLICY="privacy_policy",r.LEGAL_ADDRESS="legal_address",r.COOKIE_REFRESH="cookie_refresh",r.DATA_SECURITY_PRACTICES="data_security_practices",r.DATA_SHARED_WITH_THIRD_PARTIES="data_shared_with_third_parties",r.DATA_STEWARDS="data_stewards",r.DECLARATION_NAME="declaration_name",r.DOES_INTERNATIONAL_TRANSFERS="does_international_transfers",r.DPA_LOCATION="dpa_location",r.DESTINATIONS="egress",r.EXEMPT_FROM_PRIVACY_REGULATIONS="exempt_from_privacy_regulations",r.FEATURES="features",r.FIDES_KEY="fides_key",r.FLEXIBLE_LEGAL_BASIS_FOR_PROCESSING="flexible_legal_basis_for_processing",r.IMPACT_ASSESSMENT_LOCATION="impact_assessment_location",r.SOURCES="ingress",r.JOINT_CONTROLLER_INFO="joint_controller_info",r.LEGAL_BASIS_FOR_PROFILING="legal_basis_for_profiling",r.LEGAL_BASIS_FOR_TRANSFERS="legal_basis_for_transfers",r.LEGITIMATE_INTEREST_DISCLOSURE_URL="legitimate_interest_disclosure_url",r.PROCESSES_PERSONAL_DATA="processes_personal_data",r.REASON_FOR_EXEMPTION="reason_for_exemption",r.REQUIRES_DATA_PROTECTION_ASSESSMENTS="requires_data_protection_assessments",r.RESPONSIBILITY="responsibility",r.RETENTION_PERIOD="retention_period",r.SHARED_CATEGORIES="shared_categories",r.SPECIAL_CATEGORY_LEGAL_BASIS="special_category_legal_basis",r.THIRD_PARTIES="third_parties",r.COOKIES="cookies",r.USES_COOKIES="uses_cookies",r.USES_NON_COOKIE_ACCESS="uses_non_cookie_access",r.USES_PROFILING="uses_profiling",r.SYSTEM_UNDECLARED_DATA_CATEGORIES="system_undeclared_data_categories",r.DATA_USE_UNDECLARED_DATA_CATEGORIES="data_use_undeclared_data_categories",r.PROCESSES_SPECIAL_CATEGORY_DATA="processes_special_category_data";let p={system_name:"System",data_uses:"Data use",data_categories:"Data categories",data_subjects:"Data subject",legal_name:"Legal name",dpo:"Data privacy officer",legal_basis_for_processing:"Legal basis for processing",administrating_department:"Administrating department",cookie_max_age_seconds:"Cookie max age seconds",privacy_policy:"Privacy policy",legal_address:"Legal address",cookie_refresh:"Cookie refresh",data_security_practices:"Data security practices",data_shared_with_third_parties:"Data shared with third parties",data_stewards:"Data stewards",declaration_name:"Declaration name",does_international_transfers:"Does international transfers",dpa_location:"DPA location",egress:"Destination",exempt_from_privacy_regulations:"Exempt from privacy regulations",features:"Features",fides_key:"Fides key",flexible_legal_basis_for_processing:"Flexible legal basis for processing",impact_assessment_location:"Impact assessment location",ingress:"Source",joint_controller_info:"Joint controller info",legal_basis_for_profiling:"Legal basis for profiling",legal_basis_for_transfers:"Legal basis for transfers",legitimate_interest_disclosure_url:"Legitimate interest disclosure URL",processes_personal_data:"Processes personal data",reason_for_exemption:"Reason for exemption",requires_data_protection_assessments:"Requires data protection assessments",responsibility:"Responsibility",retention_period:"Retention period",shared_categories:"Shared categories",special_category_legal_basis:"Special category legal basis",third_parties:"Third parties",system_undeclared_data_categories:"System undeclared data categories",data_use_undeclared_data_categories:"Data use undeclared data categories",cookies:"Cookies",uses_cookies:"Uses cookies",uses_non_cookie_access:"Uses non-cookie access",uses_profiling:"Uses profiling",processes_special_category_data:"Processes special category data"},m={[o.SYSTEM_UNDECLARED_DATA_CATEGORIES]:!1,[o.DATA_USE_UNDECLARED_DATA_CATEGORIES]:!1},E={dataUses:[],dataSubjects:[],dataCategories:[]},S=(0,l.createContext)({}),h=e=>{let{children:t}=e,[a,s]=(0,u._)(i.CUSTOM_REPORT_ID,""),[r,o]=(0,u._)(i.GROUP_BY,_.fI.SYSTEM_DATA_USE),[c,d]=(0,u._)(i.FILTERS,E),[p,h]=(0,u._)(i.COLUMN_ORDER,[]),[g,f]=(0,u._)(i.COLUMN_VISIBILITY,m),[A,x]=(0,u._)(i.COLUMN_SIZING,{}),[T,C]=(0,u._)(i.COLUMN_NAMES,{}),v=(0,l.useMemo)(()=>({savedCustomReportId:a,setSavedCustomReportId:s,groupBy:r,setGroupBy:o,selectedFilters:c,setSelectedFilters:d,columnOrder:p,setColumnOrder:h,columnVisibility:g,setColumnVisibility:f,columnSizing:A,setColumnSizing:x,columnNameMapOverrides:T,setColumnNameMapOverrides:C}),[a,s,r,o,c,d,p,h,g,f,A,x,T,C]);return(0,n.jsx)(S.Provider,{value:v,children:t})},g=()=>{let e=(0,l.useContext)(S);if(!e||0===Object.keys(e).length)throw Error("useDatamapReport must be used within a DatamapReportProvider");return e};var f=a(59003),A=a(92222),x=a(47935),T=a(96306),C=a(34090),v=a(66726),R=a.n(v),O=a(16134),j=a(34929),b=a(14048),y=a(19904),D=a(16394),I=a(38943),N=a(35258),P=e=>{let{children:t,heading:a,onCancel:s,onConfirm:r,isLoading:i,cancelButtonText:o,continueButtonText:l,"data-testid":c="standard-dialog",...d}=e,{onClose:u}=d;return(0,n.jsxs)(T.u_l,{closeOnOverlayClick:i,...d,children:[(0,n.jsx)(T.ZAr,{}),(0,n.jsxs)(T.hzk,{"data-testid":c,children:[a&&(0,n.jsx)(T.xBx,{children:a}),(0,n.jsx)(T.olH,{isDisabled:i,"data-testid":"standard-dialog-close-btn"}),t&&(0,n.jsx)(T.fef,{children:t}),(0,n.jsxs)(T.mzw,{gap:3,width:"100%",sx:{"& button":{width:"100%"}},children:[(0,n.jsx)(T.wpx,{onClick:()=>{s&&s(),u()},"data-testid":"".concat(c?"".concat(c,"-"):"","cancel-btn"),disabled:i,children:o||"Cancel"}),(0,n.jsx)(T.wpx,{onClick:r,type:"primary","data-testid":"".concat(c?"".concat(c,"-"):"","continue-btn"),loading:i,children:l||"Continue"})]})]})]})},L=a(22968),w=e=>{let[t,a]=(0,l.useState)(L.T2.csv),{onConfirm:s}=e;return(0,n.jsx)(P,{heading:"Export report",continueButtonText:"Download",size:"xl",...e,onConfirm:()=>s(t),"data-testid":"export-modal",children:(0,n.jsxs)(T.kCb,{direction:"column",gap:3,pb:3,children:[(0,n.jsx)(T.xvT,{textAlign:"left",children:"Export your data map report using the options below. Depending on the number of rows, the file may take a few minutes to process."}),(0,n.jsxs)(T.NIc,{children:[(0,n.jsx)(T.lXp,{htmlFor:"format",children:"Choose Format"}),(0,n.jsx)(T.WPr,{id:"format",value:t,onChange:a,"data-testid":"export-format-select",options:[{value:L.T2.csv,label:"CSV"},{value:L.T2.xlsx,label:"XLSX"}],className:"w-full"})]})]})})},M=a(624),U=a(30002),k=a(28079),G=a(90673),Y=a(39864);let F=e=>{let{label:t,children:a,...s}=e;return(0,n.jsxs)(T.Qdk,{...s,children:[(0,n.jsx)(T.X6q,{children:(0,n.jsxs)(T.KFZ,{height:"100%","data-testid":"filter-modal-accordion-button",textAlign:"left",fontWeight:600,children:[(0,n.jsx)(T.xuv,{flex:1,children:t}),(0,n.jsx)(T.XEm,{boxSize:7})]})}),(0,n.jsx)(T.Hk3,{children:a})]})},H=e=>{let{columnNameMap:t,selectedFilters:a,onFilterChange:s,onClose:r,...i}=e;(0,k.fd)(),(0,U.te)(),(0,Y.MO)();let{dataUses:o,dataSubjects:c,dataCategories:d}=a,u=(0,O.C)(k.U3),_=(0,O.C)(U.ZL),p=(0,O.C)(Y.qb),[m,E]=(0,l.useState)(o),[S,h]=(0,l.useState)(c),[g,f]=(0,l.useState)(d);(0,l.useEffect)(()=>{E(o)},[o]),(0,l.useEffect)(()=>{h(c)},[c]),(0,l.useEffect)(()=>{f(d)},[d]);let A=(0,l.useMemo)(()=>(0,G.Cd)(u),[u]),x=(0,l.useMemo)(()=>(0,G.Cd)(_),[_]),C=(0,l.useMemo)(()=>(0,G.Cd)(p),[p]);return(0,n.jsx)(P,{heading:"Filter Datamap Report",...i,onCancel:()=>{E([]),h([]),f([]),s({dataUses:[],dataSubjects:[],dataCategories:[]}),r()},onConfirm:()=>{s({dataUses:m,dataSubjects:S,dataCategories:g}),r()},onClose:r,cancelButtonText:"Reset filters",continueButtonText:"Done","data-testid":"datamap-report-filter-modal",children:(0,n.jsxs)(T.UQy,{allowToggle:!0,children:[(0,n.jsx)(F,{label:t.data_uses,children:(0,n.jsx)(M.ZP,{nodes:A,selected:m,onSelected:E,"data-testid":"filter-modal-checkbox-tree-uses"})}),(0,n.jsx)(F,{label:t.data_categories,children:(0,n.jsx)(M.ZP,{nodes:C,selected:g,onSelected:f,"data-testid":"filter-modal-checkbox-tree-categories"})}),(0,n.jsx)(F,{label:t.data_subjects,children:(0,n.jsx)(M.ZP,{nodes:x,selected:S,onSelected:h,"data-testid":"filter-modal-checkbox-tree-subjects"})})]})})};var V=a(32885),B=a(812);let{useGetMinimalCustomReportsQuery:Z,useLazyGetCustomReportByIdQuery:z,usePostCustomReportMutation:q,useDeleteCustomReportMutation:W}=a(78780).u.injectEndpoints({endpoints:e=>({getMinimalCustomReports:e.query({query:e=>{let{pageIndex:t=1,pageSize:a=50,report_type:s=_.C2.DATAMAP}=e,r="page=".concat(t,"&size=").concat(a,"&report_type=").concat(s);return{url:"plus/custom-report/minimal?".concat(r)}},providesTags:["Custom Reports"]}),getCustomReportById:e.query({query:e=>({url:"plus/custom-report/".concat(e)}),providesTags:(e,t,a)=>[{type:"Custom Reports",id:a}]}),postCustomReport:e.mutation({query:e=>({method:"POST",url:"plus/custom-report",body:e}),invalidatesTags:["Custom Reports"]}),deleteCustomReport:e.mutation({query:e=>({method:"DELETE",url:"plus/custom-report/".concat(e)}),invalidatesTags:["Custom Reports"]})})});var J=a(55484),X=a(40324);let K="Report name",Q=e=>{let{isOpen:t,handleClose:a,tableStateToSave:s,columnMapToSave:r={},unavailableNames:i,onCreateCustomReport:o}=e,c=(0,T.pmc)(),[d]=q(),u=(0,l.useMemo)(()=>J.Ry().shape({reportName:J.Z_().label(K).required("Please provide a name for this report").test("is-unique","",async(e,t)=>null==i||!i.includes(e)||t.createError({message:"This name already exists"})).max(80,"Report name is too long (max 80 characters)")}),[i]),p=async e=>{var t;let i={};Object.entries(r).forEach(e=>{let[t,a]=e;i[t]={label:a,enabled:!0}}),Object.entries(null!==(t=null==s?void 0:s.columnVisibility)&&void 0!==t?t:{}).forEach(e=>{let[t,a]=e;i[t]||(i[t]={}),i[t].enabled=a});try{let t={name:e.trim(),type:_.C2.DATAMAP,config:{column_map:i,table_state:s}},r=await d(t);if((0,B.D4)(r))throw r.error;o(r.data),a()}catch(e){c({status:"error",description:(0,B.e$)(e,"A problem occurred while creating the report.")})}};return(0,n.jsxs)(T.u_l,{size:"lg",isOpen:t,onClose:a,motionPreset:"none",children:[(0,n.jsx)(T.ZAr,{}),(0,n.jsxs)(T.hzk,{children:[(0,n.jsx)(T.xBx,{pb:0,children:"Create a report"}),(0,n.jsx)(C.J9,{initialValues:{reportName:""},onSubmit:e=>p(e.reportName),onReset:a,validateOnBlur:!1,validationSchema:u,children:e=>{let{dirty:t,isValid:a}=e;return(0,n.jsxs)(C.l0,{"data-testid":"custom-report-form",children:[(0,n.jsxs)(T.fef,{children:[(0,n.jsx)(T.xvT,{fontSize:"sm",color:"gray.600",pb:6,children:"Customize and save your current filter settings for easy access in the future. This saved report will include the column layout and currently applied filter settings."}),(0,n.jsx)(X.j0,{id:"reportName",name:"reportName",isRequired:!0,label:K,placeholder:"Enter a name for the report...",variant:"stacked",maxLength:80})]}),(0,n.jsxs)(T.mzw,{gap:2,children:[(0,n.jsx)(T.wpx,{size:"small",htmlType:"reset",children:"Cancel"}),(0,n.jsx)(T.wpx,{size:"small",disabled:!t||!a,type:"primary","data-testid":"custom-report-form-submit",htmlType:"submit",children:"Save"})]})]})}})]})]})},$="Report",ee="Reports",et=e=>{var t;let{reportType:a,savedReportId:s,tableStateToSave:r,currentColumnMap:i,onCustomReportSaved:o,onSavedReportDeleted:c}=e,d=(0,y.Tg)([_.Sh.CUSTOM_REPORT_CREATE]),u=(0,y.Tg)([_.Sh.CUSTOM_REPORT_DELETE]),p=(0,T.pmc)({id:"custom-report-toast"}),{data:m,isLoading:E}=Z({report_type:a}),[S,h]=(0,l.useState)(),[g]=z(),[f]=W(),{isOpen:A,onOpen:x,onClose:v}=(0,T.qY0)(),{isOpen:R,onOpen:O,onClose:j}=(0,T.qY0)(),{isOpen:b,onOpen:D,onClose:I}=(0,T.qY0)(),[N,P]=(0,l.useState)(),[L,w]=(0,l.useState)(),[M,U]=(0,l.useState)(),[k,G]=(0,l.useState)(!1),{resetForm:Y}=(0,C.u6)(),F=(0,l.useMemo)(()=>{var e;let t=null==m?void 0:null===(e=m.items.find(e=>e.id===s))||void 0===e?void 0:e.name;return null!=t?t:ee},[null==m?void 0:m.items,s]),H=!E&&!(null==m?void 0:null===(t=m.items)||void 0===t?void 0:t.length),V=e=>{h(null==m?void 0:m.items.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())))},q=async e=>{P(e);let{data:t,isError:a,error:s}=await g(e);if(a){let e=(0,B.e$)(s,"A problem occurred while fetching the ".concat($,"."));e.includes("not found")&&c(),p({status:"error",description:e})}else w(t)},J=()=>{P(""),w(void 0),G(!1)},X=()=>{L?(G(!1),L.id!==s&&o(L,Y),v()):N?G(!0):(o(null,Y),v())},K=async e=>{e===(null==L?void 0:L.id)&&(J(),c()),f(e)};(0,l.useEffect)(()=>{m&&h(m.items)},[m]),(0,l.useEffect)(()=>{k&&(G(!1),X())},[L]),(0,l.useEffect)(()=>{s?q(s):J()},[s]),(0,l.useEffect)(()=>{M&&D()},[D,M]);let et=!L&&!s||(null==L?void 0:L.id)===s,ea=(0,n.jsx)("div",{"data-testid":"custom-reports-popover",children:(0,n.jsx)(C.J9,{initialValues:{},onSubmit:X,onReset:J,children:(0,n.jsxs)(C.l0,{children:[(0,n.jsxs)("div",{className:"relative p-3",style:{borderBottom:"var(--ant-popover-title-border-bottom)"},children:[(0,n.jsx)(T.wpx,{size:"small",disabled:H,htmlType:"reset",className:"absolute left-3 top-3","data-testid":"custom-reports-reset-button",children:"Reset"}),(0,n.jsx)(T.wpx,{type:"text",size:"small",icon:(0,n.jsx)(T.PJP.x8P,{}),className:"absolute right-3 top-3",onClick:()=>{s?q(s):J(),v()},"data-testid":"custom-report-popover-cancel"}),(0,n.jsx)("div",{className:"text-center",style:{color:"var(--ant-color-text-heading)",fontWeight:"var(--ant-font-weight-strong)"},children:ee}),(0,n.jsx)("div",{className:"mt-3",children:(0,n.jsx)(T.uFc,{size:"small",placeholder:"Search...",onChange:e=>V(e.target.value)})})]}),(0,n.jsxs)("div",{className:"px-5 pb-1 pt-3",children:[H&&(0,n.jsx)(T.oj8,{image:(0,n.jsx)(T.wpx,{type:"primary",shape:"circle",size:"small","aria-label":"add ".concat($),icon:(0,n.jsx)(T.PJP.mm_,{}),onClick:O,"data-testid":"add-report-button"}),description:"No ".concat(ee.toLowerCase()," have been created. Start by applying your preferred filter and column settings, then create a ").concat($.toLowerCase()," for easy access later."),styles:{image:{height:"24px"}},"data-testid":"custom-reports-empty-state"}),!H&&(E?(0,n.jsx)(T.N_L,{active:!0,paragraph:{rows:3,width:"100%"},title:!1,className:"pt-2"}):(0,n.jsx)(T.y02.Group,{onChange:e=>q(e.target.value),value:N,style:{width:"100%"},children:(0,n.jsx)(T.vyj,{direction:"vertical",className:"w-full",size:"small",children:null==S?void 0:S.map(e=>(0,n.jsxs)(T.jqI,{justify:u?"space-between":"flex-start",align:"center",children:[(0,n.jsx)(T.y02,{value:e.id,name:"custom-report-id","data-testid":"custom-report-item",children:e.name}),u&&(0,n.jsx)(T.wpx,{type:"text",size:"small",icon:(0,n.jsx)(T.PJP.ZNm,{}),onClick:()=>U(e),"data-testid":"delete-report-button"})]},e.id))})}))]}),(0,n.jsxs)(T.jqI,{className:"px-5 py-4",gap:"small",children:[d&&r&&(0,n.jsxs)(T.wpx,{size:"small",onClick:O,className:"flex-1 gap-1 pl-0","data-testid":"create-report-button",htmlType:"button",icon:(0,n.jsx)(T.PJP.mm_,{}),iconPosition:"start",children:["Create ",$.toLowerCase()]}),(0,n.jsx)(T.wpx,{size:"small",type:"primary",loading:k,disabled:et,className:"flex-1","data-testid":"apply-report-button",htmlType:"submit",children:"Apply"})]})]})})});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(T.bPF,{content:ea,trigger:"click",placement:"bottomRight",open:A,onOpenChange:e=>{e?x():X()},styles:{root:{width:"320px","--ant-popover-inner-content-padding":"0"}},zIndex:1400,children:(0,n.jsx)(T.wpx,{className:"max-w-40",icon:(0,n.jsx)(T.v4q,{}),iconPosition:"end","data-testid":"custom-reports-trigger",children:(0,n.jsx)(T.lKn,{ellipsis:!0,children:F})})}),(0,n.jsx)(Q,{isOpen:R,handleClose:()=>{j(),setTimeout(()=>{x()},100)},tableStateToSave:r,columnMapToSave:i,unavailableNames:null==m?void 0:m.items.map(e=>e.name),onCreateCustomReport:e=>o(e,Y)}),(0,n.jsx)(T.cVQ,{isOpen:b,onClose:()=>{U(void 0),I()},onConfirm:()=>{M&&K(M.id),I()},title:"Delete ".concat($),message:(0,n.jsxs)(T.lKn,{children:["You are about to permanently delete the"," ",$.toLowerCase()," named"," ",(0,n.jsx)("strong",{children:null==M?void 0:M.name}),". Are you sure you would like to continue?"]})})]})};var ea=a(19785),es=a.n(ea),er=a(55807),ei=a.n(er),eo=a(32526),en=a.n(eo),el=a(72625),ec=a(43862);let ed=(0,A.Cl)(),eu=(e,t)=>({cell:e=>(0,n.jsx)(x.G3,{value:e.getValue()}),header:a=>{let s={};return Object.keys(e).forEach(t=>{"string"==typeof e[t]?s[t]=e[t]:e[t].label&&(s[t]=e[t].label||"")}),(0,n.jsx)(el.Hm,{value:(0,ec.AH)({columnId:a.column.id,columnNameMap:s}),defaultValue:p[a.column.id]||(0,ec.AH)({columnId:a.column.id}),isEditing:t,...a})}}),e_=(e,t)=>{var a;let s=(null==e?void 0:null===(a=e.items)||void 0===a?void 0:a.length)?Object.keys(e.items[0]):[],r=Object.values(o);return s.filter(e=>!r.includes(e)).filter(e=>e.startsWith("privacy_declaration_")||e.startsWith("system_")).map(e=>{let a=t.find(t=>e.includes(en()(t.name)));return ed.accessor(t=>t[e],{id:e,cell:e=>Array.isArray(e.getValue())?(0,n.jsx)(x.WP,{value:e.getValue(),ignoreZero:!0,...e}):(0,n.jsx)(x.G3,{value:e.getValue()}),meta:{showHeaderMenu:(null==a?void 0:a.field_type)==="string[]"}})})},ep=e=>{let{onSelectRow:t,getDataUseDisplayName:a,getDataCategoryDisplayName:s,getDataSubjectDisplayName:r,datamapReport:i,customFields:l,isRenaming:c=!1}=e,d=e_(i,l);return[ed.accessor(e=>e.system_name,{enableGrouping:!0,id:o.SYSTEM_NAME,meta:{onCellClick:t}}),ed.accessor(e=>e.data_uses,{id:o.DATA_USE,cell:e=>{let t=e.getValue();return(0,n.jsx)(x.WP,{suffix:"data uses",ignoreZero:!0,value:es()(t)?ei()(t,a):a(t||""),tagProps:{color:"white"},...e})},meta:{width:"auto"}}),ed.accessor(e=>e.data_categories,{id:o.DATA_CATEGORY,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.data_subjects,{id:o.DATA_SUBJECT,cell:e=>{let t=e.getValue();return(0,n.jsx)(x.WP,{suffix:"data subjects",ignoreZero:!0,value:es()(t)?ei()(t,r):r(t||""),tagProps:{color:"white"},...e})},meta:{showHeaderMenu:!c}}),ed.accessor(e=>e.legal_name,{id:o.LEGAL_NAME}),ed.accessor(e=>e.dpo,{id:o.DPO}),ed.accessor(e=>e.legal_basis_for_processing,{id:o.LEGAL_BASIS_FOR_PROCESSING}),ed.accessor(e=>e.administrating_department,{id:o.ADMINISTRATING_DEPARTMENT}),ed.accessor(e=>e.cookie_max_age_seconds,{id:o.COOKIE_MAX_AGE_SECONDS}),ed.accessor(e=>e.privacy_policy,{id:o.PRIVACY_POLICY}),ed.accessor(e=>e.legal_address,{id:o.LEGAL_ADDRESS}),ed.accessor(e=>e.cookie_refresh,{id:o.COOKIE_REFRESH}),ed.accessor(e=>e.data_security_practices,{id:o.DATA_SECURITY_PRACTICES}),ed.accessor(e=>e.data_shared_with_third_parties,{id:o.DATA_SHARED_WITH_THIRD_PARTIES}),ed.accessor(e=>e.processes_special_category_data,{id:o.PROCESSES_SPECIAL_CATEGORY_DATA}),ed.accessor(e=>e.data_stewards,{id:o.DATA_STEWARDS,cell:e=>(0,n.jsx)(x.WP,{suffix:"data stewards",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.declaration_name,{id:o.DECLARATION_NAME}),ed.accessor(e=>e.does_international_transfers,{id:o.DOES_INTERNATIONAL_TRANSFERS}),ed.accessor(e=>e.dpa_location,{id:o.DPA_LOCATION}),ed.accessor(e=>e.egress,{id:o.DESTINATIONS,cell:e=>(0,n.jsx)(x.WP,{suffix:"destinations",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.exempt_from_privacy_regulations,{id:o.EXEMPT_FROM_PRIVACY_REGULATIONS}),ed.accessor(e=>e.features,{id:o.FEATURES,cell:e=>(0,n.jsx)(x.WP,{suffix:"features",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.fides_key,{id:o.FIDES_KEY}),ed.accessor(e=>e.flexible_legal_basis_for_processing,{id:o.FLEXIBLE_LEGAL_BASIS_FOR_PROCESSING}),ed.accessor(e=>e.impact_assessment_location,{id:o.IMPACT_ASSESSMENT_LOCATION}),ed.accessor(e=>e.ingress,{id:o.SOURCES,cell:e=>(0,n.jsx)(x.WP,{suffix:"sources",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.joint_controller_info,{id:o.JOINT_CONTROLLER_INFO}),ed.accessor(e=>e.legal_basis_for_profiling,{id:o.LEGAL_BASIS_FOR_PROFILING,cell:e=>(0,n.jsx)(x.WP,{suffix:"profiles",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.legal_basis_for_transfers,{id:o.LEGAL_BASIS_FOR_TRANSFERS,cell:e=>(0,n.jsx)(x.WP,{suffix:"transfers",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.legitimate_interest_disclosure_url,{id:o.LEGITIMATE_INTEREST_DISCLOSURE_URL}),ed.accessor(e=>e.processes_personal_data,{id:o.PROCESSES_PERSONAL_DATA}),ed.accessor(e=>e.reason_for_exemption,{id:o.REASON_FOR_EXEMPTION}),ed.accessor(e=>e.requires_data_protection_assessments,{id:o.REQUIRES_DATA_PROTECTION_ASSESSMENTS}),ed.accessor(e=>e.responsibility,{id:o.RESPONSIBILITY,cell:e=>(0,n.jsx)(x.WP,{suffix:"responsibilities",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.retention_period,{id:o.RETENTION_PERIOD}),ed.accessor(e=>e.shared_categories,{id:o.SHARED_CATEGORIES,cell:e=>(0,n.jsx)(x.WP,{suffix:"shared categories",ignoreZero:!0,value:e.getValue(),tagProps:{color:"white"},...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.special_category_legal_basis,{id:o.SPECIAL_CATEGORY_LEGAL_BASIS}),ed.accessor(e=>e.third_parties,{id:o.THIRD_PARTIES}),ed.accessor(e=>e.system_undeclared_data_categories,{id:o.SYSTEM_UNDECLARED_DATA_CATEGORIES,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.data_use_undeclared_data_categories,{id:o.DATA_USE_UNDECLARED_DATA_CATEGORIES,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.cookies,{id:o.COOKIES,cell:e=>(0,n.jsx)(x.WP,{ignoreZero:!0,suffix:"cookies",value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.uses_cookies,{id:o.USES_COOKIES}),ed.accessor(e=>e.uses_non_cookie_access,{id:o.USES_NON_COOKIE_ACCESS}),ed.accessor(e=>e.uses_profiling,{id:o.USES_PROFILING}),...d]},em=e=>{let{columnNameMapOverrides:t,setColumnNameMapOverrides:a,setSavedCustomReportId:s,setIsRenamingColumns:r}=e,{submitForm:i,resetForm:o}=(0,C.u6)();return(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(T.wpx,{size:"small","data-testid":"rename-columns-reset-btn",onClick:()=>{a({}),s(""),o({values:{}}),r(!1)},children:"Reset all"}),(0,n.jsx)(T.wpx,{size:"small","data-testid":"rename-columns-cancel-btn",onClick:()=>{o({values:t}),r(!1)},children:"Cancel"}),(0,n.jsx)(T.wpx,{size:"small",type:"primary",htmlType:"submit","data-testid":"rename-columns-apply-btn",onClick:i,children:"Apply"})]})},eE=e=>e===_.fI.DATA_USE_SYSTEM?[o.DATA_USE]:[o.SYSTEM_NAME],eS=e=>{let t=[];return _.fI.SYSTEM_DATA_USE===e&&(t=[o.SYSTEM_NAME,o.DATA_USE]),_.fI.DATA_USE_SYSTEM===e&&(t=[o.DATA_USE,o.SYSTEM_NAME]),t},eh=(e,t)=>eS(e).concat(t.filter(e=>e!==o.SYSTEM_NAME&&e!==o.DATA_USE)),eg={items:[],total:0,page:1,size:25,pages:1},ef=()=>{let e=(0,y.Tg)([_.Sh.CUSTOM_REPORT_READ]),{isLoading:t}=(0,V.x8)(),{PAGE_SIZES:a,pageSize:s,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:c,onNextPageClick:d,isNextPageDisabled:u,startRange:S,endRange:h,pageIndex:v,setTotalPages:P,resetPageIndexToDefault:L}=(0,x.oi)(),M=(0,T.pmc)({id:"datamap-report-toast"}),{isOpen:U,onClose:k,onOpen:G}=(0,T.qY0)(),{getDataUseDisplayName:Y,getDataCategoryDisplayName:F,getDataSubjectDisplayName:B,isLoading:Z}=(0,j.Z)(),[z,q]=(0,l.useState)(),{savedCustomReportId:W,setSavedCustomReportId:J,groupBy:X,setGroupBy:K,selectedFilters:Q,setSelectedFilters:$,columnOrder:ee,setColumnOrder:ea,columnVisibility:es,setColumnVisibility:er,columnSizing:ei,setColumnSizing:eo,columnNameMapOverrides:en,setColumnNameMapOverrides:el}=g(),[ec,ed]=(0,l.useState)(!1),e_=e=>{J(""),K(e),ed(!0),L()},[ef,eA]=(0,l.useState)(""),ex=(0,l.useCallback)(e=>{L(),eA(e)},[L,eA]),eT={pageIndex:v,pageSize:s,groupBy:X,search:ef,dataUses:(0,D.du)(Q.dataUses,"data_uses"),dataSubjects:(0,D.du)(Q.dataSubjects,"data_subjects"),dataCategories:(0,D.du)(Q.dataCategories,"data_categories")},{data:eC,isLoading:ev,isFetching:eR}=(0,I.tH)(eT),[eO,{isLoading:ej,isError:eb}]=(0,I.Eo)(),{data:ey,totalRows:eD}=(0,l.useMemo)(()=>{let e=eC||eg,t=e.items;return ec&&ed(!1),P(e.pages),{totalRows:e.total,data:t}},[eC]);(0,V.GH)();let eI=(0,O.C)(V.fN),[eN,eP]=(0,l.useState)(!1),eL=(0,l.useMemo)(()=>eC?ep({onSelectRow:e=>q(e.fides_key),getDataUseDisplayName:Y,getDataCategoryDisplayName:F,getDataSubjectDisplayName:B,datamapReport:eC,customFields:eI,isRenaming:eN}):[],[Y,B,F,eC,eI,eN]),{isOpen:ew,onOpen:eM,onClose:eU}=(0,T.qY0)(),{isOpen:ek,onOpen:eG,onClose:eY}=(0,T.qY0)(),eF=(0,f.b7)({getCoreRowModel:(0,A.sC)(),getGroupedRowModel:(0,A.qe)(),getExpandedRowModel:(0,A.rV)(),manualPagination:!0,enableColumnResizing:!0,columnResizeMode:"onChange",columns:eL,defaultColumn:eu({...p,...en},eN),data:ey,initialState:{expanded:!0,columnSizing:ei,columnOrder:ee,columnVisibility:es,grouping:eE(X)}});(0,l.useEffect)(()=>{X&&eF&&eC&&(0===eF.getState().columnOrder.length?ea(eh(X,eF.getAllColumns().map(e=>e.id))):ea(eh(X,eF.getState().columnOrder)))},[X,eF,eC]),(0,l.useEffect)(()=>{let e=eE(X);eC&&eF.setGrouping(e)},[eC]);let eH=(0,l.useMemo)(()=>R()(eo,300),[eo]);(0,l.useEffect)(()=>{let e=eF.getState().columnSizing;e&&eH(e)},[eF.getState().columnSizing]);let eV=(e,t)=>{if(e||W){if(!e){try{J(""),er(m),eF.toggleAllColumnsVisible(!0),eF.setColumnVisibility(m),ea([]),eF.setColumnOrder([]),K(_.fI.SYSTEM_DATA_USE),$(E),el({}),t({values:{}})}catch(e){M({status:"error",description:"There was a problem resetting the report."})}return}try{var a,s,r,i;if(null===(a=e.config)||void 0===a?void 0:a.table_state){let{groupBy:t,filters:a,columnOrder:s}=e.config.table_state,i={};Object.entries(null!==(r=e.config.column_map)&&void 0!==r?r:{}).forEach(e=>{let[t,a]=e;i[t]=a.enabled||!1}),t&&K(t),a&&$(a),s&&(ea(s),eF.setColumnOrder(s)),i&&(er(i),eF.setColumnVisibility(i))}if(null===(s=e.config)||void 0===s?void 0:s.column_map){let a={};Object.entries(null!==(i=e.config.column_map)&&void 0!==i?i:{}).forEach(e=>{let[t,s]=e;s.label&&(a[t]=s.label)}),el(a),t({values:a})}J(e.id),M({status:"success",description:"Report applied successfully."})}catch(e){M({status:"error",description:"There was a problem applying report."})}}};return ev||t||Z?(0,n.jsx)(x.I4,{rowHeight:36,numRows:15}):(0,n.jsxs)(T.kCb,{flex:1,direction:"column",overflow:"auto",children:[(0,n.jsx)(H,{columnNameMap:{...p,...en},selectedFilters:Q,isOpen:U,onClose:k,onFilterChange:e=>{J(""),$(e)}}),(0,n.jsx)(x.F1,{isOpen:ew,onClose:eU,headerText:"Columns",columnNameMap:{...p,...en},prefixColumns:eS(X),tableInstance:eF,savedCustomReportId:W,onColumnOrderChange:e=>{J(""),eF.setColumnOrder(e),ea(e)},onColumnVisibilityChange:e=>{J(""),eF.setColumnVisibility(e),er(e)}}),(0,n.jsx)(w,{isOpen:ek,onClose:eY,onConfirm:e=>{let t={};Object.entries(es).forEach(e=>{let[a,s]=e;t[a]={enabled:s}}),Object.entries(en).forEach(e=>{let[a,s]=e;if(t[a])t[a].label=s;else{var r;t[a]={label:s,enabled:null===(r=es[a])||void 0===r||r}}}),eO({...eT,format:e,report_id:W,report:{name:"",type:"datamap",config:{column_map:t,table_state:{groupBy:X,filters:Q,columnOrder:ee}}}}).then(()=>{eb||eY()})},isLoading:ej}),(0,n.jsx)(C.J9,{initialValues:en,onSubmit:e=>{J(""),el(e),eP(!1)},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(x.Q$,{children:[(0,n.jsx)(x.HO,{globalFilter:ef,setGlobalFilter:ex,placeholder:"System name, Fides key, or ID"}),(0,n.jsxs)(T.kCb,{alignItems:"center",gap:2,children:[e&&(0,n.jsx)(et,{reportType:_.C2.DATAMAP,savedReportId:W,tableStateToSave:{groupBy:X,filters:Q,columnOrder:ee,columnVisibility:es},currentColumnMap:en,onCustomReportSaved:(e,t)=>eV(e,t),onSavedReportDeleted:()=>{J("")}}),(0,n.jsxs)(T.v2r,{children:[(0,n.jsxs)(T.j2t,{as:T.wpx,icon:(0,n.jsx)(T.v4q,{}),iconPosition:"end",loading:ec,"data-testid":"group-by-menu",children:["Group by ",(()=>{switch(X){case _.fI.SYSTEM_DATA_USE:return"system";case _.fI.DATA_USE_SYSTEM:return"data use";default:return"system"}})()]}),(0,n.jsxs)(T.qyq,{zIndex:11,"data-testid":"group-by-menu-list",children:[(0,n.jsx)(T.iiZ,{onClick:()=>{e_(_.fI.SYSTEM_DATA_USE)},isChecked:_.fI.SYSTEM_DATA_USE===X,value:_.fI.SYSTEM_DATA_USE,"data-testid":"group-by-system-data-use",children:"System"}),(0,n.jsx)(T.iiZ,{onClick:()=>{e_(_.fI.DATA_USE_SYSTEM)},isChecked:_.fI.DATA_USE_SYSTEM===X,value:_.fI.DATA_USE_SYSTEM,"data-testid":"group-by-data-use-system",children:"Data use"})]})]}),(0,n.jsx)(T.wpx,{"data-testid":"filter-multiple-systems-btn",onClick:G,children:"Filter"}),(0,n.jsx)(T.wpx,{"aria-label":"Export report","data-testid":"export-btn",onClick:eG,icon:(0,n.jsx)(b.nM,{ml:"1.5px"})}),(0,n.jsxs)(T.v2r,{placement:"bottom-end",children:[(0,n.jsx)(T.j2t,{as:T.wpx,icon:(0,n.jsx)(T.nXP,{className:"rotate-90"}),"data-testid":"more-menu","aria-label":"More options",className:"w-6 gap-0"}),(0,n.jsxs)(T.qyq,{"data-testid":"more-menu-list",children:[(0,n.jsx)(T.sNh,{onClick:eM,"data-testid":"edit-columns-btn",children:"Edit columns"}),(0,n.jsx)(T.sNh,{onClick:()=>eP(!0),"data-testid":"rename-columns-btn",children:"Rename columns"})]})]}),eN&&(0,n.jsx)(em,{columnNameMapOverrides:en,setColumnNameMapOverrides:el,setSavedCustomReportId:J,setIsRenamingColumns:eP})]})]}),(0,n.jsx)(C.l0,{children:(0,n.jsx)(x.ZK,{tableInstance:eF,columnExpandStorageKey:i.COLUMN_EXPANSION_STATE,columnWrapStorageKey:i.WRAPPING_COLUMNS})})]})}),(0,n.jsx)(x.s8,{totalRows:eD||0,pageSizes:a,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:c||eR,onNextPageClick:d,isNextPageDisabled:u||eR,startRange:S,endRange:h}),(0,n.jsx)(N.Z,{selectedSystemId:z,resetSelectedSystemId:()=>q(void 0)})]})};var eA=()=>(0,n.jsxs)(c.Z,{title:"Datamap Report",children:[(0,n.jsx)(d.Z,{"data-testid":"datamap-report-heading",heading:"Data map report"}),(0,n.jsx)(h,{children:(0,n.jsx)(ef,{})})]})}},function(e){e.O(0,[431,8765,9278,5163,9187,4164,9951,5258,2888,9774,179],function(){return e(e.s=86548)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9196],{6446:function(e){e.exports=function(e,t,a,s){var r=-1,i=null==e?0:e.length;for(s&&i&&(a=e[++r]);++r<i;)a=t(a,e[r],r,e);return a}},67375:function(e,t,a){var s=a(52033),r=a(80068);e.exports=function(e,t){var a=-1,i=r(e)?Array(e.length):[];return s(e,function(e,s,r){i[++a]=t(e,s,r)}),i}},74833:function(e,t,a){var s=a(56127),r=/^\s+/;e.exports=function(e){return e?e.slice(0,s(e)+1).replace(r,""):e}},56632:function(e,t,a){var s=a(89278),r=a(80068),i=a(50098);e.exports=function(e){return function(t,a,o){var n=Object(t);if(!r(t)){var l=s(a,3);t=i(t),a=function(e){return l(n[e],e,n)}}var c=e(t,a,o);return c>-1?n[l?t[c]:c]:void 0}}},56127:function(e){var t=/\s/;e.exports=function(e){for(var a=e.length;a--&&t.test(e.charAt(a)););return a}},64925:function(e,t,a){var s=a(56632)(a(66259));e.exports=s},66259:function(e,t,a){var s=a(95372),r=a(89278),i=a(47991),o=Math.max;e.exports=function(e,t,a){var n=null==e?0:e.length;if(!n)return -1;var l=null==a?0:i(a);return l<0&&(l=o(n+l,0)),s(e,r(t,3),l)}},55807:function(e,t,a){var s=a(66070),r=a(89278),i=a(67375),o=a(19785);e.exports=function(e,t){return(o(e)?s:i)(e,r(t,3))}},82846:function(e,t,a){var s=a(77400);e.exports=function(){return s.Date.now()}},32526:function(e,t,a){var s=a(68267)(function(e,t,a){return e+(a?"_":"")+t.toLowerCase()});e.exports=s},94919:function(e,t,a){var s=a(91936),r=1/0;e.exports=function(e){return e?(e=s(e))===r||e===-r?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,a){var s=a(94919);e.exports=function(e){var t=s(e),a=t%1;return t==t?a?t-a:t:0}},91936:function(e,t,a){var s=a(74833),r=a(11611),i=a(55193),o=0/0,n=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return o;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=s(e);var a=l.test(e);return a||c.test(e)?d(e.slice(2),a?2:8):n.test(e)?o:+e}},86548:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/reporting/datamap",function(){return a(27901)}])},624:function(e,t,a){"use strict";var s=a(24246),r=a(96306),i=a(27378);let o=e=>{let t=e.split("."),a=[];return t.forEach(e=>{let t=a.length>0?a[a.length-1]:null;t?a.push("".concat(t,".").concat(e)):a.push(e)}),a},n=(e,t)=>{let a=o(t).filter(e=>e!==t);return e.filter(e=>a.includes(e)).length>0},l=(e,t)=>!!(e===t||e.startsWith("".concat(t,"."))),c=(e,t,a)=>{let s=null!=a?a:[];return e.forEach(e=>{e.children&&c(e.children,t,s),l(e.value,t)&&s.push(e)}),s},d=e=>{let{node:t,isChecked:a,onChecked:i,isExpanded:o,onExpanded:n,isIndeterminate:l,isDisabled:c,children:d}=e,{value:u,label:_}=t,p=!!t.children&&t.children.length>0;return(0,s.jsxs)(r.xuv,{children:[(0,s.jsxs)(r.xuv,{display:"flex",justifyContent:"space-between",_hover:{backgroundColor:"gray.100",cursor:"pointer"},onClick:()=>n(t),minHeight:8,children:[(0,s.jsx)(r.XZJ,{colorScheme:"complimentary",value:u,isChecked:!l&&a,isIndeterminate:l,isDisabled:c,onChange:()=>i(t),mx:2,"data-testid":"checkbox-".concat(_),children:_}),p?(0,s.jsx)(r.wpx,{"data-testid":"expand-".concat(_),"aria-label":o?"collapse":"expand",icon:(0,s.jsx)(r.v4q,{boxSize:5}),type:"text",onClick:()=>n(t),className:o?"rotate-180":void 0}):null]}),d&&(0,s.jsx)(r.xuv,{ml:5,children:d})]})};t.ZP=e=>{let{nodes:t,selected:a,onSelected:u,..._}=e,[p,m]=(0,i.useState)([]),[E,S]=(0,i.useState)([]);(0,i.useEffect)(()=>{let e=Array.from(new Set([...a.map(e=>o(e)).reduce((e,t)=>e.concat(t),[]),...a.map(e=>c(t,e)).reduce((e,t)=>e.concat(t),[]).map(e=>e.value)]));S(e),m(e)},[a,t]);let h=e=>{let s=[],r=[];p.indexOf(e.value)>=0?(s=p.filter(t=>!l(t,e.value)),r=a.filter(t=>!l(t,e.value))):(s=[...p,...c(t,e.value).map(e=>e.value)],r=[...a,e.value]),m(s),u(r)},g=e=>{E.indexOf(e.value)>=0?S(E.filter(t=>!l(t,e.value))):S([...E,e.value])},f=e=>{if(e.children){let r=p.indexOf(e.value)>=0,o=E.indexOf(e.value)>=0,l=c(t,e.value),u=r&&e.children.length>0&&p.filter(t=>t.startsWith("".concat(e.value,"."))).length+1!==l.length,_=n(a,e.value);return(0,s.jsx)(d,{node:e,isChecked:r,onChecked:h,isExpanded:o,onExpanded:g,isDisabled:_,isIndeterminate:u,children:o?e.children.map(e=>(0,s.jsx)(i.Fragment,{children:f(e)},e.value)):void 0})}return null};return(0,s.jsx)(r.xuv,{..._,children:t.map(e=>(0,s.jsx)(r.xuv,{children:f(e)},e.value))})}},35287:function(e,t,a){"use strict";var s=a(24246),r=a(96306),i=a(88038),o=a.n(i);a(27378),t.Z=e=>{let{children:t,title:a,mainProps:i}=e;return(0,s.jsxs)(r.kCb,{"data-testid":a,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,s.jsxs)(o(),{children:[(0,s.jsxs)("title",{children:["Fides Admin UI - ",a]}),(0,s.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,s.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,s.jsx)(r.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...i,children:t})]})}},19904:function(e,t,a){"use strict";a.d(t,{Tg:function(){return o}});var s=a(24246),r=a(16134),i=a(31793);let o=e=>(0,r.C)(i.uu).filter(t=>e.includes(t)).length>0;t.ZP=e=>{let{scopes:t,children:a}=e;return o(t)?(0,s.jsx)(s.Fragment,{children:a}):null}},34929:function(e,t,a){"use strict";var s=a(24246),r=a(64925),i=a.n(r),o=a(27378),n=a(16134),l=a(30002),c=a(28079),d=a(57072);let u=()=>{let{isLoading:e}=(0,c.fd)(),t=(0,n.C)(c.U3),{isLoading:a}=(0,d.MO)(),s=(0,n.C)(d.qb),{isLoading:r}=(0,l.te)();return{dataUses:t,dataSubjects:(0,n.C)(l.ZL),dataCategories:s,isLoading:e||a||r}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:a,isLoading:r}=u(),n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.split(".").slice(0,t).join(".")},l=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=t(e);if(!s)return{};let r=t(n(e,a)),i=!!s.parent_key;return{name:s.name||void 0,primaryName:i&&(null==r?void 0:r.name)!==s.name&&(null==r?void 0:r.name)||void 0}},c=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:r,primaryName:i}=l(e,t,a);return r?i?(0,s.jsxs)(o.Fragment,{children:[(0,s.jsxs)("strong",{children:[i,":"]})," ",r]},e):(0,s.jsx)("strong",{children:r},e):e},d=t=>i()(e,{fides_key:t}),_=e=>i()(t,{fides_key:e}),p=e=>i()(a,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:d,getDataUseDisplayName:e=>c(e,d,1),getDataUseDisplayNameProps:e=>l(e,d,1),getDataCategories:()=>t,getDataCategoryByKey:_,getDataCategoryDisplayName:e=>c(e,_,2),getDataCategoryDisplayNameProps:e=>l(e,_,2),getDataSubjects:()=>a,getDataSubjectByKey:p,getDataSubjectDisplayName:e=>{let t=p(e);return t?t.name:e},getPrimaryKey:n,isLoading:r}}},59001:function(e,t,a){"use strict";a.d(t,{Ch:function(){return o},Hy:function(){return n},Lo:function(){return r}});var s,r,i=a(21910);let o="root";(s=r||(r={})).DATA_CATEGORIES="Data categories",s.DATA_USES="Data uses",s.DATA_SUBJECTS="Data subjects";let n=e=>{switch(e){case"Data categories":return{UPDATE:i.Sh.DATA_CATEGORY_UPDATE,CREATE:i.Sh.DATA_CATEGORY_CREATE,DELETE:i.Sh.DATA_CATEGORY_DELETE,READ:i.Sh.DATA_CATEGORY_READ};case"Data uses":return{UPDATE:i.Sh.DATA_USE_UPDATE,CREATE:i.Sh.DATA_USE_CREATE,DELETE:i.Sh.DATA_USE_DELETE,READ:i.Sh.DATA_USE_READ};case"Data subjects":return{UPDATE:i.Sh.DATA_SUBJECT_UPDATE,CREATE:i.Sh.DATA_SUBJECT_CREATE,DELETE:i.Sh.DATA_SUBJECT_DELETE,READ:i.Sh.DATA_SUBJECT_READ};default:throw Error("Unknown taxonomy type: ".concat(e))}}},90673:function(e,t,a){"use strict";a.d(t,{Cd:function(){return i},Xl:function(){return o}});var s=a(21910),r=a(59001);let i=(e,t)=>{let a;if(null==t&&e.every(e=>void 0===e.parent_key))a=e;else{let s=null!=t?t:null;a=e.filter(e=>e.parent_key===s)}return a.map(t=>{var a,s;let r=t.fides_key;return{value:t.fides_key,label:""===t.name||null==t.name?t.fides_key:t.name,description:t.description,children:i(e,r),is_default:null!==(a=t.is_default)&&void 0!==a&&a,active:null!==(s=t.active)&&void 0!==s&&s}})},o=e=>{switch(e){case r.Lo.DATA_CATEGORIES:return s.P6.DATA_CATEGORY;case r.Lo.DATA_SUBJECTS:return s.P6.DATA_SUBJECT;case r.Lo.DATA_USES:return s.P6.DATA_USE;default:return}}},27901:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return eA}});var s,r,i,o,n=a(24246),l=a(27378),c=a(35287),d=a(58754),u=a(71795),_=a(21910);(s=i||(i={})).COLUMN_EXPANSION_STATE="datamap-column-expansion-state",s.COLUMN_NAMES="datamap-column-names",s.COLUMN_ORDER="datamap-column-order",s.COLUMN_SIZING="datamap-column-sizing",s.COLUMN_VISIBILITY="datamap-column-visibility",s.CUSTOM_REPORT_ID="datamap-custom-report-id",s.FILTERS="datamap-filters",s.GROUP_BY="datamap-group-by",s.SORTING_STATE="datamap-sorting-state",s.WRAPPING_COLUMNS="datamap-wrapping-columns",(r=o||(o={})).SYSTEM_NAME="system_name",r.DATA_USE="data_uses",r.DATA_CATEGORY="data_categories",r.DATA_SUBJECT="data_subjects",r.LEGAL_NAME="legal_name",r.DPO="dpo",r.LEGAL_BASIS_FOR_PROCESSING="legal_basis_for_processing",r.ADMINISTRATING_DEPARTMENT="administrating_department",r.COOKIE_MAX_AGE_SECONDS="cookie_max_age_seconds",r.PRIVACY_POLICY="privacy_policy",r.LEGAL_ADDRESS="legal_address",r.COOKIE_REFRESH="cookie_refresh",r.DATA_SECURITY_PRACTICES="data_security_practices",r.DATA_SHARED_WITH_THIRD_PARTIES="data_shared_with_third_parties",r.DATA_STEWARDS="data_stewards",r.DECLARATION_NAME="declaration_name",r.DOES_INTERNATIONAL_TRANSFERS="does_international_transfers",r.DPA_LOCATION="dpa_location",r.DESTINATIONS="egress",r.EXEMPT_FROM_PRIVACY_REGULATIONS="exempt_from_privacy_regulations",r.FEATURES="features",r.FIDES_KEY="fides_key",r.FLEXIBLE_LEGAL_BASIS_FOR_PROCESSING="flexible_legal_basis_for_processing",r.IMPACT_ASSESSMENT_LOCATION="impact_assessment_location",r.SOURCES="ingress",r.JOINT_CONTROLLER_INFO="joint_controller_info",r.LEGAL_BASIS_FOR_PROFILING="legal_basis_for_profiling",r.LEGAL_BASIS_FOR_TRANSFERS="legal_basis_for_transfers",r.LEGITIMATE_INTEREST_DISCLOSURE_URL="legitimate_interest_disclosure_url",r.PROCESSES_PERSONAL_DATA="processes_personal_data",r.REASON_FOR_EXEMPTION="reason_for_exemption",r.REQUIRES_DATA_PROTECTION_ASSESSMENTS="requires_data_protection_assessments",r.RESPONSIBILITY="responsibility",r.RETENTION_PERIOD="retention_period",r.SHARED_CATEGORIES="shared_categories",r.SPECIAL_CATEGORY_LEGAL_BASIS="special_category_legal_basis",r.THIRD_PARTIES="third_parties",r.COOKIES="cookies",r.USES_COOKIES="uses_cookies",r.USES_NON_COOKIE_ACCESS="uses_non_cookie_access",r.USES_PROFILING="uses_profiling",r.SYSTEM_UNDECLARED_DATA_CATEGORIES="system_undeclared_data_categories",r.DATA_USE_UNDECLARED_DATA_CATEGORIES="data_use_undeclared_data_categories",r.PROCESSES_SPECIAL_CATEGORY_DATA="processes_special_category_data";let p={system_name:"System",data_uses:"Data use",data_categories:"Data categories",data_subjects:"Data subject",legal_name:"Legal name",dpo:"Data privacy officer",legal_basis_for_processing:"Legal basis for processing",administrating_department:"Administrating department",cookie_max_age_seconds:"Cookie max age seconds",privacy_policy:"Privacy policy",legal_address:"Legal address",cookie_refresh:"Cookie refresh",data_security_practices:"Data security practices",data_shared_with_third_parties:"Data shared with third parties",data_stewards:"Data stewards",declaration_name:"Declaration name",does_international_transfers:"Does international transfers",dpa_location:"DPA location",egress:"Destination",exempt_from_privacy_regulations:"Exempt from privacy regulations",features:"Features",fides_key:"Fides key",flexible_legal_basis_for_processing:"Flexible legal basis for processing",impact_assessment_location:"Impact assessment location",ingress:"Source",joint_controller_info:"Joint controller info",legal_basis_for_profiling:"Legal basis for profiling",legal_basis_for_transfers:"Legal basis for transfers",legitimate_interest_disclosure_url:"Legitimate interest disclosure URL",processes_personal_data:"Processes personal data",reason_for_exemption:"Reason for exemption",requires_data_protection_assessments:"Requires data protection assessments",responsibility:"Responsibility",retention_period:"Retention period",shared_categories:"Shared categories",special_category_legal_basis:"Special category legal basis",third_parties:"Third parties",system_undeclared_data_categories:"System undeclared data categories",data_use_undeclared_data_categories:"Data use undeclared data categories",cookies:"Cookies",uses_cookies:"Uses cookies",uses_non_cookie_access:"Uses non-cookie access",uses_profiling:"Uses profiling",processes_special_category_data:"Processes special category data"},m={[o.SYSTEM_UNDECLARED_DATA_CATEGORIES]:!1,[o.DATA_USE_UNDECLARED_DATA_CATEGORIES]:!1},E={dataUses:[],dataSubjects:[],dataCategories:[]},S=(0,l.createContext)({}),h=e=>{let{children:t}=e,[a,s]=(0,u._)(i.CUSTOM_REPORT_ID,""),[r,o]=(0,u._)(i.GROUP_BY,_.fI.SYSTEM_DATA_USE),[c,d]=(0,u._)(i.FILTERS,E),[p,h]=(0,u._)(i.COLUMN_ORDER,[]),[g,f]=(0,u._)(i.COLUMN_VISIBILITY,m),[A,x]=(0,u._)(i.COLUMN_SIZING,{}),[T,C]=(0,u._)(i.COLUMN_NAMES,{}),v=(0,l.useMemo)(()=>({savedCustomReportId:a,setSavedCustomReportId:s,groupBy:r,setGroupBy:o,selectedFilters:c,setSelectedFilters:d,columnOrder:p,setColumnOrder:h,columnVisibility:g,setColumnVisibility:f,columnSizing:A,setColumnSizing:x,columnNameMapOverrides:T,setColumnNameMapOverrides:C}),[a,s,r,o,c,d,p,h,g,f,A,x,T,C]);return(0,n.jsx)(S.Provider,{value:v,children:t})},g=()=>{let e=(0,l.useContext)(S);if(!e||0===Object.keys(e).length)throw Error("useDatamapReport must be used within a DatamapReportProvider");return e};var f=a(59003),A=a(92222),x=a(47935),T=a(96306),C=a(34090),v=a(66726),R=a.n(v),O=a(16134),j=a(34929),b=a(14048),y=a(19904),D=a(16394),I=a(38943),N=a(35258),P=e=>{let{children:t,heading:a,onCancel:s,onConfirm:r,isLoading:i,cancelButtonText:o,continueButtonText:l,"data-testid":c="standard-dialog",...d}=e,{onClose:u}=d;return(0,n.jsxs)(T.u_l,{closeOnOverlayClick:i,...d,children:[(0,n.jsx)(T.ZAr,{}),(0,n.jsxs)(T.hzk,{"data-testid":c,children:[a&&(0,n.jsx)(T.xBx,{children:a}),(0,n.jsx)(T.olH,{isDisabled:i,"data-testid":"standard-dialog-close-btn"}),t&&(0,n.jsx)(T.fef,{children:t}),(0,n.jsxs)(T.mzw,{gap:3,width:"100%",sx:{"& button":{width:"100%"}},children:[(0,n.jsx)(T.wpx,{onClick:()=>{s&&s(),u()},"data-testid":"".concat(c?"".concat(c,"-"):"","cancel-btn"),disabled:i,children:o||"Cancel"}),(0,n.jsx)(T.wpx,{onClick:r,type:"primary","data-testid":"".concat(c?"".concat(c,"-"):"","continue-btn"),loading:i,children:l||"Continue"})]})]})]})},L=a(22968),w=e=>{let[t,a]=(0,l.useState)(L.T2.csv),{onConfirm:s}=e;return(0,n.jsx)(P,{heading:"Export report",continueButtonText:"Download",size:"xl",...e,onConfirm:()=>s(t),"data-testid":"export-modal",children:(0,n.jsxs)(T.kCb,{direction:"column",gap:3,pb:3,children:[(0,n.jsx)(T.xvT,{textAlign:"left",children:"Export your data map report using the options below. Depending on the number of rows, the file may take a few minutes to process."}),(0,n.jsxs)(T.NIc,{children:[(0,n.jsx)(T.lXp,{htmlFor:"format",children:"Choose Format"}),(0,n.jsx)(T.WPr,{id:"format",value:t,onChange:a,"data-testid":"export-format-select",options:[{value:L.T2.csv,label:"CSV"},{value:L.T2.xlsx,label:"XLSX"}],className:"w-full"})]})]})})},M=a(624),U=a(30002),k=a(28079),G=a(90673),Y=a(39864);let F=e=>{let{label:t,children:a,...s}=e;return(0,n.jsxs)(T.Qdk,{...s,children:[(0,n.jsx)(T.X6q,{children:(0,n.jsxs)(T.KFZ,{height:"100%","data-testid":"filter-modal-accordion-button",textAlign:"left",fontWeight:600,children:[(0,n.jsx)(T.xuv,{flex:1,children:t}),(0,n.jsx)(T.XEm,{boxSize:7})]})}),(0,n.jsx)(T.Hk3,{children:a})]})},H=e=>{let{columnNameMap:t,selectedFilters:a,onFilterChange:s,onClose:r,...i}=e;(0,k.fd)(),(0,U.te)(),(0,Y.MO)();let{dataUses:o,dataSubjects:c,dataCategories:d}=a,u=(0,O.C)(k.U3),_=(0,O.C)(U.ZL),p=(0,O.C)(Y.qb),[m,E]=(0,l.useState)(o),[S,h]=(0,l.useState)(c),[g,f]=(0,l.useState)(d);(0,l.useEffect)(()=>{E(o)},[o]),(0,l.useEffect)(()=>{h(c)},[c]),(0,l.useEffect)(()=>{f(d)},[d]);let A=(0,l.useMemo)(()=>(0,G.Cd)(u),[u]),x=(0,l.useMemo)(()=>(0,G.Cd)(_),[_]),C=(0,l.useMemo)(()=>(0,G.Cd)(p),[p]);return(0,n.jsx)(P,{heading:"Filter Datamap Report",...i,onCancel:()=>{E([]),h([]),f([]),s({dataUses:[],dataSubjects:[],dataCategories:[]}),r()},onConfirm:()=>{s({dataUses:m,dataSubjects:S,dataCategories:g}),r()},onClose:r,cancelButtonText:"Reset filters",continueButtonText:"Done","data-testid":"datamap-report-filter-modal",children:(0,n.jsxs)(T.UQy,{allowToggle:!0,children:[(0,n.jsx)(F,{label:t.data_uses,children:(0,n.jsx)(M.ZP,{nodes:A,selected:m,onSelected:E,"data-testid":"filter-modal-checkbox-tree-uses"})}),(0,n.jsx)(F,{label:t.data_categories,children:(0,n.jsx)(M.ZP,{nodes:C,selected:g,onSelected:f,"data-testid":"filter-modal-checkbox-tree-categories"})}),(0,n.jsx)(F,{label:t.data_subjects,children:(0,n.jsx)(M.ZP,{nodes:x,selected:S,onSelected:h,"data-testid":"filter-modal-checkbox-tree-subjects"})})]})})};var V=a(32885),B=a(812);let{useGetMinimalCustomReportsQuery:Z,useLazyGetCustomReportByIdQuery:z,usePostCustomReportMutation:q,useDeleteCustomReportMutation:W}=a(78780).u.injectEndpoints({endpoints:e=>({getMinimalCustomReports:e.query({query:e=>{let{pageIndex:t=1,pageSize:a=50,report_type:s=_.C2.DATAMAP}=e,r="page=".concat(t,"&size=").concat(a,"&report_type=").concat(s);return{url:"plus/custom-report/minimal?".concat(r)}},providesTags:["Custom Reports"]}),getCustomReportById:e.query({query:e=>({url:"plus/custom-report/".concat(e)}),providesTags:(e,t,a)=>[{type:"Custom Reports",id:a}]}),postCustomReport:e.mutation({query:e=>({method:"POST",url:"plus/custom-report",body:e}),invalidatesTags:["Custom Reports"]}),deleteCustomReport:e.mutation({query:e=>({method:"DELETE",url:"plus/custom-report/".concat(e)}),invalidatesTags:["Custom Reports"]})})});var J=a(55484),X=a(40324);let K="Report name",Q=e=>{let{isOpen:t,handleClose:a,tableStateToSave:s,columnMapToSave:r={},unavailableNames:i,onCreateCustomReport:o}=e,c=(0,T.pmc)(),[d]=q(),u=(0,l.useMemo)(()=>J.Ry().shape({reportName:J.Z_().label(K).required("Please provide a name for this report").test("is-unique","",async(e,t)=>null==i||!i.includes(e)||t.createError({message:"This name already exists"})).max(80,"Report name is too long (max 80 characters)")}),[i]),p=async e=>{var t;let i={};Object.entries(r).forEach(e=>{let[t,a]=e;i[t]={label:a,enabled:!0}}),Object.entries(null!==(t=null==s?void 0:s.columnVisibility)&&void 0!==t?t:{}).forEach(e=>{let[t,a]=e;i[t]||(i[t]={}),i[t].enabled=a});try{let t={name:e.trim(),type:_.C2.DATAMAP,config:{column_map:i,table_state:s}},r=await d(t);if((0,B.D4)(r))throw r.error;o(r.data),a()}catch(e){c({status:"error",description:(0,B.e$)(e,"A problem occurred while creating the report.")})}};return(0,n.jsxs)(T.u_l,{size:"lg",isOpen:t,onClose:a,motionPreset:"none",children:[(0,n.jsx)(T.ZAr,{}),(0,n.jsxs)(T.hzk,{children:[(0,n.jsx)(T.xBx,{pb:0,children:"Create a report"}),(0,n.jsx)(C.J9,{initialValues:{reportName:""},onSubmit:e=>p(e.reportName),onReset:a,validateOnBlur:!1,validationSchema:u,children:e=>{let{dirty:t,isValid:a}=e;return(0,n.jsxs)(C.l0,{"data-testid":"custom-report-form",children:[(0,n.jsxs)(T.fef,{children:[(0,n.jsx)(T.xvT,{fontSize:"sm",color:"gray.600",pb:6,children:"Customize and save your current filter settings for easy access in the future. This saved report will include the column layout and currently applied filter settings."}),(0,n.jsx)(X.j0,{id:"reportName",name:"reportName",isRequired:!0,label:K,placeholder:"Enter a name for the report...",variant:"stacked",maxLength:80})]}),(0,n.jsxs)(T.mzw,{gap:2,children:[(0,n.jsx)(T.wpx,{size:"small",htmlType:"reset",children:"Cancel"}),(0,n.jsx)(T.wpx,{size:"small",disabled:!t||!a,type:"primary","data-testid":"custom-report-form-submit",htmlType:"submit",children:"Save"})]})]})}})]})]})},$="Report",ee="Reports",et=e=>{var t;let{reportType:a,savedReportId:s,tableStateToSave:r,currentColumnMap:i,onCustomReportSaved:o,onSavedReportDeleted:c}=e,d=(0,y.Tg)([_.Sh.CUSTOM_REPORT_CREATE]),u=(0,y.Tg)([_.Sh.CUSTOM_REPORT_DELETE]),p=(0,T.pmc)({id:"custom-report-toast"}),{data:m,isLoading:E}=Z({report_type:a}),[S,h]=(0,l.useState)(),[g]=z(),[f]=W(),{isOpen:A,onOpen:x,onClose:v}=(0,T.qY0)(),{isOpen:R,onOpen:O,onClose:j}=(0,T.qY0)(),{isOpen:b,onOpen:D,onClose:I}=(0,T.qY0)(),[N,P]=(0,l.useState)(),[L,w]=(0,l.useState)(),[M,U]=(0,l.useState)(),[k,G]=(0,l.useState)(!1),{resetForm:Y}=(0,C.u6)(),F=(0,l.useMemo)(()=>{var e;let t=null==m?void 0:null===(e=m.items.find(e=>e.id===s))||void 0===e?void 0:e.name;return null!=t?t:ee},[null==m?void 0:m.items,s]),H=!E&&!(null==m?void 0:null===(t=m.items)||void 0===t?void 0:t.length),V=e=>{h(null==m?void 0:m.items.filter(t=>t.name.toLowerCase().includes(e.toLowerCase())))},q=async e=>{P(e);let{data:t,isError:a,error:s}=await g(e);if(a){let e=(0,B.e$)(s,"A problem occurred while fetching the ".concat($,"."));e.includes("not found")&&c(),p({status:"error",description:e})}else w(t)},J=()=>{P(""),w(void 0),G(!1)},X=()=>{L?(G(!1),L.id!==s&&o(L,Y),v()):N?G(!0):(o(null,Y),v())},K=async e=>{e===(null==L?void 0:L.id)&&(J(),c()),f(e)};(0,l.useEffect)(()=>{m&&h(m.items)},[m]),(0,l.useEffect)(()=>{k&&(G(!1),X())},[L]),(0,l.useEffect)(()=>{s?q(s):J()},[s]),(0,l.useEffect)(()=>{M&&D()},[D,M]);let et=!L&&!s||(null==L?void 0:L.id)===s,ea=(0,n.jsx)("div",{"data-testid":"custom-reports-popover",children:(0,n.jsx)(C.J9,{initialValues:{},onSubmit:X,onReset:J,children:(0,n.jsxs)(C.l0,{children:[(0,n.jsxs)("div",{className:"relative p-3",style:{borderBottom:"var(--ant-popover-title-border-bottom)"},children:[(0,n.jsx)(T.wpx,{size:"small",disabled:H,htmlType:"reset",className:"absolute left-3 top-3","data-testid":"custom-reports-reset-button",children:"Reset"}),(0,n.jsx)(T.wpx,{type:"text",size:"small",icon:(0,n.jsx)(T.PJP.x8P,{}),className:"absolute right-3 top-3",onClick:()=>{s?q(s):J(),v()},"data-testid":"custom-report-popover-cancel"}),(0,n.jsx)("div",{className:"text-center",style:{color:"var(--ant-color-text-heading)",fontWeight:"var(--ant-font-weight-strong)"},children:ee}),(0,n.jsx)("div",{className:"mt-3",children:(0,n.jsx)(T.uFc,{size:"small",placeholder:"Search...",onChange:e=>V(e.target.value)})})]}),(0,n.jsxs)("div",{className:"px-5 pb-1 pt-3",children:[H&&(0,n.jsx)(T.oj8,{image:(0,n.jsx)(T.wpx,{type:"primary",shape:"circle",size:"small","aria-label":"add ".concat($),icon:(0,n.jsx)(T.PJP.mm_,{}),onClick:O,"data-testid":"add-report-button"}),description:"No ".concat(ee.toLowerCase()," have been created. Start by applying your preferred filter and column settings, then create a ").concat($.toLowerCase()," for easy access later."),styles:{image:{height:"24px"}},"data-testid":"custom-reports-empty-state"}),!H&&(E?(0,n.jsx)(T.N_L,{active:!0,paragraph:{rows:3,width:"100%"},title:!1,className:"pt-2"}):(0,n.jsx)(T.y02.Group,{onChange:e=>q(e.target.value),value:N,style:{width:"100%"},children:(0,n.jsx)(T.vyj,{direction:"vertical",className:"w-full",size:"small",children:null==S?void 0:S.map(e=>(0,n.jsxs)(T.jqI,{justify:u?"space-between":"flex-start",align:"center",children:[(0,n.jsx)(T.y02,{value:e.id,name:"custom-report-id","data-testid":"custom-report-item",children:e.name}),u&&(0,n.jsx)(T.wpx,{type:"text",size:"small",icon:(0,n.jsx)(T.PJP.ZNm,{}),onClick:()=>U(e),"data-testid":"delete-report-button"})]},e.id))})}))]}),(0,n.jsxs)(T.jqI,{className:"px-5 py-4",gap:"small",children:[d&&r&&(0,n.jsxs)(T.wpx,{size:"small",onClick:O,className:"flex-1 gap-1 pl-0","data-testid":"create-report-button",htmlType:"button",icon:(0,n.jsx)(T.PJP.mm_,{}),iconPosition:"start",children:["Create ",$.toLowerCase()]}),(0,n.jsx)(T.wpx,{size:"small",type:"primary",loading:k,disabled:et,className:"flex-1","data-testid":"apply-report-button",htmlType:"submit",children:"Apply"})]})]})})});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(T.bPF,{content:ea,trigger:"click",placement:"bottomRight",open:A,onOpenChange:e=>{e?x():X()},styles:{root:{width:"320px","--ant-popover-inner-content-padding":"0"}},zIndex:1400,children:(0,n.jsx)(T.wpx,{className:"max-w-40",icon:(0,n.jsx)(T.v4q,{}),iconPosition:"end","data-testid":"custom-reports-trigger",children:(0,n.jsx)(T.lKn,{ellipsis:!0,children:F})})}),(0,n.jsx)(Q,{isOpen:R,handleClose:()=>{j(),setTimeout(()=>{x()},100)},tableStateToSave:r,columnMapToSave:i,unavailableNames:null==m?void 0:m.items.map(e=>e.name),onCreateCustomReport:e=>o(e,Y)}),(0,n.jsx)(T.cVQ,{isOpen:b,onClose:()=>{U(void 0),I()},onConfirm:()=>{M&&K(M.id),I()},title:"Delete ".concat($),message:(0,n.jsxs)(T.lKn,{children:["You are about to permanently delete the"," ",$.toLowerCase()," named"," ",(0,n.jsx)("strong",{children:null==M?void 0:M.name}),". Are you sure you would like to continue?"]})})]})};var ea=a(19785),es=a.n(ea),er=a(55807),ei=a.n(er),eo=a(32526),en=a.n(eo),el=a(72625),ec=a(43862);let ed=(0,A.Cl)(),eu=(e,t)=>({cell:e=>(0,n.jsx)(x.G3,{value:e.getValue()}),header:a=>{let s={};return Object.keys(e).forEach(t=>{"string"==typeof e[t]?s[t]=e[t]:e[t].label&&(s[t]=e[t].label||"")}),(0,n.jsx)(el.Hm,{value:(0,ec.AH)({columnId:a.column.id,columnNameMap:s}),defaultValue:p[a.column.id]||(0,ec.AH)({columnId:a.column.id}),isEditing:t,...a})}}),e_=(e,t)=>{var a;let s=(null==e?void 0:null===(a=e.items)||void 0===a?void 0:a.length)?Object.keys(e.items[0]):[],r=Object.values(o);return s.filter(e=>!r.includes(e)).filter(e=>e.startsWith("privacy_declaration_")||e.startsWith("system_")).map(e=>{let a=t.find(t=>e.includes(en()(t.name)));return ed.accessor(t=>t[e],{id:e,cell:e=>Array.isArray(e.getValue())?(0,n.jsx)(x.WP,{value:e.getValue(),ignoreZero:!0,...e}):(0,n.jsx)(x.G3,{value:e.getValue()}),meta:{showHeaderMenu:(null==a?void 0:a.field_type)==="string[]"}})})},ep=e=>{let{onSelectRow:t,getDataUseDisplayName:a,getDataCategoryDisplayName:s,getDataSubjectDisplayName:r,datamapReport:i,customFields:l,isRenaming:c=!1}=e,d=e_(i,l);return[ed.accessor(e=>e.system_name,{enableGrouping:!0,id:o.SYSTEM_NAME,meta:{onCellClick:t}}),ed.accessor(e=>e.data_uses,{id:o.DATA_USE,cell:e=>{let t=e.getValue();return(0,n.jsx)(x.WP,{suffix:"data uses",ignoreZero:!0,value:es()(t)?ei()(t,a):a(t||""),tagProps:{color:"white"},...e})},meta:{width:"auto"}}),ed.accessor(e=>e.data_categories,{id:o.DATA_CATEGORY,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.data_subjects,{id:o.DATA_SUBJECT,cell:e=>{let t=e.getValue();return(0,n.jsx)(x.WP,{suffix:"data subjects",ignoreZero:!0,value:es()(t)?ei()(t,r):r(t||""),tagProps:{color:"white"},...e})},meta:{showHeaderMenu:!c}}),ed.accessor(e=>e.legal_name,{id:o.LEGAL_NAME}),ed.accessor(e=>e.dpo,{id:o.DPO}),ed.accessor(e=>e.legal_basis_for_processing,{id:o.LEGAL_BASIS_FOR_PROCESSING}),ed.accessor(e=>e.administrating_department,{id:o.ADMINISTRATING_DEPARTMENT}),ed.accessor(e=>e.cookie_max_age_seconds,{id:o.COOKIE_MAX_AGE_SECONDS}),ed.accessor(e=>e.privacy_policy,{id:o.PRIVACY_POLICY}),ed.accessor(e=>e.legal_address,{id:o.LEGAL_ADDRESS}),ed.accessor(e=>e.cookie_refresh,{id:o.COOKIE_REFRESH}),ed.accessor(e=>e.data_security_practices,{id:o.DATA_SECURITY_PRACTICES}),ed.accessor(e=>e.data_shared_with_third_parties,{id:o.DATA_SHARED_WITH_THIRD_PARTIES}),ed.accessor(e=>e.processes_special_category_data,{id:o.PROCESSES_SPECIAL_CATEGORY_DATA}),ed.accessor(e=>e.data_stewards,{id:o.DATA_STEWARDS,cell:e=>(0,n.jsx)(x.WP,{suffix:"data stewards",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.declaration_name,{id:o.DECLARATION_NAME}),ed.accessor(e=>e.does_international_transfers,{id:o.DOES_INTERNATIONAL_TRANSFERS}),ed.accessor(e=>e.dpa_location,{id:o.DPA_LOCATION}),ed.accessor(e=>e.egress,{id:o.DESTINATIONS,cell:e=>(0,n.jsx)(x.WP,{suffix:"destinations",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.exempt_from_privacy_regulations,{id:o.EXEMPT_FROM_PRIVACY_REGULATIONS}),ed.accessor(e=>e.features,{id:o.FEATURES,cell:e=>(0,n.jsx)(x.WP,{suffix:"features",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.fides_key,{id:o.FIDES_KEY}),ed.accessor(e=>e.flexible_legal_basis_for_processing,{id:o.FLEXIBLE_LEGAL_BASIS_FOR_PROCESSING}),ed.accessor(e=>e.impact_assessment_location,{id:o.IMPACT_ASSESSMENT_LOCATION}),ed.accessor(e=>e.ingress,{id:o.SOURCES,cell:e=>(0,n.jsx)(x.WP,{suffix:"sources",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.joint_controller_info,{id:o.JOINT_CONTROLLER_INFO}),ed.accessor(e=>e.legal_basis_for_profiling,{id:o.LEGAL_BASIS_FOR_PROFILING,cell:e=>(0,n.jsx)(x.WP,{suffix:"profiles",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.legal_basis_for_transfers,{id:o.LEGAL_BASIS_FOR_TRANSFERS,cell:e=>(0,n.jsx)(x.WP,{suffix:"transfers",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.legitimate_interest_disclosure_url,{id:o.LEGITIMATE_INTEREST_DISCLOSURE_URL}),ed.accessor(e=>e.processes_personal_data,{id:o.PROCESSES_PERSONAL_DATA}),ed.accessor(e=>e.reason_for_exemption,{id:o.REASON_FOR_EXEMPTION}),ed.accessor(e=>e.requires_data_protection_assessments,{id:o.REQUIRES_DATA_PROTECTION_ASSESSMENTS}),ed.accessor(e=>e.responsibility,{id:o.RESPONSIBILITY,cell:e=>(0,n.jsx)(x.WP,{suffix:"responsibilities",ignoreZero:!0,value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.retention_period,{id:o.RETENTION_PERIOD}),ed.accessor(e=>e.shared_categories,{id:o.SHARED_CATEGORIES,cell:e=>(0,n.jsx)(x.WP,{suffix:"shared categories",ignoreZero:!0,value:e.getValue(),tagProps:{color:"white"},...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.special_category_legal_basis,{id:o.SPECIAL_CATEGORY_LEGAL_BASIS}),ed.accessor(e=>e.third_parties,{id:o.THIRD_PARTIES}),ed.accessor(e=>e.system_undeclared_data_categories,{id:o.SYSTEM_UNDECLARED_DATA_CATEGORIES,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.data_use_undeclared_data_categories,{id:o.DATA_USE_UNDECLARED_DATA_CATEGORIES,cell:e=>{let t=e.getValue();if(!t||0===t.length)return null;let a=es()(t)?t.map(e=>({label:s(e),key:e})):[{label:s(t),key:t}];return(0,n.jsx)(el.mb,{values:a,cellProps:e})},meta:{showHeaderMenu:!c,showHeaderMenuWrapOption:!0,width:"auto",overflow:"hidden"}}),ed.accessor(e=>e.cookies,{id:o.COOKIES,cell:e=>(0,n.jsx)(x.WP,{ignoreZero:!0,suffix:"cookies",value:e.getValue(),...e}),meta:{showHeaderMenu:!c,width:"auto"}}),ed.accessor(e=>e.uses_cookies,{id:o.USES_COOKIES}),ed.accessor(e=>e.uses_non_cookie_access,{id:o.USES_NON_COOKIE_ACCESS}),ed.accessor(e=>e.uses_profiling,{id:o.USES_PROFILING}),...d]},em=e=>{let{columnNameMapOverrides:t,setColumnNameMapOverrides:a,setSavedCustomReportId:s,setIsRenamingColumns:r}=e,{submitForm:i,resetForm:o}=(0,C.u6)();return(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(T.wpx,{size:"small","data-testid":"rename-columns-reset-btn",onClick:()=>{a({}),s(""),o({values:{}}),r(!1)},children:"Reset all"}),(0,n.jsx)(T.wpx,{size:"small","data-testid":"rename-columns-cancel-btn",onClick:()=>{o({values:t}),r(!1)},children:"Cancel"}),(0,n.jsx)(T.wpx,{size:"small",type:"primary",htmlType:"submit","data-testid":"rename-columns-apply-btn",onClick:i,children:"Apply"})]})},eE=e=>e===_.fI.DATA_USE_SYSTEM?[o.DATA_USE]:[o.SYSTEM_NAME],eS=e=>{let t=[];return _.fI.SYSTEM_DATA_USE===e&&(t=[o.SYSTEM_NAME,o.DATA_USE]),_.fI.DATA_USE_SYSTEM===e&&(t=[o.DATA_USE,o.SYSTEM_NAME]),t},eh=(e,t)=>eS(e).concat(t.filter(e=>e!==o.SYSTEM_NAME&&e!==o.DATA_USE)),eg={items:[],total:0,page:1,size:25,pages:1},ef=()=>{let e=(0,y.Tg)([_.Sh.CUSTOM_REPORT_READ]),{isLoading:t}=(0,V.x8)(),{PAGE_SIZES:a,pageSize:s,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:c,onNextPageClick:d,isNextPageDisabled:u,startRange:S,endRange:h,pageIndex:v,setTotalPages:P,resetPageIndexToDefault:L}=(0,x.oi)(),M=(0,T.pmc)({id:"datamap-report-toast"}),{isOpen:U,onClose:k,onOpen:G}=(0,T.qY0)(),{getDataUseDisplayName:Y,getDataCategoryDisplayName:F,getDataSubjectDisplayName:B,isLoading:Z}=(0,j.Z)(),[z,q]=(0,l.useState)(),{savedCustomReportId:W,setSavedCustomReportId:J,groupBy:X,setGroupBy:K,selectedFilters:Q,setSelectedFilters:$,columnOrder:ee,setColumnOrder:ea,columnVisibility:es,setColumnVisibility:er,columnSizing:ei,setColumnSizing:eo,columnNameMapOverrides:en,setColumnNameMapOverrides:el}=g(),[ec,ed]=(0,l.useState)(!1),e_=e=>{J(""),K(e),ed(!0),L()},[ef,eA]=(0,l.useState)(""),ex=(0,l.useCallback)(e=>{L(),eA(e)},[L,eA]),eT={pageIndex:v,pageSize:s,groupBy:X,search:ef,dataUses:(0,D.du)(Q.dataUses,"data_uses"),dataSubjects:(0,D.du)(Q.dataSubjects,"data_subjects"),dataCategories:(0,D.du)(Q.dataCategories,"data_categories")},{data:eC,isLoading:ev,isFetching:eR}=(0,I.tH)(eT),[eO,{isLoading:ej,isError:eb}]=(0,I.Eo)(),{data:ey,totalRows:eD}=(0,l.useMemo)(()=>{let e=eC||eg,t=e.items;return ec&&ed(!1),P(e.pages),{totalRows:e.total,data:t}},[eC]);(0,V.GH)();let eI=(0,O.C)(V.fN),[eN,eP]=(0,l.useState)(!1),eL=(0,l.useMemo)(()=>eC?ep({onSelectRow:e=>q(e.fides_key),getDataUseDisplayName:Y,getDataCategoryDisplayName:F,getDataSubjectDisplayName:B,datamapReport:eC,customFields:eI,isRenaming:eN}):[],[Y,B,F,eC,eI,eN]),{isOpen:ew,onOpen:eM,onClose:eU}=(0,T.qY0)(),{isOpen:ek,onOpen:eG,onClose:eY}=(0,T.qY0)(),eF=(0,f.b7)({getCoreRowModel:(0,A.sC)(),getGroupedRowModel:(0,A.qe)(),getExpandedRowModel:(0,A.rV)(),manualPagination:!0,enableColumnResizing:!0,columnResizeMode:"onChange",columns:eL,defaultColumn:eu({...p,...en},eN),data:ey,initialState:{expanded:!0,columnSizing:ei,columnOrder:ee,columnVisibility:es,grouping:eE(X)}});(0,l.useEffect)(()=>{X&&eF&&eC&&(0===eF.getState().columnOrder.length?ea(eh(X,eF.getAllColumns().map(e=>e.id))):ea(eh(X,eF.getState().columnOrder)))},[X,eF,eC]),(0,l.useEffect)(()=>{let e=eE(X);eC&&eF.setGrouping(e)},[eC]);let eH=(0,l.useMemo)(()=>R()(eo,300),[eo]);(0,l.useEffect)(()=>{let e=eF.getState().columnSizing;e&&eH(e)},[eF.getState().columnSizing]);let eV=(e,t)=>{if(e||W){if(!e){try{J(""),er(m),eF.toggleAllColumnsVisible(!0),eF.setColumnVisibility(m),ea([]),eF.setColumnOrder([]),K(_.fI.SYSTEM_DATA_USE),$(E),el({}),t({values:{}})}catch(e){M({status:"error",description:"There was a problem resetting the report."})}return}try{var a,s,r,i;if(null===(a=e.config)||void 0===a?void 0:a.table_state){let{groupBy:t,filters:a,columnOrder:s}=e.config.table_state,i={};Object.entries(null!==(r=e.config.column_map)&&void 0!==r?r:{}).forEach(e=>{let[t,a]=e;i[t]=a.enabled||!1}),t&&K(t),a&&$(a),s&&(ea(s),eF.setColumnOrder(s)),i&&(er(i),eF.setColumnVisibility(i))}if(null===(s=e.config)||void 0===s?void 0:s.column_map){let a={};Object.entries(null!==(i=e.config.column_map)&&void 0!==i?i:{}).forEach(e=>{let[t,s]=e;s.label&&(a[t]=s.label)}),el(a),t({values:a})}J(e.id),M({status:"success",description:"Report applied successfully."})}catch(e){M({status:"error",description:"There was a problem applying report."})}}};return ev||t||Z?(0,n.jsx)(x.I4,{rowHeight:36,numRows:15}):(0,n.jsxs)(T.kCb,{flex:1,direction:"column",overflow:"auto",children:[(0,n.jsx)(H,{columnNameMap:{...p,...en},selectedFilters:Q,isOpen:U,onClose:k,onFilterChange:e=>{J(""),$(e)}}),(0,n.jsx)(x.F1,{isOpen:ew,onClose:eU,headerText:"Columns",columnNameMap:{...p,...en},prefixColumns:eS(X),tableInstance:eF,savedCustomReportId:W,onColumnOrderChange:e=>{J(""),eF.setColumnOrder(e),ea(e)},onColumnVisibilityChange:e=>{J(""),eF.setColumnVisibility(e),er(e)}}),(0,n.jsx)(w,{isOpen:ek,onClose:eY,onConfirm:e=>{let t={};Object.entries(es).forEach(e=>{let[a,s]=e;t[a]={enabled:s}}),Object.entries(en).forEach(e=>{let[a,s]=e;if(t[a])t[a].label=s;else{var r;t[a]={label:s,enabled:null===(r=es[a])||void 0===r||r}}}),eO({...eT,format:e,report_id:W,report:{name:"",type:"datamap",config:{column_map:t,table_state:{groupBy:X,filters:Q,columnOrder:ee}}}}).then(()=>{eb||eY()})},isLoading:ej}),(0,n.jsx)(C.J9,{initialValues:en,onSubmit:e=>{J(""),el(e),eP(!1)},children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(x.Q$,{children:[(0,n.jsx)(x.HO,{globalFilter:ef,setGlobalFilter:ex,placeholder:"System name, Fides key, or ID"}),(0,n.jsxs)(T.kCb,{alignItems:"center",gap:2,children:[e&&(0,n.jsx)(et,{reportType:_.C2.DATAMAP,savedReportId:W,tableStateToSave:{groupBy:X,filters:Q,columnOrder:ee,columnVisibility:es},currentColumnMap:en,onCustomReportSaved:(e,t)=>eV(e,t),onSavedReportDeleted:()=>{J("")}}),(0,n.jsxs)(T.v2r,{children:[(0,n.jsxs)(T.j2t,{as:T.wpx,icon:(0,n.jsx)(T.v4q,{}),iconPosition:"end",loading:ec,"data-testid":"group-by-menu",children:["Group by ",(()=>{switch(X){case _.fI.SYSTEM_DATA_USE:return"system";case _.fI.DATA_USE_SYSTEM:return"data use";default:return"system"}})()]}),(0,n.jsxs)(T.qyq,{zIndex:11,"data-testid":"group-by-menu-list",children:[(0,n.jsx)(T.iiZ,{onClick:()=>{e_(_.fI.SYSTEM_DATA_USE)},isChecked:_.fI.SYSTEM_DATA_USE===X,value:_.fI.SYSTEM_DATA_USE,"data-testid":"group-by-system-data-use",children:"System"}),(0,n.jsx)(T.iiZ,{onClick:()=>{e_(_.fI.DATA_USE_SYSTEM)},isChecked:_.fI.DATA_USE_SYSTEM===X,value:_.fI.DATA_USE_SYSTEM,"data-testid":"group-by-data-use-system",children:"Data use"})]})]}),(0,n.jsx)(T.wpx,{"data-testid":"filter-multiple-systems-btn",onClick:G,children:"Filter"}),(0,n.jsx)(T.wpx,{"aria-label":"Export report","data-testid":"export-btn",onClick:eG,icon:(0,n.jsx)(b.nM,{ml:"1.5px"})}),(0,n.jsxs)(T.v2r,{placement:"bottom-end",children:[(0,n.jsx)(T.j2t,{as:T.wpx,icon:(0,n.jsx)(T.nXP,{className:"rotate-90"}),"data-testid":"more-menu","aria-label":"More options",className:"w-6 gap-0"}),(0,n.jsxs)(T.qyq,{"data-testid":"more-menu-list",children:[(0,n.jsx)(T.sNh,{onClick:eM,"data-testid":"edit-columns-btn",children:"Edit columns"}),(0,n.jsx)(T.sNh,{onClick:()=>eP(!0),"data-testid":"rename-columns-btn",children:"Rename columns"})]})]}),eN&&(0,n.jsx)(em,{columnNameMapOverrides:en,setColumnNameMapOverrides:el,setSavedCustomReportId:J,setIsRenamingColumns:eP})]})]}),(0,n.jsx)(C.l0,{children:(0,n.jsx)(x.ZK,{tableInstance:eF,columnExpandStorageKey:i.COLUMN_EXPANSION_STATE,columnWrapStorageKey:i.WRAPPING_COLUMNS})})]})}),(0,n.jsx)(x.s8,{totalRows:eD||0,pageSizes:a,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:c||eR,onNextPageClick:d,isNextPageDisabled:u||eR,startRange:S,endRange:h}),(0,n.jsx)(N.Z,{selectedSystemId:z,resetSelectedSystemId:()=>q(void 0)})]})};var eA=()=>(0,n.jsxs)(c.Z,{title:"Datamap Report",children:[(0,n.jsx)(d.Z,{"data-testid":"datamap-report-heading",heading:"Data map report"}),(0,n.jsx)(h,{children:(0,n.jsx)(ef,{})})]})}},function(e){e.O(0,[431,8765,9278,5163,9187,4164,9951,5258,2888,9774,179],function(){return e(e.s=86548)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5135],{77713:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings/consent/[configuration_id]/[purpose_id]",function(){return i(80758)}])},59301:function(e,t,i){"use strict";var r=i(24246);let{Link:n}=i(96306).AntTypography;t.Z=e=>(0,r.jsx)(n,{target:"_blank",rel:"noopener noreferrer",...e})},35287:function(e,t,i){"use strict";var r=i(24246),n=i(96306),s=i(88038),o=i.n(s);i(27378),t.Z=e=>{let{children:t,title:i,mainProps:s}=e;return(0,r.jsxs)(n.kCb,{"data-testid":i,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,r.jsxs)(o(),{children:[(0,r.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,r.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,r.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,r.jsx)(n.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...s,children:t})]})}},58754:function(e,t,i){"use strict";var r=i(24246),n=i(96306),s=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:o=!0,children:d,rightContent:l,style:a,...c}=e;return(0,r.jsxs)("div",{...c,style:o?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...a}:{paddingBottom:"24px",...a},children:[(0,r.jsxs)(n.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(n.lQT,{className:i||d?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,l&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,r.jsx)(s.m,{className:d?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),d]})}},97181:function(e,t,i){"use strict";i.d(t,{d:function(){return a}});var r=i(24246),n=i(96306),s=i(34090),o=i(27378),d=i(46238),l=i(40324);let a=e=>{let{name:t,label:i,labelProps:a,tooltip:c,isRequired:u,layout:p="inline",helperText:h,...v}=e,[_,m,{setValue:x}]=(0,s.U$)(t),f=!!(m.touched&&m.error),[g,R]=(0,o.useState)("");_.value||"tags"!==v.mode&&"multiple"!==v.mode||(_.value=[]),"tags"===v.mode&&"string"==typeof _.value&&(_.value=[_.value]);let j="tags"===v.mode?(e,t)=>e?e.value!==g||_.value.includes(g)?v.optionRender?v.optionRender(e,t):e.label:'Create "'.concat(g,'"'):void 0:v.optionRender||void 0,I=e=>{R(e),v.onSearch&&v.onSearch(e)},E=(e,t)=>{x(e),v.onChange&&v.onChange(e,t)};return"inline"===p?(0,r.jsx)(n.NIc,{isInvalid:f,isRequired:u,children:(0,r.jsxs)(n.rjZ,{templateColumns:i?"1fr 3fr":"1fr",children:[i?(0,r.jsx)(l.__,{htmlFor:v.id||t,...a,children:i}):null,(0,r.jsxs)(n.jqI,{align:"center",children:[(0,r.jsxs)(n.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,r.jsx)(n.WPr,{..._,id:v.id||t,"data-testid":"controlled-select-".concat(_.name),...v,optionRender:j,onSearch:"tags"===v.mode?I:void 0,onChange:E,value:_.value||void 0,status:f?"error":void 0}),h&&(0,r.jsx)(n.Q6r,{children:h}),(0,r.jsx)(l.Bc,{isInvalid:f,message:m.error,fieldName:_.name})]}),(0,r.jsx)(d.b,{label:c,className:f?"mt-2 self-start":void 0})]})]})}):(0,r.jsx)(n.NIc,{isInvalid:f,isRequired:u,children:(0,r.jsxs)(n.gCW,{alignItems:"start",children:[(0,r.jsxs)(n.jqI,{align:"center",children:[i?(0,r.jsx)(l.__,{htmlFor:v.id||t,fontSize:"xs",my:0,mr:1,...a,children:i}):null,(0,r.jsx)(d.b,{label:c})]}),(0,r.jsx)(n.WPr,{..._,id:v.id||t,"data-testid":"controlled-select-".concat(_.name),...v,optionRender:j,onSearch:"tags"===v.mode?I:void 0,onChange:E,value:_.value||void 0,status:f?"error":void 0}),h&&(0,r.jsx)(n.Q6r,{style:{marginTop:0},children:h}),(0,r.jsx)(l.Bc,{isInvalid:f,message:m.error,fieldName:_.name})]})})}},8133:function(e,t,i){"use strict";var r=i(24246),n=i(96306);t.Z=e=>{let{title:t,children:i,isOpen:s,onClose:o,modalContentProps:d,showCloseButton:l=!1,footer:a,...c}=e;return(0,r.jsxs)(n.u_l,{isOpen:s,onClose:o,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...c,children:[(0,r.jsx)(n.ZAr,{}),(0,r.jsxs)(n.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",...d,children:[l&&(0,r.jsx)(n.olH,{}),(0,r.jsx)(n.xBx,{p:0,children:(0,r.jsx)(n.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",children:(0,r.jsx)(n.X6q,{as:"h3",size:"sm",children:t})})}),(0,r.jsx)(n.fef,{pb:4,overflow:"auto",children:i}),a&&(0,r.jsx)(n.mzw,{children:a})]})]})}},70788:function(e,t,i){"use strict";i.d(t,{m:function(){return a}});var r=i(24246),n=i(96306),s=i(79894),o=i.n(s),d=i(27378);let{Text:l}=n.AntTypography,a=e=>{let{items:t,...i}=e,s=(0,d.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let s=i===t.length-1,d={...e},a=d.onClick&&!d.href;return("string"==typeof d.title&&(d.title=(0,r.jsx)(l,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,id:s?"breadcrumb-current-page":void 0,children:d.title})),a)?d.title=(0,r.jsx)(n.wpx,{type:"text",size:"small",icon:d.icon,onClick:d.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:d.title}):(d.icon&&(d.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:d.icon}),d.title]})),d.href&&d.title&&(d.title=(0,r.jsx)(o(),{href:d.href,className:"ant-breadcrumb-link",children:d.title}),delete d.href)),d}),[t]);return(0,r.jsx)(n.zrq,{items:s,...i})}},6675:function(e,t,i){"use strict";i.d(t,{ZS:function(){return d},a4:function(){return s}});var r=i(3228);let n=i(78780).u.injectEndpoints({endpoints:e=>({getPurposes:e.query({query:()=>"purposes"})})}),{useGetPurposesQuery:s}=n,o={purposes:{},special_purposes:{}},d=(0,r.P1)(n.endpoints.getPurposes.select(),e=>{let{data:t}=e;return t||o})},51263:function(e,t,i){"use strict";var r=i(24246),n=i(96306);t.Z=e=>{let{title:t,children:i,...s}=e;return(0,r.jsxs)(n.xuv,{backgroundColor:"var(--fidesui-bg-corinth)",borderRadius:"4px",padding:"3","data-testid":"setting-".concat(t),...s,children:[(0,r.jsx)(n.xvT,{as:"h3",fontSize:"md",fontWeight:"bold",lineHeight:5,color:"gray.700",mb:3,children:t}),i]})}},59512:function(e,t,i){"use strict";i.d(t,{Cu:function(){return d},Py:function(){return n},fj:function(){return o},uh:function(){return s}});var r=i(54682);let n=[1,3,4,5,6],s="https://ethyca.com/docs/tutorials/consent-management/consent-management-configuration/configure-tcf#vendor-overrides",o={[r.FF.PURPOSE_RESTRICTION]:"Purpose restriction",[r.FF.REQUIRE_CONSENT]:"Require consent",[r.FF.REQUIRE_LEGITIMATE_INTEREST]:"Require legitimate interest"},d={[r.PY.RESTRICT_ALL_VENDORS]:"Restrict all vendors",[r.PY.RESTRICT_SPECIFIC_VENDORS]:"Restrict specific vendors",[r.PY.ALLOW_SPECIFIC_VENDORS]:"Allow specific vendors"}},80758:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return Z}});var r=i(24246),n=i(96306),s=i(86677),o=i(27378),d=i(59301),l=i(35287),a=i(58754),c=i(6675),u=i(51263),p=i(59512),h=i(59003),v=i(92222),_=i(47935),m=i(54682),x=i(34090),f=i(55484),g=i(97181),R=i(812),j=i(8133),I=i(46628),E=i(52955);let y=e=>{if(/^\d+$/.test(e))return!0;let t=e.match(/^(\d+)-(\d+)$/);return!!t&&parseInt(t[1],10)<parseInt(t[2],10)},C=e=>{if(/^\d+$/.test(e)){let t=parseInt(e,10);return{start:t,end:t}}let t=e.match(/^(\d+)-(\d+)$/);return t?{start:parseInt(t[1],10),end:parseInt(t[2],10)}:null},T=(e,t)=>e.end===e.start?e.start>=t.start&&(null===t.end||e.start<=t.end):t.end===t.start?t.start>=e.start&&(null===e.end||t.start<=e.end):null===e.end&&null!==t.end?e.start<=t.end:null===t.end&&null!==e.end?t.start<=e.end:null===e.end&&null===t.end||e.start<=t.end&&e.end>=t.start||t.start<=e.end&&t.end>=e.start,b=(e,t)=>e.end===e.start?e.start>=t.start&&(null===t.end||e.start<=t.end):null===t.end?e.start>=t.start:null!==e.end&&e.start>=t.start&&e.end<=t.end,S=(e,t,i,r)=>{var n;let s=t.filter(e=>e.purpose_id===i&&e.id!==r);if(!(null===(n=e.vendor_ids)||void 0===n?void 0:n.length))return!1;let o=e.vendor_ids.map(C).filter(e=>null!==e);return 0!==o.length&&s.some(t=>{let i=e.vendor_restriction===m.PY.RESTRICT_SPECIFIC_VENDORS&&t.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS||e.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS&&t.vendor_restriction===m.PY.RESTRICT_SPECIFIC_VENDORS,r=t.vendor_ids.map(C).filter(e=>null!==e);return i?e.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS?r.some(e=>o.some(t=>!b(e,t))):o.some(e=>r.some(t=>!b(e,t))):t.vendor_restriction===e.vendor_restriction&&o.some(e=>r.some(t=>T(e,t)))})},N=e=>{if(/^\d+$/.test(e))return{start_vendor_id:parseInt(e,10),end_vendor_id:null};let t=e.match(/^(\d+)-(\d+)$/);if(t){let e=parseInt(t[1],10),i=parseInt(t[2],10);if(e<i)return{start_vendor_id:e,end_vendor_id:i}}return null},F=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(N).filter(e=>null!==e)},w="This restriction type is already in use for this purpose",P={restriction_type:"",vendor_restriction:"",vendor_ids:[]},O=e=>{let{isOpen:t,onClose:i,initialValues:s=P,existingRestrictions:o=[],purposeId:d,restrictionId:l,configurationId:a}=e,c=(0,n.pmc)(),[u]=(0,E.a_)(),[h]=(0,E.h3)(),v=!(d&&p.Py.includes(+d)),_=o.filter(e=>e.id!==l).map(e=>e.restriction_type),C=[{value:m.FF.PURPOSE_RESTRICTION,label:p.fj[m.FF.PURPOSE_RESTRICTION],disabled:_.includes(m.FF.PURPOSE_RESTRICTION),title:_.includes(m.FF.PURPOSE_RESTRICTION)?w:void 0},{value:m.FF.REQUIRE_CONSENT,label:p.fj[m.FF.REQUIRE_CONSENT],disabled:_.includes(m.FF.REQUIRE_CONSENT),title:_.includes(m.FF.REQUIRE_CONSENT)?w:void 0},{value:m.FF.REQUIRE_LEGITIMATE_INTEREST,label:p.fj[m.FF.REQUIRE_LEGITIMATE_INTEREST],disabled:_.includes(m.FF.REQUIRE_LEGITIMATE_INTEREST),title:_.includes(m.FF.REQUIRE_LEGITIMATE_INTEREST)?w:void 0}],T=[{value:m.PY.RESTRICT_ALL_VENDORS,label:p.Cu[m.PY.RESTRICT_ALL_VENDORS],disabled:_.length>0,title:_.length>0?"Cannot restrict all vendors when other restrictions exist":void 0},{value:m.PY.RESTRICT_SPECIFIC_VENDORS,label:p.Cu[m.PY.RESTRICT_SPECIFIC_VENDORS]},{value:m.PY.ALLOW_SPECIFIC_VENDORS,label:p.Cu[m.PY.ALLOW_SPECIFIC_VENDORS]}],b=f.Ry().shape({restriction_type:f.Z_().required("Restriction type is required"),vendor_restriction:f.Z_().required("Vendor restriction is required"),vendor_ids:f.IX().when("vendor_restriction",{is:e=>e!==m.PY.RESTRICT_ALL_VENDORS,then:e=>e.required("At least one vendor ID is required").min(1,"At least one vendor ID is required").test("valid-format","Vendor IDs must be numbers or ranges (e.g., 10 or 15-300)",e=>{var t;return null===(t=null==e?void 0:e.every(e=>y(e)))||void 0===t||t}).test("no-conflicts","One or more of these vendors already have a restriction for this purpose. Please update the existing restriction or remove duplicates.",(e,t)=>!S({...t.parent,vendor_ids:e},o,d,l))})}),N=async e=>{try{let t={restriction_type:e.restriction_type,vendor_restriction:e.vendor_restriction,range_entries:e.vendor_restriction!==m.PY.RESTRICT_ALL_VENDORS?F(e.vendor_ids):[]},r={...t,purpose_id:null!=d?d:0};if(l){let e=await h({configuration_id:a,restriction_id:l,restriction:t});if((0,R.D4)(e)){c((0,I.Vo)("Failed to update restriction"));return}c((0,I.t5)("Restriction updated successfully"))}else{let e=await u({configuration_id:a,restriction:r});if((0,R.D4)(e)){c((0,I.Vo)("Failed to create restriction"));return}c((0,I.t5)("Restriction created successfully"))}i()}catch(e){c((0,I.Vo)("Failed to save restriction"))}};return(0,r.jsx)(j.Z,{isOpen:t,onClose:i,title:"Edit restriction",children:(0,r.jsx)(x.J9,{initialValues:{...s,restriction_type:v?s.restriction_type:m.FF.PURPOSE_RESTRICTION},onSubmit:N,validationSchema:b,children:e=>{let{values:t,validateField:s,setTouched:o}=e;return(0,r.jsx)(x.l0,{children:(0,r.jsxs)(n.jqI,{vertical:!0,className:"gap-6",children:[(0,r.jsx)(n.xvT,{className:"text-sm",children:"Define how specific vendors are restricted from processing data for this purpose. Select a restriction type, set whether the listed vendors are restricted or allowed, and specify which vendor IDs the restriction applies to."}),(0,r.jsx)(n.esZ,{title:v?void 0:"Non-flexible purposes only support Purpose restrictions and cannot be restricted by consent or legitimate interest settings.",children:(0,r.jsx)(g.d,{name:"restriction_type",label:"Restriction type",options:C,layout:"stacked",tooltip:"Choose how vendors are permitted to process data for this purpose. This setting overrides the vendor's declared legal basis in the Global Vendor List.",isRequired:!0,disabled:!v,className:"w-full"})}),(0,r.jsx)(g.d,{name:"vendor_restriction",label:"Vendor restriction",options:T,layout:"stacked",tooltip:"Decide if the restriction applies to all vendors, specific vendors, or if only certain vendors are allowed.",isRequired:!0}),(0,r.jsx)(n.UO1,{in:!!t.restriction_type&&!!t.vendor_restriction&&t.vendor_restriction!==m.PY.RESTRICT_ALL_VENDORS,animateOpacity:!0,children:(0,r.jsx)(g.d,{name:"vendor_ids",label:"Vendor IDs",mode:"tags",options:[],layout:"stacked",placeholder:"Enter vendor IDs",open:!1,suffixIcon:(0,r.jsx)("span",{}),tooltip:"List the specific vendors that are restricted or allowed from processing data for this purpose.",disabled:t.vendor_restriction===m.PY.RESTRICT_ALL_VENDORS,tokenSeparators:[","," "],onBlur:()=>{setTimeout(()=>{o({vendor_ids:!0}),s("vendor_ids")},100)},helperText:"Enter IDs (e.g. 123) or ranges (e.g. 1-10) and press enter",isRequired:!0})}),(0,r.jsxs)(n.jqI,{justify:"flex-end",className:"gap-3 pt-4",children:[(0,r.jsx)(n.wpx,{onClick:i,"data-testid":"cancel-restriction-button",children:"Cancel"}),(0,r.jsx)(n.wpx,{type:"primary",htmlType:"submit","data-testid":"save-restriction-button",children:"Save"})]})]})})}})})};var L=i(72625),q=i(58452);let A=e=>{let{currentValues:t,existingRestrictions:i}=e,[d,l]=(0,o.useState)(!1),[a,c]=(0,o.useState)(!1),u=(0,s.useRouter)(),p=(0,n.pmc)(),[h]=(0,E.FC)(),v=u.query.purpose_id?parseInt(u.query.purpose_id,10):void 0,_=u.query.configuration_id,m=async()=>{try{if(!(null==t?void 0:t.id))return;let e=await h({configuration_id:_,restriction_id:t.id});if((0,R.D4)(e)){p((0,I.Vo)("Failed to delete publisher restriction"));return}l(!1),p((0,I.t5)("Publisher restriction deleted successfully"))}catch(e){p((0,I.Vo)("Failed to delete publisher restriction"))}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.vyj,{children:[(0,r.jsx)(n.wpx,{size:"small",onClick:()=>c(!0),"data-testid":"edit-restriction-button",children:"Edit"}),(0,r.jsx)(n.wpx,{size:"small",onClick:()=>l(!0),"data-testid":"delete-restriction-button",children:"Delete"})]}),(0,r.jsx)(O,{isOpen:a,onClose:()=>c(!1),initialValues:t,existingRestrictions:i,purposeId:v,restrictionId:null==t?void 0:t.id,configurationId:_}),(0,r.jsx)(q.Z,{isOpen:d,onClose:()=>l(!1),onConfirm:m,title:"Confirm deletion",message:"Are you sure you want to delete this publisher restriction? This action cannot be undone.",cancelButtonText:"Cancel",continueButtonText:"Delete"})]})},D=(0,v.Cl)(),V=()=>(0,o.useMemo)(()=>[D.accessor(e=>e.restriction_type,{id:"restriction_type",cell:e=>{let{getValue:t}=e,i=t();return(0,r.jsx)(_.G3,{value:p.fj[i]})},header:e=>(0,r.jsx)(_.Rr,{value:"Restriction type",...e})}),D.accessor(e=>e.vendor_restriction,{id:"vendor_restriction",cell:e=>{let{getValue:t}=e,i=t();return(0,r.jsx)(_.G3,{value:p.Cu[i]})},header:e=>(0,r.jsx)(_.Rr,{value:"Vendor restriction",...e})}),D.accessor(e=>e.vendor_ids,{id:"vendor_ids",cell:e=>{let{getValue:t}=e;return(0,r.jsx)(_.G3,{value:t().join(", ")||"All vendors"})},header:e=>(0,r.jsx)(L.vs,{value:"Vendors",helperText:"Specify which vendors the restriction applies to. You can apply restrictions to all vendors, specific vendors by their IDs, or allow only certain vendors while restricting the rest.",...e})}),D.display({id:"actions",cell:e=>(0,r.jsx)(A,{currentValues:e.row.original,existingRestrictions:e.table.getRowModel().rows.map(e=>e.original)}),header:"Actions",size:154,meta:{disableRowClick:!0}})],[]),k=e=>{let{onAdd:t}=e;return(0,r.jsxs)(n.jqI,{vertical:!0,align:"center",className:"mt-6 w-full gap-3 self-center whitespace-normal py-10","data-testid":"empty-table-notice",children:[(0,r.jsx)(n.xvT,{fontSize:"md",fontWeight:"semibold",children:"Add a restriction"}),(0,r.jsx)(n.xvT,{fontSize:"sm",className:"max-w-[70%]",children:"No restrictions have been added. By default, all vendors follow their declared legal basis unless a restriction is applied—add a restriction to override this behavior."}),(0,r.jsx)(n.wpx,{type:"primary",onClick:t,children:"Add +"})]})},U=()=>{let[e,t]=(0,o.useState)(!1),i=V(),d=(0,s.useRouter)(),l=d.query.purpose_id?parseInt(d.query.purpose_id,10):void 0,a=d.query.configuration_id,{data:c,isFetching:u}=(0,E.a9)({configuration_id:a,purpose_id:null!=l?l:0},{skip:!a||!l}),p=((null==c?void 0:c.items)||[]).map(e=>{var t;return{id:e.id,restriction_type:e.restriction_type,vendor_restriction:e.vendor_restriction,vendor_ids:(null===(t=e.range_entries)||void 0===t?void 0:t.map(e=>e.end_vendor_id?"".concat(e.start_vendor_id,"-").concat(e.end_vendor_id):e.start_vendor_id.toString()))||[],purpose_id:e.purpose_id}}),x=p.some(e=>e.vendor_restriction===m.PY.RESTRICT_ALL_VENDORS),f=Object.values(m.FF).every(e=>p.some(t=>t.restriction_type===e)),g=(0,h.b7)({getCoreRowModel:(0,v.sC)(),columns:i,data:p,columnResizeMode:"onChange",manualPagination:!0}),R=()=>{t(!0)};return(0,r.jsxs)(n.jqI,{vertical:!0,className:"overflow-auto",children:[(0,r.jsxs)(_.Q$,{children:[(0,r.jsx)(n.LZC,{}),(0,r.jsx)(n.esZ,{title:x?'Each vendor must have a unique restriction type. When "Restrict all vendors" is active for any restriction type, no other restrictions can be added.':f?"Each purpose must have a unique restriction type. When all restriction types are active, no other restrictions can be added. Use the 'Edit' button to change the vendor restrictions on each type.":void 0,children:(0,r.jsx)(n.wpx,{type:"primary",onClick:R,disabled:x||f,"data-testid":"add-restriction-button",children:"Add restriction +"})})]}),u?(0,r.jsx)(_.I4,{rowHeight:36,numRows:3}):(0,r.jsx)(_.ZK,{tableInstance:g,emptyTableNotice:(0,r.jsx)(k,{onAdd:R})}),(0,r.jsx)(O,{isOpen:e,onClose:()=>{t(!1)},existingRestrictions:p,purposeId:l,configurationId:a})]})};var Z=()=>{let e=(0,s.useRouter)(),t=decodeURIComponent(e.query.configuration_id),i=decodeURIComponent(e.query.purpose_id),{data:h,isLoading:v}=(0,c.a4)(),{data:_}=(0,E.NZ)(t),m=(0,o.useMemo)(()=>null==h?void 0:h.purposes[i],[h,i]);return(0,r.jsxs)(l.Z,{title:"Consent Configuration",children:[(0,r.jsx)(a.Z,{heading:"Consent configuration",breadcrumbItems:[{title:"Consent settings",href:"/settings/consent"},{title:(null==_?void 0:_.name)||"Configuration"},{title:"TCF purpose ".concat(i)}]}),(0,r.jsxs)(n.vyj,{direction:"vertical",size:"middle",children:[(0,r.jsxs)(n.vyj,{direction:"vertical",size:"middle",children:[(0,r.jsx)(u.Z,{title:"TCF purpose ".concat(i).concat((null==m?void 0:m.name)?": ".concat(null==m?void 0:m.name):""),children:v?(0,r.jsxs)(n.jqI,{vertical:!0,className:"gap-1.5",children:[(0,r.jsx)(n.OdW,{height:"16px",width:"100%"}),(0,r.jsx)(n.OdW,{height:"16px",width:"100%"}),(0,r.jsx)(n.OdW,{height:"16px",width:"30%"})]}):!!m&&(0,r.jsx)(n.xvT,{fontSize:"sm",children:null==m?void 0:m.description})}),(0,r.jsx)(u.Z,{title:(null==_?void 0:_.name)||"Configuration",children:(0,r.jsx)(n.vyj,{direction:"vertical",className:"gap-3",children:(0,r.jsxs)(n.xvT,{fontSize:"sm",children:["Add restrictions to control how vendors process data for specific purposes. For each restriction, choose a restriction type. Then, decide whether the restriction applies to all vendors, specific vendors, or only to a limited set of allowed vendors. You can add multiple restrictions—they'll appear in the table below."," ",(0,r.jsx)(d.Z,{href:p.uh,children:"Learn more about publisher restrictions"})," ","in our docs."]})})})]}),(0,r.jsx)(U,{})]})]})}}},function(e){e.O(0,[2888,9774,179],function(){return e(e.s=77713)}),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5135],{77713:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings/consent/[configuration_id]/[purpose_id]",function(){return i(80758)}])},59301:function(e,t,i){"use strict";var r=i(24246);let{Link:n}=i(96306).AntTypography;t.Z=e=>(0,r.jsx)(n,{target:"_blank",rel:"noopener noreferrer",...e})},35287:function(e,t,i){"use strict";var r=i(24246),n=i(96306),s=i(88038),o=i.n(s);i(27378),t.Z=e=>{let{children:t,title:i,mainProps:s}=e;return(0,r.jsxs)(n.kCb,{"data-testid":i,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,r.jsxs)(o(),{children:[(0,r.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,r.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,r.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,r.jsx)(n.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...s,children:t})]})}},58754:function(e,t,i){"use strict";var r=i(24246),n=i(96306),s=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:o=!0,children:d,rightContent:l,style:a,...c}=e;return(0,r.jsxs)("div",{...c,style:o?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...a}:{paddingBottom:"24px",...a},children:[(0,r.jsxs)(n.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(n.lQT,{className:i||d?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,l&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,r.jsx)(s.m,{className:d?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),d]})}},97181:function(e,t,i){"use strict";i.d(t,{d:function(){return a}});var r=i(24246),n=i(96306),s=i(34090),o=i(27378),d=i(46238),l=i(40324);let a=e=>{let{name:t,label:i,labelProps:a,tooltip:c,isRequired:u,layout:p="inline",helperText:h,...v}=e,[_,m,{setValue:x}]=(0,s.U$)(t),f=!!(m.touched&&m.error),[g,R]=(0,o.useState)("");_.value||"tags"!==v.mode&&"multiple"!==v.mode||(_.value=[]),"tags"===v.mode&&"string"==typeof _.value&&(_.value=[_.value]);let j="tags"===v.mode?(e,t)=>e?e.value!==g||_.value.includes(g)?v.optionRender?v.optionRender(e,t):e.label:'Create "'.concat(g,'"'):void 0:v.optionRender||void 0,I=e=>{R(e),v.onSearch&&v.onSearch(e)},E=(e,t)=>{x(e),v.onChange&&v.onChange(e,t)};return"inline"===p?(0,r.jsx)(n.NIc,{isInvalid:f,isRequired:u,children:(0,r.jsxs)(n.rjZ,{templateColumns:i?"1fr 3fr":"1fr",children:[i?(0,r.jsx)(l.__,{htmlFor:v.id||t,...a,children:i}):null,(0,r.jsxs)(n.jqI,{align:"center",children:[(0,r.jsxs)(n.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,r.jsx)(n.WPr,{..._,id:v.id||t,"data-testid":"controlled-select-".concat(_.name),...v,optionRender:j,onSearch:"tags"===v.mode?I:void 0,onChange:E,value:_.value||void 0,status:f?"error":void 0}),h&&(0,r.jsx)(n.Q6r,{children:h}),(0,r.jsx)(l.Bc,{isInvalid:f,message:m.error,fieldName:_.name})]}),(0,r.jsx)(d.b,{label:c,className:f?"mt-2 self-start":void 0})]})]})}):(0,r.jsx)(n.NIc,{isInvalid:f,isRequired:u,children:(0,r.jsxs)(n.gCW,{alignItems:"start",children:[(0,r.jsxs)(n.jqI,{align:"center",children:[i?(0,r.jsx)(l.__,{htmlFor:v.id||t,fontSize:"xs",my:0,mr:1,...a,children:i}):null,(0,r.jsx)(d.b,{label:c})]}),(0,r.jsx)(n.WPr,{..._,id:v.id||t,"data-testid":"controlled-select-".concat(_.name),...v,optionRender:j,onSearch:"tags"===v.mode?I:void 0,onChange:E,value:_.value||void 0,status:f?"error":void 0}),h&&(0,r.jsx)(n.Q6r,{style:{marginTop:0},children:h}),(0,r.jsx)(l.Bc,{isInvalid:f,message:m.error,fieldName:_.name})]})})}},8133:function(e,t,i){"use strict";var r=i(24246),n=i(96306);t.Z=e=>{let{title:t,children:i,isOpen:s,onClose:o,modalContentProps:d,showCloseButton:l=!1,footer:a,...c}=e;return(0,r.jsxs)(n.u_l,{isOpen:s,onClose:o,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...c,children:[(0,r.jsx)(n.ZAr,{}),(0,r.jsxs)(n.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",...d,children:[l&&(0,r.jsx)(n.olH,{}),(0,r.jsx)(n.xBx,{p:0,children:(0,r.jsx)(n.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",children:(0,r.jsx)(n.X6q,{as:"h3",size:"sm",children:t})})}),(0,r.jsx)(n.fef,{pb:4,overflow:"auto",children:i}),a&&(0,r.jsx)(n.mzw,{children:a})]})]})}},70788:function(e,t,i){"use strict";i.d(t,{m:function(){return a}});var r=i(24246),n=i(96306),s=i(79894),o=i.n(s),d=i(27378);let{Text:l}=n.AntTypography,a=e=>{let{items:t,...i}=e,s=(0,d.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let s=i===t.length-1,d={...e},a=d.onClick&&!d.href;return("string"==typeof d.title&&(d.title=(0,r.jsx)(l,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,id:s?"breadcrumb-current-page":void 0,children:d.title})),a)?d.title=(0,r.jsx)(n.wpx,{type:"text",size:"small",icon:d.icon,onClick:d.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:d.title}):(d.icon&&(d.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:d.icon}),d.title]})),d.href&&d.title&&(d.title=(0,r.jsx)(o(),{href:d.href,className:"ant-breadcrumb-link",children:d.title}),delete d.href)),d}),[t]);return(0,r.jsx)(n.zrq,{items:s,...i})}},6675:function(e,t,i){"use strict";i.d(t,{ZS:function(){return d},a4:function(){return s}});var r=i(3228);let n=i(78780).u.injectEndpoints({endpoints:e=>({getPurposes:e.query({query:()=>"purposes"})})}),{useGetPurposesQuery:s}=n,o={purposes:{},special_purposes:{}},d=(0,r.P1)(n.endpoints.getPurposes.select(),e=>{let{data:t}=e;return t||o})},51263:function(e,t,i){"use strict";var r=i(24246),n=i(96306);t.Z=e=>{let{title:t,children:i,...s}=e;return(0,r.jsxs)(n.xuv,{backgroundColor:"var(--fidesui-bg-corinth)",borderRadius:"4px",padding:"3","data-testid":"setting-".concat(t),...s,children:[(0,r.jsx)(n.xvT,{as:"h3",fontSize:"md",fontWeight:"bold",lineHeight:5,color:"gray.700",mb:3,children:t}),i]})}},59512:function(e,t,i){"use strict";i.d(t,{Cu:function(){return d},Py:function(){return n},fj:function(){return o},uh:function(){return s}});var r=i(21910);let n=[1,3,4,5,6],s="https://ethyca.com/docs/tutorials/consent-management/consent-management-configuration/configure-tcf#vendor-overrides",o={[r.FF.PURPOSE_RESTRICTION]:"Purpose restriction",[r.FF.REQUIRE_CONSENT]:"Require consent",[r.FF.REQUIRE_LEGITIMATE_INTEREST]:"Require legitimate interest"},d={[r.PY.RESTRICT_ALL_VENDORS]:"Restrict all vendors",[r.PY.RESTRICT_SPECIFIC_VENDORS]:"Restrict specific vendors",[r.PY.ALLOW_SPECIFIC_VENDORS]:"Allow specific vendors"}},80758:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return Z}});var r=i(24246),n=i(96306),s=i(86677),o=i(27378),d=i(59301),l=i(35287),a=i(58754),c=i(6675),u=i(51263),p=i(59512),h=i(59003),v=i(92222),_=i(47935),m=i(21910),x=i(34090),f=i(55484),g=i(97181),R=i(812),j=i(8133),I=i(46628),E=i(52955);let y=e=>{if(/^\d+$/.test(e))return!0;let t=e.match(/^(\d+)-(\d+)$/);return!!t&&parseInt(t[1],10)<parseInt(t[2],10)},C=e=>{if(/^\d+$/.test(e)){let t=parseInt(e,10);return{start:t,end:t}}let t=e.match(/^(\d+)-(\d+)$/);return t?{start:parseInt(t[1],10),end:parseInt(t[2],10)}:null},T=(e,t)=>e.end===e.start?e.start>=t.start&&(null===t.end||e.start<=t.end):t.end===t.start?t.start>=e.start&&(null===e.end||t.start<=e.end):null===e.end&&null!==t.end?e.start<=t.end:null===t.end&&null!==e.end?t.start<=e.end:null===e.end&&null===t.end||e.start<=t.end&&e.end>=t.start||t.start<=e.end&&t.end>=e.start,b=(e,t)=>e.end===e.start?e.start>=t.start&&(null===t.end||e.start<=t.end):null===t.end?e.start>=t.start:null!==e.end&&e.start>=t.start&&e.end<=t.end,S=(e,t,i,r)=>{var n;let s=t.filter(e=>e.purpose_id===i&&e.id!==r);if(!(null===(n=e.vendor_ids)||void 0===n?void 0:n.length))return!1;let o=e.vendor_ids.map(C).filter(e=>null!==e);return 0!==o.length&&s.some(t=>{let i=e.vendor_restriction===m.PY.RESTRICT_SPECIFIC_VENDORS&&t.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS||e.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS&&t.vendor_restriction===m.PY.RESTRICT_SPECIFIC_VENDORS,r=t.vendor_ids.map(C).filter(e=>null!==e);return i?e.vendor_restriction===m.PY.ALLOW_SPECIFIC_VENDORS?r.some(e=>o.some(t=>!b(e,t))):o.some(e=>r.some(t=>!b(e,t))):t.vendor_restriction===e.vendor_restriction&&o.some(e=>r.some(t=>T(e,t)))})},N=e=>{if(/^\d+$/.test(e))return{start_vendor_id:parseInt(e,10),end_vendor_id:null};let t=e.match(/^(\d+)-(\d+)$/);if(t){let e=parseInt(t[1],10),i=parseInt(t[2],10);if(e<i)return{start_vendor_id:e,end_vendor_id:i}}return null},F=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(N).filter(e=>null!==e)},w="This restriction type is already in use for this purpose",P={restriction_type:"",vendor_restriction:"",vendor_ids:[]},O=e=>{let{isOpen:t,onClose:i,initialValues:s=P,existingRestrictions:o=[],purposeId:d,restrictionId:l,configurationId:a}=e,c=(0,n.pmc)(),[u]=(0,E.a_)(),[h]=(0,E.h3)(),v=!(d&&p.Py.includes(+d)),_=o.filter(e=>e.id!==l).map(e=>e.restriction_type),C=[{value:m.FF.PURPOSE_RESTRICTION,label:p.fj[m.FF.PURPOSE_RESTRICTION],disabled:_.includes(m.FF.PURPOSE_RESTRICTION),title:_.includes(m.FF.PURPOSE_RESTRICTION)?w:void 0},{value:m.FF.REQUIRE_CONSENT,label:p.fj[m.FF.REQUIRE_CONSENT],disabled:_.includes(m.FF.REQUIRE_CONSENT),title:_.includes(m.FF.REQUIRE_CONSENT)?w:void 0},{value:m.FF.REQUIRE_LEGITIMATE_INTEREST,label:p.fj[m.FF.REQUIRE_LEGITIMATE_INTEREST],disabled:_.includes(m.FF.REQUIRE_LEGITIMATE_INTEREST),title:_.includes(m.FF.REQUIRE_LEGITIMATE_INTEREST)?w:void 0}],T=[{value:m.PY.RESTRICT_ALL_VENDORS,label:p.Cu[m.PY.RESTRICT_ALL_VENDORS],disabled:_.length>0,title:_.length>0?"Cannot restrict all vendors when other restrictions exist":void 0},{value:m.PY.RESTRICT_SPECIFIC_VENDORS,label:p.Cu[m.PY.RESTRICT_SPECIFIC_VENDORS]},{value:m.PY.ALLOW_SPECIFIC_VENDORS,label:p.Cu[m.PY.ALLOW_SPECIFIC_VENDORS]}],b=f.Ry().shape({restriction_type:f.Z_().required("Restriction type is required"),vendor_restriction:f.Z_().required("Vendor restriction is required"),vendor_ids:f.IX().when("vendor_restriction",{is:e=>e!==m.PY.RESTRICT_ALL_VENDORS,then:e=>e.required("At least one vendor ID is required").min(1,"At least one vendor ID is required").test("valid-format","Vendor IDs must be numbers or ranges (e.g., 10 or 15-300)",e=>{var t;return null===(t=null==e?void 0:e.every(e=>y(e)))||void 0===t||t}).test("no-conflicts","One or more of these vendors already have a restriction for this purpose. Please update the existing restriction or remove duplicates.",(e,t)=>!S({...t.parent,vendor_ids:e},o,d,l))})}),N=async e=>{try{let t={restriction_type:e.restriction_type,vendor_restriction:e.vendor_restriction,range_entries:e.vendor_restriction!==m.PY.RESTRICT_ALL_VENDORS?F(e.vendor_ids):[]},r={...t,purpose_id:null!=d?d:0};if(l){let e=await h({configuration_id:a,restriction_id:l,restriction:t});if((0,R.D4)(e)){c((0,I.Vo)("Failed to update restriction"));return}c((0,I.t5)("Restriction updated successfully"))}else{let e=await u({configuration_id:a,restriction:r});if((0,R.D4)(e)){c((0,I.Vo)("Failed to create restriction"));return}c((0,I.t5)("Restriction created successfully"))}i()}catch(e){c((0,I.Vo)("Failed to save restriction"))}};return(0,r.jsx)(j.Z,{isOpen:t,onClose:i,title:"Edit restriction",children:(0,r.jsx)(x.J9,{initialValues:{...s,restriction_type:v?s.restriction_type:m.FF.PURPOSE_RESTRICTION},onSubmit:N,validationSchema:b,children:e=>{let{values:t,validateField:s,setTouched:o}=e;return(0,r.jsx)(x.l0,{children:(0,r.jsxs)(n.jqI,{vertical:!0,className:"gap-6",children:[(0,r.jsx)(n.xvT,{className:"text-sm",children:"Define how specific vendors are restricted from processing data for this purpose. Select a restriction type, set whether the listed vendors are restricted or allowed, and specify which vendor IDs the restriction applies to."}),(0,r.jsx)(n.esZ,{title:v?void 0:"Non-flexible purposes only support Purpose restrictions and cannot be restricted by consent or legitimate interest settings.",children:(0,r.jsx)(g.d,{name:"restriction_type",label:"Restriction type",options:C,layout:"stacked",tooltip:"Choose how vendors are permitted to process data for this purpose. This setting overrides the vendor's declared legal basis in the Global Vendor List.",isRequired:!0,disabled:!v,className:"w-full"})}),(0,r.jsx)(g.d,{name:"vendor_restriction",label:"Vendor restriction",options:T,layout:"stacked",tooltip:"Decide if the restriction applies to all vendors, specific vendors, or if only certain vendors are allowed.",isRequired:!0}),(0,r.jsx)(n.UO1,{in:!!t.restriction_type&&!!t.vendor_restriction&&t.vendor_restriction!==m.PY.RESTRICT_ALL_VENDORS,animateOpacity:!0,children:(0,r.jsx)(g.d,{name:"vendor_ids",label:"Vendor IDs",mode:"tags",options:[],layout:"stacked",placeholder:"Enter vendor IDs",open:!1,suffixIcon:(0,r.jsx)("span",{}),tooltip:"List the specific vendors that are restricted or allowed from processing data for this purpose.",disabled:t.vendor_restriction===m.PY.RESTRICT_ALL_VENDORS,tokenSeparators:[","," "],onBlur:()=>{setTimeout(()=>{o({vendor_ids:!0}),s("vendor_ids")},100)},helperText:"Enter IDs (e.g. 123) or ranges (e.g. 1-10) and press enter",isRequired:!0})}),(0,r.jsxs)(n.jqI,{justify:"flex-end",className:"gap-3 pt-4",children:[(0,r.jsx)(n.wpx,{onClick:i,"data-testid":"cancel-restriction-button",children:"Cancel"}),(0,r.jsx)(n.wpx,{type:"primary",htmlType:"submit","data-testid":"save-restriction-button",children:"Save"})]})]})})}})})};var L=i(72625),q=i(58452);let A=e=>{let{currentValues:t,existingRestrictions:i}=e,[d,l]=(0,o.useState)(!1),[a,c]=(0,o.useState)(!1),u=(0,s.useRouter)(),p=(0,n.pmc)(),[h]=(0,E.FC)(),v=u.query.purpose_id?parseInt(u.query.purpose_id,10):void 0,_=u.query.configuration_id,m=async()=>{try{if(!(null==t?void 0:t.id))return;let e=await h({configuration_id:_,restriction_id:t.id});if((0,R.D4)(e)){p((0,I.Vo)("Failed to delete publisher restriction"));return}l(!1),p((0,I.t5)("Publisher restriction deleted successfully"))}catch(e){p((0,I.Vo)("Failed to delete publisher restriction"))}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.vyj,{children:[(0,r.jsx)(n.wpx,{size:"small",onClick:()=>c(!0),"data-testid":"edit-restriction-button",children:"Edit"}),(0,r.jsx)(n.wpx,{size:"small",onClick:()=>l(!0),"data-testid":"delete-restriction-button",children:"Delete"})]}),(0,r.jsx)(O,{isOpen:a,onClose:()=>c(!1),initialValues:t,existingRestrictions:i,purposeId:v,restrictionId:null==t?void 0:t.id,configurationId:_}),(0,r.jsx)(q.Z,{isOpen:d,onClose:()=>l(!1),onConfirm:m,title:"Confirm deletion",message:"Are you sure you want to delete this publisher restriction? This action cannot be undone.",cancelButtonText:"Cancel",continueButtonText:"Delete"})]})},D=(0,v.Cl)(),V=()=>(0,o.useMemo)(()=>[D.accessor(e=>e.restriction_type,{id:"restriction_type",cell:e=>{let{getValue:t}=e,i=t();return(0,r.jsx)(_.G3,{value:p.fj[i]})},header:e=>(0,r.jsx)(_.Rr,{value:"Restriction type",...e})}),D.accessor(e=>e.vendor_restriction,{id:"vendor_restriction",cell:e=>{let{getValue:t}=e,i=t();return(0,r.jsx)(_.G3,{value:p.Cu[i]})},header:e=>(0,r.jsx)(_.Rr,{value:"Vendor restriction",...e})}),D.accessor(e=>e.vendor_ids,{id:"vendor_ids",cell:e=>{let{getValue:t}=e;return(0,r.jsx)(_.G3,{value:t().join(", ")||"All vendors"})},header:e=>(0,r.jsx)(L.vs,{value:"Vendors",helperText:"Specify which vendors the restriction applies to. You can apply restrictions to all vendors, specific vendors by their IDs, or allow only certain vendors while restricting the rest.",...e})}),D.display({id:"actions",cell:e=>(0,r.jsx)(A,{currentValues:e.row.original,existingRestrictions:e.table.getRowModel().rows.map(e=>e.original)}),header:"Actions",size:154,meta:{disableRowClick:!0}})],[]),k=e=>{let{onAdd:t}=e;return(0,r.jsxs)(n.jqI,{vertical:!0,align:"center",className:"mt-6 w-full gap-3 self-center whitespace-normal py-10","data-testid":"empty-table-notice",children:[(0,r.jsx)(n.xvT,{fontSize:"md",fontWeight:"semibold",children:"Add a restriction"}),(0,r.jsx)(n.xvT,{fontSize:"sm",className:"max-w-[70%]",children:"No restrictions have been added. By default, all vendors follow their declared legal basis unless a restriction is applied—add a restriction to override this behavior."}),(0,r.jsx)(n.wpx,{type:"primary",onClick:t,children:"Add +"})]})},U=()=>{let[e,t]=(0,o.useState)(!1),i=V(),d=(0,s.useRouter)(),l=d.query.purpose_id?parseInt(d.query.purpose_id,10):void 0,a=d.query.configuration_id,{data:c,isFetching:u}=(0,E.a9)({configuration_id:a,purpose_id:null!=l?l:0},{skip:!a||!l}),p=((null==c?void 0:c.items)||[]).map(e=>{var t;return{id:e.id,restriction_type:e.restriction_type,vendor_restriction:e.vendor_restriction,vendor_ids:(null===(t=e.range_entries)||void 0===t?void 0:t.map(e=>e.end_vendor_id?"".concat(e.start_vendor_id,"-").concat(e.end_vendor_id):e.start_vendor_id.toString()))||[],purpose_id:e.purpose_id}}),x=p.some(e=>e.vendor_restriction===m.PY.RESTRICT_ALL_VENDORS),f=Object.values(m.FF).every(e=>p.some(t=>t.restriction_type===e)),g=(0,h.b7)({getCoreRowModel:(0,v.sC)(),columns:i,data:p,columnResizeMode:"onChange",manualPagination:!0}),R=()=>{t(!0)};return(0,r.jsxs)(n.jqI,{vertical:!0,className:"overflow-auto",children:[(0,r.jsxs)(_.Q$,{children:[(0,r.jsx)(n.LZC,{}),(0,r.jsx)(n.esZ,{title:x?'Each vendor must have a unique restriction type. When "Restrict all vendors" is active for any restriction type, no other restrictions can be added.':f?"Each purpose must have a unique restriction type. When all restriction types are active, no other restrictions can be added. Use the 'Edit' button to change the vendor restrictions on each type.":void 0,children:(0,r.jsx)(n.wpx,{type:"primary",onClick:R,disabled:x||f,"data-testid":"add-restriction-button",children:"Add restriction +"})})]}),u?(0,r.jsx)(_.I4,{rowHeight:36,numRows:3}):(0,r.jsx)(_.ZK,{tableInstance:g,emptyTableNotice:(0,r.jsx)(k,{onAdd:R})}),(0,r.jsx)(O,{isOpen:e,onClose:()=>{t(!1)},existingRestrictions:p,purposeId:l,configurationId:a})]})};var Z=()=>{let e=(0,s.useRouter)(),t=decodeURIComponent(e.query.configuration_id),i=decodeURIComponent(e.query.purpose_id),{data:h,isLoading:v}=(0,c.a4)(),{data:_}=(0,E.NZ)(t),m=(0,o.useMemo)(()=>null==h?void 0:h.purposes[i],[h,i]);return(0,r.jsxs)(l.Z,{title:"Consent Configuration",children:[(0,r.jsx)(a.Z,{heading:"Consent configuration",breadcrumbItems:[{title:"Consent settings",href:"/settings/consent"},{title:(null==_?void 0:_.name)||"Configuration"},{title:"TCF purpose ".concat(i)}]}),(0,r.jsxs)(n.vyj,{direction:"vertical",size:"middle",children:[(0,r.jsxs)(n.vyj,{direction:"vertical",size:"middle",children:[(0,r.jsx)(u.Z,{title:"TCF purpose ".concat(i).concat((null==m?void 0:m.name)?": ".concat(null==m?void 0:m.name):""),children:v?(0,r.jsxs)(n.jqI,{vertical:!0,className:"gap-1.5",children:[(0,r.jsx)(n.OdW,{height:"16px",width:"100%"}),(0,r.jsx)(n.OdW,{height:"16px",width:"100%"}),(0,r.jsx)(n.OdW,{height:"16px",width:"30%"})]}):!!m&&(0,r.jsx)(n.xvT,{fontSize:"sm",children:null==m?void 0:m.description})}),(0,r.jsx)(u.Z,{title:(null==_?void 0:_.name)||"Configuration",children:(0,r.jsx)(n.vyj,{direction:"vertical",className:"gap-3",children:(0,r.jsxs)(n.xvT,{fontSize:"sm",children:["Add restrictions to control how vendors process data for specific purposes. For each restriction, choose a restriction type. Then, decide whether the restriction applies to all vendors, specific vendors, or only to a limited set of allowed vendors. You can add multiple restrictions—they'll appear in the table below."," ",(0,r.jsx)(d.Z,{href:p.uh,children:"Learn more about publisher restrictions"})," ","in our docs."]})})})]}),(0,r.jsx)(U,{})]})]})}}},function(e){e.O(0,[2888,9774,179],function(){return e(e.s=77713)}),_N_E=e.O()}]);