@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
@@ -0,0 +1,331 @@
1
+ import React__default, { useEffect, useState } from 'react';
2
+ import Arrow from '../commons/icons/arrow.js';
3
+ import CustomPill from '../commons/components/custom-pill.js';
4
+ import Trigger from './components/trigger.js';
5
+ import DraftModal from '../commons/components/draftModal.js';
6
+ import { ThemeProvider } from '../node_modules/@sparrowengg/twigs-react/dist/es/theme-provider/theme-provider.js';
7
+ import { Box } from '../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
8
+ import { Flex } from '../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
9
+ import { Heading } from '../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
10
+ import { Text } from '../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
11
+ import { FormLabel } from '../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js';
12
+ import { Select } from '../node_modules/@sparrowengg/twigs-react/dist/es/select/select.js';
13
+ import { Button } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js';
14
+ import { ChevronRightIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-right.js';
15
+ import { IconButton } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
16
+ import { ArrowLeftIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/arrow-left.js';
17
+
18
+ const Triggers = ({
19
+ draftHandler,
20
+ onSaveTriggerLoader,
21
+ objects,
22
+ accounts,
23
+ actions,
24
+ isTriggerPage,
25
+ navigateTriggerPage,
26
+ previousMapping,
27
+ hasNestedCondition,
28
+ onSaveHandler,
29
+ previousMappingHandler,
30
+ surveyDetails,
31
+ fields,
32
+ token,
33
+ apiURL,
34
+ setFields,
35
+ shareRecipentOptions,
36
+ shareChannelOptions,
37
+ triggerDetails,
38
+ setTriggerDetails,
39
+ editField,
40
+ fieldOptions,
41
+ variableOptions,
42
+ configurationTitle
43
+ }) => {
44
+ var _a;
45
+ useEffect(() => {
46
+ if (!!(editField == null ? void 0 : editField.id)) {
47
+ setFields(editField.fieldValues.fields);
48
+ setTriggerDetails(editField.fieldValues.triggerDetails);
49
+ }
50
+ }, []);
51
+ return /* @__PURE__ */ React__default.createElement(
52
+ ThemeProvider,
53
+ {
54
+ theme: {
55
+ fonts: {
56
+ body: "DM Sans, Roboto Mono, sans-serif",
57
+ heading: "DM Sans, Roboto Mono, sans-serif"
58
+ }
59
+ }
60
+ },
61
+ /* @__PURE__ */ React__default.createElement(Box, { css: { height: "100vh", width: "100vw" } }, /* @__PURE__ */ React__default.createElement(
62
+ TriggerHeader,
63
+ {
64
+ draftHandler,
65
+ navigateTriggerPage,
66
+ objects,
67
+ accounts,
68
+ actions,
69
+ onSaveTriggerLoader,
70
+ hasPreviousMapping: previousMapping,
71
+ isTriggerPage,
72
+ onSaveHandler,
73
+ navigateConfigurePage: () => navigateTriggerPage(false),
74
+ previousMappingHandler,
75
+ triggerDetails,
76
+ fields,
77
+ editFieldId: (_a = editField == null ? void 0 : editField.id) == null ? void 0 : _a.toString(),
78
+ eventFields: (editField == null ? void 0 : editField.fieldValues) || null
79
+ }
80
+ ), !isTriggerPage ? /* @__PURE__ */ React__default.createElement(
81
+ EventSetup,
82
+ {
83
+ eventFields: (editField == null ? void 0 : editField.fieldValues) || null,
84
+ objects,
85
+ accounts,
86
+ actions,
87
+ surveyDetails,
88
+ navigateTriggerPage,
89
+ configurationTitle
90
+ }
91
+ ) : /* @__PURE__ */ React__default.createElement(
92
+ Trigger,
93
+ {
94
+ hasNestedCondition,
95
+ fields,
96
+ setFields,
97
+ token,
98
+ apiURL,
99
+ surveyDetails,
100
+ shareRecipentOptions,
101
+ shareChannelOptions,
102
+ triggerDetails,
103
+ setTriggerDetails,
104
+ fieldOptions,
105
+ variableOptions
106
+ }
107
+ ))
108
+ );
109
+ };
110
+ const EventSetup = ({
111
+ eventFields,
112
+ accounts,
113
+ objects,
114
+ actions,
115
+ surveyDetails,
116
+ navigateTriggerPage,
117
+ configurationTitle
118
+ }) => {
119
+ var _a, _b, _c, _d, _e, _f, _g, _h;
120
+ useEffect(() => {
121
+ var _a2, _b2, _c2, _d2;
122
+ const foundAction = (_a2 = actions == null ? void 0 : actions.options) == null ? void 0 : _a2.find(
123
+ (action) => (action == null ? void 0 : action.value) === (eventFields == null ? void 0 : eventFields.action)
124
+ );
125
+ if (foundAction) {
126
+ actions == null ? void 0 : actions.onChangeHandler((_b2 = actions == null ? void 0 : actions.value) != null ? _b2 : foundAction);
127
+ }
128
+ const foundObject = (_c2 = objects == null ? void 0 : objects.options) == null ? void 0 : _c2.find(
129
+ (object) => (object == null ? void 0 : object.value) === (eventFields == null ? void 0 : eventFields.object)
130
+ );
131
+ if (foundObject) {
132
+ objects == null ? void 0 : objects.onChangeHandler((_d2 = objects == null ? void 0 : objects.value) != null ? _d2 : foundObject);
133
+ }
134
+ }, [actions == null ? void 0 : actions.value, objects == null ? void 0 : objects.value, actions == null ? void 0 : actions.options, objects == null ? void 0 : objects.options, eventFields == null ? void 0 : eventFields.action, eventFields == null ? void 0 : eventFields.object]);
135
+ return /* @__PURE__ */ React__default.createElement(
136
+ Flex,
137
+ {
138
+ css: { paddingTop: "$40" },
139
+ alignItems: "center",
140
+ justifyContent: "center"
141
+ },
142
+ /* @__PURE__ */ React__default.createElement(Box, { css: { width: 488 } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, configurationTitle), /* @__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(Text, { size: "sm", weight: "medium", css: { color: "$neutral800" } }, surveyDetails == null ? void 0 : surveyDetails.surveyName)), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8", css: { marginTop: "$16" } }, (accounts == null ? void 0 : accounts.hasAccounts) && /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, accounts == null ? void 0 : accounts.label), /* @__PURE__ */ React__default.createElement(
143
+ Select,
144
+ {
145
+ value: (_b = (_a = accounts.options) == null ? void 0 : _a.find(
146
+ (account) => account.value === (eventFields == null ? void 0 : eventFields.account)
147
+ )) != null ? _b : accounts.value,
148
+ options: accounts.options,
149
+ isMulti: accounts == null ? void 0 : accounts.isMulti,
150
+ placeholder: "",
151
+ onChange: (value) => accounts.onChangeHandler(value),
152
+ size: "lg"
153
+ }
154
+ )), (objects == null ? void 0 : objects.hasObjects) && /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, objects == null ? void 0 : objects.label), /* @__PURE__ */ React__default.createElement(
155
+ Select,
156
+ {
157
+ options: objects.options,
158
+ value: (_d = objects.value) != null ? _d : (_c = objects.options) == null ? void 0 : _c.find(
159
+ (object) => object.value === (eventFields == null ? void 0 : eventFields.object)
160
+ ),
161
+ isMulti: objects == null ? void 0 : objects.isMulti,
162
+ placeholder: "",
163
+ onChange: (value) => objects.onChangeHandler(value),
164
+ size: "lg"
165
+ }
166
+ )), (actions == null ? void 0 : actions.hasActions) && /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, actions == null ? void 0 : actions.label), /* @__PURE__ */ React__default.createElement(
167
+ Select,
168
+ {
169
+ size: "lg",
170
+ options: actions.options,
171
+ value: (_f = actions.value) != null ? _f : (_e = actions.options) == null ? void 0 : _e.find(
172
+ (action) => action.value === (eventFields == null ? void 0 : eventFields.action)
173
+ ),
174
+ isMulti: actions == null ? void 0 : actions.isMulti,
175
+ placeholder: "",
176
+ css: {
177
+ ".twigs-select__value-container--is-multi": {
178
+ gap: "$2"
179
+ }
180
+ },
181
+ components: {
182
+ MultiValue: CustomMultiValue
183
+ },
184
+ onChange: (value) => actions.onChangeHandler(value)
185
+ }
186
+ ))), /* @__PURE__ */ React__default.createElement(
187
+ Button,
188
+ {
189
+ size: "lg",
190
+ rightIcon: /* @__PURE__ */ React__default.createElement(ChevronRightIcon, null),
191
+ css: { marginTop: "$16" },
192
+ disabled: (!actions.value || !objects.value) && (!((_g = objects.options) == null ? void 0 : _g.find((object) => object.value === (eventFields == null ? void 0 : eventFields.object))) || !((_h = actions.options) == null ? void 0 : _h.find((action) => action.value === (eventFields == null ? void 0 : eventFields.action)))),
193
+ onClick: () => navigateTriggerPage(true)
194
+ },
195
+ "Continue"
196
+ ))
197
+ );
198
+ };
199
+ const CustomMultiValue = (props) => {
200
+ return /* @__PURE__ */ React__default.createElement(
201
+ CustomPill,
202
+ {
203
+ label: props.data.label,
204
+ onCloseHandler: () => props.removeProps.onClick(),
205
+ variant: "default",
206
+ radius: "md"
207
+ }
208
+ );
209
+ };
210
+ const isEmpty = (object) => {
211
+ var _a;
212
+ return ((_a = Object.entries(object != null ? object : {})) == null ? void 0 : _a.length) === 0;
213
+ };
214
+ const TriggerHeader = ({
215
+ draftHandler,
216
+ navigateTriggerPage,
217
+ objects,
218
+ accounts,
219
+ actions,
220
+ onSaveTriggerLoader,
221
+ hasPreviousMapping,
222
+ isTriggerPage,
223
+ onSaveHandler,
224
+ navigateConfigurePage,
225
+ previousMappingHandler,
226
+ fields,
227
+ editFieldId,
228
+ eventFields,
229
+ triggerDetails
230
+ }) => {
231
+ var _a, _b, _c;
232
+ const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);
233
+ const isDisabled = (!actions.value || !objects.value) && (!((_a = objects.options) == null ? void 0 : _a.find(
234
+ (object) => object.value === (eventFields == null ? void 0 : eventFields.object)
235
+ )) || !((_b = actions.options) == null ? void 0 : _b.find(
236
+ (action) => action.value === (eventFields == null ? void 0 : eventFields.action)
237
+ )));
238
+ return /* @__PURE__ */ React__default.createElement(
239
+ Flex,
240
+ {
241
+ alignItems: "center",
242
+ justifyContent: "space-between",
243
+ css: {
244
+ position: "sticky",
245
+ width: "100%",
246
+ top: "1px",
247
+ zIndex: "99",
248
+ background: "#ffff",
249
+ borderBottom: "$borderWidths$xs solid $neutral200",
250
+ padding: "$8 $12"
251
+ }
252
+ },
253
+ isDraftModalOpen && /* @__PURE__ */ React__default.createElement(
254
+ DraftModal,
255
+ {
256
+ onSaveHandler: async () => {
257
+ await draftHandler("TRIGGER", editFieldId);
258
+ await previousMappingHandler();
259
+ setIsDraftModalOpen(false);
260
+ },
261
+ onCloseHandler: () => setIsDraftModalOpen(false),
262
+ onCancel: async () => {
263
+ await previousMappingHandler();
264
+ setIsDraftModalOpen(false);
265
+ }
266
+ }
267
+ ),
268
+ /* @__PURE__ */ React__default.createElement(Flex, { gap: "$6", alignItems: "center" }, /* @__PURE__ */ React__default.createElement(
269
+ IconButton,
270
+ {
271
+ onClick: () => setIsDraftModalOpen(true),
272
+ color: "default",
273
+ icon: /* @__PURE__ */ React__default.createElement(ArrowLeftIcon, null),
274
+ size: "lg"
275
+ }
276
+ ), /* @__PURE__ */ React__default.createElement(Heading, { size: "h6" }, editFieldId ? "Edit Trigger" : "New Trigger")),
277
+ /* @__PURE__ */ React__default.createElement(
278
+ Flex,
279
+ {
280
+ alignItems: "center",
281
+ gap: "$4",
282
+ css: {
283
+ "& button": { background: "transparent !important", fontSize: "$md" }
284
+ }
285
+ },
286
+ /* @__PURE__ */ React__default.createElement(
287
+ Button,
288
+ {
289
+ css: { color: !isTriggerPage ? "$neutral900" : "$neutral800" },
290
+ color: "default",
291
+ variant: "ghost",
292
+ size: "md",
293
+ onClick: () => isTriggerPage && navigateConfigurePage()
294
+ },
295
+ "Event Setup"
296
+ ),
297
+ /* @__PURE__ */ React__default.createElement(Arrow, null),
298
+ /* @__PURE__ */ React__default.createElement(
299
+ Button,
300
+ {
301
+ onClick: () => navigateTriggerPage(true),
302
+ css: { color: !isDisabled ? "$neutral900" : "$neutral800" },
303
+ color: "default",
304
+ variant: "ghost",
305
+ size: "md",
306
+ disabled: isDisabled
307
+ },
308
+ "Trigger Conditions"
309
+ )
310
+ ),
311
+ /* @__PURE__ */ React__default.createElement(
312
+ Button,
313
+ {
314
+ loading: onSaveTriggerLoader,
315
+ size: "lg",
316
+ disabled: !((_c = fields == null ? void 0 : fields.filters) == null ? void 0 : _c.some(
317
+ (filterGroup) => {
318
+ var _a2;
319
+ return (_a2 = filterGroup == null ? void 0 : filterGroup.conditions) == null ? void 0 : _a2.some((condition) => !!(condition == null ? void 0 : condition.value));
320
+ }
321
+ )) || isEmpty(triggerDetails == null ? void 0 : triggerDetails.shareChannel) || isEmpty(triggerDetails == null ? void 0 : triggerDetails.shareRecipient) || isEmpty(triggerDetails == null ? void 0 : triggerDetails.shareType),
322
+ onClick: () => onSaveHandler(editFieldId),
323
+ css: { visibility: isTriggerPage ? "visible" : "hidden" }
324
+ },
325
+ editFieldId ? "Update Trigger" : "Save Trigger"
326
+ )
327
+ );
328
+ };
329
+
330
+ export { Triggers };
331
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/triggers/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n ThemeProvider,\n Text,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport CustomPill from \"../commons/components/custom-pill\";\nimport Trigger from \"./components/trigger\";\nimport DraftModal from \"../commons/components/draftModal\";\n\nimport { \n SelectOption, \n TriggerField, \n TriggerDetails, \n SurveyDetails, \n FilterGroup, \n FilterCondition \n} from '../commons/types/enhanced';\n\n// Legacy types for backward compatibility\nexport type TriggerFieldLegacy = {\n id: string;\n filters: Array<{\n filter: Array<{\n value: string | number | null;\n }>;\n }>;\n};\n\nexport type TriggerDetailsLegacy = {\n shareChannel: Record<string, unknown>;\n shareRecipient: Record<string, unknown>;\n shareType: Record<string, unknown>;\n};\n\nexport type EditField = {\n id: string | number;\n fieldValues: {\n fields: TriggerField;\n triggerDetails: TriggerDetails;\n account?: string | number;\n object?: string | number;\n action?: string | number;\n };\n};\n\n\n\ntype TriggersProps = {\n draftHandler: (type: string | null, editFieldId?: string) => void;\n onSaveTriggerLoader: boolean;\n objects: {\n label: string;\n hasObjects: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n accounts: {\n label: string;\n hasAccounts: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n actions: {\n label: string;\n hasActions: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n isTriggerPage: boolean;\n navigateTriggerPage: (isTriggerPage: boolean) => void;\n previousMapping: boolean;\n onSaveHandler: (editFieldId?: string) => void;\n previousMappingHandler: () => void;\n surveyDetails: SurveyDetails;\n hasNestedCondition: boolean;\n fields: TriggerField;\n token: string;\n apiURL: string;\n setFields: (fields: TriggerField | unknown) => void;\n shareRecipentOptions: Array<SelectOption> | unknown | Array<unknown>;\n shareChannelOptions: Array<SelectOption> | unknown | Array<unknown>;\n triggerDetails: TriggerDetails | unknown | Array<unknown>;\n setTriggerDetails: (details: TriggerDetails | unknown | Array<unknown>) => void;\n editField: EditField | null;\n fieldOptions: Array<SelectOption> | unknown | Array<unknown>;\n variableOptions: Array<SelectOption> | unknown | Array<unknown>;\n configurationTitle?: string;\n};\n\nexport const Triggers: React.FC<TriggersProps> = ({\n draftHandler,\n onSaveTriggerLoader,\n objects,\n accounts,\n actions,\n isTriggerPage,\n navigateTriggerPage,\n previousMapping,\n hasNestedCondition,\n onSaveHandler,\n previousMappingHandler,\n surveyDetails,\n fields,\n token,\n apiURL,\n setFields,\n shareRecipentOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n editField,\n fieldOptions,\n variableOptions,\n configurationTitle,\n}) => {\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues.fields);\n setTriggerDetails(editField.fieldValues.triggerDetails);\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 <TriggerHeader\n draftHandler={draftHandler}\n navigateTriggerPage={navigateTriggerPage}\n objects={objects}\n accounts={accounts}\n actions={actions}\n onSaveTriggerLoader={onSaveTriggerLoader}\n hasPreviousMapping={previousMapping}\n isTriggerPage={isTriggerPage}\n onSaveHandler={onSaveHandler}\n navigateConfigurePage={() => navigateTriggerPage(false)}\n previousMappingHandler={previousMappingHandler}\n triggerDetails={triggerDetails}\n fields={fields}\n editFieldId={editField?.id?.toString()}\n eventFields={editField?.fieldValues || null}\n />\n {!isTriggerPage ? (\n <EventSetup\n eventFields={editField?.fieldValues || null}\n objects={objects}\n accounts={accounts}\n actions={actions}\n surveyDetails={surveyDetails}\n navigateTriggerPage={navigateTriggerPage}\n configurationTitle={configurationTitle}\n />\n ) : (\n <Trigger\n hasNestedCondition={hasNestedCondition}\n fields={fields}\n setFields={setFields}\n token={token}\n apiURL={apiURL}\n surveyDetails={surveyDetails}\n shareRecipentOptions={shareRecipentOptions}\n shareChannelOptions={shareChannelOptions}\n triggerDetails={triggerDetails}\n setTriggerDetails={setTriggerDetails}\n fieldOptions={fieldOptions}\n variableOptions={variableOptions}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n eventFields: {\n account?: string | number;\n object?: string | number;\n action?: string | number;\n } | null;\n accounts: {\n label: string;\n hasAccounts: boolean;\n options: Array<SelectOption> | unknown | Array<unknown>;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n objects: {\n label: string;\n hasObjects: boolean;\n options: Array<SelectOption> | unknown | Array<unknown>;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n actions: {\n label: string;\n hasActions: boolean;\n options: Array<SelectOption> | unknown | Array<unknown>;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n surveyDetails: SurveyDetails | unknown;\n navigateTriggerPage: (isTriggerPage: boolean) => void;\n configurationTitle?: string;\n};\n\nconst EventSetup: React.FC<EventSetupProps> = ({\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n configurationTitle,\n}) => {\n useEffect(() => {\n const foundAction = (actions?.options as Array<SelectOption>)?.find(\n (action: SelectOption) => action?.value === eventFields?.action\n );\n if (foundAction) {\n actions?.onChangeHandler(actions?.value ?? foundAction);\n }\n \n const foundObject = (objects?.options as Array<SelectOption>)?.find(\n (object: SelectOption) => object?.value === eventFields?.object\n );\n if (foundObject) {\n objects?.onChangeHandler(objects?.value ?? foundObject);\n }\n }, [actions?.value, objects?.value, actions?.options, objects?.options, eventFields?.action, eventFields?.object]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{configurationTitle}</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 as 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 {accounts?.label}\n </FormLabel>\n <Select\n value={\n (accounts.options as Array<SelectOption>)?.find(\n (account: SelectOption) => account.value === eventFields?.account\n ) ?? accounts.value\n }\n options={accounts.options as Array<SelectOption>}\n isMulti={accounts?.isMulti}\n placeholder=\"\"\n onChange={(value: unknown) => accounts.onChangeHandler(value as SelectOption | SelectOption[] | null)}\n size=\"lg\"\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {objects?.label}\n </FormLabel>\n <Select\n options={objects.options as Array<SelectOption>}\n value={\n objects.value ??\n (objects.options as Array<SelectOption>)?.find(\n (object: SelectOption) => object.value === eventFields?.object\n )\n }\n isMulti={objects?.isMulti}\n placeholder=\"\"\n onChange={(value: unknown) => objects.onChangeHandler(value as SelectOption | SelectOption[] | null)}\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {actions?.label}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options as Array<SelectOption>}\n value={\n actions.value ??\n (actions.options as Array<SelectOption>)?.find(\n (action: SelectOption) => action.value === eventFields?.action\n )\n }\n isMulti={actions?.isMulti}\n placeholder=\"\"\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={(value: unknown) => actions.onChangeHandler(value as SelectOption | SelectOption[] | null)}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n disabled={ (!actions.value || !objects.value) &&( !(objects.options as Array<SelectOption>)?.find((object: SelectOption)=> object.value === eventFields?.object) || !(actions.options as Array<SelectOption>)?.find((action: SelectOption)=> action.value === eventFields?.action))}\n onClick={() => navigateTriggerPage(true)}\n >\n Continue\n </Button>\n </Box>\n </Flex>\n );\n};\n\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\nconst isEmpty = (object: Record<string, unknown> | null | undefined) => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\ntype TriggerHeaderProps = {\n draftHandler: (type: string | null, editFieldId?: string) => void;\n navigateTriggerPage: (isTriggerPage: boolean) => void;\n objects: {\n hasObjects: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n accounts: {\n hasAccounts: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n actions: {\n hasActions: boolean;\n options: Array<SelectOption> | unknown;\n value: SelectOption | null | unknown;\n onChangeHandler: (value: SelectOption | SelectOption[] | null | unknown) => void;\n isMulti?: boolean;\n };\n onSaveTriggerLoader: boolean;\n hasPreviousMapping: boolean;\n isTriggerPage: boolean;\n onSaveHandler: (editFieldId?: string) => void;\n navigateConfigurePage: () => void;\n previousMappingHandler: () => void;\n fields: TriggerField | unknown;\n editFieldId?: string;\n eventFields: {\n account?: string | number;\n object?: string | number;\n action?: string | number;\n } | null;\n triggerDetails: TriggerDetails | unknown;\n};\n\nconst TriggerHeader: React.FC<TriggerHeaderProps> = ({\n draftHandler,\n navigateTriggerPage,\n objects,\n accounts,\n actions,\n onSaveTriggerLoader,\n hasPreviousMapping,\n isTriggerPage,\n onSaveHandler,\n navigateConfigurePage,\n previousMappingHandler,\n fields,\n editFieldId,\n eventFields,\n triggerDetails,\n}) => {\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const isDisabled =\n (!actions.value || !objects.value) &&\n (!(objects.options as Array<SelectOption>)?.find(\n (object: SelectOption) => object.value === eventFields?.object\n ) ||\n !(actions.options as Array<SelectOption>)?.find(\n (action: SelectOption) => action.value === eventFields?.action\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(\"TRIGGER\", editFieldId);\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex gap=\"$6\" alignItems=\"center\">\n <IconButton\n onClick={() => setIsDraftModalOpen(true)}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Trigger\" : \"New Trigger\"}\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: !isTriggerPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isTriggerPage && navigateConfigurePage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateTriggerPage(true)}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Trigger Conditions\n </Button>\n </Flex>\n <Button\n loading={onSaveTriggerLoader}\n size=\"lg\"\n disabled={\n !(fields as TriggerField)?.filters?.some((filterGroup: FilterGroup) =>\n (filterGroup as FilterGroup)?.conditions?.some((condition: FilterCondition) => !!condition?.value)\n ) ||\n isEmpty((triggerDetails as TriggerDetails)?.shareChannel as unknown as Record<string, unknown>) ||\n isEmpty((triggerDetails as TriggerDetails)?.shareRecipient as unknown as Record<string, unknown>) ||\n isEmpty((triggerDetails as TriggerDetails)?.shareType as unknown as Record<string, unknown>)\n }\n onClick={() => onSaveHandler(editFieldId)}\n css={{ visibility: isTriggerPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Trigger\" : \"Save Trigger\"}\n\n </Button>\n </Flex>\n );\n};"],"names":["React","_a","_b","_c","_d"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ const apiHeader = (token) => ({
2
+ headers: {
3
+ Authorization: `Bearer ${token}`
4
+ }
5
+ });
6
+ const fetchSurveyChannels = async (token, apiURL, surveyId) => {
7
+ let channels = [];
8
+ try {
9
+ const data = (await fetch(
10
+ `${apiURL}/v3/channels?survey_id=${surveyId}`,
11
+ apiHeader(token)
12
+ )).json();
13
+ const response = await data;
14
+ channels = response.data.map((item, id) => ({
15
+ label: item.name,
16
+ value: item.id,
17
+ type: item.type,
18
+ id
19
+ }));
20
+ return channels;
21
+ } catch (error) {
22
+ console.error(error);
23
+ }
24
+ return channels;
25
+ };
26
+
27
+ export { fetchSurveyChannels };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/triggers/services/index.tsx"],"sourcesContent":["\nconst apiHeader = (token: string) => ({\n headers: {\n Authorization: `Bearer ${token}`\n }\n});\n\nexport const fetchSurveyChannels = async (\n token: string,\n apiURL: string,\n surveyId: number | string\n) => {\n let channels: Array<{}> = []\n try {\n const data = (\n await fetch(\n `${apiURL}/v3/channels?survey_id=${surveyId}`,\n apiHeader(token)\n )\n ).json();\n const response = await data;\n channels = response.data.map((item:any, id:any) => ({\n label: item.name,\n value: item.id,\n type: item.type,\n id\n }));\n return channels;\n } catch (error) {\n console.error(error);\n }\n return channels;\n};\n"],"names":[],"mappings":"AACA,MAAM,SAAA,GAAY,CAAC,KAAmB,MAAA;AAAA,EACpC,OAAS,EAAA;AAAA,IACP,aAAA,EAAe,UAAU,KAAK,CAAA,CAAA;AAAA,GAChC;AACF,CAAA,CAAA,CAAA;AAEO,MAAM,mBAAsB,GAAA,OACjC,KACA,EAAA,MAAA,EACA,QACG,KAAA;AACF,EAAA,IAAI,WAAsB,EAAC,CAAA;AAC5B,EAAI,IAAA;AACA,IAAA,MAAM,QACJ,MAAM,KAAA;AAAA,MACJ,CAAA,EAAG,MAAM,CAAA,uBAAA,EAA0B,QAAQ,CAAA,CAAA;AAAA,MAC3C,UAAU,KAAK,CAAA;AAAA,OAEjB,IAAK,EAAA,CAAA;AACP,IAAA,MAAM,WAAW,MAAM,IAAA,CAAA;AACvB,IAAA,QAAA,GAAW,QAAS,CAAA,IAAA,CAAK,GAAI,CAAA,CAAC,MAAU,EAAY,MAAA;AAAA,MAClD,OAAO,IAAK,CAAA,IAAA;AAAA,MACZ,OAAO,IAAK,CAAA,EAAA;AAAA,MACZ,MAAM,IAAK,CAAA,IAAA;AAAA,MACX,EAAA;AAAA,KACA,CAAA,CAAA,CAAA;AACJ,IAAO,OAAA,QAAA,CAAA;AAAA,WACA,KAAO,EAAA;AACd,IAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,GACrB;AACA,EAAO,OAAA,QAAA,CAAA;AACT;;;;"}