@sparrowengg/integrations-templates-frontend 6.0.2 → 6.0.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.
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/cjs/mapping/components/custom-date-menu.js +48 -11
- package/dist/cjs/mapping/components/custom-date-menu.js.map +1 -1
- package/dist/cjs/mapping/components/field.js +35 -8
- package/dist/cjs/mapping/components/field.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/es/mapping/components/custom-date-menu.js +49 -12
- package/dist/es/mapping/components/custom-date-menu.js.map +1 -1
- package/dist/es/mapping/components/field.js +35 -8
- package/dist/es/mapping/components/field.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,67 +5,155 @@ import { Flex } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/fle
|
|
|
5
5
|
import { Text } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
|
|
6
6
|
import { Box } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
|
|
7
7
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
const MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD = /* @__PURE__ */ new Set([
|
|
9
|
+
"responseImportSettings",
|
|
10
|
+
"responseImportType"
|
|
11
|
+
]);
|
|
12
|
+
function getMappingPayloadConfigurationEntries(configuration) {
|
|
13
|
+
if (!configuration || typeof configuration !== "object" || Array.isArray(configuration)) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
const rows = [];
|
|
17
|
+
for (const [key, entry] of Object.entries(configuration)) {
|
|
18
|
+
if (MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD.has(key)) {
|
|
19
|
+
continue;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
heading: DASHBOARD_UI_STRINGS.ACTION,
|
|
25
|
-
description: Array.isArray(field == null ? void 0 : field.action) ? (_h = (_g = field.action) == null ? void 0 : _g.map((a) => {
|
|
26
|
-
var _a2;
|
|
27
|
-
return typeof a === "object" && a !== null ? (_a2 = a == null ? void 0 : a.label) != null ? _a2 : "" : a != null ? a : "";
|
|
28
|
-
})) == null ? void 0 : _h.join(", ") : (_j = (_i = field == null ? void 0 : field.action) == null ? void 0 : _i.toLowerCase()) != null ? _j : ""
|
|
21
|
+
if (entry && typeof entry === "object" && !Array.isArray(entry) && "value" in entry && typeof entry.value !== "undefined") {
|
|
22
|
+
rows.push({ key, value: entry.value });
|
|
29
23
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
24
|
+
}
|
|
25
|
+
return rows;
|
|
26
|
+
}
|
|
27
|
+
function humanizeMappingConfigKey(key) {
|
|
28
|
+
const spaced = key.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/_/g, " ");
|
|
29
|
+
return spaced.replace(/\b\w/g, (c) => c.toUpperCase()).trim();
|
|
30
|
+
}
|
|
31
|
+
function formatMappingConfigValue(value) {
|
|
32
|
+
if (value === null || value === void 0) {
|
|
33
|
+
return { text: "\u2014" };
|
|
34
|
+
}
|
|
35
|
+
if (typeof value === "boolean") {
|
|
36
|
+
return { text: value ? "Yes" : "No" };
|
|
37
|
+
}
|
|
38
|
+
if (typeof value === "number" || typeof value === "string") {
|
|
39
|
+
return { text: String(value) };
|
|
40
|
+
}
|
|
41
|
+
if (Array.isArray(value)) {
|
|
42
|
+
return {
|
|
43
|
+
text: value.map((item) => formatMappingConfigValue(item).text).join(", ")
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (typeof value === "object") {
|
|
47
|
+
const o = value;
|
|
48
|
+
const label = typeof o.label === "string" ? o.label : typeof o.title === "string" ? o.title : void 0;
|
|
49
|
+
const webUrl = typeof o.webUrl === "string" ? o.webUrl : void 0;
|
|
50
|
+
if (label) {
|
|
51
|
+
return { text: label, link: webUrl };
|
|
35
52
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
{
|
|
39
|
-
heading: DASHBOARD_UI_STRINGS.OBJECT,
|
|
40
|
-
description: (_w = (_v = (_u = (_t = field == null ? void 0 : field.configurationFields) == null ? void 0 : _t.object) == null ? void 0 : _u.value) == null ? void 0 : _v.label) == null ? void 0 : _w.replace(
|
|
41
|
-
/^./,
|
|
42
|
-
(char) => char == null ? void 0 : char.toUpperCase()
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
) : null, !!((_y = (_x = field == null ? void 0 : field.configurationFields) == null ? void 0 : _x.action) == null ? void 0 : _y.hasAction) ? /* @__PURE__ */ React__default.createElement(
|
|
46
|
-
EventComponent,
|
|
47
|
-
{
|
|
48
|
-
hasBorder: true,
|
|
49
|
-
heading: DASHBOARD_UI_STRINGS.ACTION,
|
|
50
|
-
description: (_B = (_A = (_z = field == null ? void 0 : field.configurationFields) == null ? void 0 : _z.action) == null ? void 0 : _A.value) == null ? void 0 : _B.label
|
|
53
|
+
if (webUrl) {
|
|
54
|
+
return { text: webUrl, link: webUrl };
|
|
51
55
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
{
|
|
55
|
-
|
|
56
|
-
hasBorder: true,
|
|
57
|
-
heading: DASHBOARD_UI_STRINGS.SHEET,
|
|
58
|
-
description: typeof ((_F = field == null ? void 0 : field.configurationFields) == null ? void 0 : _F.spreadsheet) === "object" ? (_I = (_H = (_G = field == null ? void 0 : field.configurationFields) == null ? void 0 : _G.spreadsheet) == null ? void 0 : _H.value) == null ? void 0 : _I.label : (_K = (_J = field == null ? void 0 : field.configurationFields) == null ? void 0 : _J.spreadsheet) == null ? void 0 : _K.value
|
|
56
|
+
try {
|
|
57
|
+
return { text: JSON.stringify(value) };
|
|
58
|
+
} catch (e) {
|
|
59
|
+
return { text: String(value) };
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
}
|
|
62
|
+
return { text: String(value) };
|
|
63
|
+
}
|
|
64
|
+
const SingleMappingEventWrapper = ({
|
|
65
|
+
field,
|
|
66
|
+
isTrigger
|
|
67
|
+
}) => {
|
|
68
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L, _M, _N, _O, _P, _Q, _R, _S, _T, _U, _V, _W, _X, _Y, _Z, __, _$, _aa;
|
|
69
|
+
const mappingPayloadConfigurationEntries = getMappingPayloadConfigurationEntries(
|
|
70
|
+
field == null ? void 0 : field.configuration
|
|
71
|
+
);
|
|
72
|
+
const hasEventSection = !!((_c = (_b = (_a = field == null ? void 0 : field.configurationFields) == null ? void 0 : _a.account) == null ? void 0 : _b.value) == null ? void 0 : _c.label) || !!field.action || !!field.exisitingSheet || !!(field == null ? void 0 : field.configurationFields) || !!field.object && isTrigger || mappingPayloadConfigurationEntries.length > 0;
|
|
73
|
+
const hasLegacyMappingEventPieces = !!(field == null ? void 0 : field.object) || !!(field == null ? void 0 : field.action) || !!((_f = (_e = (_d = field == null ? void 0 : field.configurationFields) == null ? void 0 : _d.account) == null ? void 0 : _e.value) == null ? void 0 : _f.label) || !!((_i = (_h = (_g = field == null ? void 0 : field.configurationFields) == null ? void 0 : _g.object) == null ? void 0 : _h.value) == null ? void 0 : _i.label) || !!((_k = (_j = field == null ? void 0 : field.configurationFields) == null ? void 0 : _j.action) == null ? void 0 : _k.hasAction) || !!((_m = (_l = field == null ? void 0 : field.configurationFields) == null ? void 0 : _l.spreadsheet) == null ? void 0 : _m.value) || !!((_n = field == null ? void 0 : field.configurationFields) == null ? void 0 : _n.reference);
|
|
74
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, hasEventSection ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$6" }, /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold", css: { textTransform: "uppercase" } }, DASHBOARD_UI_STRINGS.EVENT), /* @__PURE__ */ React__default.createElement(
|
|
75
|
+
Flex,
|
|
62
76
|
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
77
|
+
alignItems: "center",
|
|
78
|
+
css: {
|
|
79
|
+
flexWrap: "wrap",
|
|
80
|
+
rowGap: "$6"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
/* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$20" }, !!(field == null ? void 0 : field.object) ? /* @__PURE__ */ React__default.createElement(
|
|
84
|
+
EventComponent,
|
|
85
|
+
{
|
|
86
|
+
heading: DASHBOARD_UI_STRINGS.OBJECT,
|
|
87
|
+
description: (_q = (_p = (_o = field == null ? void 0 : field.configuration) == null ? void 0 : _o.object) == null ? void 0 : _p.label) != null ? _q : field == null ? void 0 : field.object
|
|
88
|
+
}
|
|
89
|
+
) : null, !!(field == null ? void 0 : field.action) ? /* @__PURE__ */ React__default.createElement(
|
|
90
|
+
EventComponent,
|
|
91
|
+
{
|
|
92
|
+
heading: DASHBOARD_UI_STRINGS.ACTION,
|
|
93
|
+
description: Array.isArray(field == null ? void 0 : field.action) ? (_s = (_r = field.action) == null ? void 0 : _r.map((a) => {
|
|
94
|
+
var _a2;
|
|
95
|
+
return typeof a === "object" && a !== null ? (_a2 = a == null ? void 0 : a.label) != null ? _a2 : "" : a != null ? a : "";
|
|
96
|
+
})) == null ? void 0 : _s.join(", ") : (_u = (_t = field == null ? void 0 : field.action) == null ? void 0 : _t.toLowerCase()) != null ? _u : ""
|
|
97
|
+
}
|
|
98
|
+
) : null),
|
|
99
|
+
!!((_x = (_w = (_v = field == null ? void 0 : field.configurationFields) == null ? void 0 : _v.account) == null ? void 0 : _w.value) == null ? void 0 : _x.label) ? /* @__PURE__ */ React__default.createElement(
|
|
100
|
+
EventComponent,
|
|
101
|
+
{
|
|
102
|
+
heading: DASHBOARD_UI_STRINGS.ACCOUNT,
|
|
103
|
+
description: (_A = (_z = (_y = field == null ? void 0 : field.configurationFields) == null ? void 0 : _y.account) == null ? void 0 : _z.value) == null ? void 0 : _A.label
|
|
104
|
+
}
|
|
105
|
+
) : null,
|
|
106
|
+
!!((_D = (_C = (_B = field == null ? void 0 : field.configurationFields) == null ? void 0 : _B.object) == null ? void 0 : _C.value) == null ? void 0 : _D.label) ? /* @__PURE__ */ React__default.createElement(
|
|
107
|
+
EventComponent,
|
|
108
|
+
{
|
|
109
|
+
heading: DASHBOARD_UI_STRINGS.OBJECT,
|
|
110
|
+
description: (_H = (_G = (_F = (_E = field == null ? void 0 : field.configurationFields) == null ? void 0 : _E.object) == null ? void 0 : _F.value) == null ? void 0 : _G.label) == null ? void 0 : _H.replace(
|
|
111
|
+
/^./,
|
|
112
|
+
(char) => char == null ? void 0 : char.toUpperCase()
|
|
113
|
+
)
|
|
114
|
+
}
|
|
115
|
+
) : null,
|
|
116
|
+
!!((_J = (_I = field == null ? void 0 : field.configurationFields) == null ? void 0 : _I.action) == null ? void 0 : _J.hasAction) ? /* @__PURE__ */ React__default.createElement(
|
|
117
|
+
EventComponent,
|
|
118
|
+
{
|
|
119
|
+
hasBorder: true,
|
|
120
|
+
heading: DASHBOARD_UI_STRINGS.ACTION,
|
|
121
|
+
description: (_M = (_L = (_K = field == null ? void 0 : field.configurationFields) == null ? void 0 : _K.action) == null ? void 0 : _L.value) == null ? void 0 : _M.label
|
|
122
|
+
}
|
|
123
|
+
) : null,
|
|
124
|
+
!!((_O = (_N = field == null ? void 0 : field.configurationFields) == null ? void 0 : _N.spreadsheet) == null ? void 0 : _O.value) ? /* @__PURE__ */ React__default.createElement(
|
|
125
|
+
EventComponent,
|
|
126
|
+
{
|
|
127
|
+
hasLink: (_P = field == null ? void 0 : field.configurationFields) == null ? void 0 : _P.sheetURL,
|
|
128
|
+
hasBorder: true,
|
|
129
|
+
heading: DASHBOARD_UI_STRINGS.SHEET,
|
|
130
|
+
description: typeof ((_Q = field == null ? void 0 : field.configurationFields) == null ? void 0 : _Q.spreadsheet) === "object" ? (_T = (_S = (_R = field == null ? void 0 : field.configurationFields) == null ? void 0 : _R.spreadsheet) == null ? void 0 : _S.value) == null ? void 0 : _T.label : (_V = (_U = field == null ? void 0 : field.configurationFields) == null ? void 0 : _U.spreadsheet) == null ? void 0 : _V.value
|
|
131
|
+
}
|
|
132
|
+
) : null,
|
|
133
|
+
!!((_W = field == null ? void 0 : field.configurationFields) == null ? void 0 : _W.reference) ? /* @__PURE__ */ React__default.createElement(
|
|
134
|
+
EventComponent,
|
|
135
|
+
{
|
|
136
|
+
hasLink: (_Y = (_X = field == null ? void 0 : field.configurationFields) == null ? void 0 : _X.reference) == null ? void 0 : _Y.referenceURL,
|
|
137
|
+
hasBorder: true,
|
|
138
|
+
heading: (__ = (_Z = field == null ? void 0 : field.configurationFields) == null ? void 0 : _Z.reference) == null ? void 0 : __.title,
|
|
139
|
+
description: (_aa = (_$ = field == null ? void 0 : field.configurationFields) == null ? void 0 : _$.reference) == null ? void 0 : _aa.description
|
|
140
|
+
}
|
|
141
|
+
) : null,
|
|
142
|
+
mappingPayloadConfigurationEntries.map(({ key, value }, index) => {
|
|
143
|
+
var _a2;
|
|
144
|
+
const formatted = formatMappingConfigValue(value);
|
|
145
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
146
|
+
EventComponent,
|
|
147
|
+
{
|
|
148
|
+
key: `mapping-config-${key}`,
|
|
149
|
+
hasBorder: hasLegacyMappingEventPieces || index > 0 || (mappingPayloadConfigurationEntries == null ? void 0 : mappingPayloadConfigurationEntries.length) === index - 1,
|
|
150
|
+
heading: `${humanizeMappingConfigKey(key)}:`,
|
|
151
|
+
description: formatted.text,
|
|
152
|
+
hasLink: (_a2 = formatted.link) != null ? _a2 : false
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
})
|
|
156
|
+
), /* @__PURE__ */ React__default.createElement(
|
|
69
157
|
Box,
|
|
70
158
|
{
|
|
71
159
|
css: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleMappingEventWrapper.js","sources":["../../../../../src/integration-template/components/dashboard/SingleMappingEventWrapper.tsx"],"sourcesContent":["import { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport React from \"react\";\nimport { DashboardField } from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { EventComponent } from \"./EventComponent\";\n\ntype SingleMappingEventWrapperProps = {\n field: DashboardField;\n isTrigger?: boolean;\n};\n\nexport const SingleMappingEventWrapper: React.FC<SingleMappingEventWrapperProps> = ({\n field,\n isTrigger,\n}) => {\n const hasEventSection =\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any).action ||\n !!(field as any).exisitingSheet ||\n !!(field as any)?.configurationFields ||\n (!!(field as any).object && isTrigger);\n\n console.log(\"field\", field);\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.EVENT}\n </Text>\n <Flex alignItems=\"center\">\n <Flex alignItems=\"center\" gap=\"$20\">\n {!!(field as any)?.object ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={(field as any)?.configuration?.object?.label ?? field?.object}\n />\n ) : null}\n {!!(field as any)?.action ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label ?? \"\" : a ?? \"\")?.join(\", \")\n : field?.action?.toLowerCase() ?? \"\"}\n />\n ) : null}\n </Flex>\n {!!(field as any)?.configurationFields?.account?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACCOUNT}\n description={(field as any)?.configurationFields?.account?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.object?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={((field as any)?.configurationFields?.object?.value?.label as string)?.replace(\n /^./,\n (char: string) => char?.toUpperCase()\n )}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.action?.hasAction ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={(field as any)?.configurationFields?.action?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.spreadsheet?.value ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.sheetURL as boolean}\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHEET}\n description={\n typeof (field as any)?.configurationFields?.spreadsheet === \"object\"\n ? (field as any)?.configurationFields?.spreadsheet?.value?.label\n : (field as any)?.configurationFields?.spreadsheet?.value\n }\n />\n ) : null}\n {!!(field as any)?.configurationFields?.reference ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.reference?.referenceURL as boolean}\n hasBorder={false}\n heading={(field as any)?.configurationFields?.reference?.title}\n description={(field as any)?.configurationFields?.reference?.description}\n />\n ) : null}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\",\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\n"],"names":["React","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SingleMappingEventWrapper.js","sources":["../../../../../src/integration-template/components/dashboard/SingleMappingEventWrapper.tsx"],"sourcesContent":["import { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport React from \"react\";\nimport { DashboardField } from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { EventComponent } from \"./EventComponent\";\n\ntype SingleMappingEventWrapperProps = {\n field: DashboardField;\n isTrigger?: boolean;\n};\n\nconst MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD = new Set([\n \"responseImportSettings\",\n \"responseImportType\",\n]);\n\n/** API mapping payloads expose `configuration` as `{ [key]: { id, value } }`. Trigger-style payloads use other shapes — only list entries that match this pattern. */\nfunction getMappingPayloadConfigurationEntries(\n configuration: unknown\n): { key: string; value: unknown }[] {\n if (!configuration || typeof configuration !== \"object\" || Array.isArray(configuration)) {\n return [];\n }\n const rows: { key: string; value: unknown }[] = [];\n for (const [key, entry] of Object.entries(configuration as Record<string, unknown>)) {\n if (MAPPING_CONFIGURATION_KEYS_HIDDEN_FROM_DASHBOARD.has(key)) {\n continue;\n }\n if (\n entry &&\n typeof entry === \"object\" &&\n !Array.isArray(entry) &&\n \"value\" in entry &&\n typeof (entry as { value?: unknown }).value !== \"undefined\"\n ) {\n rows.push({ key, value: (entry as { value: unknown }).value });\n }\n }\n return rows;\n}\n\nfunction humanizeMappingConfigKey(key: string): string {\n const spaced = key\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/_/g, \" \");\n return spaced.replace(/\\b\\w/g, (c) => c.toUpperCase()).trim();\n}\n\nfunction formatMappingConfigValue(value: unknown): { text: string; link?: string } {\n if (value === null || value === undefined) {\n return { text: \"—\" };\n }\n if (typeof value === \"boolean\") {\n return { text: value ? \"Yes\" : \"No\" };\n }\n if (typeof value === \"number\" || typeof value === \"string\") {\n return { text: String(value) };\n }\n if (Array.isArray(value)) {\n return {\n text: value.map((item) => formatMappingConfigValue(item).text).join(\", \"),\n };\n }\n if (typeof value === \"object\") {\n const o = value as Record<string, unknown>;\n const label =\n typeof o.label === \"string\"\n ? o.label\n : typeof o.title === \"string\"\n ? o.title\n : undefined;\n const webUrl = typeof o.webUrl === \"string\" ? o.webUrl : undefined;\n if (label) {\n return { text: label, link: webUrl };\n }\n if (webUrl) {\n return { text: webUrl, link: webUrl };\n }\n try {\n return { text: JSON.stringify(value) };\n } catch {\n return { text: String(value) };\n }\n }\n return { text: String(value) };\n}\n\nexport const SingleMappingEventWrapper: React.FC<SingleMappingEventWrapperProps> = ({\n field,\n isTrigger,\n}) => {\n const mappingPayloadConfigurationEntries = getMappingPayloadConfigurationEntries(\n (field as Record<string, unknown>)?.configuration\n );\n\n const hasEventSection =\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any).action ||\n !!(field as any).exisitingSheet ||\n !!(field as any)?.configurationFields ||\n (!!(field as any).object && isTrigger) ||\n mappingPayloadConfigurationEntries.length > 0;\n\n const hasLegacyMappingEventPieces =\n !!(field as any)?.object ||\n !!(field as any)?.action ||\n !!(field as any)?.configurationFields?.account?.value?.label ||\n !!(field as any)?.configurationFields?.object?.value?.label ||\n !!(field as any)?.configurationFields?.action?.hasAction ||\n !!(field as any)?.configurationFields?.spreadsheet?.value ||\n !!(field as any)?.configurationFields?.reference;\n\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.EVENT}\n </Text>\n <Flex\n alignItems=\"center\"\n css={{\n flexWrap: \"wrap\",\n rowGap: \"$6\",\n }}\n >\n <Flex alignItems=\"center\" gap=\"$20\">\n {!!(field as any)?.object ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={(field as any)?.configuration?.object?.label ?? field?.object}\n />\n ) : null}\n {!!(field as any)?.action ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label ?? \"\" : a ?? \"\")?.join(\", \")\n : field?.action?.toLowerCase() ?? \"\"}\n />\n ) : null}\n </Flex>\n {!!(field as any)?.configurationFields?.account?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.ACCOUNT}\n description={(field as any)?.configurationFields?.account?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.object?.value?.label ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.OBJECT}\n description={((field as any)?.configurationFields?.object?.value?.label as string)?.replace(\n /^./,\n (char: string) => char?.toUpperCase()\n )}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.action?.hasAction ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.ACTION}\n description={(field as any)?.configurationFields?.action?.value?.label}\n />\n ) : null}\n {!!(field as any)?.configurationFields?.spreadsheet?.value ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.sheetURL as boolean}\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHEET}\n description={\n typeof (field as any)?.configurationFields?.spreadsheet === \"object\"\n ? (field as any)?.configurationFields?.spreadsheet?.value?.label\n : (field as any)?.configurationFields?.spreadsheet?.value\n }\n />\n ) : null}\n {!!(field as any)?.configurationFields?.reference ? (\n <EventComponent\n hasLink={(field as any)?.configurationFields?.reference?.referenceURL as boolean}\n hasBorder={true}\n heading={(field as any)?.configurationFields?.reference?.title}\n description={(field as any)?.configurationFields?.reference?.description}\n />\n ) : null}\n {mappingPayloadConfigurationEntries.map(({ key, value }, index) => {\n const formatted = formatMappingConfigValue(value);\n return (\n <EventComponent\n key={`mapping-config-${key}`}\n hasBorder={hasLegacyMappingEventPieces || index > 0 || mappingPayloadConfigurationEntries?.length === index - 1}\n heading={`${humanizeMappingConfigKey(key)}:`}\n description={formatted.text}\n hasLink={formatted.link ?? false}\n />\n );\n })}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\",\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\n"],"names":["React","_a"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default, { useState } from 'react';
|
|
1
|
+
import React__default, { useState, useEffect, useMemo } from 'react';
|
|
2
2
|
import { parseDate as $fae977aafc393c5c$export$6b862160d295c8e } from '../../node_modules/@internationalized/date/dist/string.js';
|
|
3
3
|
import dayjs from '../../node_modules/dayjs/dayjs.min.js';
|
|
4
4
|
import { Popover, PopoverTrigger, PopoverContent } from '../../node_modules/@sparrowengg/twigs-react/dist/es/popover/popover.js';
|
|
@@ -6,22 +6,55 @@ import { Input } from '../../node_modules/@sparrowengg/twigs-react/dist/es/input
|
|
|
6
6
|
import { CalendarIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/calendar.js';
|
|
7
7
|
import { Calendar } from '../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js';
|
|
8
8
|
|
|
9
|
+
function parseStringToDateValue(v) {
|
|
10
|
+
if (v == null || String(v).trim() === "") {
|
|
11
|
+
return $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"));
|
|
12
|
+
}
|
|
13
|
+
const trimmed = String(v).trim();
|
|
14
|
+
try {
|
|
15
|
+
if (/^\d{4}-\d{2}-\d{2}/.test(trimmed)) {
|
|
16
|
+
return $fae977aafc393c5c$export$6b862160d295c8e(trimmed.slice(0, 10));
|
|
17
|
+
}
|
|
18
|
+
const parsed = dayjs(trimmed);
|
|
19
|
+
if (parsed.isValid()) {
|
|
20
|
+
return $fae977aafc393c5c$export$6b862160d295c8e(parsed.format("YYYY-MM-DD"));
|
|
21
|
+
}
|
|
22
|
+
} catch (e) {
|
|
23
|
+
}
|
|
24
|
+
return $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"));
|
|
25
|
+
}
|
|
26
|
+
function formatCalendarDateParts(d) {
|
|
27
|
+
return `${d.year}-${String(d.month).padStart(2, "0")}-${String(d.day).padStart(2, "0")}`;
|
|
28
|
+
}
|
|
9
29
|
const CustomDateMenu = ({
|
|
10
30
|
onChangeHandler,
|
|
11
|
-
value
|
|
31
|
+
value,
|
|
32
|
+
variant = "datetime"
|
|
12
33
|
}) => {
|
|
13
34
|
const [popoverOpen, setPopoverOpen] = useState(false);
|
|
14
|
-
const [date, setDate] = useState(() =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
35
|
+
const [date, setDate] = useState(() => parseStringToDateValue(value));
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
setDate(parseStringToDateValue(value));
|
|
38
|
+
}, [value]);
|
|
39
|
+
const inputDisplay = useMemo(() => {
|
|
40
|
+
if (value == null || String(value).trim() === "") {
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
43
|
+
const s = String(value);
|
|
44
|
+
if (variant === "datetime" && s.includes("\u2022")) {
|
|
45
|
+
return s;
|
|
46
|
+
}
|
|
47
|
+
const parsed = dayjs(s);
|
|
48
|
+
if (parsed.isValid()) {
|
|
49
|
+
return variant === "date" ? parsed.format("MM/DD/YYYY") : parsed.format("MM/DD/YYYY \u2022 HH:mm");
|
|
19
50
|
}
|
|
20
|
-
|
|
51
|
+
return s;
|
|
52
|
+
}, [value, variant]);
|
|
53
|
+
const datetimePlaceholder = dayjs(/* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm");
|
|
21
54
|
return /* @__PURE__ */ React__default.createElement(Popover, { open: popoverOpen, onOpenChange: (open) => setPopoverOpen(open) }, /* @__PURE__ */ React__default.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
|
|
22
55
|
Input,
|
|
23
56
|
{
|
|
24
|
-
value:
|
|
57
|
+
value: inputDisplay || (variant === "datetime" ? datetimePlaceholder : ""),
|
|
25
58
|
size: "lg",
|
|
26
59
|
readOnly: true,
|
|
27
60
|
rightIcon: /* @__PURE__ */ React__default.createElement(CalendarIcon, null)
|
|
@@ -39,10 +72,14 @@ const CustomDateMenu = ({
|
|
|
39
72
|
footerActionText: "Apply",
|
|
40
73
|
value: date,
|
|
41
74
|
onChange: setDate,
|
|
42
|
-
showTimePicker:
|
|
75
|
+
showTimePicker: variant === "datetime",
|
|
43
76
|
footerAction: () => {
|
|
44
|
-
|
|
45
|
-
|
|
77
|
+
if (variant === "date") {
|
|
78
|
+
onChangeHandler(formatCalendarDateParts(date));
|
|
79
|
+
} else {
|
|
80
|
+
const jsDate = new Date(date.year, date.month - 1, date.day);
|
|
81
|
+
onChangeHandler(dayjs(jsDate).format("MM/DD/YYYY \u2022 HH:mm"));
|
|
82
|
+
}
|
|
46
83
|
setPopoverOpen(false);
|
|
47
84
|
}
|
|
48
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue
|
|
1
|
+
{"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\n\nexport type CustomDateMenuVariant = \"datetime\" | \"date\";\n\ntype CustomDateMenuProps = {\n onChangeHandler: (value: string) => void;\n value: string | null | undefined;\n /** `datetime` matches legacy mapping default (time + \"•\" format). `date` is calendar-only, ISO `YYYY-MM-DD` on apply. */\n variant?: CustomDateMenuVariant;\n};\n\nfunction parseStringToDateValue(v: string | null | undefined): DateValue {\n if (v == null || String(v).trim() === \"\") {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n const trimmed = String(v).trim();\n try {\n if (/^\\d{4}-\\d{2}-\\d{2}/.test(trimmed)) {\n return parseDate(trimmed.slice(0, 10));\n }\n const parsed = dayjs(trimmed);\n if (parsed.isValid()) {\n return parseDate(parsed.format(\"YYYY-MM-DD\"));\n }\n } catch {\n // fall through\n }\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n}\n\nfunction formatCalendarDateParts(d: DateValue): string {\n return `${d.year}-${String(d.month).padStart(2, \"0\")}-${String(d.day).padStart(2, \"0\")}`;\n}\n\nconst CustomDateMenu: React.FC<CustomDateMenuProps> = ({\n onChangeHandler,\n value,\n variant = \"datetime\",\n}) => {\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [date, setDate] = useState<DateValue>(() => parseStringToDateValue(value));\n\n useEffect(() => {\n setDate(parseStringToDateValue(value));\n }, [value]);\n\n const inputDisplay = useMemo(() => {\n if (value == null || String(value).trim() === \"\") {\n return \"\";\n }\n const s = String(value);\n if (variant === \"datetime\" && s.includes(\"•\")) {\n return s;\n }\n const parsed = dayjs(s);\n if (parsed.isValid()) {\n return variant === \"date\"\n ? parsed.format(\"MM/DD/YYYY\")\n : parsed.format(\"MM/DD/YYYY • HH:mm\");\n }\n return s;\n }, [value, variant]);\n\n const datetimePlaceholder = dayjs(new Date()).format(\"MM/DD/YYYY • HH:mm\");\n\n return (\n <Popover open={popoverOpen} onOpenChange={(open) => setPopoverOpen(open)}>\n <PopoverTrigger asChild>\n <Input\n value={\n inputDisplay ||\n (variant === \"datetime\" ? datetimePlaceholder : \"\")\n }\n size=\"lg\"\n readOnly\n rightIcon={<CalendarIcon />}\n />\n </PopoverTrigger>\n <PopoverContent\n sideOffset={3}\n css={{ width: 260, padding: 0, borderRadius: \"$xl\" }}\n >\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n onChange={setDate}\n showTimePicker={variant === \"datetime\"}\n footerAction={() => {\n if (variant === \"date\") {\n onChangeHandler(formatCalendarDateParts(date));\n } else {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n onChangeHandler(dayjs(jsDate).format(\"MM/DD/YYYY • HH:mm\"));\n }\n setPopoverOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default CustomDateMenu;\n"],"names":["parseDate","React"],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ const Field = ({
|
|
|
64
64
|
removeField,
|
|
65
65
|
showCustomPropertyModal
|
|
66
66
|
}) => {
|
|
67
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p
|
|
67
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
68
68
|
useEffect(() => {
|
|
69
69
|
if (!field.integrationField) {
|
|
70
70
|
const foundField = integrationFields.find(
|
|
@@ -227,7 +227,7 @@ const Field = ({
|
|
|
227
227
|
integrationFieldType: (_p = (_o = (_m = (_k = field == null ? void 0 : field.integrationFieldType) == null ? void 0 : _k.value) != null ? _m : (_l = integrationFields.find(
|
|
228
228
|
(integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
|
|
229
229
|
)) == null ? void 0 : _l.type) != null ? _o : (_n = field.integrationField) == null ? void 0 : _n.type) != null ? _p : "STRING",
|
|
230
|
-
|
|
230
|
+
defaultValue: field == null ? void 0 : field.defaultValue
|
|
231
231
|
}
|
|
232
232
|
)
|
|
233
233
|
)),
|
|
@@ -249,8 +249,19 @@ const Field = ({
|
|
|
249
249
|
)
|
|
250
250
|
));
|
|
251
251
|
};
|
|
252
|
-
|
|
253
|
-
|
|
252
|
+
function resolveDefaultValueForControl(defaultValue) {
|
|
253
|
+
if (defaultValue == null) {
|
|
254
|
+
return void 0;
|
|
255
|
+
}
|
|
256
|
+
if (typeof defaultValue === "object" && defaultValue !== null && "value" in defaultValue) {
|
|
257
|
+
return defaultValue.value;
|
|
258
|
+
}
|
|
259
|
+
return defaultValue;
|
|
260
|
+
}
|
|
261
|
+
const DefaultField = ({ integrationFieldType, handleFieldValue, defaultValue }) => {
|
|
262
|
+
const value = resolveDefaultValueForControl(defaultValue);
|
|
263
|
+
const normalizedType = `${integrationFieldType != null ? integrationFieldType : "STRING"}`.toUpperCase();
|
|
264
|
+
switch (normalizedType) {
|
|
254
265
|
case "BOOLEAN":
|
|
255
266
|
return /* @__PURE__ */ React__default.createElement(
|
|
256
267
|
Select,
|
|
@@ -275,10 +286,12 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
275
286
|
}
|
|
276
287
|
);
|
|
277
288
|
case "DATE_TIME":
|
|
289
|
+
case "DATETIME":
|
|
278
290
|
return /* @__PURE__ */ React__default.createElement(
|
|
279
291
|
CustomDateMenu,
|
|
280
292
|
{
|
|
281
|
-
|
|
293
|
+
variant: "datetime",
|
|
294
|
+
value: value != null && value !== "" ? String(value) : "",
|
|
282
295
|
onChangeHandler: (dateValue) => {
|
|
283
296
|
handleFieldValue({
|
|
284
297
|
type: "DATE_TIME",
|
|
@@ -287,6 +300,20 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
287
300
|
}
|
|
288
301
|
}
|
|
289
302
|
);
|
|
303
|
+
case "DATE":
|
|
304
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
305
|
+
CustomDateMenu,
|
|
306
|
+
{
|
|
307
|
+
variant: "date",
|
|
308
|
+
value: value != null && value !== "" ? String(value) : "",
|
|
309
|
+
onChangeHandler: (dateValue) => {
|
|
310
|
+
handleFieldValue({
|
|
311
|
+
type: "DATE",
|
|
312
|
+
value: dateValue
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
);
|
|
290
317
|
case "NUMBER":
|
|
291
318
|
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
|
|
292
319
|
Input,
|
|
@@ -294,11 +321,11 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
294
321
|
size: "lg",
|
|
295
322
|
type: "number",
|
|
296
323
|
placeholder: "",
|
|
297
|
-
value,
|
|
324
|
+
value: value === null || value === void 0 ? "" : value,
|
|
298
325
|
min: 0,
|
|
299
326
|
onChange: (e) => handleFieldValue({
|
|
300
327
|
type: "NUMBER",
|
|
301
|
-
value: parseInt(e.currentTarget.value)
|
|
328
|
+
value: parseInt(e.currentTarget.value, 10)
|
|
302
329
|
})
|
|
303
330
|
}
|
|
304
331
|
));
|
|
@@ -308,7 +335,7 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
|
|
|
308
335
|
{
|
|
309
336
|
size: "lg",
|
|
310
337
|
placeholder: "",
|
|
311
|
-
value,
|
|
338
|
+
value: value === null || value === void 0 ? "" : String(value),
|
|
312
339
|
onChange: (e) => handleFieldValue({
|
|
313
340
|
type: "STRING",
|
|
314
341
|
value: e.currentTarget.value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sources":["../../../../src/mapping/components/field.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n FormLabel,\n IconButton,\n Input,\n Select,\n Text,\n Tooltip,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect } from \"react\";\nimport Trash from \"../../commons/icons/trash\";\nimport CustomMenu from \"./custom-menu\";\nimport { integrationsClassicSubmissionProperties, integrationsNpsSubmissionProperties, mappingType, subMenuOptions } from \"../../commons/constants\";\nimport { handleMappingOptions } from \"../../commons/helpers\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { FieldProps } from \"../types\";\nimport CustomDateMenu from \"./custom-date-menu\";\nimport CustomOption from \"./custom-option\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport { DateValue } from \"@internationalized/date\";\nimport { InfoIcon } from \"@sparrowengg/twigs-react-icons\";\n\nconst customStyles = {\n menuList: (prevStyles: any) => ({\n ...prevStyles,\n maxHeight: 176,\n // width: \"300px !important\",\n }),\n};\n\nconst subMenuCustomStyles = {\n menu: (prevStyles: any) => ({\n ...prevStyles,\n width: 260,\n right: 0,\n }),\n};\n\nconst Field: React.FC<FieldProps> = ({\n hasDerivedQuestions,\n hasSurveyProperties,\n surveyType,\n havingTypeDropdown,\n field,\n isFirstField,\n handleFieldValue,\n ssMappingData,\n integrationFields,\n integrationName,\n hasCustomMenuProperty,\n isBtnDisabled,\n removeField,\n showCustomPropertyModal,\n}) => {\n useEffect(() => {\n if (!field.integrationField) {\n const foundField = integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n );\n if (foundField) {\n field.integrationField = {\n label: foundField.label,\n value: foundField.value,\n type: foundField.type,\n };\n }\n }\n }, [field, integrationFields]);\n\n const hasNumberDefaultField = (type: any): boolean => {\n if(type === \"NUMBER\"){\n return true;\n }\n return false;\n }\n\n return (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {field?.essentialFieldLabel && (\n <Text size=\"sm\" weight=\"bold\">\n {field.essentialFieldLabel}\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>\n </Text>\n )}\n <Flex\n key={field.id}\n css={{\n width: \"100%\",\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n \"& #arrow path\": {\n fill: \"$secondary500\",\n },\n },\n }}\n alignItems=\"center\"\n gap=\"$6\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: 144 }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Type\n </FormLabel>\n )}\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n isSearchable={false}\n value={field?.mappedType}\n options={hasDerivedQuestions ? mappingType : mappingType.filter((type) => type?.value !== \"DERIVED_QUESTION\")}\n onChange={(type: any) => handleFieldValue(field?.id, \"type\", type)}\n styles={customStyles}\n />\n </Flex>\n <Flex alignItems=\"center\" css={{ flex: 1 }} gap=\"11px\">\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n SurveySparrow Field\n </FormLabel>\n )}\n <Select\n size=\"lg\"\n placeholder=\"Choose\"\n value={field?.surveySparrowField}\n onChange={(ssField: any) =>\n handleFieldValue(field?.id, \"surveySparrowField\", ssField)\n }\n options={handleMappingOptions(\n (field?.mappedType?.value ?? \"QUESTION\") as string,\n ssMappingData.questions,\n ssMappingData.contactProperties,\n ssMappingData.derivedQuestions,\n ssMappingData.variables,\n ssMappingData.expressions,\n integrationsNpsSubmissionProperties,\n integrationsClassicSubmissionProperties,\n surveyType,\n hasSurveyProperties\n )?.map((option: any) => {\n if(!option?.label || !option?.label?.length){\n return {\n ...option,\n label: option.rtxt,\n \n }\n }\n return option;\n })}\n styles={customStyles}\n />\n </Flex>\n <Box\n as=\"span\"\n id=\"arrow\"\n css={{\n paddingTop: isFirstField || field.isEssentialField ? \"$9\" : 0,\n }}\n >\n <Arrow />\n </Box>\n <Flex flexDirection=\"column\" gap=\"$2\">\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`${integrationName} Field`}\n </FormLabel>\n )}\n <Flex alignItems=\"center\">\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n value={\n field?.integrationField ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )\n }\n isDisabled={!!integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )}\n onChange={(integration: any) => {\n handleFieldValue(field?.id, \"integrationField\", integration);\n }}\n css={{\n width: 260,\n \"& .twigs-select__control\": {\n borderTopRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n borderBottomRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n },\n }}\n options={integrationFields}\n styles={customStyles}\n components={{\n ...(hasCustomMenuProperty && {\n Menu: (props: any) => (\n <CustomMenu\n {...props}\n customOnClick={showCustomPropertyModal}\n />\n ),\n }),\n }}\n />\n {havingTypeDropdown && (\n <Select\n css={{\n width: 112,\n \"& .twigs-select__control\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n border: \"$borderWidths$xs solid $neutral200\",\n },\n }}\n isDisabled={!field?.integrationField?.value}\n value={field?.integrationFieldType}\n onChange={(integration: any) =>\n handleFieldValue(\n field?.id,\n \"integrationFieldType\",\n integration\n )\n }\n styles={subMenuCustomStyles}\n options={subMenuOptions}\n closeMenuOnSelect\n // @ts-ignore\n noneOptionHandler={(value) =>\n handleFieldValue(field?.id, \"integrationFieldType\", value)\n }\n components={{ Menu: CustomMenu as any, Option: CustomOption as any }}\n placeholder=\"Choose\"\n size=\"lg\"\n />\n )}\n </Flex>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$2\"\n css={{ maxWidth: 180, width: \"100%\" }}\n >\n {(isFirstField || field.isEssentialField) && (\n <Flex alignItems=\"center\" gap=\"$2\" css={{\n cursor: \"pointer\",\n }}>\n <FormLabel size=\"xs\" css={{ width: \"fit-content !important\", justifyContent: \"start\", alignItems: \"center\", fontWeight: \"$5\" }}>\n {\"Default Value (Optional)\"}\n \n </FormLabel>\n {(field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type) === \"NUMBER\" ? <Tooltip className=\"dm-sans\" content=\"Please enter a valid number\">\n <InfoIcon size={14} color=\"#9E9E9E\" />\n </Tooltip> : null}\n </Flex>\n \n )}\n <DefaultField\n handleFieldValue={(value: any) => {\n handleFieldValue(field?.id, \"defaultValue\", value);\n }}\n integrationFieldType={\n (field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type ?? \"STRING\") as string\n }\n value={(field?.defaultValue as any)?.value ?? field?.defaultValue}\n />\n </Flex>\n </Flex>\n {!field.isEssentialField && (\n <IconButton\n css={{\n transition: \"all .3s ease\",\n marginTop: isFirstField ? \"$11\" : 0,\n }}\n size=\"sm\"\n icon={<Trash />}\n variant=\"ghost\"\n color=\"default\"\n disabled={isBtnDisabled}\n onClick={removeField}\n aria-label=\"Remove field\"\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default Field;\n\nconst DefaultField: React.FC<{\n integrationFieldType: string;\n handleFieldValue: (value: any) => void;\n value: any;\n}> = ({ integrationFieldType, handleFieldValue, value }) => {\n switch (`${integrationFieldType}`) {\n case \"BOOLEAN\":\n return (\n <Select\n options={[\n {\n label: \"true\",\n value: true,\n },\n {\n label: \"false\",\n value: false,\n },\n ]}\n size=\"lg\"\n value={value}\n placeholder=\"\"\n onChange={(booleanValue: any) =>\n handleFieldValue({\n type: \"BOOLEAN\",\n value: booleanValue,\n })\n }\n />\n );\n case \"DATE_TIME\":\n return (\n <CustomDateMenu\n value={value}\n onChangeHandler={(dateValue: any) => {\n handleFieldValue({\n type: \"DATE_TIME\",\n value: dateValue,\n });\n }}\n />\n );\n case \"NUMBER\":\n return (\n <>\n <Input\n size=\"lg\"\n type=\"number\"\n placeholder=\"\"\n value={value}\n min={0}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"NUMBER\",\n value: parseInt(e.currentTarget.value),\n })\n }\n />\n </>\n );\n default:\n return (\n <Input\n size=\"lg\"\n placeholder=\"\"\n value={value}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"STRING\",\n value: e.currentTarget.value,\n })\n }\n />\n );\n }\n};"],"names":["React","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field.js","sources":["../../../../src/mapping/components/field.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n FormLabel,\n IconButton,\n Input,\n Select,\n Text,\n Tooltip,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect } from \"react\";\nimport Trash from \"../../commons/icons/trash\";\nimport CustomMenu from \"./custom-menu\";\nimport { integrationsClassicSubmissionProperties, integrationsNpsSubmissionProperties, mappingType, subMenuOptions } from \"../../commons/constants\";\nimport { handleMappingOptions } from \"../../commons/helpers\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { FieldProps } from \"../types\";\nimport CustomDateMenu from \"./custom-date-menu\";\nimport CustomOption from \"./custom-option\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport { InfoIcon } from \"@sparrowengg/twigs-react-icons\";\n\nconst customStyles = {\n menuList: (prevStyles: any) => ({\n ...prevStyles,\n maxHeight: 176,\n // width: \"300px !important\",\n }),\n};\n\nconst subMenuCustomStyles = {\n menu: (prevStyles: any) => ({\n ...prevStyles,\n width: 260,\n right: 0,\n }),\n};\n\nconst Field: React.FC<FieldProps> = ({\n hasDerivedQuestions,\n hasSurveyProperties,\n surveyType,\n havingTypeDropdown,\n field,\n isFirstField,\n handleFieldValue,\n ssMappingData,\n integrationFields,\n integrationName,\n hasCustomMenuProperty,\n isBtnDisabled,\n removeField,\n showCustomPropertyModal,\n}) => {\n useEffect(() => {\n if (!field.integrationField) {\n const foundField = integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n );\n if (foundField) {\n field.integrationField = {\n label: foundField.label,\n value: foundField.value,\n type: foundField.type,\n };\n }\n }\n }, [field, integrationFields]);\n\n const hasNumberDefaultField = (type: any): boolean => {\n if(type === \"NUMBER\"){\n return true;\n }\n return false;\n }\n\n return (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {field?.essentialFieldLabel && (\n <Text size=\"sm\" weight=\"bold\">\n {field.essentialFieldLabel}\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>\n </Text>\n )}\n <Flex\n key={field.id}\n css={{\n width: \"100%\",\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n \"& #arrow path\": {\n fill: \"$secondary500\",\n },\n },\n }}\n alignItems=\"center\"\n gap=\"$6\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: 144 }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Type\n </FormLabel>\n )}\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n isSearchable={false}\n value={field?.mappedType}\n options={hasDerivedQuestions ? mappingType : mappingType.filter((type) => type?.value !== \"DERIVED_QUESTION\")}\n onChange={(type: any) => handleFieldValue(field?.id, \"type\", type)}\n styles={customStyles}\n />\n </Flex>\n <Flex alignItems=\"center\" css={{ flex: 1 }} gap=\"11px\">\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n SurveySparrow Field\n </FormLabel>\n )}\n <Select\n size=\"lg\"\n placeholder=\"Choose\"\n value={field?.surveySparrowField}\n onChange={(ssField: any) =>\n handleFieldValue(field?.id, \"surveySparrowField\", ssField)\n }\n options={handleMappingOptions(\n (field?.mappedType?.value ?? \"QUESTION\") as string,\n ssMappingData.questions,\n ssMappingData.contactProperties,\n ssMappingData.derivedQuestions,\n ssMappingData.variables,\n ssMappingData.expressions,\n integrationsNpsSubmissionProperties,\n integrationsClassicSubmissionProperties,\n surveyType,\n hasSurveyProperties\n )?.map((option: any) => {\n if(!option?.label || !option?.label?.length){\n return {\n ...option,\n label: option.rtxt,\n \n }\n }\n return option;\n })}\n styles={customStyles}\n />\n </Flex>\n <Box\n as=\"span\"\n id=\"arrow\"\n css={{\n paddingTop: isFirstField || field.isEssentialField ? \"$9\" : 0,\n }}\n >\n <Arrow />\n </Box>\n <Flex flexDirection=\"column\" gap=\"$2\">\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`${integrationName} Field`}\n </FormLabel>\n )}\n <Flex alignItems=\"center\">\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n value={\n field?.integrationField ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )\n }\n isDisabled={!!integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )}\n onChange={(integration: any) => {\n handleFieldValue(field?.id, \"integrationField\", integration);\n }}\n css={{\n width: 260,\n \"& .twigs-select__control\": {\n borderTopRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n borderBottomRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n },\n }}\n options={integrationFields}\n styles={customStyles}\n components={{\n ...(hasCustomMenuProperty && {\n Menu: (props: any) => (\n <CustomMenu\n {...props}\n customOnClick={showCustomPropertyModal}\n />\n ),\n }),\n }}\n />\n {havingTypeDropdown && (\n <Select\n css={{\n width: 112,\n \"& .twigs-select__control\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n border: \"$borderWidths$xs solid $neutral200\",\n },\n }}\n isDisabled={!field?.integrationField?.value}\n value={field?.integrationFieldType}\n onChange={(integration: any) =>\n handleFieldValue(\n field?.id,\n \"integrationFieldType\",\n integration\n )\n }\n styles={subMenuCustomStyles}\n options={subMenuOptions}\n closeMenuOnSelect\n // @ts-ignore\n noneOptionHandler={(value) =>\n handleFieldValue(field?.id, \"integrationFieldType\", value)\n }\n components={{ Menu: CustomMenu as any, Option: CustomOption as any }}\n placeholder=\"Choose\"\n size=\"lg\"\n />\n )}\n </Flex>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$2\"\n css={{ maxWidth: 180, width: \"100%\" }}\n >\n {(isFirstField || field.isEssentialField) && (\n <Flex alignItems=\"center\" gap=\"$2\" css={{\n cursor: \"pointer\",\n }}>\n <FormLabel size=\"xs\" css={{ width: \"fit-content !important\", justifyContent: \"start\", alignItems: \"center\", fontWeight: \"$5\" }}>\n {\"Default Value (Optional)\"}\n \n </FormLabel>\n {(field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type) === \"NUMBER\" ? <Tooltip className=\"dm-sans\" content=\"Please enter a valid number\">\n <InfoIcon size={14} color=\"#9E9E9E\" />\n </Tooltip> : null}\n </Flex>\n \n )}\n <DefaultField\n handleFieldValue={(value: any) => {\n handleFieldValue(field?.id, \"defaultValue\", value);\n }}\n integrationFieldType={\n (field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type ?? \"STRING\") as string\n }\n defaultValue={field?.defaultValue}\n />\n </Flex>\n </Flex>\n {!field.isEssentialField && (\n <IconButton\n css={{\n transition: \"all .3s ease\",\n marginTop: isFirstField ? \"$11\" : 0,\n }}\n size=\"sm\"\n icon={<Trash />}\n variant=\"ghost\"\n color=\"default\"\n disabled={isBtnDisabled}\n onClick={removeField}\n aria-label=\"Remove field\"\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default Field;\n\nfunction resolveDefaultValueForControl(defaultValue: unknown): unknown {\n if (defaultValue == null) {\n return undefined;\n }\n if (typeof defaultValue === \"object\" && defaultValue !== null && \"value\" in defaultValue) {\n return (defaultValue as { value?: unknown }).value;\n }\n return defaultValue;\n}\n\nconst DefaultField: React.FC<{\n integrationFieldType: string;\n handleFieldValue: (value: any) => void;\n defaultValue: unknown;\n}> = ({ integrationFieldType, handleFieldValue, defaultValue }) => {\n const value = resolveDefaultValueForControl(defaultValue);\n const normalizedType = `${integrationFieldType ?? \"STRING\"}`.toUpperCase();\n\n switch (normalizedType) {\n case \"BOOLEAN\":\n return (\n <Select\n options={[\n {\n label: \"true\",\n value: true,\n },\n {\n label: \"false\",\n value: false,\n },\n ]}\n size=\"lg\"\n value={value}\n placeholder=\"\"\n onChange={(booleanValue: any) =>\n handleFieldValue({\n type: \"BOOLEAN\",\n value: booleanValue,\n })\n }\n />\n );\n case \"DATE_TIME\":\n case \"DATETIME\":\n return (\n <CustomDateMenu\n variant=\"datetime\"\n value={value != null && value !== \"\" ? String(value) : \"\"}\n onChangeHandler={(dateValue: string) => {\n handleFieldValue({\n type: \"DATE_TIME\",\n value: dateValue,\n });\n }}\n />\n );\n case \"DATE\":\n return (\n <CustomDateMenu\n variant=\"date\"\n value={value != null && value !== \"\" ? String(value) : \"\"}\n onChangeHandler={(dateValue: string) => {\n handleFieldValue({\n type: \"DATE\",\n value: dateValue,\n });\n }}\n />\n );\n case \"NUMBER\":\n return (\n <>\n <Input\n size=\"lg\"\n type=\"number\"\n placeholder=\"\"\n value={value === null || value === undefined ? \"\" : value}\n min={0}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"NUMBER\",\n value: parseInt(e.currentTarget.value, 10),\n })\n }\n />\n </>\n );\n default:\n return (\n <Input\n size=\"lg\"\n placeholder=\"\"\n value={value === null || value === undefined ? \"\" : String(value)}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"STRING\",\n value: e.currentTarget.value,\n })\n }\n />\n );\n }\n};"],"names":["React","_a"],"mappings":"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"}
|