@sparrowengg/integrations-templates-frontend 6.0.1 → 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.
Files changed (26) hide show
  1. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js +24 -2
  2. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js.map +1 -1
  3. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js +24 -2
  4. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
  5. package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
  6. package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
  7. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js +24 -2
  8. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
  9. package/dist/cjs/mapping/components/custom-date-menu.js +48 -11
  10. package/dist/cjs/mapping/components/custom-date-menu.js.map +1 -1
  11. package/dist/cjs/mapping/components/field.js +35 -8
  12. package/dist/cjs/mapping/components/field.js.map +1 -1
  13. package/dist/es/integration-template/components/dashboard/DashboardItem.js +24 -2
  14. package/dist/es/integration-template/components/dashboard/DashboardItem.js.map +1 -1
  15. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js +24 -2
  16. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
  17. package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +143 -55
  18. package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
  19. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js +24 -2
  20. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
  21. package/dist/es/mapping/components/custom-date-menu.js +49 -12
  22. package/dist/es/mapping/components/custom-date-menu.js.map +1 -1
  23. package/dist/es/mapping/components/field.js +35 -8
  24. package/dist/es/mapping/components/field.js.map +1 -1
  25. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/loader/circle.js +1 -1
  26. package/package.json +1 -1
@@ -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":["Flex","Text","DASHBOARD_UI_STRINGS","EventComponent","_a","Box"],"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":["Flex","Text","DASHBOARD_UI_STRINGS","EventComponent","_a","Box"],"mappings":"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"}
@@ -14,6 +14,7 @@ var chevronRight = require('../../../node_modules/@sparrowengg/twigs-react-icons
14
14
  var text = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
15
15
  var chip = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js');
16
16
  var box = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
17
+ var circle = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/loader/circle.js');
17
18
  var _switch = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/switch/switch.js');
18
19
  var dropdown = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js');
19
20
  var iconButton = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js');
@@ -38,6 +39,17 @@ const TriggerDashboardItem = ({
38
39
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
39
40
  const [isMappingDisplayed, setIsMappingDisplayed] = React.useState(false);
40
41
  const [isDeleteModalOpen, setIsDeleteModalOpen] = React.useState(false);
42
+ const [isToggling, setIsToggling] = React.useState(false);
43
+ const handleToggle = async (value) => {
44
+ if (!toggleDashboardField)
45
+ return;
46
+ try {
47
+ setIsToggling(true);
48
+ await Promise.resolve(toggleDashboardField(field.id, value));
49
+ } finally {
50
+ setIsToggling(false);
51
+ }
52
+ };
41
53
  const handleEdit = () => {
42
54
  handleEditField({
43
55
  type: "TRIGGER",
@@ -92,12 +104,22 @@ const TriggerDashboardItem = ({
92
104
  height: "$4"
93
105
  }
94
106
  }
95
- ), /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, dashboardConstants.DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React.createElement(box.Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), /* @__PURE__ */ React.createElement(
107
+ ), /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, dashboardConstants.DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React.createElement(box.Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), isToggling ? /* @__PURE__ */ React.createElement(
108
+ circle.CircleLoader,
109
+ {
110
+ size: "xl",
111
+ css: {
112
+ ".twigs-circle-loader__ring": { strokeWidth: "1" },
113
+ ".twigs-circle-loader__dot": { strokeWidth: "1" }
114
+ },
115
+ color: "primary"
116
+ }
117
+ ) : /* @__PURE__ */ React.createElement(
96
118
  _switch.Switch,
97
119
  {
98
120
  size: "md",
99
121
  checked: field.isEnabled,
100
- onChange: (value) => toggleDashboardField == null ? void 0 : toggleDashboardField(field.id, value)
122
+ onChange: handleToggle
101
123
  }
102
124
  ), /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, null, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
103
125
  iconButton.IconButton,
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerDashboardItem.js","sources":["../../../../../src/integration-template/components/dashboard/TriggerDashboardItem.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n IconButton,\n Switch,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useState } from \"react\";\nimport ConfirmationModal from \"../../../commons/components/confirmation-modal\";\nimport {\n DashboardField,\n EventField,\n FieldOptionsType,\n HandleEditField,\n} from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { transformDataToString } from \"../dashboard-utils\";\nimport { EventComponent } from \"./EventComponent\";\nimport { SingleMappingChipWrapper } from \"./SingleMappingChipWrapper\";\nimport { SingleMappingEventWrapper } from \"./SingleMappingEventWrapper\";\nimport { sanitizeHTML } from \"../../../commons/utils\";\n\ntype TriggerDashboardItemProps = {\n onTriggerEditHandler: any;\n isDraft?: boolean;\n fieldOptions: FieldOptionsType;\n icon: React.ReactNode;\n field: DashboardField;\n description: string;\n integrationName: string;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField?: (id: string | number, status: boolean) => void;\n deleteFieldHandler?: (id: string | number) => void;\n};\n\nexport const TriggerDashboardItem: React.FC<TriggerDashboardItemProps> = ({\n onTriggerEditHandler,\n isDraft,\n fieldOptions,\n icon,\n field,\n description,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n\n const handleEdit = () => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id,\n });\n handleDashboardPage(false, \"TRIGGER\");\n };\n\n return (\n <>\n <Flex\n flexDirection=\"column\"\n css={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n marginTop: \"$8\",\n }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed ? \"rgba(100, 116, 139, 0.04)\" : \"$white900\",\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? DASHBOARD_UI_STRINGS.TRIGGER_HEADING}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {description ?? `Trigger survey when an event happens in ${integrationName}`}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n {isDraft && (\n <Flex alignItems=\"center\" gap=\"$12\">\n <Chip rounded=\"full\" size=\"sm\">\n <Box\n css={{\n background: \"$neutral500\",\n borderRadius: \"50%\",\n marginRight: \"$1\",\n width: \"$4\",\n height: \"$4\",\n }}\n />\n <Text size=\"sm\" weight=\"bold\" css={{ color: \"$neutral800\" }}>\n {DASHBOARD_UI_STRINGS.DRAFT}\n </Text>\n </Chip>\n <Box css={{ width: \"1px\", height: \"20px\", background: \"#64748B20\" }} />\n </Flex>\n )}\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={(value) => toggleDashboardField?.(field.id, value)}\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n aria-label=\"More options\"\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n css={{\n minWidth: 180,\n zIndex: 10,\n \"& p\": { margin: \"0 !important\", padding: \"0 !important\" },\n }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }} onClick={handleEdit}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.EDIT}</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => setIsDeleteModalOpen(true)}\n css={{ cursor: \"pointer\" }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.DELETE}</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n\n {isMappingDisplayed && (\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\",\n }}\n >\n <SingleMappingEventWrapper isTrigger field={field} />\n {(field.fields as any)?.filters?.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.CONDITION}\n </Text>\n <Box\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(transformDataToString(field.fields as any, fieldOptions)),\n }}\n />\n </Flex>\n <Box css={{ marginBlock: \"$4\", height: \"1px\", background: \"$neutral100\" }} />\n </>\n ) : null}\n {((field as any)?.triggerDetails?.variables as EventField[])?.length ? (\n <SingleMappingChipWrapper\n heading={\n ((field as any)?.triggerDetails?.variables as EventField[])?.length > 1\n ? DASHBOARD_UI_STRINGS.PASSING_VARIABLES\n : DASHBOARD_UI_STRINGS.PASSING_VARIABLE\n }\n fields={(field as any).triggerDetails.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\">\n {DASHBOARD_UI_STRINGS.SEND_SURVEY}\n </Text>\n <Flex alignItems=\"center\">\n {(field as any)?.triggerDetails?.shareType?.value ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.SHARE_TYPE}\n description={(field as any)?.triggerDetails?.shareType?.label}\n />\n ) : null}\n {(field as any)?.triggerDetails?.shareRecipient?.value ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.RECIPIENT}\n hasBorder\n description={(field as any)?.triggerDetails?.shareRecipient?.label}\n />\n ) : null}\n {(field as any)?.triggerDetails?.shareChannel?.value ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHARE_CHANNEL}\n description={(field as any)?.triggerDetails?.shareChannel?.label}\n />\n ) : null}\n </Flex>\n </Flex>\n </Box>\n )}\n\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\",\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color=\"primary\"\n variant=\"ghost\"\n onClick={handleEdit}\n >\n {DASHBOARD_UI_STRINGS.EDIT_TRIGGER}\n </Button>\n </Box>\n )}\n </Flex>\n {isDeleteModalOpen && (\n <ConfirmationModal\n name={DASHBOARD_UI_STRINGS.DELETE_TRIGGER_TITLE}\n description={DASHBOARD_UI_STRINGS.DELETE_TRIGGER_MESSAGE}\n onConfirm={() => deleteFieldHandler?.(field.id)}\n onCancel={() => setIsDeleteModalOpen(false)}\n />\n )}\n </>\n );\n};\n\n"],"names":["useState","Flex","ChevronDownIcon","ChevronRightIcon","Text","DASHBOARD_UI_STRINGS","Chip","Box","Switch","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","PencilIcon","DeleteIcon","SingleMappingEventWrapper","sanitizeHTML","transformDataToString","SingleMappingChipWrapper","EventComponent","Button","ConfirmationModal"],"mappings":"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"}
1
+ {"version":3,"file":"TriggerDashboardItem.js","sources":["../../../../../src/integration-template/components/dashboard/TriggerDashboardItem.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n IconButton,\n Switch,\n Text,\n CircleLoader,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useState } from \"react\";\nimport ConfirmationModal from \"../../../commons/components/confirmation-modal\";\nimport {\n DashboardField,\n EventField,\n FieldOptionsType,\n HandleEditField,\n} from \"../../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS } from \"../dashboard-constants\";\nimport { transformDataToString } from \"../dashboard-utils\";\nimport { EventComponent } from \"./EventComponent\";\nimport { SingleMappingChipWrapper } from \"./SingleMappingChipWrapper\";\nimport { SingleMappingEventWrapper } from \"./SingleMappingEventWrapper\";\nimport { sanitizeHTML } from \"../../../commons/utils\";\n\ntype TriggerDashboardItemProps = {\n onTriggerEditHandler: any;\n isDraft?: boolean;\n fieldOptions: FieldOptionsType;\n icon: React.ReactNode;\n field: DashboardField;\n description: string;\n integrationName: string;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField?: (id: string | number, status: boolean) => void;\n deleteFieldHandler?: (id: string | number) => void;\n};\n\nexport const TriggerDashboardItem: React.FC<TriggerDashboardItemProps> = ({\n onTriggerEditHandler,\n isDraft,\n fieldOptions,\n icon,\n field,\n description,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n const [isToggling, setIsToggling] = useState(false);\n\n const handleToggle = async (value: boolean) => {\n if (!toggleDashboardField) return;\n try {\n setIsToggling(true);\n await Promise.resolve(toggleDashboardField(field.id, value));\n } finally {\n setIsToggling(false);\n }\n };\n\n const handleEdit = () => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id,\n });\n handleDashboardPage(false, \"TRIGGER\");\n };\n\n return (\n <>\n <Flex\n flexDirection=\"column\"\n css={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n marginTop: \"$8\",\n }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed ? \"rgba(100, 116, 139, 0.04)\" : \"$white900\",\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? DASHBOARD_UI_STRINGS.TRIGGER_HEADING}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {description ?? `Trigger survey when an event happens in ${integrationName}`}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n {isDraft && (\n <Flex alignItems=\"center\" gap=\"$12\">\n <Chip rounded=\"full\" size=\"sm\">\n <Box\n css={{\n background: \"$neutral500\",\n borderRadius: \"50%\",\n marginRight: \"$1\",\n width: \"$4\",\n height: \"$4\",\n }}\n />\n <Text size=\"sm\" weight=\"bold\" css={{ color: \"$neutral800\" }}>\n {DASHBOARD_UI_STRINGS.DRAFT}\n </Text>\n </Chip>\n <Box css={{ width: \"1px\", height: \"20px\", background: \"#64748B20\" }} />\n </Flex>\n )}\n {isToggling ? (\n <CircleLoader\n size=\"xl\"\n css={{\n \".twigs-circle-loader__ring\": { strokeWidth: \"1\" },\n \".twigs-circle-loader__dot\": { strokeWidth: \"1\" },\n }}\n color=\"primary\"\n />\n ) : (\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={handleToggle}\n />\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n aria-label=\"More options\"\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n css={{\n minWidth: 180,\n zIndex: 10,\n \"& p\": { margin: \"0 !important\", padding: \"0 !important\" },\n }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }} onClick={handleEdit}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.EDIT}</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => setIsDeleteModalOpen(true)}\n css={{ cursor: \"pointer\" }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">{DASHBOARD_UI_STRINGS.DELETE}</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n\n {isMappingDisplayed && (\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\",\n }}\n >\n <SingleMappingEventWrapper isTrigger field={field} />\n {(field.fields as any)?.filters?.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {DASHBOARD_UI_STRINGS.CONDITION}\n </Text>\n <Box\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(transformDataToString(field.fields as any, fieldOptions)),\n }}\n />\n </Flex>\n <Box css={{ marginBlock: \"$4\", height: \"1px\", background: \"$neutral100\" }} />\n </>\n ) : null}\n {((field as any)?.triggerDetails?.variables as EventField[])?.length ? (\n <SingleMappingChipWrapper\n heading={\n ((field as any)?.triggerDetails?.variables as EventField[])?.length > 1\n ? DASHBOARD_UI_STRINGS.PASSING_VARIABLES\n : DASHBOARD_UI_STRINGS.PASSING_VARIABLE\n }\n fields={(field as any).triggerDetails.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\">\n {DASHBOARD_UI_STRINGS.SEND_SURVEY}\n </Text>\n <Flex alignItems=\"center\">\n {(field as any)?.triggerDetails?.shareType?.value ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.SHARE_TYPE}\n description={(field as any)?.triggerDetails?.shareType?.label}\n />\n ) : null}\n {(field as any)?.triggerDetails?.shareRecipient?.value ? (\n <EventComponent\n heading={DASHBOARD_UI_STRINGS.RECIPIENT}\n hasBorder\n description={(field as any)?.triggerDetails?.shareRecipient?.label}\n />\n ) : null}\n {(field as any)?.triggerDetails?.shareChannel?.value ? (\n <EventComponent\n hasBorder\n heading={DASHBOARD_UI_STRINGS.SHARE_CHANNEL}\n description={(field as any)?.triggerDetails?.shareChannel?.label}\n />\n ) : null}\n </Flex>\n </Flex>\n </Box>\n )}\n\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\",\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color=\"primary\"\n variant=\"ghost\"\n onClick={handleEdit}\n >\n {DASHBOARD_UI_STRINGS.EDIT_TRIGGER}\n </Button>\n </Box>\n )}\n </Flex>\n {isDeleteModalOpen && (\n <ConfirmationModal\n name={DASHBOARD_UI_STRINGS.DELETE_TRIGGER_TITLE}\n description={DASHBOARD_UI_STRINGS.DELETE_TRIGGER_MESSAGE}\n onConfirm={() => deleteFieldHandler?.(field.id)}\n onCancel={() => setIsDeleteModalOpen(false)}\n />\n )}\n </>\n );\n};\n\n"],"names":["useState","Flex","ChevronDownIcon","ChevronRightIcon","Text","DASHBOARD_UI_STRINGS","Chip","Box","CircleLoader","Switch","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","PencilIcon","DeleteIcon","SingleMappingEventWrapper","sanitizeHTML","transformDataToString","SingleMappingChipWrapper","EventComponent","Button","ConfirmationModal"],"mappings":"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"}
@@ -10,22 +10,55 @@ var input = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/i
10
10
  var calendar = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/calendar.js');
11
11
  var calendar$1 = require('../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js');
12
12
 
13
+ function parseStringToDateValue(v) {
14
+ if (v == null || String(v).trim() === "") {
15
+ return string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
16
+ }
17
+ const trimmed = String(v).trim();
18
+ try {
19
+ if (/^\d{4}-\d{2}-\d{2}/.test(trimmed)) {
20
+ return string.parseDate(trimmed.slice(0, 10));
21
+ }
22
+ const parsed = dayjs_min.default(trimmed);
23
+ if (parsed.isValid()) {
24
+ return string.parseDate(parsed.format("YYYY-MM-DD"));
25
+ }
26
+ } catch (e) {
27
+ }
28
+ return string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
29
+ }
30
+ function formatCalendarDateParts(d) {
31
+ return `${d.year}-${String(d.month).padStart(2, "0")}-${String(d.day).padStart(2, "0")}`;
32
+ }
13
33
  const CustomDateMenu = ({
14
34
  onChangeHandler,
15
- value
35
+ value,
36
+ variant = "datetime"
16
37
  }) => {
17
38
  const [popoverOpen, setPopoverOpen] = React.useState(false);
18
- const [date, setDate] = React.useState(() => {
19
- try {
20
- return value ? string.parseDate(value) : string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
21
- } catch (e) {
22
- return string.parseDate(dayjs_min.default().format("YYYY-MM-DD"));
39
+ const [date, setDate] = React.useState(() => parseStringToDateValue(value));
40
+ React.useEffect(() => {
41
+ setDate(parseStringToDateValue(value));
42
+ }, [value]);
43
+ const inputDisplay = React.useMemo(() => {
44
+ if (value == null || String(value).trim() === "") {
45
+ return "";
46
+ }
47
+ const s = String(value);
48
+ if (variant === "datetime" && s.includes("\u2022")) {
49
+ return s;
50
+ }
51
+ const parsed = dayjs_min.default(s);
52
+ if (parsed.isValid()) {
53
+ return variant === "date" ? parsed.format("MM/DD/YYYY") : parsed.format("MM/DD/YYYY \u2022 HH:mm");
23
54
  }
24
- });
55
+ return s;
56
+ }, [value, variant]);
57
+ const datetimePlaceholder = dayjs_min.default(/* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm");
25
58
  return /* @__PURE__ */ React.createElement(popover.Popover, { open: popoverOpen, onOpenChange: (open) => setPopoverOpen(open) }, /* @__PURE__ */ React.createElement(popover.PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
26
59
  input.Input,
27
60
  {
28
- value: value || dayjs_min.default(/* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm"),
61
+ value: inputDisplay || (variant === "datetime" ? datetimePlaceholder : ""),
29
62
  size: "lg",
30
63
  readOnly: true,
31
64
  rightIcon: /* @__PURE__ */ React.createElement(calendar.CalendarIcon, null)
@@ -43,10 +76,14 @@ const CustomDateMenu = ({
43
76
  footerActionText: "Apply",
44
77
  value: date,
45
78
  onChange: setDate,
46
- showTimePicker: true,
79
+ showTimePicker: variant === "datetime",
47
80
  footerAction: () => {
48
- const jsDate = new Date(date.year, date.month - 1, date.day);
49
- onChangeHandler(dayjs_min.default(jsDate).format("MM/DD/YYYY \u2022 HH:mm"));
81
+ if (variant === "date") {
82
+ onChangeHandler(formatCalendarDateParts(date));
83
+ } else {
84
+ const jsDate = new Date(date.year, date.month - 1, date.day);
85
+ onChangeHandler(dayjs_min.default(jsDate).format("MM/DD/YYYY \u2022 HH:mm"));
86
+ }
50
87
  setPopoverOpen(false);
51
88
  }
52
89
  }
@@ -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, CalendarDate } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\n\ntype CustomDateMenuProps = {\n onChangeHandler: (value: string) => void;\n value: string;\n};\n\nconst CustomDateMenu: React.FC<CustomDateMenuProps> = ({\n onChangeHandler,\n value,\n}) => {\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value ? parseDate(value) : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n\n return (\n <Popover open={popoverOpen} onOpenChange={(open) => setPopoverOpen(open)}>\n <PopoverTrigger asChild>\n <Input\n value={value || dayjs(new Date()).format(\"MM/DD/YYYY HH:mm\")}\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\n footerAction={() => {\n // Convert DateValue to JavaScript Date for dayjs\n const jsDate = new Date(date.year, date.month - 1, date.day);\n onChangeHandler(dayjs(jsDate).format(\"MM/DD/YYYY • HH:mm\"));\n setPopoverOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default CustomDateMenu;\n"],"names":["useState","parseDate","dayjs","Popover","PopoverTrigger","Input","CalendarIcon","PopoverContent","Calendar"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,iBAAgD,CAAC;AAAA,EACrD,eAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,KAAK,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,eAAoB,MAAM;AAChD,IAAA,IAAI;AACF,MAAA,OAAO,KAAA,GAAQC,iBAAU,KAAK,CAAA,GAAIA,iBAAUC,iBAAA,EAAM,CAAE,MAAA,CAAO,YAAY,CAAC,CAAA;AAAA,IAC1E,SAAS,CAAA,EAAG;AACV,MAAA,OAAOD,gBAAA,CAAUC,iBAAA,EAAM,CAAE,MAAA,CAAO,YAAY,CAAC,CAAA;AAAA,IAC/C;AAAA,EACF,CAAC,CAAA;AAED,EAAA,uBACE,KAAA,CAAA,aAAA,CAACC,eAAA,EAAA,EAAQ,IAAA,EAAM,WAAA,EAAa,YAAA,EAAc,CAAC,IAAA,KAAS,cAAA,CAAe,IAAI,CAAA,EAAA,kBACrE,KAAA,CAAA,aAAA,CAACC,sBAAA,EAAA,EAAe,SAAO,IAAA,EAAA,kBACrB,KAAA,CAAA,aAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,SAASH,iBAAA,iBAAM,IAAI,MAAM,CAAA,CAAE,OAAO,yBAAoB,CAAA;AAAA,MAC7D,IAAA,EAAK,IAAA;AAAA,MACL,QAAA,EAAQ,IAAA;AAAA,MACR,SAAA,sCAAYI,qBAAA,EAAA,IAAa;AAAA;AAAA,GAE7B,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,IAACC,sBAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAY,CAAA;AAAA,MACZ,KAAK,EAAE,KAAA,EAAO,KAAK,OAAA,EAAS,CAAA,EAAG,cAAc,KAAA;AAAM,KAAA;AAAA,oBAEnD,KAAA,CAAA,aAAA;AAAA,MAACC,mBAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,gBAAA,EAAiB,OAAA;AAAA,QACjB,KAAA,EAAO,IAAA;AAAA,QACP,QAAA,EAAU,OAAA;AAAA,QACV,cAAA,EAAc,IAAA;AAAA,QACd,cAAc,MAAM;AAElB,UAAA,MAAM,MAAA,GAAS,IAAI,IAAA,CAAK,IAAA,CAAK,MAAM,IAAA,CAAK,KAAA,GAAQ,CAAA,EAAG,IAAA,CAAK,GAAG,CAAA;AAC3D,UAAA,eAAA,CAAgBN,iBAAA,CAAM,MAAM,CAAA,CAAE,MAAA,CAAO,yBAAoB,CAAC,CAAA;AAC1D,UAAA,cAAA,CAAe,KAAK,CAAA;AAAA,QACtB;AAAA;AAAA;AACF,GAEJ,CAAA;AAEJ;;;;"}
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","dayjs","useState","useEffect","useMemo","Popover","PopoverTrigger","Input","CalendarIcon","PopoverContent","Calendar"],"mappings":"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"}
@@ -68,7 +68,7 @@ const Field = ({
68
68
  removeField,
69
69
  showCustomPropertyModal
70
70
  }) => {
71
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
71
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
72
72
  React.useEffect(() => {
73
73
  if (!field.integrationField) {
74
74
  const foundField = integrationFields.find(
@@ -231,7 +231,7 @@ const Field = ({
231
231
  integrationFieldType: (_p = (_o = (_m = (_k = field == null ? void 0 : field.integrationFieldType) == null ? void 0 : _k.value) != null ? _m : (_l = integrationFields.find(
232
232
  (integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
233
233
  )) == null ? void 0 : _l.type) != null ? _o : (_n = field.integrationField) == null ? void 0 : _n.type) != null ? _p : "STRING",
234
- value: (_r = (_q = field == null ? void 0 : field.defaultValue) == null ? void 0 : _q.value) != null ? _r : field == null ? void 0 : field.defaultValue
234
+ defaultValue: field == null ? void 0 : field.defaultValue
235
235
  }
236
236
  )
237
237
  )),
@@ -253,8 +253,19 @@ const Field = ({
253
253
  )
254
254
  ));
255
255
  };
256
- const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
257
- switch (`${integrationFieldType}`) {
256
+ function resolveDefaultValueForControl(defaultValue) {
257
+ if (defaultValue == null) {
258
+ return void 0;
259
+ }
260
+ if (typeof defaultValue === "object" && defaultValue !== null && "value" in defaultValue) {
261
+ return defaultValue.value;
262
+ }
263
+ return defaultValue;
264
+ }
265
+ const DefaultField = ({ integrationFieldType, handleFieldValue, defaultValue }) => {
266
+ const value = resolveDefaultValueForControl(defaultValue);
267
+ const normalizedType = `${integrationFieldType != null ? integrationFieldType : "STRING"}`.toUpperCase();
268
+ switch (normalizedType) {
258
269
  case "BOOLEAN":
259
270
  return /* @__PURE__ */ React.createElement(
260
271
  select.Select,
@@ -279,10 +290,12 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
279
290
  }
280
291
  );
281
292
  case "DATE_TIME":
293
+ case "DATETIME":
282
294
  return /* @__PURE__ */ React.createElement(
283
295
  customDateMenu.default,
284
296
  {
285
- value,
297
+ variant: "datetime",
298
+ value: value != null && value !== "" ? String(value) : "",
286
299
  onChangeHandler: (dateValue) => {
287
300
  handleFieldValue({
288
301
  type: "DATE_TIME",
@@ -291,6 +304,20 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
291
304
  }
292
305
  }
293
306
  );
307
+ case "DATE":
308
+ return /* @__PURE__ */ React.createElement(
309
+ customDateMenu.default,
310
+ {
311
+ variant: "date",
312
+ value: value != null && value !== "" ? String(value) : "",
313
+ onChangeHandler: (dateValue) => {
314
+ handleFieldValue({
315
+ type: "DATE",
316
+ value: dateValue
317
+ });
318
+ }
319
+ }
320
+ );
294
321
  case "NUMBER":
295
322
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
296
323
  input.Input,
@@ -298,11 +325,11 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
298
325
  size: "lg",
299
326
  type: "number",
300
327
  placeholder: "",
301
- value,
328
+ value: value === null || value === void 0 ? "" : value,
302
329
  min: 0,
303
330
  onChange: (e) => handleFieldValue({
304
331
  type: "NUMBER",
305
- value: parseInt(e.currentTarget.value)
332
+ value: parseInt(e.currentTarget.value, 10)
306
333
  })
307
334
  }
308
335
  ));
@@ -312,7 +339,7 @@ const DefaultField = ({ integrationFieldType, handleFieldValue, value }) => {
312
339
  {
313
340
  size: "lg",
314
341
  placeholder: "",
315
- value,
342
+ value: value === null || value === void 0 ? "" : String(value),
316
343
  onChange: (e) => handleFieldValue({
317
344
  type: "STRING",
318
345
  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":["useEffect","Flex","Text","PlaceholderSpan","FormLabel","Select","mappingType","handleMappingOptions","integrationsNpsSubmissionProperties","integrationsClassicSubmissionProperties","_a","Box","Arrow","CustomMenu","subMenuOptions","CustomOption","Tooltip","InfoIcon","IconButton","Trash","CustomDateMenu","Input"],"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":["useEffect","Flex","Text","PlaceholderSpan","FormLabel","Select","mappingType","handleMappingOptions","integrationsNpsSubmissionProperties","integrationsClassicSubmissionProperties","_a","Box","Arrow","CustomMenu","subMenuOptions","CustomOption","Tooltip","InfoIcon","IconButton","Trash","CustomDateMenu","Input"],"mappings":"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"}
@@ -10,6 +10,7 @@ import { ChevronRightIcon } from '../../../node_modules/@sparrowengg/twigs-react
10
10
  import { Text } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
11
11
  import { Chip } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
12
12
  import { Box } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
13
+ import { CircleLoader } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/loader/circle.js';
13
14
  import { Switch } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/switch/switch.js';
14
15
  import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js';
15
16
  import { IconButton } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
@@ -42,6 +43,17 @@ const DashboardItem = ({
42
43
  var _a;
43
44
  const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);
44
45
  const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
46
+ const [isToggling, setIsToggling] = useState(false);
47
+ const handleToggle = async (value) => {
48
+ if (!toggleDashboardField)
49
+ return;
50
+ try {
51
+ setIsToggling(true);
52
+ await Promise.resolve(toggleDashboardField(id, value));
53
+ } finally {
54
+ setIsToggling(false);
55
+ }
56
+ };
45
57
  const handleEdit = () => {
46
58
  onMappingEditHandler(id);
47
59
  handleEditField({
@@ -100,12 +112,22 @@ const DashboardItem = ({
100
112
  height: "$4"
101
113
  }
102
114
  }
103
- ), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React__default.createElement(Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), /* @__PURE__ */ React__default.createElement(
115
+ ), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold", css: { color: "$neutral800" } }, DASHBOARD_UI_STRINGS.DRAFT)), /* @__PURE__ */ React__default.createElement(Box, { css: { width: "1px", height: "20px", background: "#64748B20" } })), isToggling ? /* @__PURE__ */ React__default.createElement(
116
+ CircleLoader,
117
+ {
118
+ size: "xl",
119
+ css: {
120
+ ".twigs-circle-loader__ring": { strokeWidth: "1" },
121
+ ".twigs-circle-loader__dot": { strokeWidth: "1" }
122
+ },
123
+ color: "primary"
124
+ }
125
+ ) : /* @__PURE__ */ React__default.createElement(
104
126
  Switch,
105
127
  {
106
128
  size: "md",
107
129
  checked: isEnabled,
108
- onChange: (value) => toggleDashboardField(id, value)
130
+ onChange: handleToggle
109
131
  }
110
132
  ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
111
133
  IconButton,