@sparrowengg/integrations-templates-frontend 2.1.0-beta.1 → 2.1.0-beta.2

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 (212) hide show
  1. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js +1 -1
  2. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  3. package/dist/cjs/commons/components/NamingModal.js +34 -62
  4. package/dist/cjs/commons/components/NamingModal.js.map +1 -1
  5. package/dist/cjs/commons/components/confirmation-modal.js +12 -24
  6. package/dist/cjs/commons/components/confirmation-modal.js.map +1 -1
  7. package/dist/cjs/commons/components/custom-pill.js +12 -30
  8. package/dist/cjs/commons/components/custom-pill.js.map +1 -1
  9. package/dist/cjs/commons/components/draftModal.js +31 -45
  10. package/dist/cjs/commons/components/draftModal.js.map +1 -1
  11. package/dist/cjs/commons/components/edit-confirmation.js +17 -34
  12. package/dist/cjs/commons/components/edit-confirmation.js.map +1 -1
  13. package/dist/cjs/commons/components/import-modal.js +18 -49
  14. package/dist/cjs/commons/components/import-modal.js.map +1 -1
  15. package/dist/cjs/commons/components/spinner.js +2 -16
  16. package/dist/cjs/commons/components/spinner.js.map +1 -1
  17. package/dist/cjs/commons/components/theme-wrapper.js +12 -9
  18. package/dist/cjs/commons/components/theme-wrapper.js.map +1 -1
  19. package/dist/cjs/commons/constants/enhanced.js.map +1 -1
  20. package/dist/cjs/commons/helpers/index.js +52 -93
  21. package/dist/cjs/commons/helpers/index.js.map +1 -1
  22. package/dist/cjs/commons/icons/arrow.js +3 -38
  23. package/dist/cjs/commons/icons/arrow.js.map +1 -1
  24. package/dist/cjs/commons/icons/cursor.js +8 -21
  25. package/dist/cjs/commons/icons/cursor.js.map +1 -1
  26. package/dist/cjs/commons/icons/email-letter.js +12 -30
  27. package/dist/cjs/commons/icons/email-letter.js.map +1 -1
  28. package/dist/cjs/commons/icons/mapping.js +10 -23
  29. package/dist/cjs/commons/icons/mapping.js.map +1 -1
  30. package/dist/cjs/commons/icons/nested-add.js +14 -32
  31. package/dist/cjs/commons/icons/nested-add.js.map +1 -1
  32. package/dist/cjs/commons/icons/sms.js +18 -36
  33. package/dist/cjs/commons/icons/sms.js.map +1 -1
  34. package/dist/cjs/commons/icons/sync.js +3 -110
  35. package/dist/cjs/commons/icons/sync.js.map +1 -1
  36. package/dist/cjs/commons/icons/trash.js +15 -33
  37. package/dist/cjs/commons/icons/trash.js.map +1 -1
  38. package/dist/cjs/commons/icons/whatsapp.js +31 -49
  39. package/dist/cjs/commons/icons/whatsapp.js.map +1 -1
  40. package/dist/cjs/contact-import/components/ManageImport/Completed.js +41 -27
  41. package/dist/cjs/contact-import/components/ManageImport/Completed.js.map +1 -1
  42. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js +43 -23
  43. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  44. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js +6 -7
  45. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  46. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js +46 -30
  47. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  48. package/dist/cjs/contact-import/components/ManageImport/icon.js +85 -0
  49. package/dist/cjs/contact-import/components/ManageImport/icon.js.map +1 -0
  50. package/dist/cjs/contact-import/components/Scheduling.js +27 -39
  51. package/dist/cjs/contact-import/components/Scheduling.js.map +1 -1
  52. package/dist/cjs/contact-import/components/TimePicker.js +102 -129
  53. package/dist/cjs/contact-import/components/TimePicker.js.map +1 -1
  54. package/dist/cjs/contact-import/components/conact-import-schedule.js +64 -0
  55. package/dist/cjs/contact-import/components/conact-import-schedule.js.map +1 -0
  56. package/dist/cjs/contact-import/components/contact-import-configure.js +75 -0
  57. package/dist/cjs/contact-import/components/contact-import-configure.js.map +1 -0
  58. package/dist/cjs/contact-import/components/contact-import-mapping.js +224 -0
  59. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -0
  60. package/dist/cjs/contact-import/constants.js +21 -0
  61. package/dist/cjs/contact-import/constants.js.map +1 -0
  62. package/dist/cjs/contact-import/index.js +242 -32
  63. package/dist/cjs/contact-import/index.js.map +1 -1
  64. package/dist/cjs/dynamic-mapping/components/Mapping.js +321 -203
  65. package/dist/cjs/dynamic-mapping/components/Mapping.js.map +1 -1
  66. package/dist/cjs/dynamic-mapping/index.js +972 -34
  67. package/dist/cjs/dynamic-mapping/index.js.map +1 -1
  68. package/dist/cjs/filter/filter-pill-value-selector.js +1 -1
  69. package/dist/cjs/filter/filter-pill-value-selector.js.map +1 -1
  70. package/dist/cjs/index.js +12 -159
  71. package/dist/cjs/index.js.map +1 -1
  72. package/dist/cjs/integration-template/components/dashboard.js +137 -130
  73. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  74. package/dist/cjs/integration-template/index.js +343 -0
  75. package/dist/cjs/integration-template/index.js.map +1 -0
  76. package/dist/cjs/mapping/components/custom-menu.js +3 -4
  77. package/dist/cjs/mapping/components/custom-menu.js.map +1 -1
  78. package/dist/cjs/mapping/components/field.js +103 -121
  79. package/dist/cjs/mapping/components/field.js.map +1 -1
  80. package/dist/cjs/mapping/components/mapping.js +195 -106
  81. package/dist/cjs/mapping/components/mapping.js.map +1 -1
  82. package/dist/cjs/mapping/constants/index.js +2 -259
  83. package/dist/cjs/mapping/constants/index.js.map +1 -1
  84. package/dist/cjs/mapping/index.js +618 -38
  85. package/dist/cjs/mapping/index.js.map +1 -1
  86. package/dist/cjs/mapping/services/index.js +58 -96
  87. package/dist/cjs/mapping/services/index.js.map +1 -1
  88. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-menu/dist/index.js +7 -7
  89. package/dist/cjs/single-mapping/components/mapping.js +490 -0
  90. package/dist/cjs/single-mapping/components/mapping.js.map +1 -0
  91. package/dist/cjs/single-mapping/index.js +987 -59
  92. package/dist/cjs/single-mapping/index.js.map +1 -1
  93. package/dist/cjs/triggers/components/subcomponents.js +1140 -0
  94. package/dist/cjs/triggers/components/subcomponents.js.map +1 -0
  95. package/dist/cjs/triggers/components/trigger.js +491 -0
  96. package/dist/cjs/triggers/components/trigger.js.map +1 -0
  97. package/dist/cjs/triggers/constants/index.js +0 -253
  98. package/dist/cjs/triggers/constants/index.js.map +1 -1
  99. package/dist/cjs/triggers/index.js +333 -0
  100. package/dist/cjs/triggers/index.js.map +1 -0
  101. package/dist/cjs/triggers/services/index.js +30 -0
  102. package/dist/cjs/triggers/services/index.js.map +1 -0
  103. package/dist/es/cascader-dropdown/cascader-dropdown-content.js +1 -1
  104. package/dist/es/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  105. package/dist/es/commons/components/NamingModal.js +35 -63
  106. package/dist/es/commons/components/NamingModal.js.map +1 -1
  107. package/dist/es/commons/components/confirmation-modal.js +13 -25
  108. package/dist/es/commons/components/confirmation-modal.js.map +1 -1
  109. package/dist/es/commons/components/custom-pill.js +13 -31
  110. package/dist/es/commons/components/custom-pill.js.map +1 -1
  111. package/dist/es/commons/components/draftModal.js +32 -46
  112. package/dist/es/commons/components/draftModal.js.map +1 -1
  113. package/dist/es/commons/components/edit-confirmation.js +18 -35
  114. package/dist/es/commons/components/edit-confirmation.js.map +1 -1
  115. package/dist/es/commons/components/import-modal.js +19 -50
  116. package/dist/es/commons/components/import-modal.js.map +1 -1
  117. package/dist/es/commons/components/spinner.js +2 -16
  118. package/dist/es/commons/components/spinner.js.map +1 -1
  119. package/dist/es/commons/components/theme-wrapper.js +12 -9
  120. package/dist/es/commons/components/theme-wrapper.js.map +1 -1
  121. package/dist/es/commons/constants/enhanced.js.map +1 -1
  122. package/dist/es/commons/helpers/index.js +52 -93
  123. package/dist/es/commons/helpers/index.js.map +1 -1
  124. package/dist/es/commons/icons/arrow.js +3 -38
  125. package/dist/es/commons/icons/arrow.js.map +1 -1
  126. package/dist/es/commons/icons/cursor.js +8 -21
  127. package/dist/es/commons/icons/cursor.js.map +1 -1
  128. package/dist/es/commons/icons/email-letter.js +12 -30
  129. package/dist/es/commons/icons/email-letter.js.map +1 -1
  130. package/dist/es/commons/icons/mapping.js +10 -23
  131. package/dist/es/commons/icons/mapping.js.map +1 -1
  132. package/dist/es/commons/icons/nested-add.js +14 -32
  133. package/dist/es/commons/icons/nested-add.js.map +1 -1
  134. package/dist/es/commons/icons/sms.js +18 -36
  135. package/dist/es/commons/icons/sms.js.map +1 -1
  136. package/dist/es/commons/icons/sync.js +3 -110
  137. package/dist/es/commons/icons/sync.js.map +1 -1
  138. package/dist/es/commons/icons/trash.js +15 -33
  139. package/dist/es/commons/icons/trash.js.map +1 -1
  140. package/dist/es/commons/icons/whatsapp.js +31 -49
  141. package/dist/es/commons/icons/whatsapp.js.map +1 -1
  142. package/dist/es/contact-import/components/ManageImport/Completed.js +41 -27
  143. package/dist/es/contact-import/components/ManageImport/Completed.js.map +1 -1
  144. package/dist/es/contact-import/components/ManageImport/Dashboard.js +45 -25
  145. package/dist/es/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  146. package/dist/es/contact-import/components/ManageImport/NoDataState.js +4 -5
  147. package/dist/es/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  148. package/dist/es/contact-import/components/ManageImport/Scheduled.js +46 -30
  149. package/dist/es/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  150. package/dist/es/contact-import/components/ManageImport/icon.js +82 -0
  151. package/dist/es/contact-import/components/ManageImport/icon.js.map +1 -0
  152. package/dist/es/contact-import/components/Scheduling.js +27 -39
  153. package/dist/es/contact-import/components/Scheduling.js.map +1 -1
  154. package/dist/es/contact-import/components/TimePicker.js +103 -130
  155. package/dist/es/contact-import/components/TimePicker.js.map +1 -1
  156. package/dist/es/contact-import/components/conact-import-schedule.js +60 -0
  157. package/dist/es/contact-import/components/conact-import-schedule.js.map +1 -0
  158. package/dist/es/contact-import/components/contact-import-configure.js +71 -0
  159. package/dist/es/contact-import/components/contact-import-configure.js.map +1 -0
  160. package/dist/es/contact-import/components/contact-import-mapping.js +220 -0
  161. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -0
  162. package/dist/es/contact-import/constants.js +18 -0
  163. package/dist/es/contact-import/constants.js.map +1 -0
  164. package/dist/es/contact-import/index.js +240 -27
  165. package/dist/es/contact-import/index.js.map +1 -1
  166. package/dist/es/dynamic-mapping/components/Mapping.js +321 -203
  167. package/dist/es/dynamic-mapping/components/Mapping.js.map +1 -1
  168. package/dist/es/dynamic-mapping/index.js +972 -34
  169. package/dist/es/dynamic-mapping/index.js.map +1 -1
  170. package/dist/es/filter/filter-pill-value-selector.js +1 -1
  171. package/dist/es/filter/filter-pill-value-selector.js.map +1 -1
  172. package/dist/es/index.js +2 -23
  173. package/dist/es/index.js.map +1 -1
  174. package/dist/es/integration-template/components/dashboard.js +139 -132
  175. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  176. package/dist/es/integration-template/index.js +341 -0
  177. package/dist/es/integration-template/index.js.map +1 -0
  178. package/dist/es/mapping/components/custom-menu.js +3 -4
  179. package/dist/es/mapping/components/custom-menu.js.map +1 -1
  180. package/dist/es/mapping/components/field.js +100 -118
  181. package/dist/es/mapping/components/field.js.map +1 -1
  182. package/dist/es/mapping/components/mapping.js +194 -105
  183. package/dist/es/mapping/components/mapping.js.map +1 -1
  184. package/dist/es/mapping/constants/index.js +3 -239
  185. package/dist/es/mapping/constants/index.js.map +1 -1
  186. package/dist/es/mapping/index.js +617 -12
  187. package/dist/es/mapping/index.js.map +1 -1
  188. package/dist/es/mapping/services/index.js +59 -96
  189. package/dist/es/mapping/services/index.js.map +1 -1
  190. package/dist/es/node_modules/@internationalized/date/dist/CalendarDate.js +3 -3
  191. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +1 -1
  192. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js +2 -2
  193. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +1 -1
  194. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/calendar/dist/import.js +2 -2
  195. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/utils/dist/import.js +1 -1
  196. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-stately/calendar/dist/import.js +1 -1
  197. package/dist/es/single-mapping/components/mapping.js +486 -0
  198. package/dist/es/single-mapping/components/mapping.js.map +1 -0
  199. package/dist/es/single-mapping/index.js +988 -60
  200. package/dist/es/single-mapping/index.js.map +1 -1
  201. package/dist/es/triggers/components/subcomponents.js +1134 -0
  202. package/dist/es/triggers/components/subcomponents.js.map +1 -0
  203. package/dist/es/triggers/components/trigger.js +487 -0
  204. package/dist/es/triggers/components/trigger.js.map +1 -0
  205. package/dist/es/triggers/constants/index.js +1 -228
  206. package/dist/es/triggers/constants/index.js.map +1 -1
  207. package/dist/es/triggers/index.js +331 -0
  208. package/dist/es/triggers/index.js.map +1 -0
  209. package/dist/es/triggers/services/index.js +28 -0
  210. package/dist/es/triggers/services/index.js.map +1 -0
  211. package/dist/index.d.ts +448 -2161
  212. package/package.json +1 -1
@@ -1,15 +1,53 @@
1
- import React__default, { useState } from 'react';
2
- import { surveySparrowURL } from '../commons/constants/index.js';
3
- import { MappingHeader } from './components/MappingHeader.js';
4
- import { ConfigurationSetup } from './components/ConfigurationSetup.js';
5
- import { MappingContent } from './components/MappingContent.js';
6
- import { useEditMode } from './hooks/useEditMode.js';
7
- import { THEME_CONFIG } from './constants/index.js';
1
+ import { parseDate as $fae977aafc393c5c$export$6b862160d295c8e } from '../node_modules/@internationalized/date/dist/string.js';
2
+ import EditConfirmation from '../commons/components/edit-confirmation.js';
3
+ import React__default, { useState, useEffect } from 'react';
4
+ import Arrow from '../commons/icons/arrow.js';
5
+ import Mapping from './components/mapping.js';
6
+ import { surveySparrowURL, dynamicDateOptions } from '../commons/constants/index.js';
7
+ import dayjs from '../node_modules/dayjs/dayjs.min.js';
8
8
  import { ThemeProvider } from '../node_modules/@sparrowengg/twigs-react/dist/es/theme-provider/theme-provider.js';
9
- import { TooltipProvider } from '../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js';
9
+ import { TooltipProvider, Tooltip } from '../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js';
10
10
  import { Box } from '../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
11
11
  import { Flex } from '../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
12
+ import { IconButton } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
13
+ import { ArrowLeftIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/arrow-left.js';
14
+ import { Heading } from '../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
15
+ import { Button } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js';
16
+ import { Text } from '../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
17
+ import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from '../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js';
18
+ import { Input } from '../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js';
19
+ import { ChevronDownIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-down.js';
20
+ import { Calendar } from '../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js';
21
+ import { RadioGroup, Radio } from '../node_modules/@sparrowengg/twigs-react/dist/es/radio/radio.js';
22
+ import { FormLabel } from '../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js';
23
+ import { FormInput } from '../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js';
24
+ import { Checkbox } from '../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
25
+ import { Switch } from '../node_modules/@sparrowengg/twigs-react/dist/es/switch/switch.js';
26
+ import { Select } from '../node_modules/@sparrowengg/twigs-react/dist/es/select/select.js';
27
+ import { c as components } from '../node_modules/react-select/dist/index-a301f526.esm.js';
28
+ import { PlusIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/plus.js';
29
+ import { Chip } from '../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
30
+ import { TickCircleFillIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/tick-circle-fill.js';
12
31
 
32
+ var __defProp = Object.defineProperty;
33
+ var __defProps = Object.defineProperties;
34
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
35
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
36
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
37
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
38
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
39
+ var __spreadValues = (a, b) => {
40
+ for (var prop in b || (b = {}))
41
+ if (__hasOwnProp.call(b, prop))
42
+ __defNormalProp(a, prop, b[prop]);
43
+ if (__getOwnPropSymbols)
44
+ for (var prop of __getOwnPropSymbols(b)) {
45
+ if (__propIsEnum.call(b, prop))
46
+ __defNormalProp(a, prop, b[prop]);
47
+ }
48
+ return a;
49
+ };
50
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
13
51
  const SingleMapping = ({
14
52
  integrationFields,
15
53
  configuration,
@@ -19,25 +57,12 @@ const SingleMapping = ({
19
57
  token,
20
58
  apiURL = surveySparrowURL,
21
59
  surveyDetails,
22
- importResponse,
60
+ importResponse: importResponse2,
23
61
  hasExistingMapping,
24
62
  onSaveHandler,
25
63
  editField,
26
64
  previousMappingHandler
27
65
  }) => {
28
- const [isEditConfirmationOpen, setIsEditConfirmationOpen] = useState(false);
29
- const {
30
- originalMappingData,
31
- setOriginalMappingData,
32
- isInitialLoad,
33
- setIsInitialLoad,
34
- hasFieldsChanged
35
- } = useEditMode({
36
- editField,
37
- importResponse,
38
- configuration,
39
- navigateMappingPage
40
- });
41
66
  const [ssMappingData, setSSMappingData] = useState({
42
67
  questions: [],
43
68
  variables: [],
@@ -46,57 +71,960 @@ const SingleMapping = ({
46
71
  property: [],
47
72
  derivedQuestions: []
48
73
  });
49
- return /* @__PURE__ */ React__default.createElement(ThemeProvider, { theme: THEME_CONFIG }, /* @__PURE__ */ React__default.createElement(TooltipProvider, null, /* @__PURE__ */ React__default.createElement(Box, { css: { width: "100%" } }, /* @__PURE__ */ React__default.createElement(
50
- MappingHeader,
74
+ const [isEditConfirmationOpen, setIsEditConfirmationOpen] = useState(false);
75
+ const [originalMappingData, setOriginalMappingData] = useState(null);
76
+ const [originalConfigurationFields, setOriginalConfigurationFields] = useState(null);
77
+ const [originalConfiguredFields, setOriginalConfiguredFields] = useState(null);
78
+ const [originalImportResponse, setOriginalImportResponse] = useState(null);
79
+ const [isInitialLoad, setIsInitialLoad] = useState(true);
80
+ useEffect(() => {
81
+ if (!!(editField == null ? void 0 : editField.id)) {
82
+ navigateMappingPage(true);
83
+ setOriginalConfigurationFields(
84
+ JSON.parse(JSON.stringify(configuration.configurationFields))
85
+ );
86
+ setOriginalConfiguredFields(
87
+ JSON.parse(JSON.stringify(configuration.configuredFields))
88
+ );
89
+ setOriginalImportResponse(JSON.parse(JSON.stringify(importResponse2)));
90
+ }
91
+ }, []);
92
+ const hasFieldsChanged = () => {
93
+ if (!(editField == null ? void 0 : editField.id) || !originalMappingData)
94
+ return true;
95
+ const mappingDataChanged = JSON.stringify(ssMappingData) !== JSON.stringify(originalMappingData);
96
+ JSON.stringify(JSON.parse(JSON.stringify(importResponse2))) !== JSON.stringify(originalImportResponse);
97
+ const configFieldsChanged = JSON.stringify(configuration.configurationFields) !== JSON.stringify(originalConfigurationFields);
98
+ const configuredFieldsChanged = JSON.stringify(configuration.configuredFields) !== JSON.stringify(originalConfiguredFields);
99
+ return configFieldsChanged || configuredFieldsChanged || !isInitialLoad && mappingDataChanged;
100
+ };
101
+ return /* @__PURE__ */ React__default.createElement(
102
+ ThemeProvider,
51
103
  {
52
- isEditConfirmationOpen,
53
- setIsEditConfirmationOpen,
54
- editField,
55
- importResponse,
56
- ssMappingData,
57
- configuration,
58
- hasFieldsChanged: hasFieldsChanged(ssMappingData),
59
- saveConfiguration: configuration.onSaveHandler,
60
- isMappingPage,
61
- hasExistingMapping,
62
- navigateConfigPage: () => navigateMappingPage(false),
63
- previousMappingHandler,
64
- onSaveHandler: () => {
65
- onSaveHandler((editField == null ? void 0 : editField.id) ? editField : {});
104
+ theme: {
105
+ fonts: {
106
+ body: "DM Sans, Roboto Mono, sans-serif",
107
+ heading: "DM Sans, Roboto Mono, sans-serif"
108
+ }
109
+ }
110
+ },
111
+ /* @__PURE__ */ React__default.createElement(TooltipProvider, null, /* @__PURE__ */ React__default.createElement(Box, { css: { width: "100%" } }, /* @__PURE__ */ React__default.createElement(
112
+ MappingHeader,
113
+ {
114
+ isEditConfirmationOpen,
115
+ setIsEditConfirmationOpen,
116
+ editField,
117
+ importResponse: importResponse2,
118
+ ssMappingData,
119
+ configuration,
120
+ hasFieldsChanged: hasFieldsChanged(),
121
+ saveConfiguration: () => {
122
+ configuration.onSaveHandler();
123
+ },
124
+ isMappingPage,
125
+ hasExistingMapping,
126
+ navigateConfigPage: () => navigateMappingPage(false),
127
+ previousMappingHandler,
128
+ onSaveHandler: () => {
129
+ onSaveHandler((editField == null ? void 0 : editField.id) ? editField : {});
130
+ }
131
+ }
132
+ ), !isMappingPage && configuration.hasConfiguration ? /* @__PURE__ */ React__default.createElement(
133
+ Flex,
134
+ {
135
+ justifyContent: "center",
136
+ alignItems: "center",
137
+ css: { marginTop: "$40" }
138
+ },
139
+ /* @__PURE__ */ React__default.createElement(
140
+ ConfigurationSetup,
141
+ {
142
+ configuration,
143
+ surveyName: surveyDetails.surveyName,
144
+ editField
145
+ }
146
+ )
147
+ ) : /* @__PURE__ */ React__default.createElement(
148
+ Mapping,
149
+ {
150
+ setOriginalMappingData,
151
+ integrationFields,
152
+ setIntegrationFields,
153
+ token,
154
+ setIsInitialLoad,
155
+ apiURL,
156
+ surveyId: surveyDetails.surveyId,
157
+ surveyProperties: surveyDetails.surveyProperties,
158
+ importResponse: importResponse2,
159
+ ssMappingData,
160
+ setSSMappingData,
161
+ editField
162
+ }
163
+ )))
164
+ );
165
+ };
166
+ const MappingHeader = ({
167
+ isEditConfirmationOpen,
168
+ editField,
169
+ importResponse: importResponse2,
170
+ hasExistingMapping,
171
+ ssMappingData,
172
+ isMappingPage,
173
+ navigateConfigPage,
174
+ onSaveHandler,
175
+ previousMappingHandler,
176
+ saveConfiguration,
177
+ configuration,
178
+ setIsEditConfirmationOpen,
179
+ hasFieldsChanged
180
+ }) => {
181
+ const isButtonDisabled = () => {
182
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
183
+ if (isMappingPage) {
184
+ if (editField == null ? void 0 : editField.id) {
185
+ return !hasFieldsChanged;
186
+ }
187
+ if (((_a = importResponse2 == null ? void 0 : importResponse2.value) == null ? void 0 : _a.ImportMethod) === "SEND_ALL_DATA") {
188
+ return !(((_b = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _b.length) || ((_c = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _c.length) || ((_d = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _d.length) || ((_e = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _e.length) || ((_f = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _f.length) || ((_g = ssMappingData == null ? void 0 : ssMappingData.derivedQuestions) == null ? void 0 : _g.length));
189
+ } else {
190
+ const isMappingDisabled = ((_h = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _h.some((question) => question.isEnabled)) || ((_i = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _i.some((variable) => variable.isEnabled)) || ((_j = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _j.some(
191
+ (property) => property.isEnabled
192
+ )) || ((_k = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _k.some(
193
+ (expression) => expression.isEnabled
194
+ )) || ((_l = ssMappingData == null ? void 0 : ssMappingData.derivedQuestions) == null ? void 0 : _l.some(
195
+ (derivedQuestion) => derivedQuestion.isEnabled
196
+ )) || ((_m = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _m.some((property) => property.isEnabled));
197
+ return !isMappingDisabled;
198
+ }
199
+ } else {
200
+ const isAllFieldsDisabled = (_n = Object.values(
201
+ (configuration == null ? void 0 : configuration.configurationFields) || {}
202
+ )) == null ? void 0 : _n.some(
203
+ (field) => (field == null ? void 0 : field.value) === null || (field == null ? void 0 : field.value) === void 0
204
+ );
205
+ if ((_p = (_o = configuration == null ? void 0 : configuration.configurationFields) == null ? void 0 : _o.find(
206
+ (field) => (field == null ? void 0 : field.id) === "responseImportSettings"
207
+ )) == null ? void 0 : _p.value) {
208
+ return isAllFieldsDisabled || !((_q = configuration == null ? void 0 : configuration.configuredFields) == null ? void 0 : _q.responseImportType);
209
+ } else {
210
+ return isAllFieldsDisabled;
66
211
  }
67
212
  }
68
- ), !isMappingPage && configuration.hasConfiguration ? /* @__PURE__ */ React__default.createElement(
213
+ };
214
+ const isMappingPageDisabled = () => {
215
+ var _a, _b, _c, _d;
216
+ const isAllFieldsDisabled = (_a = Object.values(
217
+ (configuration == null ? void 0 : configuration.configurationFields) || {}
218
+ )) == null ? void 0 : _a.some(
219
+ (field) => (field == null ? void 0 : field.value) === null || (field == null ? void 0 : field.value) === void 0
220
+ );
221
+ if ((_c = (_b = configuration == null ? void 0 : configuration.configurationFields) == null ? void 0 : _b.find(
222
+ (field) => (field == null ? void 0 : field.id) === "responseImportSettings"
223
+ )) == null ? void 0 : _c.value) {
224
+ return isAllFieldsDisabled || !((_d = configuration == null ? void 0 : configuration.configuredFields) == null ? void 0 : _d.responseImportType);
225
+ } else {
226
+ return isAllFieldsDisabled;
227
+ }
228
+ };
229
+ return /* @__PURE__ */ React__default.createElement(
69
230
  Flex,
70
231
  {
71
- justifyContent: "center",
72
232
  alignItems: "center",
73
- css: { marginTop: "$40" }
233
+ justifyContent: "space-between",
234
+ css: {
235
+ borderBottom: "$borderWidths$xs solid $neutral200",
236
+ padding: "$8 $12"
237
+ }
74
238
  },
75
239
  /* @__PURE__ */ React__default.createElement(
76
- ConfigurationSetup,
240
+ Flex,
77
241
  {
78
- configuration,
79
- surveyName: surveyDetails.surveyName,
80
- editField
242
+ gap: "$6",
243
+ alignItems: "center",
244
+ css: { visibility: hasExistingMapping ? "visible" : "hidden" }
245
+ },
246
+ /* @__PURE__ */ React__default.createElement(
247
+ IconButton,
248
+ {
249
+ onClick: () => previousMappingHandler == null ? void 0 : previousMappingHandler(),
250
+ color: "default",
251
+ icon: /* @__PURE__ */ React__default.createElement(ArrowLeftIcon, null),
252
+ size: "lg"
253
+ }
254
+ ),
255
+ /* @__PURE__ */ React__default.createElement(Heading, { size: "h6" }, (editField == null ? void 0 : editField.id) ? "Edit Mapping" : "New Mapping")
256
+ ),
257
+ /* @__PURE__ */ React__default.createElement(
258
+ Flex,
259
+ {
260
+ alignItems: "center",
261
+ gap: "$4",
262
+ css: {
263
+ "& button": { background: "transparent !important", fontSize: "$md" }
264
+ }
265
+ },
266
+ /* @__PURE__ */ React__default.createElement(
267
+ Button,
268
+ {
269
+ css: { color: !isMappingPage ? "$neutral900" : "$neutral800" },
270
+ color: "default",
271
+ variant: "ghost",
272
+ size: "md",
273
+ onClick: () => isMappingPage && navigateConfigPage()
274
+ },
275
+ "Configuration"
276
+ ),
277
+ /* @__PURE__ */ React__default.createElement(Arrow, null),
278
+ /* @__PURE__ */ React__default.createElement(
279
+ Button,
280
+ {
281
+ disabled: isMappingPageDisabled(),
282
+ css: {
283
+ color: isMappingPage ? "$neutral900" : "$neutral800",
284
+ cursor: isMappingPageDisabled() ? "not-allowed" : "pointer"
285
+ },
286
+ color: "default",
287
+ variant: "ghost",
288
+ onClick: () => {
289
+ if (isMappingPage) {
290
+ onSaveHandler({});
291
+ } else {
292
+ saveConfiguration();
293
+ }
294
+ },
295
+ size: "md"
296
+ },
297
+ "Mapping"
298
+ )
299
+ ),
300
+ /* @__PURE__ */ React__default.createElement(
301
+ Flex,
302
+ {
303
+ justifyContent: "end",
304
+ css: {
305
+ width: "180px"
306
+ }
307
+ },
308
+ /* @__PURE__ */ React__default.createElement(
309
+ Button,
310
+ {
311
+ size: "lg",
312
+ disabled: isButtonDisabled(),
313
+ onClick: () => {
314
+ if (isMappingPage) {
315
+ if (editField == null ? void 0 : editField.id) {
316
+ setIsEditConfirmationOpen(true);
317
+ } else {
318
+ onSaveHandler({});
319
+ }
320
+ } else {
321
+ saveConfiguration();
322
+ }
323
+ }
324
+ },
325
+ isMappingPage ? (editField == null ? void 0 : editField.id) ? "Update Mapping" : "Save Mapping" : "Continue, Mapping"
326
+ )
327
+ ),
328
+ isEditConfirmationOpen && /* @__PURE__ */ React__default.createElement(
329
+ EditConfirmation,
330
+ {
331
+ name: "Are you sure?",
332
+ description: "Saving this updated mapping properties will generate new sheet with the revised mapping.",
333
+ onConfirm: async () => {
334
+ await onSaveHandler({});
335
+ setIsEditConfirmationOpen(false);
336
+ },
337
+ onCancel: () => {
338
+ setIsEditConfirmationOpen(false);
339
+ }
81
340
  }
82
341
  )
83
- ) : /* @__PURE__ */ React__default.createElement(
84
- MappingContent,
342
+ );
343
+ };
344
+ const ConfigurationSetup = ({
345
+ configuration,
346
+ surveyName,
347
+ editField
348
+ }) => {
349
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
350
+ return /* @__PURE__ */ React__default.createElement(Box, { css: { maxWidth: 488, width: "100%" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Event Details"), /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", css: { marginTop: "$4" } }, /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral500" } }, "Survey Name:"), /* @__PURE__ */ React__default.createElement(
351
+ Tooltip,
85
352
  {
86
- setOriginalMappingData,
87
- integrationFields,
88
- setIntegrationFields,
89
- token,
90
- setIsInitialLoad,
91
- apiURL,
92
- surveyId: surveyDetails.surveyId,
93
- surveyProperties: surveyDetails.surveyProperties,
94
- importResponse,
95
- ssMappingData,
96
- setSSMappingData,
97
- editField
353
+ content: (surveyName == null ? void 0 : surveyName.length) > 25 ? surveyName : "",
354
+ css: {
355
+ zIndex: "9999999 !important",
356
+ fontFamily: "DM Sans !important"
357
+ }
358
+ },
359
+ /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(
360
+ Text,
361
+ {
362
+ size: "sm",
363
+ weight: "medium",
364
+ truncate: true,
365
+ css: { color: "$neutral800", maxWidth: "270px" }
366
+ },
367
+ surveyName
368
+ ))
369
+ )), /* @__PURE__ */ React__default.createElement(
370
+ Flex,
371
+ {
372
+ flexDirection: "column",
373
+ gap: "$8",
374
+ css: {
375
+ marginTop: "$12",
376
+ "& label": {
377
+ color: "$neutral800"
378
+ }
379
+ }
380
+ },
381
+ (_a = configuration.configurationFields) == null ? void 0 : _a.map((field) => {
382
+ return /* @__PURE__ */ React__default.createElement(
383
+ Configuration,
384
+ {
385
+ field,
386
+ configuredFields: configuration.configuredFields
387
+ }
388
+ );
389
+ }),
390
+ configuration.importOptions.showImportOptions && /* @__PURE__ */ React__default.createElement(
391
+ Flex,
392
+ {
393
+ gap: "$2",
394
+ flexDirection: "column",
395
+ css: {
396
+ marginTop: "-4px !important"
397
+ }
398
+ },
399
+ /* @__PURE__ */ React__default.createElement(
400
+ CustomDropdown,
401
+ {
402
+ editField,
403
+ data: configuration.importOptions.options,
404
+ value: (_d = (_c = (_b = configuration == null ? void 0 : configuration.configuredFields) == null ? void 0 : _b.responseImportType) == null ? void 0 : _c.value) != null ? _d : configuration.importOptions.options[0],
405
+ onChangeHandler: configuration.importOptions.onChangeHandler
406
+ }
407
+ )
408
+ ),
409
+ ((_g = (_f = (_e = configuration.configuredFields) == null ? void 0 : _e.responseImportType) == null ? void 0 : _f.value) == null ? void 0 : _g.type) === "date" && /* @__PURE__ */ React__default.createElement(
410
+ Text,
411
+ {
412
+ size: "sm",
413
+ weight: "regular",
414
+ css: { color: "$neutral600", marginTop: "-$6" }
415
+ },
416
+ `Existing responses from ${(_j = (_i = (_h = configuration.configuredFields) == null ? void 0 : _h.responseImportType) == null ? void 0 : _i.value) == null ? void 0 : _j.value} will be imported`
417
+ ),
418
+ configuration.importOptions.excludeResponse && ((_m = (_l = (_k = configuration.configuredFields) == null ? void 0 : _k.responseImportType) == null ? void 0 : _l.value) == null ? void 0 : _m.type) === "dateRange" && /* @__PURE__ */ React__default.createElement(
419
+ Configuration,
420
+ {
421
+ field: configuration.importOptions.excludeResponse,
422
+ configuredFields: configuration.configuredFields,
423
+ responseImportType: (_q = (_p = (_o = (_n = configuration.configuredFields) == null ? void 0 : _n.responseImportType) == null ? void 0 : _o.value) == null ? void 0 : _p.value) == null ? void 0 : _q.label
424
+ }
425
+ )
426
+ ));
427
+ };
428
+ const CustomDropdown = ({ data, onChangeHandler, value, editField }) => {
429
+ var _a, _b, _c, _d, _e;
430
+ const [date, setDate] = useState(() => {
431
+ try {
432
+ return value ? $fae977aafc393c5c$export$6b862160d295c8e(dayjs(value).format("YYYY-MM-DD")) : $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"));
433
+ } catch (e) {
434
+ return $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"));
435
+ }
436
+ });
437
+ const [days, setDays] = useState((_b = (_a = value == null ? void 0 : value.value) == null ? void 0 : _a.value) != null ? _b : 0);
438
+ const [open, setOpen] = useState(false);
439
+ const [hasBeenOpened, setHasBeenOpened] = useState(false);
440
+ useEffect(() => {
441
+ if (!(editField == null ? void 0 : editField.id) && !hasBeenOpened) {
442
+ setOpen(true);
443
+ setHasBeenOpened(true);
98
444
  }
99
- ))));
445
+ }, [editField == null ? void 0 : editField.id, hasBeenOpened]);
446
+ return /* @__PURE__ */ React__default.createElement(DropdownMenu, { open, onOpenChange: setOpen, modal: false }, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
447
+ Input,
448
+ {
449
+ size: "lg",
450
+ rightIcon: /* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 30, color: "#6A6A6A" }),
451
+ placeholder: "Choose",
452
+ value: (value == null ? void 0 : value.type) === "date" ? `${value == null ? void 0 : value.label} > ${value == null ? void 0 : value.value}` : (value == null ? void 0 : value.type) === "dateRange" ? `${value == null ? void 0 : value.label} - ${((_c = value == null ? void 0 : value.value) == null ? void 0 : _c.type) === "custom" ? `${(_d = value == null ? void 0 : value.value) == null ? void 0 : _d.value} days` : (_e = value == null ? void 0 : value.value) == null ? void 0 : _e.label}` : value == null ? void 0 : value.label,
453
+ css: {
454
+ "& input": {
455
+ textAlign: "left !important"
456
+ }
457
+ }
458
+ }
459
+ )), /* @__PURE__ */ React__default.createElement(
460
+ DropdownMenuContent,
461
+ {
462
+ css: {
463
+ width: "488px",
464
+ marginBlockStart: "$2",
465
+ p: {
466
+ margin: "0px !important"
467
+ },
468
+ zIndex: "99 !important"
469
+ },
470
+ className: "dm-sans"
471
+ },
472
+ data.map((option) => {
473
+ var _a2;
474
+ if (!option.type) {
475
+ return /* @__PURE__ */ React__default.createElement(
476
+ Tooltip,
477
+ {
478
+ content: option.tooltip || "",
479
+ css: {
480
+ zIndex: "9999999 !important",
481
+ fontFamily: "DM Sans !important"
482
+ }
483
+ },
484
+ /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(
485
+ DropdownMenuItem,
486
+ {
487
+ disabled: option == null ? void 0 : option.disabled,
488
+ css: {
489
+ cursor: (option == null ? void 0 : option.disabled) ? "not-allowed !important" : "pointer !important",
490
+ background: (value == null ? void 0 : value.type) === option.type ? "#4A9CA626 !important" : "transparent !important"
491
+ },
492
+ onClick: () => onChangeHandler({
493
+ id: "responseImportType",
494
+ value: option
495
+ })
496
+ },
497
+ /* @__PURE__ */ React__default.createElement(
498
+ Flex,
499
+ {
500
+ justifyContent: "space-between",
501
+ alignItems: "center",
502
+ css: {
503
+ width: "100%"
504
+ }
505
+ },
506
+ /* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "center", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(
507
+ Text,
508
+ {
509
+ size: "sm",
510
+ weight: "regular",
511
+ css: { color: "$neutral900" }
512
+ },
513
+ option.label
514
+ ), /* @__PURE__ */ React__default.createElement(
515
+ Text,
516
+ {
517
+ size: "xs",
518
+ weight: "regular",
519
+ css: { color: "$neutral700" }
520
+ },
521
+ option.description
522
+ ))
523
+ )
524
+ ))
525
+ );
526
+ } else {
527
+ return /* @__PURE__ */ React__default.createElement(
528
+ Tooltip,
529
+ {
530
+ content: option.tooltip || "",
531
+ css: {
532
+ fontFamily: "DM Sans !important",
533
+ zIndex: "9999999 !important"
534
+ }
535
+ },
536
+ /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(DropdownMenuSub, null, /* @__PURE__ */ React__default.createElement(
537
+ DropdownMenuSubTrigger,
538
+ {
539
+ disabled: option == null ? void 0 : option.disabled,
540
+ css: {
541
+ cursor: (option == null ? void 0 : option.disabled) ? "not-allowed !important" : "pointer !important",
542
+ background: (value == null ? void 0 : value.type) === option.type ? "#4A9CA626 !important" : "transparent !important"
543
+ }
544
+ },
545
+ " ",
546
+ /* @__PURE__ */ React__default.createElement(
547
+ Flex,
548
+ {
549
+ justifyContent: "space-between",
550
+ alignItems: "center",
551
+ css: {
552
+ width: "100%"
553
+ }
554
+ },
555
+ /* @__PURE__ */ React__default.createElement(
556
+ Flex,
557
+ {
558
+ css: { cursor: "pointer" },
559
+ justifyContent: "center",
560
+ flexDirection: "column"
561
+ },
562
+ /* @__PURE__ */ React__default.createElement(
563
+ Text,
564
+ {
565
+ size: "sm",
566
+ weight: "regular",
567
+ css: { color: "$neutral900" }
568
+ },
569
+ option.label
570
+ ),
571
+ /* @__PURE__ */ React__default.createElement(
572
+ Text,
573
+ {
574
+ size: "xs",
575
+ weight: "regular",
576
+ css: { color: "$neutral700" }
577
+ },
578
+ option.description
579
+ )
580
+ )
581
+ )
582
+ ), /* @__PURE__ */ React__default.createElement(
583
+ DropdownMenuSubContent,
584
+ {
585
+ sideOffset: 10,
586
+ alignOffset: -5,
587
+ css: __spreadProps(__spreadValues({
588
+ padding: "0px !important",
589
+ maxHeight: "500px",
590
+ minWidth: "224px",
591
+ maxWidth: "260px",
592
+ margin: "0px !important"
593
+ }, option.type === "date" && {
594
+ border: "none !important"
595
+ }), {
596
+ p: {
597
+ margin: "0px !important"
598
+ },
599
+ marginBlockEnd: "$10 !important"
600
+ }),
601
+ className: "dm-sans"
602
+ },
603
+ option.type === "date" && /* @__PURE__ */ React__default.createElement(
604
+ Calendar,
605
+ __spreadProps(__spreadValues(__spreadValues({
606
+ footerActionText: "Apply",
607
+ size: "md",
608
+ value: date,
609
+ onChange: setDate
610
+ }, (option == null ? void 0 : option.minValue) && {
611
+ minValue: $fae977aafc393c5c$export$6b862160d295c8e(option == null ? void 0 : option.minValue)
612
+ }), (option == null ? void 0 : option.maxValue) && {
613
+ maxValue: $fae977aafc393c5c$export$6b862160d295c8e(option == null ? void 0 : option.maxValue)
614
+ }), {
615
+ footerAction: () => {
616
+ onChangeHandler({
617
+ id: "responseImportType",
618
+ value: __spreadProps(__spreadValues({}, option), {
619
+ value: dayjs(date.toString()).format(
620
+ "MMM D, YYYY"
621
+ )
622
+ })
623
+ });
624
+ setOpen(false);
625
+ }
626
+ })
627
+ ),
628
+ option.type === "dateRange" && /* @__PURE__ */ React__default.createElement(
629
+ Flex,
630
+ {
631
+ css: {
632
+ paddingInline: "$4 !important",
633
+ paddingBlock: "$8 !important"
634
+ },
635
+ flexDirection: "column",
636
+ gap: "$4"
637
+ },
638
+ /* @__PURE__ */ React__default.createElement(
639
+ RadioGroup,
640
+ {
641
+ defaultValue: value == null ? void 0 : value.value,
642
+ onChange: (value2) => {
643
+ var _a3;
644
+ onChangeHandler({
645
+ id: "responseImportType",
646
+ value: __spreadProps(__spreadValues({}, option), {
647
+ value: {
648
+ type: value2,
649
+ value: value2,
650
+ label: (_a3 = dynamicDateOptions.find(
651
+ (option2) => option2.value === value2
652
+ )) == null ? void 0 : _a3.label
653
+ }
654
+ })
655
+ });
656
+ }
657
+ },
658
+ dynamicDateOptions.map((option2) => /* @__PURE__ */ React__default.createElement(
659
+ Box,
660
+ {
661
+ css: {
662
+ padding: "$4 !important"
663
+ }
664
+ },
665
+ /* @__PURE__ */ React__default.createElement(Radio, { value: option2.value }, " ", option2.label, " ")
666
+ ))
667
+ ),
668
+ ((_a2 = value == null ? void 0 : value.value) == null ? void 0 : _a2.type) === "custom" && /* @__PURE__ */ React__default.createElement(
669
+ Box,
670
+ {
671
+ css: {
672
+ paddingRight: "$4 !important",
673
+ position: "relative"
674
+ }
675
+ },
676
+ /* @__PURE__ */ React__default.createElement(
677
+ Input,
678
+ {
679
+ size: "md",
680
+ variant: "filled",
681
+ value: days,
682
+ onChange: (e) => setDays(e.target.value)
683
+ }
684
+ ),
685
+ /* @__PURE__ */ React__default.createElement(
686
+ Text,
687
+ {
688
+ css: {
689
+ position: "absolute",
690
+ right: "$8",
691
+ top: "$3"
692
+ }
693
+ },
694
+ "Days"
695
+ )
696
+ ),
697
+ /* @__PURE__ */ React__default.createElement(
698
+ Flex,
699
+ {
700
+ justifyContent: "space-between",
701
+ css: {
702
+ borderBlockStart: "$borderWidths$xs, solid, $neutral200 !important",
703
+ padding: "$8"
704
+ }
705
+ },
706
+ /* @__PURE__ */ React__default.createElement(Button, { size: "sm", variant: "ghost", color: "secondary" }, "Cancel"),
707
+ /* @__PURE__ */ React__default.createElement(
708
+ Button,
709
+ {
710
+ size: "sm",
711
+ variant: "ghost",
712
+ color: "primary",
713
+ onClick: () => {
714
+ var _a3, _b2;
715
+ onChangeHandler({
716
+ id: "responseImportType",
717
+ value: __spreadProps(__spreadValues({}, option), {
718
+ value: {
719
+ type: (_a3 = value == null ? void 0 : value.value) == null ? void 0 : _a3.type,
720
+ value: days,
721
+ label: (_b2 = value == null ? void 0 : value.value) == null ? void 0 : _b2.label
722
+ }
723
+ })
724
+ });
725
+ setOpen(false);
726
+ }
727
+ },
728
+ "Apply"
729
+ )
730
+ )
731
+ )
732
+ )))
733
+ );
734
+ }
735
+ })
736
+ ));
737
+ };
738
+ const Configuration = ({
739
+ field,
740
+ configuredFields,
741
+ responseImportType = null
742
+ }) => {
743
+ var _a, _b, _c, _d;
744
+ let fieldValue = null;
745
+ fieldValue = (_b = (_a = configuredFields == null ? void 0 : configuredFields[field.id]) == null ? void 0 : _a.value) != null ? _b : null;
746
+ const [error, setError] = useState({
747
+ errorMessage: "",
748
+ error: false,
749
+ id: null
750
+ });
751
+ switch (field.fieldType) {
752
+ case "switch":
753
+ return /* @__PURE__ */ React__default.createElement(
754
+ Flex,
755
+ {
756
+ gap: "$4",
757
+ alignItems: "center",
758
+ css: {
759
+ marginBlockStart: "$12",
760
+ borderTop: "$borderWidths$xs solid $neutral200",
761
+ paddingTop: "$16"
762
+ }
763
+ },
764
+ /* @__PURE__ */ React__default.createElement(
765
+ Switch,
766
+ {
767
+ disabled: field == null ? void 0 : field.disabled,
768
+ size: "sm",
769
+ checked: field == null ? void 0 : field.value,
770
+ onChange: (value) => field.onChangeHandler({
771
+ id: field.id,
772
+ value
773
+ })
774
+ }
775
+ ),
776
+ /* @__PURE__ */ React__default.createElement(Text, { size: "md", weight: "regular", css: { color: "$neutral900" } }, field.label)
777
+ );
778
+ case "checkbox":
779
+ return /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", alignItems: "start", gap: "$4" }, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$4", alignItems: "center" }, /* @__PURE__ */ React__default.createElement(
780
+ Checkbox,
781
+ {
782
+ disabled: field == null ? void 0 : field.disabled,
783
+ checked: !!fieldValue,
784
+ onChange: (value) => field.onChangeHandler({
785
+ id: field.id,
786
+ value
787
+ })
788
+ }
789
+ ), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "regular", css: { color: "$neutral900" } }, field.label)), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "regular", css: { color: "$neutral500" } }, field.value ? field.ifChecked() : field.ifUnchecked(responseImportType)));
790
+ case "input":
791
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (field == null ? void 0 : field.id) === "spreadsheet" ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_c = configuredFields == null ? void 0 : configuredFields.action) == null ? void 0 : _c.value) ? /* @__PURE__ */ React__default.createElement(
792
+ Box,
793
+ {
794
+ className: "dm-sans",
795
+ css: {
796
+ label: {
797
+ fontSize: "$xs !important"
798
+ }
799
+ }
800
+ },
801
+ /* @__PURE__ */ React__default.createElement(
802
+ FormInput,
803
+ __spreadProps(__spreadValues(__spreadProps(__spreadValues({
804
+ disabled: field == null ? void 0 : field.disabled
805
+ }, error.id === field.id && {
806
+ error: error.errorMessage,
807
+ errorBorder: error.error
808
+ }), {
809
+ label: field.label,
810
+ value: typeof fieldValue === "object" ? "" : fieldValue || "",
811
+ size: "lg"
812
+ }), field.pattern && {
813
+ pattern: field.pattern
814
+ }), {
815
+ onChange: (event) => {
816
+ if (field == null ? void 0 : field.pattern) {
817
+ const pattern = new RegExp(field.pattern);
818
+ if (!pattern.test(event.currentTarget.value) && event.currentTarget.value !== "") {
819
+ setError({
820
+ errorMessage: field.errorMessage,
821
+ error: true,
822
+ id: field.id
823
+ });
824
+ } else {
825
+ setError({
826
+ errorMessage: "",
827
+ error: false,
828
+ id: null
829
+ });
830
+ }
831
+ field.onChangeHandler({
832
+ id: field.id,
833
+ value: event.currentTarget.value
834
+ });
835
+ } else {
836
+ field.onChangeHandler({
837
+ id: field.id,
838
+ value: event.currentTarget.value
839
+ });
840
+ }
841
+ }
842
+ })
843
+ )
844
+ ) : null) : /* @__PURE__ */ React__default.createElement(
845
+ Box,
846
+ {
847
+ className: "dm-sans",
848
+ css: {
849
+ label: {
850
+ fontSize: "$xs !important"
851
+ }
852
+ }
853
+ },
854
+ /* @__PURE__ */ React__default.createElement(
855
+ FormInput,
856
+ __spreadProps(__spreadValues(__spreadProps(__spreadValues({
857
+ disabled: field == null ? void 0 : field.disabled
858
+ }, error.id === field.id && {
859
+ error: error.errorMessage,
860
+ errorBorder: error.error
861
+ }), {
862
+ label: field.label,
863
+ value: typeof fieldValue === "object" ? "" : fieldValue || "",
864
+ size: "lg"
865
+ }), field.pattern && {
866
+ pattern: field.pattern
867
+ }), {
868
+ onChange: (event) => {
869
+ if (field == null ? void 0 : field.pattern) {
870
+ const pattern = new RegExp(field.pattern);
871
+ if (!pattern.test(event.currentTarget.value) && event.currentTarget.value !== "") {
872
+ setError({
873
+ errorMessage: field.errorMessage,
874
+ error: true,
875
+ id: field.id
876
+ });
877
+ } else {
878
+ setError({
879
+ errorMessage: "",
880
+ error: false,
881
+ id: null
882
+ });
883
+ }
884
+ field.onChangeHandler({
885
+ id: field.id,
886
+ value: event.currentTarget.value
887
+ });
888
+ } else {
889
+ field.onChangeHandler({
890
+ id: field.id,
891
+ value: event.currentTarget.value
892
+ });
893
+ }
894
+ }
895
+ })
896
+ )
897
+ ));
898
+ default:
899
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, field.id === "spreadsheet" ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, ((_d = configuredFields == null ? void 0 : configuredFields.action) == null ? void 0 : _d.value) ? /* @__PURE__ */ React__default.createElement(
900
+ Flex,
901
+ {
902
+ gap: "$2",
903
+ flexDirection: "column",
904
+ css: {
905
+ cursor: "pointer !important",
906
+ ".twigs-select__indicator": {
907
+ width: "14px !important",
908
+ color: "#848484 !important"
909
+ }
910
+ }
911
+ },
912
+ /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, field.label),
913
+ /* @__PURE__ */ React__default.createElement(CustomAddNewSelect, { field })
914
+ ) : null) : /* @__PURE__ */ React__default.createElement(
915
+ Flex,
916
+ {
917
+ gap: "$2",
918
+ flexDirection: "column",
919
+ css: {
920
+ cursor: "pointer !important",
921
+ ".twigs-select__indicator": {
922
+ width: "14px !important",
923
+ color: "#848484 !important"
924
+ }
925
+ }
926
+ },
927
+ /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, field.label),
928
+ /* @__PURE__ */ React__default.createElement(CustomAddNewSelect, { field })
929
+ ));
930
+ }
931
+ };
932
+ const CustomAddNewSelect = ({ field }) => {
933
+ return /* @__PURE__ */ React__default.createElement(
934
+ Select,
935
+ {
936
+ isDisabled: field == null ? void 0 : field.disabled,
937
+ placeholder: "",
938
+ size: "lg",
939
+ css: {
940
+ cursor: "pointer"
941
+ },
942
+ components: {
943
+ Option: CustomShareOption,
944
+ SingleValue: CustomSingleValue
945
+ },
946
+ styles: {
947
+ singleValue: (provided, state) => __spreadProps(__spreadValues({}, provided), {
948
+ display: "flex",
949
+ alignItems: "center",
950
+ cursor: "pointer"
951
+ })
952
+ },
953
+ value: field.value,
954
+ onChange: (value) => {
955
+ var _a;
956
+ field.onChangeHandler({
957
+ id: (_a = field == null ? void 0 : field.id) != null ? _a : field == null ? void 0 : field.label,
958
+ value
959
+ });
960
+ },
961
+ options: field.options
962
+ }
963
+ );
964
+ };
965
+ const CustomShareOption = (props) => {
966
+ if (props.data.value === "ADD_NEW") {
967
+ return /* @__PURE__ */ React__default.createElement(
968
+ Tooltip,
969
+ {
970
+ content: props.data.tooltip || "",
971
+ css: {
972
+ zIndex: 999999999,
973
+ fontFamily: "DM Sans !important"
974
+ }
975
+ },
976
+ /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(components.Option, __spreadValues({}, props), /* @__PURE__ */ React__default.createElement(
977
+ Flex,
978
+ {
979
+ justifyContent: "center",
980
+ alignItems: "center",
981
+ css: { cursor: "pointer", zIndex: 999999999 }
982
+ },
983
+ /* @__PURE__ */ React__default.createElement(
984
+ Flex,
985
+ {
986
+ gap: "$2",
987
+ alignItems: "center",
988
+ css: {
989
+ color: "$primary500",
990
+ fontSize: "$sm",
991
+ fontWeight: "$7"
992
+ }
993
+ },
994
+ /* @__PURE__ */ React__default.createElement(PlusIcon, { size: 16, color: "#4A9CA6" }),
995
+ "Add Account"
996
+ )
997
+ )))
998
+ );
999
+ } else {
1000
+ return /* @__PURE__ */ React__default.createElement(components.Option, __spreadValues({}, props), /* @__PURE__ */ React__default.createElement(
1001
+ Flex,
1002
+ {
1003
+ css: { cursor: "pointer", zIndex: 999999999 },
1004
+ alignItems: "center",
1005
+ justifyContent: "space-between",
1006
+ gap: "$2"
1007
+ },
1008
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, props.label),
1009
+ " ",
1010
+ props.data.isAddonAccount && /* @__PURE__ */ React__default.createElement(
1011
+ Chip,
1012
+ {
1013
+ color: "primary",
1014
+ size: "sm",
1015
+ leftElement: /* @__PURE__ */ React__default.createElement(TickCircleFillIcon, null)
1016
+ },
1017
+ "In Use (Add-on)"
1018
+ )
1019
+ ));
1020
+ }
1021
+ };
1022
+ const CustomSingleValue = (props) => {
1023
+ if (props.data.value === "ADD_NEW") {
1024
+ return /* @__PURE__ */ React__default.createElement(components.SingleValue, __spreadValues({}, props), /* @__PURE__ */ React__default.createElement(Flex, { css: { cursor: "pointer" }, alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(PlusIcon, { size: 16 }), /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, props.data.label)));
1025
+ } else {
1026
+ return /* @__PURE__ */ React__default.createElement(components.SingleValue, __spreadValues({}, props), /* @__PURE__ */ React__default.createElement(Flex, { css: { cursor: "pointer" }, alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, props.data.label)));
1027
+ }
100
1028
  };
101
1029
 
102
1030
  export { SingleMapping };