@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
@@ -0,0 +1,341 @@
1
+ import React__default, { useState, useEffect } from 'react';
2
+ import CursorIcon from '../commons/icons/cursor.js';
3
+ import MappingIcon from '../commons/icons/mapping.js';
4
+ import Dashboard from './components/dashboard.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 { TooltipProvider } from '../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js';
8
+ import { Flex } from '../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
9
+ import { Text } from '../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
10
+ import { Box } from '../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
11
+ import { Heading } from '../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
12
+
13
+ const IntegrationTemplate = ({
14
+ singleMapping,
15
+ surveyType,
16
+ draftHandler,
17
+ onMappingEditHandler,
18
+ fieldOptions,
19
+ triggerEnabled,
20
+ mappingEnabled,
21
+ mappingComponent,
22
+ singleMappingComponent,
23
+ mapping,
24
+ triggerComponent,
25
+ trigger,
26
+ integrationName,
27
+ onDeleteHandler,
28
+ syncMapping,
29
+ toggleDashboardField,
30
+ dashboardDescription,
31
+ mappingDescription,
32
+ triggerDescription,
33
+ handlePreviousNavigation,
34
+ dynamicMapping,
35
+ dynamicMappingComponent
36
+ }) => {
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
38
+ const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);
39
+ const hasMultiAccounts = (_b = (_a = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _a.accounts) == null ? void 0 : _b.hasAccounts;
40
+ const isMappingFieldCompleted = !!((_d = (_c = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _c.fields) == null ? void 0 : _d.length);
41
+ const isTriggerFieldCompleted = !!((_e = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _e.length);
42
+ const [hasDashboardPage, setHasDashboardPage] = useState(
43
+ !!((_g = (_f = singleMapping == null ? void 0 : singleMapping.mappedFields) == null ? void 0 : _f.fields) == null ? void 0 : _g.length) || !!((_i = (_h = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _h.fields) == null ? void 0 : _i.length) || !!((_j = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _j.length) || !!((_l = (_k = dynamicMapping == null ? void 0 : dynamicMapping.mappedFields) == null ? void 0 : _k.fields) == null ? void 0 : _l.length)
44
+ );
45
+ const [hasConfigurationType, setHasConfigurationType] = useState(
46
+ (!!mappingComponent || !!singleMappingComponent || !dynamicMappingComponent) && !!triggerComponent
47
+ );
48
+ const [currentConfigurationType, setCurrentConfigurationType] = useState(
49
+ !hasConfigurationType ? !!mappingComponent || !!singleMappingComponent || !!dynamicMappingComponent ? "MAPPING" : "TRIGGER" : null
50
+ );
51
+ const [editField, setEditField] = useState({});
52
+ const [isMappingPage, setIsMappingPage] = useState(false);
53
+ const [tempPreviousMapping, setTempPreviousMapping] = useState(
54
+ !(isMappingFieldCompleted && isTriggerFieldCompleted)
55
+ );
56
+ const navigateMappingPage = (value) => setIsMappingPage(value != null ? value : !isMappingPage);
57
+ const handleEditField = (field) => {
58
+ setEditField({
59
+ type: field.type,
60
+ fieldValues: field.values,
61
+ id: field.id
62
+ });
63
+ };
64
+ const previousMappingHandler = () => {
65
+ setHasConfigurationType(true);
66
+ setCurrentConfigurationType(null);
67
+ handlePreviousNavigation();
68
+ if (!(isMappingFieldCompleted || isTriggerFieldCompleted)) {
69
+ setHasDashboardPage(false);
70
+ } else {
71
+ setHasDashboardPage(true);
72
+ }
73
+ return;
74
+ };
75
+ const mappingClonedElementProps = {
76
+ previousMappingHandler,
77
+ draftHandler,
78
+ editField,
79
+ integrationName,
80
+ isMappingPage,
81
+ surveyType,
82
+ navigateMappingPage,
83
+ onSaveHandler: (editId) => {
84
+ var _a2;
85
+ const navigate = (_a2 = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId);
86
+ if (navigate)
87
+ setHasDashboardPage(true);
88
+ },
89
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_m = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _m.hasPreviousMapping
90
+ };
91
+ const clonedSingleMappingProps = {
92
+ editField,
93
+ previousMappingHandler,
94
+ draftHandler,
95
+ integrationName,
96
+ onSaveHandler: async (editId) => {
97
+ var _a2;
98
+ const navigate = await ((_a2 = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
99
+ if (navigate)
100
+ setHasDashboardPage(true);
101
+ },
102
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_n = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _n.hasPreviousMapping
103
+ };
104
+ const clonedDynamicMappingProps = {
105
+ editField,
106
+ previousMappingHandler,
107
+ draftHandler,
108
+ integrationName,
109
+ onSaveHandler: async (editId) => {
110
+ var _a2;
111
+ const navigate = await ((_a2 = dynamicMappingComponent == null ? void 0 : dynamicMappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
112
+ if (navigate)
113
+ setHasDashboardPage(true);
114
+ },
115
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_o = dynamicMappingComponent == null ? void 0 : dynamicMappingComponent.props) == null ? void 0 : _o.hasPreviousMapping
116
+ };
117
+ const triggerClonedProps = {
118
+ draftHandler,
119
+ editField,
120
+ previousMappingHandler,
121
+ integrationName,
122
+ onSaveHandler: async (editId) => {
123
+ var _a2;
124
+ const navigate = await ((_a2 = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
125
+ if (navigate)
126
+ setHasDashboardPage(true);
127
+ },
128
+ previousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_p = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _p.hasPreviousMapping
129
+ };
130
+ const ClonedMappingComponent = !!mappingComponent ? React__default.cloneElement(mappingComponent, mappingClonedElementProps) : mappingComponent;
131
+ const ClonedSingleMappingComponent = !!singleMappingComponent ? React__default.cloneElement(singleMappingComponent, clonedSingleMappingProps) : singleMappingComponent;
132
+ const ClonedDynamicMappingComponent = !!dynamicMappingComponent ? React__default.cloneElement(dynamicMappingComponent, clonedDynamicMappingProps) : dynamicMappingComponent;
133
+ const ClonedTriggerComponent = !!triggerComponent ? React__default.cloneElement(triggerComponent, triggerClonedProps) : triggerComponent;
134
+ const removeQueryParam = (param) => {
135
+ const url = new URL(window.location.href);
136
+ url.searchParams.delete(param);
137
+ window.history.replaceState({}, document.title, url);
138
+ };
139
+ useEffect(() => {
140
+ if (!isMappingFieldCompleted && !isTriggerFieldCompleted && hasDashboardPage) {
141
+ setHasConfigurationType(true);
142
+ setCurrentConfigurationType(null);
143
+ }
144
+ }, [(_q = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _q.fields, trigger == null ? void 0 : trigger.mappedFields]);
145
+ useEffect(() => {
146
+ var _a2;
147
+ if (Object.fromEntries((_a2 = new URLSearchParams(window.location.search)) != null ? _a2 : {}).isDraft) {
148
+ setIsDraftModalOpen(true);
149
+ }
150
+ }, [isDraftModalOpen]);
151
+ const onSaveHandler = async () => {
152
+ await draftHandler(currentConfigurationType);
153
+ await previousMappingHandler();
154
+ removeQueryParam("isDraft");
155
+ setIsDraftModalOpen(false);
156
+ };
157
+ const onCloseHandler = () => {
158
+ removeQueryParam("isDraft");
159
+ setIsDraftModalOpen(false);
160
+ };
161
+ const onCancelHandler = async () => {
162
+ await previousMappingHandler();
163
+ setIsDraftModalOpen(false);
164
+ };
165
+ return /* @__PURE__ */ React__default.createElement(
166
+ ThemeProvider,
167
+ {
168
+ theme: {
169
+ fonts: {
170
+ body: "DM Sans, Roboto Mono, sans-serif",
171
+ heading: "DM Sans, Roboto Mono, sans-serif",
172
+ label: "DM Sans, Roboto Mono, sans-serif",
173
+ p: {
174
+ margin: "0 !important",
175
+ padding: "0 !important"
176
+ }
177
+ }
178
+ }
179
+ },
180
+ /* @__PURE__ */ React__default.createElement(TooltipProvider, { delayDuration: 300 }, surveyType === "OfflineApp" ? /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", justifyContent: "center", css: { width: "100%", height: "100vh" } }, /* @__PURE__ */ React__default.createElement(Text, { size: "lg", css: { color: "$neutral900" }, weight: "medium" }, "This app is not supported for offline surveys")) : /* @__PURE__ */ React__default.createElement(Box, { css: { width: "100%" } }, hasDashboardPage ? /* @__PURE__ */ React__default.createElement(
181
+ Dashboard,
182
+ {
183
+ onMappingEditHandler,
184
+ fieldOptions,
185
+ triggerEnabled,
186
+ mappingEnabled,
187
+ hasDropdownComponents: {
188
+ mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps || !!ClonedDynamicMappingComponent,
189
+ trigger: !!ClonedTriggerComponent
190
+ },
191
+ hasMultiAccounts,
192
+ dashboardDescription,
193
+ integrationName,
194
+ mappingFields: (mapping == null ? void 0 : mapping.mappedFields) || singleMapping || (dynamicMapping == null ? void 0 : dynamicMapping.mappedFields),
195
+ triggerFields: trigger == null ? void 0 : trigger.mappedFields,
196
+ handleConfigurationType: (value) => {
197
+ setCurrentConfigurationType(value);
198
+ setHasDashboardPage(false);
199
+ setTempPreviousMapping(true);
200
+ setEditField({});
201
+ },
202
+ handleEditField,
203
+ deleteFieldHandler: onDeleteHandler || (() => {
204
+ }),
205
+ syncMapping,
206
+ toggleDashboardField: toggleDashboardField || (() => {
207
+ }),
208
+ handleDashboardPage: (value, type) => {
209
+ setHasDashboardPage(value);
210
+ setCurrentConfigurationType(type);
211
+ setHasConfigurationType(false);
212
+ }
213
+ }
214
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, hasConfigurationType && !["MAPPING", "TRIGGER"].includes(
215
+ `${currentConfigurationType}`
216
+ ) ? /* @__PURE__ */ React__default.createElement(
217
+ ConfigureTemplate,
218
+ {
219
+ mappingDescription,
220
+ triggerDescription,
221
+ handleConfigurationType: (value) => setCurrentConfigurationType(value)
222
+ }
223
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentConfigurationType === "MAPPING" && !!singleMappingComponent ? ClonedSingleMappingComponent : null, currentConfigurationType === "MAPPING" && !!dynamicMappingComponent ? ClonedDynamicMappingComponent : null, currentConfigurationType === "MAPPING" && !!mappingComponent ? ClonedMappingComponent : null, currentConfigurationType !== "MAPPING" && !!triggerComponent ? ClonedTriggerComponent : null), isDraftModalOpen && /* @__PURE__ */ React__default.createElement(
224
+ DraftModal,
225
+ {
226
+ onSaveHandler,
227
+ onCloseHandler,
228
+ onCancel: onCancelHandler
229
+ }
230
+ ))))
231
+ );
232
+ };
233
+ const ConfigureTemplate = ({
234
+ handleConfigurationType,
235
+ mappingDescription,
236
+ triggerDescription
237
+ }) => {
238
+ return /* @__PURE__ */ React__default.createElement(Box, { css: { width: "100%", paddingTop: "$48" } }, /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", alignItems: "center" }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5", css: { color: "$neutral900" } }, "Select Configuration Type"), /* @__PURE__ */ React__default.createElement(
239
+ Text,
240
+ {
241
+ size: "sm",
242
+ css: { color: "$neutral600", lineHeight: "$sm", marginTop: "$2" }
243
+ },
244
+ "Choose either Mapping or Triggering to configure their respective actions."
245
+ )), /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", justifyContent: "center" }, /* @__PURE__ */ React__default.createElement(
246
+ Flex,
247
+ {
248
+ css: { maxWidth: 960, width: "100%", marginTop: "$36" },
249
+ alignItems: "center",
250
+ justifyContent: "center",
251
+ gap: "$20"
252
+ },
253
+ /* @__PURE__ */ React__default.createElement(
254
+ TemplateCard,
255
+ {
256
+ icon: /* @__PURE__ */ React__default.createElement(CursorIcon, null),
257
+ heading: "Trigger",
258
+ description: triggerDescription,
259
+ onClickHandler: () => handleConfigurationType("TRIGGER")
260
+ }
261
+ ),
262
+ /* @__PURE__ */ React__default.createElement(
263
+ TemplateCard,
264
+ {
265
+ icon: /* @__PURE__ */ React__default.createElement(MappingIcon, null),
266
+ heading: "Mapping",
267
+ description: mappingDescription,
268
+ onClickHandler: () => handleConfigurationType("MAPPING")
269
+ }
270
+ )
271
+ )));
272
+ };
273
+ const TemplateCard = ({
274
+ icon,
275
+ heading,
276
+ description,
277
+ onClickHandler
278
+ }) => {
279
+ return /* @__PURE__ */ React__default.createElement(
280
+ Flex,
281
+ {
282
+ flexDirection: "column",
283
+ alignItems: "center",
284
+ onClick: onClickHandler,
285
+ css: {
286
+ width: 350,
287
+ height: 300,
288
+ outline: "$borderWidths$xs solid $neutral200",
289
+ borderRadius: "$4xl",
290
+ position: "relative",
291
+ cursor: "pointer",
292
+ filter: "drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))",
293
+ overflow: "auto",
294
+ "&:hover": {
295
+ outline: "$borderWidths$md solid $primary400",
296
+ "& svg circle, rect, path": {
297
+ stroke: "$primary500"
298
+ },
299
+ "& #ellipse": {
300
+ opacity: "10%"
301
+ }
302
+ }
303
+ }
304
+ },
305
+ /* @__PURE__ */ React__default.createElement(
306
+ Box,
307
+ {
308
+ id: "ellipse",
309
+ css: {
310
+ position: "absolute",
311
+ top: "-23%",
312
+ filter: "blur(25px)",
313
+ transition: "all .4s ease",
314
+ width: 334,
315
+ height: "$25",
316
+ opacity: "0%",
317
+ background: "$primary400",
318
+ borderRadius: "50%"
319
+ }
320
+ }
321
+ ),
322
+ /* @__PURE__ */ React__default.createElement(Box, { css: { marginBlock: "$32 $16" } }, icon),
323
+ /* @__PURE__ */ React__default.createElement(Heading, { size: "h6", css: { color: "$neutral900" } }, heading),
324
+ /* @__PURE__ */ React__default.createElement(
325
+ Text,
326
+ {
327
+ size: "md",
328
+ css: {
329
+ marginTop: "$8",
330
+ color: "$neutral800",
331
+ width: 222,
332
+ textAlign: "center"
333
+ }
334
+ },
335
+ description
336
+ )
337
+ );
338
+ };
339
+
340
+ export { IntegrationTemplate };
341
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider,\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { \n FieldOptionsType, \n MappingFieldCollection, \n TriggerFieldCollection, \n} from \"../commons/types/enhanced\";\n\ntype SingleMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\ntype DynamicMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\n\ntype IntegrationTemplateProps = {\n singleMapping?: SingleMappingType,\n draftHandler: (type: string | null) => void;\n onMappingEditHandler: (field: unknown) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n mappingComponent?: React.ReactElement;\n singleMappingComponent?: React.ReactElement;\n dynamicMapping?: DynamicMappingType,\n dynamicMappingComponent?: React.ReactElement;\n mapping?: {\n mappedFields: MappingFieldCollection;\n setMappedFields: React.Dispatch<React.SetStateAction<MappingFieldCollection>>;\n };\n triggerComponent?: React.ReactElement;\n trigger?: {\n mappedFields: TriggerFieldCollection;\n setMappedFields: React.Dispatch<React.SetStateAction<TriggerFieldCollection>>;\n };\n integrationName: string;\n onDeleteHandler?: (id: string | number) => void\n toggleDashboardField?: (id: string | number, status: boolean) => void;\n dashboardDescription: string;\n mappingDescription: string;\n triggerDescription: string;\n handlePreviousNavigation: () => void;\n surveyType?: string;\n syncMapping?: (id: string | number) => void;\n};\nexport const IntegrationTemplate: React.FC<IntegrationTemplateProps> = ({\n singleMapping,\n surveyType,\n draftHandler,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n mappingComponent,\n singleMappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n onDeleteHandler,\n syncMapping,\n toggleDashboardField,\n dashboardDescription,\n mappingDescription,\n triggerDescription,\n handlePreviousNavigation,\n dynamicMapping,\n dynamicMappingComponent,\n}) => {\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields?.length;\n const isTriggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!singleMapping?.mappedFields?.fields?.length || !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length || !!dynamicMapping?.mappedFields?.fields?.length\n );\n const [hasConfigurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent || !dynamicMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState<\n string | null\n >(\n !hasConfigurationType\n ? !!mappingComponent || !!singleMappingComponent || !!dynamicMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState<any>({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTriggerFieldCompleted)\n );\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id,\n });\n };\n const previousMappingHandler = () => {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n handlePreviousNavigation();\n if (!(isMappingFieldCompleted || isTriggerFieldCompleted)) {\n setHasDashboardPage(false);\n } else {\n setHasDashboardPage(true);\n }\n return;\n };\n const mappingClonedElementProps = {\n previousMappingHandler,\n draftHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n surveyType: surveyType,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping,\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n draftHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping,\n };\n const clonedDynamicMappingProps = {\n editField: editField,\n previousMappingHandler,\n draftHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await dynamicMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? dynamicMappingComponent?.props?.hasPreviousMapping,\n };\n const triggerClonedProps = {\n draftHandler,\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping,\n };\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n const ClonedDynamicMappingComponent = !!dynamicMappingComponent\n ? React.cloneElement(dynamicMappingComponent, clonedDynamicMappingProps)\n : dynamicMappingComponent;\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n const removeQueryParam = (param: string) => {\n const url = new URL(window.location.href);\n url.searchParams.delete(param);\n window.history.replaceState({}, document.title, url);\n };\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTriggerFieldCompleted &&\n hasDashboardPage\n ) {\n // setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\n useEffect(() => {\n if (\n Object.fromEntries(new URLSearchParams(window.location.search) ?? {})\n .isDraft\n ) {\n setIsDraftModalOpen(true);\n }\n }, [isDraftModalOpen]);\n const onSaveHandler = async () => {\n await draftHandler(currentConfigurationType);\n await previousMappingHandler();\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n \n }\n const onCloseHandler = () => {\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n }\n const onCancelHandler = async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\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 label: \"DM Sans, Roboto Mono, sans-serif\",\n p: {\n margin: '0 !important',\n padding: '0 !important',\n }\n },\n }}\n >\n <TooltipProvider delayDuration={300}>\n {surveyType === \"OfflineApp\" ? <Flex alignItems=\"center\" justifyContent=\"center\" css={{ width: \"100%\", height: \"100vh\" }}>\n <Text size=\"lg\" css={{ color: \"$neutral900\" }} weight={\"medium\"}>This app is not supported for offline surveys</Text>\n </Flex> : <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps || !!ClonedDynamicMappingComponent,\n trigger: !!ClonedTriggerComponent,\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields || singleMapping || dynamicMapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler || (() => {})}\n syncMapping={syncMapping}\n toggleDashboardField={toggleDashboardField || (() => {})}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfigurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n mappingDescription={mappingDescription}\n triggerDescription={triggerDescription}\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n />\n ) : (\n <>\n {currentConfigurationType === \"MAPPING\" &&\n !!singleMappingComponent\n ? ClonedSingleMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" &&\n !!dynamicMappingComponent\n ? ClonedDynamicMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" && !!mappingComponent\n ? ClonedMappingComponent\n : null}\n {currentConfigurationType !== \"MAPPING\" && !!triggerComponent\n ? ClonedTriggerComponent\n : null}\n </>\n )}\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={onSaveHandler}\n onCloseHandler={onCloseHandler}\n onCancel={onCancelHandler}\n />\n )}\n </>\n )}\n </Box>}\n </TooltipProvider>\n </ThemeProvider>\n );\n};\ntype ConfigureTemplateProps = {\n handleConfigurationType: (value: string) => void;\n mappingDescription: string;\n triggerDescription: string;\n};\nconst ConfigureTemplate: React.FC<ConfigureTemplateProps> = ({\n handleConfigurationType,\n mappingDescription,\n triggerDescription,\n}) => {\n return (\n <Box css={{ width: \"100%\", paddingTop: \"$48\" }}>\n <Flex flexDirection=\"column\" alignItems=\"center\">\n <Heading size=\"h5\" css={{ color: \"$neutral900\" }}>\n Select Configuration Type\n </Heading>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral600\", lineHeight: \"$sm\", marginTop: \"$2\" }}\n >\n Choose either Mapping or Triggering to configure their respective\n actions.\n </Text>\n </Flex>\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Flex\n css={{ maxWidth: 960, width: \"100%\", marginTop: \"$36\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"$20\"\n >\n <TemplateCard\n icon={<CursorIcon />}\n heading=\"Trigger\"\n description={triggerDescription}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description={mappingDescription}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\ntype TemplateCardProps = {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n};\nconst TemplateCard: React.FC<TemplateCardProps> = ({\n icon,\n heading,\n description,\n onClickHandler,\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\",\n },\n \"& #ellipse\": {\n opacity: \"10%\",\n },\n },\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\",\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\",\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};"],"names":["_a","React"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import React__default from 'react';
2
- import { UI_TEXT } from '../constants/index.js';
3
2
  import { c as components } from '../../node_modules/react-select/dist/index-a301f526.esm.js';
4
3
  import { Box } from '../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
5
4
  import { Text } from '../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
@@ -37,7 +36,7 @@ const CustomMenu = (props) => {
37
36
  onClick: () => {
38
37
  var _a, _b;
39
38
  (_a = props.selectProps) == null ? void 0 : _a.noneOptionHandler({
40
- label: UI_TEXT.NONE_OPTION,
39
+ label: "None",
41
40
  value: "NONE"
42
41
  });
43
42
  (_b = props.selectProps) == null ? void 0 : _b.onMenuClose();
@@ -45,7 +44,7 @@ const CustomMenu = (props) => {
45
44
  size: "sm",
46
45
  css: { padding: "$3 $6", color: "$neutral900", cursor: "pointer" }
47
46
  },
48
- UI_TEXT.NONE_OPTION
47
+ "None"
49
48
  )
50
49
  ), props.children, /* @__PURE__ */ React__default.createElement(
51
50
  Flex,
@@ -61,7 +60,7 @@ const CustomMenu = (props) => {
61
60
  alignItems: "center",
62
61
  justifyContent: "center"
63
62
  },
64
- /* @__PURE__ */ React__default.createElement(Text, { size: "xs", css: { color: "$neutral600", lineHeight: "$xs" } }, UI_TEXT.DATA_TYPE_HINT)
63
+ /* @__PURE__ */ React__default.createElement(Text, { size: "xs", css: { color: "$neutral600", lineHeight: "$xs" } }, "Select the right data type for the mapping to prevent errors when sharing value.")
65
64
  ));
66
65
  };
67
66
 
@@ -1 +1 @@
1
- {"version":3,"file":"custom-menu.js","sources":["../../../../src/mapping/components/custom-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { components, MenuProps } from \"react-select\";\nimport { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\nimport { UI_TEXT } from \"../constants\";\n\ntype CustomMenuProps = MenuProps<SelectOption> & {\n selectProps: {\n noneOptionHandler: (option: SelectOption) => void;\n onMenuClose: () => void;\n customOnClick: () => void;\n };\n};\n\nconst CustomMenu: React.FC<CustomMenuProps> = (props) => {\n return (\n <components.Menu {...props}>\n <Box\n css={{\n paddingBottom: \"$4\",\n marginBlock: \"$6 $4\",\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n onClick={() => {\n props.selectProps?.noneOptionHandler({\n label: UI_TEXT.NONE_OPTION,\n value: \"NONE\",\n });\n props.selectProps?.onMenuClose();\n }}\n size=\"sm\"\n css={{ padding: \"$3 $6\", color: \"$neutral900\", cursor: \"pointer\" }}\n >\n {UI_TEXT.NONE_OPTION}\n </Text>\n </Box>\n {props.children}\n <Flex\n onClick={() => props?.selectProps?.customOnClick()}\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n {UI_TEXT.DATA_TYPE_HINT}\n </Text>\n </Flex>\n </components.Menu>\n );\n};\n\nexport default CustomMenu;"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAeM,MAAA,UAAA,GAAwC,CAAC,KAAU,KAAA;AACvD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,CAAW,IAAX,EAAA,cAAA,CAAA,EAAA,EAAoB,KACnB,CAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,aAAe,EAAA,IAAA;AAAA,QACf,WAAa,EAAA,OAAA;AAAA,QACb,YAAc,EAAA,oCAAA;AAAA,OAChB;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,MAAM;AA1BzB,UAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA2BY,UAAM,CAAA,EAAA,GAAA,KAAA,CAAA,WAAA,KAAN,mBAAmB,iBAAkB,CAAA;AAAA,YACnC,OAAO,OAAQ,CAAA,WAAA;AAAA,YACf,KAAO,EAAA,MAAA;AAAA,WACT,CAAA,CAAA;AACA,UAAA,CAAA,EAAA,GAAA,KAAA,CAAM,gBAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AAAA,SACrB;AAAA,QACA,IAAK,EAAA,IAAA;AAAA,QACL,KAAK,EAAE,OAAA,EAAS,SAAS,KAAO,EAAA,aAAA,EAAe,QAAQ,SAAU,EAAA;AAAA,OAAA;AAAA,MAEhE,OAAQ,CAAA,WAAA;AAAA,KACX;AAAA,GACF,EACC,MAAM,QACP,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,MAAG;AAzCpB,QAAA,IAAA,EAAA,CAAA;AAyCuB,QAAA,OAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA;AAAA,OAAA;AAAA,MACnC,GAAK,EAAA;AAAA,QACH,UAAY,EAAA,2BAAA;AAAA,QACZ,OAAS,EAAA,OAAA;AAAA,OACX;AAAA,MACA,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,KAAA;AAAA,oBAEdA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAK,GAAK,EAAA,EAAE,KAAO,EAAA,aAAA,EAAe,UAAY,EAAA,KAAA,EACtD,EAAA,EAAA,OAAA,CAAQ,cACX,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"custom-menu.js","sources":["../../../../src/mapping/components/custom-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { components, MenuProps } from \"react-select\";\nimport { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\ntype CustomMenuProps = MenuProps<SelectOption> & {\n selectProps: {\n noneOptionHandler: (option: SelectOption) => void;\n onMenuClose: () => void;\n customOnClick: () => void;\n };\n};\n\nconst CustomMenu: React.FC<CustomMenuProps> = (props) => {\n return (\n <components.Menu {...props}>\n <Box\n css={{\n paddingBottom: \"$4\",\n marginBlock: \"$6 $4\",\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n onClick={() => {\n props.selectProps?.noneOptionHandler({\n label: \"None\",\n value: \"NONE\",\n });\n props.selectProps?.onMenuClose();\n }}\n size=\"sm\"\n css={{ padding: \"$3 $6\", color: \"$neutral900\", cursor: \"pointer\" }}\n >\n None\n </Text>\n </Box>\n {props.children}\n <Flex\n onClick={() => props?.selectProps?.customOnClick()}\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors when\n sharing value.\n </Text>\n </Flex>\n </components.Menu>\n );\n};\n\nexport default CustomMenu;"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcM,MAAA,UAAA,GAAwC,CAAC,KAAU,KAAA;AACvD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,CAAW,IAAX,EAAA,cAAA,CAAA,EAAA,EAAoB,KACnB,CAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,aAAe,EAAA,IAAA;AAAA,QACf,WAAa,EAAA,OAAA;AAAA,QACb,YAAc,EAAA,oCAAA;AAAA,OAChB;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,MAAM;AAzBzB,UAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0BY,UAAM,CAAA,EAAA,GAAA,KAAA,CAAA,WAAA,KAAN,mBAAmB,iBAAkB,CAAA;AAAA,YACnC,KAAO,EAAA,MAAA;AAAA,YACP,KAAO,EAAA,MAAA;AAAA,WACT,CAAA,CAAA;AACA,UAAA,CAAA,EAAA,GAAA,KAAA,CAAM,gBAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AAAA,SACrB;AAAA,QACA,IAAK,EAAA,IAAA;AAAA,QACL,KAAK,EAAE,OAAA,EAAS,SAAS,KAAO,EAAA,aAAA,EAAe,QAAQ,SAAU,EAAA;AAAA,OAAA;AAAA,MAClE,MAAA;AAAA,KAED;AAAA,GACF,EACC,MAAM,QACP,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,MAAG;AAxCpB,QAAA,IAAA,EAAA,CAAA;AAwCuB,QAAA,OAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA;AAAA,OAAA;AAAA,MACnC,GAAK,EAAA;AAAA,QACH,UAAY,EAAA,2BAAA;AAAA,QACZ,OAAS,EAAA,OAAA;AAAA,OACX;AAAA,MACA,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,KAAA;AAAA,oBAEfA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,aAAe,EAAA,UAAA,EAAY,KAAM,EAAA,EAAA,EAAG,kFAGlE,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}