ethyca-fides 2.60.1b2__py2.py3-none-any.whl → 2.60.1rc0__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.
Files changed (202) hide show
  1. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/RECORD +188 -189
  3. fides/_version.py +3 -3
  4. fides/api/api/deps.py +2 -18
  5. fides/api/api/v1/endpoints/admin.py +3 -4
  6. fides/api/app_setup.py +5 -13
  7. fides/api/db/database.py +14 -11
  8. fides/api/db/seed.py +85 -88
  9. fides/api/util/data_category.py +0 -1
  10. fides/api/util/logger.py +0 -6
  11. fides/ui-build/static/admin/404.html +1 -1
  12. fides/ui-build/static/admin/_next/static/chunks/{1100-574adc8f50f9ef3a.js → 1100-c3d52c9d7d6d0a39.js} +1 -1
  13. fides/ui-build/static/admin/_next/static/chunks/{1817-ee8d8da2ea918cb2.js → 1817-64ec6ac3d4a06930.js} +1 -1
  14. fides/ui-build/static/admin/_next/static/chunks/{1904-3aa43570520790fc.js → 1904-00404c45e69d3225.js} +1 -1
  15. fides/ui-build/static/admin/_next/static/chunks/{2479-b91631f5e7ad58fe.js → 2479-064aefb3d187d6a2.js} +1 -1
  16. fides/ui-build/static/admin/_next/static/chunks/{3503-f8b68879ea28e6ee.js → 3503-296468f82b067ec4.js} +1 -1
  17. fides/ui-build/static/admin/_next/static/chunks/3513-d03549cb201e7938.js +1 -0
  18. fides/ui-build/static/admin/_next/static/chunks/{3702-95692cf4ec13e698.js → 3702-929a386a64d55f19.js} +1 -1
  19. fides/ui-build/static/admin/_next/static/chunks/{3855-cf98ef0345aa9cca.js → 3855-3345160a78baa978.js} +1 -1
  20. fides/ui-build/static/admin/_next/static/chunks/{3872-7382a9d55bb94d53.js → 3872-d7045d15aafffa12.js} +1 -1
  21. fides/ui-build/static/admin/_next/static/chunks/{401-f18cd4739b98ce74.js → 401-1ba7e037992ac460.js} +1 -1
  22. fides/ui-build/static/admin/_next/static/chunks/{4060-891319185929d1ae.js → 4060-dd7b6e0472703a2e.js} +1 -1
  23. fides/ui-build/static/admin/_next/static/chunks/{4121-6d5719d695f696ca.js → 4121-01c43bbbfc6b8fd1.js} +1 -1
  24. fides/ui-build/static/admin/_next/static/chunks/{4481-c587763cfbc603c7.js → 4481-cd91353711218b86.js} +1 -1
  25. fides/ui-build/static/admin/_next/static/chunks/{5487-1035279f9f4aaa81.js → 5487-fd9b930f4246520a.js} +1 -1
  26. fides/ui-build/static/admin/_next/static/chunks/{5826-dbb96ab3cc360ed4.js → 5826-5f6e7a91e9ff71d1.js} +1 -1
  27. fides/ui-build/static/admin/_next/static/chunks/5835-057c2dec5117817c.js +1 -0
  28. fides/ui-build/static/admin/_next/static/chunks/{5973-6bb609a5771dfe2a.js → 5973-9199898696748d0c.js} +1 -1
  29. fides/ui-build/static/admin/_next/static/chunks/{6277-70d615c50ac54e1d.js → 6277-6c465012cef1bd3d.js} +1 -1
  30. fides/ui-build/static/admin/_next/static/chunks/{6372-a91f7f83fd6d2fd2.js → 6372-e35fc0a8874fdecf.js} +1 -1
  31. fides/ui-build/static/admin/_next/static/chunks/{6853-38e3fd5a7b1bde87.js → 6853-df71f47693b139d3.js} +1 -1
  32. fides/ui-build/static/admin/_next/static/chunks/{6954-92f362ffea739388.js → 6954-00d6683243cc75d8.js} +1 -1
  33. fides/ui-build/static/admin/_next/static/chunks/{7751-b61c0979c4f5ba79.js → 7751-b3af4819eac0bc9c.js} +1 -1
  34. fides/ui-build/static/admin/_next/static/chunks/{79-82c500f39db614d1.js → 79-110e5199495a81c7.js} +1 -1
  35. fides/ui-build/static/admin/_next/static/chunks/{8433-8d6487450daa5dcf.js → 8433-2c6947927b1e74f5.js} +1 -1
  36. fides/ui-build/static/admin/_next/static/chunks/{8934-5e141988ad7c1000.js → 8934-41284e609c329cdd.js} +1 -1
  37. fides/ui-build/static/admin/_next/static/chunks/9282-6b14898de61ba6f0.js +1 -0
  38. fides/ui-build/static/admin/_next/static/chunks/{9327-1b672d64969cfafb.js → 9327-2be9f27fbce039b0.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/{9392.bfca299d4f39a9e0.js → 9392.9178313b7a01d889.js} +1 -1
  40. fides/ui-build/static/admin/_next/static/chunks/{9572-235d37e0b7db0257.js → 9572-c3e70eb702e9d879.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/{9676.97fdbec9c2a48c68.js → 9676.d1e42fd1d03c4a76.js} +1 -1
  42. fides/ui-build/static/admin/_next/static/chunks/{9719-f411ae7eaf9ca1e8.js → 9719-8ce33427015f12ae.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{9767-8d96e7f8fd72eadc.js → 9767-e8b0b48d602451d8.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{9951-d8d18047e05b1df4.js → 9951-d8d1174b00f9dac1.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/{9965-4149f5bb9ccf2c54.js → 9965-023779db7a1b4aa2.js} +1 -1
  46. fides/ui-build/static/admin/_next/static/chunks/pages/{404-599d88e7bb11c133.js → 404-73e79d3760ef2658.js} +1 -1
  47. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-e2f86c400e5d4c5d.js → _app-79807dd0b151eaa4.js} +9 -9
  48. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-2b39e3d90b16c88d.js → manual-2edda5eb5412ffb2.js} +1 -1
  49. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-aed3ff8f334381ad.js → multiple-27c3bdcc05a1f18e.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-2c64d0a87784019b.js +1 -0
  51. fides/ui-build/static/admin/_next/static/chunks/pages/{ant-poc-4cad8b20c7fa422c.js → ant-poc-3c256e928748177a.js} +1 -1
  52. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-c3f11050818ddba3.js → add-vendors-b3d62016149e5aa4.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-7d3f39e6207c0d4d.js → configure-790c7c61ff9500f1.js} +1 -1
  54. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-df8bbe621a78f0ff.js → [id]-6641f24adf72b00c.js} +1 -1
  55. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-7f38473ce267348a.js → new-300fd2800c417d0b.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-08bcc477fa5544b6.js → privacy-experience-f0ba90152c43c742.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-77f44ebc908dfbbc.js → [id]-669b1039a5f0dcb6.js} +1 -1
  58. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-79c27e52c8c8f621.js → new-e24975eaeedc7c51.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-22693568fd342608.js → privacy-notices-90b331a666216e38.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-4bce89ef8e17866f.js → properties-b9919fa183e9308a.js} +1 -1
  61. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-c71f7e3ef8a3bdd4.js → reporting-1762ed46d98cebad.js} +1 -1
  62. fides/ui-build/static/admin/_next/static/chunks/pages/{consent-49cec8727ba462e1.js → consent-07bc6a18cbad414a.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-810bd0acfa7ae444.js → [projectUrn]-864af917f60d8f35.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-a637d57347ad4bd7.js → projects-45ac2c54f21a57d5.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-f416c61699380589.js → data-catalog-8e0bc6d01176081a.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-d59f6f49d91c4166.js → [systemId]-a1259aa44bf99194.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-fc99be4f494946cf.js → [monitorId]-a8b44307dfd5c23e.js} +1 -1
  68. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-36e75ed0154c9d07.js → action-center-333964fc8ce20616.js} +1 -1
  69. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-aec2dd0d89d11c1f.js → activity-438ab93c6cd5c2a6.js} +1 -1
  70. fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-359ab1b6513a5329.js → datamap-05144da6383ba6a4.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-4ae24f9f954ea59f.js → [...subfieldNames]-a3311bdf11e5bb1b.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-294442f48f0b1d80.js → [collectionName]-b584029b66084b2a.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-c73892f2cc94bf64.js → [datasetId]-2ababde59fc9efb4.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-60a80195eafe9839.js +1 -0
  75. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-9b3ab8de38e343b9.js → dataset-5190a42b4bddac7d.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-2b2d8474ff4a7ec3.js → [id]-63af795429688cac.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-32ff2757c1fb5a00.js +1 -0
  78. fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-3a196ef552fb5352.js → datastore-connection-92dce084869b6a94.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/{index-e5fa3ad65420815b.js → index-7220a947bb52c5a8.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-900e1581de2811c1.js → [id]-5a600a16f2ad5fa0.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-750f32b5bd24542a.js → integrations-372906eb228e73b7.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-d4b136d56734e0b2.js → [id]-34e5d096311c5aab.js} +1 -1
  83. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-bd5d5c3a62e2e6bc.js → add-template-722590a322ea866b.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-226fdc9ccf65bf88.js → messaging-77726c8d9ad39a64.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-f208ea9573f5d16f.js → [id]-12037a323158a7be.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-9103ff5824f10280.js → messaging-df490b611f1360fa.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-ccc8829fb8e6d889.js → storage-8575fd1d25457b4d.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-f0fcddade8258445.js → configure-66c6d3725fc1861f.js} +1 -1
  89. fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-0cd0024113f958da.js → privacy-requests-ff5856fc531097b2.js} +1 -1
  90. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-dd197054dacf6c99.js → [id]-7f8cc582fc11b46d.js} +1 -1
  91. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-2b204911aadeef3b.js → add-property-b739361d2b5714db.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-1cdb0094c4caf07e.js → properties-febd16a18011fd1e.js} +1 -1
  93. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-4aafe0b82fe05626.js → datamap-6d046c2bf03ce067.js} +1 -1
  94. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-1b1273e9eb69ac45.js → about-95e9953afaad9260.js} +1 -1
  95. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-e4bee84add8a913b.js → [purpose_id]-0d593a93ef57dbd7.js} +1 -1
  96. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-41e6213e69789c1b.js +1 -0
  97. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-298fa77e090bf7cb.js → custom-fields-d6e18187d6412a34.js} +1 -1
  98. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-3b59fd523eee38fc.js → domain-records-0392d1bc2b8ec616.js} +1 -1
  99. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-db42cce5ec0ca55b.js +1 -0
  100. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-297f558258a46f74.js +1 -0
  101. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-84f0c04250972998.js → locations-38ce7883fd27b61f.js} +1 -1
  102. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-3dc30591cc0a8881.js +1 -0
  103. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-259d0c058065e14d.js → regulations-22d97471513e835d.js} +1 -1
  104. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-f408ebdc01892ff0.js +1 -0
  105. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-3a2a18084f89dc04.js → [id]-69e582763772aec9.js} +1 -1
  106. fides/ui-build/static/admin/_next/static/chunks/pages/{systems-c921992c82514912.js → systems-d7a63f851cc99583.js} +1 -1
  107. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-244453d6d5413d6c.js +1 -0
  108. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-7546e00c78835823.js → [id]-f29f0fbd62e10b6d.js} +1 -1
  109. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-a207e8f745c7e26b.js → user-management-f2dc8220e4aab9d7.js} +1 -1
  110. fides/ui-build/static/admin/_next/static/chunks/{webpack-ebb8d3b45b871241.js → webpack-32c43a8d709ca5c6.js} +1 -1
  111. fides/ui-build/static/admin/_next/static/pNwRIyc_W4mC7MPm4ebOC/_buildManifest.js +1 -0
  112. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  113. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  114. fides/ui-build/static/admin/add-systems.html +1 -1
  115. fides/ui-build/static/admin/ant-poc.html +1 -1
  116. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  117. fides/ui-build/static/admin/consent/configure.html +1 -1
  118. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  119. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  120. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  121. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  122. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  123. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  124. fides/ui-build/static/admin/consent/properties.html +1 -1
  125. fides/ui-build/static/admin/consent/reporting.html +1 -1
  126. fides/ui-build/static/admin/consent.html +1 -1
  127. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  128. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  129. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  130. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  131. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  132. fides/ui-build/static/admin/data-catalog.html +1 -1
  133. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  134. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  135. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  136. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  137. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  138. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  139. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  140. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  141. fides/ui-build/static/admin/datamap.html +1 -1
  142. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  143. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  144. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  145. fides/ui-build/static/admin/dataset/new.html +1 -1
  146. fides/ui-build/static/admin/dataset.html +1 -1
  147. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  148. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  149. fides/ui-build/static/admin/datastore-connection.html +1 -1
  150. fides/ui-build/static/admin/index.html +1 -1
  151. fides/ui-build/static/admin/integrations/[id].html +1 -1
  152. fides/ui-build/static/admin/integrations.html +1 -1
  153. fides/ui-build/static/admin/login/[provider].html +1 -1
  154. fides/ui-build/static/admin/login.html +1 -1
  155. fides/ui-build/static/admin/messaging/[id].html +1 -1
  156. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  157. fides/ui-build/static/admin/messaging.html +1 -1
  158. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  159. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  160. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  161. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  162. fides/ui-build/static/admin/privacy-requests.html +1 -1
  163. fides/ui-build/static/admin/properties/[id].html +1 -1
  164. fides/ui-build/static/admin/properties/add-property.html +1 -1
  165. fides/ui-build/static/admin/properties.html +1 -1
  166. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  167. fides/ui-build/static/admin/settings/about.html +1 -1
  168. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  169. fides/ui-build/static/admin/settings/consent.html +1 -1
  170. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  171. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  172. fides/ui-build/static/admin/settings/domains.html +1 -1
  173. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  174. fides/ui-build/static/admin/settings/locations.html +1 -1
  175. fides/ui-build/static/admin/settings/organization.html +1 -1
  176. fides/ui-build/static/admin/settings/regulations.html +1 -1
  177. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  178. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  179. fides/ui-build/static/admin/systems.html +1 -1
  180. fides/ui-build/static/admin/taxonomy.html +1 -1
  181. fides/ui-build/static/admin/user-management/new.html +1 -1
  182. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  183. fides/ui-build/static/admin/user-management.html +1 -1
  184. fides/api/util/sqlalchemy_filter.py +0 -30
  185. fides/ui-build/static/admin/_next/static/HyMhUkISr3pFS0ViVCWuo/_buildManifest.js +0 -1
  186. fides/ui-build/static/admin/_next/static/chunks/3505-a94b641168547225.js +0 -1
  187. fides/ui-build/static/admin/_next/static/chunks/3513-bcef489f2c8e30e1.js +0 -1
  188. fides/ui-build/static/admin/_next/static/chunks/69-5f2103ace46481d6.js +0 -1
  189. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-72768fa90f31d936.js +0 -1
  190. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-274b8cf0932e2741.js +0 -1
  191. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-fc637b767513d3fb.js +0 -1
  192. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-60f6d15fa6c6b1af.js +0 -1
  193. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-1c1f4f775561e528.js +0 -1
  194. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-ebb37a1ae630931a.js +0 -1
  195. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-2fcbf2b113dce00c.js +0 -1
  196. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-7bf0c1ff8d1d09cf.js +0 -1
  197. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-07d26364d187c7c3.js +0 -1
  198. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/WHEEL +0 -0
  199. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/entry_points.txt +0 -0
  200. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/licenses/LICENSE +0 -0
  201. {ethyca_fides-2.60.1b2.dist-info → ethyca_fides-2.60.1rc0.dist-info}/top_level.txt +0 -0
  202. /fides/ui-build/static/admin/_next/static/{HyMhUkISr3pFS0ViVCWuo → pNwRIyc_W4mC7MPm4ebOC}/_ssgManifest.js +0 -0
fides/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-04-28T18:30:06-0400",
11
+ "date": "2025-04-29T17:04:59-0400",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "e70d9528866be750aed5968c4c7f61b56451c516",
15
- "version": "2.60.1b2"
14
+ "full-revisionid": "6329ae1259afa234d4bb308672fb20cf5295f9c6",
15
+ "version": "2.60.1rc0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
fides/api/api/deps.py CHANGED
@@ -1,12 +1,10 @@
1
- from contextlib import asynccontextmanager, contextmanager
2
- from typing import AsyncGenerator, Generator
1
+ from contextlib import contextmanager
2
+ from typing import Generator
3
3
 
4
4
  from fastapi import Depends
5
- from sqlalchemy.ext.asyncio import AsyncSession
6
5
  from sqlalchemy.orm import Session
7
6
 
8
7
  from fides.api.common_exceptions import RedisNotConfigured
9
- from fides.api.db.ctl_session import async_session
10
8
  from fides.api.db.session import get_db_engine, get_db_session
11
9
  from fides.api.util.cache import get_cache as get_redis_connection
12
10
  from fides.config import CONFIG, FidesConfig
@@ -104,17 +102,3 @@ def get_cache() -> Generator:
104
102
  "Application redis cache required, but it is currently disabled! Please update your application configuration to enable integration with a Redis cache."
105
103
  )
106
104
  yield get_redis_connection()
107
-
108
-
109
- @asynccontextmanager
110
- async def get_async_autoclose_db_session() -> AsyncGenerator[AsyncSession, None]:
111
- """
112
- Return an async database session as an async context manager that automatically closes when the context exits.
113
-
114
- Use this when you need manual control over the async session lifecycle outside of API endpoints.
115
- """
116
- session = async_session()
117
- try:
118
- yield session
119
- finally:
120
- await session.close()
@@ -16,7 +16,6 @@ ADMIN_ROUTER = APIRouter(prefix=API_PREFIX, tags=["Admin"])
16
16
 
17
17
  class DBActions(str, Enum):
18
18
  "The available path parameters for the `/admin/db/{action}` endpoint."
19
-
20
19
  upgrade = "upgrade"
21
20
  reset = "reset"
22
21
  downgrade = "downgrade"
@@ -30,7 +29,7 @@ class DBActions(str, Enum):
30
29
  ],
31
30
  status_code=status.HTTP_200_OK,
32
31
  )
33
- def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
32
+ async def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
34
33
  """
35
34
  Initiate one of the enumerated DBActions.
36
35
 
@@ -41,7 +40,7 @@ def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
41
40
 
42
41
  if action == DBActions.downgrade:
43
42
  try:
44
- migrate_db(database_url=CONFIG.database.sync_database_uri, revision=revision, downgrade=True) # type: ignore[arg-type]
43
+ await migrate_db(database_url=CONFIG.database.sync_database_uri, revision=revision, downgrade=True) # type: ignore[arg-type]
45
44
  action_text = "downgrade"
46
45
  except Exception as e:
47
46
  logger.exception("Database downgrade failed")
@@ -69,7 +68,7 @@ def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
69
68
 
70
69
  try:
71
70
  logger.info("Database being configured...")
72
- configure_db(CONFIG.database.sync_database_uri, revision=revision)
71
+ await configure_db(CONFIG.database.sync_database_uri, revision=revision)
73
72
  except Exception as e:
74
73
  logger.exception("Database configuration failed: {e}")
75
74
  raise HTTPException(
fides/api/app_setup.py CHANGED
@@ -16,11 +16,7 @@ from slowapi.extension import _rate_limit_exceeded_handler # type: ignore
16
16
  from slowapi.middleware import SlowAPIMiddleware # type: ignore
17
17
 
18
18
  import fides
19
- from fides.api.api.deps import (
20
- get_api_session,
21
- get_async_autoclose_db_session,
22
- get_autoclose_db_session,
23
- )
19
+ from fides.api.api.deps import get_api_session
24
20
  from fides.api.api.v1 import CTL_ROUTER
25
21
  from fides.api.api.v1.api import api_router
26
22
  from fides.api.api.v1.endpoints.admin import ADMIN_ROUTER
@@ -28,8 +24,7 @@ from fides.api.api.v1.endpoints.generic_overrides import GENERIC_OVERRIDES_ROUTE
28
24
  from fides.api.api.v1.endpoints.health import HEALTH_ROUTER
29
25
  from fides.api.api.v1.exception_handlers import ExceptionHandlers
30
26
  from fides.api.common_exceptions import RedisConnectionError, RedisNotConfigured
31
- from fides.api.db import seed
32
- from fides.api.db.database import configure_db, seed_db
27
+ from fides.api.db.database import configure_db
33
28
  from fides.api.db.seed import create_or_update_parent_user
34
29
  from fides.api.models.application_config import ApplicationConfig
35
30
  from fides.api.oauth.system_manager_oauth_util import (
@@ -170,12 +165,9 @@ async def run_database_startup(app: FastAPI) -> None:
170
165
 
171
166
  if CONFIG.database.automigrate:
172
167
  try:
173
- configure_db(CONFIG.database.sync_database_uri)
174
- with get_autoclose_db_session() as session:
175
- seed_db(session)
176
- if CONFIG.database.load_samples:
177
- async with get_async_autoclose_db_session() as async_session:
178
- await seed.load_samples(async_session)
168
+ await configure_db(
169
+ CONFIG.database.sync_database_uri, samples=CONFIG.database.load_samples
170
+ )
179
171
  except Exception as e:
180
172
  logger.error("Error occurred during database configuration: {}", str(e))
181
173
  else:
fides/api/db/database.py CHANGED
@@ -14,7 +14,8 @@ from sqlalchemy_utils.functions import create_database, database_exists
14
14
  from sqlalchemy_utils.types.encrypted.encrypted_type import InvalidCiphertextError
15
15
 
16
16
  from fides.api.db.base import Base # type: ignore[attr-defined]
17
- from fides.api.db.seed import load_default_resources
17
+ from fides.api.db.ctl_session import async_session
18
+ from fides.api.db.seed import load_default_resources, load_samples
18
19
  from fides.api.util.errors import get_full_exception_name
19
20
  from fides.core.utils import get_db_engine
20
21
 
@@ -47,8 +48,9 @@ def downgrade_db(alembic_config: Config, revision: str = "head") -> None:
47
48
  command.downgrade(alembic_config, revision)
48
49
 
49
50
 
50
- def migrate_db(
51
+ async def migrate_db(
51
52
  database_url: str,
53
+ samples: bool = False,
52
54
  revision: str = "head",
53
55
  downgrade: bool = False,
54
56
  ) -> None:
@@ -64,6 +66,11 @@ def migrate_db(
64
66
  else:
65
67
  upgrade_db(alembic_config, revision)
66
68
 
69
+ async with async_session() as session:
70
+ await load_default_resources(session)
71
+ if samples:
72
+ await load_samples(session)
73
+
67
74
 
68
75
  def create_db_if_not_exists(database_url: str) -> None:
69
76
  """
@@ -114,17 +121,13 @@ def get_db_health(
114
121
  return ("unhealthy", None)
115
122
 
116
123
 
117
- def seed_db(session: Session) -> None:
118
- """Load default resources into the database, and optionally load samples."""
119
- load_default_resources(session)
120
-
121
-
122
- def configure_db(database_url: str, revision: Optional[str] = "head") -> None:
123
- """Set up the db to be used by the app. Creates db if needed and runs migrations."""
124
+ async def configure_db(
125
+ database_url: str, samples: bool = False, revision: Optional[str] = "head"
126
+ ) -> None:
127
+ """Set up the db to be used by the app."""
124
128
  try:
125
129
  create_db_if_not_exists(database_url)
126
- migrate_db(database_url, revision=revision) # type: ignore[arg-type]
127
-
130
+ await migrate_db(database_url, samples=samples, revision=revision) # type: ignore[arg-type]
128
131
  except InvalidCiphertextError as cipher_error:
129
132
  log.error(
130
133
  "Unable to configure database due to a decryption error! Check to ensure your `app_encryption_key` has not changed."
fides/api/db/seed.py CHANGED
@@ -25,7 +25,6 @@ from fides.api.models.fides_user_permissions import FidesUserPermissions
25
25
  from fides.api.models.policy import Policy, Rule, RuleTarget
26
26
  from fides.api.models.sql_models import ( # type: ignore[attr-defined]
27
27
  Dataset,
28
- Organization,
29
28
  System,
30
29
  sql_model_map,
31
30
  )
@@ -45,7 +44,7 @@ from fides.api.util.text import to_snake_case
45
44
  from fides.config import CONFIG
46
45
  from fides.service.dataset.dataset_config_service import DatasetConfigService
47
46
 
48
- from .crud import upsert_resources
47
+ from .crud import create_resource, get_resource, list_resource, upsert_resources
49
48
  from .samples import (
50
49
  load_sample_connections_from_project,
51
50
  load_sample_resources_from_project,
@@ -283,41 +282,106 @@ def load_default_erasure_policy(
283
282
  )
284
283
 
285
284
 
286
- def load_default_dsr_policies(session: Session) -> None:
285
+ def load_default_dsr_policies() -> None:
287
286
  """
288
287
  Checks whether DSR execution policies exist in the database, and
289
288
  inserts them to target a default set of data categories if not.
290
289
  """
291
- client_id = get_client_id(session)
290
+ with sync_session() as db_session: # type: ignore[attr-defined]
291
+ client_id = get_client_id(db_session)
292
292
 
293
- # By default, include all categories *except* those related to a user's
294
- # financial, payment, and credentials data. These are typically not
295
- # included in access and erasure requests as they are covered by other
296
- # compliance programs (e.g. legal, tax, security) and most
297
- # organizations need to be extra careful about how these are used -
298
- # especially for erasure! Therefore, a safe default for "out of the
299
- # box" behaviour is to exclude these
293
+ # By default, include all categories *except* those related to a user's
294
+ # financial, payment, and credentials data. These are typically not
295
+ # included in access and erasure requests as they are covered by other
296
+ # compliance programs (e.g. legal, tax, security) and most
297
+ # organizations need to be extra careful about how these are used -
298
+ # especially for erasure! Therefore, a safe default for "out of the
299
+ # box" behaviour is to exclude these
300
300
 
301
- default_data_categories = get_user_data_categories()
301
+ default_data_categories = get_user_data_categories()
302
302
 
303
- log.debug(
304
- f"Preparing to create default rules for the following Data Categories: {default_data_categories} if they do not already exist"
303
+ log.debug(
304
+ f"Preparing to create default rules for the following Data Categories: {default_data_categories} if they do not already exist"
305
+ )
306
+
307
+ load_default_access_policy(db_session, client_id, default_data_categories)
308
+ load_default_erasure_policy(db_session, client_id, default_data_categories)
309
+
310
+ log.info("All default policies & rules created")
311
+
312
+
313
+ async def load_default_organization(async_session: AsyncSession) -> None:
314
+ """
315
+ Seed the database with a default organization unless
316
+ one with a matching name already exists.
317
+ """
318
+
319
+ log.info("Loading the default organization...")
320
+ organizations: List[Dict] = list(
321
+ map(dict, DEFAULT_TAXONOMY.model_dump(mode="json")["organization"])
305
322
  )
306
323
 
307
- load_default_access_policy(session, client_id, default_data_categories)
308
- load_default_erasure_policy(session, client_id, default_data_categories)
324
+ inserted = 0
325
+ for org in organizations:
326
+ try:
327
+ existing = await get_resource(
328
+ sql_model_map["organization"],
329
+ org["fides_key"],
330
+ async_session,
331
+ raise_not_found=False,
332
+ )
333
+ if not existing:
334
+ await create_resource(sql_model_map["organization"], org, async_session)
335
+ inserted += 1
336
+ except AlreadyExistsError:
337
+ pass
309
338
 
310
- log.info("All default policies & rules created")
339
+ log.debug(f"INSERTED {inserted} organization resource(s)")
340
+ log.debug(f"SKIPPED {len(organizations)-inserted} organization resource(s)")
341
+
342
+
343
+ async def load_default_taxonomy(async_session: AsyncSession) -> None:
344
+ """Seed the database with the default taxonomy resources."""
345
+
346
+ upsert_resource_types = list(DEFAULT_TAXONOMY.model_fields_set)
347
+ upsert_resource_types.remove("organization")
348
+
349
+ log.info("Loading the default fideslang taxonomy resources...")
350
+ for resource_type in upsert_resource_types:
351
+ log.debug(f"Processing {resource_type} resources...")
352
+ default_resources = DEFAULT_TAXONOMY.model_dump(mode="json")[resource_type]
353
+ existing_resources = await list_resource(
354
+ sql_model_map[resource_type], async_session
355
+ )
356
+ existing_keys = [item.fides_key for item in existing_resources]
357
+ resources = [
358
+ resource
359
+ for resource in default_resources
360
+ if resource["fides_key"] not in existing_keys
361
+ ]
362
+
363
+ if len(resources) == 0:
364
+ log.debug(f"No new {resource_type} resources to add from default taxonomy.")
365
+ continue
366
+
367
+ try:
368
+ await upsert_resources(
369
+ sql_model_map[resource_type], resources, async_session
370
+ )
371
+ except QueryError: # pragma: no cover
372
+ pass # The create_resource function will log the error
373
+ else:
374
+ log.debug(f"UPSERTED {len(resources)} {resource_type} resource(s)")
311
375
 
312
376
 
313
- def load_default_resources(session: Session) -> None:
377
+ async def load_default_resources(async_session: AsyncSession) -> None:
314
378
  """
315
379
  Seed the database with default resources that the application
316
380
  expects to be available.
317
381
  """
318
- load_default_organization(session)
319
- load_default_taxonomy(session)
320
- load_default_dsr_policies(session)
382
+ await load_default_organization(async_session)
383
+ await load_default_taxonomy(async_session)
384
+ load_default_dsr_policies()
321
385
 
322
386
 
323
387
  async def load_samples(async_session: AsyncSession) -> None:
@@ -485,70 +549,3 @@ async def load_samples(async_session: AsyncSession) -> None:
485
549
 
486
550
  except QueryError: # pragma: no cover
487
551
  pass # The upsert_resources function will log any error
488
-
489
-
490
- def load_default_organization(db: Session) -> None:
491
- """
492
- Seed the database with a default organization unless
493
- one with a matching name already exists.
494
- """
495
- log.info("Loading the default organization...")
496
- organizations: List[Dict] = list(
497
- map(dict, DEFAULT_TAXONOMY.model_dump(mode="json")["organization"])
498
- )
499
-
500
- inserted = 0
501
- for org in organizations:
502
- try:
503
- existing = Organization.get_by(
504
- db=db, field="fides_key", value=org["fides_key"]
505
- )
506
- if not existing:
507
- Organization.create(db=db, data=org, check_name=False)
508
- inserted += 1
509
- except AlreadyExistsError:
510
- pass
511
-
512
- log.debug(f"INSERTED {inserted} organization resource(s)")
513
- log.debug(f"SKIPPED {len(organizations)-inserted} organization resource(s)")
514
-
515
-
516
- def load_default_taxonomy(db: Session) -> None:
517
- """Synchronous version: Seed the database with the default taxonomy resources."""
518
- upsert_resource_types = list(DEFAULT_TAXONOMY.model_fields_set)
519
- upsert_resource_types.remove("organization")
520
-
521
- log.info("Loading the default fideslang taxonomy resources...")
522
- for resource_type in upsert_resource_types:
523
- sql_model = sql_model_map[resource_type]
524
- log.debug(f"Processing {resource_type} resources...")
525
- default_resources = DEFAULT_TAXONOMY.model_dump(mode="json")[resource_type]
526
-
527
- try:
528
- # Fetch existing keys first
529
- existing_keys = {item[0] for item in db.query(sql_model.fides_key).all()}
530
- except Exception as exc:
531
- log.error(f"Error fetching existing keys for {resource_type}: {exc}")
532
- continue # Skip this resource type if we can't get existing keys
533
-
534
- # Filter for resources that don't exist
535
- resources_to_create = [
536
- resource
537
- for resource in default_resources
538
- if resource["fides_key"] not in existing_keys
539
- ]
540
-
541
- if not resources_to_create:
542
- log.debug(f"No new {resource_type} resources to add from default taxonomy.")
543
- continue
544
-
545
- created_count = 0
546
- for resource_data in resources_to_create:
547
- try:
548
- sql_model.create_or_update(db=db, data=resource_data)
549
- created_count += 1
550
- except Exception:
551
- pass
552
-
553
- if created_count > 0:
554
- log.debug(f"UPSERTED {created_count} {resource_type} resource(s)")
@@ -26,7 +26,6 @@ def generate_fides_data_categories() -> Type[EnumType]:
26
26
  return FidesDataCategory
27
27
 
28
28
 
29
- # TODO: Move away from using this, it conflicts with the DataCategory model
30
29
  DataCategory = generate_fides_data_categories()
31
30
 
32
31
 
fides/api/util/logger.py CHANGED
@@ -15,7 +15,6 @@ from loguru import logger
15
15
  from loguru._handler import Message
16
16
 
17
17
  from fides.api.schemas.privacy_request import LogEntry, PrivacyRequestSource
18
- from fides.api.util.sqlalchemy_filter import SQLAlchemyGeneratedFilter
19
18
  from fides.config import CONFIG, FidesConfig
20
19
 
21
20
  if TYPE_CHECKING:
@@ -161,11 +160,6 @@ def setup(config: FidesConfig) -> None:
161
160
  logging.getLogger(name).handlers = []
162
161
  logging.getLogger(name).propagate = True
163
162
 
164
- # Apply filter to remove generated timing logs
165
- sqlalchemy_generated_filter = SQLAlchemyGeneratedFilter()
166
- sqlalchemy_engine_logger = logging.getLogger("sqlalchemy.engine.Engine")
167
- sqlalchemy_engine_logger.addFilter(sqlalchemy_generated_filter)
168
-
169
163
  handlers = []
170
164
 
171
165
  # Configure main sink from config
@@ -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/a063d3d67fe688f6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a063d3d67fe688f6.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-ebb8d3b45b871241.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-e2f86c400e5d4c5d.js" defer=""></script><script src="/_next/static/chunks/pages/404-599d88e7bb11c133.js" defer=""></script><script src="/_next/static/HyMhUkISr3pFS0ViVCWuo/_buildManifest.js" defer=""></script><script src="/_next/static/HyMhUkISr3pFS0ViVCWuo/_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":"HyMhUkISr3pFS0ViVCWuo","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/a063d3d67fe688f6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a063d3d67fe688f6.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-32c43a8d709ca5c6.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-79807dd0b151eaa4.js" defer=""></script><script src="/_next/static/chunks/pages/404-73e79d3760ef2658.js" defer=""></script><script src="/_next/static/pNwRIyc_W4mC7MPm4ebOC/_buildManifest.js" defer=""></script><script src="/_next/static/pNwRIyc_W4mC7MPm4ebOC/_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":"pNwRIyc_W4mC7MPm4ebOC","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1100],{58754:function(e,t,n){var r=n(24246),i=n(91942),s=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:a=!0,children:l,rightContent:o,style:u,...c}=e;return(0,r.jsxs)("div",{...c,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,r.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,o&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,r.jsx)(s.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},10342:function(e,t,n){var r=n(24246),i=n(91942),s=n(46238);t.Z=e=>{let{title:t,tooltip:n,children:a,...l}=e;return(0,r.jsxs)(i.xuv,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",...l,children:[(0,r.jsxs)(i.X6q,{as:"h3",fontSize:"sm",fontWeight:"semibold",color:"gray.700",py:4,px:6,backgroundColor:"gray.50",borderRadius:"md",textAlign:"left",children:[t,n?(0,r.jsx)(i.xvT,{as:"span",mx:1,children:(0,r.jsx)(s.b,{label:n})}):void 0]}),(0,r.jsx)(i.Kqy,{p:6,spacing:6,children:a})]})}},70788:function(e,t,n){n.d(t,{m:function(){return u}});var r=n(24246),i=n(91942),s=n(79894),a=n.n(s),l=n(27378);let{Text:o}=i.AntTypography,u=e=>{let{items:t,...n}=e,s=(0,l.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let s=n===t.length-1,l={...e},u=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,r.jsx)(o,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:l.title})),u)?l.title=(0,r.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,r.jsx)(a(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[t]);return(0,r.jsx)(i.zrq,{items:s,...n})}},67810:function(e,t,n){n.d(t,{Z:function(){return s}}),(r=i||(i={})).PRIVACY_REQUEST_REVIEW_APPROVE="privacy_request_review_approve",r.PRIVACY_REQUEST_REVIEW_DENY="privacy_request_review_deny",r.PRIVACY_REQUEST_RECEIPT="privacy_request_receipt",r.PRIVACY_REQUEST_COMPLETE_ACCESS="privacy_request_complete_access",r.PRIVACY_REQUEST_COMPLETE_DELETION="privacy_request_complete_deletion",r.SUBJECT_IDENTITY_VERIFICATION="subject_identity_verification";var r,i,s={[i.PRIVACY_REQUEST_COMPLETE_ACCESS]:"Access request completed",[i.PRIVACY_REQUEST_COMPLETE_DELETION]:"Erasure request completed",[i.PRIVACY_REQUEST_RECEIPT]:"Privacy request received",[i.PRIVACY_REQUEST_REVIEW_APPROVE]:"Privacy request approved",[i.PRIVACY_REQUEST_REVIEW_DENY]:"Privacy request denied",[i.SUBJECT_IDENTITY_VERIFICATION]:"Subject identity verification"}},20149:function(e,t,n){var r=n(24246),i=n(77830),s=n(91942),a=n(34090),l=n(86677),o=n(16134),u=n(10342),c=n(40324),d=n(51472),p=n(67810),m=n(64826);let g=()=>{var e;let t=(0,o.C)(m.Zp),n=(0,o.C)(m.G1);(0,m.gz)({page:t,size:n});let i=(0,o.C)(m.YO),{values:s,setFieldValue:l}=(0,a.u6)();return(0,r.jsx)(d.Z,{label:"Associated properties",addButtonLabel:"Add property",idField:"id",nameField:"name",allItems:i.map(e=>({id:e.id,name:e.name})),values:null!==(e=s.properties)&&void 0!==e?e:[],setValues:e=>l("properties",e),draggable:!0,maxHeight:100,baseTestId:"property"})};t.Z=e=>{let{template:t,handleSubmit:n,handleDelete:o}=e,d=(0,l.useRouter)(),m=()=>{d.push(i.q)},f={type:t.type,content:t.content,properties:t.properties||[],is_enabled:t.is_enabled,id:t.id||""};return(0,r.jsx)(a.J9,{enableReinitialize:!0,initialValues:f,onSubmit:n,children:e=>{let{dirty:t,isValid:n,isSubmitting:i}=e;return(0,r.jsxs)(a.l0,{style:{paddingTop:"12px",paddingBottom:"12px"},children:[(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsxs)(u.Z,{title:"".concat(p.Z[f.type]),children:[(0,r.jsx)(c.j0,{isRequired:!0,label:"Email subject",name:"content.subject",variant:"stacked"}),(0,r.jsx)(c.Ks,{isRequired:!0,label:"Message body",name:"content.body",value:"test",variant:"stacked",resize:!0}),(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsx)(g,{})}),(0,r.jsx)(c.w8,{name:"is_enabled",label:"Enable message",variant:"switchFirst"})]})}),(0,r.jsxs)(s.kCb,{justifyContent:"space-between",width:"100%",paddingTop:2,children:[f.id&&o&&(0,r.jsx)(s.wpx,{"data-testid":"delete-template-button",loading:!1,className:"mr-3",onClick:o,children:"Delete"}),(0,r.jsxs)(s.kCb,{justifyContent:"right",width:"100%",paddingTop:2,children:[(0,r.jsx)(s.wpx,{loading:!1,className:"mr-3",onClick:m,children:"Cancel"}),(0,r.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:i||!t||!n,loading:i,"data-testid":"submit-btn",children:"Save"})]})]})]})}})}},5058:function(e,t,n){n.d(t,{Vw:function(){return s},ms:function(){return r},pS:function(){return i},vm:function(){return a}});let{useGetSummaryMessagingTemplatesQuery:r,usePutMessagingTemplateByIdMutation:i,useCreateMessagingTemplateByTypeMutation:s,usePatchMessagingTemplateByIdMutation:a}=n(78780).u.injectEndpoints({endpoints:e=>({getSummaryMessagingTemplates:e.query({query:e=>({method:"GET",url:"plus/messaging/templates/summary",params:e}),providesTags:()=>["Property-Specific Messaging Templates"]}),putMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PUT",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),patchMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PATCH",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),createMessagingTemplateByType:e.mutation({query:e=>{let{templateType:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"POST",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},47466:function(e,t,n){n.d(t,{KC:function(){return a},ew:function(){return l},gQ:function(){return s},jM:function(){return r},lE:function(){return i}});let{useGetMessagingTemplatesQuery:r,useUpdateMessagingTemplatesMutation:i,useGetMessagingTemplateByIdQuery:s,useGetMessagingTemplateDefaultQuery:a,useDeleteMessagingTemplateByIdMutation:l}=n(78780).u.injectEndpoints({endpoints:e=>({getMessagingTemplates:e.query({query:()=>({url:"messaging/templates"}),providesTags:()=>["Messaging Templates"]}),updateMessagingTemplates:e.mutation({query:e=>({url:"messaging/templates",method:"PUT",body:e}),invalidatesTags:()=>["Messaging Templates"]}),getMessagingTemplateById:e.query({query:e=>({url:"/messaging/templates/".concat(e)}),providesTags:()=>["Property-Specific Messaging Templates"]}),getMessagingTemplateDefault:e.query({query:e=>({url:"/messaging/templates/default/".concat(e)})}),deleteMessagingTemplateById:e.mutation({query:e=>({url:"/messaging/templates/".concat(e),method:"DELETE"}),invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},31883:function(e,t,n){n.d(t,{Bw:function(){return r.Bw},D4:function(){return r.D4}});var r=n(19043)},11055:function(e,t,n){n.d(t,{M:function(){return d}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(25431),c=n(39556);let d=(0,s.forwardRef)(function({children:e,as:t="ul",axis:n="y",onReorder:d,values:g,...f},y){let h=(0,o.h)(()=>l.E[t]),x=[],E=(0,s.useRef)(!1);return(0,i.k)(!!g,"Reorder.Group must be provided a values prop"),(0,s.useEffect)(()=>{E.current=!1}),(0,r.jsx)(h,{...f,ref:y,ignoreStrict:!0,children:(0,r.jsx)(a.Y.Provider,{value:{axis:n,registerItem:(e,t)=>{let r=x.findIndex(t=>e===t.value);-1!==r?x[r].layout=t[n]:x.push({value:e,layout:t[n]}),x.sort(m)},updateOrder:(e,t,n)=>{if(E.current)return;let r=function(e,t,n,r){if(!r)return e;let i=e.findIndex(e=>e.value===t);if(-1===i)return e;let s=r>0?1:-1,a=e[i+s];if(!a)return e;let l=e[i],o=a.layout,d=(0,c.t)(o.min,o.max,.5);return 1===s&&l.layout.max+n>d||-1===s&&l.layout.min+n<d?(0,u.uo)(e,i,i+s):e}(x,e,t,n);x!==r&&(E.current=!0,d(r.map(p).filter(e=>-1!==g.indexOf(e))))}},children:e})})});function p(e){return e.value}function m(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,n){n.d(t,{e:function(){return T}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(69222),c=n(67412);function d(e){let t=(0,o.h)(()=>(0,u.BX)(e)),{isStatic:n}=(0,s.useContext)(c._);if(n){let[,n]=(0,s.useState)(e);(0,s.useEffect)(()=>t.on("change",n),[])}return t}var p=n(13998);let m=e=>e&&"object"==typeof e&&e.mix,g=e=>m(e)?e.mix:void 0;var f=n(64306),y=n(95984);function h(e,t){let n=d(t()),r=()=>n.set(t());return r(),(0,f.L)(()=>{let t=()=>y.Wi.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,y.Pn)(r)}}),n}function x(e,t){let n=(0,o.h)(()=>[]);return h(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}var E=n(3522);function v(e,t=0){return(0,E.i)(e)?e:d(t)}let T=(0,s.forwardRef)(function({children:e,style:t={},value:n,as:c="li",onDrag:d,layout:m=!0,...f},y){let E=(0,o.h)(()=>l.E[c]),T=(0,s.useContext)(a.Y),b={x:v(t.x),y:v(t.y)},_=function(e,t,n,r){if("function"==typeof e)return function(e){u.S1.current=[],e();let t=h(u.S1.current,e);return u.S1.current=void 0,t}(e);let i="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],s=e[2+n],a=e[3+n],l=(0,p.s)(i,s,{mixer:g(s[0]),...a});return t?l(r):l}(t,void 0,void 0);return Array.isArray(e)?x(e,i):x([e],([e])=>i(e))}([b.x,b.y],([e,t])=>e||t?1:"unset");(0,i.k)(!!T,"Reorder.Item must be a child of Reorder.Group");let{axis:C,registerItem:j,updateOrder:R}=T;return(0,r.jsx)(E,{drag:C,...f,dragSnapToOrigin:!0,style:{...t,x:b.x,y:b.y,zIndex:_},layout:m,onDrag:(e,t)=>{let{velocity:r}=t;r[C]&&R(n,b[C].get(),r[C]),d&&d(e,t)},onLayoutMeasure:e=>j(n,e),ref:y,ignoreStrict:!0,children:e})})},40976:function(e,t,n){n.d(t,{Y:function(){return r}});let r=(0,n(27378).createContext)(null)},47397:function(e,t,n){n.d(t,{o:function(){return a}});var r=n(42308);class i{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(n=>{n.start(e.nativeEvent||e,t)})}}let s=()=>new i;function a(){return(0,r.h)(s)}},76649:function(e,t,n){n.d(t,{Ln:function(){return r}});let r=(e,t)=>s(e,t),i=Symbol("SOME"),s=(e,t)=>"string"==typeof e?e===typeof t:Array.isArray(e)?i in e?e.some(e=>s(e,t)):!!Array.isArray(t)&&(0===e.length||t.every(t=>e.some(e=>s(e,t)))):"object"==typeof t&&null!==t&&Object.entries(e).every(([e,n])=>s(n,t[e]));class a{static narrow(e){return new a(t=>r(e,t))}constructor(e){this.NF=void 0,this.NF=e}satisfied(e){return this.NF(e)}build(e){return e}and(e){let t=this.NF,n=e instanceof a?e.NF:e instanceof Function?e:t=>r(e,t);return new a(e=>t(e)&&n(e))}}new a(e=>!0)}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1100],{58754:function(e,t,n){var r=n(24246),i=n(91922),s=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:a=!0,children:l,rightContent:o,style:u,...c}=e;return(0,r.jsxs)("div",{...c,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,r.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,o&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,r.jsx)(s.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},10342:function(e,t,n){var r=n(24246),i=n(91922),s=n(46238);t.Z=e=>{let{title:t,tooltip:n,children:a,...l}=e;return(0,r.jsxs)(i.xuv,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",...l,children:[(0,r.jsxs)(i.X6q,{as:"h3",fontSize:"sm",fontWeight:"semibold",color:"gray.700",py:4,px:6,backgroundColor:"gray.50",borderRadius:"md",textAlign:"left",children:[t,n?(0,r.jsx)(i.xvT,{as:"span",mx:1,children:(0,r.jsx)(s.b,{label:n})}):void 0]}),(0,r.jsx)(i.Kqy,{p:6,spacing:6,children:a})]})}},70788:function(e,t,n){n.d(t,{m:function(){return u}});var r=n(24246),i=n(91922),s=n(79894),a=n.n(s),l=n(27378);let{Text:o}=i.AntTypography,u=e=>{let{items:t,...n}=e,s=(0,l.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let s=n===t.length-1,l={...e},u=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,r.jsx)(o,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:l.title})),u)?l.title=(0,r.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,r.jsx)(a(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[t]);return(0,r.jsx)(i.zrq,{items:s,...n})}},67810:function(e,t,n){n.d(t,{Z:function(){return s}}),(r=i||(i={})).PRIVACY_REQUEST_REVIEW_APPROVE="privacy_request_review_approve",r.PRIVACY_REQUEST_REVIEW_DENY="privacy_request_review_deny",r.PRIVACY_REQUEST_RECEIPT="privacy_request_receipt",r.PRIVACY_REQUEST_COMPLETE_ACCESS="privacy_request_complete_access",r.PRIVACY_REQUEST_COMPLETE_DELETION="privacy_request_complete_deletion",r.SUBJECT_IDENTITY_VERIFICATION="subject_identity_verification";var r,i,s={[i.PRIVACY_REQUEST_COMPLETE_ACCESS]:"Access request completed",[i.PRIVACY_REQUEST_COMPLETE_DELETION]:"Erasure request completed",[i.PRIVACY_REQUEST_RECEIPT]:"Privacy request received",[i.PRIVACY_REQUEST_REVIEW_APPROVE]:"Privacy request approved",[i.PRIVACY_REQUEST_REVIEW_DENY]:"Privacy request denied",[i.SUBJECT_IDENTITY_VERIFICATION]:"Subject identity verification"}},20149:function(e,t,n){var r=n(24246),i=n(77830),s=n(91922),a=n(34090),l=n(86677),o=n(16134),u=n(10342),c=n(40324),d=n(51472),p=n(67810),m=n(64826);let g=()=>{var e;let t=(0,o.C)(m.Zp),n=(0,o.C)(m.G1);(0,m.gz)({page:t,size:n});let i=(0,o.C)(m.YO),{values:s,setFieldValue:l}=(0,a.u6)();return(0,r.jsx)(d.Z,{label:"Associated properties",addButtonLabel:"Add property",idField:"id",nameField:"name",allItems:i.map(e=>({id:e.id,name:e.name})),values:null!==(e=s.properties)&&void 0!==e?e:[],setValues:e=>l("properties",e),draggable:!0,maxHeight:100,baseTestId:"property"})};t.Z=e=>{let{template:t,handleSubmit:n,handleDelete:o}=e,d=(0,l.useRouter)(),m=()=>{d.push(i.q)},f={type:t.type,content:t.content,properties:t.properties||[],is_enabled:t.is_enabled,id:t.id||""};return(0,r.jsx)(a.J9,{enableReinitialize:!0,initialValues:f,onSubmit:n,children:e=>{let{dirty:t,isValid:n,isSubmitting:i}=e;return(0,r.jsxs)(a.l0,{style:{paddingTop:"12px",paddingBottom:"12px"},children:[(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsxs)(u.Z,{title:"".concat(p.Z[f.type]),children:[(0,r.jsx)(c.j0,{isRequired:!0,label:"Email subject",name:"content.subject",variant:"stacked"}),(0,r.jsx)(c.Ks,{isRequired:!0,label:"Message body",name:"content.body",value:"test",variant:"stacked",resize:!0}),(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsx)(g,{})}),(0,r.jsx)(c.w8,{name:"is_enabled",label:"Enable message",variant:"switchFirst"})]})}),(0,r.jsxs)(s.kCb,{justifyContent:"space-between",width:"100%",paddingTop:2,children:[f.id&&o&&(0,r.jsx)(s.wpx,{"data-testid":"delete-template-button",loading:!1,className:"mr-3",onClick:o,children:"Delete"}),(0,r.jsxs)(s.kCb,{justifyContent:"right",width:"100%",paddingTop:2,children:[(0,r.jsx)(s.wpx,{loading:!1,className:"mr-3",onClick:m,children:"Cancel"}),(0,r.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:i||!t||!n,loading:i,"data-testid":"submit-btn",children:"Save"})]})]})]})}})}},5058:function(e,t,n){n.d(t,{Vw:function(){return s},ms:function(){return r},pS:function(){return i},vm:function(){return a}});let{useGetSummaryMessagingTemplatesQuery:r,usePutMessagingTemplateByIdMutation:i,useCreateMessagingTemplateByTypeMutation:s,usePatchMessagingTemplateByIdMutation:a}=n(78780).u.injectEndpoints({endpoints:e=>({getSummaryMessagingTemplates:e.query({query:e=>({method:"GET",url:"plus/messaging/templates/summary",params:e}),providesTags:()=>["Property-Specific Messaging Templates"]}),putMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PUT",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),patchMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PATCH",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),createMessagingTemplateByType:e.mutation({query:e=>{let{templateType:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"POST",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},47466:function(e,t,n){n.d(t,{KC:function(){return a},ew:function(){return l},gQ:function(){return s},jM:function(){return r},lE:function(){return i}});let{useGetMessagingTemplatesQuery:r,useUpdateMessagingTemplatesMutation:i,useGetMessagingTemplateByIdQuery:s,useGetMessagingTemplateDefaultQuery:a,useDeleteMessagingTemplateByIdMutation:l}=n(78780).u.injectEndpoints({endpoints:e=>({getMessagingTemplates:e.query({query:()=>({url:"messaging/templates"}),providesTags:()=>["Messaging Templates"]}),updateMessagingTemplates:e.mutation({query:e=>({url:"messaging/templates",method:"PUT",body:e}),invalidatesTags:()=>["Messaging Templates"]}),getMessagingTemplateById:e.query({query:e=>({url:"/messaging/templates/".concat(e)}),providesTags:()=>["Property-Specific Messaging Templates"]}),getMessagingTemplateDefault:e.query({query:e=>({url:"/messaging/templates/default/".concat(e)})}),deleteMessagingTemplateById:e.mutation({query:e=>({url:"/messaging/templates/".concat(e),method:"DELETE"}),invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},31883:function(e,t,n){n.d(t,{Bw:function(){return r.Bw},D4:function(){return r.D4}});var r=n(19043)},11055:function(e,t,n){n.d(t,{M:function(){return d}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(25431),c=n(39556);let d=(0,s.forwardRef)(function({children:e,as:t="ul",axis:n="y",onReorder:d,values:g,...f},y){let h=(0,o.h)(()=>l.E[t]),x=[],E=(0,s.useRef)(!1);return(0,i.k)(!!g,"Reorder.Group must be provided a values prop"),(0,s.useEffect)(()=>{E.current=!1}),(0,r.jsx)(h,{...f,ref:y,ignoreStrict:!0,children:(0,r.jsx)(a.Y.Provider,{value:{axis:n,registerItem:(e,t)=>{let r=x.findIndex(t=>e===t.value);-1!==r?x[r].layout=t[n]:x.push({value:e,layout:t[n]}),x.sort(m)},updateOrder:(e,t,n)=>{if(E.current)return;let r=function(e,t,n,r){if(!r)return e;let i=e.findIndex(e=>e.value===t);if(-1===i)return e;let s=r>0?1:-1,a=e[i+s];if(!a)return e;let l=e[i],o=a.layout,d=(0,c.t)(o.min,o.max,.5);return 1===s&&l.layout.max+n>d||-1===s&&l.layout.min+n<d?(0,u.uo)(e,i,i+s):e}(x,e,t,n);x!==r&&(E.current=!0,d(r.map(p).filter(e=>-1!==g.indexOf(e))))}},children:e})})});function p(e){return e.value}function m(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,n){n.d(t,{e:function(){return T}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(69222),c=n(67412);function d(e){let t=(0,o.h)(()=>(0,u.BX)(e)),{isStatic:n}=(0,s.useContext)(c._);if(n){let[,n]=(0,s.useState)(e);(0,s.useEffect)(()=>t.on("change",n),[])}return t}var p=n(13998);let m=e=>e&&"object"==typeof e&&e.mix,g=e=>m(e)?e.mix:void 0;var f=n(64306),y=n(95984);function h(e,t){let n=d(t()),r=()=>n.set(t());return r(),(0,f.L)(()=>{let t=()=>y.Wi.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,y.Pn)(r)}}),n}function x(e,t){let n=(0,o.h)(()=>[]);return h(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}var E=n(3522);function v(e,t=0){return(0,E.i)(e)?e:d(t)}let T=(0,s.forwardRef)(function({children:e,style:t={},value:n,as:c="li",onDrag:d,layout:m=!0,...f},y){let E=(0,o.h)(()=>l.E[c]),T=(0,s.useContext)(a.Y),b={x:v(t.x),y:v(t.y)},_=function(e,t,n,r){if("function"==typeof e)return function(e){u.S1.current=[],e();let t=h(u.S1.current,e);return u.S1.current=void 0,t}(e);let i="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],s=e[2+n],a=e[3+n],l=(0,p.s)(i,s,{mixer:g(s[0]),...a});return t?l(r):l}(t,void 0,void 0);return Array.isArray(e)?x(e,i):x([e],([e])=>i(e))}([b.x,b.y],([e,t])=>e||t?1:"unset");(0,i.k)(!!T,"Reorder.Item must be a child of Reorder.Group");let{axis:C,registerItem:j,updateOrder:R}=T;return(0,r.jsx)(E,{drag:C,...f,dragSnapToOrigin:!0,style:{...t,x:b.x,y:b.y,zIndex:_},layout:m,onDrag:(e,t)=>{let{velocity:r}=t;r[C]&&R(n,b[C].get(),r[C]),d&&d(e,t)},onLayoutMeasure:e=>j(n,e),ref:y,ignoreStrict:!0,children:e})})},40976:function(e,t,n){n.d(t,{Y:function(){return r}});let r=(0,n(27378).createContext)(null)},47397:function(e,t,n){n.d(t,{o:function(){return a}});var r=n(42308);class i{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(n=>{n.start(e.nativeEvent||e,t)})}}let s=()=>new i;function a(){return(0,r.h)(s)}},76649:function(e,t,n){n.d(t,{Ln:function(){return r}});let r=(e,t)=>s(e,t),i=Symbol("SOME"),s=(e,t)=>"string"==typeof e?e===typeof t:Array.isArray(e)?i in e?e.some(e=>s(e,t)):!!Array.isArray(t)&&(0===e.length||t.every(t=>e.some(e=>s(e,t)))):"object"==typeof t&&null!==t&&Object.entries(e).every(([e,n])=>s(n,t[e]));class a{static narrow(e){return new a(t=>r(e,t))}constructor(e){this.NF=void 0,this.NF=e}satisfied(e){return this.NF(e)}build(e){return e}and(e){let t=this.NF,n=e instanceof a?e.NF:e instanceof Function?e:t=>r(e,t);return new a(e=>t(e)&&n(e))}}new a(e=>!0)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1817],{11817:function(e,n,i){i.d(n,{Z:function(){return U}});var t=i(24246),o=i(91942),a=i(34090),l=i(86677),r=i(27378),s=i(55484),d=i(16134),c=i(812);let p=(0,o.IUT)({displayName:"DesktopIcon",viewBox:"0 0 24 24",path:(0,t.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"})}),u=(0,o.IUT)({displayName:"MobileIcon",viewBox:"0 0 24 24",path:(0,t.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 v=i(77830),m=i(46628),_=i(7426),f=i(60325);let b={language:{label:"Language",validation:s.Z_()},title:{label:"Title",validation:s.Z_()},description:{label:"Description",validation:s.Z_()},accept_button_label:{label:"Accept button label",validation:s.Z_()},reject_button_label:{label:"Reject button label",validation:s.Z_()},save_button_label:{label:"Save button label",validation:s.Z_()},acknowledge_button_label:{label:"Acknowledge button label",validation:s.Z_()},privacy_policy_url:{label:"Privacy policy URL",validation:s.Z_().url()},privacy_preferences_link_label:{label:"Privacy preferences link label",validation:s.Z_()},banner_title:{label:"Banner title",validation:s.Z_()},banner_description:{label:"Banner description",validation:s.Z_()},purpose_header:{label:"Purpose header",validation:s.Z_()},privacy_policy_link_label:{label:"Privacy policy link label",validation:s.Z_()},modal_link_label:{label:"Modal link label",validation:s.Z_()},is_default:{label:"Default language",validation:s.O7()}};var g=i(34334),y=i(13083),x=i.n(y),h=i(43218),w=i.n(h),C=i(52253),j=i(32885),V=i(16643);let k={language:V.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},A=e=>({...k,...e.translations?e.translations[0]:{}}),O=(e,n)=>{var i,t,o,a;let l={options:{allowHTMLDescription:!0,base64Cookie:!1,debug:!1,fidesApiUrl:"http://localhost:8080/api/v1",fidesClearCookie:!0,fidesDisableSaveApi:!0,fidesDisableNoticesServedApi:!0,fidesJsBaseUrl:"",fidesLocale:null===(t=e.translations)||void 0===t?void 0:null===(i=t[0])||void 0===i?void 0:i.language,fidesString:null,geolocationApiUrl:"",isGeolocationEnabled:!1,isOverlayEnabled:!0,isPrefetchEnabled:!1,modalLinkId:null,overlayParentId:C.Vk,preventDismissal:null!==(a=e.dismissable)&&void 0!==a&&a,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:V.Of.OPT_IN_OPT_OUT,properties:[],regions:["us_ca"],show_layer1_notices:!1,translations:[A(e)]},id:"pri_111",privacy_notices:n,region:"us_ca"},geolocation:{country:"US",location:"US-CA",region:"CA"}};return e.component===V.re.TCF_OVERLAY&&(l.options.fidesTcfGdprApplies=!0,l.options.tcf_enabled=!0,l.geolocation={location:"eea",country:"eea"},l.experience.experience_config.regions=["eea"],l.experience={...l.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"]},l.options.apiOptions={getPrivacyExperienceFn:async()=>l.experience}),l},E=e=>{let{language:n,is_default:i,...t}=k,o=Object.keys(t).map(n=>{let i=e[n];return{[n]:void 0!==i?i:k[n]}}).reduce((e,n)=>({...e,...n}),{});return{language:e.language,is_default:e.is_default,...o}},T=(e,n,i)=>e?e.map(e=>i.find(n=>(null==n?void 0:n.id)===e)).map(e=>n===V.re.TCF_OVERLAY&&void 0!==e?{...e,translations:[{language:"en",text:null==e?void 0:e.name}]}:e).filter(e=>void 0!==e):[];var L=i(74022),Z=i(32222);let N=e=>{let{title:n,description:i}=e;return(0,t.jsx)(o.jqI,{className:"h-full items-center justify-center",children:(0,t.jsxs)(o.jqI,{className:"items-center gap-2 rounded-md p-6",style:{backgroundColor:L.Z.colors.white,boxShadow:L.Z.shadows.md,maxWidth:512},vertical:!0,"data-testid":"no-preview-notice",children:[(0,t.jsx)(o.xvT,{fontSize:"lg",fontWeight:"500",align:"center",children:n}),(0,t.jsx)(o.xvT,{color:"gray.500",align:"center",children:i})]})})};var P=e=>{var n,i;let{allPrivacyNotices:s,initialValues:d,translation:c,isMobilePreview:p}=e,u=(0,l.useRouter)().pathname.includes("/new"),{values:v}=(0,a.u6)(),[m,_]=(0,r.useState)([]),[f,b]=(0,r.useState)(!1),[g,y]=(0,r.useState)(),h=[V.re.BANNER_AND_MODAL,V.re.MODAL,V.re.TCF_OVERLAY].includes(v.component),{data:k}=(0,j.de)({pageIndex:1,pageSize:1}),A=(0,r.useMemo)(()=>(null==k?void 0:k.total)||0,[null==k?void 0:k.total]);(0,r.useEffect)(()=>{var e,n;return h&&f&&window.FidesPreview&&v.component&&((null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)||v.component===V.re.TCF_OVERLAY)?v.component===V.re.TCF_OVERLAY?(window.FidesPreview("tcf"),y("tcf")):(window.FidesPreview("standard"),y("standard")):window.FidesPreview&&(null===(n=window.FidesPreview)||void 0===n||n.cleanup()),()=>{var e;null===(e=window.FidesPreview)||void 0===e||e.cleanup()}},[v.component,f,h,null===(n=v.privacy_notice_ids)||void 0===n?void 0:n.length,u]),(0,r.useEffect)(()=>{d&&v.component&&s&&(v.privacy_notice_ids?_(T(v.privacy_notice_ids,v.component,s)):_([]))},[v.privacy_notice_ids,s,v.component,d]);let L=(0,r.useMemo)(()=>v.component?O({...d,component:v.component},m):null,[d,m,v.component]);(0,r.useEffect)(()=>{var e,n,i,t;if(!h||!f||!window.FidesPreview||!window.Fides||!(null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)&&v.component!==V.re.TCF_OVERLAY)return;v.component===V.re.MODAL&&(L.experience.experience_config.component=V.re.MODAL);let o=null===(n=v.translations)||void 0===n?void 0:n.find(e=>e.language===(null==c?void 0:c.language));(null===(i=v.translations)||void 0===i?void 0:i.length)&&(o?(L.experience.available_locales=[...L.experience.available_locales||[],o.language],L.experience.experience_config.translations[0]=E(o),L.options.fidesLocale=o.language):v.translations&&(L.experience.experience_config.translations[0]=E(v.translations[0]),L.options.fidesLocale=v.translations[0].language)),L.experience.experience_config.show_layer1_notices=!!(null===(t=v.privacy_notice_ids)||void 0===t?void 0:t.length)&&!!v.show_layer1_notices,L.experience.experience_config.layer1_button_options=(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY)&&v.layer1_button_options?v.layer1_button_options:V.Of.OPT_IN_OPT_OUT,L.options.preventDismissal=!v.dismissable,L.experience.vendor_count=A,L.experience.experience_config.component=v.component,window.Fides.init(L)},[c,L,s,h,A,f,g,v.privacy_notice_ids,v.component,v.translations,v.show_layer1_notices,v.layer1_button_options,v.dismissable,d,m]);let P=document.getElementById("fides-modal");return(P&&P.removeAttribute("tabindex"),v.component)?h?(null===(i=v.privacy_notice_ids)||void 0===i?void 0:i.length)||v.component===V.re.TCF_OVERLAY?(0,t.jsxs)(o.jqI,{className:"size-full items-center justify-center overflow-scroll",children:[(0,t.jsx)(x(),{id:"4b2ec2183c5a567e",dynamic:[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""],children:"div#fides-overlay{z-index:5000!important}div#".concat(C.Vk,"{width:100%;padding-top:45px;").concat(v.component!==V.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}")}),h?(0,t.jsx)("style",{children:"div#fides-modal {\n display: flex !important;\n justify-content: center;\n background-color: unset;\n ".concat(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY?"padding-bottom: 3rem;":"","\n }")}):null,p?(0,t.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,t.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,t.jsx)(w(),{id:"fides-js-script",src:"/lib/fides-preview.js",onReady:()=>{b(!0)}}),(0,t.jsx)("div",{id:C.Vk,className:x().dynamic([["4b2ec2183c5a567e",[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""]]])},v.component)]}):(0,t.jsx)(N,{title:"No privacy notices added",description:'To view a preview of this experience, add a privacy notice under "Privacy Notices" to the left.'}):(0,t.jsx)(N,{title:"".concat(Z.J.get(v.component)," preview not available"),description:"There is no preview available for ".concat(Z.J.get(v.component),". You can edit the available settings\n and languages to the left.")}):(0,t.jsx)(N,{title:"No privacy experience type selected",description:"Please select a privacy experience type to preview."})},D=i(94315),M=i(5331),R=i(16277),F=i(71922),H=i(31883);let S=e=>{let n=(0,f.y3)(e),i={};return Object.entries(n).forEach(e=>{let[n,t]=e;if(t.included){let e=b[n];i[n]=t.required?e.validation.required().label(e.label):e.validation.nullable().label(e.label)}}),s.Ry().shape(i)},B=e=>{let{componentType:n}=e;return S(n)},I=s.Ry().shape({name:s.Z_().required().label("Experience name"),component:s.Z_().required().label("Experience type"),translations:s.IX().when("component",(e,n)=>{let[i]=e;return n.of(B({componentType:i}))})});var U=e=>{var n;let{passedInExperience:i,passedInTranslations:s}=e,[b]=(0,D.mJ)(),[y]=(0,D.$d)(),x=(0,o.pmc)(),[h,w]=(0,r.useState)(!1),C=(0,l.useRouter)(),{data:j}=(0,_.tB)({api_set:!1}),V=null==j?void 0:null===(n=j.plus_consent_settings)||void 0===n?void 0:n.enable_translations,k=(0,d.C)(g.Zp),A=(0,d.C)(g.G1);(0,g.Ah)({page:k,size:A});let O=(0,d.C)(g.fJ),E=(0,d.C)(F.sX),T=i?{...f.DD,...(0,f.Uv)(i)}:f.DD,L=async e=>{var n,t;let o;e.privacy_notice_ids=null===(n=e.privacy_notice_ids)||void 0===n?void 0:n.filter(e=>"tcf_purposes_placeholder"!==e),T.tcf_configuration_id&&!e.tcf_configuration_id&&(e.tcf_configuration_id=null);let a={...e,disabled:null===(t=null==i?void 0:i.disabled)||void 0===t||t,allow_language_selection:e.translations&&e.translations.length>1};if(i){let{component:e,...n}=a;o=await y({...n,id:i.id})}else o=await b(a);(0,H.D4)(o)?x((0,m.Vo)((0,c.e$)(o.error))):(x((0,m.t5)("Privacy experience successfully ".concat(i?"updated":"created"))),C.push(v.w0))},[Z,N]=(0,r.useState)(void 0),[S,B]=(0,r.useState)(!1);return(0,t.jsx)(a.J9,{initialValues:T,enableReinitialize:!0,onSubmit:L,validationSchema:I,children:(0,t.jsx)(a.l0,{style:{height:"100vh"},children:(0,t.jsxs)(o.jqI,{className:"size-full","data-testid":"privacy-experience-detail-page",children:[Z?(0,t.jsx)(R.Z,{translation:Z,translationsEnabled:V,isOOB:S,onReturnToMainForm:()=>{N(void 0),B(!1)}}):(0,t.jsx)(M.d0,{allPrivacyNotices:E,translationsEnabled:V,onSelectTranslation:e=>{N({...e,name:(0,f.Go)(e,O)})},onCreateTranslation:e=>{let n=null==s?void 0:s.find(n=>n.language===e);return n&&B(!0),null!=n?n:{language:e,is_default:!1}}}),(0,t.jsxs)(o.jqI,{vertical:!0,className:"w-full overflow-y-hidden",style:{backgroundColor:o.rSc.colors.gray[50]},children:[(0,t.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,t.jsx)(o.xvT,{fontSize:"md",fontWeight:"semibold",children:"PREVIEW"}),(0,t.jsx)(o.LZC,{}),(0,t.jsxs)(o.y02.Group,{onChange:e=>w(e.target.value),defaultValue:!1,children:[(0,t.jsx)(o.y02.Button,{value:!0,title:"View mobile preview",children:(0,t.jsx)(u,{})}),(0,t.jsx)(o.y02.Button,{value:!1,title:"View desktop preview",children:(0,t.jsx)(p,{})})]})]}),(0,t.jsx)(P,{allPrivacyNotices:E,initialValues:T,translation:Z,isMobilePreview:h})]})]})})})}},32222:function(e,n,i){i.d(n,{J:function(){return t}});let t=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,n,i){i.d(n,{Bw:function(){return t.Bw},D4:function(){return t.D4}});var t=i(19043)}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1817],{11817:function(e,n,i){i.d(n,{Z:function(){return U}});var t=i(24246),o=i(91922),a=i(34090),l=i(86677),r=i(27378),s=i(55484),d=i(16134),c=i(812);let p=(0,o.IUT)({displayName:"DesktopIcon",viewBox:"0 0 24 24",path:(0,t.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"})}),u=(0,o.IUT)({displayName:"MobileIcon",viewBox:"0 0 24 24",path:(0,t.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 v=i(77830),m=i(46628),_=i(7426),f=i(60325);let b={language:{label:"Language",validation:s.Z_()},title:{label:"Title",validation:s.Z_()},description:{label:"Description",validation:s.Z_()},accept_button_label:{label:"Accept button label",validation:s.Z_()},reject_button_label:{label:"Reject button label",validation:s.Z_()},save_button_label:{label:"Save button label",validation:s.Z_()},acknowledge_button_label:{label:"Acknowledge button label",validation:s.Z_()},privacy_policy_url:{label:"Privacy policy URL",validation:s.Z_().url()},privacy_preferences_link_label:{label:"Privacy preferences link label",validation:s.Z_()},banner_title:{label:"Banner title",validation:s.Z_()},banner_description:{label:"Banner description",validation:s.Z_()},purpose_header:{label:"Purpose header",validation:s.Z_()},privacy_policy_link_label:{label:"Privacy policy link label",validation:s.Z_()},modal_link_label:{label:"Modal link label",validation:s.Z_()},is_default:{label:"Default language",validation:s.O7()}};var g=i(34334),y=i(13083),x=i.n(y),h=i(43218),w=i.n(h),C=i(52253),j=i(32885),V=i(16643);let k={language:V.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},A=e=>({...k,...e.translations?e.translations[0]:{}}),O=(e,n)=>{var i,t,o,a;let l={options:{allowHTMLDescription:!0,base64Cookie:!1,debug:!1,fidesApiUrl:"http://localhost:8080/api/v1",fidesClearCookie:!0,fidesDisableSaveApi:!0,fidesDisableNoticesServedApi:!0,fidesJsBaseUrl:"",fidesLocale:null===(t=e.translations)||void 0===t?void 0:null===(i=t[0])||void 0===i?void 0:i.language,fidesString:null,geolocationApiUrl:"",isGeolocationEnabled:!1,isOverlayEnabled:!0,isPrefetchEnabled:!1,modalLinkId:null,overlayParentId:C.Vk,preventDismissal:null!==(a=e.dismissable)&&void 0!==a&&a,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:V.Of.OPT_IN_OPT_OUT,properties:[],regions:["us_ca"],show_layer1_notices:!1,translations:[A(e)]},id:"pri_111",privacy_notices:n,region:"us_ca"},geolocation:{country:"US",location:"US-CA",region:"CA"}};return e.component===V.re.TCF_OVERLAY&&(l.options.fidesTcfGdprApplies=!0,l.options.tcf_enabled=!0,l.geolocation={location:"eea",country:"eea"},l.experience.experience_config.regions=["eea"],l.experience={...l.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"]},l.options.apiOptions={getPrivacyExperienceFn:async()=>l.experience}),l},E=e=>{let{language:n,is_default:i,...t}=k,o=Object.keys(t).map(n=>{let i=e[n];return{[n]:void 0!==i?i:k[n]}}).reduce((e,n)=>({...e,...n}),{});return{language:e.language,is_default:e.is_default,...o}},T=(e,n,i)=>e?e.map(e=>i.find(n=>(null==n?void 0:n.id)===e)).map(e=>n===V.re.TCF_OVERLAY&&void 0!==e?{...e,translations:[{language:"en",text:null==e?void 0:e.name}]}:e).filter(e=>void 0!==e):[];var L=i(74022),Z=i(32222);let N=e=>{let{title:n,description:i}=e;return(0,t.jsx)(o.jqI,{className:"h-full items-center justify-center",children:(0,t.jsxs)(o.jqI,{className:"items-center gap-2 rounded-md p-6",style:{backgroundColor:L.Z.colors.white,boxShadow:L.Z.shadows.md,maxWidth:512},vertical:!0,"data-testid":"no-preview-notice",children:[(0,t.jsx)(o.xvT,{fontSize:"lg",fontWeight:"500",align:"center",children:n}),(0,t.jsx)(o.xvT,{color:"gray.500",align:"center",children:i})]})})};var P=e=>{var n,i;let{allPrivacyNotices:s,initialValues:d,translation:c,isMobilePreview:p}=e,u=(0,l.useRouter)().pathname.includes("/new"),{values:v}=(0,a.u6)(),[m,_]=(0,r.useState)([]),[f,b]=(0,r.useState)(!1),[g,y]=(0,r.useState)(),h=[V.re.BANNER_AND_MODAL,V.re.MODAL,V.re.TCF_OVERLAY].includes(v.component),{data:k}=(0,j.de)({pageIndex:1,pageSize:1}),A=(0,r.useMemo)(()=>(null==k?void 0:k.total)||0,[null==k?void 0:k.total]);(0,r.useEffect)(()=>{var e,n;return h&&f&&window.FidesPreview&&v.component&&((null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)||v.component===V.re.TCF_OVERLAY)?v.component===V.re.TCF_OVERLAY?(window.FidesPreview("tcf"),y("tcf")):(window.FidesPreview("standard"),y("standard")):window.FidesPreview&&(null===(n=window.FidesPreview)||void 0===n||n.cleanup()),()=>{var e;null===(e=window.FidesPreview)||void 0===e||e.cleanup()}},[v.component,f,h,null===(n=v.privacy_notice_ids)||void 0===n?void 0:n.length,u]),(0,r.useEffect)(()=>{d&&v.component&&s&&(v.privacy_notice_ids?_(T(v.privacy_notice_ids,v.component,s)):_([]))},[v.privacy_notice_ids,s,v.component,d]);let L=(0,r.useMemo)(()=>v.component?O({...d,component:v.component},m):null,[d,m,v.component]);(0,r.useEffect)(()=>{var e,n,i,t;if(!h||!f||!window.FidesPreview||!window.Fides||!(null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)&&v.component!==V.re.TCF_OVERLAY)return;v.component===V.re.MODAL&&(L.experience.experience_config.component=V.re.MODAL);let o=null===(n=v.translations)||void 0===n?void 0:n.find(e=>e.language===(null==c?void 0:c.language));(null===(i=v.translations)||void 0===i?void 0:i.length)&&(o?(L.experience.available_locales=[...L.experience.available_locales||[],o.language],L.experience.experience_config.translations[0]=E(o),L.options.fidesLocale=o.language):v.translations&&(L.experience.experience_config.translations[0]=E(v.translations[0]),L.options.fidesLocale=v.translations[0].language)),L.experience.experience_config.show_layer1_notices=!!(null===(t=v.privacy_notice_ids)||void 0===t?void 0:t.length)&&!!v.show_layer1_notices,L.experience.experience_config.layer1_button_options=(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY)&&v.layer1_button_options?v.layer1_button_options:V.Of.OPT_IN_OPT_OUT,L.options.preventDismissal=!v.dismissable,L.experience.vendor_count=A,L.experience.experience_config.component=v.component,window.Fides.init(L)},[c,L,s,h,A,f,g,v.privacy_notice_ids,v.component,v.translations,v.show_layer1_notices,v.layer1_button_options,v.dismissable,d,m]);let P=document.getElementById("fides-modal");return(P&&P.removeAttribute("tabindex"),v.component)?h?(null===(i=v.privacy_notice_ids)||void 0===i?void 0:i.length)||v.component===V.re.TCF_OVERLAY?(0,t.jsxs)(o.jqI,{className:"size-full items-center justify-center overflow-scroll",children:[(0,t.jsx)(x(),{id:"4b2ec2183c5a567e",dynamic:[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""],children:"div#fides-overlay{z-index:5000!important}div#".concat(C.Vk,"{width:100%;padding-top:45px;").concat(v.component!==V.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}")}),h?(0,t.jsx)("style",{children:"div#fides-modal {\n display: flex !important;\n justify-content: center;\n background-color: unset;\n ".concat(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY?"padding-bottom: 3rem;":"","\n }")}):null,p?(0,t.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,t.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,t.jsx)(w(),{id:"fides-js-script",src:"/lib/fides-preview.js",onReady:()=>{b(!0)}}),(0,t.jsx)("div",{id:C.Vk,className:x().dynamic([["4b2ec2183c5a567e",[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""]]])},v.component)]}):(0,t.jsx)(N,{title:"No privacy notices added",description:'To view a preview of this experience, add a privacy notice under "Privacy Notices" to the left.'}):(0,t.jsx)(N,{title:"".concat(Z.J.get(v.component)," preview not available"),description:"There is no preview available for ".concat(Z.J.get(v.component),". You can edit the available settings\n and languages to the left.")}):(0,t.jsx)(N,{title:"No privacy experience type selected",description:"Please select a privacy experience type to preview."})},D=i(94315),M=i(5331),R=i(16277),F=i(71922),H=i(31883);let S=e=>{let n=(0,f.y3)(e),i={};return Object.entries(n).forEach(e=>{let[n,t]=e;if(t.included){let e=b[n];i[n]=t.required?e.validation.required().label(e.label):e.validation.nullable().label(e.label)}}),s.Ry().shape(i)},B=e=>{let{componentType:n}=e;return S(n)},I=s.Ry().shape({name:s.Z_().required().label("Experience name"),component:s.Z_().required().label("Experience type"),translations:s.IX().when("component",(e,n)=>{let[i]=e;return n.of(B({componentType:i}))})});var U=e=>{var n;let{passedInExperience:i,passedInTranslations:s}=e,[b]=(0,D.mJ)(),[y]=(0,D.$d)(),x=(0,o.pmc)(),[h,w]=(0,r.useState)(!1),C=(0,l.useRouter)(),{data:j}=(0,_.tB)({api_set:!1}),V=null==j?void 0:null===(n=j.plus_consent_settings)||void 0===n?void 0:n.enable_translations,k=(0,d.C)(g.Zp),A=(0,d.C)(g.G1);(0,g.Ah)({page:k,size:A});let O=(0,d.C)(g.fJ),E=(0,d.C)(F.sX),T=i?{...f.DD,...(0,f.Uv)(i)}:f.DD,L=async e=>{var n,t;let o;e.privacy_notice_ids=null===(n=e.privacy_notice_ids)||void 0===n?void 0:n.filter(e=>"tcf_purposes_placeholder"!==e),T.tcf_configuration_id&&!e.tcf_configuration_id&&(e.tcf_configuration_id=null);let a={...e,disabled:null===(t=null==i?void 0:i.disabled)||void 0===t||t,allow_language_selection:e.translations&&e.translations.length>1};if(i){let{component:e,...n}=a;o=await y({...n,id:i.id})}else o=await b(a);(0,H.D4)(o)?x((0,m.Vo)((0,c.e$)(o.error))):(x((0,m.t5)("Privacy experience successfully ".concat(i?"updated":"created"))),C.push(v.w0))},[Z,N]=(0,r.useState)(void 0),[S,B]=(0,r.useState)(!1);return(0,t.jsx)(a.J9,{initialValues:T,enableReinitialize:!0,onSubmit:L,validationSchema:I,children:(0,t.jsx)(a.l0,{style:{height:"100vh"},children:(0,t.jsxs)(o.jqI,{className:"size-full","data-testid":"privacy-experience-detail-page",children:[Z?(0,t.jsx)(R.Z,{translation:Z,translationsEnabled:V,isOOB:S,onReturnToMainForm:()=>{N(void 0),B(!1)}}):(0,t.jsx)(M.d0,{allPrivacyNotices:E,translationsEnabled:V,onSelectTranslation:e=>{N({...e,name:(0,f.Go)(e,O)})},onCreateTranslation:e=>{let n=null==s?void 0:s.find(n=>n.language===e);return n&&B(!0),null!=n?n:{language:e,is_default:!1}}}),(0,t.jsxs)(o.jqI,{vertical:!0,className:"w-full overflow-y-hidden",style:{backgroundColor:o.rSc.colors.gray[50]},children:[(0,t.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,t.jsx)(o.xvT,{fontSize:"md",fontWeight:"semibold",children:"PREVIEW"}),(0,t.jsx)(o.LZC,{}),(0,t.jsxs)(o.y02.Group,{onChange:e=>w(e.target.value),defaultValue:!1,children:[(0,t.jsx)(o.y02.Button,{value:!0,title:"View mobile preview",children:(0,t.jsx)(u,{})}),(0,t.jsx)(o.y02.Button,{value:!1,title:"View desktop preview",children:(0,t.jsx)(p,{})})]})]}),(0,t.jsx)(P,{allPrivacyNotices:E,initialValues:T,translation:Z,isMobilePreview:h})]})]})})})}},32222:function(e,n,i){i.d(n,{J:function(){return t}});let t=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,n,i){i.d(n,{Bw:function(){return t.Bw},D4:function(){return t.D4}});var t=i(19043)}}]);