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

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 +986 -58
  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 +987 -59
  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 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { Box, ThemeProvider } from \"@sparrowengg/twigs-react\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { MappingHeader } from \"./components/MappingHeader\";\nimport { EventSetup } from \"./components/EventSetup\";\nimport { MappingProps } from \"./types\";\n\n/**\n * Main Mapping component - Orchestrates the mapping workflow\n */\nexport const Mapping: React.FC<MappingProps> = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}) => {\n const [previousMapping, setPreviousMapping] = useState(hasPreviousMapping ?? false);\n\n // Initialize fields from edit mode\n useEffect(() => {\n if (editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, [editField?.id]);\n\n const handleNavigateEventPage = (): void => {\n navigateMappingPage(false);\n };\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n {/* Header with navigation and save button */}\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={handleNavigateEventPage}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n\n {/* Main content - Event Setup or Field Mapping */}\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\n// Re-export components for external use\nexport { Mapping as MappingFields } from \"./components/mapping\";\n\n// Export types, constants, services, hooks, and utils explicitly to avoid conflicts\nexport type {\n SelectOption,\n IntegrationFieldType,\n FieldType,\n IntegrationFieldOption,\n DefaultFieldValue,\n DefaultValueObject,\n ChangeHandlerValue,\n CommonFieldTypes,\n EventFieldType,\n AccountsFieldType,\n ActionsFieldType,\n CustomListFieldType,\n OldResponseFieldType,\n ConfigurationField,\n Configuration,\n ConfigurationFieldValue,\n DropdownOption,\n DateRangeValue,\n DropdownValue,\n SsMappingDataResponse,\n ResponseType,\n ResultGroupDataOptionsType,\n ResultGroupDataType,\n MappingEditField,\n MappingProps,\n EventSetupProps,\n MappingHeaderProps,\n FieldMappingProps,\n FieldProps,\n ConfigurationSetupProps,\n ConfigurationProps,\n CustomDropdownProps,\n ImportModalProps,\n FormFieldValue,\n FieldChangeHandler,\n ErrorState,\n} from \"./types\";\n\nexport * from \"./constants\";\nexport * from \"./services\";\nexport * from \"./hooks\";\nexport * from \"./utils\";\n"],"names":["useState","useEffect","ThemeProvider","Box","MappingHeader","EventSetup","FieldMapping"],"mappings":";;;;;;;;;;AAUO,MAAM,UAAkC,CAAC;AAAA,EAC9C,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,mBAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,oBAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,mBAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,sBAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,eAAiB,EAAA,kBAAkB,CAAI,GAAAA,cAAA,CAAS,kDAAsB,KAAK,CAAA,CAAA;AAGlF,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,uCAAW,EAAI,EAAA;AACjB,MAAA,SAAA,CAAU,UAAU,WAAW,CAAA,CAAA;AAC/B,MAAA,kBAAA,CAAmB,IAAI,CAAA,CAAA;AAAA,KACzB;AAAA,GACC,EAAA,CAAC,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,EAAE,CAAC,CAAA,CAAA;AAElB,EAAA,MAAM,0BAA0B,MAAY;AAC1C,IAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AAAA,GAC3B,CAAA;AAEA,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,kCAAA;AAAA,UACN,OAAS,EAAA,kCAAA;AAAA,SACX;AAAA,OACF;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA,CAACC,WAAI,GAAK,EAAA,EAAE,QAAQ,OAAS,EAAA,KAAA,EAAO,SAElC,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,2BAAA;AAAA,MAAA;AAAA,QACC,mBAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA,kBAAA;AAAA,QACA,mBAAA;AAAA,QACA,kBAAoB,EAAA,eAAA;AAAA,QACpB,aAAA;AAAA,QACA,MAAA;AAAA,QACA,aAAa,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,EAAA;AAAA,QACxB,aAAA;AAAA,QACA,iBAAmB,EAAA,uBAAA;AAAA,QACnB,sBAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAA;AAAA,QACA,aAAA;AAAA,OAAA;AAAA,KACF,EAGC,CAAC,aACA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,aAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA,mBAAA;AAAA,QACA,aAAA;AAAA,QACA,aAAa,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,EAAA;AAAA,OAAA;AAAA,KAG1B,mBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACC,UAAA;AAAA,QACA,kBAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,aAAA;AAAA,QACA,iBAAA;AAAA,QACA,oBAAA;AAAA,QACA,UAAU,aAAc,CAAA,QAAA;AAAA,QACxB,KAAA;AAAA,QACA,MAAA;AAAA,QACA,eAAA;AAAA,QACA,UAAA;AAAA,QACA,WAAA;AAAA,OAAA;AAAA,KAGN,CAAA;AAAA,GACF,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider,\n Checkbox,\n FormInput,\n Switch,\n Radio,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n Input,\n Calendar,\n RadioGroup,\n Tooltip,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport {\n CustomListFieldType,\n FieldType,\n OldResponseFieldType,\n SelectOption,\n IntegrationFieldType,\n} from \"./types\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport { dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype FieldMappingPropsType = {\n hasNamingModal: boolean;\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: Array<IntegrationFieldType>;\n setIntegrationFields: React.Dispatch<\n React.SetStateAction<Array<IntegrationFieldType>>\n >;\n apiURL: string;\n token: string;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n isMappingPage: boolean;\n surveyType: string;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: {\n id: string | number;\n fieldValues: Array<FieldType>;\n } | null;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n configuredFields: unknown;\n title: string;\n };\n};\n\nexport const Mapping = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}: FieldMappingPropsType) => {\n const [previousMapping, setPreviousMapping] = useState(\n hasPreviousMapping ?? false\n );\n\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n configuration: {\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n editFieldId: unknown;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage,\n configuration,\n editFieldId,\n}: EventSetupProps) => {\n useEffect(() => {\n if (actions?.value) {\n actions?.onChangeHandler(actions?.value);\n }\n if (events?.value) {\n events?.onChangeHandler(events?.value);\n }\n }, [actions?.value, events?.value]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n {configuration.hasConfiguration ? (\n <>\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editFieldId}\n />\n </>\n ) : (\n <>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value: unknown) =>\n accounts.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n events.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n actions.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n />\n </Flex>\n )}\n </Flex>\n </>\n )}\n\n <Button\n size=\"lg\"\n disabled={\n configuration.hasConfiguration\n ? false\n : (!actions?.value || !events?.value)\n }\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasNamingModal: boolean;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n navigateMappingPage: (value?: boolean) => void;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number | undefined;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n navigateMappingPage,\n accounts,\n events,\n actions,\n havingTypeDropdown,\n onSaveMappingLoader,\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId,\n draftHandler,\n configuration,\n}: MappingHeaderProps) => {\n const isDisabled = !actions?.value || !events?.value;\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n\n const isAllEssentialMapped = (fields: Array<FieldType>) => {\n let status = true;\n fields?.map((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n return status;\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={async () => {\n await draftHandler(\"MAPPING\", editFieldId?.toString());\n setIsDraftModalOpen(false);\n await previousMappingHandler();\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateMappingPage()}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!isAllEssentialMapped(fields)}\n onClick={() => {\n if (hasNamingModal) {\n setIsNamingModalOpen(true);\n } else {\n onSaveHandler(editFieldId);\n }\n }}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Mapping\" : \"Save Mapping\"}\n </Button>\n {hasNamingModal && (\n <NamingModal\n editFieldId={editFieldId}\n mappingLoader={onSaveMappingLoader}\n saveHandler={() => onSaveHandler(editFieldId)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n </Flex>\n );\n};\n\nconst ConfigurationSetup = ({\n configuration,\n surveyName,\n editField,\n}: {\n configuration: any;\n surveyName: string;\n editField: any;\n}) => {\n return (\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Tooltip\n content={surveyName?.length > 25 ? surveyName : \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n truncate\n css={{ color: \"$neutral800\", maxWidth: \"270px\" }}\n >\n {surveyName}\n </Text>\n </Box>\n </Tooltip>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$8\"\n css={{\n marginTop: \"$12\",\n \"& label\": {\n color: \"$neutral800\",\n },\n }}\n >\n {configuration.configurationFields?.map((field: any) => {\n return (\n <Configuration\n field={field}\n configuredFields={configuration.configuredFields}\n />\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField }: any) => {\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value\n ? parseDate(dayjs(value).format(\"YYYY-MM-DD\"))\n : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n const [days, setDays] = useState(value?.value?.value ?? 0);\n const [open, setOpen] = useState(false);\n const [hasBeenOpened, setHasBeenOpened] = useState(false);\n useEffect(() => {\n if (!editField?.id && !hasBeenOpened) {\n setOpen(true);\n setHasBeenOpened(true);\n }\n }, [editField?.id, hasBeenOpened]);\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen} modal={false}>\n <DropdownMenuTrigger asChild>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder=\"Choose\"\n value={\n value?.type === \"date\"\n ? `${value?.label} > ${value?.value}`\n : value?.type === \"dateRange\"\n ? `${value?.label} - ${value?.value?.type === \"custom\" ? `${value?.value?.value} days` : value?.value?.label}`\n : value?.label\n }\n css={{\n \"& input\": {\n textAlign: \"left !important\",\n },\n }}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n css={{\n width: \"488px\",\n marginBlockStart: \"$2\",\n p: {\n margin: \"0px !important\",\n },\n zIndex: \"99 !important\",\n }}\n className=\"dm-sans\"\n >\n {data.map((option: any) => {\n if (!option.type) {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <DropdownMenuItem\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n onClick={() =>\n onChangeHandler({\n id: \"responseImportType\",\n value: option,\n })\n }\n >\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex justifyContent=\"center\" flexDirection=\"column\">\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}\n >\n <Box>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n >\n {\" \"}\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex\n css={{ cursor: \"pointer\" }}\n justifyContent=\"center\"\n flexDirection=\"column\"\n >\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent\n sideOffset={10}\n alignOffset={-5}\n css={{\n padding: \"0px !important\",\n maxHeight: \"500px\",\n minWidth: \"224px\",\n maxWidth: \"260px\",\n margin: \"0px !important\",\n ...(option.type === \"date\" && {\n border: \"none !important\",\n }),\n p: {\n margin: \"0px !important\",\n },\n marginBlockEnd: \"$10 !important\",\n }}\n className=\"dm-sans\"\n >\n {option.type === \"date\" && (\n <Calendar\n footerActionText=\"Apply\"\n size=\"md\"\n value={date}\n onChange={setDate}\n {...(option?.minValue && {\n minValue: parseDate(option?.minValue),\n })}\n {...(option?.maxValue && {\n maxValue: parseDate(option?.maxValue),\n })}\n footerAction={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: dayjs(date.toString()).format(\n \"MMM D, YYYY\"\n ),\n },\n });\n setOpen(false);\n }}\n />\n )}\n {option.type === \"dateRange\" && (\n <Flex\n css={{\n paddingInline: \"$4 !important\",\n paddingBlock: \"$8 !important\",\n }}\n flexDirection=\"column\"\n gap=\"$4\"\n >\n <RadioGroup\n defaultValue={value?.value}\n onChange={(value) => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value,\n value: value,\n label: dynamicDateOptions.find(\n (option) => option.value === value\n )?.label,\n },\n },\n });\n }}\n >\n {dynamicDateOptions.map((option) => (\n <Box\n css={{\n padding: \"$4 !important\",\n }}\n >\n <Radio value={option.value}>\n {\" \"}\n {option.label}{\" \"}\n </Radio>\n </Box>\n ))}\n </RadioGroup>\n {value?.value?.type === \"custom\" && (\n <Box\n css={{\n paddingRight: \"$4 !important\",\n position: \"relative\",\n }}\n >\n <Input\n size=\"md\"\n variant=\"filled\"\n value={days}\n onChange={(e) =>\n setDays((e.target as HTMLInputElement).value)\n }\n />\n <Text\n css={{\n position: \"absolute\",\n right: \"$8\",\n top: \"$3\",\n }}\n >\n Days\n </Text>\n </Box>\n )}\n\n <Flex\n justifyContent=\"space-between\"\n css={{\n borderBlockStart:\n \"$borderWidths$xs, solid, $neutral200 !important\",\n padding: \"$8\",\n }}\n >\n <Button size=\"sm\" variant=\"ghost\" color=\"secondary\">\n Cancel\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value?.value?.type,\n value: days,\n label: value?.value?.label,\n },\n },\n });\n setOpen(false);\n }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n )}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </Box>\n </Tooltip>\n );\n }\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: any) => {\n let fieldValue = null;\n // if (field.id === \"responseImportType\") {\n // fieldValue = configuredFields?.map((item: any) => item.id === field.id)?.value ?? null;\n // } else {\n fieldValue = configuredFields?.[field.id]?.value ?? null;\n // }\n const [error, setError] = useState({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n switch (field.fieldType) {\n case \"switch\":\n return (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: \"$12\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n paddingTop: \"$16\",\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"md\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n case \"checkbox\":\n return (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral500\" }}>\n {field.value\n ? field.ifChecked()\n : field.ifUnchecked(responseImportType)}\n </Text>\n </Flex>\n );\n\n case \"input\":\n return (\n <>\n {field?.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={\n typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"\n }\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n ) : null}\n </>\n ) : (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n )}\n </>\n );\n default:\n return (\n <>\n {field.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n ) : null}\n </>\n ) : (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n )}\n </>\n );\n }\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder=\"\"\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n }}\n value={field.value}\n onChange={(value) => {\n field.onChangeHandler({\n id: field?.id ?? field?.label,\n value: value,\n });\n }}\n options={field.options}\n />\n );\n};\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <Tooltip\n content={props.data.tooltip || \"\"}\n css={{\n zIndex: 999999999,\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <components.Option {...props}>\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n >\n <Flex\n gap=\"$2\"\n alignItems=\"center\"\n css={{\n color: \"$primary500\",\n fontSize: \"$sm\",\n fontWeight: \"$7\",\n }}\n >\n <PlusIcon size={16} color=\"#4A9CA6\" />\n Add Account\n </Flex>\n </Flex>\n </components.Option>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <components.Option {...props}>\n <Flex\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"$2\"\n >\n <Text size=\"sm\">{props.label}</Text>{\" \"}\n {props.data.isAddonAccount && (\n <Chip\n color=\"primary\"\n size=\"sm\"\n leftElement={<TickCircleFillIcon />}\n >\n In Use (Add-on)\n </Chip>\n )}\n </Flex>\n </components.Option>\n );\n }\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <PlusIcon size={16} />\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n } else {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n }\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","fields","DraftModal","IconButton","ArrowLeftIcon","Arrow","NamingModal","Tooltip","Switch","Checkbox","FormInput","components","PlusIcon","Chip","TickCircleFillIcon"],"mappings":"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"}
@@ -1,123 +1,85 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../constants/index.js');
4
-
5
- var __defProp = Object.defineProperty;
6
- var __defProps = Object.defineProperties;
7
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- const createApiHeaders = (token) => ({
25
- [index.API_CONSTANTS.AUTHORIZATION_HEADER]: `${index.API_CONSTANTS.BEARER_PREFIX} ${token}`
3
+ const apiHeader = (token) => ({
4
+ headers: {
5
+ Authorization: `Bearer ${token}`
6
+ }
26
7
  });
27
- const fetchWithAuth = async (url, token) => {
8
+ const fetchSurveyQuestions = async (surveySparrowURL, surveyId, token) => {
9
+ var _a, _b;
10
+ let hasNextPage = false, questions = [], pageNo = 1;
28
11
  try {
29
- const response = await fetch(url, {
30
- headers: createApiHeaders(token)
31
- });
32
- if (!response.ok) {
33
- throw new Error(`${index.HTTP_MESSAGES.HTTP_ERROR_PREFIX} ${response.status}`);
34
- }
35
- const data = await response.json();
36
- return data;
12
+ do {
13
+ const data = (await fetch(
14
+ `${surveySparrowURL}/v3/questions?survey_id=${surveyId}&page=${pageNo}`,
15
+ apiHeader(token)
16
+ )).json();
17
+ const response = await data;
18
+ hasNextPage = (_a = response == null ? void 0 : response.has_next_page) != null ? _a : false;
19
+ pageNo = pageNo + 1;
20
+ questions = [...questions, ...(_b = response == null ? void 0 : response.data) != null ? _b : []];
21
+ } while (hasNextPage);
22
+ return questions;
37
23
  } catch (error) {
38
- console.error(`${index.HTTP_MESSAGES.ERROR_FETCHING_PREFIX} ${url}:`, error);
39
- return null;
24
+ console.error(error);
40
25
  }
26
+ return questions;
41
27
  };
42
- const fetchPaginated = async (baseUrl, params, token) => {
43
- var _a;
44
- let hasNextPage = false;
45
- let results = [];
46
- let pageNo = 1;
28
+ const fetchSurveyVariables = async (surveySparrowURL, surveyId, token) => {
29
+ var _a, _b;
30
+ let hasNextPage = false, variables = [], pageNo = 1;
47
31
  try {
48
32
  do {
49
- const queryParams = new URLSearchParams(__spreadProps(__spreadValues({}, Object.fromEntries(
50
- Object.entries(params).map(([key, value]) => [key, String(value)])
51
- )), {
52
- [index.QUERY_PARAMS.PAGE]: String(pageNo)
53
- }));
54
- const url = `${baseUrl}?${queryParams.toString()}`;
55
- const response = await fetchWithAuth(url, token);
56
- if (!response) {
57
- break;
58
- }
59
- hasNextPage = (_a = response.has_next_page) != null ? _a : false;
60
- pageNo += 1;
61
- results = [...results, ...response.data];
33
+ const data = (await fetch(
34
+ `${surveySparrowURL}/v3/variables?survey_id=${surveyId}&page=${pageNo}`,
35
+ apiHeader(token)
36
+ )).json();
37
+ const response = await data;
38
+ hasNextPage = (_a = response == null ? void 0 : response.has_next_page) != null ? _a : false;
39
+ pageNo = pageNo + 1;
40
+ variables = [...variables, ...(_b = response == null ? void 0 : response.data) != null ? _b : []];
62
41
  } while (hasNextPage);
63
- return results;
42
+ return variables;
64
43
  } catch (error) {
65
- console.error(`${index.HTTP_MESSAGES.ERROR_PAGINATED_PREFIX} ${baseUrl}:`, error);
66
- return results;
44
+ console.error(error);
67
45
  }
68
- };
69
- const fetchSurveyQuestions = async (surveySparrowURL, surveyId, token) => {
70
- const baseUrl = `${surveySparrowURL}${index.API_CONSTANTS.QUESTIONS_ENDPOINT}`;
71
- const params = { [index.QUERY_PARAMS.SURVEY_ID]: surveyId };
72
- return fetchPaginated(baseUrl, params, token);
73
- };
74
- const fetchSurveyVariables = async (surveySparrowURL, surveyId, token) => {
75
- const baseUrl = `${surveySparrowURL}${index.API_CONSTANTS.VARIABLES_ENDPOINT}`;
76
- const params = { [index.QUERY_PARAMS.SURVEY_ID]: surveyId };
77
- return fetchPaginated(baseUrl, params, token);
46
+ return variables;
78
47
  };
79
48
  const fetchContactProperties = async (surveySparrowURL, token) => {
80
- var _a;
81
- const url = `${surveySparrowURL}${index.API_CONSTANTS.CONTACT_PROPERTIES_ENDPOINT}`;
49
+ let contactProperties = [];
82
50
  try {
83
- const response = await fetchWithAuth(url, token);
84
- return (_a = response == null ? void 0 : response.data) != null ? _a : [];
51
+ const data = (await fetch(
52
+ `${surveySparrowURL}/v3/contact_properties`,
53
+ apiHeader(token)
54
+ )).json();
55
+ const contactProperties2 = await data;
56
+ return contactProperties2 == null ? void 0 : contactProperties2.data;
85
57
  } catch (error) {
86
- console.error(index.HTTP_MESSAGES.ERROR_CONTACT_PROPERTIES, error);
87
- return [];
58
+ console.error(error);
88
59
  }
60
+ return contactProperties;
89
61
  };
90
62
  const fetchSurveyExpression = async (surveySparrowURL, surveyId, token) => {
91
- const baseUrl = `${surveySparrowURL}${index.API_CONSTANTS.EXPRESSIONS_ENDPOINT}`;
92
- const params = { [index.QUERY_PARAMS.SURVEY_ID]: surveyId };
93
- return fetchPaginated(baseUrl, params, token);
94
- };
95
- const fetchAllMappingData = async (surveySparrowURL, surveyId, token) => {
63
+ var _a, _b;
64
+ let hasNextPage = false, expressions = [], pageNo = 1;
96
65
  try {
97
- const [questions, variables, contactProperties, expressions] = await Promise.all([
98
- fetchSurveyQuestions(surveySparrowURL, surveyId, token),
99
- fetchSurveyVariables(surveySparrowURL, surveyId, token),
100
- fetchContactProperties(surveySparrowURL, token),
101
- fetchSurveyExpression(surveySparrowURL, surveyId, token)
102
- ]);
103
- return {
104
- questions,
105
- variables,
106
- contactProperties,
107
- expressions
108
- };
66
+ do {
67
+ const data = (await fetch(
68
+ `${surveySparrowURL}/v3/expressions?survey_id=${surveyId}&page=${pageNo}`,
69
+ apiHeader(token)
70
+ )).json();
71
+ const response = await data;
72
+ hasNextPage = (_a = response == null ? void 0 : response.has_next_page) != null ? _a : false;
73
+ pageNo = pageNo + 1;
74
+ expressions = [...expressions, ...(_b = response == null ? void 0 : response.data) != null ? _b : []];
75
+ } while (hasNextPage);
76
+ return expressions;
109
77
  } catch (error) {
110
- console.error(index.HTTP_MESSAGES.ERROR_ALL_MAPPING_DATA, error);
111
- return {
112
- questions: [],
113
- variables: [],
114
- contactProperties: [],
115
- expressions: []
116
- };
78
+ console.error(error);
117
79
  }
80
+ return expressions;
118
81
  };
119
82
 
120
- exports.fetchAllMappingData = fetchAllMappingData;
121
83
  exports.fetchContactProperties = fetchContactProperties;
122
84
  exports.fetchSurveyExpression = fetchSurveyExpression;
123
85
  exports.fetchSurveyQuestions = fetchSurveyQuestions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/mapping/services/index.ts"],"sourcesContent":["import { ResponseType, SelectOption } from \"../types\";\nimport { API_CONSTANTS, QUERY_PARAMS, HTTP_MESSAGES } from \"../constants\";\n\n/**\n * Creates API headers with authorization token\n * @param token - Authorization token\n * @returns Headers object\n */\nconst createApiHeaders = (token: string): HeadersInit => ({\n [API_CONSTANTS.AUTHORIZATION_HEADER]: `${API_CONSTANTS.BEARER_PREFIX} ${token}`,\n});\n\n/**\n * Generic fetch function with error handling\n * @param url - API endpoint URL\n * @param token - Authorization token\n * @returns Promise with response data\n */\nconst fetchWithAuth = async <T>(\n url: string,\n token: string\n): Promise<T | null> => {\n try {\n const response = await fetch(url, {\n headers: createApiHeaders(token),\n });\n\n if (!response.ok) {\n throw new Error(`${HTTP_MESSAGES.HTTP_ERROR_PREFIX} ${response.status}`);\n }\n\n const data = await response.json();\n return data as T;\n } catch (error) {\n console.error(`${HTTP_MESSAGES.ERROR_FETCHING_PREFIX} ${url}:`, error);\n return null;\n }\n};\n\n/**\n * Generic paginated fetch function\n * @param baseUrl - Base API URL\n * @param params - URL parameters\n * @param token - Authorization token\n * @returns Promise with array of results\n */\nconst fetchPaginated = async <T>(\n baseUrl: string,\n params: Record<string, string | number>,\n token: string\n): Promise<Array<T>> => {\n let hasNextPage = false;\n let results: Array<T> = [];\n let pageNo = 1;\n\n try {\n do {\n const queryParams = new URLSearchParams({\n ...Object.fromEntries(\n Object.entries(params).map(([key, value]) => [key, String(value)])\n ),\n [QUERY_PARAMS.PAGE]: String(pageNo),\n });\n\n const url = `${baseUrl}?${queryParams.toString()}`;\n const response = await fetchWithAuth<ResponseType>(url, token);\n\n if (!response) {\n break;\n }\n\n hasNextPage = response.has_next_page ?? false;\n pageNo += 1;\n results = [...results, ...(response.data as Array<T>)];\n } while (hasNextPage);\n\n return results;\n } catch (error) {\n console.error(`${HTTP_MESSAGES.ERROR_PAGINATED_PREFIX} ${baseUrl}:`, error);\n return results;\n }\n};\n\n/**\n * Fetches survey questions with pagination\n * @param surveySparrowURL - Base API URL\n * @param surveyId - Survey identifier\n * @param token - Authorization token\n * @returns Promise with array of questions\n */\nexport const fetchSurveyQuestions = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n): Promise<Array<SelectOption>> => {\n const baseUrl = `${surveySparrowURL}${API_CONSTANTS.QUESTIONS_ENDPOINT}`;\n const params = { [QUERY_PARAMS.SURVEY_ID]: surveyId };\n return fetchPaginated<SelectOption>(baseUrl, params, token);\n};\n\n/**\n * Fetches survey variables with pagination\n * @param surveySparrowURL - Base API URL\n * @param surveyId - Survey identifier\n * @param token - Authorization token\n * @returns Promise with array of variables\n */\nexport const fetchSurveyVariables = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n): Promise<Array<SelectOption>> => {\n const baseUrl = `${surveySparrowURL}${API_CONSTANTS.VARIABLES_ENDPOINT}`;\n const params = { [QUERY_PARAMS.SURVEY_ID]: surveyId };\n return fetchPaginated<SelectOption>(baseUrl, params, token);\n};\n\n/**\n * Fetches contact properties (non-paginated)\n * @param surveySparrowURL - Base API URL\n * @param token - Authorization token\n * @returns Promise with array of contact properties\n */\nexport const fetchContactProperties = async (\n surveySparrowURL: string,\n token: string\n): Promise<Array<SelectOption>> => {\n const url = `${surveySparrowURL}${API_CONSTANTS.CONTACT_PROPERTIES_ENDPOINT}`;\n \n try {\n const response = await fetchWithAuth<{ data: Array<SelectOption> }>(url, token);\n return response?.data ?? [];\n } catch (error) {\n console.error(HTTP_MESSAGES.ERROR_CONTACT_PROPERTIES, error);\n return [];\n }\n};\n\n/**\n * Fetches survey expressions with pagination\n * @param surveySparrowURL - Base API URL\n * @param surveyId - Survey identifier\n * @param token - Authorization token\n * @returns Promise with array of expressions\n */\nexport const fetchSurveyExpression = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n): Promise<Array<SelectOption>> => {\n const baseUrl = `${surveySparrowURL}${API_CONSTANTS.EXPRESSIONS_ENDPOINT}`;\n const params = { [QUERY_PARAMS.SURVEY_ID]: surveyId };\n return fetchPaginated<SelectOption>(baseUrl, params, token);\n};\n\n/**\n * Fetches all mapping data in parallel\n * @param surveySparrowURL - Base API URL\n * @param surveyId - Survey identifier\n * @param token - Authorization token\n * @returns Promise with object containing all mapping data\n */\nexport const fetchAllMappingData = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n): Promise<{\n questions: Array<SelectOption>;\n variables: Array<SelectOption>;\n contactProperties: Array<SelectOption>;\n expressions: Array<SelectOption>;\n}> => {\n try {\n const [questions, variables, contactProperties, expressions] = await Promise.all([\n fetchSurveyQuestions(surveySparrowURL, surveyId, token),\n fetchSurveyVariables(surveySparrowURL, surveyId, token),\n fetchContactProperties(surveySparrowURL, token),\n fetchSurveyExpression(surveySparrowURL, surveyId, token),\n ]);\n\n return {\n questions,\n variables,\n contactProperties,\n expressions,\n };\n } catch (error) {\n console.error(HTTP_MESSAGES.ERROR_ALL_MAPPING_DATA, error);\n return {\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n };\n }\n};\n"],"names":["API_CONSTANTS","HTTP_MESSAGES","QUERY_PARAMS"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/mapping/services/index.ts"],"sourcesContent":["\nconst apiHeader = (token: string) => ({\n headers: {\n Authorization: `Bearer ${token}`\n }\n});\n\nexport const fetchSurveyQuestions = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n) => {\n let hasNextPage = false,\n questions: Array<{}> = [],\n pageNo = 1;\n try {\n do {\n const data = (\n await fetch(\n `${surveySparrowURL}/v3/questions?survey_id=${surveyId}&page=${pageNo}`,\n apiHeader(token)\n )\n ).json();\n const response = await data;\n hasNextPage = response?.has_next_page ?? false;\n pageNo = pageNo + 1;\n questions = [...questions, ...(response?.data ?? [])];\n } while (hasNextPage);\n return questions;\n } catch (error) {\n console.error(error);\n }\n return questions;\n};\n\nexport const fetchSurveyVariables = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n) => {\n let hasNextPage = false,\n variables: Array<{}> = [],\n pageNo = 1;\n try {\n do {\n const data = (\n await fetch(\n `${surveySparrowURL}/v3/variables?survey_id=${surveyId}&page=${pageNo}`,\n apiHeader(token)\n )\n ).json();\n const response = await data;\n hasNextPage = response?.has_next_page ?? false;\n pageNo = pageNo + 1;\n variables = [...variables, ...(response?.data ?? [])];\n } while (hasNextPage);\n return variables;\n } catch (error) {\n console.error(error);\n }\n return variables;\n};\n\nexport const fetchContactProperties = async (\n surveySparrowURL: string,\n token: string\n) => {\n let contactProperties: Record<string, unknown>[] = [];\n try {\n const data = (\n await fetch(\n `${surveySparrowURL}/v3/contact_properties`,\n apiHeader(token)\n )\n ).json();\n const contactProperties = await data;\n return contactProperties?.data;\n } catch (error) {\n console.error(error);\n }\n return contactProperties;\n};\n\nexport const fetchSurveyExpression = async (\n surveySparrowURL: string,\n surveyId: number | string,\n token: string\n) => {\n let hasNextPage = false,\n expressions: Array<{}> = [],\n pageNo = 1;\n try {\n do {\n const data = (\n await fetch(\n `${surveySparrowURL}/v3/expressions?survey_id=${surveyId}&page=${pageNo}`,\n apiHeader(token)\n )\n ).json();\n const response = await data;\n hasNextPage = response?.has_next_page ?? false;\n pageNo = pageNo + 1;\n expressions = [...expressions, ...(response?.data ?? [])];\n } while (hasNextPage);\n return expressions;\n } catch (error) {\n console.error(error);\n }\n return expressions;\n};\n"],"names":["contactProperties"],"mappings":"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"}
@@ -5,13 +5,13 @@ var index$7 = require('../../primitive/dist/index.js');
5
5
  var index = require('../../react-collection/dist/index.js');
6
6
  var index$5 = require('../../react-compose-refs/dist/index.js');
7
7
  var index$1 = require('../../react-context/dist/index.js');
8
- var index$e = require('../../react-direction/dist/index.js');
8
+ var index$f = require('../../react-direction/dist/index.js');
9
9
  var index$a = require('../../react-dismissable-layer/dist/index.js');
10
10
  var index$8 = require('../../react-focus-guards/dist/index.js');
11
11
  var index$9 = require('../../react-focus-scope/dist/index.js');
12
- var index$g = require('../../react-id/dist/index.js');
12
+ var index$e = require('../../react-id/dist/index.js');
13
13
  var index$2 = require('../../react-popper/dist/index.js');
14
- var index$f = require('../../react-portal/dist/index.js');
14
+ var index$g = require('../../react-portal/dist/index.js');
15
15
  var index$4 = require('../../react-presence/dist/index.js');
16
16
  var index$b = require('../../react-primitive/dist/index.js');
17
17
  var index$3 = require('../../react-roving-focus/dist/index.js');
@@ -69,7 +69,7 @@ var Menu = (props) => {
69
69
  const [content, setContent] = React__namespace.useState(null);
70
70
  const isUsingKeyboardRef = React__namespace.useRef(false);
71
71
  const handleOpenChange = index$c.useCallbackRef(onOpenChange);
72
- const direction = index$e.useDirection(dir);
72
+ const direction = index$f.useDirection(dir);
73
73
  React__namespace.useEffect(() => {
74
74
  const handleKeyDown = () => {
75
75
  isUsingKeyboardRef.current = true;
@@ -123,7 +123,7 @@ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
123
123
  var MenuPortal = (props) => {
124
124
  const { __scopeMenu, forceMount, children, container } = props;
125
125
  const context = useMenuContext(PORTAL_NAME, __scopeMenu);
126
- return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsxRuntime.jsx(index$4.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(index$f.Portal, { asChild: true, container, children }) }) });
126
+ return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsxRuntime.jsx(index$4.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(index$g.Portal, { asChild: true, container, children }) }) });
127
127
  };
128
128
  MenuPortal.displayName = PORTAL_NAME;
129
129
  var CONTENT_NAME = "MenuContent";
@@ -619,8 +619,8 @@ var MenuSub = (props) => {
619
619
  MenuSubProvider,
620
620
  {
621
621
  scope: __scopeMenu,
622
- contentId: index$g.useId(),
623
- triggerId: index$g.useId(),
622
+ contentId: index$e.useId(),
623
+ triggerId: index$e.useId(),
624
624
  trigger,
625
625
  onTriggerChange: setTrigger,
626
626
  children