@sparrowengg/integrations-templates-frontend 1.9.1 → 1.9.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 (76) hide show
  1. package/dist/cjs/commons/components/draftModal.js +40 -0
  2. package/dist/cjs/commons/components/draftModal.js.map +1 -0
  3. package/dist/cjs/integration-template/components/dashboard.js +230 -133
  4. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  5. package/dist/cjs/integration-template/index.js +28 -1
  6. package/dist/cjs/integration-template/index.js.map +1 -1
  7. package/dist/cjs/mapping/index.js +7 -1
  8. package/dist/cjs/mapping/index.js.map +1 -1
  9. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js +114 -0
  10. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js.map +1 -0
  11. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +8 -2
  12. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js.map +1 -1
  13. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js +119 -0
  14. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js.map +1 -0
  15. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js +133 -0
  16. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js.map +1 -0
  17. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js +117 -0
  18. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js.map +1 -0
  19. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js +110 -0
  20. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js.map +1 -0
  21. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js +49 -0
  22. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js.map +1 -0
  23. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js +83 -0
  24. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js.map +1 -0
  25. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js +184 -0
  26. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -0
  27. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js +4 -0
  28. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  29. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js +86 -0
  30. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js.map +1 -0
  31. package/dist/cjs/triggers/components/subcomponents.js +160 -25
  32. package/dist/cjs/triggers/components/subcomponents.js.map +1 -1
  33. package/dist/cjs/triggers/components/trigger.js +1 -0
  34. package/dist/cjs/triggers/components/trigger.js.map +1 -1
  35. package/dist/cjs/triggers/constants/index.js.map +1 -1
  36. package/dist/cjs/triggers/index.js +7 -12
  37. package/dist/cjs/triggers/index.js.map +1 -1
  38. package/dist/es/commons/components/draftModal.js +36 -0
  39. package/dist/es/commons/components/draftModal.js.map +1 -0
  40. package/dist/es/integration-template/components/dashboard.js +230 -133
  41. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  42. package/dist/es/integration-template/index.js +28 -1
  43. package/dist/es/integration-template/index.js.map +1 -1
  44. package/dist/es/mapping/index.js +7 -1
  45. package/dist/es/mapping/index.js.map +1 -1
  46. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js +106 -0
  47. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js.map +1 -0
  48. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +7 -4
  49. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js.map +1 -1
  50. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js +117 -0
  51. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js.map +1 -0
  52. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js +131 -0
  53. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js.map +1 -0
  54. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js +115 -0
  55. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js.map +1 -0
  56. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js +107 -0
  57. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js.map +1 -0
  58. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js +46 -0
  59. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js.map +1 -0
  60. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js +81 -0
  61. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js.map +1 -0
  62. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js +146 -0
  63. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -0
  64. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js +3 -1
  65. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
  66. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js +84 -0
  67. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js.map +1 -0
  68. package/dist/es/triggers/components/subcomponents.js +160 -25
  69. package/dist/es/triggers/components/subcomponents.js.map +1 -1
  70. package/dist/es/triggers/components/trigger.js +1 -0
  71. package/dist/es/triggers/components/trigger.js.map +1 -1
  72. package/dist/es/triggers/constants/index.js.map +1 -1
  73. package/dist/es/triggers/index.js +8 -13
  74. package/dist/es/triggers/index.js.map +1 -1
  75. package/dist/index.d.ts +2 -1
  76. package/package.json +1 -1
@@ -15,14 +15,23 @@ import { Tooltip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/too
15
15
  import { ChevronDownIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-down.js';
16
16
  import { Tabs, TabsList, TabsTrigger, TabsContent } from '../../node_modules/@sparrowengg/twigs-react/dist/es/tabs/tabs.js';
17
17
  import { ChevronRightIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-right.js';
18
+ import { Chip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
18
19
  import { Switch } from '../../node_modules/@sparrowengg/twigs-react/dist/es/switch/switch.js';
19
20
  import { IconButton } from '../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
20
21
  import { EllipsisVerticalIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/ellipsis-vertical.js';
21
22
  import { PencilIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/pencil.js';
22
23
  import { DeleteIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/delete.js';
23
- import { Chip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
24
24
  import { Table, Thead, Th, Tbody, Tr, Td } from '../../node_modules/@sparrowengg/twigs-react/dist/es/table/table.js';
25
25
 
26
+ const trasformToPastTense = (value) => {
27
+ if (value.endsWith("e")) {
28
+ return value + "d";
29
+ } else if (value.endsWith("y")) {
30
+ return value.slice(0, -1) + "ied";
31
+ } else {
32
+ return value + "ed";
33
+ }
34
+ };
26
35
  const Dashboard = ({
27
36
  onMappingEditHandler,
28
37
  fieldOptions,
@@ -92,40 +101,46 @@ const Dashboard = ({
92
101
  }
93
102
  ) : null
94
103
  )))
95
- ), /* @__PURE__ */ React__default.createElement(Box, { css: {
96
- marginBottom: "$20 !important"
97
- } }, hasMultiAccounts ? /* @__PURE__ */ React__default.createElement(
98
- MultiAccountDashboard,
99
- {
100
- onMappingEditHandler,
101
- fieldOptions,
102
- triggerEnabled,
103
- mappingEnabled,
104
- mappingFields,
105
- triggerFields,
106
- integrationName,
107
- handleDashboardPage,
108
- handleEditField,
109
- handleConfigurationType,
110
- toggleDashboardField,
111
- deleteFieldHandler
112
- }
113
- ) : /* @__PURE__ */ React__default.createElement(
114
- SingleAccountDashboard,
104
+ ), /* @__PURE__ */ React__default.createElement(
105
+ Box,
115
106
  {
116
- onMappingEditHandler,
117
- fieldOptions,
118
- triggerEnabled,
119
- mappingEnabled,
120
- mappingFields,
121
- triggerFields,
122
- integrationName,
123
- handleDashboardPage,
124
- handleEditField,
125
- toggleDashboardField,
126
- deleteFieldHandler
127
- }
128
- ))));
107
+ css: {
108
+ marginBottom: "$20 !important"
109
+ }
110
+ },
111
+ hasMultiAccounts ? /* @__PURE__ */ React__default.createElement(
112
+ MultiAccountDashboard,
113
+ {
114
+ onMappingEditHandler,
115
+ fieldOptions,
116
+ triggerEnabled,
117
+ mappingEnabled,
118
+ mappingFields,
119
+ triggerFields,
120
+ integrationName,
121
+ handleDashboardPage,
122
+ handleEditField,
123
+ handleConfigurationType,
124
+ toggleDashboardField,
125
+ deleteFieldHandler
126
+ }
127
+ ) : /* @__PURE__ */ React__default.createElement(
128
+ SingleAccountDashboard,
129
+ {
130
+ onMappingEditHandler,
131
+ fieldOptions,
132
+ triggerEnabled,
133
+ mappingEnabled,
134
+ mappingFields,
135
+ triggerFields,
136
+ integrationName,
137
+ handleDashboardPage,
138
+ handleEditField,
139
+ toggleDashboardField,
140
+ deleteFieldHandler
141
+ }
142
+ )
143
+ )));
129
144
  };
130
145
  const MultiAccountDashboard = ({
131
146
  onMappingEditHandler,
@@ -158,15 +173,16 @@ const MultiAccountDashboard = ({
158
173
  css: { paddingBlock: "$12", paddingInline: 0 }
159
174
  },
160
175
  /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, triggerFields == null ? void 0 : triggerFields.map((field) => {
161
- var _a2;
176
+ var _a2, _b2, _c2;
162
177
  return /* @__PURE__ */ React__default.createElement(
163
178
  DashboardItem,
164
179
  {
180
+ isDraft: field == null ? void 0 : field.isDraft,
165
181
  onMappingEditHandler,
166
182
  icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
167
183
  heading: (_a2 = field.domain) != null ? _a2 : field.email,
168
184
  id: field.id,
169
- description: `Trigger survey when an event happens in ${integrationName}`,
185
+ description: `Trigger survey when an ${(_b2 = field == null ? void 0 : field.object) == null ? void 0 : _b2.toLowerCase()} event is ${(_c2 = field == null ? void 0 : field.action) == null ? void 0 : _c2.toLowerCase()} in ${integrationName}`,
170
186
  fields: field.fields,
171
187
  isEnabled: field.isEnabled,
172
188
  integrationName,
@@ -178,15 +194,16 @@ const MultiAccountDashboard = ({
178
194
  }
179
195
  );
180
196
  })) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (_b = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _b.map((field) => {
181
- var _a2;
197
+ var _a2, _b2, _c2, _d2, _e;
182
198
  return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(
183
199
  DashboardItem,
184
200
  {
201
+ isDraft: field == null ? void 0 : field.isDraft,
185
202
  onMappingEditHandler,
186
203
  icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
187
204
  heading: (_a2 = field.domain) != null ? _a2 : field.email,
188
205
  id: field.id,
189
- description: `Sync survey responses to ${integrationName}`,
206
+ description: `Sync survey responses to ${integrationName} when ${(_c2 = (_b2 = field == null ? void 0 : field.events) == null ? void 0 : _b2.value) == null ? void 0 : _c2.toLowerCase()} is ${trasformToPastTense(`${(_e = (_d2 = field == null ? void 0 : field.actions) == null ? void 0 : _d2.value) == null ? void 0 : _e.toLowerCase()}`)}`,
190
207
  fields: field.fields,
191
208
  isEnabled: field.isEnabled,
192
209
  integrationName,
@@ -216,24 +233,28 @@ const MultiAccountDashboard = ({
216
233
  value: "TRIGGER",
217
234
  css: { paddingBlock: "$12", paddingInline: 0 }
218
235
  },
219
- !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, triggerFields == null ? void 0 : triggerFields.map((field) => /* @__PURE__ */ React__default.createElement(
220
- DashboardItem,
221
- {
222
- onMappingEditHandler,
223
- icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
224
- heading: "Trigger",
225
- id: field.id,
226
- description: `Trigger survey when an event happens in ${integrationName}`,
227
- fields: field.fields,
228
- isEnabled: field.isEnabled,
229
- integrationName,
230
- handleDashboardPage,
231
- handleEditField,
232
- type: "TRIGGER",
233
- toggleDashboardField,
234
- deleteFieldHandler
235
- }
236
- ))) : /* @__PURE__ */ React__default.createElement(
236
+ !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, triggerFields == null ? void 0 : triggerFields.map((field) => {
237
+ var _a2, _b2;
238
+ return /* @__PURE__ */ React__default.createElement(
239
+ DashboardItem,
240
+ {
241
+ isDraft: field == null ? void 0 : field.isDraft,
242
+ onMappingEditHandler,
243
+ icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
244
+ heading: "Trigger",
245
+ id: field.id,
246
+ description: `Trigger survey when an ${(_a2 = field == null ? void 0 : field.object) == null ? void 0 : _a2.toLowerCase()} event is ${(_b2 = field == null ? void 0 : field.action) == null ? void 0 : _b2.toLowerCase()} in ${integrationName}`,
247
+ fields: field.fields,
248
+ isEnabled: field.isEnabled,
249
+ integrationName,
250
+ handleDashboardPage,
251
+ handleEditField,
252
+ type: "TRIGGER",
253
+ toggleDashboardField,
254
+ deleteFieldHandler
255
+ }
256
+ );
257
+ })) : /* @__PURE__ */ React__default.createElement(
237
258
  MultiAccountFallback,
238
259
  {
239
260
  title: "Trigger",
@@ -246,36 +267,40 @@ const MultiAccountDashboard = ({
246
267
  value: "MAPPING",
247
268
  css: { paddingBlock: "$12", paddingInline: 0 }
248
269
  },
249
- !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(
250
- DashboardItem,
251
- {
252
- onMappingEditHandler,
253
- icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
254
- heading: "Mapping",
255
- id: field.id,
256
- description: `Sync survey responses to ${integrationName}`,
257
- fields: field.fields,
258
- isEnabled: field.isEnabled,
259
- integrationName,
260
- handleDashboardPage,
261
- handleEditField,
262
- type: "MAPPING",
263
- toggleDashboardField,
264
- deleteFieldHandler
265
- }
266
- ) : /* @__PURE__ */ React__default.createElement(
267
- SingleMappingDashboardItem,
268
- {
269
- field,
270
- key: field.id,
271
- integrationName,
272
- icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
273
- handleEditField,
274
- handleDashboardPage,
275
- toggleDashboardField,
276
- deleteFieldHandler
277
- }
278
- ))))) : /* @__PURE__ */ React__default.createElement(
270
+ !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => {
271
+ var _a2, _b2, _c2, _d2;
272
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(
273
+ DashboardItem,
274
+ {
275
+ isDraft: field == null ? void 0 : field.isDraft,
276
+ onMappingEditHandler,
277
+ icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
278
+ heading: "Mapping",
279
+ id: field.id,
280
+ description: `Sync survey responses to ${integrationName} when ${(_b2 = (_a2 = field == null ? void 0 : field.events) == null ? void 0 : _a2.value) == null ? void 0 : _b2.toLowerCase()} is ${trasformToPastTense(`${(_d2 = (_c2 = field == null ? void 0 : field.actions) == null ? void 0 : _c2.value) == null ? void 0 : _d2.toLowerCase()}`)}`,
281
+ fields: field.fields,
282
+ isEnabled: field.isEnabled,
283
+ integrationName,
284
+ handleDashboardPage,
285
+ handleEditField,
286
+ type: "MAPPING",
287
+ toggleDashboardField,
288
+ deleteFieldHandler
289
+ }
290
+ ) : /* @__PURE__ */ React__default.createElement(
291
+ SingleMappingDashboardItem,
292
+ {
293
+ field,
294
+ key: field.id,
295
+ integrationName,
296
+ icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
297
+ handleEditField,
298
+ handleDashboardPage,
299
+ toggleDashboardField,
300
+ deleteFieldHandler
301
+ }
302
+ ));
303
+ }))) : /* @__PURE__ */ React__default.createElement(
279
304
  MultiAccountFallback,
280
305
  {
281
306
  title: "Mapping",
@@ -336,38 +361,46 @@ const SingleAccountDashboard = ({
336
361
  deleteFieldHandler
337
362
  }) => {
338
363
  var _a, _b, _c, _d;
339
- return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: "$20" } }, triggerFields == null ? void 0 : triggerFields.map((field) => /* @__PURE__ */ React__default.createElement(
340
- TriggerDasboardItem,
341
- {
342
- fieldOptions,
343
- field,
344
- description: `Trigger survey when an event happens in ${integrationName}`,
345
- key: field.id,
346
- integrationName,
347
- icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
348
- handleEditField,
349
- handleDashboardPage,
350
- toggleDashboardField,
351
- deleteFieldHandler
352
- }
353
- ))) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) && (mappingFields == null ? void 0 : mappingFields.type) === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_b = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _b.map((field) => /* @__PURE__ */ React__default.createElement(
354
- DashboardItem,
355
- {
356
- onMappingEditHandler,
357
- icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
358
- heading: "Mapping",
359
- id: field.id,
360
- description: `Sync survey responses to ${integrationName}`,
361
- fields: field.fields,
362
- isEnabled: field.isEnabled,
363
- integrationName,
364
- handleDashboardPage,
365
- handleEditField,
366
- type: "MAPPING",
367
- toggleDashboardField,
368
- deleteFieldHandler
369
- }
370
- ))) : null, (mappingFields == null ? void 0 : mappingFields.type) !== "MULTI_MAPPING" && !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => /* @__PURE__ */ React__default.createElement(
364
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: "$20" } }, triggerFields == null ? void 0 : triggerFields.map((field) => {
365
+ var _a2, _b2;
366
+ return /* @__PURE__ */ React__default.createElement(
367
+ TriggerDasboardItem,
368
+ {
369
+ isDraft: field == null ? void 0 : field.isDraft,
370
+ fieldOptions,
371
+ field,
372
+ description: `Trigger survey when ${/^[aeiouAEIOU]$/.test(field == null ? void 0 : field.object[0]) ? "an" : "a"} ${(_a2 = field == null ? void 0 : field.object) == null ? void 0 : _a2.toLowerCase()} event is ${(_b2 = field == null ? void 0 : field.action) == null ? void 0 : _b2.toLowerCase()} in ${integrationName}`,
373
+ key: field.id,
374
+ integrationName,
375
+ icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
376
+ handleEditField,
377
+ handleDashboardPage,
378
+ toggleDashboardField,
379
+ deleteFieldHandler
380
+ }
381
+ );
382
+ })) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) && (mappingFields == null ? void 0 : mappingFields.type) === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_b = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _b.map((field) => {
383
+ var _a2, _b2, _c2, _d2;
384
+ return /* @__PURE__ */ React__default.createElement(
385
+ DashboardItem,
386
+ {
387
+ isDraft: field == null ? void 0 : field.isDraft,
388
+ onMappingEditHandler,
389
+ icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
390
+ heading: "Mapping",
391
+ id: field.id,
392
+ description: `Sync survey responses to ${integrationName} when ${(_b2 = (_a2 = field == null ? void 0 : field.events) == null ? void 0 : _a2.value) == null ? void 0 : _b2.toLowerCase()} is ${trasformToPastTense(`${(_d2 = (_c2 = field == null ? void 0 : field.actions) == null ? void 0 : _c2.value) == null ? void 0 : _d2.toLowerCase()}`)}`,
393
+ fields: field.fields,
394
+ isEnabled: field.isEnabled,
395
+ integrationName,
396
+ handleDashboardPage,
397
+ handleEditField,
398
+ type: "MAPPING",
399
+ toggleDashboardField,
400
+ deleteFieldHandler
401
+ }
402
+ );
403
+ })) : null, (mappingFields == null ? void 0 : mappingFields.type) !== "MULTI_MAPPING" && !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => /* @__PURE__ */ React__default.createElement(
371
404
  SingleMappingDashboardItem,
372
405
  {
373
406
  field,
@@ -382,6 +415,7 @@ const SingleAccountDashboard = ({
382
415
  ))) : null);
383
416
  };
384
417
  const TriggerDasboardItem = ({
418
+ isDraft,
385
419
  fieldOptions,
386
420
  icon,
387
421
  field,
@@ -403,7 +437,9 @@ const TriggerDasboardItem = ({
403
437
  const comparator = filter.comparator;
404
438
  const value = filter.value;
405
439
  const formattedComparator = ((_a3 = operatorOptions.find((option) => option.value === comparator)) == null ? void 0 : _a3.label) || comparator;
406
- const fieldLabel = (_b2 = fieldOptions.find((options) => options.value === field2)) == null ? void 0 : _b2.label;
440
+ const fieldLabel = (_b2 = fieldOptions.find(
441
+ (options) => options.value === field2
442
+ )) == null ? void 0 : _b2.label;
407
443
  return `${fieldLabel} ${formattedComparator === "NO_PREFERENCE" ? "has no preference" : formattedComparator} ${value}`;
408
444
  })) == null ? void 0 : _a2.join(
409
445
  ` <span style="color: #6A6A6A;font-weight: 600;">${filterGroup.condition.toLowerCase()}</span> `
@@ -443,7 +479,32 @@ const TriggerDasboardItem = ({
443
479
  isMappingDisplayed ? /* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 40, color: "#848484" }) : /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { size: 40, color: "#848484" }),
444
480
  /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, icon, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$1", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md", weight: "bold" }, (_a = field == null ? void 0 : field.email) != null ? _a : "Trigger"), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral600" } }, description != null ? description : `Trigger survey when an event happens in ${integrationName}`)))
445
481
  ),
446
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(
482
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, isDraft && /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(Chip, { rounded: "full", size: "sm" }, /* @__PURE__ */ React__default.createElement(
483
+ Box,
484
+ {
485
+ css: {
486
+ background: "$neutral500",
487
+ borderRadius: "50%",
488
+ marginRight: "$1",
489
+ width: "$4",
490
+ height: "$4"
491
+ }
492
+ }
493
+ ), /* @__PURE__ */ React__default.createElement(
494
+ Text,
495
+ {
496
+ size: "sm",
497
+ weight: "bold",
498
+ css: {
499
+ color: "$neutral800"
500
+ }
501
+ },
502
+ "DRAFT"
503
+ )), /* @__PURE__ */ React__default.createElement(Box, { css: {
504
+ width: "1px",
505
+ height: "20px",
506
+ background: "#64748B20"
507
+ } })), /* @__PURE__ */ React__default.createElement(
447
508
  Switch,
448
509
  {
449
510
  size: "md",
@@ -788,7 +849,10 @@ const SingleMappingEventWrapper = ({
788
849
  EventComponent,
789
850
  {
790
851
  heading: "Object:",
791
- description: (_a = field.object) == null ? void 0 : _a.replace(/^./, (char) => char == null ? void 0 : char.toUpperCase())
852
+ description: (_a = field.object) == null ? void 0 : _a.replace(
853
+ /^./,
854
+ (char) => char == null ? void 0 : char.toUpperCase()
855
+ )
792
856
  }
793
857
  ) : null, !!field.action ? /* @__PURE__ */ React__default.createElement(
794
858
  EventComponent,
@@ -874,6 +938,7 @@ const SingleMappingChipWrapper = ({
874
938
  ));
875
939
  };
876
940
  const DashboardItem = ({
941
+ isDraft,
877
942
  onMappingEditHandler,
878
943
  icon,
879
944
  heading,
@@ -942,7 +1007,32 @@ const DashboardItem = ({
942
1007
  isMappingDisplayed ? /* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 40, color: "#848484" }) : /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { size: 40, color: "#848484" }),
943
1008
  /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, icon, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$1", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md", weight: "bold" }, heading), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral600" } }, description)))
944
1009
  ),
945
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(
1010
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, isDraft && /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(Chip, { rounded: "full", size: "sm" }, /* @__PURE__ */ React__default.createElement(
1011
+ Box,
1012
+ {
1013
+ css: {
1014
+ background: "$neutral500",
1015
+ borderRadius: "50%",
1016
+ marginRight: "$1",
1017
+ width: "$4",
1018
+ height: "$4"
1019
+ }
1020
+ }
1021
+ ), /* @__PURE__ */ React__default.createElement(
1022
+ Text,
1023
+ {
1024
+ size: "sm",
1025
+ weight: "bold",
1026
+ css: {
1027
+ color: "$neutral800"
1028
+ }
1029
+ },
1030
+ "DRAFT"
1031
+ )), /* @__PURE__ */ React__default.createElement(Box, { css: {
1032
+ width: "1px",
1033
+ height: "20px",
1034
+ background: "#64748B20"
1035
+ } })), /* @__PURE__ */ React__default.createElement(
946
1036
  Switch,
947
1037
  {
948
1038
  size: "md",
@@ -1107,19 +1197,26 @@ const DropdownItem = ({
1107
1197
  isDisabled,
1108
1198
  toolTipContent
1109
1199
  }) => {
1110
- return /* @__PURE__ */ React__default.createElement(Tooltip, { content: isDisabled ? toolTipContent : "", css: {
1111
- zIndex: "99999999",
1112
- minWidth: "280px",
1113
- textAlign: "center"
1114
- } }, /* @__PURE__ */ React__default.createElement(Flex, null, /* @__PURE__ */ React__default.createElement(
1115
- DropdownMenuItem,
1200
+ return /* @__PURE__ */ React__default.createElement(
1201
+ Tooltip,
1116
1202
  {
1117
- css: { cursor: isDisabled ? "not-allowed !important" : "pointer" },
1118
- onClick: onClickHandler,
1119
- disabled: isDisabled
1203
+ content: isDisabled ? toolTipContent : "",
1204
+ css: {
1205
+ zIndex: "99999999",
1206
+ minWidth: "280px",
1207
+ textAlign: "center"
1208
+ }
1120
1209
  },
1121
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "flex-start", gap: "$4" }, /* @__PURE__ */ React__default.createElement(Box, { css: { width: "$6" } }, icon), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md" }, heading), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral700" } }, description)))
1122
- )));
1210
+ /* @__PURE__ */ React__default.createElement(Flex, null, /* @__PURE__ */ React__default.createElement(
1211
+ DropdownMenuItem,
1212
+ {
1213
+ css: { cursor: isDisabled ? "not-allowed !important" : "pointer" },
1214
+ onClick: onClickHandler,
1215
+ disabled: isDisabled
1216
+ },
1217
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "flex-start", gap: "$4" }, /* @__PURE__ */ React__default.createElement(Box, { css: { width: "$6" } }, icon), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md" }, heading), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral700" } }, description)))
1218
+ ))
1219
+ );
1123
1220
  };
1124
1221
 
1125
1222
  export { Dashboard as default };