@sparrowengg/integrations-templates-frontend 5.0.6 → 5.0.7

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.
@@ -21,8 +21,9 @@ const useMappingHeader = ({
21
21
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
22
22
  if (isMappingPage) {
23
23
  if (mappingType === "MULTI_MAPPING") {
24
- const isAllCommonFieldsMapped = validation_utils.isAllCommonFieldsProperlyMapped(commonFields);
25
- return !(essentialFields == null ? void 0 : essentialFields.length) ? !isAllCommonFieldsMapped : (essentialFields == null ? void 0 : essentialFields.some((field) => !(field == null ? void 0 : field.surveySparrowField))) || !isAllCommonFieldsMapped;
24
+ const hasImproperCommonField = validation_utils.hasAnyImproperlyMappedCommonField(commonFields);
25
+ const hasUnmappedEssentialField = essentialFields == null ? void 0 : essentialFields.some((field) => !(field == null ? void 0 : field.surveySparrowField));
26
+ return hasUnmappedEssentialField || hasImproperCommonField;
26
27
  }
27
28
  if (editField == null ? void 0 : editField.id) {
28
29
  if (((_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.importMethod) === "SELECTED_DATA") {
@@ -1 +1 @@
1
- {"version":3,"file":"use-mapping-header.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-header.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useCallback, useMemo } from 'react';\nimport { MappingData, EventField, ConfigurationField } from '../../commons/types/enhanced';\nimport { isAllCommonFieldsProperlyMapped } from '../../mapping/utils';\nimport { hasEnabledMappingFields } from '../utils/validation.utils';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingHeaderProps {\n isMappingPage: boolean;\n mappingType: string;\n essentialFields: any[];\n commonFields: any[];\n editField?: any;\n hasFieldsChanged: boolean;\n importResponse: any;\n ssMappingData: MappingData;\n configuration: any;\n}\n\ninterface UseMappingHeaderReturn {\n isNamingModalOpen: boolean;\n setIsNamingModalOpen: React.Dispatch<React.SetStateAction<boolean>>;\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n isButtonDisabled: boolean;\n isMappingPageDisabled: boolean;\n handleSaveClick: () => Promise<void>;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping header state and logic\n * \n * @param {UseMappingHeaderProps} props - Props for mapping header\n * @returns {UseMappingHeaderReturn} State and handlers for mapping header\n * \n * @example\n * const { isButtonDisabled, handleSaveClick } = useMappingHeader({\n * isMappingPage,\n * mappingType,\n * essentialFields,\n * ...\n * });\n */\nexport const useMappingHeader = ({\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n}: UseMappingHeaderProps): UseMappingHeaderReturn => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const isButtonDisabled = useMemo(() => {\n if (isMappingPage) {\n if (mappingType === 'MULTI_MAPPING') {\n const isAllCommonFieldsMapped = isAllCommonFieldsProperlyMapped(commonFields);\n return !essentialFields?.length\n ? !isAllCommonFieldsMapped\n : essentialFields?.some((field: any) => !field?.surveySparrowField) ||\n !isAllCommonFieldsMapped;\n }\n\n if (editField?.id) {\n if ((importResponse?.value as any)?.importMethod === 'SELECTED_DATA') {\n return !hasFieldsChanged || !hasEnabledMappingFields(ssMappingData);\n }\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === 'SEND_ALL_DATA') {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n }\n\n const isMappingDisabled =\n ssMappingData?.questions?.some((question: EventField) => question.isEnabled) ||\n ssMappingData?.variables?.some((variable: EventField) => variable.isEnabled) ||\n ssMappingData?.contactProperties?.some((property: EventField) => property.isEnabled) ||\n ssMappingData?.expressions?.some((expression: EventField) => expression.isEnabled) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some((property: EventField) => property.isEnabled);\n\n return !isMappingDisabled;\n }\n\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find(\n (field: any) => (field as ConfigurationField)?.id === 'responseImportSettings'\n )?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n ]);\n\n const isMappingPageDisabled = useMemo(() => {\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find((field: any) => field?.id === 'responseImportSettings')\n ?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [configuration]);\n\n const handleSaveClick = useCallback(async () => {\n // This will be implemented by the parent component\n }, []);\n\n return {\n isNamingModalOpen,\n setIsNamingModalOpen,\n isLoading,\n setIsLoading,\n isButtonDisabled,\n isMappingPageDisabled,\n handleSaveClick,\n };\n};\n"],"names":["useState","useMemo","isAllCommonFieldsProperlyMapped","hasEnabledMappingFields","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"use-mapping-header.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-header.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useCallback, useMemo } from 'react';\nimport { MappingData, EventField, ConfigurationField } from '../../commons/types/enhanced';\nimport { hasAnyImproperlyMappedCommonField } from '../../mapping/utils';\nimport { hasEnabledMappingFields } from '../utils/validation.utils';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingHeaderProps {\n isMappingPage: boolean;\n mappingType: string;\n essentialFields: any[];\n commonFields: any[];\n editField?: any;\n hasFieldsChanged: boolean;\n importResponse: any;\n ssMappingData: MappingData;\n configuration: any;\n}\n\ninterface UseMappingHeaderReturn {\n isNamingModalOpen: boolean;\n setIsNamingModalOpen: React.Dispatch<React.SetStateAction<boolean>>;\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n isButtonDisabled: boolean;\n isMappingPageDisabled: boolean;\n handleSaveClick: () => Promise<void>;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping header state and logic\n * \n * @param {UseMappingHeaderProps} props - Props for mapping header\n * @returns {UseMappingHeaderReturn} State and handlers for mapping header\n * \n * @example\n * const { isButtonDisabled, handleSaveClick } = useMappingHeader({\n * isMappingPage,\n * mappingType,\n * essentialFields,\n * ...\n * });\n */\nexport const useMappingHeader = ({\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n}: UseMappingHeaderProps): UseMappingHeaderReturn => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const isButtonDisabled = useMemo(() => {\n if (isMappingPage) {\n if (mappingType === 'MULTI_MAPPING') {\n const hasImproperCommonField = hasAnyImproperlyMappedCommonField(commonFields);\n const hasUnmappedEssentialField = essentialFields?.some((field: any) => !field?.surveySparrowField);\n // Disable if any essential field is unmapped OR if any common field is improperly mapped\n return hasUnmappedEssentialField || hasImproperCommonField;\n }\n\n if (editField?.id) {\n if ((importResponse?.value as any)?.importMethod === 'SELECTED_DATA') {\n return !hasFieldsChanged || !hasEnabledMappingFields(ssMappingData);\n }\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === 'SEND_ALL_DATA') {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n }\n\n const isMappingDisabled =\n ssMappingData?.questions?.some((question: EventField) => question.isEnabled) ||\n ssMappingData?.variables?.some((variable: EventField) => variable.isEnabled) ||\n ssMappingData?.contactProperties?.some((property: EventField) => property.isEnabled) ||\n ssMappingData?.expressions?.some((expression: EventField) => expression.isEnabled) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some((property: EventField) => property.isEnabled);\n\n return !isMappingDisabled;\n }\n\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find(\n (field: any) => (field as ConfigurationField)?.id === 'responseImportSettings'\n )?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n ]);\n\n const isMappingPageDisabled = useMemo(() => {\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find((field: any) => field?.id === 'responseImportSettings')\n ?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [configuration]);\n\n const handleSaveClick = useCallback(async () => {\n // This will be implemented by the parent component\n }, []);\n\n return {\n isNamingModalOpen,\n setIsNamingModalOpen,\n isLoading,\n setIsLoading,\n isButtonDisabled,\n isMappingPageDisabled,\n handleSaveClick,\n };\n};\n"],"names":["useState","useMemo","hasAnyImproperlyMappedCommonField","hasEnabledMappingFields","useCallback"],"mappings":"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"}
@@ -19,6 +19,15 @@ const isAllEssentialMapped = (fields, havingTypeDropdown) => {
19
19
  const isAllCommonFieldsProperlyMapped = (fields) => {
20
20
  return !!(fields == null ? void 0 : fields.length) && (fields == null ? void 0 : fields.every((field) => (field == null ? void 0 : field.integrationField) !== null && (field == null ? void 0 : field.surveySparrowField) !== null));
21
21
  };
22
+ const hasAnyImproperlyMappedCommonField = (fields) => {
23
+ if (!(fields == null ? void 0 : fields.length))
24
+ return false;
25
+ return fields.some((field) => {
26
+ const hasIntegrationField = (field == null ? void 0 : field.integrationField) !== null && (field == null ? void 0 : field.integrationField) !== void 0;
27
+ const hasSurveySparrowField = (field == null ? void 0 : field.surveySparrowField) !== null && (field == null ? void 0 : field.surveySparrowField) !== void 0;
28
+ return hasIntegrationField && !hasSurveySparrowField || !hasIntegrationField && hasSurveySparrowField;
29
+ });
30
+ };
22
31
  const isEventSetupDisabled = (actionsValue, eventsValue) => {
23
32
  return !actionsValue || !eventsValue;
24
33
  };
@@ -29,6 +38,7 @@ const validatePattern = (pattern, value) => {
29
38
  return regex.test(value);
30
39
  };
31
40
 
41
+ exports.hasAnyImproperlyMappedCommonField = hasAnyImproperlyMappedCommonField;
32
42
  exports.isAllCommonFieldsProperlyMapped = isAllCommonFieldsProperlyMapped;
33
43
  exports.isAllEssentialMapped = isAllEssentialMapped;
34
44
  exports.isEventSetupDisabled = isEventSetupDisabled;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.js","sources":["../../../../src/mapping/utils/validation.utils.ts"],"sourcesContent":["import { FieldType } from \"../types\";\n\n/**\n * Validates if all essential fields are properly mapped\n * @param fields - Array of field mappings\n * @param havingTypeDropdown - Whether the integration has type dropdown\n * @returns boolean indicating if all essential fields are mapped\n */\nexport const isAllEssentialMapped = (\n fields: Array<FieldType>,\n havingTypeDropdown: boolean\n): boolean => {\n let status = true;\n \n fields?.forEach((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n \n return status;\n};\n\nexport const isAllCommonFieldsProperlyMapped = (\n fields: Array<FieldType>\n): boolean => {\n return !!fields?.length && fields?.every((field: FieldType) => field?.integrationField !== null && field?.surveySparrowField !== null);\n};\n\n\n/**\n * Checks if the event setup is disabled (missing required values)\n * @param actionsValue - Selected action value\n * @param eventsValue - Selected event value\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actionsValue: any,\n eventsValue: any\n): boolean => {\n return !actionsValue || !eventsValue;\n};\n\n/**\n * Validates pattern against input value\n * @param pattern - Regex pattern string\n * @param value - Input value to validate\n * @returns boolean indicating if value matches pattern\n */\nexport const validatePattern = (pattern: string, value: string): boolean => {\n if (!pattern || value === \"\") return true;\n const regex = new RegExp(pattern);\n return regex.test(value);\n};\n\n"],"names":[],"mappings":";;AAQO,MAAM,oBAAA,GAAuB,CAClC,MAAA,EACA,kBAAA,KACY;AACZ,EAAA,IAAI,MAAA,GAAS,IAAA;AAEb,EAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAqB;AACpC,IAAA,IAAI,+BAAO,gBAAA,EAAkB;AAC3B,MAAA,MAAA,GAAS,MAAA,IAAA,CAAU,+BAAO,kBAAA,MAAuB,IAAA;AACjD,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,MAAA,GACE,MAAA,IAAA,CACA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,oBAAA,MAAyB,IAAA,IAAA,CAChC,+BAAO,gBAAA,MAAqB,IAAA;AAAA,MAChC;AAAA,IACF,CAAA,MAAO;AACL,MAAA,IAAI,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,qBAAoB,CAAC,EAAC,+BAAO,kBAAA,CAAA,EAAoB;AAC5D,QAAA,MAAA,GACE,UAAU,CAAC,EAAC,+BAAO,gBAAA,CAAA,IAAoB,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,CAAA;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAA,CAAA;AAEA,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,+BAAA,GAAkC,CAC7C,MAAA,KACY;AACZ,EAAA,OAAO,CAAC,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA,KAAU,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAM,CAAC,KAAA,KAAA,CAAqB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,CAAA,CAAA;AACnI;AASO,MAAM,oBAAA,GAAuB,CAClC,YAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAO,CAAC,gBAAgB,CAAC,WAAA;AAC3B;AAQO,MAAM,eAAA,GAAkB,CAAC,OAAA,EAAiB,KAAA,KAA2B;AAC1E,EAAA,IAAI,CAAC,WAAW,KAAA,KAAU,EAAA;AAAI,IAAA,OAAO,IAAA;AACrC,EAAA,MAAM,KAAA,GAAQ,IAAI,MAAA,CAAO,OAAO,CAAA;AAChC,EAAA,OAAO,KAAA,CAAM,KAAK,KAAK,CAAA;AACzB;;;;;;;"}
1
+ {"version":3,"file":"validation.utils.js","sources":["../../../../src/mapping/utils/validation.utils.ts"],"sourcesContent":["import { FieldType } from \"../types\";\n\n/**\n * Validates if all essential fields are properly mapped\n * @param fields - Array of field mappings\n * @param havingTypeDropdown - Whether the integration has type dropdown\n * @returns boolean indicating if all essential fields are mapped\n */\nexport const isAllEssentialMapped = (\n fields: Array<FieldType>,\n havingTypeDropdown: boolean\n): boolean => {\n let status = true;\n \n fields?.forEach((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n \n return status;\n};\n\nexport const isAllCommonFieldsProperlyMapped = (\n fields: Array<FieldType>\n): boolean => {\n return !!fields?.length && fields?.every((field: FieldType) => field?.integrationField !== null && field?.surveySparrowField !== null);\n};\n\n/**\n * Checks if any common field has an improper/partial mapping\n * A field is improperly mapped if it has one of integrationField or surveySparrowField filled but not both\n * @param fields - Array of common field mappings\n * @returns boolean indicating if any field has improper mapping\n */\nexport const hasAnyImproperlyMappedCommonField = (\n fields: Array<FieldType>\n): boolean => {\n if (!fields?.length) return false;\n return fields.some((field: FieldType) => {\n const hasIntegrationField = field?.integrationField !== null && field?.integrationField !== undefined;\n const hasSurveySparrowField = field?.surveySparrowField !== null && field?.surveySparrowField !== undefined;\n // Improperly mapped if one is filled but not the other\n return (hasIntegrationField && !hasSurveySparrowField) || (!hasIntegrationField && hasSurveySparrowField);\n });\n};\n\n\n/**\n * Checks if the event setup is disabled (missing required values)\n * @param actionsValue - Selected action value\n * @param eventsValue - Selected event value\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actionsValue: any,\n eventsValue: any\n): boolean => {\n return !actionsValue || !eventsValue;\n};\n\n/**\n * Validates pattern against input value\n * @param pattern - Regex pattern string\n * @param value - Input value to validate\n * @returns boolean indicating if value matches pattern\n */\nexport const validatePattern = (pattern: string, value: string): boolean => {\n if (!pattern || value === \"\") return true;\n const regex = new RegExp(pattern);\n return regex.test(value);\n};\n\n"],"names":[],"mappings":";;AAQO,MAAM,oBAAA,GAAuB,CAClC,MAAA,EACA,kBAAA,KACY;AACZ,EAAA,IAAI,MAAA,GAAS,IAAA;AAEb,EAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAqB;AACpC,IAAA,IAAI,+BAAO,gBAAA,EAAkB;AAC3B,MAAA,MAAA,GAAS,MAAA,IAAA,CAAU,+BAAO,kBAAA,MAAuB,IAAA;AACjD,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,MAAA,GACE,MAAA,IAAA,CACA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,oBAAA,MAAyB,IAAA,IAAA,CAChC,+BAAO,gBAAA,MAAqB,IAAA;AAAA,MAChC;AAAA,IACF,CAAA,MAAO;AACL,MAAA,IAAI,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,qBAAoB,CAAC,EAAC,+BAAO,kBAAA,CAAA,EAAoB;AAC5D,QAAA,MAAA,GACE,UAAU,CAAC,EAAC,+BAAO,gBAAA,CAAA,IAAoB,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,CAAA;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAA,CAAA;AAEA,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,+BAAA,GAAkC,CAC7C,MAAA,KACY;AACZ,EAAA,OAAO,CAAC,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA,KAAU,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAM,CAAC,KAAA,KAAA,CAAqB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,CAAA,CAAA;AACnI;AAQO,MAAM,iCAAA,GAAoC,CAC/C,MAAA,KACY;AACZ,EAAA,IAAI,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA;AAAQ,IAAA,OAAO,KAAA;AAC5B,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,CAAC,KAAA,KAAqB;AACvC,IAAA,MAAM,mBAAA,GAAA,CAAsB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,+BAAO,gBAAA,MAAqB,MAAA;AAC5F,IAAA,MAAM,qBAAA,GAAA,CAAwB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,IAAA,CAAQ,+BAAO,kBAAA,MAAuB,MAAA;AAElG,IAAA,OAAQ,mBAAA,IAAuB,CAAC,qBAAA,IAA2B,CAAC,mBAAA,IAAuB,qBAAA;AAAA,EACrF,CAAC,CAAA;AACH;AASO,MAAM,oBAAA,GAAuB,CAClC,YAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAO,CAAC,gBAAgB,CAAC,WAAA;AAC3B;AAQO,MAAM,eAAA,GAAkB,CAAC,OAAA,EAAiB,KAAA,KAA2B;AAC1E,EAAA,IAAI,CAAC,WAAW,KAAA,KAAU,EAAA;AAAI,IAAA,OAAO,IAAA;AACrC,EAAA,MAAM,KAAA,GAAQ,IAAI,MAAA,CAAO,OAAO,CAAA;AAChC,EAAA,OAAO,KAAA,CAAM,KAAK,KAAK,CAAA;AACzB;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { useState, useMemo, useCallback } from 'react';
2
- import { isAllCommonFieldsProperlyMapped } from '../../mapping/utils/validation.utils.js';
2
+ import { hasAnyImproperlyMappedCommonField } from '../../mapping/utils/validation.utils.js';
3
3
  import { hasEnabledMappingFields } from '../utils/validation.utils.js';
4
4
 
5
5
  const useMappingHeader = ({
@@ -19,8 +19,9 @@ const useMappingHeader = ({
19
19
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
20
20
  if (isMappingPage) {
21
21
  if (mappingType === "MULTI_MAPPING") {
22
- const isAllCommonFieldsMapped = isAllCommonFieldsProperlyMapped(commonFields);
23
- return !(essentialFields == null ? void 0 : essentialFields.length) ? !isAllCommonFieldsMapped : (essentialFields == null ? void 0 : essentialFields.some((field) => !(field == null ? void 0 : field.surveySparrowField))) || !isAllCommonFieldsMapped;
22
+ const hasImproperCommonField = hasAnyImproperlyMappedCommonField(commonFields);
23
+ const hasUnmappedEssentialField = essentialFields == null ? void 0 : essentialFields.some((field) => !(field == null ? void 0 : field.surveySparrowField));
24
+ return hasUnmappedEssentialField || hasImproperCommonField;
24
25
  }
25
26
  if (editField == null ? void 0 : editField.id) {
26
27
  if (((_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.importMethod) === "SELECTED_DATA") {
@@ -1 +1 @@
1
- {"version":3,"file":"use-mapping-header.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-header.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useCallback, useMemo } from 'react';\nimport { MappingData, EventField, ConfigurationField } from '../../commons/types/enhanced';\nimport { isAllCommonFieldsProperlyMapped } from '../../mapping/utils';\nimport { hasEnabledMappingFields } from '../utils/validation.utils';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingHeaderProps {\n isMappingPage: boolean;\n mappingType: string;\n essentialFields: any[];\n commonFields: any[];\n editField?: any;\n hasFieldsChanged: boolean;\n importResponse: any;\n ssMappingData: MappingData;\n configuration: any;\n}\n\ninterface UseMappingHeaderReturn {\n isNamingModalOpen: boolean;\n setIsNamingModalOpen: React.Dispatch<React.SetStateAction<boolean>>;\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n isButtonDisabled: boolean;\n isMappingPageDisabled: boolean;\n handleSaveClick: () => Promise<void>;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping header state and logic\n * \n * @param {UseMappingHeaderProps} props - Props for mapping header\n * @returns {UseMappingHeaderReturn} State and handlers for mapping header\n * \n * @example\n * const { isButtonDisabled, handleSaveClick } = useMappingHeader({\n * isMappingPage,\n * mappingType,\n * essentialFields,\n * ...\n * });\n */\nexport const useMappingHeader = ({\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n}: UseMappingHeaderProps): UseMappingHeaderReturn => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const isButtonDisabled = useMemo(() => {\n if (isMappingPage) {\n if (mappingType === 'MULTI_MAPPING') {\n const isAllCommonFieldsMapped = isAllCommonFieldsProperlyMapped(commonFields);\n return !essentialFields?.length\n ? !isAllCommonFieldsMapped\n : essentialFields?.some((field: any) => !field?.surveySparrowField) ||\n !isAllCommonFieldsMapped;\n }\n\n if (editField?.id) {\n if ((importResponse?.value as any)?.importMethod === 'SELECTED_DATA') {\n return !hasFieldsChanged || !hasEnabledMappingFields(ssMappingData);\n }\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === 'SEND_ALL_DATA') {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n }\n\n const isMappingDisabled =\n ssMappingData?.questions?.some((question: EventField) => question.isEnabled) ||\n ssMappingData?.variables?.some((variable: EventField) => variable.isEnabled) ||\n ssMappingData?.contactProperties?.some((property: EventField) => property.isEnabled) ||\n ssMappingData?.expressions?.some((expression: EventField) => expression.isEnabled) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some((property: EventField) => property.isEnabled);\n\n return !isMappingDisabled;\n }\n\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find(\n (field: any) => (field as ConfigurationField)?.id === 'responseImportSettings'\n )?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n ]);\n\n const isMappingPageDisabled = useMemo(() => {\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find((field: any) => field?.id === 'responseImportSettings')\n ?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [configuration]);\n\n const handleSaveClick = useCallback(async () => {\n // This will be implemented by the parent component\n }, []);\n\n return {\n isNamingModalOpen,\n setIsNamingModalOpen,\n isLoading,\n setIsLoading,\n isButtonDisabled,\n isMappingPageDisabled,\n handleSaveClick,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-mapping-header.js","sources":["../../../../src/dynamic-mapping/hooks/use-mapping-header.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useCallback, useMemo } from 'react';\nimport { MappingData, EventField, ConfigurationField } from '../../commons/types/enhanced';\nimport { hasAnyImproperlyMappedCommonField } from '../../mapping/utils';\nimport { hasEnabledMappingFields } from '../utils/validation.utils';\n\n/* ----- Types / Interfaces ----- */\n\ninterface UseMappingHeaderProps {\n isMappingPage: boolean;\n mappingType: string;\n essentialFields: any[];\n commonFields: any[];\n editField?: any;\n hasFieldsChanged: boolean;\n importResponse: any;\n ssMappingData: MappingData;\n configuration: any;\n}\n\ninterface UseMappingHeaderReturn {\n isNamingModalOpen: boolean;\n setIsNamingModalOpen: React.Dispatch<React.SetStateAction<boolean>>;\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n isButtonDisabled: boolean;\n isMappingPageDisabled: boolean;\n handleSaveClick: () => Promise<void>;\n}\n\n/* ----- Main Hook ----- */\n\n/**\n * Custom hook to manage mapping header state and logic\n * \n * @param {UseMappingHeaderProps} props - Props for mapping header\n * @returns {UseMappingHeaderReturn} State and handlers for mapping header\n * \n * @example\n * const { isButtonDisabled, handleSaveClick } = useMappingHeader({\n * isMappingPage,\n * mappingType,\n * essentialFields,\n * ...\n * });\n */\nexport const useMappingHeader = ({\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n}: UseMappingHeaderProps): UseMappingHeaderReturn => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const isButtonDisabled = useMemo(() => {\n if (isMappingPage) {\n if (mappingType === 'MULTI_MAPPING') {\n const hasImproperCommonField = hasAnyImproperlyMappedCommonField(commonFields);\n const hasUnmappedEssentialField = essentialFields?.some((field: any) => !field?.surveySparrowField);\n // Disable if any essential field is unmapped OR if any common field is improperly mapped\n return hasUnmappedEssentialField || hasImproperCommonField;\n }\n\n if (editField?.id) {\n if ((importResponse?.value as any)?.importMethod === 'SELECTED_DATA') {\n return !hasFieldsChanged || !hasEnabledMappingFields(ssMappingData);\n }\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === 'SEND_ALL_DATA') {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n }\n\n const isMappingDisabled =\n ssMappingData?.questions?.some((question: EventField) => question.isEnabled) ||\n ssMappingData?.variables?.some((variable: EventField) => variable.isEnabled) ||\n ssMappingData?.contactProperties?.some((property: EventField) => property.isEnabled) ||\n ssMappingData?.expressions?.some((expression: EventField) => expression.isEnabled) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some((property: EventField) => property.isEnabled);\n\n return !isMappingDisabled;\n }\n\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find(\n (field: any) => (field as ConfigurationField)?.id === 'responseImportSettings'\n )?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [\n isMappingPage,\n mappingType,\n essentialFields,\n commonFields,\n editField,\n hasFieldsChanged,\n importResponse,\n ssMappingData,\n configuration,\n ]);\n\n const isMappingPageDisabled = useMemo(() => {\n const isAllFieldsDisabled = Object.values(configuration?.configurationFields || {})?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n\n if (\n configuration?.configurationFields?.find((field: any) => field?.id === 'responseImportSettings')\n ?.value\n ) {\n return isAllFieldsDisabled || !configuration?.configuredFields?.responseImportType;\n }\n\n return isAllFieldsDisabled;\n }, [configuration]);\n\n const handleSaveClick = useCallback(async () => {\n // This will be implemented by the parent component\n }, []);\n\n return {\n isNamingModalOpen,\n setIsNamingModalOpen,\n isLoading,\n setIsLoading,\n isButtonDisabled,\n isMappingPageDisabled,\n handleSaveClick,\n };\n};\n"],"names":[],"mappings":"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"}
@@ -17,6 +17,15 @@ const isAllEssentialMapped = (fields, havingTypeDropdown) => {
17
17
  const isAllCommonFieldsProperlyMapped = (fields) => {
18
18
  return !!(fields == null ? void 0 : fields.length) && (fields == null ? void 0 : fields.every((field) => (field == null ? void 0 : field.integrationField) !== null && (field == null ? void 0 : field.surveySparrowField) !== null));
19
19
  };
20
+ const hasAnyImproperlyMappedCommonField = (fields) => {
21
+ if (!(fields == null ? void 0 : fields.length))
22
+ return false;
23
+ return fields.some((field) => {
24
+ const hasIntegrationField = (field == null ? void 0 : field.integrationField) !== null && (field == null ? void 0 : field.integrationField) !== void 0;
25
+ const hasSurveySparrowField = (field == null ? void 0 : field.surveySparrowField) !== null && (field == null ? void 0 : field.surveySparrowField) !== void 0;
26
+ return hasIntegrationField && !hasSurveySparrowField || !hasIntegrationField && hasSurveySparrowField;
27
+ });
28
+ };
20
29
  const isEventSetupDisabled = (actionsValue, eventsValue) => {
21
30
  return !actionsValue || !eventsValue;
22
31
  };
@@ -27,5 +36,5 @@ const validatePattern = (pattern, value) => {
27
36
  return regex.test(value);
28
37
  };
29
38
 
30
- export { isAllCommonFieldsProperlyMapped, isAllEssentialMapped, isEventSetupDisabled, validatePattern };
39
+ export { hasAnyImproperlyMappedCommonField, isAllCommonFieldsProperlyMapped, isAllEssentialMapped, isEventSetupDisabled, validatePattern };
31
40
  //# sourceMappingURL=validation.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.js","sources":["../../../../src/mapping/utils/validation.utils.ts"],"sourcesContent":["import { FieldType } from \"../types\";\n\n/**\n * Validates if all essential fields are properly mapped\n * @param fields - Array of field mappings\n * @param havingTypeDropdown - Whether the integration has type dropdown\n * @returns boolean indicating if all essential fields are mapped\n */\nexport const isAllEssentialMapped = (\n fields: Array<FieldType>,\n havingTypeDropdown: boolean\n): boolean => {\n let status = true;\n \n fields?.forEach((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n \n return status;\n};\n\nexport const isAllCommonFieldsProperlyMapped = (\n fields: Array<FieldType>\n): boolean => {\n return !!fields?.length && fields?.every((field: FieldType) => field?.integrationField !== null && field?.surveySparrowField !== null);\n};\n\n\n/**\n * Checks if the event setup is disabled (missing required values)\n * @param actionsValue - Selected action value\n * @param eventsValue - Selected event value\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actionsValue: any,\n eventsValue: any\n): boolean => {\n return !actionsValue || !eventsValue;\n};\n\n/**\n * Validates pattern against input value\n * @param pattern - Regex pattern string\n * @param value - Input value to validate\n * @returns boolean indicating if value matches pattern\n */\nexport const validatePattern = (pattern: string, value: string): boolean => {\n if (!pattern || value === \"\") return true;\n const regex = new RegExp(pattern);\n return regex.test(value);\n};\n\n"],"names":[],"mappings":"AAQO,MAAM,oBAAA,GAAuB,CAClC,MAAA,EACA,kBAAA,KACY;AACZ,EAAA,IAAI,MAAA,GAAS,IAAA;AAEb,EAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAqB;AACpC,IAAA,IAAI,+BAAO,gBAAA,EAAkB;AAC3B,MAAA,MAAA,GAAS,MAAA,IAAA,CAAU,+BAAO,kBAAA,MAAuB,IAAA;AACjD,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,MAAA,GACE,MAAA,IAAA,CACA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,oBAAA,MAAyB,IAAA,IAAA,CAChC,+BAAO,gBAAA,MAAqB,IAAA;AAAA,MAChC;AAAA,IACF,CAAA,MAAO;AACL,MAAA,IAAI,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,qBAAoB,CAAC,EAAC,+BAAO,kBAAA,CAAA,EAAoB;AAC5D,QAAA,MAAA,GACE,UAAU,CAAC,EAAC,+BAAO,gBAAA,CAAA,IAAoB,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,CAAA;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAA,CAAA;AAEA,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,+BAAA,GAAkC,CAC7C,MAAA,KACY;AACZ,EAAA,OAAO,CAAC,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA,KAAU,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAM,CAAC,KAAA,KAAA,CAAqB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,CAAA,CAAA;AACnI;AASO,MAAM,oBAAA,GAAuB,CAClC,YAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAO,CAAC,gBAAgB,CAAC,WAAA;AAC3B;AAQO,MAAM,eAAA,GAAkB,CAAC,OAAA,EAAiB,KAAA,KAA2B;AAC1E,EAAA,IAAI,CAAC,WAAW,KAAA,KAAU,EAAA;AAAI,IAAA,OAAO,IAAA;AACrC,EAAA,MAAM,KAAA,GAAQ,IAAI,MAAA,CAAO,OAAO,CAAA;AAChC,EAAA,OAAO,KAAA,CAAM,KAAK,KAAK,CAAA;AACzB;;;;"}
1
+ {"version":3,"file":"validation.utils.js","sources":["../../../../src/mapping/utils/validation.utils.ts"],"sourcesContent":["import { FieldType } from \"../types\";\n\n/**\n * Validates if all essential fields are properly mapped\n * @param fields - Array of field mappings\n * @param havingTypeDropdown - Whether the integration has type dropdown\n * @returns boolean indicating if all essential fields are mapped\n */\nexport const isAllEssentialMapped = (\n fields: Array<FieldType>,\n havingTypeDropdown: boolean\n): boolean => {\n let status = true;\n \n fields?.forEach((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n \n return status;\n};\n\nexport const isAllCommonFieldsProperlyMapped = (\n fields: Array<FieldType>\n): boolean => {\n return !!fields?.length && fields?.every((field: FieldType) => field?.integrationField !== null && field?.surveySparrowField !== null);\n};\n\n/**\n * Checks if any common field has an improper/partial mapping\n * A field is improperly mapped if it has one of integrationField or surveySparrowField filled but not both\n * @param fields - Array of common field mappings\n * @returns boolean indicating if any field has improper mapping\n */\nexport const hasAnyImproperlyMappedCommonField = (\n fields: Array<FieldType>\n): boolean => {\n if (!fields?.length) return false;\n return fields.some((field: FieldType) => {\n const hasIntegrationField = field?.integrationField !== null && field?.integrationField !== undefined;\n const hasSurveySparrowField = field?.surveySparrowField !== null && field?.surveySparrowField !== undefined;\n // Improperly mapped if one is filled but not the other\n return (hasIntegrationField && !hasSurveySparrowField) || (!hasIntegrationField && hasSurveySparrowField);\n });\n};\n\n\n/**\n * Checks if the event setup is disabled (missing required values)\n * @param actionsValue - Selected action value\n * @param eventsValue - Selected event value\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actionsValue: any,\n eventsValue: any\n): boolean => {\n return !actionsValue || !eventsValue;\n};\n\n/**\n * Validates pattern against input value\n * @param pattern - Regex pattern string\n * @param value - Input value to validate\n * @returns boolean indicating if value matches pattern\n */\nexport const validatePattern = (pattern: string, value: string): boolean => {\n if (!pattern || value === \"\") return true;\n const regex = new RegExp(pattern);\n return regex.test(value);\n};\n\n"],"names":[],"mappings":"AAQO,MAAM,oBAAA,GAAuB,CAClC,MAAA,EACA,kBAAA,KACY;AACZ,EAAA,IAAI,MAAA,GAAS,IAAA;AAEb,EAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAqB;AACpC,IAAA,IAAI,+BAAO,gBAAA,EAAkB;AAC3B,MAAA,MAAA,GAAS,MAAA,IAAA,CAAU,+BAAO,kBAAA,MAAuB,IAAA;AACjD,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,MAAA,GACE,MAAA,IAAA,CACA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,oBAAA,MAAyB,IAAA,IAAA,CAChC,+BAAO,gBAAA,MAAqB,IAAA;AAAA,MAChC;AAAA,IACF,CAAA,MAAO;AACL,MAAA,IAAI,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,qBAAoB,CAAC,EAAC,+BAAO,kBAAA,CAAA,EAAoB;AAC5D,QAAA,MAAA,GACE,UAAU,CAAC,EAAC,+BAAO,gBAAA,CAAA,IAAoB,CAAC,EAAC,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,CAAA;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAA,CAAA;AAEA,EAAA,OAAO,MAAA;AACT;AAEO,MAAM,+BAAA,GAAkC,CAC7C,MAAA,KACY;AACZ,EAAA,OAAO,CAAC,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA,KAAU,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAM,CAAC,KAAA,KAAA,CAAqB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,CAAA,CAAA;AACnI;AAQO,MAAM,iCAAA,GAAoC,CAC/C,MAAA,KACY;AACZ,EAAA,IAAI,EAAC,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,MAAA,CAAA;AAAQ,IAAA,OAAO,KAAA;AAC5B,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,CAAC,KAAA,KAAqB;AACvC,IAAA,MAAM,mBAAA,GAAA,CAAsB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAqB,IAAA,IAAA,CAAQ,+BAAO,gBAAA,MAAqB,MAAA;AAC5F,IAAA,MAAM,qBAAA,GAAA,CAAwB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,MAAuB,IAAA,IAAA,CAAQ,+BAAO,kBAAA,MAAuB,MAAA;AAElG,IAAA,OAAQ,mBAAA,IAAuB,CAAC,qBAAA,IAA2B,CAAC,mBAAA,IAAuB,qBAAA;AAAA,EACrF,CAAC,CAAA;AACH;AASO,MAAM,oBAAA,GAAuB,CAClC,YAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAO,CAAC,gBAAgB,CAAC,WAAA;AAC3B;AAQO,MAAM,eAAA,GAAkB,CAAC,OAAA,EAAiB,KAAA,KAA2B;AAC1E,EAAA,IAAI,CAAC,WAAW,KAAA,KAAU,EAAA;AAAI,IAAA,OAAO,IAAA;AACrC,EAAA,MAAM,KAAA,GAAQ,IAAI,MAAA,CAAO,OAAO,CAAA;AAChC,EAAA,OAAO,KAAA,CAAM,KAAK,KAAK,CAAA;AACzB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparrowengg/integrations-templates-frontend",
3
- "version": "5.0.6",
3
+ "version": "5.0.7",
4
4
  "license": "MIT",
5
5
  "module": "dist/es/index.js",
6
6
  "main": "dist/cjs/index.js",