ethyca-fides 2.68.1b2__py2.py3-none-any.whl → 2.68.1b4__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 (318) hide show
  1. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/METADATA +3 -1
  2. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/RECORD +253 -232
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/90502bcda282_update_request_tasks_add_polling_async.py +35 -0
  5. fides/api/alembic/migrations/versions/b1a2c3d4e5f6_add_location_to_privacy_request.py +26 -0
  6. fides/api/api/v1/api.py +2 -0
  7. fides/api/api/v1/endpoints/dsr_package_link.py +167 -0
  8. fides/api/api/v1/endpoints/privacy_request_endpoints.py +31 -1
  9. fides/api/api/v1/endpoints/user_endpoints.py +4 -0
  10. fides/api/common_exceptions.py +12 -3
  11. fides/api/models/detection_discovery/core.py +6 -0
  12. fides/api/models/privacy_request/privacy_request.py +1 -0
  13. fides/api/models/privacy_request/request_task.py +25 -0
  14. fides/api/models/privacy_request/webhook.py +33 -1
  15. fides/api/oauth/utils.py +122 -57
  16. fides/api/schemas/application_config.py +7 -0
  17. fides/api/schemas/connection_configuration/connection_type_system_map.py +6 -0
  18. fides/api/schemas/enums/__init__.py +0 -0
  19. fides/api/schemas/enums/connection_category.py +20 -0
  20. fides/api/schemas/enums/integration_feature.py +23 -0
  21. fides/api/schemas/external_https.py +9 -0
  22. fides/api/schemas/privacy_center_config.py +48 -19
  23. fides/api/schemas/privacy_request.py +16 -0
  24. fides/api/schemas/saas/display_info.py +19 -0
  25. fides/api/schemas/saas/saas_config.py +2 -0
  26. fides/api/schemas/storage/storage.py +4 -0
  27. fides/api/service/async_dsr/__init__.py +0 -0
  28. fides/api/service/async_dsr/async_dsr_service.py +75 -0
  29. fides/api/service/connectors/saas_connector.py +5 -6
  30. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +6 -4
  31. fides/api/service/privacy_request/request_runner_service.py +41 -4
  32. fides/api/service/privacy_request/request_service.py +50 -2
  33. fides/api/service/storage/storage_uploader_service.py +80 -5
  34. fides/api/service/storage/streaming/__init__.py +42 -0
  35. fides/api/service/storage/streaming/base_storage_client.py +61 -0
  36. fides/api/service/storage/streaming/dsr_storage.py +98 -0
  37. fides/api/service/storage/streaming/retry.py +282 -0
  38. fides/api/service/storage/streaming/s3/__init__.py +5 -0
  39. fides/api/service/storage/streaming/s3/s3_storage_client.py +113 -0
  40. fides/api/service/storage/streaming/s3/streaming_s3.py +196 -0
  41. fides/api/service/storage/streaming/schemas.py +173 -0
  42. fides/api/service/storage/streaming/smart_open_client.py +265 -0
  43. fides/api/service/storage/streaming/smart_open_streaming_storage.py +998 -0
  44. fides/api/service/storage/streaming/storage_client_factory.py +60 -0
  45. fides/api/task/graph_task.py +4 -4
  46. fides/api/task/manual/manual_task_graph_task.py +3 -4
  47. fides/api/util/connection_type.py +20 -0
  48. fides/api/util/text.py +51 -0
  49. fides/common/api/v1/urn_registry.py +3 -0
  50. fides/config/execution_settings.py +4 -0
  51. fides/service/privacy_request/privacy_request_service.py +84 -9
  52. fides/ui-build/static/admin/404.html +1 -1
  53. fides/ui-build/static/admin/_next/static/LRCvfOqg1kP5kGnkD84G4/_buildManifest.js +1 -0
  54. fides/ui-build/static/admin/_next/static/chunks/1099-b973dfdfc5c3de90.js +1 -0
  55. fides/ui-build/static/admin/_next/static/chunks/1345-b60d1f3442379c73.js +1 -0
  56. fides/ui-build/static/admin/_next/static/chunks/{1817-c90365325f8a3d75.js → 1817-74692de5d760a664.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/{1975.e5cc7a1ccd477671.js → 1975.78e719130cfe3fd6.js} +1 -1
  58. fides/ui-build/static/admin/_next/static/chunks/{2921-46f9465c2852a46b.js → 2921-2d9261e8e2e127c0.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/3620-ebd89f91b82661e8.js +1 -0
  60. fides/ui-build/static/admin/_next/static/chunks/3729-ccf90cdaae158f39.js +1 -0
  61. fides/ui-build/static/admin/_next/static/chunks/3847-2759bf1f47a1d29e.js +1 -0
  62. fides/ui-build/static/admin/_next/static/chunks/3855-4174a4d4c205d6e8.js +1 -0
  63. fides/ui-build/static/admin/_next/static/chunks/3872-660aba76572c811b.js +1 -0
  64. fides/ui-build/static/admin/_next/static/chunks/{3923-a33633feba5e655e.js → 3923-c6cdc2e5278ae9a7.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/{401-741bb31b586b7c96.js → 401-8bc2c6c84172c096.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/{4121-94354b50a41f8497.js → 4121-9a4ebceff9accb7f.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/431-86ad2beeb93c95c9.js +1 -0
  68. fides/ui-build/static/admin/_next/static/chunks/4608-4d31340b0d0157c1.js +1 -0
  69. fides/ui-build/static/admin/_next/static/chunks/4786-aaef673b30c19e2e.js +1 -0
  70. fides/ui-build/static/admin/_next/static/chunks/4808-a654c7f7a1ca62c8.js +1 -0
  71. fides/ui-build/static/admin/_next/static/chunks/4844-cd7e1d0c7bb94094.js +1 -0
  72. fides/ui-build/static/admin/_next/static/chunks/5258-bc4a25d43e4aa07d.js +1 -0
  73. fides/ui-build/static/admin/_next/static/chunks/5487-37c78c4799ba5223.js +1 -0
  74. fides/ui-build/static/admin/_next/static/chunks/549-2213dc1c34143cda.js +1 -0
  75. fides/ui-build/static/admin/_next/static/chunks/{6084-02abe12327fc3dbc.js → 6084-55cc66e7c94f0686.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/{6853-270261ef5537a106.js → 6853-313ce974d33432fb.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/6954-021bd06d0ab59c3c.js +1 -0
  78. fides/ui-build/static/admin/_next/static/chunks/7476-2fc286c2a9125eb8.js +1 -0
  79. fides/ui-build/static/admin/_next/static/chunks/7630-b9a41262a69edf5e.js +1 -0
  80. fides/ui-build/static/admin/_next/static/chunks/768-034e121688a3bbdd.js +1 -0
  81. fides/ui-build/static/admin/_next/static/chunks/{787-5ba991cad1f7664a.js → 787-8df7118742e84908.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/79-d2ace89108ead8ae.js +1 -0
  83. fides/ui-build/static/admin/_next/static/chunks/796-2de6dac5f311d54a.js +1 -0
  84. fides/ui-build/static/admin/_next/static/chunks/8002-cfdc6574bd841892.js +1 -0
  85. fides/ui-build/static/admin/_next/static/chunks/9046-c44e41da49338c6c.js +1 -0
  86. fides/ui-build/static/admin/_next/static/chunks/9676.b7d5d1d90b9da224.js +1 -0
  87. fides/ui-build/static/admin/_next/static/chunks/{9826-8c81c97a72510fcf.js → 9826-d9addbd5ac990fa4.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/9951-6ee5c0a23951a07f.js +1 -0
  89. fides/ui-build/static/admin/_next/static/chunks/pages/{404-9174cdb70126c2c5.js → 404-9644eb282f2dcd71.js} +1 -1
  90. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-2c10f6b217b7978b.js → _app-284cba7174fa1f16.js} +136 -135
  91. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-621416493c89ef01.js → manual-42b7fd34712f49bd.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-0b9908c3e1dfe49e.js → multiple-4f164eab0960bbe0.js} +1 -1
  93. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-985d3c9179e69d7f.js +1 -0
  94. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-5bb1b31ae8752250.js → add-vendors-61090926e5f98a5d.js} +1 -1
  95. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-17ffe691b91cee2e.js +1 -0
  96. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-4e4d9426743b5cb4.js → [id]-95c13bca5c1e575e.js} +1 -1
  97. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-d72460348fadcab8.js → privacy-experience-609399510a60beb9.js} +1 -1
  98. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-3e7ddc252da00c98.js → [id]-d7d8f228ac74b26e.js} +1 -1
  99. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-35a7c305beee9428.js → new-821c0f82d5a2b7d4.js} +1 -1
  100. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-8365782543cf6ab9.js +1 -0
  101. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-ab96939421639153.js → properties-40a7aa65f4d13cf9.js} +1 -1
  102. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-e4bacfc5c2ed2324.js +1 -0
  103. fides/ui-build/static/admin/_next/static/chunks/pages/{consent-13240e3ca77acfeb.js → consent-70c5c6aa5389d99f.js} +1 -1
  104. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-aad6047a4604b945.js → [resourceUrn]-adc500a03e239857.js} +1 -1
  105. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-bd37b407c80c6986.js → [projectUrn]-3207f62e5012611b.js} +1 -1
  106. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-7b42dee0fb696658.js +1 -0
  107. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-b6b98cea25dd94fa.js → [resourceUrn]-c8b3d090e4ba60d3.js} +1 -1
  108. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-31a45ea2ca2a7f04.js +1 -0
  109. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-6172c2eb539319fd.js +1 -0
  110. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-945d354ff057fb03.js +1 -0
  111. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-d9795e00f39cf4e9.js +1 -0
  112. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-657833fd8528280f.js +1 -0
  113. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-31e6c54794a9883e.js → [resourceUrn]-22eec362dfbb1d2a.js} +1 -1
  114. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-2822a423a7ad0550.js → detection-4decce5ef996e563.js} +1 -1
  115. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-f98dd251babb7e28.js → [resourceUrn]-01acdd1ad492fd89.js} +1 -1
  116. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-56eb4c014f0d96a3.js → discovery-85fdbf4cde60d910.js} +1 -1
  117. fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-8f88dc31c5144ea8.js → datamap-3a4b89fb21d14753.js} +1 -1
  118. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-cb8d303f56091bd5.js +1 -0
  119. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-401c8be76d9daec7.js +1 -0
  120. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-97e2d375b21cfe43.js +1 -0
  121. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-40ef544ca1f2c9b9.js +1 -0
  122. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-e3c763f8e71f8e24.js +1 -0
  123. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-67a7fe58b96ea739.js → [id]-152e5d15705ec072.js} +1 -1
  124. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-651b10cae0e99a05.js +1 -0
  125. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-03c54bc9fb18d2b0.js +1 -0
  126. fides/ui-build/static/admin/_next/static/chunks/pages/{index-876bfd7210040cec.js → index-3d19b9ffa15a928a.js} +1 -1
  127. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-4b0bb4ccfb237d41.js +1 -0
  128. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-78d4e0c14654148b.js +1 -0
  129. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-6e796c3fe632280b.js → [id]-72cb360a6d14e701.js} +1 -1
  130. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-fa0f3841c5bdfdeb.js → add-template-0ed67cf774d5cbf5.js} +1 -1
  131. fides/ui-build/static/admin/_next/static/chunks/pages/messaging-b06a2204e2a5b667.js +1 -0
  132. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-7050899b3f792129.js +1 -0
  133. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-11503454a62d8d7b.js → AntForm-7c3466f4d5797e55.js} +1 -1
  134. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-a504941807bdb7f1.js → FormikAntFormItem-8de252f25871bab9.js} +1 -1
  135. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-0119403c8ff97f83.js → FormikControlled-cd6de0da47f980cf.js} +1 -1
  136. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-94f6d57d6c94ddf7.js → FormikField-7c238a881fe30e28.js} +1 -1
  137. fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-ed1a3ae09d72df89.js → forms-d4f3e8f67f76f146.js} +1 -1
  138. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-c9220e20c1d93758.js +1 -0
  139. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-b9d6886a3f157120.js +1 -0
  140. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-9c1fd7867b2d80d7.js +1 -0
  141. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-fc959ed21dbce38c.js +1 -0
  142. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-44a4a638dcb2722a.js +1 -0
  143. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-1433c9f9501a884f.js +1 -0
  144. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-41976b28503623cd.js → [id]-16e0b42cb342aa5f.js} +1 -1
  145. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-cb438d8f5ec6007a.js → add-property-ebd114a86b809391.js} +1 -1
  146. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-b6db7036993709b3.js → properties-901be5fa4a48f48c.js} +1 -1
  147. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-da9ced1e20681154.js +1 -0
  148. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-0174554c0ac5958f.js +1 -0
  149. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-6f45ddbf675e66d2.js +1 -0
  150. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-275c49e6089c5c9f.js +1 -0
  151. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-1a8d05e19f06d857.js +1 -0
  152. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-49d86b9ca4523ca6.js +1 -0
  153. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-386368bf7cb31771.js → domain-records-f71b4b95d91db926.js} +1 -1
  154. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-a595cad18cf04673.js +1 -0
  155. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-6f7f9751689b042c.js +1 -0
  156. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-b41fb5ad277088ab.js → locations-e2c88d7f779fe604.js} +1 -1
  157. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-c65acd2b7ab04753.js +1 -0
  158. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-a94dfeea43fbca7d.js → regulations-c1c699eeb40a9dc0.js} +1 -1
  159. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-a274e2191b87e315.js +1 -0
  160. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-18b316e2dad73731.js → [id]-4a48b4f996a64957.js} +1 -1
  161. fides/ui-build/static/admin/_next/static/chunks/pages/systems-30debc87925634d9.js +1 -0
  162. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-ca625b1296a029f0.js +1 -0
  163. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-3237881945acc0ee.js → [id]-7a3180b235eb8846.js} +1 -1
  164. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-a3a50d9d79066935.js → user-management-5e2d0acf575252ca.js} +1 -1
  165. fides/ui-build/static/admin/_next/static/chunks/{webpack-69658aeaf6155d89.js → webpack-4502d4d67006b48f.js} +1 -1
  166. fides/ui-build/static/admin/_next/static/css/43d0c0fc207767eb.css +1 -0
  167. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  168. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  169. fides/ui-build/static/admin/add-systems.html +1 -1
  170. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  171. fides/ui-build/static/admin/consent/configure.html +1 -1
  172. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  173. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  174. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  175. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  176. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  177. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  178. fides/ui-build/static/admin/consent/properties.html +1 -1
  179. fides/ui-build/static/admin/consent/reporting.html +1 -1
  180. fides/ui-build/static/admin/consent.html +1 -1
  181. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  182. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  183. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  184. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  185. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  186. fides/ui-build/static/admin/data-catalog.html +1 -1
  187. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  188. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  189. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  190. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  191. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  192. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  193. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  194. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  195. fides/ui-build/static/admin/datamap.html +1 -1
  196. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  197. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  198. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  199. fides/ui-build/static/admin/dataset/new.html +1 -1
  200. fides/ui-build/static/admin/dataset.html +1 -1
  201. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  202. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  203. fides/ui-build/static/admin/datastore-connection.html +1 -1
  204. fides/ui-build/static/admin/index.html +1 -1
  205. fides/ui-build/static/admin/integrations/[id].html +1 -1
  206. fides/ui-build/static/admin/integrations.html +1 -1
  207. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  208. fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
  209. fides/ui-build/static/admin/login/[provider].html +1 -1
  210. fides/ui-build/static/admin/login.html +1 -1
  211. fides/ui-build/static/admin/messaging/[id].html +1 -1
  212. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  213. fides/ui-build/static/admin/messaging.html +1 -1
  214. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  215. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  216. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  217. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  218. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  219. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  220. fides/ui-build/static/admin/poc/forms.html +1 -1
  221. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  222. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  223. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  224. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  225. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  226. fides/ui-build/static/admin/privacy-requests.html +1 -1
  227. fides/ui-build/static/admin/properties/[id].html +1 -1
  228. fides/ui-build/static/admin/properties/add-property.html +1 -1
  229. fides/ui-build/static/admin/properties.html +1 -1
  230. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  231. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  232. fides/ui-build/static/admin/settings/about.html +1 -1
  233. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  234. fides/ui-build/static/admin/settings/consent.html +1 -1
  235. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  236. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  237. fides/ui-build/static/admin/settings/domains.html +1 -1
  238. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  239. fides/ui-build/static/admin/settings/locations.html +1 -1
  240. fides/ui-build/static/admin/settings/organization.html +1 -1
  241. fides/ui-build/static/admin/settings/regulations.html +1 -1
  242. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  243. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  244. fides/ui-build/static/admin/systems.html +1 -1
  245. fides/ui-build/static/admin/taxonomy.html +1 -1
  246. fides/ui-build/static/admin/user-management/new.html +1 -1
  247. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  248. fides/ui-build/static/admin/user-management.html +1 -1
  249. fides/ui-build/static/admin/_next/static/chunks/203-0c6cadcda98bdd33.js +0 -1
  250. fides/ui-build/static/admin/_next/static/chunks/3450-9314e1b15df8a8da.js +0 -1
  251. fides/ui-build/static/admin/_next/static/chunks/3855-4267fd8193e7f525.js +0 -1
  252. fides/ui-build/static/admin/_next/static/chunks/3872-ac5feefd40b61ae3.js +0 -1
  253. fides/ui-build/static/admin/_next/static/chunks/409-5bc4369b80a8c11d.js +0 -1
  254. fides/ui-build/static/admin/_next/static/chunks/4230-1ebc8c0ab293a077.js +0 -1
  255. fides/ui-build/static/admin/_next/static/chunks/431-a34d7ceff17c2169.js +0 -1
  256. fides/ui-build/static/admin/_next/static/chunks/4608-557fb24665b2e4bf.js +0 -1
  257. fides/ui-build/static/admin/_next/static/chunks/5309-ffdec884eec79d29.js +0 -1
  258. fides/ui-build/static/admin/_next/static/chunks/5574-831167a8da90e2e6.js +0 -1
  259. fides/ui-build/static/admin/_next/static/chunks/6662-499c189f932a35aa.js +0 -1
  260. fides/ui-build/static/admin/_next/static/chunks/6780-7d28e030f6516e5d.js +0 -1
  261. fides/ui-build/static/admin/_next/static/chunks/6882-7cc1d14e27a80c10.js +0 -1
  262. fides/ui-build/static/admin/_next/static/chunks/6954-7784e8d5ad6b8110.js +0 -1
  263. fides/ui-build/static/admin/_next/static/chunks/7476-4de465016d3433b4.js +0 -1
  264. fides/ui-build/static/admin/_next/static/chunks/7630-2a5c57787632693d.js +0 -1
  265. fides/ui-build/static/admin/_next/static/chunks/7725-c79513b04113112b.js +0 -1
  266. fides/ui-build/static/admin/_next/static/chunks/79-98cfab20bb831137.js +0 -1
  267. fides/ui-build/static/admin/_next/static/chunks/796-0b768155bf20505f.js +0 -1
  268. fides/ui-build/static/admin/_next/static/chunks/8735-f84afcc50885883c.js +0 -1
  269. fides/ui-build/static/admin/_next/static/chunks/9046-97a972cc8a8ed24d.js +0 -1
  270. fides/ui-build/static/admin/_next/static/chunks/9226-318dadf1c050ecda.js +0 -1
  271. fides/ui-build/static/admin/_next/static/chunks/9676.9e6828b42ef05e06.js +0 -1
  272. fides/ui-build/static/admin/_next/static/chunks/9951-4df2b67e0def5500.js +0 -1
  273. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-18e96ce81dab51a4.js +0 -1
  274. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-54d7c7310763c66d.js +0 -1
  275. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-6bc3b73a21576869.js +0 -1
  276. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-fe3d6887fecf0f86.js +0 -1
  277. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-e4770acf7044e2f5.js +0 -1
  278. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-0db635c3483c9da8.js +0 -1
  279. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-0c0e0a7798345541.js +0 -1
  280. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-3c56e5fe072a44c6.js +0 -1
  281. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-58827eb86516931f.js +0 -1
  282. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-6a90131dcecd694c.js +0 -1
  283. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-145fe9e4cfcb231d.js +0 -1
  284. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-8a1e5d140785c1e9.js +0 -1
  285. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-227b5db4b472a6a7.js +0 -1
  286. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-8401f17fe5d9a1dc.js +0 -1
  287. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-7d77b3ad069be268.js +0 -1
  288. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-90a8df230cb89877.js +0 -1
  289. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-cfb25b02abb8da71.js +0 -1
  290. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-4e286a1e501a0c73.js +0 -1
  291. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-3fdc55d4c129e618.js +0 -1
  292. fides/ui-build/static/admin/_next/static/chunks/pages/messaging-8f9c006b6166f002.js +0 -1
  293. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-6ba7ae4f26c06cb0.js +0 -1
  294. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-e8db3ad525e7ddbd.js +0 -1
  295. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-c14dd24592369467.js +0 -1
  296. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-100d7d03930629a8.js +0 -1
  297. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-6f8d1b3ec83cfcf0.js +0 -1
  298. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-3ce15577435d47cb.js +0 -1
  299. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-709bcb0bc6a5382d.js +0 -1
  300. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-4bc3e281409265cc.js +0 -1
  301. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-1ea40fcd6b4268bf.js +0 -1
  302. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-65c7600fadc6e55a.js +0 -1
  303. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-33dab986141b3663.js +0 -1
  304. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-1195042727c399ed.js +0 -1
  305. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-71b98858ecb4e097.js +0 -1
  306. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-cf427e04f862b5d2.js +0 -1
  307. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-eabeeec5bf2773c6.js +0 -1
  308. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-ee56698ae3a6a78b.js +0 -1
  309. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-0e2e98cc38ee5499.js +0 -1
  310. fides/ui-build/static/admin/_next/static/chunks/pages/systems-c32589c86081b750.js +0 -1
  311. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-a8f09bf8f3204ca7.js +0 -1
  312. fides/ui-build/static/admin/_next/static/css/a72179b1754aadd3.css +0 -1
  313. fides/ui-build/static/admin/_next/static/qvk5eMANVfwYkdURE7fgG/_buildManifest.js +0 -1
  314. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/WHEEL +0 -0
  315. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/entry_points.txt +0 -0
  316. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/licenses/LICENSE +0 -0
  317. {ethyca_fides-2.68.1b2.dist-info → ethyca_fides-2.68.1b4.dist-info}/top_level.txt +0 -0
  318. /fides/ui-build/static/admin/_next/static/{qvk5eMANVfwYkdURE7fgG → LRCvfOqg1kP5kGnkD84G4}/_ssgManifest.js +0 -0
@@ -0,0 +1,60 @@
1
+ """Factory for creating provider-specific storage clients."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Any
6
+
7
+ from fides.api.service.storage.streaming.base_storage_client import BaseStorageClient
8
+ from fides.api.service.storage.streaming.s3.s3_storage_client import S3StorageClient
9
+
10
+
11
+ class StorageClientFactory:
12
+ """Factory for creating provider-specific storage clients.
13
+
14
+ This factory creates the appropriate storage client implementation based on
15
+ the storage type, providing a clean separation between the main client and
16
+ provider-specific logic.
17
+ """
18
+
19
+ @staticmethod
20
+ def create_client(storage_type: str, storage_secrets: Any) -> BaseStorageClient:
21
+ """Create a provider-specific storage client.
22
+
23
+ Args:
24
+ storage_type: Type of storage ('s3', 'gcs', 'azure')
25
+ storage_secrets: Storage credentials and configuration.
26
+ Will be passed to the specific storage client implementation.
27
+
28
+ Returns:
29
+ Provider-specific storage client implementation
30
+
31
+ Raises:
32
+ ValueError: If the storage type is not supported
33
+ """
34
+ normalized_type = StorageClientFactory._normalize_storage_type(storage_type)
35
+
36
+ if normalized_type == "s3":
37
+ return S3StorageClient(storage_secrets)
38
+ if normalized_type == "gcs":
39
+ raise NotImplementedError("GCS storage is not yet supported")
40
+ raise ValueError(f"Unsupported storage type: {storage_type}")
41
+
42
+ @staticmethod
43
+ def _normalize_storage_type(storage_type: str) -> str:
44
+ """Normalize storage type to standard values.
45
+
46
+ Args:
47
+ storage_type: Raw storage type string
48
+
49
+ Returns:
50
+ Normalized storage type string
51
+ """
52
+ storage_type = storage_type.lower()
53
+
54
+ # Normalize storage type
55
+ if storage_type in {"gcs", "gcp", "google"}:
56
+ return "gcs"
57
+ if storage_type == "s3":
58
+ return "s3"
59
+
60
+ return storage_type
@@ -13,7 +13,7 @@ from sqlalchemy.orm import Session
13
13
  from fides.api.api.deps import get_autoclose_db_session as get_db
14
14
  from fides.api.common_exceptions import (
15
15
  ActionDisabled,
16
- AwaitingAsyncTaskCallback,
16
+ AwaitingAsyncTask,
17
17
  CollectionDisabled,
18
18
  NotSupportedForCollection,
19
19
  PrivacyRequestErasureEmailSendRequired,
@@ -114,17 +114,17 @@ def retry(
114
114
  self.log_start(action_type)
115
115
  # Run access or erasure request
116
116
  return func(*args, **kwargs)
117
- except AwaitingAsyncTaskCallback as ex:
117
+ except AwaitingAsyncTask as ex:
118
118
  traceback.print_exc()
119
119
  logger.warning(
120
- "Request Task {} {} {} awaiting async callback",
120
+ "Request Task {} {} {} awaiting async continuation",
121
121
  self.request_task.id if self.request_task.id else None,
122
122
  method_name,
123
123
  self.execution_node.address,
124
124
  )
125
125
  # Log the awaiting processing status and exit without retrying.
126
126
  self.log_awaiting_processing(action_type, ex)
127
- # Request Task put in "awaiting_processing" status and exited, awaiting Async Callback
127
+ # Request Task put in "awaiting_processing" status and exited, awaiting for Async continuation
128
128
  return None
129
129
  except PrivacyRequestErasureEmailSendRequired as exc:
130
130
  traceback.print_exc()
@@ -3,7 +3,7 @@ from typing import Any, Optional
3
3
  from loguru import logger
4
4
  from pydantic.v1.utils import deep_update
5
5
 
6
- from fides.api.common_exceptions import AwaitingAsyncTaskCallback
6
+ from fides.api.common_exceptions import AwaitingAsyncTask
7
7
  from fides.api.models.attachment import AttachmentType
8
8
  from fides.api.models.manual_task import (
9
9
  ManualTask,
@@ -138,7 +138,7 @@ class ManualTaskGraphTask(GraphTask):
138
138
  Execute manual task logic following the standard GraphTask pattern:
139
139
  1. Create ManualTaskInstances if they don't exist
140
140
  2. Check if all required submissions are present
141
- 3. Return data if submitted, raise AwaitingAsyncTaskCallback if not
141
+ 3. Return data if submitted, raise AwaitingAsyncTask if not
142
142
  """
143
143
  manual_task = self._get_manual_task_or_none()
144
144
  if manual_task is None:
@@ -265,7 +265,7 @@ class ManualTaskGraphTask(GraphTask):
265
265
  base_msg = f"Manual task for {self.connection_key} requires user input"
266
266
  if awaiting_detail_message:
267
267
  base_msg = f"{base_msg}. {awaiting_detail_message}"
268
- raise AwaitingAsyncTaskCallback(base_msg)
268
+ raise AwaitingAsyncTask(base_msg)
269
269
 
270
270
  def _ensure_manual_task_instances(
271
271
  self,
@@ -435,7 +435,6 @@ class ManualTaskGraphTask(GraphTask):
435
435
  ]
436
436
 
437
437
  if instances_to_remove:
438
-
439
438
  # Remove instances from the database
440
439
  for instance in instances_to_remove:
441
440
  instance.delete(self.resources.session)
@@ -230,6 +230,23 @@ def get_saas_connection_types(
230
230
  for item in saas_types:
231
231
  connector_template = ConnectorRegistry.get_connector_template(item)
232
232
  if connector_template is not None:
233
+ # Read display info from SAAS config if available
234
+ category = None
235
+ tags = None
236
+ enabled_features = None
237
+
238
+ try:
239
+ saas_config = SaaSConfig(
240
+ **load_config_from_string(connector_template.config)
241
+ )
242
+ if saas_config.display_info:
243
+ category = saas_config.display_info.category
244
+ tags = saas_config.display_info.tags
245
+ enabled_features = saas_config.display_info.enabled_features
246
+ except Exception:
247
+ # If config parsing fails, leave display info as None
248
+ pass
249
+
233
250
  saas_connection_types.append(
234
251
  ConnectionSystemTypeMap(
235
252
  identifier=item,
@@ -239,6 +256,9 @@ def get_saas_connection_types(
239
256
  authorization_required=connector_template.authorization_required,
240
257
  user_guide=connector_template.user_guide,
241
258
  supported_actions=connector_template.supported_actions,
259
+ category=category,
260
+ tags=tags,
261
+ enabled_features=enabled_features,
242
262
  )
243
263
  )
244
264
 
fides/api/util/text.py CHANGED
@@ -2,6 +2,57 @@ import re
2
2
 
3
3
  from anyascii import anyascii # type: ignore
4
4
 
5
+ # Regex to validate a ISO 3166-2 code:
6
+ # 1. Starts with a 2 letter country code (e.g. "US", "GB") (see ISO 3166-1 alpha-2)
7
+ # 2. (Optional) Ends with a 1-3 alphanumeric character region code (e.g. "CA", "123", "X") (see ISO 3166-2)
8
+ # 3. Country & region codes must be separated by a hyphen (e.g. "US-CA")
9
+ #
10
+ # Fides also supports a special `EEA` geolocation code to denote the European
11
+ # Economic Area; this is not part of ISO 3166-2, but is supported for convenience.
12
+ VALID_ISO_3166_LOCATION_REGEX = re.compile(
13
+ r"^(?:([a-z]{2})(-[a-z0-9]{1,3})?|(eea))$", re.IGNORECASE
14
+ )
15
+
16
+
17
+ def normalize_location_code(location: str) -> str:
18
+ """
19
+ Normalize a location code to ISO 3166-2 format.
20
+
21
+ Converts location codes to the idiomatic format:
22
+ - Uppercase (e.g., "us-ca" -> "US-CA")
23
+ - Hyphens instead of underscores (e.g., "US_CA" -> "US-CA")
24
+ - Supports special codes like "EEA"
25
+
26
+ Args:
27
+ location: Input location code (e.g., "us-ca", "US_NY", "gb", "eea")
28
+
29
+ Returns:
30
+ Normalized location code (e.g., "US-CA", "US-NY", "GB", "EEA")
31
+
32
+ Raises:
33
+ ValueError: If the normalized location doesn't match ISO 3166-2 format
34
+
35
+ Examples:
36
+ normalize_location_code("us-ca") -> "US-CA"
37
+ normalize_location_code("US_NY") -> "US-NY"
38
+ normalize_location_code("gb") -> "GB"
39
+ normalize_location_code("eea") -> "EEA"
40
+ """
41
+ if not location:
42
+ raise ValueError("Location code cannot be empty")
43
+
44
+ # Convert to uppercase and replace underscores with hyphens
45
+ normalized = location.upper().replace("_", "-")
46
+
47
+ # Validate against ISO 3166-2 format
48
+ if not VALID_ISO_3166_LOCATION_REGEX.match(normalized):
49
+ raise ValueError(
50
+ f"Invalid location format '{location}'. Must follow ISO 3166 format "
51
+ "(e.g., 'US', 'US-CA', 'GB', 'CA-ON', 'EEA')"
52
+ )
53
+
54
+ return normalized
55
+
5
56
 
6
57
  def to_snake_case(text: str) -> str:
7
58
  """
@@ -73,6 +73,9 @@ MESSAGING_EMAIL_INVITE_STATUS = "/messaging/email-invite/status"
73
73
  POLICY_LIST = "/dsr/policy"
74
74
  POLICY_DETAIL = "/dsr/policy/{policy_key}"
75
75
 
76
+ # Privacy Center URLs
77
+ PRIVACY_CENTER_DSR_PACKAGE = "/privacy-request/{privacy_request_id}/access-package"
78
+
76
79
  # Privacy request URLs
77
80
  PRIVACY_REQUESTS = "/privacy-request"
78
81
  PRIVACY_REQUEST_APPROVE = "/privacy-request/administrate/approve"
@@ -61,6 +61,10 @@ class ExecutionSettings(FidesSettings):
61
61
  default=3,
62
62
  description="The number of times a privacy request will be requeued when its tasks are interrupted before being marked as error",
63
63
  )
64
+ async_tasks_status_polling_interval_seconds: int = Field(
65
+ default=3600,
66
+ description="Seconds between polling for async tasks to requeue",
67
+ )
64
68
  use_dsr_3_0: bool = Field(
65
69
  default=False,
66
70
  description="Temporary flag to switch to using DSR 3.0 to process your tasks.",
@@ -7,11 +7,15 @@ from sqlalchemy.orm import Session
7
7
  from fides.api.common_exceptions import (
8
8
  FidesopsException,
9
9
  MessageDispatchException,
10
+ PrivacyRequestError,
10
11
  RedisNotConfigured,
11
12
  )
12
13
  from fides.api.models.audit_log import AuditLog, AuditLogAction
13
14
  from fides.api.models.policy import Policy
14
15
  from fides.api.models.pre_approval_webhook import PreApprovalWebhook
16
+ from fides.api.models.privacy_center_config import (
17
+ PrivacyCenterConfig as PrivacyCenterConfigModel,
18
+ )
15
19
  from fides.api.models.privacy_preference import PrivacyPreferenceHistory
16
20
  from fides.api.models.privacy_request import (
17
21
  ConsentRequest,
@@ -24,6 +28,10 @@ from fides.api.models.worker_task import ExecutionLogStatus
24
28
  from fides.api.schemas.api import BulkUpdateFailed
25
29
  from fides.api.schemas.messaging.messaging import MessagingActionType
26
30
  from fides.api.schemas.policy import ActionType, CurrentStep
31
+ from fides.api.schemas.privacy_center_config import LocationCustomPrivacyRequestField
32
+ from fides.api.schemas.privacy_center_config import (
33
+ PrivacyCenterConfig as PrivacyCenterConfigSchema,
34
+ )
27
35
  from fides.api.schemas.privacy_request import (
28
36
  BulkPostPrivacyRequests,
29
37
  BulkReviewResponse,
@@ -51,15 +59,6 @@ from fides.service.messaging.messaging_service import (
51
59
  )
52
60
 
53
61
 
54
- class PrivacyRequestError(Exception):
55
- """Base exception for privacy request operations."""
56
-
57
- def __init__(self, message: str, data: Optional[Dict] = None):
58
- self.message = message
59
- self.data = data
60
- super().__init__(message)
61
-
62
-
63
62
  class PrivacyRequestService:
64
63
  def __init__(
65
64
  self,
@@ -79,6 +78,78 @@ class PrivacyRequestService:
79
78
  logger.info(f"Privacy request with ID {privacy_request_id} was not found.")
80
79
  return privacy_request
81
80
 
81
+ def _validate_required_location_fields(
82
+ self, privacy_request_data: PrivacyRequestCreate
83
+ ) -> None:
84
+ """Validate that location is provided for required location fields.
85
+
86
+ Looks up the actual Privacy Center configuration to check if any location
87
+ fields are marked as required for the specified policy.
88
+ """
89
+ # If location is already provided, no validation needed
90
+ if privacy_request_data.location:
91
+ return
92
+
93
+ # Get the Privacy Center configuration from the database
94
+ privacy_center_config_record = PrivacyCenterConfigModel.filter(
95
+ db=self.db, conditions=PrivacyCenterConfigModel.single_row # type: ignore[arg-type]
96
+ ).first()
97
+
98
+ if not privacy_center_config_record:
99
+ # No Privacy Center config found, skip validation
100
+ return
101
+
102
+ try:
103
+ # Parse the config using the Pydantic schema
104
+ privacy_center_config = PrivacyCenterConfigSchema.model_validate(
105
+ privacy_center_config_record.config
106
+ )
107
+ except Exception as exc:
108
+ logger.warning(
109
+ f"Could not parse Privacy Center config for location validation: {exc}"
110
+ )
111
+ return
112
+
113
+ # Find the action that matches the policy key
114
+ matching_action = None
115
+ for action in privacy_center_config.actions:
116
+ if action.policy_key == privacy_request_data.policy_key:
117
+ matching_action = action
118
+ break
119
+
120
+ if not matching_action or not matching_action.custom_privacy_request_fields:
121
+ # No matching action or no custom fields defined
122
+ return
123
+
124
+ # Check if any location fields are required
125
+ for (
126
+ field_name,
127
+ field_config,
128
+ ) in matching_action.custom_privacy_request_fields.items():
129
+ if isinstance(field_config, LocationCustomPrivacyRequestField):
130
+ # This is a location field - check if it's required
131
+ if field_config.required:
132
+ # Check if this field has a value in the request
133
+ field_has_value = False
134
+ if privacy_request_data.custom_privacy_request_fields:
135
+ field_data = (
136
+ privacy_request_data.custom_privacy_request_fields.get(
137
+ field_name
138
+ )
139
+ )
140
+ if (
141
+ field_data
142
+ and hasattr(field_data, "value")
143
+ and field_data.value
144
+ ):
145
+ field_has_value = True
146
+
147
+ if not field_has_value:
148
+ raise PrivacyRequestError(
149
+ f"Location is required for field '{field_name}' but was not provided",
150
+ privacy_request_data.model_dump(mode="json"),
151
+ )
152
+
82
153
  # pylint: disable=too-many-branches
83
154
  def create_privacy_request(
84
155
  self,
@@ -119,6 +190,9 @@ class PrivacyRequestService:
119
190
  privacy_request_data.model_dump(mode="json"),
120
191
  )
121
192
 
193
+ # Validate location is provided for required location fields
194
+ self._validate_required_location_fields(privacy_request_data)
195
+
122
196
  policy = Policy.get_by(
123
197
  db=self.db,
124
198
  field="key",
@@ -159,6 +233,7 @@ class PrivacyRequestService:
159
233
  "consent_preferences",
160
234
  "property_id",
161
235
  "source",
236
+ "location",
162
237
  ]
163
238
 
164
239
  for field in OPTIONAL_FIELDS:
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/a72179b1754aadd3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a72179b1754aadd3.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-69658aeaf6155d89.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2c10f6b217b7978b.js" defer=""></script><script src="/_next/static/chunks/pages/404-9174cdb70126c2c5.js" defer=""></script><script src="/_next/static/qvk5eMANVfwYkdURE7fgG/_buildManifest.js" defer=""></script><script src="/_next/static/qvk5eMANVfwYkdURE7fgG/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"qvk5eMANVfwYkdURE7fgG","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/43d0c0fc207767eb.css" as="style"/><link rel="stylesheet" href="/_next/static/css/43d0c0fc207767eb.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-4502d4d67006b48f.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-284cba7174fa1f16.js" defer=""></script><script src="/_next/static/chunks/pages/404-9644eb282f2dcd71.js" defer=""></script><script src="/_next/static/LRCvfOqg1kP5kGnkD84G4/_buildManifest.js" defer=""></script><script src="/_next/static/LRCvfOqg1kP5kGnkD84G4/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"LRCvfOqg1kP5kGnkD84G4","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(s,e,t,c,a,n,i,d,o,r,p,u,g,f,m,j,k,b,h,y,l,v,I,F,x,_,U,w,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q,R){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[F,"static/chunks/pages/index-3d19b9ffa15a928a.js"],"/404":["static/chunks/pages/404-9644eb282f2dcd71.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[s,e,F,"static/chunks/pages/add-systems-985d3c9179e69d7f.js"],"/add-systems/manual":[t,s,c,a,n,g,e,d,f,m,h,x,_,"static/chunks/pages/add-systems/manual-42b7fd34712f49bd.js"],"/add-systems/multiple":[d,j,U,"static/chunks/pages/add-systems/multiple-4f164eab0960bbe0.js"],"/consent":["static/chunks/pages/consent-70c5c6aa5389d99f.js"],"/consent/configure":[d,j,"static/chunks/pages/consent/configure-17ffe691b91cee2e.js"],"/consent/configure/add-vendors":[d,j,U,"static/chunks/pages/consent/configure/add-vendors-61090926e5f98a5d.js"],"/consent/privacy-experience":[g,w,"static/chunks/pages/consent/privacy-experience-609399510a60beb9.js"],"/consent/privacy-experience/new":[t,o,k,b,q,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[t,o,k,b,q,"static/chunks/pages/consent/privacy-experience/[id]-95c13bca5c1e575e.js"],"/consent/privacy-notices":[w,"static/chunks/pages/consent/privacy-notices-8365782543cf6ab9.js"],"/consent/privacy-notices/new":[t,o,k,b,N,"static/chunks/pages/consent/privacy-notices/new-821c0f82d5a2b7d4.js"],"/consent/privacy-notices/[id]":[t,o,k,b,N,"static/chunks/pages/consent/privacy-notices/[id]-d7d8f228ac74b26e.js"],"/consent/properties":[A,"static/chunks/pages/consent/properties-40a7aa65f4d13cf9.js"],"/consent/reporting":["static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-e4bacfc5c2ed2324.js"],"/data-catalog":[t,c,a,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-31a45ea2ca2a7f04.js"],"/data-catalog/[systemId]/projects":[t,c,a,p,y,i,"static/chunks/pages/data-catalog/[systemId]/projects-7b42dee0fb696658.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[S,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-3207f62e5012611b.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[t,s,c,a,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-adc500a03e239857.js"],"/data-catalog/[systemId]/resources":[S,"static/chunks/pages/data-catalog/[systemId]/resources-6c3714ee97a718c1.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[t,s,c,a,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-c8b3d090e4ba60d3.js"],"/data-discovery/action-center":["static/chunks/pages/data-discovery/action-center-d9795e00f39cf4e9.js"],"/data-discovery/action-center/[monitorId]":[t,s,c,a,e,C,l,"static/chunks/pages/data-discovery/action-center/[monitorId]-945d354ff057fb03.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[t,s,c,a,e,d,h,C,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-6172c2eb539319fd.js"],"/data-discovery/activity":[s,e,u,"static/chunks/pages/data-discovery/activity-657833fd8528280f.js"],"/data-discovery/detection":[s,e,u,z,"static/chunks/pages/data-discovery/detection-4decce5ef996e563.js"],"/data-discovery/detection/[resourceUrn]":[s,e,u,z,"static/chunks/pages/data-discovery/detection/[resourceUrn]-22eec362dfbb1d2a.js"],"/data-discovery/discovery":[t,s,c,a,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery-85fdbf4cde60d910.js"],"/data-discovery/discovery/[resourceUrn]":[t,s,c,a,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-01acdd1ad492fd89.js"],"/datamap":[s,a,"static/chunks/255-1bc0cbef7a59cdc6.js",e,f,E,"static/chunks/pages/datamap-3a4b89fb21d14753.js"],"/dataset":[r,"static/chunks/pages/dataset-e3c763f8e71f8e24.js"],"/dataset/new":[s,r,e,"static/chunks/pages/dataset/new-40ef544ca1f2c9b9.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",v,"static/chunks/pages/dataset/[datasetId]-97e2d375b21cfe43.js"],"/dataset/[datasetId]/[collectionName]":[t,c,a,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]-401c8be76d9daec7.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[t,c,a,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-cb8d303f56091bd5.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-03c54bc9fb18d2b0.js"],"/datastore-connection/new":[t,s,n,r,g,M,e,T,"static/chunks/pages/datastore-connection/new-651b10cae0e99a05.js"],"/datastore-connection/[id]":[t,s,n,r,M,e,T,"static/chunks/pages/datastore-connection/[id]-152e5d15705ec072.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",t,c,a,n,r,"static/chunks/5619-9b50cec521203989.js",P,"static/css/0b4b1b65cc874774.css","static/chunks/5596-bb601cbf40e47a0f.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[t,s,c,a,n,o,G,e,m,H,i,"static/chunks/pages/integrations-78d4e0c14654148b.js"],"/integrations/[id]":[t,s,c,a,n,o,G,e,m,H,i,"static/chunks/pages/integrations/[id]-4b0bb4ccfb237d41.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[t,c,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-b06a2204e2a5b667.js"],"/messaging/add-template":[J,"static/chunks/pages/messaging/add-template-0ed67cf774d5cbf5.js"],"/messaging/[id]":[J,"static/chunks/pages/messaging/[id]-72cb360a6d14e701.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-7050899b3f792129.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-7c3466f4d5797e55.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-8de252f25871bab9.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-cd6de0da47f980cf.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-7c238a881fe30e28.js"],"/poc/form-experiments/FormikSpreadField":[K,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[K,"static/chunks/pages/poc/forms-d4f3e8f67f76f146.js"],"/poc/table-migration":[d,j,"static/chunks/pages/poc/table-migration-c9220e20c1d93758.js"],"/privacy-requests":[t,s,"static/chunks/3550-d04125c828d591a1.js",e,"static/chunks/pages/privacy-requests-1433c9f9501a884f.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-44a4a638dcb2722a.js"],"/privacy-requests/configure/messaging":[s,e,"static/chunks/pages/privacy-requests/configure/messaging-9c1fd7867b2d80d7.js"],"/privacy-requests/configure/storage":[s,e,"static/chunks/pages/privacy-requests/configure/storage-fc959ed21dbce38c.js"],"/privacy-requests/[id]":[s,e,"static/css/073713cd1eddda79.css","static/chunks/pages/privacy-requests/[id]-b9d6886a3f157120.js"],"/properties":[A,"static/chunks/pages/properties-901be5fa4a48f48c.js"],"/properties/add-property":[O,"static/chunks/pages/properties/add-property-ebd114a86b809391.js"],"/properties/[id]":[O,"static/chunks/pages/properties/[id]-16e0b42cb342aa5f.js"],"/reporting/datamap":[t,s,c,a,P,e,f,E,"static/chunks/pages/reporting/datamap-da9ced1e20681154.js"],"/settings/about":["static/chunks/pages/settings/about-6f45ddbf675e66d2.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-0174554c0ac5958f.js"],"/settings/consent":["static/chunks/pages/settings/consent-1a8d05e19f06d857.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-275c49e6089c5c9f.js"],"/settings/custom-fields":[s,e,"static/chunks/pages/settings/custom-fields-49d86b9ca4523ca6.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-f71b4b95d91db926.js"],"/settings/domains":["static/chunks/pages/settings/domains-a595cad18cf04673.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-6f7f9751689b042c.js"],"/settings/locations":[Q,l,"static/chunks/pages/settings/locations-e2c88d7f779fe604.js"],"/settings/organization":["static/chunks/pages/settings/organization-c65acd2b7ab04753.js"],"/settings/regulations":[Q,l,"static/chunks/pages/settings/regulations-c1c699eeb40a9dc0.js"],"/systems":["static/chunks/pages/systems-30debc87925634d9.js"],"/systems/configure/[id]":[t,s,c,a,n,g,e,d,f,m,h,x,_,"static/chunks/pages/systems/configure/[id]-4a48b4f996a64957.js"],"/systems/configure/[id]/test-datasets":[r,"static/chunks/pages/systems/configure/[id]/test-datasets-a274e2191b87e315.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",t,s,c,o,"static/chunks/6148-59a59d5c5925344f.js",e,"static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-ca625b1296a029f0.js"],"/user-management":[I,"static/chunks/pages/user-management-5e2d0acf575252ca.js"],"/user-management/new":[I,R,"static/chunks/pages/user-management/new-de8cb3739ab99c09.js"],"/user-management/profile/[id]":[I,R,"static/chunks/pages/user-management/profile/[id]-7a3180b235eb8846.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/431-86ad2beeb93c95c9.js","static/chunks/768-034e121688a3bbdd.js","static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-8bc2c6c84172c096.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/1099-b973dfdfc5c3de90.js","static/chunks/8002-cfdc6574bd841892.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-6ee5c0a23951a07f.js","static/chunks/4808-a654c7f7a1ca62c8.js","static/chunks/3923-c6cdc2e5278ae9a7.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-55cc66e7c94f0686.js","static/chunks/4844-cd7e1d0c7bb94094.js","static/chunks/3620-ebd89f91b82661e8.js","static/css/10994e916bc9a00a.css","static/chunks/5487-37c78c4799ba5223.js","static/chunks/7476-2fc286c2a9125eb8.js","static/css/972dc7eef106ee7c.css","static/chunks/4786-aaef673b30c19e2e.js","static/css/304c6f148886a8d4.css","static/chunks/796-2de6dac5f311d54a.js","static/chunks/6853-313ce974d33432fb.js","static/chunks/1817-74692de5d760a664.js","static/chunks/6954-021bd06d0ab59c3c.js","static/chunks/79-d2ace89108ead8ae.js","static/chunks/3872-660aba76572c811b.js","static/chunks/3855-4174a4d4c205d6e8.js","static/chunks/3847-2759bf1f47a1d29e.js","static/chunks/1345-b60d1f3442379c73.js","static/chunks/9046-c44e41da49338c6c.js","static/chunks/5258-bc4a25d43e4aa07d.js","static/chunks/549-2213dc1c34143cda.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-4d31340b0d0157c1.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/3729-ccf90cdaae158f39.js","static/chunks/7630-b9a41262a69edf5e.js","static/chunks/2921-2d9261e8e2e127c0.js","static/chunks/787-8df7118742e84908.js","static/chunks/9826-d9addbd5ac990fa4.js","static/chunks/4121-9a4ebceff9accb7f.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1099],{56632:function(e,t,n){var a=n(89278),i=n(80068),o=n(50098);e.exports=function(e){return function(t,n,r){var s=Object(t);if(!i(t)){var l=a(n,3);t=o(t),n=function(e){return l(s[e],e,s)}}var c=e(t,n,r);return c>-1?s[l?t[c]:c]:void 0}}},64925:function(e,t,n){var a=n(56632)(n(66259));e.exports=a},66259:function(e,t,n){var a=n(95372),i=n(89278),o=n(47991),r=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return -1;var l=null==n?0:o(n);return l<0&&(l=r(s+l,0)),a(e,i(t,3),l)}},94919:function(e,t,n){var a=n(91936),i=1/0;e.exports=function(e){return e?(e=a(e))===i||e===-i?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,n){var a=n(94919);e.exports=function(e){var t=a(e),n=t%1;return t==t?n?t-n:t:0}},12627:function(e,t,n){"use strict";var a=n(24246),i=n(79283),o=n(34929);t.Z=e=>{let{selectedTaxonomies:t,showDisabled:n=!1,...r}=e,{getDataCategoryDisplayNameProps:s,getDataCategories:l}=(0,o.Z)(),c=(n?l():l().filter(e=>e.active)).filter(e=>!(null==t?void 0:t.includes(e.fides_key))).map(e=>{let{name:t,primaryName:n}=s(e.fides_key);return{value:e.fides_key,name:t,primaryName:n,description:e.description||""}});return(0,a.jsx)(i.l,{options:c,...r})}},79283:function(e,t,n){"use strict";n.d(t,{l:function(){return l}});var a=n(24246),i=n(96306),o=n(72707),r=n.n(o);let s=e=>{let{data:{formattedTitle:t,description:n,name:o,primaryName:r}}=e;return(0,a.jsxs)(i.jqI,{gap:12,title:"".concat(t," - ").concat(n),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:r||o}),r&&": ".concat(o)]}),(0,a.jsx)("em",{children:n})]})},l=e=>{let{options:t,...n}=e,o=null==t?void 0:t.map(e=>({...e,className:r().option,formattedTitle:[e.primaryName,e.name].filter(e=>e).join(": ")}));return(0,a.jsx)(i.WPr,{options:o,filterOption:(e,t)=>(null==t?void 0:t.formattedTitle.toLowerCase().includes(e.toLowerCase()))||(null==t?void 0:t.value.toLowerCase().includes(e.toLowerCase()))||!1,optionFilterProp:"label",autoFocus:!0,variant:"borderless",optionRender:s,styles:{popup:{root:{minWidth:"500px"}}},className:"w-full p-0","data-testid":"taxonomy-select",...n})}},34929:function(e,t,n){"use strict";var a=n(24246),i=n(64925),o=n.n(i),r=n(27378),s=n(16134),l=n(30002),c=n(28079),d=n(57072);let u=()=>{let{isLoading:e}=(0,c.fd)(),t=(0,s.C)(c.U3),{isLoading:n}=(0,d.MO)(),a=(0,s.C)(d.qb),{isLoading:i}=(0,l.te)();return{dataUses:t,dataSubjects:(0,s.C)(l.ZL),dataCategories:a,isLoading:e||n||i}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:n,isLoading:i}=u(),s=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 n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=t(e);if(!a)return{};let i=t(s(e,n)),o=!!a.parent_key;return{name:a.name||void 0,primaryName:o&&(null==i?void 0:i.name)!==a.name&&(null==i?void 0:i.name)||void 0}},c=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:i,primaryName:o}=l(e,t,n);return i?o?(0,a.jsxs)(r.Fragment,{children:[(0,a.jsxs)("strong",{children:[o,":"]})," ",i]},e):(0,a.jsx)("strong",{children:i},e):e},d=t=>o()(e,{fides_key:t}),f=e=>o()(t,{fides_key:e}),g=e=>o()(n,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:d,getDataUseDisplayName:e=>c(e,d,1),getDataUseDisplayNameProps:e=>l(e,d,1),getDataCategories:()=>t,getDataCategoryByKey:f,getDataCategoryDisplayName:e=>c(e,f,2),getDataCategoryDisplayNameProps:e=>l(e,f,2),getDataSubjects:()=>n,getDataSubjectByKey:g,getDataSubjectDisplayName:e=>{let t=g(e);return t?t.name:e},getPrimaryKey:s,isLoading:i}}},61099:function(e,t,n){"use strict";var a=n(24246),i=n(96306),o=n(27378),r=n(12627),s=n(34929),l=n(26183),c=n(70675);t.Z=e=>{var t,n,d;let{resource:u}=e,[f,g]=(0,o.useState)(!1),{getDataCategoryDisplayName:v}=(0,s.Z)(),[p]=(0,c.NA)(),m=(null===(t=u.classifications)||void 0===t?void 0:t.length)?u.classifications[0].label:null,x=null!==(d=u.user_assigned_data_categories)&&void 0!==d?d:[],h=!m&&!(null==x?void 0:x.length),_=null===(n=u.sub_field_urns)||void 0===n?void 0:n.length,j=e=>{p({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:[...x,e]})},y=e=>{var t;p({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:null!==(t=null==x?void 0:x.filter(t=>t!==e))&&void 0!==t?t:[]})},b=!f&&!!x.length,w=!f&&!!m&&!x.length;return(0,a.jsxs)(l.Z,{"data-testid":"edit-category-cell",children:[h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.j8w,{"data-testid":"no-classifications",color:"white",children:"None"}),!_&&(0,a.jsx)(i.j8w,{onClick:()=>g(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),b&&(0,a.jsxs)(a.Fragment,{children:[x.map(e=>(0,a.jsx)(i.j8w,{"data-testid":"user-classification-".concat(e),color:"white",closable:!0,onClose:()=>y(e),closeButtonLabel:"Remove category",children:v(e)},e)),(0,a.jsx)(i.j8w,{onClick:()=>g(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),w&&(0,a.jsxs)(i.j8w,{onClick:()=>g(!0),color:"white","data-testid":"classification-".concat(m),hasSparkle:!0,children:[v(m),(0,a.jsx)(i.PJP.I8b,{size:10})]}),f&&(0,a.jsx)(i.xuv,{className:"select-wrapper",position:"absolute",zIndex:10,top:"0",left:"0",width:"100%",height:"max",bgColor:"#fff",children:(0,a.jsx)(r.Z,{selectedTaxonomies:x,onChange:e=>{g(!1),j(e)},onBlur:()=>g(!1),open:!0})})]})}},26183:function(e,t,n){"use strict";var a=n(24246);n(27378),t.Z=e=>{let{children:t,className:n,...i}=e;return(0,a.jsx)("div",{className:"relative flex w-full flex-wrap items-center gap-2 overflow-x-auto py-2 ".concat(n||""),...i,children:t})}},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345],{11611:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},55193:function(e,t,i){var a=i(99736),r=i(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},14908:function(e,t,i){"use strict";var a=i(86677),r=i(27378);let s=e=>e.startsWith("#")?e.slice(1):e;t.Z=e=>{let{tabKeys:t,initialTab:i}=e,l=(0,a.useRouter)(),o=l.asPath.split("#")[1]||t[0],[n,c]=(0,r.useState)(o);return(0,r.useEffect)(()=>{i&&t.includes(i)&&c(i)},[i,t,l.isReady]),{activeTab:n,onTabChange:(0,r.useCallback)(async e=>{if(!t.includes(e)){await l.replace({pathname:l.pathname,query:l.query,hash:void 0}),c(t[0]);return}l.isReady&&(await l.replace({pathname:l.pathname,query:l.query,hash:s(e)},void 0,{shallow:!0}),c(e))},[l,t])}}},69828:function(e,t,i){"use strict";i.d(t,{Y:function(){return l}});var a=i(24246),r=i(96306),s=i(70788);let l=[(0,a.jsx)(r.PJP.S9g,{},"layers"),(0,a.jsx)(r.PJP.ehp,{},"dataset"),(0,a.jsx)(r.PJP.iA_,{},"table"),(0,a.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,o=[];if(t||o.push({title:"All activity"}),t){o.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&o.push({title:t,icon:l[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,a.jsx)(s.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,t,i){"use strict";i.d(t,{Z:function(){return I}});var a,r,s=i(24246),l=i(59003),o=i(92222),n=i(96306),c=i(27378),d=i(47935),u=i(70675),h=i(72625),m=i(54409),g=i(79947),x=i(87667),j=i(50169),v=i(28278),L=i(54682),p=i(74241),f=e=>{let{resourceType:t,changeTypeOverride:i}=e,a=(0,o.Cl)(),r=[];return t?t===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,s.jsx)(d.G3,{value:(0,p.Z)(e.getValue())}),header:e=>(0,s.jsx)(d.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{ignoreChildActions:i===v.E.MONITORED||i===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.TABLE?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,s.jsx)(g.Z,{type:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.ENDPOINT?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Object",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:r}:{columns:r}},y=i(14908);(a=r||(r={})).ACTION_REQUIRED="action-required",a.MONITORED="monitored",a.UNMONITORED="unmonitored";let D={"action-required":{label:"Action Required",key:"action-required",filters:[L.LL.ADDITION,L.LL.REMOVAL],childFilters:[L.LL.ADDITION,L.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[L.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[L.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var R=()=>{var e,t,i;let{activeTab:a,onTabChange:s}=(0,y.Z)({tabKeys:Object.values(r)});return{filterTabs:Object.values(D),activeTabKey:a,onTabChange:s,activeDiffFilters:null===(e=D[a])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(t=D[a])||void 0===t?void 0:t.childFilters,activeChangeTypeOverride:null===(i=D[a])||void 0===i?void 0:i.changeTypeOverride}},b=i(47182),_=i(38347),T=i(7940),w=i(80285),C=i(36168),O=i(30952);let H={items:[],total:0,page:1,size:50,pages:1},M=()=>(0,s.jsx)(n.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,s.jsxs)(n.gCW,{children:[(0,s.jsx)(n.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,s.jsx)(n.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var I=e=>{let{resourceUrn:t}=e,[i,a]=(0,c.useState)(""),{filterTabs:r,activeTabKey:h,onTabChange:m,activeDiffFilters:g,activeChildDiffFilters:x,activeChangeTypeOverride:j}=R(),{PAGE_SIZES:v,pageSize:p,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I,onNextPageClick:E,isNextPageDisabled:Z,startRange:k,endRange:A,pageIndex:N,setTotalPages:P,resetPageIndexToDefault:V}=(0,d.oi)();(0,c.useEffect)(()=>{V()},[t,i,V,g,x]);let{isFetching:S,isLoading:F,data:z}=(0,u.z8)({staged_resource_urn:t,page:N,size:p,child_diff_status:x,diff_status:g,search:i}),U=(0,T.G)(null==z?void 0:z.items[0]),{columns:$}=f({resourceType:U,changeTypeOverride:j}),{items:G,total:q,pages:W}=(0,c.useMemo)(()=>null!=z?z:H,[z]);(0,c.useEffect)(()=>{P(W)},[W,P]);let B=(0,c.useMemo)(()=>$,[$]),{navigateToDetectionResults:J}=(0,b.Z)(),K=(0,l.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:w.Z,columns:B,manualPagination:!0,data:G,columnResizeMode:"onChange"});return F?(0,s.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.A5g,{items:r.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>m(e)}),(0,s.jsx)(d.Q$,{children:(0,s.jsx)(n.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,s.jsxs)(n.kCb,{gap:6,align:"center",children:[(0,s.jsx)(n.xuv,{flexShrink:0,children:(0,s.jsx)(O.f,{value:i,onChange:a})}),(0,s.jsx)(_.a,{})]})})}),(0,s.jsx)(d.ZK,{tableInstance:K,onRowClick:e=>J({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>U!==L.D$.FIELD||(0,C.Z)(e),emptyTableNotice:(0,s.jsx)(M,{})}),(0,s.jsx)(d.s8,{totalRows:q||0,pageSizes:v,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I||S,onNextPageClick:E,isNextPageDisabled:Z||S,startRange:k,endRange:A})]})}},54409:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var a=i(24246),r=i(96306),s=i(812),l=i(75573),o=i(54682),n=i(31883);let c=(0,r.IUT)({displayName:"MonitorOffIcon",viewBox:"0 0 12 12",path:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.47125 1H5.85H6.15H6.51188L6.58875 1.36914L7.52062 5.83268L6.42408 4.98635L6.03375 3.11719L5.8038 4.50761L4.99323 3.882L5.40562 1.38867L5.47125 1ZM4.80795 5.0022L4.67675 5.79545L5.48735 6.42109L5.61854 5.62783L4.80795 5.0022ZM6.73856 6.49227L6.96125 7.55866L8.42407 8.6877L8.69498 8.00228L7.94864 7.42624L7.88625 7.58398L7.83501 7.33853L6.73856 6.49227ZM8.33138 6.45844L9.07755 7.03434L9.30188 6.4668H11.55H12V5.5293H11.55H9H8.69812L8.58375 5.82031L8.33138 6.45844ZM7.27551 9.06443L7.35399 9.125H7.28813L7.27551 9.06443ZM4.49147 6.91566L5.30209 7.54131L4.79437 10.6113L4.72875 11H4.35H4.05H3.69563L3.61313 10.6406L2.64563 6.46875H0.45H0V5.53125H0.45H2.69777L3.49646 6.1477L4.15125 8.97266L4.49147 6.91566Z",fill:"currentColor"}),(0,a.jsx)("g",{clipPath:"url(#clip0_341_3102)",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6755 10.4168L0.164222 2.304L0.775218 1.51237L11.2865 9.62517L10.6755 10.4168Z",fill:"currentColor"})}),(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip0_341_3102",children:(0,a.jsx)("rect",{width:"11.5",height:"9",fill:"white",transform:"translate(0 1.5)"})})})]})}),d=(0,r.IUT)({displayName:"MonitorOnIcon",viewBox:"0 0 12 10",path:(0,a.jsx)("path",{d:"M5.47125 0H5.85H6.15H6.51188L6.58875 0.369141L7.88625 6.58398L8.58375 4.82031L8.69812 4.5293H9H11.55H12V5.4668H11.55H9.30188L8.36625 7.83398L8.25188 8.125H7.95H7.65H7.28813L7.21125 7.75586L6.03375 2.11719L4.79437 9.61133L4.72875 10H4.35H4.05H3.69563L3.61313 9.64062L2.64563 5.46875H0.45H0V4.53125H0.45H3H3.35438L3.43688 4.89062L4.15125 7.97266L5.40562 0.388672L5.47125 0Z",fill:"currentColor"})});var u=i(79494),h=i(70675),m=i(7940),g=e=>{let{resource:t,ignoreChildActions:i=!1}=e,g=(0,m.G)(t),[x,{isLoading:j}]=(0,h.v8)(),[v,{isLoading:L}]=(0,h.vi)(),[p,{isLoading:f}]=(0,h.Tl)(),{successAlert:y,errorAlert:D}=(0,l.VY)(),R=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id});(0,n.D4)(e)?D((0,s.e$)(e.error,"Failed to confirm resource")):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},b=async()=>{let e=await p({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("".concat(t.name||"The resource"," has been un-muted and is now being monitored."))},_=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},T=async()=>{let e=await v({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to mute resource"):y("Ignored data will not be monitored for changes or added to Fides datasets.","".concat(t.name||"Resource"," ignored"))},w=j||L||f,{diff_status:C,child_diff_statuses:O}=t,H=g===o.D$.SCHEMA,M=g===o.D$.FIELD,I=O&&(O[o.LL.CLASSIFICATION_ADDITION]||O[o.LL.CLASSIFICATION_UPDATE]),E=H&&void 0===C||!M&&C===o.LL.ADDITION||I,Z=C!==o.LL.MUTED,k=C===o.LL.MUTED&&!M,A=C===o.LL.MUTED&&M,N=O&&(O[o.LL.ADDITION]||O[o.LL.REMOVAL]),P=C===o.LL.MONITORED&&!i&&N&&!I;return(0,a.jsxs)(r.Ugi,{children:[(E||P)&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:R,disabled:w,loading:j}),A&&(0,a.jsx)(u.Z,{title:"Un-Mute",icon:(0,a.jsx)(d,{}),onClick:b,disabled:w,loading:j}),k&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:_,disabled:w,loading:j}),Z&&(0,a.jsx)(u.Z,{title:"Ignore",icon:(0,a.jsx)(c,{}),onClick:T,disabled:w,loading:L})]})}},79947:function(e,t,i){"use strict";var a=i(24246),r=i(96306);t.Z=e=>{let{type:t}=e;return(0,a.jsx)(r.kCb,{align:"center",h:"full",children:!!t&&(0,a.jsx)(r.j8w,{children:t})})}},31883:function(e,t,i){"use strict";i.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=i(19043)}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1817],{11817:function(e,t,n){"use strict";n.d(t,{Z:function(){return B}});var i=n(24246),o=n(27824),r=n(34090),a=n(86677),s=n(27378),l=n(55484),c=n(16134),d=n(812);let u=(0,o.IUT)({displayName:"DesktopIcon",viewBox:"0 0 24 24",path:(0,i.jsx)("path",{fill:"currentColor",d:"M20.5556 4.05556H3.44444C3.10833 4.05556 2.83333 4.33056 2.83333 4.66667V12H21.1667V4.66667C21.1667 4.33056 20.8917 4.05556 20.5556 4.05556ZM23 12V13.8333V15.6667C23 17.0149 21.9038 18.1111 20.5556 18.1111H14.9142L15.2198 19.9445H17.1944C17.7024 19.9445 18.1111 20.3531 18.1111 20.8611C18.1111 21.3691 17.7024 21.7778 17.1944 21.7778H14.4444H9.55556H6.80556C6.29757 21.7778 5.88889 21.3691 5.88889 20.8611C5.88889 20.3531 6.29757 19.9445 6.80556 19.9445H8.78021L9.08576 18.1111H3.44444C2.09618 18.1111 1 17.0149 1 15.6667V13.8333V12V4.66667C1 3.31841 2.09618 2.22223 3.44444 2.22223H20.5556C21.9038 2.22223 23 3.31841 23 4.66667V12ZM2.83333 13.8333V15.6667C2.83333 16.0028 3.10833 16.2778 3.44444 16.2778H10.1476C10.159 16.2778 10.1705 16.2778 10.1781 16.2778H13.8142C13.8257 16.2778 13.8372 16.2778 13.8448 16.2778H20.5556C20.8917 16.2778 21.1667 16.0028 21.1667 15.6667V13.8333H2.83333ZM10.6365 19.9445H13.3597L13.0542 18.1111H10.942L10.6365 19.9445Z"})}),p=(0,o.IUT)({displayName:"MobileIcon",viewBox:"0 0 24 24",path:(0,i.jsx)("path",{fill:"currentColor",d:"M6.5 20.25C6.5 20.6281 6.80938 20.9375 7.1875 20.9375H16.8125C17.1906 20.9375 17.5 20.6281 17.5 20.25V16.8125H6.5V20.25ZM6.5 14.75H17.5V3.75C17.5 3.37188 17.1906 3.0625 16.8125 3.0625H7.1875C6.80938 3.0625 6.5 3.37188 6.5 3.75V14.75ZM4.4375 3.75C4.4375 2.2332 5.6707 1 7.1875 1H16.8125C18.3293 1 19.5625 2.2332 19.5625 3.75V20.25C19.5625 21.7668 18.3293 23 16.8125 23H7.1875C5.6707 23 4.4375 21.7668 4.4375 20.25V3.75ZM12 17.8438C12.2735 17.8438 12.5358 17.9524 12.7292 18.1458C12.9226 18.3392 13.0312 18.6015 13.0312 18.875C13.0312 19.1485 12.9226 19.4108 12.7292 19.6042C12.5358 19.7976 12.2735 19.9062 12 19.9062C11.7265 19.9062 11.4642 19.7976 11.2708 19.6042C11.0774 19.4108 10.9688 19.1485 10.9688 18.875C10.9688 18.6015 11.0774 18.3392 11.2708 18.1458C11.4642 17.9524 11.7265 17.8438 12 17.8438Z"})});var _=n(77830),v=n(46628),f=n(7426),m=n(60325);let h={language:{label:"Language",validation:l.Z_()},title:{label:"Title",validation:l.Z_()},description:{label:"Description",validation:l.Z_()},accept_button_label:{label:"Accept button label",validation:l.Z_()},reject_button_label:{label:"Reject button label",validation:l.Z_()},save_button_label:{label:"Save button label",validation:l.Z_()},acknowledge_button_label:{label:"Acknowledge button label",validation:l.Z_()},privacy_policy_url:{label:"Privacy policy URL",validation:l.Z_().url()},privacy_preferences_link_label:{label:"Privacy preferences link label",validation:l.Z_()},banner_title:{label:"Banner title",validation:l.Z_()},banner_description:{label:"Banner description",validation:l.Z_()},purpose_header:{label:"Purpose header",validation:l.Z_()},privacy_policy_link_label:{label:"Privacy policy link label",validation:l.Z_()},modal_link_label:{label:"Modal link label",validation:l.Z_()},is_default:{label:"Default language",validation:l.O7()}};var g=n(34334),y=n(13083),b=n.n(y),x=n(43218),S=n.n(x),w=n(52253),C=n(32885),j=n(54682);let R={language:j.eU.EN,accept_button_label:"Accept",acknowledge_button_label:"OK",banner_description:"",banner_title:"",purpose_header:"",description:"Description",privacy_policy_link_label:"",privacy_policy_url:"",modal_link_label:"",privacy_preferences_link_label:"Privacy preferences",reject_button_label:"Reject All",save_button_label:"Save",title:"Manage your consent preferences",is_default:!0},F=e=>({...R,...e.translations?e.translations[0]:{}}),A=(e,t)=>{var n,i,o,r;let a={options:{allowHTMLDescription:!0,base64Cookie:!1,debug:!1,fidesApiUrl:"http://localhost:8080/api/v1",fidesClearCookie:!0,fidesDisableSaveApi:!0,fidesDisableNoticesServedApi:!0,fidesJsBaseUrl:"",fidesLocale:null===(i=e.translations)||void 0===i?void 0:null===(n=i[0])||void 0===n?void 0:n.language,fidesString:null,geolocationApiUrl:"",isGeolocationEnabled:!1,isOverlayEnabled:!0,isPrefetchEnabled:!1,modalLinkId:null,overlayParentId:w.Vk,preventDismissal:null!==(r=e.dismissable)&&void 0!==r&&r,privacyCenterUrl:"http://localhost:3000",showFidesBrandLink:!0},experience:{available_locales:null===(o=e.translations)||void 0===o?void 0:o.map(e=>e.language),component:e.component,experience_config:{allow_language_selection:!0,auto_detect_language:!0,auto_subdomain_cookie_deletion:!0,component:e.component,disabled:!1,dismissable:e.dismissable,id:"pri_222",is_default:!0,language:"en",layer1_button_options:j.Of.OPT_IN_OPT_OUT,properties:[],regions:["us_ca"],show_layer1_notices:!1,translations:[F(e)]},id:"pri_111",privacy_notices:t,region:"us_ca"},geolocation:{country:"US",location:"US-CA",region:"CA"}};return e.component===j.re.TCF_OVERLAY&&(a.options.fidesTcfGdprApplies=!0,a.options.tcf_enabled=!0,a.geolocation={location:"eea",country:"eea"},a.experience.experience_config.regions=["eea"],a.experience={...a.experience,region:"eea",minimal_tcf:!0,gvl:{vendors:{}},tcf_purpose_names:["Store and/or access information on a device","Use limited data to select advertising","Create profiles for personalised advertising","Use profiles to select personalised advertising","Create profiles to personalise content","Use profiles to select personalised content","Measure advertising performance","Measure content performance","Understand audiences through statistics or combinations of data from different sources","Develop and improve services","Use limited data to select content"]},a.options.apiOptions={getPrivacyExperienceFn:async()=>a.experience}),a},k=e=>{let{language:t,is_default:n,...i}=R,o=Object.keys(i).map(t=>{let n=e[t];return{[t]:void 0!==n?n:R[t]}}).reduce((e,t)=>({...e,...t}),{});return{language:e.language,is_default:e.is_default,...o}},O=(e,t,n)=>e?e.map(e=>n.find(t=>(null==t?void 0:t.id)===e)).map(e=>t===j.re.TCF_OVERLAY&&void 0!==e?{...e,translations:[{language:"en",text:null==e?void 0:e.name}]}:e).filter(e=>void 0!==e):[];var T=n(74022),E=n(32222);let V=e=>{let{title:t,description:n}=e;return(0,i.jsx)(o.jqI,{className:"h-full items-center justify-center",children:(0,i.jsxs)(o.jqI,{className:"items-center gap-2 rounded-md p-6",style:{backgroundColor:T.Z.colors.white,boxShadow:T.Z.shadows.md,maxWidth:512},vertical:!0,"data-testid":"no-preview-notice",children:[(0,i.jsx)(o.xvT,{fontSize:"lg",fontWeight:"500",align:"center",children:t}),(0,i.jsx)(o.xvT,{color:"gray.500",align:"center",children:n})]})})};var z=e=>{var t,n;let{allPrivacyNotices:l,initialValues:c,translation:d,isMobilePreview:u}=e,p=(0,a.useRouter)().pathname.includes("/new"),{values:_}=(0,r.u6)(),[v,f]=(0,s.useState)([]),[m,h]=(0,s.useState)(!1),[g,y]=(0,s.useState)(),x=[j.re.BANNER_AND_MODAL,j.re.MODAL,j.re.TCF_OVERLAY].includes(_.component),{data:R}=(0,C.de)({pageIndex:1,pageSize:1}),F=(0,s.useMemo)(()=>(null==R?void 0:R.total)||0,[null==R?void 0:R.total]);(0,s.useEffect)(()=>{var e,t;return x&&m&&window.FidesPreview&&_.component&&((null===(e=_.privacy_notice_ids)||void 0===e?void 0:e.length)||_.component===j.re.TCF_OVERLAY)?_.component===j.re.TCF_OVERLAY?(window.FidesPreview("tcf"),y("tcf")):(window.FidesPreview("standard"),y("standard")):window.FidesPreview&&(null===(t=window.FidesPreview)||void 0===t||t.cleanup()),()=>{var e;y(void 0),null===(e=window.FidesPreview)||void 0===e||e.cleanup()}},[_.component,m,x,null===(t=_.privacy_notice_ids)||void 0===t?void 0:t.length,p]),(0,s.useEffect)(()=>{c&&_.component&&l&&(_.privacy_notice_ids?f(O(_.privacy_notice_ids,_.component,l)):f([]))},[_.privacy_notice_ids,l,_.component,c]);let T=(0,s.useMemo)(()=>_.component?A({...c,component:_.component},v):null,[c,v,_.component]);(0,s.useEffect)(()=>{var e,t,n,i;if(!x||!m||!window.FidesPreview||!window.Fides||!(null===(e=_.privacy_notice_ids)||void 0===e?void 0:e.length)&&_.component!==j.re.TCF_OVERLAY)return;_.component===j.re.MODAL&&(T.experience.experience_config.component=j.re.MODAL);let o=null===(t=_.translations)||void 0===t?void 0:t.find(e=>e.language===(null==d?void 0:d.language));(null===(n=_.translations)||void 0===n?void 0:n.length)&&(o?(T.experience.available_locales=[...T.experience.available_locales||[],o.language],T.experience.experience_config.translations[0]=k(o),T.options.fidesLocale=o.language):_.translations&&(T.experience.experience_config.translations[0]=k(_.translations[0]),T.options.fidesLocale=_.translations[0].language)),T.experience.experience_config.show_layer1_notices=!!(null===(i=_.privacy_notice_ids)||void 0===i?void 0:i.length)&&!!_.show_layer1_notices,T.experience.experience_config.layer1_button_options=(_.component===j.re.BANNER_AND_MODAL||_.component===j.re.TCF_OVERLAY)&&_.layer1_button_options?_.layer1_button_options:j.Of.OPT_IN_OPT_OUT,T.options.preventDismissal=!_.dismissable,T.experience.vendor_count=F,T.experience.experience_config.component=_.component,window.Fides.init(T)},[d,T,l,x,F,m,g,_.privacy_notice_ids,_.component,_.translations,_.show_layer1_notices,_.layer1_button_options,_.dismissable,c,v]);let z=document.getElementById("fides-modal");return(z&&z.removeAttribute("tabindex"),_.component)?x?(null===(n=_.privacy_notice_ids)||void 0===n?void 0:n.length)||_.component===j.re.TCF_OVERLAY?(0,i.jsxs)(o.jqI,{className:"size-full items-center justify-center overflow-scroll",children:[(0,i.jsx)(b(),{id:"4b2ec2183c5a567e",dynamic:[w.Vk,_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""],children:"div#fides-overlay{z-index:5000!important}div#".concat(w.Vk,"{width:100%;padding-top:45px;").concat(_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""," margin: auto;pointer-events:none}div#fides-banner-container{position:static!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}div#fides-banner-container.fides-banner-hidden{display:none}.fides-modal-container{background-color:unset!important;position:static!important;display:none!important}.fides-modal-overlay{background-color:inherit!important;position:static!important;display:none!important}div.fides-modal-content{position:relative!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;left:initial!important;top:initial!important}div.fides-modal-footer{width:unset}")}),x?(0,i.jsx)("style",{children:"div#fides-modal {\n display: flex !important;\n justify-content: center;\n background-color: unset;\n ".concat(_.component===j.re.BANNER_AND_MODAL||_.component===j.re.TCF_OVERLAY?"padding-bottom: 3rem;":"","\n }")}):null,u?(0,i.jsx)("style",{children:"\n div#fides-overlay-wrapper {\n max-width: 400px;\n margin: auto;\n }\n div.fides-modal-button-group {\n flex-direction: column !important;\n }\n div#fides-banner {\n padding: 24px;\n width: 100%;\n }\n\n div#fides-banner-description {\n margin-bottom: 0px;\n }\n\n div#fides-banner-inner div#fides-button-group {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding-top: 24px;\n }\n\n .fides-banner-button-group {\n flex-direction: column;\n width: 100%;\n }\n\n button.fides-banner-button {\n margin: 0px;\n width: 100%;\n }\n\n div#fides-banner-inner-container {\n display: flex;\n flex-direction: column;\n max-height: 50vh;\n overflow-y: auto;\n scrollbar-gutter: stable;\n }\n\n div#fides-privacy-policy-link {\n order: 1;\n width: 100%;\n }\n .fides-modal-footer {\n max-width: 100%;\n }\n .fides-banner-secondary-actions {\n flex-direction: column-reverse;\n gap: 12px;\n }\n "}):(0,i.jsx)("style",{children:"\n div#fides-banner {\n width: 60%;\n }\n @media (min-width: 768px) {\n div#fides-banner {\n width: 100%;\n }\n }\n @media (min-width: 1155px) {\n div#fides-banner {\n width: 90%;\n }\n }\n @media (min-width: 1440px) {\n div#fides-banner {\n width: 60%;\n }\n }\n "}),(0,i.jsx)(S(),{id:"fides-js-script",src:"/lib/fides-preview.js",onReady:()=>{h(!0)}}),(0,i.jsx)("div",{id:w.Vk,"data-a11y-dialog-ignore-focus-trap":"",inert:"",className:b().dynamic([["4b2ec2183c5a567e",[w.Vk,_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""]]])},_.component)]}):(0,i.jsx)(V,{title:"No privacy notices added",description:'To view a preview of this experience, add a privacy notice under "Privacy Notices" to the left.'}):(0,i.jsx)(V,{title:"".concat(E.J.get(_.component)," preview not available"),description:"There is no preview available for ".concat(E.J.get(_.component),". You can edit the available settings\n and languages to the left.")}):(0,i.jsx)(V,{title:"No privacy experience type selected",description:"Please select a privacy experience type to preview."})},N=n(94315),L=n(5331),P=n(16277),Z=n(71922),I=n(31883);let M=e=>{let t=(0,m.y3)(e),n={};return Object.entries(t).forEach(e=>{let[t,i]=e;if(i.included){let e=h[t];n[t]=i.required?e.validation.required().label(e.label):e.validation.nullable().label(e.label)}}),l.Ry().shape(n)},D=e=>{let{componentType:t}=e;return M(t)},H=l.Ry().shape({name:l.Z_().required().label("Experience name"),component:l.Z_().required().label("Experience type"),translations:l.IX().when("component",(e,t)=>{let[n]=e;return t.of(D({componentType:n}))})});var B=e=>{var t;let{passedInExperience:n,passedInTranslations:l}=e,[h]=(0,N.mJ)(),[y]=(0,N.$d)(),b=(0,o.pmc)(),[x,S]=(0,s.useState)(!1),w=(0,a.useRouter)(),{data:C}=(0,f.tB)({api_set:!1}),j=null==C?void 0:null===(t=C.plus_consent_settings)||void 0===t?void 0:t.enable_translations,R=(0,c.C)(g.Zp),F=(0,c.C)(g.G1);(0,g.Ah)({page:R,size:F});let A=(0,c.C)(g.fJ),k=(0,c.C)(Z.sX),O=n?{...m.DD,...(0,m.Uv)(n)}:m.DD,T=async e=>{var t,i;let o;e.privacy_notice_ids=null===(t=e.privacy_notice_ids)||void 0===t?void 0:t.filter(e=>"tcf_purposes_placeholder"!==e),O.tcf_configuration_id&&!e.tcf_configuration_id&&(e.tcf_configuration_id=null);let r={...e,disabled:null===(i=null==n?void 0:n.disabled)||void 0===i||i,allow_language_selection:e.translations&&e.translations.length>1};if(n){let{component:e,...t}=r;o=await y({...t,id:n.id})}else o=await h(r);(0,I.D4)(o)?b((0,v.Vo)((0,d.e$)(o.error))):(b((0,v.t5)("Privacy experience successfully ".concat(n?"updated":"created"))),w.push(_.w0))},[E,V]=(0,s.useState)(void 0),[M,D]=(0,s.useState)(!1);return(0,i.jsx)(r.J9,{initialValues:O,enableReinitialize:!0,onSubmit:T,validationSchema:H,children:(0,i.jsx)(r.l0,{style:{height:"100vh"},children:(0,i.jsxs)(o.jqI,{className:"size-full","data-testid":"privacy-experience-detail-page",children:[E?(0,i.jsx)(P.Z,{translation:E,translationsEnabled:j,isOOB:M,onReturnToMainForm:()=>{V(void 0),D(!1)}}):(0,i.jsx)(L.d0,{allPrivacyNotices:k,translationsEnabled:j,onSelectTranslation:e=>{V({...e,name:(0,m.Go)(e,A)})},onCreateTranslation:e=>{let t=null==l?void 0:l.find(t=>t.language===e);return t&&D(!0),null!=t?t:{language:e,is_default:!1}}}),(0,i.jsxs)(o.jqI,{vertical:!0,className:"w-full overflow-y-hidden",style:{backgroundColor:o.rSc.colors.gray[50]},children:[(0,i.jsxs)(o.jqI,{className:"flex-row items-center p-4",style:{backgroundColor:o.rSc.colors.white,borderBottom:"1px solid ".concat(o.rSc.colors.gray[100])},children:[(0,i.jsx)(o.xvT,{fontSize:"md",fontWeight:"semibold",children:"PREVIEW"}),(0,i.jsx)(o.LZC,{}),(0,i.jsxs)(o.y02.Group,{onChange:e=>S(e.target.value),defaultValue:!1,children:[(0,i.jsx)(o.y02.Button,{value:!0,title:"View mobile preview",children:(0,i.jsx)(p,{})}),(0,i.jsx)(o.y02.Button,{value:!1,title:"View desktop preview",children:(0,i.jsx)(u,{})})]})]}),(0,i.jsx)(z,{allPrivacyNotices:k,initialValues:O,translation:E,isMobilePreview:x})]})]})})})}},32222:function(e,t,n){"use strict";n.d(t,{J:function(){return i}});let i=new Map([["overlay","Overlay"],["privacy_center","Privacy center"],["tcf_overlay","TCF overlay"],["modal","Modal"],["banner_and_modal","Banner and modal"],["headless","Headless"]])},31883:function(e,t,n){"use strict";n.d(t,{Bw:function(){return i.Bw},D4:function(){return i.D4}});var i=n(19043)},26607:function(e,t,n){"use strict";var i=n(27061);n(25123);var o=n(27378),r=o&&"object"==typeof o&&"default"in o?o:{default:o},a=void 0!==i&&i.env&&!0,s=function(e){return"[object String]"===Object.prototype.toString.call(e)},l=function(){function e(e){var t=void 0===e?{}:e,n=t.name,i=void 0===n?"stylesheet":n,o=t.optimizeForSpeed,r=void 0===o?a:o;c(s(i),"`name` must be a string"),this._name=i,this._deletedRulePlaceholder="#"+i+"-deleted-rule____{}",c("boolean"==typeof r,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=r,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var l=document.querySelector('meta[property="csp-nonce"]');this._nonce=l?l.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(a||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,n){return"number"==typeof n?e._serverSheet.cssRules[n]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),n},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},t.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},t.insertRule=function(e,t){if(c(s(e),"`insertRule` accepts only strings"),this._optimizeForSpeed){var n=this.getSheet();"number"!=typeof t&&(t=n.cssRules.length);try{n.insertRule(e,t)}catch(t){return a||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var i=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,i))}return this._rulesCount++},t.replaceRule=function(e,t){if(this._optimizeForSpeed){var n=this.getSheet();if(t.trim()||(t=this._deletedRulePlaceholder),!n.cssRules[e])return e;n.deleteRule(e);try{n.insertRule(t,e)}catch(i){a||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),n.insertRule(this._deletedRulePlaceholder,e)}}else{var i=this._tags[e];c(i,"old rule at index `"+e+"` not found"),i.textContent=t}return e},t.deleteRule=function(e){if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];c(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},t.flush=function(){this._injected=!1,this._rulesCount=0,this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]},t.cssRules=function(){var e=this;return this._tags.reduce(function(t,n){return n?t=t.concat(Array.prototype.map.call(e.getSheetForTag(n).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},t.makeStyleTag=function(e,t,n){t&&c(s(t),"makeStyleTag accepts only strings as second parameter");var i=document.createElement("style");this._nonce&&i.setAttribute("nonce",this._nonce),i.type="text/css",i.setAttribute("data-"+e,""),t&&i.appendChild(document.createTextNode(t));var o=document.head||document.getElementsByTagName("head")[0];return n?o.insertBefore(i,n):o.appendChild(i),i},function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}(e.prototype,[{key:"length",get:function(){return this._rulesCount}}]),e}();function c(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var d=function(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0},u={};function p(e,t){if(!t)return"jsx-"+e;var n=String(t),i=e+n;return u[i]||(u[i]="jsx-"+d(e+"-"+n)),u[i]}function _(e,t){var n=e+t;return u[n]||(u[n]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[n]}var v=function(){function e(e){var t=void 0===e?{}:e,n=t.styleSheet,i=void 0===n?null:n,o=t.optimizeForSpeed,r=void 0!==o&&o;this._sheet=i||new l({name:"styled-jsx",optimizeForSpeed:r}),this._sheet.inject(),i&&"boolean"==typeof r&&(this._sheet.setOptimizeForSpeed(r),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var n=this.getIdAndRules(e),i=n.styleId,o=n.rules;if(i in this._instancesCounts){this._instancesCounts[i]+=1;return}var r=o.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[i]=r,this._instancesCounts[i]=1},t.remove=function(e){var t=this,n=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(n in this._instancesCounts,"styleId: `"+n+"` not found"),this._instancesCounts[n]-=1,this._instancesCounts[n]<1){var i=this._fromServer&&this._fromServer[n];i?(i.parentNode.removeChild(i),delete this._fromServer[n]):(this._indices[n].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[n]),delete this._instancesCounts[n]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],n=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return n[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,n;return t=this.cssRules(),void 0===(n=e)&&(n={}),t.map(function(e){var t=e[0],i=e[1];return r.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:n.nonce?n.nonce:void 0,dangerouslySetInnerHTML:{__html:i}})})},t.getIdAndRules=function(e){var t=e.children,n=e.dynamic,i=e.id;if(n){var o=p(i,n);return{styleId:o,rules:Array.isArray(t)?t.map(function(e){return _(o,e)}):[_(o,t)]}}return{styleId:p(i),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),f=o.createContext(null);f.displayName="StyleSheetContext";var m=r.default.useInsertionEffect||r.default.useLayoutEffect,h=new v;function g(e){var t=h||o.useContext(f);return t&&m(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)]),null}g.dynamic=function(e){return e.map(function(e){return p(e[0],e[1])}).join(" ")},t.style=g},13083:function(e,t,n){"use strict";e.exports=n(26607).style},25123:function(){},43218:function(e,t,n){e.exports=n(43530)}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1817],{11817:function(e,t,n){"use strict";n.d(t,{Z:function(){return B}});var i=n(24246),o=n(96306),r=n(34090),a=n(86677),s=n(27378),l=n(55484),c=n(16134),d=n(812);let u=(0,o.IUT)({displayName:"DesktopIcon",viewBox:"0 0 24 24",path:(0,i.jsx)("path",{fill:"currentColor",d:"M20.5556 4.05556H3.44444C3.10833 4.05556 2.83333 4.33056 2.83333 4.66667V12H21.1667V4.66667C21.1667 4.33056 20.8917 4.05556 20.5556 4.05556ZM23 12V13.8333V15.6667C23 17.0149 21.9038 18.1111 20.5556 18.1111H14.9142L15.2198 19.9445H17.1944C17.7024 19.9445 18.1111 20.3531 18.1111 20.8611C18.1111 21.3691 17.7024 21.7778 17.1944 21.7778H14.4444H9.55556H6.80556C6.29757 21.7778 5.88889 21.3691 5.88889 20.8611C5.88889 20.3531 6.29757 19.9445 6.80556 19.9445H8.78021L9.08576 18.1111H3.44444C2.09618 18.1111 1 17.0149 1 15.6667V13.8333V12V4.66667C1 3.31841 2.09618 2.22223 3.44444 2.22223H20.5556C21.9038 2.22223 23 3.31841 23 4.66667V12ZM2.83333 13.8333V15.6667C2.83333 16.0028 3.10833 16.2778 3.44444 16.2778H10.1476C10.159 16.2778 10.1705 16.2778 10.1781 16.2778H13.8142C13.8257 16.2778 13.8372 16.2778 13.8448 16.2778H20.5556C20.8917 16.2778 21.1667 16.0028 21.1667 15.6667V13.8333H2.83333ZM10.6365 19.9445H13.3597L13.0542 18.1111H10.942L10.6365 19.9445Z"})}),p=(0,o.IUT)({displayName:"MobileIcon",viewBox:"0 0 24 24",path:(0,i.jsx)("path",{fill:"currentColor",d:"M6.5 20.25C6.5 20.6281 6.80938 20.9375 7.1875 20.9375H16.8125C17.1906 20.9375 17.5 20.6281 17.5 20.25V16.8125H6.5V20.25ZM6.5 14.75H17.5V3.75C17.5 3.37188 17.1906 3.0625 16.8125 3.0625H7.1875C6.80938 3.0625 6.5 3.37188 6.5 3.75V14.75ZM4.4375 3.75C4.4375 2.2332 5.6707 1 7.1875 1H16.8125C18.3293 1 19.5625 2.2332 19.5625 3.75V20.25C19.5625 21.7668 18.3293 23 16.8125 23H7.1875C5.6707 23 4.4375 21.7668 4.4375 20.25V3.75ZM12 17.8438C12.2735 17.8438 12.5358 17.9524 12.7292 18.1458C12.9226 18.3392 13.0312 18.6015 13.0312 18.875C13.0312 19.1485 12.9226 19.4108 12.7292 19.6042C12.5358 19.7976 12.2735 19.9062 12 19.9062C11.7265 19.9062 11.4642 19.7976 11.2708 19.6042C11.0774 19.4108 10.9688 19.1485 10.9688 18.875C10.9688 18.6015 11.0774 18.3392 11.2708 18.1458C11.4642 17.9524 11.7265 17.8438 12 17.8438Z"})});var _=n(77830),v=n(46628),f=n(7426),m=n(60325);let h={language:{label:"Language",validation:l.Z_()},title:{label:"Title",validation:l.Z_()},description:{label:"Description",validation:l.Z_()},accept_button_label:{label:"Accept button label",validation:l.Z_()},reject_button_label:{label:"Reject button label",validation:l.Z_()},save_button_label:{label:"Save button label",validation:l.Z_()},acknowledge_button_label:{label:"Acknowledge button label",validation:l.Z_()},privacy_policy_url:{label:"Privacy policy URL",validation:l.Z_().url()},privacy_preferences_link_label:{label:"Privacy preferences link label",validation:l.Z_()},banner_title:{label:"Banner title",validation:l.Z_()},banner_description:{label:"Banner description",validation:l.Z_()},purpose_header:{label:"Purpose header",validation:l.Z_()},privacy_policy_link_label:{label:"Privacy policy link label",validation:l.Z_()},modal_link_label:{label:"Modal link label",validation:l.Z_()},is_default:{label:"Default language",validation:l.O7()}};var g=n(34334),y=n(13083),b=n.n(y),x=n(43218),S=n.n(x),w=n(52253),C=n(32885),j=n(54682);let R={language:j.eU.EN,accept_button_label:"Accept",acknowledge_button_label:"OK",banner_description:"",banner_title:"",purpose_header:"",description:"Description",privacy_policy_link_label:"",privacy_policy_url:"",modal_link_label:"",privacy_preferences_link_label:"Privacy preferences",reject_button_label:"Reject All",save_button_label:"Save",title:"Manage your consent preferences",is_default:!0},F=e=>({...R,...e.translations?e.translations[0]:{}}),A=(e,t)=>{var n,i,o,r;let a={options:{allowHTMLDescription:!0,base64Cookie:!1,debug:!1,fidesApiUrl:"http://localhost:8080/api/v1",fidesClearCookie:!0,fidesDisableSaveApi:!0,fidesDisableNoticesServedApi:!0,fidesJsBaseUrl:"",fidesLocale:null===(i=e.translations)||void 0===i?void 0:null===(n=i[0])||void 0===n?void 0:n.language,fidesString:null,geolocationApiUrl:"",isGeolocationEnabled:!1,isOverlayEnabled:!0,isPrefetchEnabled:!1,modalLinkId:null,overlayParentId:w.Vk,preventDismissal:null!==(r=e.dismissable)&&void 0!==r&&r,privacyCenterUrl:"http://localhost:3000",showFidesBrandLink:!0},experience:{available_locales:null===(o=e.translations)||void 0===o?void 0:o.map(e=>e.language),component:e.component,experience_config:{allow_language_selection:!0,auto_detect_language:!0,auto_subdomain_cookie_deletion:!0,component:e.component,disabled:!1,dismissable:e.dismissable,id:"pri_222",is_default:!0,language:"en",layer1_button_options:j.Of.OPT_IN_OPT_OUT,properties:[],regions:["us_ca"],show_layer1_notices:!1,translations:[F(e)]},id:"pri_111",privacy_notices:t,region:"us_ca"},geolocation:{country:"US",location:"US-CA",region:"CA"}};return e.component===j.re.TCF_OVERLAY&&(a.options.fidesTcfGdprApplies=!0,a.options.tcf_enabled=!0,a.geolocation={location:"eea",country:"eea"},a.experience.experience_config.regions=["eea"],a.experience={...a.experience,region:"eea",minimal_tcf:!0,gvl:{vendors:{}},tcf_purpose_names:["Store and/or access information on a device","Use limited data to select advertising","Create profiles for personalised advertising","Use profiles to select personalised advertising","Create profiles to personalise content","Use profiles to select personalised content","Measure advertising performance","Measure content performance","Understand audiences through statistics or combinations of data from different sources","Develop and improve services","Use limited data to select content"]},a.options.apiOptions={getPrivacyExperienceFn:async()=>a.experience}),a},k=e=>{let{language:t,is_default:n,...i}=R,o=Object.keys(i).map(t=>{let n=e[t];return{[t]:void 0!==n?n:R[t]}}).reduce((e,t)=>({...e,...t}),{});return{language:e.language,is_default:e.is_default,...o}},O=(e,t,n)=>e?e.map(e=>n.find(t=>(null==t?void 0:t.id)===e)).map(e=>t===j.re.TCF_OVERLAY&&void 0!==e?{...e,translations:[{language:"en",text:null==e?void 0:e.name}]}:e).filter(e=>void 0!==e):[];var T=n(74022),E=n(32222);let V=e=>{let{title:t,description:n}=e;return(0,i.jsx)(o.jqI,{className:"h-full items-center justify-center",children:(0,i.jsxs)(o.jqI,{className:"items-center gap-2 rounded-md p-6",style:{backgroundColor:T.Z.colors.white,boxShadow:T.Z.shadows.md,maxWidth:512},vertical:!0,"data-testid":"no-preview-notice",children:[(0,i.jsx)(o.xvT,{fontSize:"lg",fontWeight:"500",align:"center",children:t}),(0,i.jsx)(o.xvT,{color:"gray.500",align:"center",children:n})]})})};var z=e=>{var t,n;let{allPrivacyNotices:l,initialValues:c,translation:d,isMobilePreview:u}=e,p=(0,a.useRouter)().pathname.includes("/new"),{values:_}=(0,r.u6)(),[v,f]=(0,s.useState)([]),[m,h]=(0,s.useState)(!1),[g,y]=(0,s.useState)(),x=[j.re.BANNER_AND_MODAL,j.re.MODAL,j.re.TCF_OVERLAY].includes(_.component),{data:R}=(0,C.de)({pageIndex:1,pageSize:1}),F=(0,s.useMemo)(()=>(null==R?void 0:R.total)||0,[null==R?void 0:R.total]);(0,s.useEffect)(()=>{var e,t;return x&&m&&window.FidesPreview&&_.component&&((null===(e=_.privacy_notice_ids)||void 0===e?void 0:e.length)||_.component===j.re.TCF_OVERLAY)?_.component===j.re.TCF_OVERLAY?(window.FidesPreview("tcf"),y("tcf")):(window.FidesPreview("standard"),y("standard")):window.FidesPreview&&(null===(t=window.FidesPreview)||void 0===t||t.cleanup()),()=>{var e;y(void 0),null===(e=window.FidesPreview)||void 0===e||e.cleanup()}},[_.component,m,x,null===(t=_.privacy_notice_ids)||void 0===t?void 0:t.length,p]),(0,s.useEffect)(()=>{c&&_.component&&l&&(_.privacy_notice_ids?f(O(_.privacy_notice_ids,_.component,l)):f([]))},[_.privacy_notice_ids,l,_.component,c]);let T=(0,s.useMemo)(()=>_.component?A({...c,component:_.component},v):null,[c,v,_.component]);(0,s.useEffect)(()=>{var e,t,n,i;if(!x||!m||!window.FidesPreview||!window.Fides||!(null===(e=_.privacy_notice_ids)||void 0===e?void 0:e.length)&&_.component!==j.re.TCF_OVERLAY)return;_.component===j.re.MODAL&&(T.experience.experience_config.component=j.re.MODAL);let o=null===(t=_.translations)||void 0===t?void 0:t.find(e=>e.language===(null==d?void 0:d.language));(null===(n=_.translations)||void 0===n?void 0:n.length)&&(o?(T.experience.available_locales=[...T.experience.available_locales||[],o.language],T.experience.experience_config.translations[0]=k(o),T.options.fidesLocale=o.language):_.translations&&(T.experience.experience_config.translations[0]=k(_.translations[0]),T.options.fidesLocale=_.translations[0].language)),T.experience.experience_config.show_layer1_notices=!!(null===(i=_.privacy_notice_ids)||void 0===i?void 0:i.length)&&!!_.show_layer1_notices,T.experience.experience_config.layer1_button_options=(_.component===j.re.BANNER_AND_MODAL||_.component===j.re.TCF_OVERLAY)&&_.layer1_button_options?_.layer1_button_options:j.Of.OPT_IN_OPT_OUT,T.options.preventDismissal=!_.dismissable,T.experience.vendor_count=F,T.experience.experience_config.component=_.component,window.Fides.init(T)},[d,T,l,x,F,m,g,_.privacy_notice_ids,_.component,_.translations,_.show_layer1_notices,_.layer1_button_options,_.dismissable,c,v]);let z=document.getElementById("fides-modal");return(z&&z.removeAttribute("tabindex"),_.component)?x?(null===(n=_.privacy_notice_ids)||void 0===n?void 0:n.length)||_.component===j.re.TCF_OVERLAY?(0,i.jsxs)(o.jqI,{className:"size-full items-center justify-center overflow-scroll",children:[(0,i.jsx)(b(),{id:"4b2ec2183c5a567e",dynamic:[w.Vk,_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""],children:"div#fides-overlay{z-index:5000!important}div#".concat(w.Vk,"{width:100%;padding-top:45px;").concat(_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""," margin: auto;pointer-events:none}div#fides-banner-container{position:static!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}div#fides-banner-container.fides-banner-hidden{display:none}.fides-modal-container{background-color:unset!important;position:static!important;display:none!important}.fides-modal-overlay{background-color:inherit!important;position:static!important;display:none!important}div.fides-modal-content{position:relative!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;left:initial!important;top:initial!important}div.fides-modal-footer{width:unset}")}),x?(0,i.jsx)("style",{children:"div#fides-modal {\n display: flex !important;\n justify-content: center;\n background-color: unset;\n ".concat(_.component===j.re.BANNER_AND_MODAL||_.component===j.re.TCF_OVERLAY?"padding-bottom: 3rem;":"","\n }")}):null,u?(0,i.jsx)("style",{children:"\n div#fides-overlay-wrapper {\n max-width: 400px;\n margin: auto;\n }\n div.fides-modal-button-group {\n flex-direction: column !important;\n }\n div#fides-banner {\n padding: 24px;\n width: 100%;\n }\n\n div#fides-banner-description {\n margin-bottom: 0px;\n }\n\n div#fides-banner-inner div#fides-button-group {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding-top: 24px;\n }\n\n .fides-banner-button-group {\n flex-direction: column;\n width: 100%;\n }\n\n button.fides-banner-button {\n margin: 0px;\n width: 100%;\n }\n\n div#fides-banner-inner-container {\n display: flex;\n flex-direction: column;\n max-height: 50vh;\n overflow-y: auto;\n scrollbar-gutter: stable;\n }\n\n div#fides-privacy-policy-link {\n order: 1;\n width: 100%;\n }\n .fides-modal-footer {\n max-width: 100%;\n }\n .fides-banner-secondary-actions {\n flex-direction: column-reverse;\n gap: 12px;\n }\n "}):(0,i.jsx)("style",{children:"\n div#fides-banner {\n width: 60%;\n }\n @media (min-width: 768px) {\n div#fides-banner {\n width: 100%;\n }\n }\n @media (min-width: 1155px) {\n div#fides-banner {\n width: 90%;\n }\n }\n @media (min-width: 1440px) {\n div#fides-banner {\n width: 60%;\n }\n }\n "}),(0,i.jsx)(S(),{id:"fides-js-script",src:"/lib/fides-preview.js",onReady:()=>{h(!0)}}),(0,i.jsx)("div",{id:w.Vk,"data-a11y-dialog-ignore-focus-trap":"",inert:"",className:b().dynamic([["4b2ec2183c5a567e",[w.Vk,_.component!==j.re.TCF_OVERLAY?"padding-bottom: 45px;":""]]])},_.component)]}):(0,i.jsx)(V,{title:"No privacy notices added",description:'To view a preview of this experience, add a privacy notice under "Privacy Notices" to the left.'}):(0,i.jsx)(V,{title:"".concat(E.J.get(_.component)," preview not available"),description:"There is no preview available for ".concat(E.J.get(_.component),". You can edit the available settings\n and languages to the left.")}):(0,i.jsx)(V,{title:"No privacy experience type selected",description:"Please select a privacy experience type to preview."})},N=n(94315),L=n(5331),P=n(16277),Z=n(71922),I=n(31883);let M=e=>{let t=(0,m.y3)(e),n={};return Object.entries(t).forEach(e=>{let[t,i]=e;if(i.included){let e=h[t];n[t]=i.required?e.validation.required().label(e.label):e.validation.nullable().label(e.label)}}),l.Ry().shape(n)},D=e=>{let{componentType:t}=e;return M(t)},H=l.Ry().shape({name:l.Z_().required().label("Experience name"),component:l.Z_().required().label("Experience type"),translations:l.IX().when("component",(e,t)=>{let[n]=e;return t.of(D({componentType:n}))})});var B=e=>{var t;let{passedInExperience:n,passedInTranslations:l}=e,[h]=(0,N.mJ)(),[y]=(0,N.$d)(),b=(0,o.pmc)(),[x,S]=(0,s.useState)(!1),w=(0,a.useRouter)(),{data:C}=(0,f.tB)({api_set:!1}),j=null==C?void 0:null===(t=C.plus_consent_settings)||void 0===t?void 0:t.enable_translations,R=(0,c.C)(g.Zp),F=(0,c.C)(g.G1);(0,g.Ah)({page:R,size:F});let A=(0,c.C)(g.fJ),k=(0,c.C)(Z.sX),O=n?{...m.DD,...(0,m.Uv)(n)}:m.DD,T=async e=>{var t,i;let o;e.privacy_notice_ids=null===(t=e.privacy_notice_ids)||void 0===t?void 0:t.filter(e=>"tcf_purposes_placeholder"!==e),O.tcf_configuration_id&&!e.tcf_configuration_id&&(e.tcf_configuration_id=null);let r={...e,disabled:null===(i=null==n?void 0:n.disabled)||void 0===i||i,allow_language_selection:e.translations&&e.translations.length>1};if(n){let{component:e,...t}=r;o=await y({...t,id:n.id})}else o=await h(r);(0,I.D4)(o)?b((0,v.Vo)((0,d.e$)(o.error))):(b((0,v.t5)("Privacy experience successfully ".concat(n?"updated":"created"))),w.push(_.w0))},[E,V]=(0,s.useState)(void 0),[M,D]=(0,s.useState)(!1);return(0,i.jsx)(r.J9,{initialValues:O,enableReinitialize:!0,onSubmit:T,validationSchema:H,children:(0,i.jsx)(r.l0,{style:{height:"100vh"},children:(0,i.jsxs)(o.jqI,{className:"size-full","data-testid":"privacy-experience-detail-page",children:[E?(0,i.jsx)(P.Z,{translation:E,translationsEnabled:j,isOOB:M,onReturnToMainForm:()=>{V(void 0),D(!1)}}):(0,i.jsx)(L.d0,{allPrivacyNotices:k,translationsEnabled:j,onSelectTranslation:e=>{V({...e,name:(0,m.Go)(e,A)})},onCreateTranslation:e=>{let t=null==l?void 0:l.find(t=>t.language===e);return t&&D(!0),null!=t?t:{language:e,is_default:!1}}}),(0,i.jsxs)(o.jqI,{vertical:!0,className:"w-full overflow-y-hidden",style:{backgroundColor:o.rSc.colors.gray[50]},children:[(0,i.jsxs)(o.jqI,{className:"flex-row items-center p-4",style:{backgroundColor:o.rSc.colors.white,borderBottom:"1px solid ".concat(o.rSc.colors.gray[100])},children:[(0,i.jsx)(o.xvT,{fontSize:"md",fontWeight:"semibold",children:"PREVIEW"}),(0,i.jsx)(o.LZC,{}),(0,i.jsxs)(o.y02.Group,{onChange:e=>S(e.target.value),defaultValue:!1,children:[(0,i.jsx)(o.y02.Button,{value:!0,title:"View mobile preview",children:(0,i.jsx)(p,{})}),(0,i.jsx)(o.y02.Button,{value:!1,title:"View desktop preview",children:(0,i.jsx)(u,{})})]})]}),(0,i.jsx)(z,{allPrivacyNotices:k,initialValues:O,translation:E,isMobilePreview:x})]})]})})})}},32222:function(e,t,n){"use strict";n.d(t,{J:function(){return i}});let i=new Map([["overlay","Overlay"],["privacy_center","Privacy center"],["tcf_overlay","TCF overlay"],["modal","Modal"],["banner_and_modal","Banner and modal"],["headless","Headless"]])},31883:function(e,t,n){"use strict";n.d(t,{Bw:function(){return i.Bw},D4:function(){return i.D4}});var i=n(19043)},26607:function(e,t,n){"use strict";var i=n(27061);n(25123);var o=n(27378),r=o&&"object"==typeof o&&"default"in o?o:{default:o},a=void 0!==i&&i.env&&!0,s=function(e){return"[object String]"===Object.prototype.toString.call(e)},l=function(){function e(e){var t=void 0===e?{}:e,n=t.name,i=void 0===n?"stylesheet":n,o=t.optimizeForSpeed,r=void 0===o?a:o;c(s(i),"`name` must be a string"),this._name=i,this._deletedRulePlaceholder="#"+i+"-deleted-rule____{}",c("boolean"==typeof r,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=r,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var l=document.querySelector('meta[property="csp-nonce"]');this._nonce=l?l.getAttribute("content"):null}var t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(a||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,n){return"number"==typeof n?e._serverSheet.cssRules[n]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),n},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},t.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},t.insertRule=function(e,t){if(c(s(e),"`insertRule` accepts only strings"),this._optimizeForSpeed){var n=this.getSheet();"number"!=typeof t&&(t=n.cssRules.length);try{n.insertRule(e,t)}catch(t){return a||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var i=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,i))}return this._rulesCount++},t.replaceRule=function(e,t){if(this._optimizeForSpeed){var n=this.getSheet();if(t.trim()||(t=this._deletedRulePlaceholder),!n.cssRules[e])return e;n.deleteRule(e);try{n.insertRule(t,e)}catch(i){a||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),n.insertRule(this._deletedRulePlaceholder,e)}}else{var i=this._tags[e];c(i,"old rule at index `"+e+"` not found"),i.textContent=t}return e},t.deleteRule=function(e){if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];c(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},t.flush=function(){this._injected=!1,this._rulesCount=0,this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]},t.cssRules=function(){var e=this;return this._tags.reduce(function(t,n){return n?t=t.concat(Array.prototype.map.call(e.getSheetForTag(n).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},t.makeStyleTag=function(e,t,n){t&&c(s(t),"makeStyleTag accepts only strings as second parameter");var i=document.createElement("style");this._nonce&&i.setAttribute("nonce",this._nonce),i.type="text/css",i.setAttribute("data-"+e,""),t&&i.appendChild(document.createTextNode(t));var o=document.head||document.getElementsByTagName("head")[0];return n?o.insertBefore(i,n):o.appendChild(i),i},function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}(e.prototype,[{key:"length",get:function(){return this._rulesCount}}]),e}();function c(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var d=function(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0},u={};function p(e,t){if(!t)return"jsx-"+e;var n=String(t),i=e+n;return u[i]||(u[i]="jsx-"+d(e+"-"+n)),u[i]}function _(e,t){var n=e+t;return u[n]||(u[n]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[n]}var v=function(){function e(e){var t=void 0===e?{}:e,n=t.styleSheet,i=void 0===n?null:n,o=t.optimizeForSpeed,r=void 0!==o&&o;this._sheet=i||new l({name:"styled-jsx",optimizeForSpeed:r}),this._sheet.inject(),i&&"boolean"==typeof r&&(this._sheet.setOptimizeForSpeed(r),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var n=this.getIdAndRules(e),i=n.styleId,o=n.rules;if(i in this._instancesCounts){this._instancesCounts[i]+=1;return}var r=o.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[i]=r,this._instancesCounts[i]=1},t.remove=function(e){var t=this,n=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(n in this._instancesCounts,"styleId: `"+n+"` not found"),this._instancesCounts[n]-=1,this._instancesCounts[n]<1){var i=this._fromServer&&this._fromServer[n];i?(i.parentNode.removeChild(i),delete this._fromServer[n]):(this._indices[n].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[n]),delete this._instancesCounts[n]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],n=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return n[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,n;return t=this.cssRules(),void 0===(n=e)&&(n={}),t.map(function(e){var t=e[0],i=e[1];return r.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:n.nonce?n.nonce:void 0,dangerouslySetInnerHTML:{__html:i}})})},t.getIdAndRules=function(e){var t=e.children,n=e.dynamic,i=e.id;if(n){var o=p(i,n);return{styleId:o,rules:Array.isArray(t)?t.map(function(e){return _(o,e)}):[_(o,t)]}}return{styleId:p(i),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),f=o.createContext(null);f.displayName="StyleSheetContext";var m=r.default.useInsertionEffect||r.default.useLayoutEffect,h=new v;function g(e){var t=h||o.useContext(f);return t&&m(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)]),null}g.dynamic=function(e){return e.map(function(e){return p(e[0],e[1])}).join(" ")},t.style=g},13083:function(e,t,n){"use strict";e.exports=n(26607).style},25123:function(){},43218:function(e,t,n){e.exports=n(43530)}}]);