@sparrowengg/integrations-templates-frontend 4.0.0-refold.3 → 4.0.0-refold.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/commons/components/mapping-conditions/components/comparator-dropdown.js +1 -1
- package/dist/cjs/commons/components/mapping-conditions/components/comparator-dropdown.js.map +1 -1
- package/dist/cjs/commons/components/mapping-conditions/components/condition-wrapper-refactored.js +1 -1
- package/dist/cjs/commons/components/mapping-conditions/components/condition-wrapper-refactored.js.map +1 -1
- package/dist/cjs/commons/constants/index.js +1 -1
- package/dist/cjs/commons/constants/index.js.map +1 -1
- package/dist/cjs/commons/helpers/index.js +43 -16
- package/dist/cjs/commons/helpers/index.js.map +1 -1
- package/dist/cjs/contact-import/components/contact-import-mapping.js +5 -3
- package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -1
- package/dist/cjs/dynamic-mapping/components/mapping-header.js +2 -1
- package/dist/cjs/dynamic-mapping/components/mapping-header.js.map +1 -1
- package/dist/cjs/dynamic-mapping/components/mapping.js +8 -6
- package/dist/cjs/dynamic-mapping/components/mapping.js.map +1 -1
- package/dist/cjs/dynamic-mapping/components/tabs-content-component.js +24 -4
- package/dist/cjs/dynamic-mapping/components/tabs-content-component.js.map +1 -1
- package/dist/cjs/dynamic-mapping/constants/condition-operators.js +28 -3
- package/dist/cjs/dynamic-mapping/constants/condition-operators.js.map +1 -1
- package/dist/cjs/dynamic-mapping/constants/ui-strings.js.map +1 -1
- package/dist/cjs/dynamic-mapping/helpers/derive-condition-data.js +37 -2
- package/dist/cjs/dynamic-mapping/helpers/derive-condition-data.js.map +1 -1
- package/dist/cjs/dynamic-mapping/helpers/mapping.helpers.js +97 -0
- package/dist/cjs/dynamic-mapping/helpers/mapping.helpers.js.map +1 -1
- package/dist/cjs/dynamic-mapping/hooks/use-custom-dropdown.js +2 -0
- package/dist/cjs/dynamic-mapping/hooks/use-custom-dropdown.js.map +1 -1
- package/dist/cjs/dynamic-mapping/hooks/use-mapping-data.js +129 -40
- package/dist/cjs/dynamic-mapping/hooks/use-mapping-data.js.map +1 -1
- package/dist/cjs/dynamic-mapping/index.js +2 -0
- package/dist/cjs/dynamic-mapping/index.js.map +1 -1
- package/dist/cjs/filter/filter-pill.js +24 -7
- package/dist/cjs/filter/filter-pill.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +1 -0
- package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard-utils.js +17 -3
- package/dist/cjs/integration-template/components/dashboard-utils.js.map +1 -1
- package/dist/cjs/mapping/components/field.js +18 -10
- package/dist/cjs/mapping/components/field.js.map +1 -1
- package/dist/cjs/mapping/components/mapping.js +2 -2
- package/dist/cjs/mapping/components/mapping.js.map +1 -1
- package/dist/cjs/mapping/hooks/use-survey-data.js +38 -12
- package/dist/cjs/mapping/hooks/use-survey-data.js.map +1 -1
- package/dist/cjs/mapping/utils/conditionDescriptionBuilder.js +12 -2
- package/dist/cjs/mapping/utils/conditionDescriptionBuilder.js.map +1 -1
- package/dist/cjs/mapping/utils/validation.utils.js +1 -1
- package/dist/cjs/mapping/utils/validation.utils.js.map +1 -1
- package/dist/cjs/single-mapping/components/mapping.js +1 -1
- package/dist/cjs/single-mapping/components/mapping.js.map +1 -1
- package/dist/cjs/single-mapping/hooks/use-mapping-data.js +13 -11
- package/dist/cjs/single-mapping/hooks/use-mapping-data.js.map +1 -1
- package/dist/cjs/triggers/components/EventSetup.js +2 -1
- package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
- package/dist/cjs/triggers/components/TriggerHeader.js +2 -1
- package/dist/cjs/triggers/components/TriggerHeader.js.map +1 -1
- package/dist/cjs/triggers/constants/index.js.map +1 -1
- package/dist/cjs/triggers/index.js +3 -0
- package/dist/cjs/triggers/index.js.map +1 -1
- package/dist/cjs/triggers/utils/validation.utils.js +15 -11
- package/dist/cjs/triggers/utils/validation.utils.js.map +1 -1
- package/dist/es/commons/components/mapping-conditions/components/comparator-dropdown.js +1 -1
- package/dist/es/commons/components/mapping-conditions/components/comparator-dropdown.js.map +1 -1
- package/dist/es/commons/components/mapping-conditions/components/condition-wrapper-refactored.js +1 -1
- package/dist/es/commons/components/mapping-conditions/components/condition-wrapper-refactored.js.map +1 -1
- package/dist/es/commons/constants/index.js +1 -1
- package/dist/es/commons/constants/index.js.map +1 -1
- package/dist/es/commons/helpers/index.js +43 -16
- package/dist/es/commons/helpers/index.js.map +1 -1
- package/dist/es/contact-import/components/contact-import-mapping.js +5 -3
- package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -1
- package/dist/es/dynamic-mapping/components/mapping-header.js +2 -1
- package/dist/es/dynamic-mapping/components/mapping-header.js.map +1 -1
- package/dist/es/dynamic-mapping/components/mapping.js +9 -7
- package/dist/es/dynamic-mapping/components/mapping.js.map +1 -1
- package/dist/es/dynamic-mapping/components/tabs-content-component.js +24 -4
- package/dist/es/dynamic-mapping/components/tabs-content-component.js.map +1 -1
- package/dist/es/dynamic-mapping/constants/condition-operators.js +28 -3
- package/dist/es/dynamic-mapping/constants/condition-operators.js.map +1 -1
- package/dist/es/dynamic-mapping/constants/ui-strings.js.map +1 -1
- package/dist/es/dynamic-mapping/helpers/derive-condition-data.js +37 -3
- package/dist/es/dynamic-mapping/helpers/derive-condition-data.js.map +1 -1
- package/dist/es/dynamic-mapping/helpers/mapping.helpers.js +96 -1
- package/dist/es/dynamic-mapping/helpers/mapping.helpers.js.map +1 -1
- package/dist/es/dynamic-mapping/hooks/use-custom-dropdown.js +2 -0
- package/dist/es/dynamic-mapping/hooks/use-custom-dropdown.js.map +1 -1
- package/dist/es/dynamic-mapping/hooks/use-mapping-data.js +130 -41
- package/dist/es/dynamic-mapping/hooks/use-mapping-data.js.map +1 -1
- package/dist/es/dynamic-mapping/index.js +2 -0
- package/dist/es/dynamic-mapping/index.js.map +1 -1
- package/dist/es/filter/filter-pill.js +24 -7
- package/dist/es/filter/filter-pill.js.map +1 -1
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +1 -0
- package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -1
- package/dist/es/integration-template/components/dashboard-utils.js +17 -3
- package/dist/es/integration-template/components/dashboard-utils.js.map +1 -1
- package/dist/es/mapping/components/field.js +18 -10
- package/dist/es/mapping/components/field.js.map +1 -1
- package/dist/es/mapping/components/mapping.js +3 -3
- package/dist/es/mapping/components/mapping.js.map +1 -1
- package/dist/es/mapping/hooks/use-survey-data.js +39 -13
- package/dist/es/mapping/hooks/use-survey-data.js.map +1 -1
- package/dist/es/mapping/utils/conditionDescriptionBuilder.js +12 -2
- package/dist/es/mapping/utils/conditionDescriptionBuilder.js.map +1 -1
- package/dist/es/mapping/utils/validation.utils.js +1 -1
- package/dist/es/mapping/utils/validation.utils.js.map +1 -1
- package/dist/es/single-mapping/components/mapping.js +1 -1
- package/dist/es/single-mapping/components/mapping.js.map +1 -1
- package/dist/es/single-mapping/hooks/use-mapping-data.js +13 -11
- package/dist/es/single-mapping/hooks/use-mapping-data.js.map +1 -1
- package/dist/es/triggers/components/EventSetup.js +2 -1
- package/dist/es/triggers/components/EventSetup.js.map +1 -1
- package/dist/es/triggers/components/TriggerHeader.js +2 -1
- package/dist/es/triggers/components/TriggerHeader.js.map +1 -1
- package/dist/es/triggers/constants/index.js.map +1 -1
- package/dist/es/triggers/index.js +3 -0
- package/dist/es/triggers/index.js.map +1 -1
- package/dist/es/triggers/utils/validation.utils.js +15 -11
- package/dist/es/triggers/utils/validation.utils.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/package.json +1 -1
|
@@ -48,7 +48,7 @@ const ComparatorDropdown = ({
|
|
|
48
48
|
{
|
|
49
49
|
className: "dm-sans",
|
|
50
50
|
align: "start",
|
|
51
|
-
css: { zIndex: "
|
|
51
|
+
css: { zIndex: "9999999 !important", minWidth: "100px" }
|
|
52
52
|
},
|
|
53
53
|
options.CONNECTOR_OPTIONS.map((option) => /* @__PURE__ */ React.createElement(
|
|
54
54
|
dropdown.DropdownMenuItem,
|
package/dist/cjs/commons/components/mapping-conditions/components/comparator-dropdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparator-dropdown.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/comparator-dropdown.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React from 'react';\nimport {\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n} from '@sparrowengg/twigs-react';\nimport { ChevronDownIcon } from '@sparrowengg/twigs-react-icons';\nimport { FilterType } from '../types';\nimport { CONNECTOR_OPTIONS_MAP, CONNECTOR_OPTIONS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype ComparatorDropdownProps = {\n filter: FilterType;\n onComparatorChange: (value: string) => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Dropdown component for selecting AND/OR comparator\n *\n * @param {ComparatorDropdownProps} props - Component props\n * @returns {JSX.Element} Rendered comparator dropdown\n */\nexport const ComparatorDropdown: React.FC<ComparatorDropdownProps> = ({\n filter,\n onComparatorChange,\n}) => {\n return (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <Button\n className=\"dm-sans\"\n rightIcon={<ChevronDownIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n css={{\n height: '$7',\n fontWeight: '$4',\n color: '$neutral800',\n paddingRight: '$1',\n paddingLeft: '$2',\n }}\n >\n {CONNECTOR_OPTIONS_MAP[filter.comparator]}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n align=\"start\"\n css={{ zIndex: '
|
|
1
|
+
{"version":3,"file":"comparator-dropdown.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/comparator-dropdown.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React from 'react';\nimport {\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n} from '@sparrowengg/twigs-react';\nimport { ChevronDownIcon } from '@sparrowengg/twigs-react-icons';\nimport { FilterType } from '../types';\nimport { CONNECTOR_OPTIONS_MAP, CONNECTOR_OPTIONS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype ComparatorDropdownProps = {\n filter: FilterType;\n onComparatorChange: (value: string) => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Dropdown component for selecting AND/OR comparator\n *\n * @param {ComparatorDropdownProps} props - Component props\n * @returns {JSX.Element} Rendered comparator dropdown\n */\nexport const ComparatorDropdown: React.FC<ComparatorDropdownProps> = ({\n filter,\n onComparatorChange,\n}) => {\n return (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <Button\n className=\"dm-sans\"\n rightIcon={<ChevronDownIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n css={{\n height: '$7',\n fontWeight: '$4',\n color: '$neutral800',\n paddingRight: '$1',\n paddingLeft: '$2',\n }}\n >\n {CONNECTOR_OPTIONS_MAP[filter.comparator]}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"dm-sans\"\n align=\"start\"\n css={{ zIndex: '9999999 !important', minWidth: '100px' }}\n >\n {CONNECTOR_OPTIONS.map((option) => (\n <DropdownMenuItem\n className=\"dm-sans\"\n key={option.value}\n onClick={() => onComparatorChange(option.value)}\n css={{\n cursor: 'pointer',\n ...(filter.comparator === option.value && {\n '&, &:hover': {\n backgroundColorOpacity: ['$primary200', 0.08],\n },\n }),\n }}\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n"],"names":["DropdownMenu","DropdownMenuTrigger","Button","ChevronDownIcon","CONNECTOR_OPTIONS_MAP","DropdownMenuContent","CONNECTOR_OPTIONS","DropdownMenuItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA6BO,MAAM,qBAAwD,CAAC;AAAA,EACpE,MAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,2CACGA,qBAAA,EAAA,EAAa,IAAA,EAAK,wBACjB,KAAA,CAAA,aAAA,CAACC,4BAAA,EAAA,EAAoB,SAAO,IAAA,EAAA,kBAC1B,KAAA,CAAA,aAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,SAAA,sCAAYC,2BAAA,EAAA,IAAgB,CAAA;AAAA,MAC5B,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAQ,OAAA;AAAA,MACR,KAAA,EAAM,SAAA;AAAA,MACN,GAAA,EAAK;AAAA,QACH,MAAA,EAAQ,IAAA;AAAA,QACR,UAAA,EAAY,IAAA;AAAA,QACZ,KAAA,EAAO,aAAA;AAAA,QACP,YAAA,EAAc,IAAA;AAAA,QACd,WAAA,EAAa;AAAA;AACf,KAAA;AAAA,IAECC,6BAAA,CAAsB,OAAO,UAAU;AAAA,GAE5C,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,IAACC,4BAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,KAAA,EAAM,OAAA;AAAA,MACN,GAAA,EAAK,EAAE,MAAA,EAAQ,oBAAA,EAAsB,UAAU,OAAA;AAAQ,KAAA;AAAA,IAEtDC,yBAAA,CAAkB,GAAA,CAAI,CAAC,MAAA,qBACtB,KAAA,CAAA,aAAA;AAAA,MAACC,yBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,SAAA;AAAA,QACV,KAAK,MAAA,CAAO,KAAA;AAAA,QACZ,OAAA,EAAS,MAAM,kBAAA,CAAmB,MAAA,CAAO,KAAK,CAAA;AAAA,QAC9C,GAAA,EAAK,cAAA,CAAA;AAAA,UACH,MAAA,EAAQ;AAAA,SAAA,EACJ,MAAA,CAAO,UAAA,KAAe,MAAA,CAAO,KAAA,IAAS;AAAA,UACxC,YAAA,EAAc;AAAA,YACZ,sBAAA,EAAwB,CAAC,aAAA,EAAe,IAAI;AAAA;AAC9C,SACF;AAAA,OAAA;AAAA,MAGD,MAAA,CAAO;AAAA,KAEX;AAAA,GAEL,CAAA;AAEJ;;;;"}
|
package/dist/cjs/commons/components/mapping-conditions/components/condition-wrapper-refactored.js
CHANGED
|
@@ -124,7 +124,7 @@ const ConditionWrapperComponent = React.forwardRef(
|
|
|
124
124
|
dropdown.DropdownMenuContent,
|
|
125
125
|
{
|
|
126
126
|
align: "start",
|
|
127
|
-
css: { zIndex: "
|
|
127
|
+
css: { zIndex: "9999999 !important", minWidth: "100px" }
|
|
128
128
|
},
|
|
129
129
|
options.ALL_ANY_OPTIONS.map((option) => /* @__PURE__ */ React.createElement(
|
|
130
130
|
dropdown.DropdownMenuItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"condition-wrapper-refactored.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/condition-wrapper-refactored.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useImperativeHandle, useMemo, useCallback } from 'react';\nimport { Flex, Box, Text, Button, TooltipProvider, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '@sparrowengg/twigs-react';\nimport { ChevronDownIcon } from '@sparrowengg/twigs-react-icons';\nimport { prefixClassName } from '../../../../cascader-dropdown/styled/StyledItem';\nimport { FilterPill, FilterPillWithoutOperator } from '../../../../filter/filter-pill';\nimport { Group } from './group';\nimport { GroupTitle } from './group-title';\nimport { ComparatorDropdown } from './comparator-dropdown';\nimport { AddConditionButton } from './add-condition-button';\nimport { AddConditionInGroupButton } from './add-condition-in-group-button';\nimport { useConditionState, useConditionValidation } from '../hooks';\nimport { ConditionWrapperProps, ConditionWrapperHandle, FilterType } from '../types';\nimport { MAPPING_CONDITION_STRINGS, ALL_ANY_OPTIONS_MAP, ALL_ANY_OPTIONS, PILL_ICON_MAP, AddGroupIcon } from '../constants';\nimport { CascaderDropdownItemType } from '../../../../cascader-dropdown/helpers/cascader-dropdown-constants';\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Condition wrapper component for managing filter conditions\n *\n * @param {ConditionWrapperProps} props - Component props\n * @param {React.Ref} ref - Forwarded ref\n * @returns {JSX.Element} Rendered condition wrapper\n */\nconst ConditionWrapperComponent = React.forwardRef<\n ConditionWrapperHandle,\n ConditionWrapperProps\n>(\n (\n {\n existingContions,\n setExistingCondtions,\n onConditionsChange,\n onValidationChange,\n conditionData,\n },\n ref\n ) => {\n /* ----- Context / Hooks ----- */\n\n const {\n conditionsData,\n addCondition,\n insertCondition,\n deleteCondition,\n deleteGroup,\n onGlobalConnectorChange,\n onComparatorChange,\n replaceFilterPillData,\n } = useConditionState({\n existingContions,\n onConditionsChange,\n });\n\n const { showError, validateFilters } = useConditionValidation({\n conditionsData,\n onValidationChange,\n });\n\n /* ----- Event Handlers ----- */\n\n /**\n * Handles save action\n */\n const handleSave = useCallback(() => {\n setExistingCondtions(conditionsData);\n }, [conditionsData, setExistingCondtions]);\n\n /**\n * Handles adding a new condition group\n * @param {CascaderDropdownItemType | null} selectedProperty - Selected property\n */\n const handleAddCondition = useCallback(\n (selectedProperty: CascaderDropdownItemType | null) => {\n addCondition(selectedProperty);\n },\n [addCondition]\n );\n\n /* ----- Memoized Values ----- */\n\n /**\n * Gets the group title based on index and global connector\n * @param {number} groupIndex - Index of the group\n * @returns {string} Group title\n */\n const getGroupTitle = useCallback(\n (groupIndex: number): string => {\n if (groupIndex === 0) return MAPPING_CONDITION_STRINGS.WHEN;\n return conditionsData.globalConnector === 'ALL'\n ? MAPPING_CONDITION_STRINGS.AND_WHEN\n : MAPPING_CONDITION_STRINGS.OR_WHEN;\n },\n [conditionsData.globalConnector]\n );\n\n /* ----- Imperative Handle ----- */\n\n useImperativeHandle(\n ref,\n () => ({\n handleSave,\n validateFilters,\n }),\n [handleSave, validateFilters]\n );\n\n /* ----- Render ----- */\n\n return (\n <TooltipProvider>\n <Flex\n alignItems=\"center\"\n className=\"dm-sans\"\n gap=\"$2\"\n css={{\n fontFamily: 'DM Sans !important',\n width: '100%',\n '.twigs-cascader-dropdown': {\n zIndex: '999999 !important',\n },\n }}\n >\n <Box className=\"dm-sans\" css={{ margin: '0 0 $6 0', width: '100%' }}>\n <Flex>\n <Text className=\"dm-sans\" size=\"md\" css={{ color: '$neutral900' }}>\n {MAPPING_CONDITION_STRINGS.WHICH_MEET}\n <Box as=\"span\" css={{ display: 'inline-block', margin: '0 $2' }}>\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n css={{\n '& span': {\n fontFamily: 'DM Sans !important',\n },\n height: '$7',\n paddingRight: '0',\n fontWeight: '$7',\n }}\n >\n {ALL_ANY_OPTIONS_MAP[conditionsData.globalConnector]}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n css={{ zIndex: '1000', minWidth: '100px' }}\n >\n {ALL_ANY_OPTIONS.map((option) => (\n <DropdownMenuItem\n onClick={() => onGlobalConnectorChange(option.value)}\n key={option.value}\n css={{\n cursor: 'pointer',\n ...(conditionsData.globalConnector === option.value && {\n '&, &:hover': {\n backgroundColorOpacity: ['$primary200', 0.08],\n },\n }),\n }}\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </Box>\n {MAPPING_CONDITION_STRINGS.OF_THESE_CONDITIONS}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$1\" css={{ maxWidth: '600px' }}>\n {conditionsData.filterGroups.map((group, groupIndex) => {\n const groupTitle = getGroupTitle(groupIndex);\n return (\n <Group key={groupIndex}>\n <GroupTitle onDelete={() => deleteGroup(groupIndex)}>\n {groupTitle}\n </GroupTitle>\n {group.filters.map((filter, filterIndex) => {\n const selectedRootProperty =\n filter.property.selectionPath?.[0]?.value;\n const Icon = PILL_ICON_MAP[selectedRootProperty];\n const key = `${filter.property.operators?.[0]?.value}-${groupIndex}-${filterIndex}`;\n const errorKey = `${filter.property.value}-${groupIndex}-${filterIndex}`;\n const hasError = showError.has(errorKey);\n\n return (\n <Flex\n key={filter.property.value}\n alignItems=\"center\"\n gap=\"$1\"\n css={{\n '&:hover, &:focus, &:active, &:focus-visible': {\n [`.${prefixClassName('add-condition-in-group-button')}`]:\n {\n opacity: '1',\n },\n },\n }}\n >\n {filterIndex > 0 && (\n <ComparatorDropdown\n filter={filter}\n onComparatorChange={(value) =>\n onComparatorChange(value, groupIndex, filterIndex)\n }\n />\n )}\n {filter.property.operators?.length === 1 ? (\n <FilterPillWithoutOperator\n key={key}\n data={filter.property.operators[0]}\n filterPillData={\n conditionsData.filterGroups[groupIndex].filters[\n filterIndex\n ]\n }\n setFilterPillData={(filterPillValue: FilterType) =>\n replaceFilterPillData(\n filterPillValue,\n groupIndex,\n filterIndex\n )\n }\n icon={Icon && <Icon />}\n onDelete={() =>\n deleteCondition(groupIndex, filterIndex)\n }\n variant=\"outline\"\n showError={hasError}\n />\n ) : (\n <FilterPill\n key={key}\n cascaderDropdownData={filter.property.operators ?? []}\n filterPillData={\n conditionsData.filterGroups[groupIndex].filters[\n filterIndex\n ]\n }\n setFilterPillData={(filterPillValue: FilterType) =>\n replaceFilterPillData(\n filterPillValue,\n groupIndex,\n filterIndex\n )\n }\n onDelete={() =>\n deleteCondition(groupIndex, filterIndex)\n }\n variant=\"outline\"\n icon={Icon && <Icon />}\n showError={hasError}\n />\n )}\n <AddConditionInGroupButton\n conditionData={conditionData}\n insertCondition={(selectedProperty) =>\n insertCondition(\n selectedProperty,\n groupIndex,\n filterIndex\n )\n }\n />\n </Flex>\n );\n })}\n </Group>\n );\n })}\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ marginTop: '$6', marginLeft: '-$2' }}\n >\n <AddConditionButton\n conditionData={conditionData}\n onAdd={handleAddCondition}\n >\n <Button\n leftIcon={<AddGroupIcon />}\n color=\"secondary\"\n variant=\"ghost\"\n css={{\n height: 'auto',\n minWidth: 'fit-content',\n '& span': {\n fontFamily: 'DM Sans !important',\n },\n }}\n >\n {MAPPING_CONDITION_STRINGS.ADD_GROUP}\n </Button>\n </AddConditionButton>\n <Box\n css={{\n width: '100%',\n borderBottom: '2px dashed $secondary100',\n }}\n />\n </Flex>\n </Flex>\n </Box>\n </Flex>\n </TooltipProvider>\n );\n }\n);\n\nConditionWrapperComponent.displayName = 'ConditionWrapper';\n\nexport default ConditionWrapperComponent;\n"],"names":["useConditionState","useConditionValidation","useCallback","MAPPING_CONDITION_STRINGS","useImperativeHandle","TooltipProvider","Flex","Box","Text","DropdownMenu","DropdownMenuTrigger","Button","ChevronDownIcon","ALL_ANY_OPTIONS_MAP","DropdownMenuContent","ALL_ANY_OPTIONS","DropdownMenuItem","group","groupTitle","Group","GroupTitle","PILL_ICON_MAP","prefixClassName","ComparatorDropdown","FilterPillWithoutOperator","FilterPill","AddConditionInGroupButton","AddConditionButton","AddGroupIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"condition-wrapper-refactored.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/condition-wrapper-refactored.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useImperativeHandle, useMemo, useCallback } from 'react';\nimport { Flex, Box, Text, Button, TooltipProvider, DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem } from '@sparrowengg/twigs-react';\nimport { ChevronDownIcon } from '@sparrowengg/twigs-react-icons';\nimport { prefixClassName } from '../../../../cascader-dropdown/styled/StyledItem';\nimport { FilterPill, FilterPillWithoutOperator } from '../../../../filter/filter-pill';\nimport { Group } from './group';\nimport { GroupTitle } from './group-title';\nimport { ComparatorDropdown } from './comparator-dropdown';\nimport { AddConditionButton } from './add-condition-button';\nimport { AddConditionInGroupButton } from './add-condition-in-group-button';\nimport { useConditionState, useConditionValidation } from '../hooks';\nimport { ConditionWrapperProps, ConditionWrapperHandle, FilterType } from '../types';\nimport { MAPPING_CONDITION_STRINGS, ALL_ANY_OPTIONS_MAP, ALL_ANY_OPTIONS, PILL_ICON_MAP, AddGroupIcon } from '../constants';\nimport { CascaderDropdownItemType } from '../../../../cascader-dropdown/helpers/cascader-dropdown-constants';\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Condition wrapper component for managing filter conditions\n *\n * @param {ConditionWrapperProps} props - Component props\n * @param {React.Ref} ref - Forwarded ref\n * @returns {JSX.Element} Rendered condition wrapper\n */\nconst ConditionWrapperComponent = React.forwardRef<\n ConditionWrapperHandle,\n ConditionWrapperProps\n>(\n (\n {\n existingContions,\n setExistingCondtions,\n onConditionsChange,\n onValidationChange,\n conditionData,\n },\n ref\n ) => {\n /* ----- Context / Hooks ----- */\n\n const {\n conditionsData,\n addCondition,\n insertCondition,\n deleteCondition,\n deleteGroup,\n onGlobalConnectorChange,\n onComparatorChange,\n replaceFilterPillData,\n } = useConditionState({\n existingContions,\n onConditionsChange,\n });\n\n const { showError, validateFilters } = useConditionValidation({\n conditionsData,\n onValidationChange,\n });\n\n /* ----- Event Handlers ----- */\n\n /**\n * Handles save action\n */\n const handleSave = useCallback(() => {\n setExistingCondtions(conditionsData);\n }, [conditionsData, setExistingCondtions]);\n\n /**\n * Handles adding a new condition group\n * @param {CascaderDropdownItemType | null} selectedProperty - Selected property\n */\n const handleAddCondition = useCallback(\n (selectedProperty: CascaderDropdownItemType | null) => {\n addCondition(selectedProperty);\n },\n [addCondition]\n );\n\n /* ----- Memoized Values ----- */\n\n /**\n * Gets the group title based on index and global connector\n * @param {number} groupIndex - Index of the group\n * @returns {string} Group title\n */\n const getGroupTitle = useCallback(\n (groupIndex: number): string => {\n if (groupIndex === 0) return MAPPING_CONDITION_STRINGS.WHEN;\n return conditionsData.globalConnector === 'ALL'\n ? MAPPING_CONDITION_STRINGS.AND_WHEN\n : MAPPING_CONDITION_STRINGS.OR_WHEN;\n },\n [conditionsData.globalConnector]\n );\n\n /* ----- Imperative Handle ----- */\n\n useImperativeHandle(\n ref,\n () => ({\n handleSave,\n validateFilters,\n }),\n [handleSave, validateFilters]\n );\n\n /* ----- Render ----- */\n\n return (\n <TooltipProvider>\n <Flex\n alignItems=\"center\"\n className=\"dm-sans\"\n gap=\"$2\"\n css={{\n fontFamily: 'DM Sans !important',\n width: '100%',\n '.twigs-cascader-dropdown': {\n zIndex: '999999 !important',\n },\n }}\n >\n <Box className=\"dm-sans\" css={{ margin: '0 0 $6 0', width: '100%' }}>\n <Flex>\n <Text className=\"dm-sans\" size=\"md\" css={{ color: '$neutral900' }}>\n {MAPPING_CONDITION_STRINGS.WHICH_MEET}\n <Box as=\"span\" css={{ display: 'inline-block', margin: '0 $2' }}>\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n css={{\n '& span': {\n fontFamily: 'DM Sans !important',\n },\n height: '$7',\n paddingRight: '0',\n fontWeight: '$7',\n }}\n >\n {ALL_ANY_OPTIONS_MAP[conditionsData.globalConnector]}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n css={{ zIndex: '9999999 !important', minWidth: '100px' }}\n >\n {ALL_ANY_OPTIONS.map((option) => (\n <DropdownMenuItem\n onClick={() => onGlobalConnectorChange(option.value)}\n key={option.value}\n css={{\n cursor: 'pointer',\n ...(conditionsData.globalConnector === option.value && {\n '&, &:hover': {\n backgroundColorOpacity: ['$primary200', 0.08],\n },\n }),\n }}\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </Box>\n {MAPPING_CONDITION_STRINGS.OF_THESE_CONDITIONS}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$1\" css={{ maxWidth: '600px' }}>\n {conditionsData.filterGroups.map((group, groupIndex) => {\n const groupTitle = getGroupTitle(groupIndex);\n return (\n <Group key={groupIndex}>\n <GroupTitle onDelete={() => deleteGroup(groupIndex)}>\n {groupTitle}\n </GroupTitle>\n {group.filters.map((filter, filterIndex) => {\n const selectedRootProperty =\n filter.property.selectionPath?.[0]?.value;\n const Icon = PILL_ICON_MAP[selectedRootProperty];\n const key = `${filter.property.operators?.[0]?.value}-${groupIndex}-${filterIndex}`;\n const errorKey = `${filter.property.value}-${groupIndex}-${filterIndex}`;\n const hasError = showError.has(errorKey);\n\n return (\n <Flex\n key={filter.property.value}\n alignItems=\"center\"\n gap=\"$1\"\n css={{\n '&:hover, &:focus, &:active, &:focus-visible': {\n [`.${prefixClassName('add-condition-in-group-button')}`]:\n {\n opacity: '1',\n },\n },\n }}\n >\n {filterIndex > 0 && (\n <ComparatorDropdown\n filter={filter}\n onComparatorChange={(value) =>\n onComparatorChange(value, groupIndex, filterIndex)\n }\n />\n )}\n {filter.property.operators?.length === 1 ? (\n <FilterPillWithoutOperator\n key={key}\n data={filter.property.operators[0]}\n filterPillData={\n conditionsData.filterGroups[groupIndex].filters[\n filterIndex\n ]\n }\n setFilterPillData={(filterPillValue: FilterType) =>\n replaceFilterPillData(\n filterPillValue,\n groupIndex,\n filterIndex\n )\n }\n icon={Icon && <Icon />}\n onDelete={() =>\n deleteCondition(groupIndex, filterIndex)\n }\n variant=\"outline\"\n showError={hasError}\n />\n ) : (\n <FilterPill\n key={key}\n cascaderDropdownData={filter.property.operators ?? []}\n filterPillData={\n conditionsData.filterGroups[groupIndex].filters[\n filterIndex\n ]\n }\n setFilterPillData={(filterPillValue: FilterType) =>\n replaceFilterPillData(\n filterPillValue,\n groupIndex,\n filterIndex\n )\n }\n onDelete={() =>\n deleteCondition(groupIndex, filterIndex)\n }\n variant=\"outline\"\n icon={Icon && <Icon />}\n showError={hasError}\n />\n )}\n <AddConditionInGroupButton\n conditionData={conditionData}\n insertCondition={(selectedProperty) =>\n insertCondition(\n selectedProperty,\n groupIndex,\n filterIndex\n )\n }\n />\n </Flex>\n );\n })}\n </Group>\n );\n })}\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ marginTop: '$6', marginLeft: '-$2' }}\n >\n <AddConditionButton\n conditionData={conditionData}\n onAdd={handleAddCondition}\n >\n <Button\n leftIcon={<AddGroupIcon />}\n color=\"secondary\"\n variant=\"ghost\"\n css={{\n height: 'auto',\n minWidth: 'fit-content',\n '& span': {\n fontFamily: 'DM Sans !important',\n },\n }}\n >\n {MAPPING_CONDITION_STRINGS.ADD_GROUP}\n </Button>\n </AddConditionButton>\n <Box\n css={{\n width: '100%',\n borderBottom: '2px dashed $secondary100',\n }}\n />\n </Flex>\n </Flex>\n </Box>\n </Flex>\n </TooltipProvider>\n );\n }\n);\n\nConditionWrapperComponent.displayName = 'ConditionWrapper';\n\nexport default ConditionWrapperComponent;\n"],"names":["useConditionState","useConditionValidation","useCallback","MAPPING_CONDITION_STRINGS","useImperativeHandle","TooltipProvider","Flex","Box","Text","DropdownMenu","DropdownMenuTrigger","Button","ChevronDownIcon","ALL_ANY_OPTIONS_MAP","DropdownMenuContent","ALL_ANY_OPTIONS","DropdownMenuItem","group","groupTitle","Group","GroupTitle","PILL_ICON_MAP","prefixClassName","ComparatorDropdown","FilterPillWithoutOperator","FilterPill","AddConditionInGroupButton","AddConditionButton","AddGroupIcon"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ const mappingType = [
|
|
|
30
30
|
{ id: 3, label: "Variable", value: "VARIABLE" },
|
|
31
31
|
{ id: 4, label: "Expression", value: "EXPRESSION" },
|
|
32
32
|
{ id: 5, label: "Submission Property", value: "SUBMISSION_PROPERTY" },
|
|
33
|
-
{ id: 6, label: "
|
|
33
|
+
{ id: 6, label: "Enrich", value: "DERIVED_QUESTION" }
|
|
34
34
|
];
|
|
35
35
|
const defaultFieldValue = {
|
|
36
36
|
id: v4.default(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/commons/constants/index.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\n\nexport const surveySparrowURL = \"https://api.surveysparrow.com\";\n\n// UI Constants\nexport const FORM_WIDTH = 488;\nexport const MODAL_MAX_WIDTH = 600;\nexport const INPUT_MAX_LENGTH = 30;\n\n// CSS spacing constants (using stitches design tokens)\nexport const SPACING = {\n xs: \"$2\",\n sm: \"$4\", \n md: \"$8\",\n lg: \"$12\",\n xl: \"$16\",\n \"2xl\": \"$24\",\n \"3xl\": \"$32\",\n \"4xl\": \"$40\",\n} as const;\n\ntype MappingType = {\n id: number;\n label: string;\n value: string;\n};\n\nexport const mappingType: MappingType[] = [\n { id: 1, label: \"Question\", value: \"QUESTION\" },\n { id: 2, label: \"Contact\", value: \"CONTACT\" },\n { id: 3, label: \"Variable\", value: \"VARIABLE\" },\n { id: 4, label: \"Expression\", value: \"EXPRESSION\" },\n { id: 5, label: \"Submission Property\", value: \"SUBMISSION_PROPERTY\" },\n { id: 6, label: \"Derived Question\", value: \"DERIVED_QUESTION\" },\n];\n\ntype FieldValue = {\n id: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n integrationFieldType: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n defaultValue: string | null;\n label?: string;\n value?: string;\n type?: string;\n};\n\nexport const defaultFieldValue: FieldValue = {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: mappingType[0],\n defaultValue: null,\n};\n\ntype IntegrationMappingField = {\n id: number;\n label: string;\n value: string;\n type: string;\n dependency?: FieldValue[];\n};\n\nexport const sampleIntegrationMappingFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n { id: 2, label: \"Phone Number\", value: \"phone_number\", type: \"NUMBER\" },\n { id: 3, label: \"First Name\", value: \"first_name\", type: \"string\" },\n { id: 4, label: \"Organization\", value: \"organization\", type: \"string\" },\n { id: 5, label: \"Title\", value: \"title\", type: \"string\" },\n {\n id: 6,\n label: \"External Id\",\n value: \"external_id\",\n type: \"string\",\n dependency: [\n {\n ...defaultFieldValue,\n isEssentialField: true,\n id: uuid(),\n label: \"Title\",\n value: \"title\",\n type: \"string\",\n },\n {\n ...defaultFieldValue,\n id: uuid(),\n label: \"Image\",\n value: \"image\",\n type: \"string\",\n },\n ],\n },\n { id: 7, label: \"Last Name\", value: \"last_name\", type: \"string\" },\n { id: 8, label: \"Image\", value: \"image\", type: \"string\" },\n { id: 9, label: \"Address1\", value: \"address1\", type: \"string\" },\n { id: 10, label: \"Address2\", value: \"address2\", type: \"string\" },\n { id: 11, label: \"City\", value: \"city\", type: \"string\" },\n { id: 12, label: \"Country\", value: \"country\", type: \"string\" },\n { id: 13, label: \"Latitude\", value: \"latitude\", type: \"string\" },\n { id: 14, label: \"Longitude\", value: \"longitude\", type: \"string\" },\n { id: 15, label: \"Region\", value: \"region\", type: \"string\" },\n { id: 16, label: \"Zip Code\", value: \"zip\", type: \"string\" },\n { id: 17, label: \"Time Zone\", value: \"timezone\", type: \"string\" },\n { id: 18, label: \"IP Address\", value: \"ip\", type: \"DATE_TIME\" },\n];\n\ntype SampleField = {\n id?: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n};\n\nexport const sampleFields: SampleField[] = [\n {\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: false,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: true,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n];\n\nexport const sampleIntegrationFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n];\n\ntype MappingTabValue = {\n id: number;\n name: string;\n value: string;\n placeholder: string;\n};\n\nexport const mappingTabValues: MappingTabValue[] = [\n { id: 1, name: \"Questions\", value: \"QUESTIONS\", placeholder: \"questions\" },\n { id: 6, name: \"Enrich\", value: \"DERIVED_QUESTIONS\", placeholder: \"derivedQuestions\" },\n { id: 2, name: \"Variable\", value: \"VARIABLE\", placeholder: \"variables\" },\n {\n id: 3,\n name: \"Contact\",\n value: \"CONTACT\",\n placeholder: \"contactProperties\",\n },\n {\n id: 4,\n name: \"Expression\",\n value: \"EXPRESSION\",\n placeholder: \"expressions\",\n },\n { id: 5, name: \"Property\", value: \"PROPERTY\", placeholder: \"property\" },\n \n];\n\ntype MappingPropertyValue = {\n name: string;\n id: string;\n isEnabled: boolean;\n};\n\nexport const mappingPropertyValues: MappingPropertyValue[] = [\n { name: \"Started Time\", id: \"STARTED_TIME\", isEnabled: false },\n { name: \"Submitted Time\", id: \"SUBMITTED_TIME\", isEnabled: false },\n { name: \"CompletionStatus\", id: \"COMPLETION_STATUS\", isEnabled: false },\n { name: \"IP Address\", id: \"IP_ADDRESS\", isEnabled: false },\n { name: \"Location\", id: \"LOCATION\", isEnabled: false },\n { name: \"DMS (Lat, Long)\", id: \"DMS\", isEnabled: false },\n { name: \"Channel Type\", id: \"CHANNEL_TYPE\", isEnabled: false },\n { name: \"Channel Name\", id: \"CHANNEL_NAME\", isEnabled: false },\n { name: \"Device ID\", id: \"DEVICE_ID\", isEnabled: false },\n { name: \"Device Name\", id: \"DEVICE_NAME\", isEnabled: false },\n { name: \"Browser\", id: \"BROWSER\", isEnabled: false },\n { name: \"OS\", id: \"OS\", isEnabled: false },\n { name: \"Submission Id\", id: \"SUBMISSION_ID\", isEnabled: false },\n { name: \"Time Zone\", id: \"TIME_ZONE\", isEnabled: false },\n { name: \"Device Type\", id: \"DEVICE_TYPE\", isEnabled: false },\n { name: \"Browser Language\", id: \"BROWSER_LANGUAGE\", isEnabled: false },\n { name: \"Tags\", id: \"TAGS\", isEnabled: false },\n { name: \"Language Name\", id: \"LANGUAGE_NAME\", isEnabled: false },\n];\n\ntype SubMenuOption = {\n id: number;\n label: string;\n subLabel: string;\n value: string;\n};\n\nexport const subMenuOptions: SubMenuOption[] = [\n {\n id: 1,\n label: \"String\",\n subLabel: \"Textual Data. (Eg: Hello World, 1234)\",\n value: \"STRING\",\n },\n {\n id: 2,\n label: \"Number\",\n subLabel: \"Numeric Value. (Eg: 123, -45, 0)\",\n value: \"NUMBER\",\n },\n { id: 3, label: \"Boolean\", subLabel: \"True or False\", value: \"BOOLEAN\" },\n {\n id: 4,\n label: \"Date/Time\",\n subLabel: \"Timestamp or Calendar Information\",\n value: \"DATE_TIME\",\n },\n];\n\ntype OperatorOption = {\n id: number;\n label: string;\n value: string;\n isDateOnly?: boolean;\n type?: string\n};\n\nexport const operatorOptions: OperatorOption[] = [\n { id: 1, label: \"is equals to\", value: \"IS\", type: \"BOOLEAN\" },\n { id: 2, label: \"is not equals to\", value: \"IS_NOT\", type: \"BOOLEAN\" },\n { id: 3, label: \"contains\", value: \"CONTAINS\" },\n { id: 4, label: \"not contains\", value: \"CONTAINS_NOT\" },\n { id: 5, label: \"starts with\", value: \"STARTS_WITH\" },\n { id: 6, label: \"ends with\", value: \"ENDS_WITH\" },\n { id: 5, label: \"has no value\", value: \"NO_VALUE\" },\n { id: 6, label: \"before\", value: \"BEFORE\", isDateOnly: true },\n { id: 7, label: \"after\", value: \"AFTER\", isDateOnly: true },\n { id: 8, label: \"on\", value: \"ON\", isDateOnly: true },\n { id: 9, label: \"has any value\", value: \"ANY_VALUE\" },\n];\n\ntype BooleanOption = {\n id: number;\n label: string;\n value: boolean;\n};\n\nexport const booleanOptions: BooleanOption[] = [\n { id: 1, label: \"True\", value: true },\n { id: 2, label: \"False\", value: false },\n];\nexport const integrationsNpsSubmissionProperties = [\n { label: 'Submission Start time', value: 'start_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n]; \n\nexport const integrationsClassicSubmissionProperties = [\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Start time', value: 'start_time', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Channel Type', value: 'channel_type', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n];\n\nexport const dynamicDateOptions = [\n {\n label: \"Last 7 days\",\n value: \"last_7_days\",\n },\n {\n label: \"Last 30 days\",\n value: \"last_30_days\",\n },\n {\n label: \"Last 3 months\",\n value: \"last_3_months\",\n },\n {\n label: \"Custom\",\n value: \"custom\",\n },\n];\n\n\nexport const conditionData = [\n {\n label: \"Contact Properties\",\n value: \"contactProperties\",\n options: [\n {\n label: \"Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name\",\n value: \"fullName\",\n subLabel: \"5\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"First Name\",\n value: \"firstName\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Email\",\n value: \"email\",\n operators: [\n {\n label: \"equals\",\n value: \"equals\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n {\n label: \"does not equal\",\n value: \"does-not-equal\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Language\",\n value: \"language\",\n operators: [\n {\n label: \"includes\",\n value: \"includes\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n },\n {\n label: \"does not include\",\n value: \"does-not-include\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n }\n ]\n },\n {\n label: \"Created At\",\n value: \"createdAt\",\n operators: [\n { label: \"is\", value: \"is\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is not\", value: \"is-not\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is before\", value: \"is-before\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is after\", value: \"is-after\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is between\", value: \"is-between\", dataType: \"DATE_RANGE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Variables\",\n value: \"variables\",\n options: [\n {\n label: \"$var1\",\n value: \"$var1\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Survey 1\",\n value: \"survey1\",\n operators: [\n {\n label: \"Responded\",\n value: \"responded\",\n dataType: \"SINGLE_SELECT\",\n type: \"VALUE_SELECTOR\",\n choices: [\n { label: \"Responded\", value: \"responded\" },\n { label: \"Partially Responded\", value: \"partially-responded\" },\n { label: \"Not Responded\", value: \"not-responded\" }\n ]\n }\n ]\n }\n];\n"],"names":["uuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/commons/constants/index.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\n\nexport const surveySparrowURL = \"https://api.surveysparrow.com\";\n\n// UI Constants\nexport const FORM_WIDTH = 488;\nexport const MODAL_MAX_WIDTH = 600;\nexport const INPUT_MAX_LENGTH = 30;\n\n// CSS spacing constants (using stitches design tokens)\nexport const SPACING = {\n xs: \"$2\",\n sm: \"$4\", \n md: \"$8\",\n lg: \"$12\",\n xl: \"$16\",\n \"2xl\": \"$24\",\n \"3xl\": \"$32\",\n \"4xl\": \"$40\",\n} as const;\n\ntype MappingType = {\n id: number;\n label: string;\n value: string;\n};\n\nexport const mappingType: MappingType[] = [\n { id: 1, label: \"Question\", value: \"QUESTION\" },\n { id: 2, label: \"Contact\", value: \"CONTACT\" },\n { id: 3, label: \"Variable\", value: \"VARIABLE\" },\n { id: 4, label: \"Expression\", value: \"EXPRESSION\" },\n { id: 5, label: \"Submission Property\", value: \"SUBMISSION_PROPERTY\" },\n { id: 6, label: \"Enrich\", value: \"DERIVED_QUESTION\" },\n];\n\ntype FieldValue = {\n id: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n integrationFieldType: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n defaultValue: string | null;\n label?: string;\n value?: string;\n type?: string;\n};\n\nexport const defaultFieldValue: FieldValue = {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: mappingType[0],\n defaultValue: null,\n};\n\ntype IntegrationMappingField = {\n id: number;\n label: string;\n value: string;\n type: string;\n dependency?: FieldValue[];\n};\n\nexport const sampleIntegrationMappingFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n { id: 2, label: \"Phone Number\", value: \"phone_number\", type: \"NUMBER\" },\n { id: 3, label: \"First Name\", value: \"first_name\", type: \"string\" },\n { id: 4, label: \"Organization\", value: \"organization\", type: \"string\" },\n { id: 5, label: \"Title\", value: \"title\", type: \"string\" },\n {\n id: 6,\n label: \"External Id\",\n value: \"external_id\",\n type: \"string\",\n dependency: [\n {\n ...defaultFieldValue,\n isEssentialField: true,\n id: uuid(),\n label: \"Title\",\n value: \"title\",\n type: \"string\",\n },\n {\n ...defaultFieldValue,\n id: uuid(),\n label: \"Image\",\n value: \"image\",\n type: \"string\",\n },\n ],\n },\n { id: 7, label: \"Last Name\", value: \"last_name\", type: \"string\" },\n { id: 8, label: \"Image\", value: \"image\", type: \"string\" },\n { id: 9, label: \"Address1\", value: \"address1\", type: \"string\" },\n { id: 10, label: \"Address2\", value: \"address2\", type: \"string\" },\n { id: 11, label: \"City\", value: \"city\", type: \"string\" },\n { id: 12, label: \"Country\", value: \"country\", type: \"string\" },\n { id: 13, label: \"Latitude\", value: \"latitude\", type: \"string\" },\n { id: 14, label: \"Longitude\", value: \"longitude\", type: \"string\" },\n { id: 15, label: \"Region\", value: \"region\", type: \"string\" },\n { id: 16, label: \"Zip Code\", value: \"zip\", type: \"string\" },\n { id: 17, label: \"Time Zone\", value: \"timezone\", type: \"string\" },\n { id: 18, label: \"IP Address\", value: \"ip\", type: \"DATE_TIME\" },\n];\n\ntype SampleField = {\n id?: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n};\n\nexport const sampleFields: SampleField[] = [\n {\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: false,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: true,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n];\n\nexport const sampleIntegrationFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n];\n\ntype MappingTabValue = {\n id: number;\n name: string;\n value: string;\n placeholder: string;\n};\n\nexport const mappingTabValues: MappingTabValue[] = [\n { id: 1, name: \"Questions\", value: \"QUESTIONS\", placeholder: \"questions\" },\n { id: 6, name: \"Enrich\", value: \"DERIVED_QUESTIONS\", placeholder: \"derivedQuestions\" },\n { id: 2, name: \"Variable\", value: \"VARIABLE\", placeholder: \"variables\" },\n {\n id: 3,\n name: \"Contact\",\n value: \"CONTACT\",\n placeholder: \"contactProperties\",\n },\n {\n id: 4,\n name: \"Expression\",\n value: \"EXPRESSION\",\n placeholder: \"expressions\",\n },\n { id: 5, name: \"Property\", value: \"PROPERTY\", placeholder: \"property\" },\n \n];\n\ntype MappingPropertyValue = {\n name: string;\n id: string;\n isEnabled: boolean;\n};\n\nexport const mappingPropertyValues: MappingPropertyValue[] = [\n { name: \"Started Time\", id: \"STARTED_TIME\", isEnabled: false },\n { name: \"Submitted Time\", id: \"SUBMITTED_TIME\", isEnabled: false },\n { name: \"CompletionStatus\", id: \"COMPLETION_STATUS\", isEnabled: false },\n { name: \"IP Address\", id: \"IP_ADDRESS\", isEnabled: false },\n { name: \"Location\", id: \"LOCATION\", isEnabled: false },\n { name: \"DMS (Lat, Long)\", id: \"DMS\", isEnabled: false },\n { name: \"Channel Type\", id: \"CHANNEL_TYPE\", isEnabled: false },\n { name: \"Channel Name\", id: \"CHANNEL_NAME\", isEnabled: false },\n { name: \"Device ID\", id: \"DEVICE_ID\", isEnabled: false },\n { name: \"Device Name\", id: \"DEVICE_NAME\", isEnabled: false },\n { name: \"Browser\", id: \"BROWSER\", isEnabled: false },\n { name: \"OS\", id: \"OS\", isEnabled: false },\n { name: \"Submission Id\", id: \"SUBMISSION_ID\", isEnabled: false },\n { name: \"Time Zone\", id: \"TIME_ZONE\", isEnabled: false },\n { name: \"Device Type\", id: \"DEVICE_TYPE\", isEnabled: false },\n { name: \"Browser Language\", id: \"BROWSER_LANGUAGE\", isEnabled: false },\n { name: \"Tags\", id: \"TAGS\", isEnabled: false },\n { name: \"Language Name\", id: \"LANGUAGE_NAME\", isEnabled: false },\n];\n\ntype SubMenuOption = {\n id: number;\n label: string;\n subLabel: string;\n value: string;\n};\n\nexport const subMenuOptions: SubMenuOption[] = [\n {\n id: 1,\n label: \"String\",\n subLabel: \"Textual Data. (Eg: Hello World, 1234)\",\n value: \"STRING\",\n },\n {\n id: 2,\n label: \"Number\",\n subLabel: \"Numeric Value. (Eg: 123, -45, 0)\",\n value: \"NUMBER\",\n },\n { id: 3, label: \"Boolean\", subLabel: \"True or False\", value: \"BOOLEAN\" },\n {\n id: 4,\n label: \"Date/Time\",\n subLabel: \"Timestamp or Calendar Information\",\n value: \"DATE_TIME\",\n },\n];\n\ntype OperatorOption = {\n id: number;\n label: string;\n value: string;\n isDateOnly?: boolean;\n type?: string\n};\n\nexport const operatorOptions: OperatorOption[] = [\n { id: 1, label: \"is equals to\", value: \"IS\", type: \"BOOLEAN\" },\n { id: 2, label: \"is not equals to\", value: \"IS_NOT\", type: \"BOOLEAN\" },\n { id: 3, label: \"contains\", value: \"CONTAINS\" },\n { id: 4, label: \"not contains\", value: \"CONTAINS_NOT\" },\n { id: 5, label: \"starts with\", value: \"STARTS_WITH\" },\n { id: 6, label: \"ends with\", value: \"ENDS_WITH\" },\n { id: 5, label: \"has no value\", value: \"NO_VALUE\" },\n { id: 6, label: \"before\", value: \"BEFORE\", isDateOnly: true },\n { id: 7, label: \"after\", value: \"AFTER\", isDateOnly: true },\n { id: 8, label: \"on\", value: \"ON\", isDateOnly: true },\n { id: 9, label: \"has any value\", value: \"ANY_VALUE\" },\n];\n\ntype BooleanOption = {\n id: number;\n label: string;\n value: boolean;\n};\n\nexport const booleanOptions: BooleanOption[] = [\n { id: 1, label: \"True\", value: true },\n { id: 2, label: \"False\", value: false },\n];\nexport const integrationsNpsSubmissionProperties = [\n { label: 'Submission Start time', value: 'start_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n]; \n\nexport const integrationsClassicSubmissionProperties = [\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Start time', value: 'start_time', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Channel Type', value: 'channel_type', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n];\n\nexport const dynamicDateOptions = [\n {\n label: \"Last 7 days\",\n value: \"last_7_days\",\n },\n {\n label: \"Last 30 days\",\n value: \"last_30_days\",\n },\n {\n label: \"Last 3 months\",\n value: \"last_3_months\",\n },\n {\n label: \"Custom\",\n value: \"custom\",\n },\n];\n\n\nexport const conditionData = [\n {\n label: \"Contact Properties\",\n value: \"contactProperties\",\n options: [\n {\n label: \"Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name\",\n value: \"fullName\",\n subLabel: \"5\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"First Name\",\n value: \"firstName\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Email\",\n value: \"email\",\n operators: [\n {\n label: \"equals\",\n value: \"equals\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n {\n label: \"does not equal\",\n value: \"does-not-equal\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Language\",\n value: \"language\",\n operators: [\n {\n label: \"includes\",\n value: \"includes\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n },\n {\n label: \"does not include\",\n value: \"does-not-include\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n }\n ]\n },\n {\n label: \"Created At\",\n value: \"createdAt\",\n operators: [\n { label: \"is\", value: \"is\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is not\", value: \"is-not\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is before\", value: \"is-before\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is after\", value: \"is-after\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is between\", value: \"is-between\", dataType: \"DATE_RANGE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Variables\",\n value: \"variables\",\n options: [\n {\n label: \"$var1\",\n value: \"$var1\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Survey 1\",\n value: \"survey1\",\n operators: [\n {\n label: \"Responded\",\n value: \"responded\",\n dataType: \"SINGLE_SELECT\",\n type: \"VALUE_SELECTOR\",\n choices: [\n { label: \"Responded\", value: \"responded\" },\n { label: \"Partially Responded\", value: \"partially-responded\" },\n { label: \"Not Responded\", value: \"not-responded\" }\n ]\n }\n ]\n }\n];\n"],"names":["uuid"],"mappings":"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"}
|
|
@@ -19,6 +19,18 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
return a;
|
|
20
20
|
};
|
|
21
21
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __objRest = (source, exclude) => {
|
|
23
|
+
var target = {};
|
|
24
|
+
for (var prop in source)
|
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
}
|
|
32
|
+
return target;
|
|
33
|
+
};
|
|
22
34
|
const handleMappingOptions = (mappingType, surveyQuestions, contactProperties, derivedQuestions, surveyVariables, expressions, integrationsNpsSubmissionProperties, integrationsClassicSubmissionProperties, surveyType, hasSurveyProperties) => {
|
|
23
35
|
let currentOption;
|
|
24
36
|
switch (mappingType) {
|
|
@@ -71,16 +83,22 @@ const handleQuestionOptions = (surveyQuestions) => {
|
|
|
71
83
|
return __spreadValues({}, val);
|
|
72
84
|
});
|
|
73
85
|
const groupedData = data.reduce((result, item) => {
|
|
74
|
-
var _a;
|
|
86
|
+
var _a, _b, _c;
|
|
75
87
|
const existingGroup = result.find((group) => group.label === item.label);
|
|
76
88
|
if (existingGroup) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
89
|
+
const itemOptions = ((_a = item.options) == null ? void 0 : _a.length) ? item.options : [];
|
|
90
|
+
if (itemOptions.length > 0) {
|
|
91
|
+
existingGroup.options.push(...itemOptions);
|
|
92
|
+
}
|
|
93
|
+
} else if (item.label || item.rtxt) {
|
|
94
|
+
const baseLabel = item.label || item.rtxt;
|
|
95
|
+
const displayLabel = item.isChild ? `${baseLabel}` : baseLabel;
|
|
96
|
+
result.push(__spreadValues(__spreadProps(__spreadValues({}, item), {
|
|
97
|
+
questionType: (_b = item == null ? void 0 : item.questionType) != null ? _b : item.type,
|
|
98
|
+
label: displayLabel,
|
|
99
|
+
options: ((_c = item.options) == null ? void 0 : _c.length) ? item.options : [],
|
|
100
|
+
value: (item == null ? void 0 : item.value) ? item.value : item.id
|
|
101
|
+
}), item.hasChildren && { isDisabled: true }));
|
|
84
102
|
}
|
|
85
103
|
return result;
|
|
86
104
|
}, []);
|
|
@@ -91,19 +109,28 @@ const handleQuestionOptions = (surveyQuestions) => {
|
|
|
91
109
|
});
|
|
92
110
|
const filteredData = updatedData == null ? void 0 : updatedData.filter((item) => !item.label).map((question) => {
|
|
93
111
|
var _a;
|
|
94
|
-
|
|
95
|
-
|
|
112
|
+
const baseLabel = !!((_a = question.rtxt) == null ? void 0 : _a.length) ? question.rtxt : "Please enter your question";
|
|
113
|
+
const displayLabel = question.isChild ? `-- ${baseLabel}` : baseLabel;
|
|
114
|
+
return __spreadValues({
|
|
115
|
+
label: displayLabel,
|
|
96
116
|
value: question.id,
|
|
97
117
|
questionType: question.type
|
|
98
|
-
};
|
|
118
|
+
}, question.hasChildren && { isDisabled: true });
|
|
99
119
|
});
|
|
100
120
|
const formattedData = [
|
|
101
121
|
...filteredData,
|
|
102
|
-
...groupedData.map((data2) =>
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
...groupedData.map((data2) => {
|
|
123
|
+
var _a;
|
|
124
|
+
if (((_a = data2.options) == null ? void 0 : _a.length) > 0) {
|
|
125
|
+
return __spreadProps(__spreadValues({}, data2), {
|
|
126
|
+
options: data2.options.map((option) => __spreadProps(__spreadValues({}, option), {
|
|
127
|
+
label: `- ${option.label}`
|
|
128
|
+
}))
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const _b = data2, { options } = _b, flatItem = __objRest(_b, ["options"]);
|
|
132
|
+
return flatItem;
|
|
133
|
+
})
|
|
107
134
|
];
|
|
108
135
|
return formattedData;
|
|
109
136
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/commons/helpers/index.ts"],"sourcesContent":["import { ResultGroupDataOptionsType, ResultGroupDataType } from \"../../mapping/types\";\n\nexport const handleMappingOptions = (\n mappingType: string,\n surveyQuestions: Array<any>,\n contactProperties: Array<any>,\n derivedQuestions: any,\n surveyVariables: Array<any>,\n expressions: Array<any>,\n integrationsNpsSubmissionProperties: Array<any>,\n integrationsClassicSubmissionProperties: Array<any>,\n surveyType: string,\n hasSurveyProperties?: boolean | undefined\n) => {\n let currentOption;\n switch (mappingType) {\n case \"QUESTION\":\n if(hasSurveyProperties){\n currentOption = surveyQuestions?.map((question) => ({\n ...question,\n questionType: question.type\n }));\n } else {\n const filteredQuestions = surveyQuestions.filter((question) => question?.type !== \"Message\" && question?.type !== \"PaymentQuestion\");\n currentOption = handleQuestionOptions(filteredQuestions);\n }\n break;\n case \"CONTACT\":\n const filteredContactProperties = contactProperties.filter((contact) => contact?.name !== \"team_internal\" && contact?.name !== \"department_internal\");\n currentOption = filteredContactProperties.map((contact) => ({\n label: contact.label,\n value: contact.name\n }));\n break;\n case \"VARIABLE\":\n currentOption = surveyVariables.map((varibles) => ({\n name: varibles.name,\n label: varibles.label,\n value: varibles.id\n }));\n break;\n case \"EXPRESSION\":\n currentOption = expressions.map((expression) => ({\n label: expression.name,\n value: expression.id\n }));\n break;\n case \"SUBMISSION_PROPERTY\":\n currentOption = surveyType?.toLocaleLowerCase() === \"classicform\" ? integrationsClassicSubmissionProperties : integrationsNpsSubmissionProperties;\n break;\n case \"DERIVED_QUESTION\":\n currentOption = derivedQuestions?.map((derivedQuestion: any) => ({\n label: derivedQuestion.label,\n value: derivedQuestion.id,\n ...derivedQuestion\n }));\n break;\n default:\n currentOption = [];\n }\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/commons/helpers/index.ts"],"sourcesContent":["import { ResultGroupDataOptionsType, ResultGroupDataType } from \"../../mapping/types\";\n\nexport const handleMappingOptions = (\n mappingType: string,\n surveyQuestions: Array<any>,\n contactProperties: Array<any>,\n derivedQuestions: any,\n surveyVariables: Array<any>,\n expressions: Array<any>,\n integrationsNpsSubmissionProperties: Array<any>,\n integrationsClassicSubmissionProperties: Array<any>,\n surveyType: string,\n hasSurveyProperties?: boolean | undefined\n) => {\n let currentOption;\n switch (mappingType) {\n case \"QUESTION\":\n if(hasSurveyProperties){\n currentOption = surveyQuestions?.map((question) => ({\n ...question,\n questionType: question.type\n }));\n } else {\n const filteredQuestions = surveyQuestions.filter((question) => question?.type !== \"Message\" && question?.type !== \"PaymentQuestion\");\n currentOption = handleQuestionOptions(filteredQuestions);\n }\n break;\n case \"CONTACT\":\n const filteredContactProperties = contactProperties.filter((contact) => contact?.name !== \"team_internal\" && contact?.name !== \"department_internal\");\n currentOption = filteredContactProperties.map((contact) => ({\n label: contact.label,\n value: contact.name\n }));\n break;\n case \"VARIABLE\":\n currentOption = surveyVariables.map((varibles) => ({\n name: varibles.name,\n label: varibles.label,\n value: varibles.id\n }));\n break;\n case \"EXPRESSION\":\n currentOption = expressions.map((expression) => ({\n label: expression.name,\n value: expression.id\n }));\n break;\n case \"SUBMISSION_PROPERTY\":\n currentOption = surveyType?.toLocaleLowerCase() === \"classicform\" ? integrationsClassicSubmissionProperties : integrationsNpsSubmissionProperties;\n break;\n case \"DERIVED_QUESTION\":\n currentOption = derivedQuestions?.map((derivedQuestion: any) => ({\n label: derivedQuestion.label,\n value: derivedQuestion.id,\n ...derivedQuestion\n }));\n break;\n default:\n currentOption = [];\n }\n return currentOption;\n};\n\nconst handleQuestionOptions = (surveyQuestions: Array<any>) => {\n const data = surveyQuestions.map((val) => {\n return { ...val };\n });\n const groupedData = data.reduce((result, item) => {\n const existingGroup = result.find((group: ResultGroupDataType) => group.label === item.label);\n\n if (existingGroup) {\n const itemOptions = item.options?.length ? item.options : [];\n if (itemOptions.length > 0) {\n existingGroup.options.push(...itemOptions);\n }\n } else if (item.label || item.rtxt) {\n // Determine the label - add \"--\" prefix for child questions\n const baseLabel = item.label || item.rtxt;\n const displayLabel = item.isChild ? `${baseLabel}` : baseLabel;\n \n result.push({\n ...item,\n questionType: item?.questionType ?? item.type,\n label: displayLabel,\n options: item.options?.length ? item.options : [],\n value: item?.value ? item.value : item.id,\n // Disable parent questions that have children (they can't be selected directly)\n ...(item.hasChildren && { isDisabled: true }),\n });\n }\n return result;\n }, []);\n\n // Extract other data\n const updatedData = data?.filter((question) => {\n if (!groupedData.some((data: ResultGroupDataType) => data.label === question.rtxt)) {\n return question;\n }\n });\n\n const filteredData = updatedData\n ?.filter((item) => !item.label)\n .map((question) => {\n // Determine the label - add \"--\" prefix for child questions\n const baseLabel = !!question.rtxt?.length ? question.rtxt : 'Please enter your question';\n const displayLabel = question.isChild ? `-- ${baseLabel}` : baseLabel;\n \n return {\n label: displayLabel,\n value: question.id,\n questionType: question.type,\n // Disable parent questions that have children (they can't be selected directly)\n ...(question.hasChildren && { isDisabled: true }),\n };\n });\n\n const formattedData = [\n ...filteredData,\n ...groupedData.map((data: ResultGroupDataType) => {\n // Only include options property if there are actual sub-options\n // react-select treats items with an empty options array as empty groups\n if (data.options?.length > 0) {\n return {\n ...data,\n options: data.options.map((option: ResultGroupDataOptionsType) => ({\n ...option,\n label: `- ${option.label}`\n }))\n };\n }\n // Remove the options property for flat items so react-select treats them as selectable options\n const { options, ...flatItem } = data;\n return flatItem;\n })\n ];\n return formattedData;\n};\n\n\nexport const generateUniqueId = (): string => {\n return `id-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n};"],"names":["data"],"mappings":"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"}
|
|
@@ -191,9 +191,11 @@ const ContactImportMapping = ({
|
|
|
191
191
|
)) == null ? void 0 : _b.label,
|
|
192
192
|
value: field.surveySparrowField
|
|
193
193
|
} : null,
|
|
194
|
-
options: contactProperties.filter(
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
options: contactProperties.filter((contact) => contact.type !== "DEPENDENT_FIELD").map((contact) => __spreadProps(__spreadValues({}, contact), {
|
|
195
|
+
isDisabled: contactImportField.fields.some(
|
|
196
|
+
(f) => f.id !== field.id && f.surveySparrowField === contact.value
|
|
197
|
+
)
|
|
198
|
+
})),
|
|
197
199
|
onChange: (currentField) => updateSurveySparrowField(
|
|
198
200
|
currentField.value,
|
|
199
201
|
field.id)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ContactImportMappingProps } from \"../types\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\n// Define the Field type with all the properties used in the component\ntype Field = {\n id: string | number;\n integrationField: string | number | null;\n surveySparrowField: string | number | null;\n sampleData?: Array<string>;\n property?: \"custom\" | \"default\";\n mapped?: boolean;\n surveySparrowFieldError?: boolean;\n};\n\n\nconst defaultFieldValue: Omit<Field, \"id\"> = {\n integrationField: null,\n surveySparrowField: null,\n sampleData: [],\n property: \"custom\",\n mapped: false,\n surveySparrowFieldError: false,\n};\n\nconst ContactImportMapping: React.FC<ContactImportMappingProps> = ({\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n\n useEffect(() => {\n if (!initialRenderRef.current && customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n });\n }\n initialRenderRef.current = false;\n }, [contactImportField]);\n\n const customFieldHandler = (\n id: string | number,\n property: keyof Field,\n value: string | number | boolean | null\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id ? { ...field, [property]: value } : field\n ),\n }));\n };\n\n const updateSurveySparrowField = (\n value: string | number,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id\n ? {\n ...field,\n surveySparrowField: value,\n ...(manuallyMapped && { mapped: true }),\n }\n : field\n ),\n }));\n };\n\n const addCustomProperty = () => {\n setContactImportField((prev) => ({\n ...prev,\n fields: [\n ...prev.fields,\n {\n id: prev.fields.length\n ? (typeof prev.fields[prev.fields.length - 1].id === 'number' \n ? (prev.fields[prev.fields.length - 1].id as number) + 1 \n : Date.now())\n : 1,\n ...defaultFieldValue,\n },\n ],\n }));\n };\n\n const deleteCustomProperty = (id: string | number) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.filter((field) => field.id !== id),\n }));\n };\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: \"90%\", width: \"100%\" }}>\n <Box css={{ paddingLeft: \"$28\" }}>\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 291px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\",\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\",\n }}\n >\n <Thead css={{ zIndex: 5, position: \"sticky\", top: \"-31px\" }}>\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>\n SurveySparrow Mapping\n </Th>\n </Thead>\n <Tbody>\n {[...contactImportField.fields]\n .sort((a, b) => {\n // Automatically mapped (not manually mapped and has surveySparrowField) come first\n const aIsAutoMapped = !a.mapped && a.surveySparrowField;\n const bIsAutoMapped = !b.mapped && b.surveySparrowField;\n \n if (aIsAutoMapped && !bIsAutoMapped) return -1;\n if (!aIsAutoMapped && bIsAutoMapped) return 1;\n \n // Then manually mapped\n const aIsManuallyMapped = a.mapped && a.surveySparrowField;\n const bIsManuallyMapped = b.mapped && b.surveySparrowField;\n \n if (aIsManuallyMapped && !bIsManuallyMapped) return -1;\n if (!aIsManuallyMapped && bIsManuallyMapped) return 1;\n \n // Keep original order for items in the same category\n return 0;\n })\n .map((field) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact) => contact.value === field.surveySparrowField\n );\n\n return (\n <Tr key={field.id}>\n <Td css={{ width: 560 }}>\n {field.property !== \"custom\" ? (\n <>\n <Text size=\"sm\" weight=\"medium\">\n {typeof field.integrationField === 'string' \n ? field.integrationField.replace(\"_\", \" \")\n : field.integrationField}\n </Text>\n {field.sampleData?.map((sample, index) => (\n <Text\n key={index}\n size=\"xs\"\n css={{ lineHeight: \"$xs\" }}\n >\n {sample.length > 40\n ? `${sample.slice(0, 40)}...`\n : sample}\n </Text>\n ))}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event: any) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.target.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => deleteCustomProperty(field.id)}\n icon={<DeleteIcon />}\n aria-label=\"Delete custom property\"\n />\n </Box>\n )}\n </Td>\n <Td\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Select\n size=\"lg\"\n placeholder=\"--Choose Property--\"\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField,\n }\n : null\n }\n options={contactProperties.filter(\n (contact) => contact.type !== \"DEPENDENT_FIELD\"\n )}\n onChange={(currentField: any) =>\n updateSurveySparrowField(\n currentField.value,\n field.id,\n true\n )\n }\n />\n {hasSurveyFieldValue && (\n <FormLabel\n size=\"xs\"\n css={{\n color: field.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4\",\n }}\n >\n {field.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n )}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{ color: \"$negative500\", marginTop: \"$4\" }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </Td>\n </Tr>\n );\n })}\n <Tr>\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["useRef","useEffect","Flex","Box","Heading","Text","Table","Thead","Th","Tbody","Tr","Td","FormInput","FormLabel","IconButton","DeleteIcon","Select","Button","PlusIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ContactImportMappingProps } from \"../types\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\n// Define the Field type with all the properties used in the component\ntype Field = {\n id: string | number;\n integrationField: string | number | null;\n surveySparrowField: string | number | null;\n sampleData?: Array<string>;\n property?: \"custom\" | \"default\";\n mapped?: boolean;\n surveySparrowFieldError?: boolean;\n};\n\n\nconst defaultFieldValue: Omit<Field, \"id\"> = {\n integrationField: null,\n surveySparrowField: null,\n sampleData: [],\n property: \"custom\",\n mapped: false,\n surveySparrowFieldError: false,\n};\n\nconst ContactImportMapping: React.FC<ContactImportMappingProps> = ({\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n\n useEffect(() => {\n if (!initialRenderRef.current && customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n });\n }\n initialRenderRef.current = false;\n }, [contactImportField]);\n\n const customFieldHandler = (\n id: string | number,\n property: keyof Field,\n value: string | number | boolean | null\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id ? { ...field, [property]: value } : field\n ),\n }));\n };\n\n const updateSurveySparrowField = (\n value: string | number,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id\n ? {\n ...field,\n surveySparrowField: value,\n ...(manuallyMapped && { mapped: true }),\n }\n : field\n ),\n }));\n };\n\n const addCustomProperty = () => {\n setContactImportField((prev) => ({\n ...prev,\n fields: [\n ...prev.fields,\n {\n id: prev.fields.length\n ? (typeof prev.fields[prev.fields.length - 1].id === 'number' \n ? (prev.fields[prev.fields.length - 1].id as number) + 1 \n : Date.now())\n : 1,\n ...defaultFieldValue,\n },\n ],\n }));\n };\n\n const deleteCustomProperty = (id: string | number) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.filter((field) => field.id !== id),\n }));\n };\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: \"90%\", width: \"100%\" }}>\n <Box css={{ paddingLeft: \"$28\" }}>\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 291px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\",\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\",\n }}\n >\n <Thead css={{ zIndex: 5, position: \"sticky\", top: \"-31px\" }}>\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>\n SurveySparrow Mapping\n </Th>\n </Thead>\n <Tbody>\n {[...contactImportField.fields]\n .sort((a, b) => {\n // Automatically mapped (not manually mapped and has surveySparrowField) come first\n const aIsAutoMapped = !a.mapped && a.surveySparrowField;\n const bIsAutoMapped = !b.mapped && b.surveySparrowField;\n \n if (aIsAutoMapped && !bIsAutoMapped) return -1;\n if (!aIsAutoMapped && bIsAutoMapped) return 1;\n \n // Then manually mapped\n const aIsManuallyMapped = a.mapped && a.surveySparrowField;\n const bIsManuallyMapped = b.mapped && b.surveySparrowField;\n \n if (aIsManuallyMapped && !bIsManuallyMapped) return -1;\n if (!aIsManuallyMapped && bIsManuallyMapped) return 1;\n \n // Keep original order for items in the same category\n return 0;\n })\n .map((field) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact) => contact.value === field.surveySparrowField\n );\n\n return (\n <Tr key={field.id}>\n <Td css={{ width: 560 }}>\n {field.property !== \"custom\" ? (\n <>\n <Text size=\"sm\" weight=\"medium\">\n {typeof field.integrationField === 'string' \n ? field.integrationField.replace(\"_\", \" \")\n : field.integrationField}\n </Text>\n {field.sampleData?.map((sample, index) => (\n <Text\n key={index}\n size=\"xs\"\n css={{ lineHeight: \"$xs\" }}\n >\n {sample.length > 40\n ? `${sample.slice(0, 40)}...`\n : sample}\n </Text>\n ))}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event: any) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.target.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => deleteCustomProperty(field.id)}\n icon={<DeleteIcon />}\n aria-label=\"Delete custom property\"\n />\n </Box>\n )}\n </Td>\n <Td\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Select\n size=\"lg\"\n placeholder=\"--Choose Property--\"\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField,\n }\n : null\n }\n options={contactProperties\n .filter((contact) => contact.type !== \"DEPENDENT_FIELD\")\n .map((contact) => ({\n ...contact,\n isDisabled: contactImportField.fields.some(\n (f) =>\n f.id !== field.id &&\n f.surveySparrowField === contact.value\n ),\n }))}\n onChange={(currentField: any) =>\n updateSurveySparrowField(\n currentField.value,\n field.id,\n true\n )\n }\n />\n {hasSurveyFieldValue && (\n <FormLabel\n size=\"xs\"\n css={{\n color: field.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4\",\n }}\n >\n {field.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n )}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{ color: \"$negative500\", marginTop: \"$4\" }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </Td>\n </Tr>\n );\n })}\n <Tr>\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["useRef","useEffect","Flex","Box","Heading","Text","Table","Thead","Th","Tbody","Tr","Td","FormInput","FormLabel","IconButton","DeleteIcon","Select","Button","PlusIcon"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ var heading = require('../../node_modules/@sparrowengg/twigs-react/dist/es/headi
|
|
|
15
15
|
var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
|
|
16
16
|
|
|
17
17
|
const MappingHeader = ({
|
|
18
|
+
forceDisableMappingCTA,
|
|
18
19
|
hasNamingModal,
|
|
19
20
|
isEditConfirmationOpen,
|
|
20
21
|
editField,
|
|
@@ -185,7 +186,7 @@ const MappingHeader = ({
|
|
|
185
186
|
button.Button,
|
|
186
187
|
{
|
|
187
188
|
size: "lg",
|
|
188
|
-
disabled: isButtonDisabled || isLoading,
|
|
189
|
+
disabled: isButtonDisabled || isLoading || forceDisableMappingCTA,
|
|
189
190
|
loading: isLoading,
|
|
190
191
|
onClick: handleSaveClick
|
|
191
192
|
},
|