@dextinity/brevo-admin 2.0.0-canary-20260729062014

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 (218) hide show
  1. package/LICENSE +24 -0
  2. package/lib/blocks/NewsletterImageBlock.d.ts +8 -0
  3. package/lib/blocks/NewsletterImageBlock.d.ts.map +1 -0
  4. package/lib/blocks/NewsletterImageBlock.js +20 -0
  5. package/lib/blocks.generated.d.ts +206 -0
  6. package/lib/blocks.generated.d.ts.map +1 -0
  7. package/lib/blocks.generated.js +1 -0
  8. package/lib/brevoConfiguration/BrevoConfigForm.d.ts +8 -0
  9. package/lib/brevoConfiguration/BrevoConfigForm.d.ts.map +1 -0
  10. package/lib/brevoConfiguration/BrevoConfigForm.generated.d.ts +12 -0
  11. package/lib/brevoConfiguration/BrevoConfigForm.generated.d.ts.map +1 -0
  12. package/lib/brevoConfiguration/BrevoConfigForm.generated.js +1 -0
  13. package/lib/brevoConfiguration/BrevoConfigForm.gql.d.ts +6 -0
  14. package/lib/brevoConfiguration/BrevoConfigForm.gql.d.ts.map +1 -0
  15. package/lib/brevoConfiguration/BrevoConfigForm.gql.generated.d.ts +102 -0
  16. package/lib/brevoConfiguration/BrevoConfigForm.gql.generated.d.ts.map +1 -0
  17. package/lib/brevoConfiguration/BrevoConfigForm.gql.generated.js +14 -0
  18. package/lib/brevoConfiguration/BrevoConfigForm.gql.js +9 -0
  19. package/lib/brevoConfiguration/BrevoConfigForm.js +351 -0
  20. package/lib/brevoConfiguration/BrevoConfigPage.d.ts +3 -0
  21. package/lib/brevoConfiguration/BrevoConfigPage.d.ts.map +1 -0
  22. package/lib/brevoConfiguration/BrevoConfigPage.js +17 -0
  23. package/lib/brevoContacts/BrevoContactsGrid.d.ts +13 -0
  24. package/lib/brevoContacts/BrevoContactsGrid.d.ts.map +1 -0
  25. package/lib/brevoContacts/BrevoContactsGrid.generated.d.ts +65 -0
  26. package/lib/brevoContacts/BrevoContactsGrid.generated.d.ts.map +1 -0
  27. package/lib/brevoContacts/BrevoContactsGrid.generated.js +12 -0
  28. package/lib/brevoContacts/BrevoContactsGrid.js +238 -0
  29. package/lib/brevoContacts/BrevoContactsPage.d.ts +16 -0
  30. package/lib/brevoContacts/BrevoContactsPage.d.ts.map +1 -0
  31. package/lib/brevoContacts/BrevoContactsPage.js +77 -0
  32. package/lib/brevoContacts/form/BrevoContactForm.d.ts +19 -0
  33. package/lib/brevoContacts/form/BrevoContactForm.d.ts.map +1 -0
  34. package/lib/brevoContacts/form/BrevoContactForm.generated.d.ts +10 -0
  35. package/lib/brevoContacts/form/BrevoContactForm.generated.d.ts.map +1 -0
  36. package/lib/brevoContacts/form/BrevoContactForm.generated.js +5 -0
  37. package/lib/brevoContacts/form/BrevoContactForm.gql.d.ts +6 -0
  38. package/lib/brevoContacts/form/BrevoContactForm.gql.d.ts.map +1 -0
  39. package/lib/brevoContacts/form/BrevoContactForm.gql.generated.d.ts +58 -0
  40. package/lib/brevoContacts/form/BrevoContactForm.gql.generated.d.ts.map +1 -0
  41. package/lib/brevoContacts/form/BrevoContactForm.gql.generated.js +10 -0
  42. package/lib/brevoContacts/form/BrevoContactForm.gql.js +11 -0
  43. package/lib/brevoContacts/form/BrevoContactForm.js +346 -0
  44. package/lib/brevoTestContacts/BrevoTestContactsGrid.d.ts +13 -0
  45. package/lib/brevoTestContacts/BrevoTestContactsGrid.d.ts.map +1 -0
  46. package/lib/brevoTestContacts/BrevoTestContactsGrid.generated.d.ts +52 -0
  47. package/lib/brevoTestContacts/BrevoTestContactsGrid.generated.d.ts.map +1 -0
  48. package/lib/brevoTestContacts/BrevoTestContactsGrid.generated.js +11 -0
  49. package/lib/brevoTestContacts/BrevoTestContactsGrid.js +205 -0
  50. package/lib/brevoTestContacts/BrevoTestContactsPage.d.ts +18 -0
  51. package/lib/brevoTestContacts/BrevoTestContactsPage.d.ts.map +1 -0
  52. package/lib/brevoTestContacts/BrevoTestContactsPage.js +78 -0
  53. package/lib/brevoTestContacts/form/BrevoTestContactForm.d.ts +19 -0
  54. package/lib/brevoTestContacts/form/BrevoTestContactForm.d.ts.map +1 -0
  55. package/lib/brevoTestContacts/form/BrevoTestContactForm.generated.d.ts +13 -0
  56. package/lib/brevoTestContacts/form/BrevoTestContactForm.generated.d.ts.map +1 -0
  57. package/lib/brevoTestContacts/form/BrevoTestContactForm.generated.js +5 -0
  58. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.d.ts +6 -0
  59. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.d.ts.map +1 -0
  60. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.generated.d.ts +64 -0
  61. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.generated.d.ts.map +1 -0
  62. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.generated.js +10 -0
  63. package/lib/brevoTestContacts/form/BrevoTestContactForm.gql.js +11 -0
  64. package/lib/brevoTestContacts/form/BrevoTestContactForm.js +266 -0
  65. package/lib/common/BrevoConfigProvider.d.ts +21 -0
  66. package/lib/common/BrevoConfigProvider.d.ts.map +1 -0
  67. package/lib/common/BrevoConfigProvider.js +33 -0
  68. package/lib/common/contactImport/useContactImportFromCsv.d.ts +18 -0
  69. package/lib/common/contactImport/useContactImportFromCsv.d.ts.map +1 -0
  70. package/lib/common/contactImport/useContactImportFromCsv.gql.d.ts +2 -0
  71. package/lib/common/contactImport/useContactImportFromCsv.gql.d.ts.map +1 -0
  72. package/lib/common/contactImport/useContactImportFromCsv.gql.generated.d.ts +26 -0
  73. package/lib/common/contactImport/useContactImportFromCsv.gql.generated.d.ts.map +1 -0
  74. package/lib/common/contactImport/useContactImportFromCsv.gql.generated.js +5 -0
  75. package/lib/common/contactImport/useContactImportFromCsv.gql.js +4 -0
  76. package/lib/common/contactImport/useContactImportFromCsv.js +462 -0
  77. package/lib/configVerification/ConfigVerification.d.ts +8 -0
  78. package/lib/configVerification/ConfigVerification.d.ts.map +1 -0
  79. package/lib/configVerification/ConfigVerification.gql.d.ts +2 -0
  80. package/lib/configVerification/ConfigVerification.gql.d.ts.map +1 -0
  81. package/lib/configVerification/ConfigVerification.gql.generated.d.ts +17 -0
  82. package/lib/configVerification/ConfigVerification.gql.generated.d.ts.map +1 -0
  83. package/lib/configVerification/ConfigVerification.gql.generated.js +5 -0
  84. package/lib/configVerification/ConfigVerification.gql.js +4 -0
  85. package/lib/configVerification/ConfigVerification.js +41 -0
  86. package/lib/dataGrid/DataGrid.d.ts +3 -0
  87. package/lib/dataGrid/DataGrid.d.ts.map +1 -0
  88. package/lib/dataGrid/DataGrid.js +19 -0
  89. package/lib/emailCampaigns/EmailCampaignsGrid.d.ts +7 -0
  90. package/lib/emailCampaigns/EmailCampaignsGrid.d.ts.map +1 -0
  91. package/lib/emailCampaigns/EmailCampaignsGrid.generated.d.ts +81 -0
  92. package/lib/emailCampaigns/EmailCampaignsGrid.generated.d.ts.map +1 -0
  93. package/lib/emailCampaigns/EmailCampaignsGrid.generated.js +12 -0
  94. package/lib/emailCampaigns/EmailCampaignsGrid.js +281 -0
  95. package/lib/emailCampaigns/EmailCampaignsPage.d.ts +8 -0
  96. package/lib/emailCampaigns/EmailCampaignsPage.d.ts.map +1 -0
  97. package/lib/emailCampaigns/EmailCampaignsPage.js +85 -0
  98. package/lib/emailCampaigns/SendingStateColumn.d.ts +7 -0
  99. package/lib/emailCampaigns/SendingStateColumn.d.ts.map +1 -0
  100. package/lib/emailCampaigns/SendingStateColumn.js +104 -0
  101. package/lib/emailCampaigns/form/ConfigFields.d.ts +2 -0
  102. package/lib/emailCampaigns/form/ConfigFields.d.ts.map +1 -0
  103. package/lib/emailCampaigns/form/ConfigFields.js +26 -0
  104. package/lib/emailCampaigns/form/EmailCampaignForm.d.ts +9 -0
  105. package/lib/emailCampaigns/form/EmailCampaignForm.d.ts.map +1 -0
  106. package/lib/emailCampaigns/form/EmailCampaignForm.gql.d.ts +4 -0
  107. package/lib/emailCampaigns/form/EmailCampaignForm.gql.d.ts.map +1 -0
  108. package/lib/emailCampaigns/form/EmailCampaignForm.gql.generated.d.ts +93 -0
  109. package/lib/emailCampaigns/form/EmailCampaignForm.gql.generated.d.ts.map +1 -0
  110. package/lib/emailCampaigns/form/EmailCampaignForm.gql.generated.js +12 -0
  111. package/lib/emailCampaigns/form/EmailCampaignForm.gql.js +7 -0
  112. package/lib/emailCampaigns/form/EmailCampaignForm.js +418 -0
  113. package/lib/emailCampaigns/form/SendEmailCampaignNowDialog.d.ts +8 -0
  114. package/lib/emailCampaigns/form/SendEmailCampaignNowDialog.d.ts.map +1 -0
  115. package/lib/emailCampaigns/form/SendEmailCampaignNowDialog.js +35 -0
  116. package/lib/emailCampaigns/form/SendManagerFields.d.ts +10 -0
  117. package/lib/emailCampaigns/form/SendManagerFields.d.ts.map +1 -0
  118. package/lib/emailCampaigns/form/SendManagerFields.gql.d.ts +3 -0
  119. package/lib/emailCampaigns/form/SendManagerFields.gql.d.ts.map +1 -0
  120. package/lib/emailCampaigns/form/SendManagerFields.gql.generated.d.ts +39 -0
  121. package/lib/emailCampaigns/form/SendManagerFields.gql.generated.d.ts.map +1 -0
  122. package/lib/emailCampaigns/form/SendManagerFields.gql.generated.js +11 -0
  123. package/lib/emailCampaigns/form/SendManagerFields.gql.js +6 -0
  124. package/lib/emailCampaigns/form/SendManagerFields.js +171 -0
  125. package/lib/emailCampaigns/form/SendManagerWrapper.d.ts +8 -0
  126. package/lib/emailCampaigns/form/SendManagerWrapper.d.ts.map +1 -0
  127. package/lib/emailCampaigns/form/SendManagerWrapper.gql.d.ts +2 -0
  128. package/lib/emailCampaigns/form/SendManagerWrapper.gql.d.ts.map +1 -0
  129. package/lib/emailCampaigns/form/SendManagerWrapper.gql.generated.d.ts +14 -0
  130. package/lib/emailCampaigns/form/SendManagerWrapper.gql.generated.d.ts.map +1 -0
  131. package/lib/emailCampaigns/form/SendManagerWrapper.gql.generated.js +5 -0
  132. package/lib/emailCampaigns/form/SendManagerWrapper.gql.js +4 -0
  133. package/lib/emailCampaigns/form/SendManagerWrapper.js +39 -0
  134. package/lib/emailCampaigns/form/TestEmailCampaignForm.d.ts +10 -0
  135. package/lib/emailCampaigns/form/TestEmailCampaignForm.d.ts.map +1 -0
  136. package/lib/emailCampaigns/form/TestEmailCampaignForm.generated.d.ts +33 -0
  137. package/lib/emailCampaigns/form/TestEmailCampaignForm.generated.d.ts.map +1 -0
  138. package/lib/emailCampaigns/form/TestEmailCampaignForm.generated.js +8 -0
  139. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.d.ts +2 -0
  140. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.d.ts.map +1 -0
  141. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.generated.d.ts +15 -0
  142. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.generated.d.ts.map +1 -0
  143. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.generated.js +5 -0
  144. package/lib/emailCampaigns/form/TestEmailCampaignForm.gql.js +4 -0
  145. package/lib/emailCampaigns/form/TestEmailCampaignForm.js +146 -0
  146. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.d.ts +7 -0
  147. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.d.ts.map +1 -0
  148. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.d.ts +2 -0
  149. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.d.ts.map +1 -0
  150. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.generated.d.ts +23 -0
  151. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.generated.d.ts.map +1 -0
  152. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.generated.js +5 -0
  153. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.gql.js +4 -0
  154. package/lib/emailCampaigns/statistics/EmailCampaignStatistics.js +133 -0
  155. package/lib/emailCampaigns/statistics/PercentageCard.d.ts +10 -0
  156. package/lib/emailCampaigns/statistics/PercentageCard.d.ts.map +1 -0
  157. package/lib/emailCampaigns/statistics/PercentageCard.js +145 -0
  158. package/lib/emailCampaigns/view/EmailCampaignView.d.ts +8 -0
  159. package/lib/emailCampaigns/view/EmailCampaignView.d.ts.map +1 -0
  160. package/lib/emailCampaigns/view/EmailCampaignView.gql.d.ts +2 -0
  161. package/lib/emailCampaigns/view/EmailCampaignView.gql.d.ts.map +1 -0
  162. package/lib/emailCampaigns/view/EmailCampaignView.gql.generated.d.ts +18 -0
  163. package/lib/emailCampaigns/view/EmailCampaignView.gql.generated.d.ts.map +1 -0
  164. package/lib/emailCampaigns/view/EmailCampaignView.gql.generated.js +5 -0
  165. package/lib/emailCampaigns/view/EmailCampaignView.gql.js +4 -0
  166. package/lib/emailCampaigns/view/EmailCampaignView.js +81 -0
  167. package/lib/graphql.generated.d.ts +596 -0
  168. package/lib/graphql.generated.d.ts.map +1 -0
  169. package/lib/graphql.generated.js +1 -0
  170. package/lib/index.d.ts +10 -0
  171. package/lib/index.d.ts.map +1 -0
  172. package/lib/index.js +7 -0
  173. package/lib/targetGroups/TargetGroupDialog.d.ts +8 -0
  174. package/lib/targetGroups/TargetGroupDialog.d.ts.map +1 -0
  175. package/lib/targetGroups/TargetGroupDialog.gql.d.ts +2 -0
  176. package/lib/targetGroups/TargetGroupDialog.gql.d.ts.map +1 -0
  177. package/lib/targetGroups/TargetGroupDialog.gql.generated.d.ts +18 -0
  178. package/lib/targetGroups/TargetGroupDialog.gql.generated.d.ts.map +1 -0
  179. package/lib/targetGroups/TargetGroupDialog.gql.generated.js +5 -0
  180. package/lib/targetGroups/TargetGroupDialog.gql.js +4 -0
  181. package/lib/targetGroups/TargetGroupDialog.js +72 -0
  182. package/lib/targetGroups/TargetGroupForm.d.ts +20 -0
  183. package/lib/targetGroups/TargetGroupForm.d.ts.map +1 -0
  184. package/lib/targetGroups/TargetGroupForm.gql.d.ts +4 -0
  185. package/lib/targetGroups/TargetGroupForm.gql.d.ts.map +1 -0
  186. package/lib/targetGroups/TargetGroupForm.gql.generated.d.ts +37 -0
  187. package/lib/targetGroups/TargetGroupForm.gql.generated.d.ts.map +1 -0
  188. package/lib/targetGroups/TargetGroupForm.gql.generated.js +8 -0
  189. package/lib/targetGroups/TargetGroupForm.gql.js +9 -0
  190. package/lib/targetGroups/TargetGroupForm.js +219 -0
  191. package/lib/targetGroups/TargetGroupsGrid.d.ts +18 -0
  192. package/lib/targetGroups/TargetGroupsGrid.d.ts.map +1 -0
  193. package/lib/targetGroups/TargetGroupsGrid.generated.d.ts +90 -0
  194. package/lib/targetGroups/TargetGroupsGrid.generated.d.ts.map +1 -0
  195. package/lib/targetGroups/TargetGroupsGrid.generated.js +14 -0
  196. package/lib/targetGroups/TargetGroupsGrid.js +280 -0
  197. package/lib/targetGroups/TargetGroupsPage.d.ts +26 -0
  198. package/lib/targetGroups/TargetGroupsPage.d.ts.map +1 -0
  199. package/lib/targetGroups/TargetGroupsPage.js +63 -0
  200. package/lib/targetGroups/addContacts/AddContactsGridSelect.d.ts +10 -0
  201. package/lib/targetGroups/addContacts/AddContactsGridSelect.d.ts.map +1 -0
  202. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.d.ts +5 -0
  203. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.d.ts.map +1 -0
  204. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.generated.d.ts +84 -0
  205. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.generated.d.ts.map +1 -0
  206. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.generated.js +13 -0
  207. package/lib/targetGroups/addContacts/AddContactsGridSelect.gql.js +8 -0
  208. package/lib/targetGroups/addContacts/AddContactsGridSelect.js +346 -0
  209. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.d.ts +10 -0
  210. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.d.ts.map +1 -0
  211. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.d.ts +2 -0
  212. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.d.ts.map +1 -0
  213. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.generated.d.ts +42 -0
  214. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.generated.d.ts.map +1 -0
  215. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.generated.js +8 -0
  216. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.gql.js +5 -0
  217. package/lib/targetGroups/allAssignedContacts/AllAssignedContactsGrid.js +112 -0
  218. package/package.json +109 -0
@@ -0,0 +1,26 @@
1
+ import * as Types from '../../graphql.generated';
2
+ export declare const namedOperations: {
3
+ Mutation: {
4
+ StartBrevoContactImport: string;
5
+ };
6
+ };
7
+ export type GQLStartBrevoContactImportMutationVariables = Types.Exact<{
8
+ scope: Types.GQLEmailCampaignContentScopeInput;
9
+ fileId: Types.Scalars['ID']['input'];
10
+ sendDoubleOptIn: Types.Scalars['Boolean']['input'];
11
+ targetGroupIds?: Types.InputMaybe<Array<Types.Scalars['ID']['input']> | Types.Scalars['ID']['input']>;
12
+ }>;
13
+ export type GQLStartBrevoContactImportMutation = {
14
+ __typename?: 'Mutation';
15
+ startBrevoContactImport: {
16
+ __typename?: 'CsvImportInformation';
17
+ created: number;
18
+ updated: number;
19
+ failed: number;
20
+ blacklisted: number;
21
+ failedColumns: Array<any> | null;
22
+ blacklistedColumns: Array<any> | null;
23
+ errorMessage: string | null;
24
+ };
25
+ };
26
+ //# sourceMappingURL=useContactImportFromCsv.gql.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContactImportFromCsv.gql.generated.d.ts","sourceRoot":"","sources":["../../../src/common/contactImport/useContactImportFromCsv.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,2CAA2C,GAAG,KAAK,CAAC,KAAK,CAAC;IACpE,KAAK,EAAE,KAAK,CAAC,iCAAiC,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACvG,CAAC,CAAC;AAGH,MAAM,MAAM,kCAAkC,GAAG;IAAE,UAAU,CAAC,EAAE,UAAU,CAAC;IAAC,uBAAuB,EAAE;QAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export var namedOperations = {
2
+ Mutation: {
3
+ StartBrevoContactImport: 'StartBrevoContactImport'
4
+ }
5
+ };
@@ -0,0 +1,4 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ import { gql } from "@apollo/client";
4
+ export var startBrevoContactImportMutation = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n mutation StartBrevoContactImport($scope: EmailCampaignContentScopeInput!, $fileId: ID!, $sendDoubleOptIn: Boolean!, $targetGroupIds: [ID!]) {\n startBrevoContactImport(scope: $scope, fileId: $fileId, sendDoubleOptIn: $sendDoubleOptIn, targetGroupIds: $targetGroupIds) {\n created\n updated\n failed\n blacklisted\n failedColumns\n blacklistedColumns\n errorMessage\n }\n }\n"])));
@@ -0,0 +1,462 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
3
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
4
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
5
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
6
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
15
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
18
+ import { useApolloClient } from "@apollo/client";
19
+ import { Alert, Button, CheckboxField, Dialog, downloadFile, FinalForm, Loading, messages, useErrorDialog } from "@dextinity/admin";
20
+ import { Upload } from "@dextinity/admin-icons";
21
+ import { Box, DialogActions, DialogContent, DialogTitle } from "@mui/material";
22
+ import { styled } from "@mui/material/styles";
23
+ import { useMemo, useRef, useState } from "react";
24
+ import { useDropzone } from "react-dropzone";
25
+ import { FormattedMessage, useIntl } from "react-intl";
26
+ import { useBrevoConfig } from "../BrevoConfigProvider";
27
+ import { startBrevoContactImportMutation } from "./useContactImportFromCsv.gql";
28
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
29
+ export var useContactImportFromCsv = function useContactImportFromCsv(_ref) {
30
+ var scope = _ref.scope,
31
+ targetGroupId = _ref.targetGroupId,
32
+ refetchQueries = _ref.refetchQueries;
33
+ var fileInputRef = useRef(null);
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ open = _useState2[0],
37
+ setOpen = _useState2[1];
38
+ var _useState3 = useState(true),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ sendDoubleOptIn = _useState4[0],
41
+ setSendDoubleOptIn = _useState4[1];
42
+ var _useBrevoConfig = useBrevoConfig(),
43
+ allowAddingContactsWithoutDoi = _useBrevoConfig.allowAddingContactsWithoutDoi;
44
+ var moreActionsMenuItem = useMemo(function () {
45
+ return {
46
+ type: "action",
47
+ label: /*#__PURE__*/_jsx(FormattedMessage, {
48
+ id: "cometBrevoModule.targetGroup.assignedContacts.actions.importFromCsv",
49
+ defaultMessage: "Import contacts from CSV"
50
+ }),
51
+ startAdornment: /*#__PURE__*/_jsx(Upload, {}),
52
+ onClick: function onClick() {
53
+ return setOpen(true);
54
+ }
55
+ };
56
+ }, []);
57
+ var handleClose = function handleClose() {
58
+ return setOpen(false);
59
+ };
60
+ var dialog = /*#__PURE__*/_jsxs(Dialog, {
61
+ open: open,
62
+ onClose: handleClose,
63
+ children: [/*#__PURE__*/_jsx(DialogTitle, {
64
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
65
+ id: "cometBrevoModule.contactImport.title",
66
+ defaultMessage: "Importing contacts from CSV"
67
+ })
68
+ }), /*#__PURE__*/_jsx(DialogContent, {
69
+ children: /*#__PURE__*/_jsx(FinalForm, {
70
+ onSubmit: function onSubmit(values) {
71
+ var _fileInputRef$current;
72
+ (_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 || _fileInputRef$current.click();
73
+ },
74
+ mode: "add",
75
+ initialValues: {
76
+ sendDoubleOptIn: true
77
+ },
78
+ children: function children(_ref2) {
79
+ var values = _ref2.values;
80
+ setSendDoubleOptIn(values.sendDoubleOptIn);
81
+ return /*#__PURE__*/_jsxs(_Fragment, {
82
+ children: [values.sendDoubleOptIn ? /*#__PURE__*/_jsx(Alert, {
83
+ severity: "warning",
84
+ sx: {
85
+ marginBottom: 5
86
+ },
87
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
88
+ id: "cometBrevoModule.contactImport.contactAddAlert",
89
+ defaultMessage: "The contact will get a double opt-in email to confirm the subscription. After the contact's confirmation, the contact will be added to the corresponding target groups in this scope depending on the contact's attributes. Before the confirmation the contact will not be shown on the contacts page."
90
+ })
91
+ }) : /*#__PURE__*/_jsx(Alert, {
92
+ severity: "error",
93
+ sx: {
94
+ marginBottom: 5
95
+ },
96
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
97
+ id: "cometBrevoModule.contactImport.contactNoOptInAlert",
98
+ defaultMessage: "No Double Opt-In email will be sent. Please ensure recipients have given their consent before proceeding."
99
+ })
100
+ }), allowAddingContactsWithoutDoi && /*#__PURE__*/_jsx(CheckboxField, {
101
+ name: "sendDoubleOptIn",
102
+ label: /*#__PURE__*/_jsx(FormattedMessage, {
103
+ id: "cometBrevoModule.contactImport.sendDoubleOptInMail",
104
+ defaultMessage: "Send double opt-in email"
105
+ }),
106
+ fullWidth: true
107
+ })]
108
+ });
109
+ }
110
+ })
111
+ }), /*#__PURE__*/_jsxs(DialogActions, {
112
+ children: [/*#__PURE__*/_jsx(Button, {
113
+ onClick: handleClose,
114
+ children: /*#__PURE__*/_jsx(FormattedMessage, _objectSpread({}, messages.cancel))
115
+ }), /*#__PURE__*/_jsx(Button, {
116
+ variant: "primary",
117
+ onClick: function onClick() {
118
+ var _fileInputRef$current2;
119
+ return (_fileInputRef$current2 = fileInputRef.current) === null || _fileInputRef$current2 === void 0 ? void 0 : _fileInputRef$current2.click();
120
+ },
121
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
122
+ id: "cometBrevoModule.contactImport.importContacts",
123
+ defaultMessage: "Import Contacts"
124
+ })
125
+ })]
126
+ })]
127
+ });
128
+ var component = useMemo(function () {
129
+ return /*#__PURE__*/_jsx(ContactImportComponent, {
130
+ scope: scope,
131
+ targetGroupId: targetGroupId,
132
+ fileInputRef: fileInputRef,
133
+ sendDoubleOptIn: sendDoubleOptIn,
134
+ refetchQueries: refetchQueries
135
+ });
136
+ }, [refetchQueries, scope, targetGroupId, sendDoubleOptIn]);
137
+ return [moreActionsMenuItem, /*#__PURE__*/_jsxs(_Fragment, {
138
+ children: [dialog, component]
139
+ })];
140
+ };
141
+ var ContactImportComponent = function ContactImportComponent(_ref3) {
142
+ var scope = _ref3.scope,
143
+ targetGroupId = _ref3.targetGroupId,
144
+ fileInputRef = _ref3.fileInputRef,
145
+ sendDoubleOptIn = _ref3.sendDoubleOptIn,
146
+ refetchQueries = _ref3.refetchQueries;
147
+ var apolloClient = useApolloClient();
148
+ var _useState5 = useState(false),
149
+ _useState6 = _slicedToArray(_useState5, 2),
150
+ importingCsv = _useState6[0],
151
+ setImportingCsv = _useState6[1];
152
+ var _useState7 = useState(null),
153
+ _useState8 = _slicedToArray(_useState7, 2),
154
+ importInformation = _useState8[0],
155
+ setImportInformation = _useState8[1];
156
+ var dialogOpen = importingCsv || !!importInformation;
157
+ var errorDialog = useErrorDialog();
158
+ var config = useBrevoConfig();
159
+ var intl = useIntl();
160
+ var client = useApolloClient();
161
+ function upload(_x, _x2, _x3) {
162
+ return _upload.apply(this, arguments);
163
+ }
164
+ function _upload() {
165
+ _upload = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(file, scope, listIds) {
166
+ var formData, response, fileUploadId, _yield$client$mutate, data;
167
+ return _regenerator().w(function (_context2) {
168
+ while (1) switch (_context2.n) {
169
+ case 0:
170
+ formData = new FormData();
171
+ formData.append("file", file);
172
+ _context2.n = 1;
173
+ return fetch("".concat(config.apiUrl, "/file-uploads/upload"), {
174
+ method: "POST",
175
+ body: formData
176
+ });
177
+ case 1:
178
+ response = _context2.v;
179
+ if (response.ok) {
180
+ _context2.n = 2;
181
+ break;
182
+ }
183
+ throw new Error(intl.formatMessage({
184
+ id: "cometBrevoModule.useContactImport.error.fileUpload",
185
+ defaultMessage: "Could not upload file"
186
+ }));
187
+ case 2:
188
+ _context2.n = 3;
189
+ return response.json();
190
+ case 3:
191
+ fileUploadId = _context2.v.id;
192
+ _context2.n = 4;
193
+ return client.mutate({
194
+ mutation: startBrevoContactImportMutation,
195
+ variables: {
196
+ fileId: fileUploadId,
197
+ scope: scope,
198
+ sendDoubleOptIn: sendDoubleOptIn,
199
+ targetGroupIds: listIds
200
+ }
201
+ });
202
+ case 4:
203
+ _yield$client$mutate = _context2.v;
204
+ data = _yield$client$mutate.data;
205
+ if (data) {
206
+ _context2.n = 5;
207
+ break;
208
+ }
209
+ throw new Error(intl.formatMessage({
210
+ id: "cometBrevoModule.useContactImport.error.defaultMessage",
211
+ defaultMessage: "An error occurred during the import. Please try again in a while or contact your administrator if the error persists."
212
+ }));
213
+ case 5:
214
+ return _context2.a(2, data.startBrevoContactImport);
215
+ }
216
+ }, _callee2);
217
+ }));
218
+ return _upload.apply(this, arguments);
219
+ }
220
+ var saveErrorFile = function saveErrorFile() {
221
+ var failedColumns = importInformation === null || importInformation === void 0 ? void 0 : importInformation.failedColumns;
222
+ if (!failedColumns || failedColumns.length === 0) {
223
+ throw new Error(intl.formatMessage({
224
+ id: "export",
225
+ defaultMessage: "No failed columns to save"
226
+ }));
227
+ }
228
+ var errorData = "";
229
+
230
+ // Add headers to the file without trailing semicolon
231
+ var headers = Object.keys(failedColumns[0]);
232
+ var headerStr = headers.join(";");
233
+ errorData = "".concat(headerStr.replace(/;+$/, ""), "\n"); // Remove trailing semicolon from the header
234
+
235
+ // Add each row of failed columns data
236
+ var _iterator = _createForOfIteratorHelper(failedColumns),
237
+ _step;
238
+ try {
239
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
240
+ var column = _step.value;
241
+ // Use Object.values to get the values of each column
242
+ var row = Object.values(column); // No need to check for undefined/null
243
+
244
+ // Join row values and remove the trailing semicolon if not needed
245
+ var rowStr = row.join(";");
246
+ errorData += "".concat(rowStr.replace(/;+$/, ""), "\n");
247
+ }
248
+
249
+ // Create and download the file
250
+ } catch (err) {
251
+ _iterator.e(err);
252
+ } finally {
253
+ _iterator.f();
254
+ }
255
+ downloadFile(new Blob([errorData], {
256
+ type: "text/csv;charset=utf-8"
257
+ }), "error-log-".concat(new Date().toISOString(), ".csv"));
258
+ };
259
+ var saveBlacklistedContactsFile = function saveBlacklistedContactsFile() {
260
+ var blacklistedContactsColumns = importInformation === null || importInformation === void 0 ? void 0 : importInformation.blacklistedColumns;
261
+ if (!blacklistedContactsColumns || blacklistedContactsColumns.length === 0) {
262
+ throw new Error(intl.formatMessage({
263
+ id: "export",
264
+ defaultMessage: "No failed columns to save"
265
+ }));
266
+ }
267
+ var blacklistedContactsData = "";
268
+
269
+ // Add headers to the file without trailing semicolon
270
+ var headers = Object.keys(blacklistedContactsColumns[0]);
271
+ var headerStr = headers.join(";");
272
+ blacklistedContactsData = "".concat(headerStr.replace(/;+$/, ""), "\n"); // Remove trailing semicolon from the header
273
+
274
+ // Add each row of failed columns data
275
+ var _iterator2 = _createForOfIteratorHelper(blacklistedContactsColumns),
276
+ _step2;
277
+ try {
278
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
279
+ var column = _step2.value;
280
+ // Use Object.values to get the values of each column
281
+ var row = Object.values(column); // No need to check for undefined/null
282
+
283
+ // Join row values and remove the trailing semicolon if not needed
284
+ var rowStr = row.join(";");
285
+ blacklistedContactsData += "".concat(rowStr.replace(/;+$/, ""), "\n");
286
+ }
287
+
288
+ // Create and download the file
289
+ } catch (err) {
290
+ _iterator2.e(err);
291
+ } finally {
292
+ _iterator2.f();
293
+ }
294
+ downloadFile(new Blob([blacklistedContactsData], {
295
+ type: "text/csv;charset=utf-8"
296
+ }), "blacklisted-contact-log-".concat(new Date().toISOString(), ".csv"));
297
+ };
298
+ var _useDropzone = useDropzone({
299
+ accept: {
300
+ "text/csv": []
301
+ },
302
+ multiple: false,
303
+ onDrop: function () {
304
+ var _onDrop = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(acceptedFiles) {
305
+ var file, data, userMessage, _t;
306
+ return _regenerator().w(function (_context) {
307
+ while (1) switch (_context.p = _context.n) {
308
+ case 0:
309
+ setImportingCsv(true);
310
+ _context.p = 1;
311
+ file = acceptedFiles[0];
312
+ _context.n = 2;
313
+ return upload(file, scope, targetGroupId ? [targetGroupId] : []);
314
+ case 2:
315
+ data = _context.v;
316
+ apolloClient.refetchQueries({
317
+ include: refetchQueries
318
+ });
319
+ if (!data) {
320
+ _context.n = 3;
321
+ break;
322
+ }
323
+ setImportingCsv(false);
324
+ if (data.errorMessage) {
325
+ errorDialog === null || errorDialog === void 0 || errorDialog.showError({
326
+ title: /*#__PURE__*/_jsx(FormattedMessage, _objectSpread({}, messages.error)),
327
+ userMessage: data.errorMessage,
328
+ error: data.errorMessage
329
+ });
330
+ } else {
331
+ setImportInformation(data);
332
+ }
333
+ _context.n = 4;
334
+ break;
335
+ case 3:
336
+ throw new Error(JSON.stringify(data));
337
+ case 4:
338
+ _context.n = 6;
339
+ break;
340
+ case 5:
341
+ _context.p = 5;
342
+ _t = _context.v;
343
+ setImportingCsv(false);
344
+ userMessage = /*#__PURE__*/_jsx(FormattedMessage, {
345
+ id: "cometBrevoModule.useContactImport.error.defaultMessage",
346
+ defaultMessage: "An error occurred during the import. Please try again in a while or contact your administrator if the error persists."
347
+ });
348
+ errorDialog === null || errorDialog === void 0 || errorDialog.showError({
349
+ title: /*#__PURE__*/_jsx(FormattedMessage, _objectSpread({}, messages.error)),
350
+ userMessage: userMessage,
351
+ error: String(_t)
352
+ });
353
+ case 6:
354
+ return _context.a(2);
355
+ }
356
+ }, _callee, null, [[1, 5]]);
357
+ }));
358
+ function onDrop(_x4) {
359
+ return _onDrop.apply(this, arguments);
360
+ }
361
+ return onDrop;
362
+ }()
363
+ }),
364
+ getInputProps = _useDropzone.getInputProps;
365
+ return /*#__PURE__*/_jsxs(_Fragment, {
366
+ children: [/*#__PURE__*/_jsx("input", _objectSpread(_objectSpread({
367
+ type: "file",
368
+ hidden: true
369
+ }, getInputProps()), {}, {
370
+ ref: fileInputRef
371
+ })), /*#__PURE__*/_jsxs(Dialog, {
372
+ open: dialogOpen,
373
+ children: [/*#__PURE__*/_jsxs(DialogTitle, {
374
+ children: [importingCsv && /*#__PURE__*/_jsx(FormattedMessage, {
375
+ id: "cometBrevoModule.useContactImport.importing.title",
376
+ defaultMessage: "Importing contacts from CSV..."
377
+ }), importInformation && /*#__PURE__*/_jsx(FormattedMessage, {
378
+ id: "cometBrevoModule.useContactImport.importSuccessful.title",
379
+ defaultMessage: "Import successful"
380
+ })]
381
+ }), /*#__PURE__*/_jsxs(DialogContent, {
382
+ children: [importingCsv && /*#__PURE__*/_jsx(Loading, {}), importInformation && /*#__PURE__*/_jsxs(_Fragment, {
383
+ children: [importInformation.created > 0 && /*#__PURE__*/_jsx(FormattedMessage, {
384
+ id: "cometBrevoModule.useContactImport.importSuccessful.contactsImported",
385
+ defaultMessage: "{amount} contact(s) have been created successfully.",
386
+ values: {
387
+ amount: importInformation.created
388
+ }
389
+ }), importInformation.updated > 0 && /*#__PURE__*/_jsx(FormattedMessage, {
390
+ id: "cometBrevoModule.useContactImport.importSuccessful.contactsUpdated",
391
+ defaultMessage: "{amount} contact(s) have been updated.",
392
+ values: {
393
+ amount: importInformation.updated
394
+ }
395
+ }), importInformation.failed > 0 && /*#__PURE__*/_jsx(Box, {
396
+ mt: 2,
397
+ children: /*#__PURE__*/_jsx(Alert, {
398
+ severity: "error",
399
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
400
+ id: "cometBrevoModule.useContactImport.error.contactsCouldNotBeImported",
401
+ defaultMessage: "{amount} contact(s) could not be imported. <link>Download this file</link> to get the failing row(s).",
402
+ values: {
403
+ amount: importInformation.failed,
404
+ link: function link(chunks) {
405
+ return /*#__PURE__*/_jsx(CsvDownloadLink, {
406
+ onClick: saveErrorFile,
407
+ children: chunks
408
+ });
409
+ }
410
+ }
411
+ })
412
+ })
413
+ }), importInformation.blacklisted > 0 && /*#__PURE__*/_jsx(Box, {
414
+ mt: 2,
415
+ children: /*#__PURE__*/_jsx(Alert, {
416
+ severity: "error",
417
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
418
+ id: "cometBrevoModule.useContactImport.error.contactsAreBlacklisted",
419
+ defaultMessage: "{amount} contacts could not be imported as they are blacklisted. <link>Download this file</link> to get the blacklisted contact(s).",
420
+ values: {
421
+ amount: importInformation.blacklisted,
422
+ link: function link(chunks) {
423
+ return /*#__PURE__*/_jsx(CsvDownloadLink, {
424
+ onClick: saveBlacklistedContactsFile,
425
+ children: chunks
426
+ });
427
+ }
428
+ }
429
+ })
430
+ })
431
+ }), (importInformation.created > 0 || importInformation.updated > 0) && sendDoubleOptIn && /*#__PURE__*/_jsx(Box, {
432
+ mt: 2,
433
+ children: /*#__PURE__*/_jsx(Alert, {
434
+ severity: "warning",
435
+ children: /*#__PURE__*/_jsx(FormattedMessage, {
436
+ id: "cometBrevoModule.useContactImport.importSuccessful.doiNotice",
437
+ defaultMessage: "Contacts who have not yet confirmed their subscription will receive a double opt-in email to complete the process. These contacts will not appear in this list until they confirm their subscription. Once confirmed, they will automatically be added to the appropriate target group(s)."
438
+ })
439
+ })
440
+ })]
441
+ })]
442
+ }), /*#__PURE__*/_jsx(DialogActions, {
443
+ children: importInformation && /*#__PURE__*/_jsx(Button, {
444
+ onClick: function onClick() {
445
+ return setImportInformation(null);
446
+ },
447
+ variant: "primary",
448
+ children: /*#__PURE__*/_jsx(FormattedMessage, _objectSpread({}, messages.ok))
449
+ })
450
+ })]
451
+ })]
452
+ });
453
+ };
454
+ var CsvDownloadLink = /*#__PURE__*/styled("span", process.env.NODE_ENV === "production" ? {
455
+ target: "e1e38cse0"
456
+ } : {
457
+ target: "e1e38cse0",
458
+ label: "CsvDownloadLink"
459
+ })("color:", function (_ref4) {
460
+ var theme = _ref4.theme;
461
+ return theme.palette.info.main;
462
+ }, ";text-decoration:underline;cursor:pointer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29udGFjdEltcG9ydC91c2VDb250YWN0SW1wb3J0RnJvbUNzdi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNlhzQyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbnRhY3RJbXBvcnQvdXNlQ29udGFjdEltcG9ydEZyb21Dc3YudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgdHlwZSB7IFJlZmV0Y2hRdWVyaWVzSW5jbHVkZSB9IGZyb20gXCJAYXBvbGxvL2NsaWVudC9jb3JlL3R5cGVzXCI7XG5pbXBvcnQgeyBBbGVydCwgQnV0dG9uLCBDaGVja2JveEZpZWxkLCBEaWFsb2csIGRvd25sb2FkRmlsZSwgRmluYWxGb3JtLCBMb2FkaW5nLCBtZXNzYWdlcywgdXNlRXJyb3JEaWFsb2cgfSBmcm9tIFwiQGRleHRpbml0eS9hZG1pblwiO1xuaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSBcIkBkZXh0aW5pdHkvYWRtaW4taWNvbnNcIjtcbmltcG9ydCB7IEJveCwgRGlhbG9nQWN0aW9ucywgRGlhbG9nQ29udGVudCwgRGlhbG9nVGl0bGUsIHR5cGUgTWVudUl0ZW0gfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgeyB0eXBlIENvbXBvbmVudFByb3BzLCB0eXBlIFJlYWN0Tm9kZSwgdHlwZSBSZWZPYmplY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURyb3B6b25lIH0gZnJvbSBcInJlYWN0LWRyb3B6b25lXCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlLCB1c2VJbnRsIH0gZnJvbSBcInJlYWN0LWludGxcIjtcblxuaW1wb3J0IHR5cGUgeyBHUUxDc3ZJbXBvcnRJbmZvcm1hdGlvbiwgR1FMRW1haWxDYW1wYWlnbkNvbnRlbnRTY29wZUlucHV0IH0gZnJvbSBcIi4uLy4uL2dyYXBocWwuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgeyB1c2VCcmV2b0NvbmZpZyB9IGZyb20gXCIuLi9CcmV2b0NvbmZpZ1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBzdGFydEJyZXZvQ29udGFjdEltcG9ydE11dGF0aW9uIH0gZnJvbSBcIi4vdXNlQ29udGFjdEltcG9ydEZyb21Dc3YuZ3FsXCI7XG5pbXBvcnQgdHlwZSB7IEdRTFN0YXJ0QnJldm9Db250YWN0SW1wb3J0TXV0YXRpb24sIEdRTFN0YXJ0QnJldm9Db250YWN0SW1wb3J0TXV0YXRpb25WYXJpYWJsZXMgfSBmcm9tIFwiLi91c2VDb250YWN0SW1wb3J0RnJvbUNzdi5ncWwuZ2VuZXJhdGVkXCI7XG5cbmludGVyZmFjZSBVc2VDb250YWN0SW1wb3J0UHJvcHMge1xuICAgIHNjb3BlOiBHUUxFbWFpbENhbXBhaWduQ29udGVudFNjb3BlSW5wdXQ7XG4gICAgc2VuZERvdWJsZU9wdEluOiBib29sZWFuO1xuICAgIHRhcmdldEdyb3VwSWQ/OiBzdHJpbmc7XG4gICAgcmVmZXRjaFF1ZXJpZXM/OiBSZWZldGNoUXVlcmllc0luY2x1ZGU7XG59XG5cbnR5cGUgQ29udGFjdEltcG9ydEZyb21Dc3ZGb3JtID0ge1xuICAgIHNlbmREb3VibGVPcHRJbjogYm9vbGVhbjtcbn07XG5cbmludGVyZmFjZSBBY3Rpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50UHJvcHM8dHlwZW9mIE1lbnVJdGVtPiB7XG4gICAgdHlwZTogXCJhY3Rpb25cIjtcbiAgICBsYWJlbDogUmVhY3ROb2RlO1xuICAgIHN0YXJ0QWRvcm5tZW50PzogUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgdXNlQ29udGFjdEltcG9ydEZyb21Dc3YgPSAoeyBzY29wZSwgdGFyZ2V0R3JvdXBJZCwgcmVmZXRjaFF1ZXJpZXMgfTogVXNlQ29udGFjdEltcG9ydFByb3BzKTogW0FjdGlvbkl0ZW0sIFJlYWN0Tm9kZV0gPT4ge1xuICAgIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbmREb3VibGVPcHRJbiwgc2V0U2VuZERvdWJsZU9wdEluXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IHsgYWxsb3dBZGRpbmdDb250YWN0c1dpdGhvdXREb2kgfSA9IHVzZUJyZXZvQ29uZmlnKCk7XG5cbiAgICBjb25zdCBtb3JlQWN0aW9uc01lbnVJdGVtOiBBY3Rpb25JdGVtID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgIHR5cGU6IFwiYWN0aW9uXCIsXG4gICAgICAgICAgICBsYWJlbDogKFxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS50YXJnZXRHcm91cC5hc3NpZ25lZENvbnRhY3RzLmFjdGlvbnMuaW1wb3J0RnJvbUNzdlwiXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlPVwiSW1wb3J0IGNvbnRhY3RzIGZyb20gQ1NWXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXJ0QWRvcm5tZW50OiA8VXBsb2FkIC8+LFxuICAgICAgICAgICAgb25DbGljazogKCkgPT4gc2V0T3Blbih0cnVlKSxcbiAgICAgICAgfSksXG4gICAgICAgIFtdLFxuICAgICk7XG5cbiAgICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHNldE9wZW4oZmFsc2UpO1xuXG4gICAgY29uc3QgZGlhbG9nID0gKFxuICAgICAgICA8RGlhbG9nIG9wZW49e29wZW59IG9uQ2xvc2U9e2hhbmRsZUNsb3NlfT5cbiAgICAgICAgICAgIDxEaWFsb2dUaXRsZT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0QnJldm9Nb2R1bGUuY29udGFjdEltcG9ydC50aXRsZVwiIGRlZmF1bHRNZXNzYWdlPVwiSW1wb3J0aW5nIGNvbnRhY3RzIGZyb20gQ1NWXCIgLz5cbiAgICAgICAgICAgIDwvRGlhbG9nVGl0bGU+XG4gICAgICAgICAgICA8RGlhbG9nQ29udGVudD5cbiAgICAgICAgICAgICAgICA8RmluYWxGb3JtPENvbnRhY3RJbXBvcnRGcm9tQ3N2Rm9ybT5cbiAgICAgICAgICAgICAgICAgICAgb25TdWJtaXQ9eyh2YWx1ZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBtb2RlPVwiYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlcz17eyBzZW5kRG91YmxlT3B0SW46IHRydWUgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHsoeyB2YWx1ZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VuZERvdWJsZU9wdEluKHZhbHVlcy5zZW5kRG91YmxlT3B0SW4pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YWx1ZXMuc2VuZERvdWJsZU9wdEluID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFsZXJ0IHNldmVyaXR5PVwid2FybmluZ1wiIHN4PXt7IG1hcmdpbkJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNvbWV0QnJldm9Nb2R1bGUuY29udGFjdEltcG9ydC5jb250YWN0QWRkQWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cIlRoZSBjb250YWN0IHdpbGwgZ2V0IGEgZG91YmxlIG9wdC1pbiBlbWFpbCB0byBjb25maXJtIHRoZSBzdWJzY3JpcHRpb24uIEFmdGVyIHRoZSBjb250YWN0J3MgY29uZmlybWF0aW9uLCB0aGUgY29udGFjdCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldCBncm91cHMgaW4gdGhpcyBzY29wZSBkZXBlbmRpbmcgb24gdGhlIGNvbnRhY3QncyBhdHRyaWJ1dGVzLiBCZWZvcmUgdGhlIGNvbmZpcm1hdGlvbiB0aGUgY29udGFjdCB3aWxsIG5vdCBiZSBzaG93biBvbiB0aGUgY29udGFjdHMgcGFnZS5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFsZXJ0IHNldmVyaXR5PVwiZXJyb3JcIiBzeD17eyBtYXJnaW5Cb3R0b206IDUgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb21ldEJyZXZvTW9kdWxlLmNvbnRhY3RJbXBvcnQuY29udGFjdE5vT3B0SW5BbGVydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlPVwiTm8gRG91YmxlIE9wdC1JbiBlbWFpbCB3aWxsIGJlIHNlbnQuIFBsZWFzZSBlbnN1cmUgcmVjaXBpZW50cyBoYXZlIGdpdmVuIHRoZWlyIGNvbnNlbnQgYmVmb3JlIHByb2NlZWRpbmcuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FsbG93QWRkaW5nQ29udGFjdHNXaXRob3V0RG9pICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja2JveEZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNlbmREb3VibGVPcHRJblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb21ldEJyZXZvTW9kdWxlLmNvbnRhY3RJbXBvcnQuc2VuZERvdWJsZU9wdEluTWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cIlNlbmQgZG91YmxlIG9wdC1pbiBlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxXaWR0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPC9GaW5hbEZvcm0+XG4gICAgICAgICAgICA8L0RpYWxvZ0NvbnRlbnQ+XG4gICAgICAgICAgICA8RGlhbG9nQWN0aW9ucz5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfT5cbiAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLmNhbmNlbH0gLz5cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKCl9PlxuICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0QnJldm9Nb2R1bGUuY29udGFjdEltcG9ydC5pbXBvcnRDb250YWN0c1wiIGRlZmF1bHRNZXNzYWdlPVwiSW1wb3J0IENvbnRhY3RzXCIgLz5cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvRGlhbG9nQWN0aW9ucz5cbiAgICAgICAgPC9EaWFsb2c+XG4gICAgKTtcblxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChcbiAgICAgICAgICAgIDxDb250YWN0SW1wb3J0Q29tcG9uZW50XG4gICAgICAgICAgICAgICAgc2NvcGU9e3Njb3BlfVxuICAgICAgICAgICAgICAgIHRhcmdldEdyb3VwSWQ9e3RhcmdldEdyb3VwSWR9XG4gICAgICAgICAgICAgICAgZmlsZUlucHV0UmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgc2VuZERvdWJsZU9wdEluPXtzZW5kRG91YmxlT3B0SW59XG4gICAgICAgICAgICAgICAgcmVmZXRjaFF1ZXJpZXM9e3JlZmV0Y2hRdWVyaWVzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKSxcbiAgICAgICAgW3JlZmV0Y2hRdWVyaWVzLCBzY29wZSwgdGFyZ2V0R3JvdXBJZCwgc2VuZERvdWJsZU9wdEluXSxcbiAgICApO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgbW9yZUFjdGlvbnNNZW51SXRlbSxcbiAgICAgICAgPD5cbiAgICAgICAgICAgIHtkaWFsb2d9XG4gICAgICAgICAgICB7Y29tcG9uZW50fVxuICAgICAgICA8Lz4sXG4gICAgXTtcbn07XG5cbmludGVyZmFjZSBVc2VDb250YWN0Q29tcG9uZW50UHJvcHMgZXh0ZW5kcyBVc2VDb250YWN0SW1wb3J0UHJvcHMge1xuICAgIGZpbGVJbnB1dFJlZjogUmVmT2JqZWN0PEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPjtcbn1cblxuY29uc3QgQ29udGFjdEltcG9ydENvbXBvbmVudCA9ICh7IHNjb3BlLCB0YXJnZXRHcm91cElkLCBmaWxlSW5wdXRSZWYsIHNlbmREb3VibGVPcHRJbiwgcmVmZXRjaFF1ZXJpZXMgfTogVXNlQ29udGFjdENvbXBvbmVudFByb3BzKSA9PiB7XG4gICAgY29uc3QgYXBvbGxvQ2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG4gICAgY29uc3QgW2ltcG9ydGluZ0Nzdiwgc2V0SW1wb3J0aW5nQ3N2XSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbaW1wb3J0SW5mb3JtYXRpb24sIHNldEltcG9ydEluZm9ybWF0aW9uXSA9IHVzZVN0YXRlPEdRTENzdkltcG9ydEluZm9ybWF0aW9uIHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgZGlhbG9nT3BlbiA9IGltcG9ydGluZ0NzdiB8fCAhIWltcG9ydEluZm9ybWF0aW9uO1xuICAgIGNvbnN0IGVycm9yRGlhbG9nID0gdXNlRXJyb3JEaWFsb2coKTtcbiAgICBjb25zdCBjb25maWcgPSB1c2VCcmV2b0NvbmZpZygpO1xuICAgIGNvbnN0IGludGwgPSB1c2VJbnRsKCk7XG4gICAgY29uc3QgY2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiB1cGxvYWQoZmlsZTogRmlsZSwgc2NvcGU6IEdRTEVtYWlsQ2FtcGFpZ25Db250ZW50U2NvcGVJbnB1dCwgbGlzdElkcz86IHN0cmluZ1tdKTogUHJvbWlzZTxHUUxDc3ZJbXBvcnRJbmZvcm1hdGlvbj4ge1xuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlXCIsIGZpbGUpO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7Y29uZmlnLmFwaVVybH0vZmlsZS11cGxvYWRzL3VwbG9hZGAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGludGwuZm9ybWF0TWVzc2FnZSh7IGlkOiBcImNvbWV0QnJldm9Nb2R1bGUudXNlQ29udGFjdEltcG9ydC5lcnJvci5maWxlVXBsb2FkXCIsIGRlZmF1bHRNZXNzYWdlOiBcIkNvdWxkIG5vdCB1cGxvYWQgZmlsZVwiIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbGVVcGxvYWRJZCA9IChhd2FpdCByZXNwb25zZS5qc29uKCkpLmlkO1xuXG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxTdGFydEJyZXZvQ29udGFjdEltcG9ydE11dGF0aW9uLCBHUUxTdGFydEJyZXZvQ29udGFjdEltcG9ydE11dGF0aW9uVmFyaWFibGVzPih7XG4gICAgICAgICAgICBtdXRhdGlvbjogc3RhcnRCcmV2b0NvbnRhY3RJbXBvcnRNdXRhdGlvbixcbiAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgIGZpbGVJZDogZmlsZVVwbG9hZElkLFxuICAgICAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgICAgIHNlbmREb3VibGVPcHRJbixcbiAgICAgICAgICAgICAgICB0YXJnZXRHcm91cElkczogbGlzdElkcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcImNvbWV0QnJldm9Nb2R1bGUudXNlQ29udGFjdEltcG9ydC5lcnJvci5kZWZhdWx0TWVzc2FnZVwiLFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZTpcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBpbXBvcnQuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSB3aGlsZSBvciBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvciBpZiB0aGUgZXJyb3IgcGVyc2lzdHMuXCIsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhLnN0YXJ0QnJldm9Db250YWN0SW1wb3J0O1xuICAgIH1cblxuICAgIGNvbnN0IHNhdmVFcnJvckZpbGUgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZhaWxlZENvbHVtbnMgPSBpbXBvcnRJbmZvcm1hdGlvbj8uZmFpbGVkQ29sdW1ucztcbiAgICAgICAgaWYgKCFmYWlsZWRDb2x1bW5zIHx8IGZhaWxlZENvbHVtbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoaW50bC5mb3JtYXRNZXNzYWdlKHsgaWQ6IFwiZXhwb3J0XCIsIGRlZmF1bHRNZXNzYWdlOiBcIk5vIGZhaWxlZCBjb2x1bW5zIHRvIHNhdmVcIiB9KSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZXJyb3JEYXRhID0gXCJcIjtcblxuICAgICAgICAvLyBBZGQgaGVhZGVycyB0byB0aGUgZmlsZSB3aXRob3V0IHRyYWlsaW5nIHNlbWljb2xvblxuICAgICAgICBjb25zdCBoZWFkZXJzID0gT2JqZWN0LmtleXMoZmFpbGVkQ29sdW1uc1swXSk7XG4gICAgICAgIGNvbnN0IGhlYWRlclN0ciA9IGhlYWRlcnMuam9pbihcIjtcIik7XG4gICAgICAgIGVycm9yRGF0YSA9IGAke2hlYWRlclN0ci5yZXBsYWNlKC87KyQvLCBcIlwiKX1cXG5gOyAvLyBSZW1vdmUgdHJhaWxpbmcgc2VtaWNvbG9uIGZyb20gdGhlIGhlYWRlclxuXG4gICAgICAgIC8vIEFkZCBlYWNoIHJvdyBvZiBmYWlsZWQgY29sdW1ucyBkYXRhXG4gICAgICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGZhaWxlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIC8vIFVzZSBPYmplY3QudmFsdWVzIHRvIGdldCB0aGUgdmFsdWVzIG9mIGVhY2ggY29sdW1uXG4gICAgICAgICAgICBjb25zdCByb3cgPSBPYmplY3QudmFsdWVzKGNvbHVtbik7IC8vIE5vIG5lZWQgdG8gY2hlY2sgZm9yIHVuZGVmaW5lZC9udWxsXG5cbiAgICAgICAgICAgIC8vIEpvaW4gcm93IHZhbHVlcyBhbmQgcmVtb3ZlIHRoZSB0cmFpbGluZyBzZW1pY29sb24gaWYgbm90IG5lZWRlZFxuICAgICAgICAgICAgY29uc3Qgcm93U3RyID0gcm93LmpvaW4oXCI7XCIpO1xuICAgICAgICAgICAgZXJyb3JEYXRhICs9IGAke3Jvd1N0ci5yZXBsYWNlKC87KyQvLCBcIlwiKX1cXG5gO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ3JlYXRlIGFuZCBkb3dubG9hZCB0aGUgZmlsZVxuICAgICAgICBkb3dubG9hZEZpbGUobmV3IEJsb2IoW2Vycm9yRGF0YV0sIHsgdHlwZTogXCJ0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04XCIgfSksIGBlcnJvci1sb2ctJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9LmNzdmApO1xuICAgIH07XG5cbiAgICBjb25zdCBzYXZlQmxhY2tsaXN0ZWRDb250YWN0c0ZpbGUgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGJsYWNrbGlzdGVkQ29udGFjdHNDb2x1bW5zID0gaW1wb3J0SW5mb3JtYXRpb24/LmJsYWNrbGlzdGVkQ29sdW1ucztcbiAgICAgICAgaWYgKCFibGFja2xpc3RlZENvbnRhY3RzQ29sdW1ucyB8fCBibGFja2xpc3RlZENvbnRhY3RzQ29sdW1ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihpbnRsLmZvcm1hdE1lc3NhZ2UoeyBpZDogXCJleHBvcnRcIiwgZGVmYXVsdE1lc3NhZ2U6IFwiTm8gZmFpbGVkIGNvbHVtbnMgdG8gc2F2ZVwiIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBibGFja2xpc3RlZENvbnRhY3RzRGF0YSA9IFwiXCI7XG5cbiAgICAgICAgLy8gQWRkIGhlYWRlcnMgdG8gdGhlIGZpbGUgd2l0aG91dCB0cmFpbGluZyBzZW1pY29sb25cbiAgICAgICAgY29uc3QgaGVhZGVycyA9IE9iamVjdC5rZXlzKGJsYWNrbGlzdGVkQ29udGFjdHNDb2x1bW5zWzBdKTtcbiAgICAgICAgY29uc3QgaGVhZGVyU3RyID0gaGVhZGVycy5qb2luKFwiO1wiKTtcbiAgICAgICAgYmxhY2tsaXN0ZWRDb250YWN0c0RhdGEgPSBgJHtoZWFkZXJTdHIucmVwbGFjZSgvOyskLywgXCJcIil9XFxuYDsgLy8gUmVtb3ZlIHRyYWlsaW5nIHNlbWljb2xvbiBmcm9tIHRoZSBoZWFkZXJcblxuICAgICAgICAvLyBBZGQgZWFjaCByb3cgb2YgZmFpbGVkIGNvbHVtbnMgZGF0YVxuICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBibGFja2xpc3RlZENvbnRhY3RzQ29sdW1ucykge1xuICAgICAgICAgICAgLy8gVXNlIE9iamVjdC52YWx1ZXMgdG8gZ2V0IHRoZSB2YWx1ZXMgb2YgZWFjaCBjb2x1bW5cbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IE9iamVjdC52YWx1ZXMoY29sdW1uKTsgLy8gTm8gbmVlZCB0byBjaGVjayBmb3IgdW5kZWZpbmVkL251bGxcblxuICAgICAgICAgICAgLy8gSm9pbiByb3cgdmFsdWVzIGFuZCByZW1vdmUgdGhlIHRyYWlsaW5nIHNlbWljb2xvbiBpZiBub3QgbmVlZGVkXG4gICAgICAgICAgICBjb25zdCByb3dTdHIgPSByb3cuam9pbihcIjtcIik7XG4gICAgICAgICAgICBibGFja2xpc3RlZENvbnRhY3RzRGF0YSArPSBgJHtyb3dTdHIucmVwbGFjZSgvOyskLywgXCJcIil9XFxuYDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgZG93bmxvYWQgdGhlIGZpbGVcbiAgICAgICAgZG93bmxvYWRGaWxlKFxuICAgICAgICAgICAgbmV3IEJsb2IoW2JsYWNrbGlzdGVkQ29udGFjdHNEYXRhXSwgeyB0eXBlOiBcInRleHQvY3N2O2NoYXJzZXQ9dXRmLThcIiB9KSxcbiAgICAgICAgICAgIGBibGFja2xpc3RlZC1jb250YWN0LWxvZy0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0uY3N2YCxcbiAgICAgICAgKTtcbiAgICB9O1xuXG4gICAgY29uc3QgeyBnZXRJbnB1dFByb3BzIH0gPSB1c2VEcm9wem9uZSh7XG4gICAgICAgIGFjY2VwdDogeyBcInRleHQvY3N2XCI6IFtdIH0sXG4gICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgb25Ecm9wOiBhc3luYyAoYWNjZXB0ZWRGaWxlczogRmlsZVtdKSA9PiB7XG4gICAgICAgICAgICBzZXRJbXBvcnRpbmdDc3YodHJ1ZSk7XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IGFjY2VwdGVkRmlsZXNbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHVwbG9hZChmaWxlLCBzY29wZSwgdGFyZ2V0R3JvdXBJZCA/IFt0YXJnZXRHcm91cElkXSA6IFtdKTtcbiAgICAgICAgICAgICAgICBhcG9sbG9DbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiByZWZldGNoUXVlcmllcyB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldEltcG9ydGluZ0NzdihmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvckRpYWxvZz8uc2hvd0Vycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzLmVycm9yfSAvPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyTWVzc2FnZTogZGF0YS5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGRhdGEuZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJbXBvcnRJbmZvcm1hdGlvbihkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHNldEltcG9ydGluZ0NzdihmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyTWVzc2FnZSA9IChcbiAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS51c2VDb250YWN0SW1wb3J0LmVycm9yLmRlZmF1bHRNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRNZXNzYWdlPVwiQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBpbXBvcnQuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSB3aGlsZSBvciBjb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvciBpZiB0aGUgZXJyb3IgcGVyc2lzdHMuXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgZXJyb3JEaWFsb2c/LnNob3dFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMuZXJyb3J9IC8+LFxuICAgICAgICAgICAgICAgICAgICB1c2VyTWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IFN0cmluZyhlKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBoaWRkZW4gey4uLmdldElucHV0UHJvcHMoKX0gcmVmPXtmaWxlSW5wdXRSZWZ9IC8+XG4gICAgICAgICAgICA8RGlhbG9nIG9wZW49e2RpYWxvZ09wZW59PlxuICAgICAgICAgICAgICAgIDxEaWFsb2dUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAge2ltcG9ydGluZ0NzdiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0QnJldm9Nb2R1bGUudXNlQ29udGFjdEltcG9ydC5pbXBvcnRpbmcudGl0bGVcIiBkZWZhdWx0TWVzc2FnZT1cIkltcG9ydGluZyBjb250YWN0cyBmcm9tIENTVi4uLlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtpbXBvcnRJbmZvcm1hdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbWV0QnJldm9Nb2R1bGUudXNlQ29udGFjdEltcG9ydC5pbXBvcnRTdWNjZXNzZnVsLnRpdGxlXCIgZGVmYXVsdE1lc3NhZ2U9XCJJbXBvcnQgc3VjY2Vzc2Z1bFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9EaWFsb2dUaXRsZT5cbiAgICAgICAgICAgICAgICA8RGlhbG9nQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAge2ltcG9ydGluZ0NzdiAmJiA8TG9hZGluZyAvPn1cbiAgICAgICAgICAgICAgICAgICAge2ltcG9ydEluZm9ybWF0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2ltcG9ydEluZm9ybWF0aW9uLmNyZWF0ZWQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS51c2VDb250YWN0SW1wb3J0LmltcG9ydFN1Y2Nlc3NmdWwuY29udGFjdHNJbXBvcnRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cInthbW91bnR9IGNvbnRhY3QocykgaGF2ZSBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9e3sgYW1vdW50OiBpbXBvcnRJbmZvcm1hdGlvbi5jcmVhdGVkIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1wb3J0SW5mb3JtYXRpb24udXBkYXRlZCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb21ldEJyZXZvTW9kdWxlLnVzZUNvbnRhY3RJbXBvcnQuaW1wb3J0U3VjY2Vzc2Z1bC5jb250YWN0c1VwZGF0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U9XCJ7YW1vdW50fSBjb250YWN0KHMpIGhhdmUgYmVlbiB1cGRhdGVkLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9e3sgYW1vdW50OiBpbXBvcnRJbmZvcm1hdGlvbi51cGRhdGVkIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpbXBvcnRJbmZvcm1hdGlvbi5mYWlsZWQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBtdD17Mn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWxlcnQgc2V2ZXJpdHk9XCJlcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS51c2VDb250YWN0SW1wb3J0LmVycm9yLmNvbnRhY3RzQ291bGROb3RCZUltcG9ydGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U9XCJ7YW1vdW50fSBjb250YWN0KHMpIGNvdWxkIG5vdCBiZSBpbXBvcnRlZC4gPGxpbms+RG93bmxvYWQgdGhpcyBmaWxlPC9saW5rPiB0byBnZXQgdGhlIGZhaWxpbmcgcm93KHMpLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbXBvcnRJbmZvcm1hdGlvbi5mYWlsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiAoY2h1bmtzOiBSZWFjdE5vZGUpID0+IDxDc3ZEb3dubG9hZExpbmsgb25DbGljaz17c2F2ZUVycm9yRmlsZX0+e2NodW5rc308L0NzdkRvd25sb2FkTGluaz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQWxlcnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aW1wb3J0SW5mb3JtYXRpb24uYmxhY2tsaXN0ZWQgPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJveCBtdD17Mn0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QWxlcnQgc2V2ZXJpdHk9XCJlcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS51c2VDb250YWN0SW1wb3J0LmVycm9yLmNvbnRhY3RzQXJlQmxhY2tsaXN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TWVzc2FnZT1cInthbW91bnR9IGNvbnRhY3RzIGNvdWxkIG5vdCBiZSBpbXBvcnRlZCBhcyB0aGV5IGFyZSBibGFja2xpc3RlZC4gIDxsaW5rPkRvd25sb2FkIHRoaXMgZmlsZTwvbGluaz4gdG8gZ2V0IHRoZSBibGFja2xpc3RlZCBjb250YWN0KHMpLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBpbXBvcnRJbmZvcm1hdGlvbi5ibGFja2xpc3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IChjaHVua3M6IFJlYWN0Tm9kZSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDc3ZEb3dubG9hZExpbmsgb25DbGljaz17c2F2ZUJsYWNrbGlzdGVkQ29udGFjdHNGaWxlfT57Y2h1bmtzfTwvQ3N2RG93bmxvYWRMaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BbGVydD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsoaW1wb3J0SW5mb3JtYXRpb24uY3JlYXRlZCA+IDAgfHwgaW1wb3J0SW5mb3JtYXRpb24udXBkYXRlZCA+IDApICYmIHNlbmREb3VibGVPcHRJbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCb3ggbXQ9ezJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFsZXJ0IHNldmVyaXR5PVwid2FybmluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiY29tZXRCcmV2b01vZHVsZS51c2VDb250YWN0SW1wb3J0LmltcG9ydFN1Y2Nlc3NmdWwuZG9pTm90aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE1lc3NhZ2U9XCJDb250YWN0cyB3aG8gaGF2ZSBub3QgeWV0IGNvbmZpcm1lZCB0aGVpciBzdWJzY3JpcHRpb24gd2lsbCByZWNlaXZlIGEgZG91YmxlIG9wdC1pbiBlbWFpbCB0byBjb21wbGV0ZSB0aGUgcHJvY2Vzcy4gVGhlc2UgY29udGFjdHMgd2lsbCBub3QgYXBwZWFyIGluIHRoaXMgbGlzdCB1bnRpbCB0aGV5IGNvbmZpcm0gdGhlaXIgc3Vic2NyaXB0aW9uLiBPbmNlIGNvbmZpcm1lZCwgdGhleSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgYWRkZWQgdG8gdGhlIGFwcHJvcHJpYXRlIHRhcmdldCBncm91cChzKS5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9EaWFsb2dDb250ZW50PlxuICAgICAgICAgICAgICAgIDxEaWFsb2dBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgICB7aW1wb3J0SW5mb3JtYXRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRJbXBvcnRJbmZvcm1hdGlvbihudWxsKX0gdmFyaWFudD1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXMub2t9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0RpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgICA8L0RpYWxvZz5cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbmNvbnN0IENzdkRvd25sb2FkTGluayA9IHN0eWxlZChcInNwYW5cIilgXG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucGFsZXR0ZS5pbmZvLm1haW59O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbmA7XG4iXX0= */"));
@@ -0,0 +1,8 @@
1
+ import type { ContentScope } from "@dextinity/cms-admin";
2
+ import type { JSX, PropsWithChildren } from "react";
3
+ interface ConfigCheckProps {
4
+ scope: ContentScope;
5
+ }
6
+ export declare function ConfigVerification({ scope, children }: PropsWithChildren<ConfigCheckProps>): JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ConfigVerification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigVerification.d.ts","sourceRoot":"","sources":["../../src/configVerification/ConfigVerification.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAMpD,UAAU,gBAAgB;IACtB,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,OAAO,CA4BxG"}
@@ -0,0 +1,2 @@
1
+ export declare const brevoConfigCheckQuery: import("graphql").DocumentNode;
2
+ //# sourceMappingURL=ConfigVerification.gql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigVerification.gql.d.ts","sourceRoot":"","sources":["../../src/configVerification/ConfigVerification.gql.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,gCAMjC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as Types from '../graphql.generated';
2
+ export declare const namedOperations: {
3
+ Query: {
4
+ BrevoConfigCheck: string;
5
+ };
6
+ };
7
+ export type GQLBrevoConfigCheckQueryVariables = Types.Exact<{
8
+ scope: Types.GQLEmailCampaignContentScopeInput;
9
+ }>;
10
+ export type GQLBrevoConfigCheckQuery = {
11
+ __typename?: 'Query';
12
+ brevoConfig: {
13
+ __typename?: 'BrevoConfig';
14
+ id: string;
15
+ } | null;
16
+ };
17
+ //# sourceMappingURL=ConfigVerification.gql.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigVerification.gql.generated.d.ts","sourceRoot":"","sources":["../../src/configVerification/ConfigVerification.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,eAAO,MAAM,eAAe;;;;CAI3B,CAAA;AACD,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,KAAK,EAAE,KAAK,CAAC,iCAAiC,CAAC;CAChD,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE;QAAE,UAAU,CAAC,EAAE,aAAa,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export var namedOperations = {
2
+ Query: {
3
+ BrevoConfigCheck: 'BrevoConfigCheck'
4
+ }
5
+ };
@@ -0,0 +1,4 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ import { gql } from "@apollo/client";
4
+ export var brevoConfigCheckQuery = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query BrevoConfigCheck($scope: EmailCampaignContentScopeInput!) {\n brevoConfig(scope: $scope) {\n id\n }\n }\n"])));