@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.19 → 2.1.0-notion-release.20

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.
@@ -9,6 +9,7 @@ var spinner = require('../../commons/components/spinner.js');
9
9
  var field = require('./field.js');
10
10
  var placeholderSpan = require('./placeholder-span.js');
11
11
  var index = require('../../commons/components/MappingCondtion/index.js');
12
+ var conditionDescriptionBuilder = require('../utils/conditionDescriptionBuilder.js');
12
13
  var v4 = require('../../node_modules/uuid/dist/esm-browser/v4.js');
13
14
  var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
14
15
  var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
@@ -60,6 +61,7 @@ const Mapping = ({
60
61
  oldResponse,
61
62
  conditionDescription
62
63
  }) => {
64
+ var _a;
63
65
  const [ssMappingData, setSSMappingData] = React.useState({
64
66
  questions: [],
65
67
  variables: [],
@@ -97,14 +99,14 @@ const Mapping = ({
97
99
  );
98
100
  };
99
101
  const hasRequiredProps = () => {
100
- var _a, _b;
101
- return !!fields && !!setFields && !!integrationFields && !!setIntegrationFields && (!!token || ((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0);
102
+ var _a2, _b;
103
+ return !!fields && !!setFields && !!integrationFields && !!setIntegrationFields && (!!token || ((_b = Object.keys((_a2 = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a2 : {})) == null ? void 0 : _b.length) > 0);
102
104
  };
103
105
  const fetchInitialMappingData = async () => {
104
- var _a, _b, _c, _d, _e, _f;
106
+ var _a2, _b, _c, _d, _e, _f;
105
107
  setLoader(true);
106
108
  try {
107
- if (((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0) {
109
+ if (((_b = Object.keys((_a2 = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a2 : {})) == null ? void 0 : _b.length) > 0) {
108
110
  setSSMappingData({
109
111
  questions: ((_c = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _c.questions) || [],
110
112
  contactProperties: ((_d = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _d.contactProperties) || [],
@@ -170,7 +172,31 @@ const Mapping = ({
170
172
  css: { color: "$neutral900" }
171
173
  },
172
174
  `Map to ${integrationName}`
173
- ), /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", css: { marginTop: "$8" } }, /* @__PURE__ */ React.createElement(text.Text, { size: "sm", css: { color: "$neutral500" } }, conditionDescription), /* @__PURE__ */ React.createElement(index.default, { existingContions: mappingConditions, setExistingCondtions: setMappingConditions, conditionData: conditionData || [] }))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
175
+ ), ((_a = mappingConditions == null ? void 0 : mappingConditions.filterGroups) == null ? void 0 : _a.length) ? /* @__PURE__ */ React.createElement(
176
+ index.default,
177
+ {
178
+ existingContions: mappingConditions,
179
+ setExistingCondtions: setMappingConditions,
180
+ conditionData: conditionData || [],
181
+ renderTrigger: (onEditClick) => /* @__PURE__ */ React.createElement(
182
+ conditionDescriptionBuilder.ConditionCard,
183
+ {
184
+ isEditable: true,
185
+ conditionsData: mappingConditions,
186
+ onEditClick,
187
+ onClearClick: () => setMappingConditions && setMappingConditions(void 0),
188
+ showMoreMenu: true
189
+ }
190
+ )
191
+ }
192
+ ) : /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", css: { marginTop: "$8" } }, /* @__PURE__ */ React.createElement(text.Text, { size: "sm", css: { color: "$neutral500" } }, conditionDescription), /* @__PURE__ */ React.createElement(
193
+ index.default,
194
+ {
195
+ existingContions: mappingConditions,
196
+ setExistingCondtions: setMappingConditions,
197
+ conditionData: conditionData || []
198
+ }
199
+ ))) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
174
200
  heading.Heading,
175
201
  {
176
202
  size: "h5",
@@ -220,11 +246,11 @@ const Mapping = ({
220
246
  css: { marginTop: "$12" }
221
247
  },
222
248
  essentialFields == null ? void 0 : essentialFields.map((field$1, idx) => {
223
- var _a, _b;
249
+ var _a2, _b;
224
250
  return /* @__PURE__ */ React.createElement(
225
251
  field.default,
226
252
  {
227
- hasSurveyProperties: ((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0,
253
+ hasSurveyProperties: ((_b = Object.keys((_a2 = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a2 : {})) == null ? void 0 : _b.length) > 0,
228
254
  surveyType,
229
255
  havingTypeDropdown,
230
256
  key: field$1.id,
@@ -244,11 +270,11 @@ const Mapping = ({
244
270
  })
245
271
  )
246
272
  ), /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$16", css: { marginTop: "$16" } }, commonFields == null ? void 0 : commonFields.map((field$1, idx) => {
247
- var _a, _b;
273
+ var _a2, _b;
248
274
  return /* @__PURE__ */ React.createElement(
249
275
  field.default,
250
276
  {
251
- hasSurveyProperties: ((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0,
277
+ hasSurveyProperties: ((_b = Object.keys((_a2 = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a2 : {})) == null ? void 0 : _b.length) > 0,
252
278
  surveyType,
253
279
  havingTypeDropdown,
254
280
  key: field$1.id,
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport MappingCondition from \"../../commons/components/MappingCondtion\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n conditionDescription,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [existingContions , setExistingCondtions] = useState();\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields && (!!token || Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0);\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\n if(Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0){\n setSSMappingData({\n questions: (surveyDetails?.surveyProperties?.questions as any) || [],\n contactProperties: (surveyDetails?.surveyProperties?.contactProperties as any) || [],\n variables: (surveyDetails?.surveyProperties?.variables as any) || [],\n expressions: (surveyDetails?.surveyProperties?.expressions as any) || [],\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token ?? \"\"),\n fetchSurveyVariables(apiURL, surveyId, token ?? \"\"),\n fetchContactProperties(apiURL, token ?? \"\"),\n fetchSurveyExpression(apiURL, surveyId, token ?? \"\"),\n ]);\n setSSMappingData({\n questions: (questions as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n }\n\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n {hasConditions ? (\n <>\n <Flex gap=\"$2\" css={{ marginBlock: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {conditionDescription}\n </Text>\n <MappingCondition existingContions={mappingConditions} setExistingCondtions={setMappingConditions} conditionData={conditionData || []} />\n </Flex>\n </>\n ) : (\n <>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n </>\n )}\n\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n hasSurveyProperties={\n Object.keys(surveyDetails?.surveyProperties ?? {})\n ?.length > 0\n }\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(\n id: string | number,\n property: string,\n value: FormFieldValue\n ) => handleFieldValue(id, property, value)}\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n hasSurveyProperties={\n Object.keys(surveyDetails?.surveyProperties ?? {})\n ?.length > 0\n }\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(\n id: string | number,\n property: string,\n value: FormFieldValue\n ) => handleFieldValue(id, property, value)}\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: \"string\",\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","MAPPING_ERROR_MESSAGES","useEffect","DEFAULT_FIELD_VALUE","uuid","Flex","Spinner","Box","Text","Heading","MappingCondition","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport MappingCondition from \"../../commons/components/MappingCondtion\";\nimport { ConditionCard } from \"../utils/conditionDescriptionBuilder\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n conditionDescription,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [existingContions , setExistingCondtions] = useState();\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields && (!!token || Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0);\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\n if(Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0){\n setSSMappingData({\n questions: (surveyDetails?.surveyProperties?.questions as any) || [],\n contactProperties: (surveyDetails?.surveyProperties?.contactProperties as any) || [],\n variables: (surveyDetails?.surveyProperties?.variables as any) || [],\n expressions: (surveyDetails?.surveyProperties?.expressions as any) || [],\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token ?? \"\"),\n fetchSurveyVariables(apiURL, surveyId, token ?? \"\"),\n fetchContactProperties(apiURL, token ?? \"\"),\n fetchSurveyExpression(apiURL, surveyId, token ?? \"\"),\n ]);\n setSSMappingData({\n questions: (questions as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n }\n\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n {hasConditions ? (\n <>\n <Flex gap=\"$2\" css={{ marginBlock: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n {mappingConditions?.filterGroups?.length ? (\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n renderTrigger={(onEditClick) => (\n <ConditionCard\n isEditable={true}\n conditionsData={mappingConditions}\n onEditClick={onEditClick}\n onClearClick={() =>\n setMappingConditions && setMappingConditions(undefined)\n }\n showMoreMenu={true}\n />\n )}\n />\n ) : (\n <Flex gap=\"$2\" css={{ marginTop: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {conditionDescription}\n </Text>\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n />\n </Flex>\n )}\n \n </>\n ) : (\n <>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n </>\n )}\n\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n hasSurveyProperties={\n Object.keys(surveyDetails?.surveyProperties ?? {})\n ?.length > 0\n }\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(\n id: string | number,\n property: string,\n value: FormFieldValue\n ) => handleFieldValue(id, property, value)}\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n hasSurveyProperties={\n Object.keys(surveyDetails?.surveyProperties ?? {})\n ?.length > 0\n }\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(\n id: string | number,\n property: string,\n value: FormFieldValue\n ) => handleFieldValue(id, property, value)}\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: \"string\",\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","_a","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","MAPPING_ERROR_MESSAGES","useEffect","DEFAULT_FIELD_VALUE","uuid","Flex","Spinner","Box","Text","Heading","MappingCondition","ConditionCard","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
5
+ var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
6
+ var text = require('../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
7
+ var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
8
+ var pencil = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/pencil.js');
9
+ var dropdown = require('../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js');
10
+ var iconButton = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js');
11
+ var ellipsisVertical = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/ellipsis-vertical.js');
12
+
13
+ const formatValue = (filter) => {
14
+ var _a;
15
+ const { connector, value } = filter;
16
+ if (!connector)
17
+ return "";
18
+ const dataType = connector.dataType;
19
+ switch (dataType) {
20
+ case "SINGLE_LINE_TEXT":
21
+ return value.SINGLE_LINE_TEXT || "";
22
+ case "NUMBER":
23
+ return ((_a = value.NUMBER) == null ? void 0 : _a.toString()) || "";
24
+ case "DATE":
25
+ if (value.DATE) {
26
+ const date = new Date(value.DATE);
27
+ return date.toLocaleDateString("en-US", {
28
+ year: "numeric",
29
+ month: "short",
30
+ day: "numeric"
31
+ });
32
+ }
33
+ return "";
34
+ case "DATE_RANGE":
35
+ if (value.DATE_RANGE) {
36
+ const startDate = new Date(value.DATE_RANGE.start);
37
+ const endDate = new Date(value.DATE_RANGE.end);
38
+ const formatDate = (d) => d.toLocaleDateString("en-US", {
39
+ year: "numeric",
40
+ month: "short",
41
+ day: "numeric"
42
+ });
43
+ return `${formatDate(startDate)} to ${formatDate(endDate)}`;
44
+ }
45
+ return "";
46
+ case "SINGLE_SELECT":
47
+ return value.SINGLE_SELECT || "";
48
+ case "MULTI_SELECT":
49
+ if (value.MULTI_SELECT && value.MULTI_SELECT.length > 0) {
50
+ const choices = connector.choices;
51
+ if (choices && Array.isArray(choices)) {
52
+ const labels = value.MULTI_SELECT.map((val) => {
53
+ const choice = choices.find((c) => c.value === val);
54
+ return choice ? choice.label : val;
55
+ });
56
+ return labels.join(", ");
57
+ }
58
+ return value.MULTI_SELECT.join(", ");
59
+ }
60
+ return "";
61
+ case "MULTI_LINE_TEXT":
62
+ return value.MULTI_LINE_TEXT || "";
63
+ default:
64
+ return "";
65
+ }
66
+ };
67
+ const ConfigureIcon = () => /* @__PURE__ */ React.createElement(
68
+ "svg",
69
+ {
70
+ width: "20",
71
+ height: "20",
72
+ viewBox: "0 0 20 20",
73
+ fill: "none",
74
+ xmlns: "http://www.w3.org/2000/svg"
75
+ },
76
+ /* @__PURE__ */ React.createElement("g", { "clip-path": "url(#clip0_1958_11629)" }, /* @__PURE__ */ React.createElement(
77
+ "path",
78
+ {
79
+ d: "M17.5 14.1668H14.1667M10.8333 14.1668H2.5M2.5 5.8335H5.83333M9.16667 5.8335H17.5M11.6667 11.6668H13.3333C13.7933 11.6668 14.1667 12.0402 14.1667 12.5002V15.8335C14.1667 16.2935 13.7933 16.6668 13.3333 16.6668H11.6667C11.2067 16.6668 10.8333 16.2935 10.8333 15.8335V12.5002C10.8333 12.0402 11.2067 11.6668 11.6667 11.6668ZM8.33333 8.3335H6.66667C6.20667 8.3335 5.83333 7.96016 5.83333 7.50016V4.16683C5.83333 3.70683 6.20667 3.3335 6.66667 3.3335H8.33333C8.79333 3.3335 9.16667 3.70683 9.16667 4.16683V7.50016C9.16667 7.96016 8.79333 8.3335 8.33333 8.3335Z",
80
+ stroke: "#64748B",
81
+ "stroke-linecap": "round",
82
+ "stroke-linejoin": "round"
83
+ }
84
+ )),
85
+ /* @__PURE__ */ React.createElement("defs", null, /* @__PURE__ */ React.createElement("clipPath", { id: "clip0_1958_11629" }, /* @__PURE__ */ React.createElement("rect", { width: "20", height: "20", fill: "white" })))
86
+ );
87
+ const ConditionCard = ({
88
+ conditionsData,
89
+ onEditClick,
90
+ onClearClick,
91
+ showMoreMenu = true,
92
+ isEditable = false
93
+ }) => {
94
+ if (!conditionsData || conditionsData.filterGroups.length === 0) {
95
+ return null;
96
+ }
97
+ const globalConnectorText = conditionsData.globalConnector === "ALL" ? "all" : "any";
98
+ return /* @__PURE__ */ React.createElement(
99
+ box.Box,
100
+ {
101
+ css: {
102
+ marginTop: "$8",
103
+ backgroundColor: !isEditable ? "transparent" : "#F8F8F8",
104
+ borderRadius: "$lg",
105
+ padding: "$6 !important"
106
+ }
107
+ },
108
+ /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$2" }, /* @__PURE__ */ React.createElement(
109
+ flex.Flex,
110
+ {
111
+ alignItems: "center",
112
+ gap: "$4",
113
+ css: {
114
+ maxHeight: "20px"
115
+ }
116
+ },
117
+ /* @__PURE__ */ React.createElement(ConfigureIcon, null),
118
+ /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$8", css: { flex: 1 } }, /* @__PURE__ */ React.createElement(
119
+ text.Text,
120
+ {
121
+ size: "sm",
122
+ css: {
123
+ color: "$neutral900",
124
+ fontFamily: "DM Sans"
125
+ }
126
+ },
127
+ "When",
128
+ " ",
129
+ /* @__PURE__ */ React.createElement(text.Text, { as: "span", weight: "bold", css: { color: "$neutral900" } }, globalConnectorText),
130
+ " ",
131
+ "of these conditions are met:"
132
+ )),
133
+ isEditable ? /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$4" }, /* @__PURE__ */ React.createElement(
134
+ button.Button,
135
+ {
136
+ leftIcon: /* @__PURE__ */ React.createElement(pencil.PencilIcon, null),
137
+ size: "sm",
138
+ variant: "ghost",
139
+ color: "primary",
140
+ onClick: onEditClick,
141
+ css: {
142
+ fontFamily: "DM Sans",
143
+ fontWeight: "$5"
144
+ }
145
+ },
146
+ "Edit Conditions"
147
+ ), showMoreMenu && onClearClick && /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, { size: "sm" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
148
+ iconButton.IconButton,
149
+ {
150
+ size: "sm",
151
+ icon: /* @__PURE__ */ React.createElement(ellipsisVertical.EllipsisVerticalIcon, null),
152
+ variant: "ghost",
153
+ color: "default",
154
+ css: {
155
+ borderRadius: "$sm"
156
+ }
157
+ }
158
+ )), /* @__PURE__ */ React.createElement(dropdown.DropdownMenuContent, { align: "end" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuItem, { onClick: onClearClick }, "Clear Conditions")))) : null
159
+ ), conditionsData.filterGroups.map((group, groupIndex) => /* @__PURE__ */ React.createElement(
160
+ box.Box,
161
+ {
162
+ key: groupIndex,
163
+ css: {
164
+ paddingLeft: "$14"
165
+ }
166
+ },
167
+ group.filters.map((filter, filterIndex) => {
168
+ var _a;
169
+ const propertyLabel = filter.property.label;
170
+ const operatorLabel = ((_a = filter.connector) == null ? void 0 : _a.label) || "";
171
+ const formattedValue = formatValue(filter);
172
+ const prefix = filterIndex === 0 ? groupIndex === 0 ? "When" : "And" : filter.comparator.toLowerCase();
173
+ return /* @__PURE__ */ React.createElement(
174
+ text.Text,
175
+ {
176
+ key: filterIndex,
177
+ size: "sm",
178
+ weight: "medium",
179
+ css: {
180
+ color: "$neutral900",
181
+ fontFamily: "DM Sans",
182
+ lineHeight: "$md"
183
+ }
184
+ },
185
+ prefix,
186
+ " contact property",
187
+ " ",
188
+ /* @__PURE__ */ React.createElement(text.Text, { as: "span", weight: "bold", css: { color: "$neutral900" } }, propertyLabel),
189
+ " ",
190
+ operatorLabel,
191
+ " ",
192
+ /* @__PURE__ */ React.createElement(text.Text, { as: "span", weight: "bold", css: { color: "$neutral900" } }, formattedValue)
193
+ );
194
+ })
195
+ )))
196
+ );
197
+ };
198
+
199
+ exports.ConditionCard = ConditionCard;
200
+ //# sourceMappingURL=conditionDescriptionBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditionDescriptionBuilder.js","sources":["../../../../src/mapping/utils/conditionDescriptionBuilder.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Text,\n Box,\n Flex,\n Button,\n IconButton,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n} from \"@sparrowengg/twigs-react\";\nimport {\n PencilIcon,\n EllipsisVerticalIcon,\n} from \"@sparrowengg/twigs-react-icons\";\n\ntype ComparatorType = \"AND\" | \"OR\";\ntype GlobalConnectorType = \"ALL\" | \"ANY\";\n\ntype FilterType = {\n comparator: ComparatorType;\n connector?: {\n dataType: string;\n label: string;\n value: string;\n type: string;\n };\n property: {\n label: string;\n value: string;\n selectionPath?: Array<{ label: string; value: string }>;\n };\n value: {\n NUMBER: number | null;\n DATE: string | null;\n DATE_RANGE: { start: string; end: string } | null;\n DATE_TIME_TIMEZONE: any | null;\n SINGLE_LINE_TEXT: string | null;\n MULTI_LINE_TEXT: string | null;\n SINGLE_SELECT: string | null;\n MULTI_SELECT: string[] | null;\n };\n};\n\ntype FilterGroupType = {\n filters: FilterType[];\n};\n\ntype ConditionsDataType = {\n globalConnector: GlobalConnectorType;\n filterGroups: FilterGroupType[];\n};\n\n/**\n * Formats a value based on its data type\n */\nconst formatValue = (filter: FilterType): string => {\n const { connector, value } = filter;\n\n if (!connector) return \"\";\n\n const dataType = connector.dataType;\n\n switch (dataType) {\n case \"SINGLE_LINE_TEXT\":\n return value.SINGLE_LINE_TEXT || \"\";\n\n case \"NUMBER\":\n return value.NUMBER?.toString() || \"\";\n\n case \"DATE\":\n if (value.DATE) {\n // Format date to be more readable\n const date = new Date(value.DATE);\n return date.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n });\n }\n return \"\";\n\n case \"DATE_RANGE\":\n if (value.DATE_RANGE) {\n const startDate = new Date(value.DATE_RANGE.start);\n const endDate = new Date(value.DATE_RANGE.end);\n const formatDate = (d: Date) =>\n d.toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n });\n return `${formatDate(startDate)} to ${formatDate(endDate)}`;\n }\n return \"\";\n\n case \"SINGLE_SELECT\":\n return value.SINGLE_SELECT || \"\";\n\n case \"MULTI_SELECT\":\n if (value.MULTI_SELECT && value.MULTI_SELECT.length > 0) {\n // Get labels from choices if available\n const choices = (connector as any).choices;\n if (choices && Array.isArray(choices)) {\n const labels = value.MULTI_SELECT.map((val) => {\n const choice = choices.find((c: any) => c.value === val);\n return choice ? choice.label : val;\n });\n return labels.join(\", \");\n }\n return value.MULTI_SELECT.join(\", \");\n }\n return \"\";\n\n case \"MULTI_LINE_TEXT\":\n return value.MULTI_LINE_TEXT || \"\";\n\n default:\n return \"\";\n }\n};\n\n/**\n * Builds a description for a single filter\n */\nconst buildFilterDescription = (filter: FilterType): React.ReactNode => {\n // Build property path if selectionPath exists\n let propertyLabel = filter.property.label;\n if (\n filter.property.selectionPath &&\n filter.property.selectionPath.length > 0\n ) {\n // Skip the first item (category) and show the rest if there are more than 1 items\n if (filter.property.selectionPath.length > 1) {\n const pathLabels = filter.property.selectionPath\n .slice(1)\n .map((p) => p.label);\n propertyLabel = [...pathLabels, filter.property.label].join(\" > \");\n }\n }\n\n const operatorLabel = filter.connector?.label || \"\";\n const formattedValue = formatValue(filter);\n\n return (\n <>\n <Text\n as=\"span\"\n weight=\"medium\"\n className=\"dm-sans\"\n css={{ color: \"$neutral700\", fontFamily: \"DM Sans !important\" }}\n >\n {propertyLabel}\n </Text>{\" \"}\n {operatorLabel}{\" \"}\n <Text\n as=\"span\"\n weight=\"bold\"\n className=\"dm-sans\"\n css={{ color: \"$neutral900\", fontFamily: \"DM Sans !important\" }}\n >\n {formattedValue}\n </Text>\n </>\n );\n};\n\n/**\n * Builds a description for a filter group\n */\nconst buildGroupDescription = (group: FilterGroupType): React.ReactNode => {\n if (group.filters.length === 0) return null;\n\n return (\n <>\n {group.filters.map((filter, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <>\n {\" \"}\n <Text\n as=\"span\"\n weight=\"medium\"\n className=\"dm-sans\"\n css={{ color: \"$neutral700\", fontFamily: \"DM Sans !important\" }}\n >\n {filter.comparator.toLowerCase()}\n </Text>{\" \"}\n </>\n )}\n {buildFilterDescription(filter)}\n </React.Fragment>\n ))}\n </>\n );\n};\n\n/**\n * Builds the complete condition description\n */\nexport const buildConditionDescription = (\n conditionsData: ConditionsDataType\n): React.ReactNode => {\n if (!conditionsData || conditionsData.filterGroups.length === 0) {\n return null;\n }\n\n const globalConnectorText =\n conditionsData.globalConnector === \"ALL\" ? \"all\" : \"any\";\n\n return (\n <>\n When{\" \"}\n <Text\n as=\"span\"\n weight=\"bold\"\n className=\"dm-sans\"\n css={{ color: \"$neutral900\", fontFamily: \"DM Sans !important\" }}\n >\n {globalConnectorText}\n </Text>{\" \"}\n of these conditions are met:{\" \"}\n {conditionsData.filterGroups.map((group, groupIndex) => (\n <React.Fragment key={groupIndex}>\n {groupIndex > 0 && (\n <>\n {\" \"}\n <Text\n as=\"span\"\n weight=\"medium\"\n className=\"dm-sans\"\n css={{ color: \"$neutral700\", fontFamily: \"DM Sans !important\" }}\n >\n or\n </Text>{\" \"}\n </>\n )}\n ({buildGroupDescription(group)})\n </React.Fragment>\n ))}\n </>\n );\n};\n\n/**\n * Alternative: Builds a more detailed, multi-line condition description\n */\nexport const buildDetailedConditionDescription = (\n conditionsData: ConditionsDataType\n): React.ReactNode => {\n if (!conditionsData || conditionsData.filterGroups.length === 0) {\n return null;\n }\n\n const globalConnectorText =\n conditionsData.globalConnector === \"ALL\" ? \"all\" : \"any\";\n\n return (\n <div>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral500\", fontFamily: \"DM Sans !important\" }}\n >\n When{\" \"}\n <Text\n as=\"span\"\n weight=\"bold\"\n className=\"dm-sans\"\n css={{ color: \"$neutral900\", fontFamily: \"DM Sans !important\" }}\n >\n {globalConnectorText}\n </Text>{\" \"}\n of these conditions are met:\n </Text>\n {conditionsData.filterGroups.map((group, groupIndex) => (\n <div key={groupIndex} style={{ marginTop: \"4px\", marginLeft: \"8px\" }}>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral500\", fontFamily: \"DM Sans !important\" }}\n >\n {groupIndex > 0 && (\n <>\n <Text\n as=\"span\"\n weight=\"bold\"\n css={{\n color: \"$neutral700\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n OR\n </Text>{\" \"}\n </>\n )}\n {buildGroupDescription(group)}\n </Text>\n </div>\n ))}\n </div>\n );\n};\n\n/**\n * Configure Icon Component\n */\nconst ConfigureIcon = () => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_1958_11629)\">\n <path\n d=\"M17.5 14.1668H14.1667M10.8333 14.1668H2.5M2.5 5.8335H5.83333M9.16667 5.8335H17.5M11.6667 11.6668H13.3333C13.7933 11.6668 14.1667 12.0402 14.1667 12.5002V15.8335C14.1667 16.2935 13.7933 16.6668 13.3333 16.6668H11.6667C11.2067 16.6668 10.8333 16.2935 10.8333 15.8335V12.5002C10.8333 12.0402 11.2067 11.6668 11.6667 11.6668ZM8.33333 8.3335H6.66667C6.20667 8.3335 5.83333 7.96016 5.83333 7.50016V4.16683C5.83333 3.70683 6.20667 3.3335 6.66667 3.3335H8.33333C8.79333 3.3335 9.16667 3.70683 9.16667 4.16683V7.50016C9.16667 7.96016 8.79333 8.3335 8.33333 8.3335Z\"\n stroke=\"#64748B\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1958_11629\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport interface ConditionCardProps {\n isEditable?: boolean;\n conditionsData: ConditionsDataType;\n onEditClick?: () => void;\n onClearClick?: () => void;\n showMoreMenu?: boolean;\n}\n\n/**\n * Builds a card-style condition display with edit and clear actions\n */\nexport const ConditionCard: React.FC<ConditionCardProps> = ({\n conditionsData,\n onEditClick,\n onClearClick,\n showMoreMenu = true,\n isEditable = false,\n}) => {\n if (!conditionsData || conditionsData.filterGroups.length === 0) {\n return null;\n }\n\n const globalConnectorText =\n conditionsData.globalConnector === \"ALL\" ? \"all\" : \"any\";\n\n return (\n <Box\n css={{\n marginTop: \"$8\",\n backgroundColor: !isEditable ? \"transparent\" : \"#F8F8F8\",\n borderRadius: \"$lg\",\n padding: \"$6 !important\",\n }}\n >\n <Flex flexDirection=\"column\" gap=\"$2\">\n {/* Header Row */}\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n maxHeight: \"20px\",\n }}\n >\n <ConfigureIcon />\n <Flex alignItems=\"center\" gap=\"$8\" css={{ flex: 1 }}>\n <Text\n size=\"sm\"\n css={{\n color: \"$neutral900\",\n fontFamily: \"DM Sans\",\n }}\n >\n When{\" \"}\n <Text as=\"span\" weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {globalConnectorText}\n </Text>{\" \"}\n of these conditions are met:\n </Text>\n </Flex>\n {isEditable ? <Flex alignItems=\"center\" gap=\"$4\">\n <Button\n leftIcon={<PencilIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={onEditClick}\n css={{\n fontFamily: \"DM Sans\",\n fontWeight: \"$5\",\n }}\n >\n Edit Conditions\n </Button>\n {showMoreMenu && onClearClick && (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <IconButton\n size=\"sm\"\n icon={<EllipsisVerticalIcon />}\n variant=\"ghost\"\n color=\"default\"\n css={{\n borderRadius: \"$sm\",\n }}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={onClearClick}>\n Clear Conditions\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </Flex> : null}\n </Flex>\n\n {/* Condition Groups */}\n {conditionsData.filterGroups.map((group, groupIndex) => (\n <Box\n key={groupIndex}\n css={{\n paddingLeft: \"$14\",\n }}\n >\n {group.filters.map((filter, filterIndex) => {\n const propertyLabel = filter.property.label;\n const operatorLabel = filter.connector?.label || \"\";\n const formattedValue = formatValue(filter);\n\n const prefix =\n filterIndex === 0\n ? groupIndex === 0\n ? \"When\"\n : \"And\"\n : filter.comparator.toLowerCase();\n\n return (\n <Text\n key={filterIndex}\n size=\"sm\"\n weight=\"medium\"\n css={{\n color: \"$neutral900\",\n fontFamily: \"DM Sans\",\n lineHeight: \"$md\",\n }}\n >\n {prefix} contact property{\" \"}\n <Text as=\"span\" weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {propertyLabel}\n </Text>{\" \"}\n {operatorLabel}{\" \"}\n <Text as=\"span\" weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {formattedValue}\n </Text>\n </Text>\n );\n })}\n </Box>\n ))}\n </Flex>\n </Box>\n );\n};\n"],"names":["Box","Flex","Text","Button","PencilIcon","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem"],"mappings":"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"}
@@ -9,7 +9,12 @@ import { Button } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/b
9
9
  import { IconButton } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
10
10
  import { CloseIcon } from '../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/close.js';
11
11
 
12
- function MappingCondition({ existingContions, setExistingCondtions, conditionData }) {
12
+ function MappingCondition({
13
+ existingContions,
14
+ setExistingCondtions,
15
+ conditionData,
16
+ renderTrigger
17
+ }) {
13
18
  const [isOpen, setIsOpen] = useState(false);
14
19
  const [hasFilterGroups, setHasFilterGroups] = useState(false);
15
20
  const ref = useRef(null);
@@ -31,33 +36,41 @@ function MappingCondition({ existingContions, setExistingCondtions, conditionDat
31
36
  }
32
37
  ),
33
38
  document.body
34
- ), /* @__PURE__ */ React__default.createElement(DialogTrigger, { asChild: true, onClick: () => setIsOpen(true) }, /* @__PURE__ */ React__default.createElement(
39
+ ), /* @__PURE__ */ React__default.createElement(DialogTrigger, { asChild: true, onClick: () => setIsOpen(true) }, renderTrigger ? renderTrigger(() => setIsOpen(true)) : /* @__PURE__ */ React__default.createElement(
35
40
  Text,
36
41
  {
42
+ className: "dm-sans",
37
43
  weight: "medium",
38
44
  css: {
39
45
  color: "$primary500",
40
- cursor: "pointer"
46
+ cursor: "pointer",
47
+ fontFamily: "DM Sans !important"
41
48
  }
42
49
  },
43
50
  "Set Conditions"
44
51
  )), /* @__PURE__ */ React__default.createElement(
45
52
  DialogContent,
46
53
  {
54
+ className: "dm-sans",
47
55
  css: {
48
56
  fontFamily: "DM Sans !important",
49
57
  minHeight: "332px",
50
- maxHeight: "532px"
58
+ maxHeight: "532px",
59
+ p: {
60
+ margin: "0 !important"
61
+ }
51
62
  }
52
63
  },
53
64
  /* @__PURE__ */ React__default.createElement(
54
65
  DialogHeader,
55
66
  {
67
+ className: "dm-sans",
56
68
  css: {
57
69
  display: "flex",
58
70
  flexDirection: "column",
59
71
  alignItems: "flex-start",
60
- justifyContent: "center"
72
+ justifyContent: "center",
73
+ fontFamily: "DM Sans !important"
61
74
  }
62
75
  },
63
76
  /* @__PURE__ */ React__default.createElement(DialogTitle, { size: "md" }, "Set Conditions ")
@@ -65,11 +78,16 @@ function MappingCondition({ existingContions, setExistingCondtions, conditionDat
65
78
  /* @__PURE__ */ React__default.createElement(
66
79
  DialogBody,
67
80
  {
81
+ className: "dm-sans",
68
82
  css: {
83
+ fontFamily: "DM Sans !important",
69
84
  padding: "$12 !important",
70
85
  minHeight: "188px",
71
86
  maxHeight: "388px",
72
- overflowY: "auto"
87
+ overflowY: "auto",
88
+ p: {
89
+ margin: "0 !important"
90
+ }
73
91
  }
74
92
  },
75
93
  /* @__PURE__ */ React__default.createElement(
@@ -84,29 +102,47 @@ function MappingCondition({ existingContions, setExistingCondtions, conditionDat
84
102
  }
85
103
  )
86
104
  ),
87
- /* @__PURE__ */ React__default.createElement(DialogFooter, null, /* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "flex-end", css: { justifyContent: "flex-end" } }, /* @__PURE__ */ React__default.createElement(DialogClose, { asChild: true }, /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, /* @__PURE__ */ React__default.createElement(Button, { size: "lg", color: "default" }, "Cancel"), /* @__PURE__ */ React__default.createElement(
88
- Button,
105
+ /* @__PURE__ */ React__default.createElement(
106
+ DialogFooter,
89
107
  {
90
- size: "lg",
91
- color: "primary",
92
- onClick: () => {
93
- var _a;
94
- return (_a = ref.current) == null ? void 0 : _a.handleSave();
95
- },
96
- disabled: !hasFilterGroups
108
+ className: "dm-sans",
109
+ css: { fontFamily: "DM Sans !important" }
97
110
  },
98
- "Save"
99
- ))))),
100
- /* @__PURE__ */ React__default.createElement(Box, { css: { position: "absolute", top: "$8", right: "$8" } }, /* @__PURE__ */ React__default.createElement(DialogClose, { asChild: true }, /* @__PURE__ */ React__default.createElement(
101
- IconButton,
111
+ /* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "flex-end", css: { justifyContent: "flex-end" } }, /* @__PURE__ */ React__default.createElement(DialogClose, { asChild: true }, /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, /* @__PURE__ */ React__default.createElement(Button, { size: "lg", color: "default" }, "Cancel"), /* @__PURE__ */ React__default.createElement(
112
+ Button,
113
+ {
114
+ size: "lg",
115
+ color: "primary",
116
+ onClick: () => {
117
+ var _a;
118
+ return (_a = ref.current) == null ? void 0 : _a.handleSave();
119
+ },
120
+ disabled: !hasFilterGroups
121
+ },
122
+ "Save"
123
+ ))))
124
+ ),
125
+ /* @__PURE__ */ React__default.createElement(
126
+ Box,
102
127
  {
103
- size: "lg",
104
- icon: /* @__PURE__ */ React__default.createElement(CloseIcon, null),
105
- variant: "ghost",
106
- "aria-label": "Close",
107
- color: "default"
108
- }
109
- )))
128
+ css: {
129
+ position: "absolute",
130
+ top: "$8",
131
+ right: "$8",
132
+ fontFamily: "DM Sans !important"
133
+ }
134
+ },
135
+ /* @__PURE__ */ React__default.createElement(DialogClose, { className: "dm-sans", asChild: true }, /* @__PURE__ */ React__default.createElement(
136
+ IconButton,
137
+ {
138
+ size: "lg",
139
+ icon: /* @__PURE__ */ React__default.createElement(CloseIcon, null),
140
+ variant: "ghost",
141
+ "aria-label": "Close",
142
+ color: "default"
143
+ }
144
+ ))
145
+ )
110
146
  ));
111
147
  }
112
148