@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.9 → 2.1.0-notion-release.11
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/mapping/components/mapping.js +1 -2
- package/dist/cjs/mapping/components/mapping.js.map +1 -1
- package/dist/cjs/triggers/components/subcomponents.js +21 -22
- package/dist/cjs/triggers/components/subcomponents.js.map +1 -1
- package/dist/cjs/triggers/components/trigger.js +32 -31
- package/dist/cjs/triggers/components/trigger.js.map +1 -1
- package/dist/cjs/triggers/constants/index.js +11 -5
- package/dist/cjs/triggers/constants/index.js.map +1 -1
- package/dist/cjs/triggers/index.js +39 -38
- package/dist/cjs/triggers/index.js.map +1 -1
- package/dist/es/mapping/components/mapping.js +1 -2
- package/dist/es/mapping/components/mapping.js.map +1 -1
- package/dist/es/triggers/components/subcomponents.js +21 -22
- package/dist/es/triggers/components/subcomponents.js.map +1 -1
- package/dist/es/triggers/components/trigger.js +32 -31
- package/dist/es/triggers/components/trigger.js.map +1 -1
- package/dist/es/triggers/constants/index.js +11 -5
- package/dist/es/triggers/constants/index.js.map +1 -1
- package/dist/es/triggers/index.js +39 -38
- package/dist/es/triggers/index.js.map +1 -1
- package/dist/index.d.ts +14 -86
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcomponents.js","sources":["../../../../src/triggers/components/subcomponents.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Flex,\n Box,\n IconButton,\n Button,\n Popover,\n TooltipProvider,\n Tooltip,\n PopoverTrigger,\n PopoverContent,\n Input,\n Calendar,\n Chip,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\nimport {\n CloseIcon,\n SearchIcon,\n ChevronRightIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { useState, ReactNode } from \"react\";\nimport {\n subMenuOptions,\n operatorOptions,\n booleanOptions,\n} from \"../../commons/constants\";\nimport NestedAddIcon from \"../../commons/icons/nested-add\";\nimport Trash from \"../../commons/icons/trash\";\nimport { comparatorConstants } from \"../constants\";\nimport CustomPill from \"../../commons/components/custom-pill\";\n\nconst getCurrentConditionText = (\n text: keyof typeof comparatorConstants,\n dataType: string\n): string => {\n let currentText = \"\";\n switch (text) {\n case comparatorConstants.IS:\n currentText = dataType.includes(\"BOOLEAN\") ? \"is\" : \"is equal to\";\n break;\n case comparatorConstants.IS_NOT:\n currentText = \"is not equal to\";\n break;\n case comparatorConstants.CONTAINS:\n currentText = \"contains\";\n break;\n case comparatorConstants.CONTAINS_NOT:\n currentText = \"not contains\";\n break;\n case comparatorConstants.NO_VALUE:\n currentText = \"has no value\";\n break;\n case comparatorConstants.ANY_VALUE:\n currentText = \"has any value\";\n break;\n case comparatorConstants.ON:\n currentText = \"on\";\n break;\n case comparatorConstants.AFTER:\n currentText = \"after\";\n break;\n case comparatorConstants.BEFORE:\n currentText = \"before\";\n break;\n case comparatorConstants.TRUE:\n case comparatorConstants.FALSE:\n currentText = \"Boolean\";\n break;\n default:\n currentText = \"\";\n break;\n }\n return currentText;\n};\n\nexport default getCurrentConditionText;\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: \"$4\",\n \"&:hover\": {\n \"#action-btn\": {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: \"nowrap\",\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: \"$borderWidths$xs solid $black200\",\n width: \"100%\",\n marginLeft: \"$3\",\n position: \"relative\",\n }}\n >\n <Flex\n css={{\n position: \"absolute\",\n right: 0,\n top: \"-$6\",\n background: \"$white900\",\n paddingLeft: \"$2\",\n opacity: 0,\n transition: \"all .3s ease\",\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => addNestedFilterCondition(filters.id)}\n />}\n \n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => removeCurrentFilter(filters.id)}\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters?.filter?.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box\n css={{ cursor: \"pointer\" }}\n onClick={() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === \"or\" ? \"AND\" : \"OR\"\n );\n }}\n >\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {fieldOptions?.find(\n (option: any) => option.value === currentFilter.field\n )?.label ?? currentFilter.field}{\" \"}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {Array.isArray(currentFilter.value)\n ? currentFilter.value.join(\", \")\n : currentFilter.value}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => removeNestedField(filters.id, currentFilter.id)}\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\nconst RenderFieldValuePopover: React.FC<RenderFieldValuePopoverProps> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n const [inputValue, setInputValue] = useState(\"\");\n const [selectedField, setSelectedField] = useState<string[]>([]);\n const field = fieldOptions.find(\n (option: any) => option.value === currentFilter.field\n )?.options;\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions?.map((option) => (\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n } else if (\n currentFilter.comparator === \"NO_VALUE\" ||\n currentFilter.comparator === \"ANY_VALUE\"\n ) {\n setCurrentField(\" \", currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n return <></>;\n } else if (currentFilter.dataType === \"DATE_TIME\") {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={() => {\n setCurrentField(\n dayjs(date).format(\"MMM D YYYY . hh:mm A\"),\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n />\n </Box>\n );\n } else if (field?.length) {\n if(currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => setInputValue(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n ?.map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n\n )\n } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => setInputValue(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => {\n if (checked) {\n setSelectedField(field?.map((item: any) => item.value));\n } else {\n setSelectedField([]);\n }\n }}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n ?.map((field: any) => (\n <Box\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) => {\n if (checked) {\n setSelectedField([...selectedField, field.value]);\n } else {\n setSelectedField(\n selectedField.filter(\n (item: any) => item !== field.value\n )\n );\n }\n }}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n <Flex\n justifyContent=\"flex-end\"\n css={{\n position: \"sticky\",\n bottom: 0,\n paddingBlock: \"$4 !important\",\n marginInlineEnd: \"$6 !important\",\n }}\n >\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n setCurrentField(\n selectedField,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n \n } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder={currentFilter.dataType === \"NUMBER\" ? \"Enter a number\" : \"Enter a value\"}\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" || currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n setInputValue(\n currentFilter.dataType === \"NUMBER\" || currentFilter.dataType === \"PHONE_NUMBER\"\n ? (e.target as HTMLInputElement).value.replace(/\\D/g, \"\")\n : (e.target as HTMLInputElement).value\n )\n }\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }\n }}\n />\n {(currentFilter.dataType === \"PHONE_NUMBER\") && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: \"$5\", marginTop: \"$2\", marginLeft: \"$1\" }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral100\",\n padding: \"$4 $6\",\n marginTop: \"$4\",\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={() => {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n }\n};\n\nexport { RenderFieldValuePopover };\n\nconst FieldValuePopover = ({\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n fieldOptions,\n}: any) => {\n const [showPopover, setShowPopover] = useState(true);\n\n const hasError = !currentFilter.value && !showPopover;\n return (\n <Popover defaultOpen open={showPopover}>\n <TooltipProvider delayDuration={0}>\n <Tooltip\n side=\"right\"\n content={hasError ? \"Enter Value to complete the condition\" : \"\"}\n >\n <PopoverTrigger asChild onClick={() => setShowPopover(!showPopover)}>\n <Box>\n <CustomConditonChip hasError={hasError}>\n Type Value\n </CustomConditonChip>\n </Box>\n </PopoverTrigger>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n onPointerDownOutside={() => setShowPopover(false)}\n sideOffset={4}\n align=\"start\"\n side={currentFilter.dataType === \"DATE_TIME\" ? \"right\" : \"bottom\"}\n css={{\n minWidth: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n <RenderFieldValuePopover\n fieldOptions={fieldOptions}\n setShowPopover={setShowPopover}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\ntype DataTypePopoverProps = {\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n};\n\nconst DataTypePopover: React.FC<DataTypePopoverProps> = ({\n setCurrentField,\n currentFilter,\n filters,\n}) => {\n const [subMenuContent, setSubMenuContent] = useState({\n show: false,\n type: \"\",\n });\n\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Data Type</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n width: 260,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n {!subMenuContent.show && !currentFilter.dataType.length ? (\n <Box css={{ paddingTop: \"$6\" }}>\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n css={{\n padding: \"$3 $6\",\n marginBottom: \"$4\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n No Preference\n </Text>\n <Box\n css={{\n paddingTop: \"$4\",\n borderTop: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral600\",\n padding: \"$4 $6\",\n }}\n size=\"xs\"\n weight=\"bold\"\n >\n Select data type\n </Text>\n {subMenuOptions?.map((option) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n onClick={() => {\n if (option.value === \"BOOLEAN\") {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n comparatorConstants.IS,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setSubMenuContent({\n show: true,\n type: option.value,\n });\n }\n }}\n css={{\n cursor: \"pointer\",\n padding: \"$3 $6\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n \"#subLabelIcon\": {\n opacity: 1,\n },\n },\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n css={{ lineHeight: \"$md\", color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n {!!option.subLabel && (\n <Text\n size=\"xs\"\n css={{ lineHeight: \"$xs\", color: \"$neutral700\" }}\n >\n {option.subLabel}\n </Text>\n )}\n </Box>\n <Box css={{ opacity: 0 }} id=\"subLabelIcon\">\n <ChevronRightIcon size={20} />\n </Box>\n </Flex>\n ))}\n </Box>\n <Flex\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors\n when sharing value.\n </Text>\n </Flex>\n </Box>\n ) : (\n <Box>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n display: !subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n ? \"none\"\n : \"flex\",\n padding: \"$5 $4\",\n borderRadius: \"$xl $xl 0 0\",\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n borderBottom:\n \"$borderWidths$xs solid rgba(100, 116, 139, 0.08)\",\n }}\n >\n <Box\n onClick={() =>\n setSubMenuContent({\n show: false,\n type: \"\",\n })\n }\n css={{\n borderRight: \"$borderWidths$xs solid $secondary100\",\n paddingRight: \"$2\",\n cursor: \"pointer\",\n }}\n >\n <ChevronRightIcon\n style={{ transform: \"scaleX(-1)\", color: \"#76859A\" }}\n size={20}\n />\n </Box>\n <Flex alignItems=\"center\">\n <Text size=\"sm\" css={{ color: \"$secondary400\" }}>\n {\n subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n }\n </Text>\n <ChevronRightIcon style={{ color: \"#76859A\" }} size={16} />\n <Text\n size=\"sm\"\n weight=\"medium\"\n css={{ color: \"$secondary600\" }}\n >\n {subMenuContent.type === \"DATE_TIME\" ? \"Select\" : \"Choose\"}\n </Text>\n </Flex>\n </Flex>\n <Box\n css={{\n paddingBlock: subMenuContent.type === \"DATE_TIME\" ? 0 : \"$4\",\n }}\n >\n <PopoverFields\n type={currentFilter.dataType}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetPopover={() => {\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n />\n </Box>\n </Box>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n\ntype PopoverFieldsProps = {\n type: string;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n filters: any;\n currentFilter: any;\n resetPopover: () => void;\n};\n\nconst PopoverFields: React.FC<PopoverFieldsProps> = ({\n type,\n setCurrentField,\n filters,\n currentFilter,\n resetPopover,\n}) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n switch (type) {\n case \"DATE_TIME\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator.isDateOnly)\n ?.map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n case \"BOOLEAN\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator?.type === \"BOOLEAN\")\n ?.map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n default:\n return (\n <>\n {operatorOptions\n ?.filter((operator) => !operator.isDateOnly)\n ?.map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n }\n};\n\ntype FieldPopoverProps = {\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n fieldOptions: any;\n};\n\nconst FieldPopover: React.FC<FieldPopoverProps> = ({\n setCurrentField,\n currentFilter,\n filters,\n fieldOptions,\n}) => {\n const [inputSearch, setInputSearch] = useState(\"\");\n const currentOptions = fieldOptions?.filter((option: any) =>\n option.label.toLowerCase().includes(inputSearch.toLowerCase())\n );\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Field</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n paddingBottom: \"12px !important\",\n width: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: \"0\",\n }}\n >\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputSearch}\n onChange={(e) => setInputSearch(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!currentOptions.length ? (\n <>\n {currentOptions.map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"field\"\n );\n if (field?.type) {\n setCurrentField(\n field?.type,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n }\n }}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </PopoverContent>\n </Popover>\n );\n};\n\ntype CustomConditonChipProps = {\n children: ReactNode;\n hasError?: boolean;\n};\n\nconst CustomConditonChip: React.FC<CustomConditonChipProps> = ({\n children,\n hasError,\n}) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n backgroundColorOpacity: hasError\n ? [\"#FDEDE8\", 1]\n : [\"$primary400\", 0.2],\n color: hasError ? \"#E75030\" : \"$primary700\",\n padding: \"$3 $1\",\n fontWeight: \"$5\",\n lineHeight: \"$sm\",\n }}\n >\n {children}\n </Chip>\n );\n};\n\ntype CustomFieldChipProps = {\n children: ReactNode;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n setIsEditing: (isEditing: boolean) => void;\n fieldType: string;\n};\n\nconst CustomFieldChip: React.FC<CustomFieldChipProps> = ({\n children,\n setCurrentField,\n currentFilter,\n filters,\n setIsEditing,\n fieldType,\n}) => {\n const renderValue = (children: any) => {\n if(children === true) {\n return \"True\"\n }\n if(children === false) {\n return \"False\"\n }\n return children\n }\n return (\n <Chip\n size=\"lg\"\n css={{\n background: \"transparent\",\n color: \"$neutral800\",\n padding: \"$3 $1\",\n fontWeight: \"$7\",\n lineHeight: \"$sm\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n const fieldsToResetMap: { [key: string]: string[] } = {\n field: [\"field\", \"comparator\", \"dataType\", \"value\"],\n comparator: [\"comparator\", \"dataType\", \"value\"],\n value: [\"value\"],\n };\n const fieldsToReset = fieldsToResetMap[fieldType] || [\n \"comparator\",\n \"dataType\",\n \"value\",\n ];\n fieldsToReset.forEach((field) => {\n setCurrentField(\"\", currentFilter?.id, filters?.id, field);\n });\n setIsEditing(true);\n }}\n >\n\n {renderValue(children)}\n </Chip>\n );\n};\n"],"names":["React","_a","parseDate","field","children"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subcomponents.js","sources":["../../../../src/triggers/components/subcomponents.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Flex,\n Box,\n IconButton,\n Button,\n Popover,\n TooltipProvider,\n Tooltip,\n PopoverTrigger,\n PopoverContent,\n Input,\n Calendar,\n Chip,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\nimport {\n CloseIcon,\n SearchIcon,\n ChevronRightIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { useState, ReactNode } from \"react\";\nimport {\n subMenuOptions,\n operatorOptions,\n booleanOptions,\n} from \"../../commons/constants\";\nimport NestedAddIcon from \"../../commons/icons/nested-add\";\nimport Trash from \"../../commons/icons/trash\";\nimport { comparatorConstants } from \"../constants\";\nimport CustomPill from \"../../commons/components/custom-pill\";\n\nconst getCurrentConditionText = (\n text: keyof typeof comparatorConstants,\n dataType: string\n): string => {\n let currentText = \"\";\n switch (text) {\n case comparatorConstants.IS:\n currentText = dataType.includes(\"BOOLEAN\") ? \"is\" : \"is equal to\";\n break;\n case comparatorConstants.IS_NOT:\n currentText = \"is not equal to\";\n break;\n case comparatorConstants.CONTAINS:\n currentText = \"contains\";\n break;\n case comparatorConstants.CONTAINS_NOT:\n currentText = \"not contains\";\n break;\n case comparatorConstants.NO_VALUE:\n currentText = \"has no value\";\n break;\n case comparatorConstants.ANY_VALUE:\n currentText = \"has any value\";\n break;\n case comparatorConstants.ON:\n currentText = \"on\";\n break;\n case comparatorConstants.AFTER:\n currentText = \"after\";\n break;\n case comparatorConstants.BEFORE:\n currentText = \"before\";\n break;\n case comparatorConstants.TRUE:\n case comparatorConstants.FALSE:\n currentText = \"Boolean\";\n break;\n default:\n currentText = \"\";\n break;\n }\n return currentText;\n};\n\nexport default getCurrentConditionText;\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: \"$4\",\n \"&:hover\": {\n \"#action-btn\": {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: \"nowrap\",\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: \"$borderWidths$xs solid $black200\",\n width: \"100%\",\n marginLeft: \"$3\",\n position: \"relative\",\n }}\n >\n <Flex\n css={{\n position: \"absolute\",\n right: 0,\n top: \"-$6\",\n background: \"$white900\",\n paddingLeft: \"$2\",\n opacity: 0,\n transition: \"all .3s ease\",\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => addNestedFilterCondition(filters.id)}\n />}\n \n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => removeCurrentFilter(filters.id)}\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box\n css={{ cursor: \"pointer\" }}\n onClick={() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === \"or\" ? \"AND\" : \"OR\"\n );\n }}\n >\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {fieldOptions?.find(\n (option: any) => option.value === currentFilter.field\n )?.label ?? currentFilter.field}{\" \"}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {Array.isArray(currentFilter.value)\n ? currentFilter.value.join(\", \")\n : currentFilter.value}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => removeNestedField(filters.id, currentFilter.id)}\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\nconst RenderFieldValuePopover: React.FC<RenderFieldValuePopoverProps> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n const [inputValue, setInputValue] = useState(\"\");\n const [selectedField, setSelectedField] = useState<string[]>([]);\n const field = fieldOptions.find(\n (option: any) => option.value === currentFilter.field\n )?.options;\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n } else if (\n currentFilter.comparator === \"NO_VALUE\" ||\n currentFilter.comparator === \"ANY_VALUE\"\n ) {\n setCurrentField(\" \", currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n return <></>;\n } else if (currentFilter.dataType === \"DATE_TIME\") {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={() => {\n setCurrentField(\n dayjs(date).format(\"MMM D YYYY . hh:mm A\"),\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n />\n </Box>\n );\n } else if (field?.length) {\n if(currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => setInputValue(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n\n )\n } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => setInputValue(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => {\n if (checked) {\n setSelectedField(field.map((item: any) => item.value));\n } else {\n setSelectedField([]);\n }\n }}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .map((field: any) => (\n <Box\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) => {\n if (checked) {\n setSelectedField([...selectedField, field.value]);\n } else {\n setSelectedField(\n selectedField.filter(\n (item: any) => item !== field.value\n )\n );\n }\n }}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n <Flex\n justifyContent=\"flex-end\"\n css={{\n position: \"sticky\",\n bottom: 0,\n paddingBlock: \"$4 !important\",\n marginInlineEnd: \"$6 !important\",\n }}\n >\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n setCurrentField(\n selectedField,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n \n } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder={currentFilter.dataType === \"NUMBER\" ? \"Enter a number\" : \"Enter a value\"}\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" || currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n setInputValue(\n currentFilter.dataType === \"NUMBER\" || currentFilter.dataType === \"PHONE_NUMBER\"\n ? (e.target as HTMLInputElement).value.replace(/\\D/g, \"\")\n : (e.target as HTMLInputElement).value\n )\n }\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }\n }}\n />\n {(currentFilter.dataType === \"PHONE_NUMBER\") && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: \"$5\", marginTop: \"$2\", marginLeft: \"$1\" }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral100\",\n padding: \"$4 $6\",\n marginTop: \"$4\",\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={() => {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n }\n};\n\nexport { RenderFieldValuePopover };\n\nconst FieldValuePopover = ({\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n fieldOptions,\n}: any) => {\n const [showPopover, setShowPopover] = useState(true);\n\n const hasError = !currentFilter.value && !showPopover;\n return (\n <Popover defaultOpen open={showPopover}>\n <TooltipProvider delayDuration={0}>\n <Tooltip\n side=\"right\"\n content={hasError ? \"Enter Value to complete the condition\" : \"\"}\n >\n <PopoverTrigger asChild onClick={() => setShowPopover(!showPopover)}>\n <Box>\n <CustomConditonChip hasError={hasError}>\n Type Value\n </CustomConditonChip>\n </Box>\n </PopoverTrigger>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n onPointerDownOutside={() => setShowPopover(false)}\n sideOffset={4}\n align=\"start\"\n side={currentFilter.dataType === \"DATE_TIME\" ? \"right\" : \"bottom\"}\n css={{\n minWidth: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n <RenderFieldValuePopover\n fieldOptions={fieldOptions}\n setShowPopover={setShowPopover}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\ntype DataTypePopoverProps = {\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n};\n\nconst DataTypePopover: React.FC<DataTypePopoverProps> = ({\n setCurrentField,\n currentFilter,\n filters,\n}) => {\n const [subMenuContent, setSubMenuContent] = useState({\n show: false,\n type: \"\",\n });\n\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Data Type</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n width: 260,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n {!subMenuContent.show && !currentFilter.dataType.length ? (\n <Box css={{ paddingTop: \"$6\" }}>\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n css={{\n padding: \"$3 $6\",\n marginBottom: \"$4\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n No Preference\n </Text>\n <Box\n css={{\n paddingTop: \"$4\",\n borderTop: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral600\",\n padding: \"$4 $6\",\n }}\n size=\"xs\"\n weight=\"bold\"\n >\n Select data type\n </Text>\n {subMenuOptions.map((option) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n onClick={() => {\n if (option.value === \"BOOLEAN\") {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n comparatorConstants.IS,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setSubMenuContent({\n show: true,\n type: option.value,\n });\n }\n }}\n css={{\n cursor: \"pointer\",\n padding: \"$3 $6\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n \"#subLabelIcon\": {\n opacity: 1,\n },\n },\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n css={{ lineHeight: \"$md\", color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n {!!option.subLabel && (\n <Text\n size=\"xs\"\n css={{ lineHeight: \"$xs\", color: \"$neutral700\" }}\n >\n {option.subLabel}\n </Text>\n )}\n </Box>\n <Box css={{ opacity: 0 }} id=\"subLabelIcon\">\n <ChevronRightIcon size={20} />\n </Box>\n </Flex>\n ))}\n </Box>\n <Flex\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors\n when sharing value.\n </Text>\n </Flex>\n </Box>\n ) : (\n <Box>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n display: !subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n ? \"none\"\n : \"flex\",\n padding: \"$5 $4\",\n borderRadius: \"$xl $xl 0 0\",\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n borderBottom:\n \"$borderWidths$xs solid rgba(100, 116, 139, 0.08)\",\n }}\n >\n <Box\n onClick={() =>\n setSubMenuContent({\n show: false,\n type: \"\",\n })\n }\n css={{\n borderRight: \"$borderWidths$xs solid $secondary100\",\n paddingRight: \"$2\",\n cursor: \"pointer\",\n }}\n >\n <ChevronRightIcon\n style={{ transform: \"scaleX(-1)\", color: \"#76859A\" }}\n size={20}\n />\n </Box>\n <Flex alignItems=\"center\">\n <Text size=\"sm\" css={{ color: \"$secondary400\" }}>\n {\n subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n }\n </Text>\n <ChevronRightIcon style={{ color: \"#76859A\" }} size={16} />\n <Text\n size=\"sm\"\n weight=\"medium\"\n css={{ color: \"$secondary600\" }}\n >\n {subMenuContent.type === \"DATE_TIME\" ? \"Select\" : \"Choose\"}\n </Text>\n </Flex>\n </Flex>\n <Box\n css={{\n paddingBlock: subMenuContent.type === \"DATE_TIME\" ? 0 : \"$4\",\n }}\n >\n <PopoverFields\n type={currentFilter.dataType}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetPopover={() => {\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n />\n </Box>\n </Box>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n\ntype PopoverFieldsProps = {\n type: string;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n filters: any;\n currentFilter: any;\n resetPopover: () => void;\n};\n\nconst PopoverFields: React.FC<PopoverFieldsProps> = ({\n type,\n setCurrentField,\n filters,\n currentFilter,\n resetPopover,\n}) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n switch (type) {\n case \"DATE_TIME\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n case \"BOOLEAN\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator?.type === \"BOOLEAN\")\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n default:\n return (\n <>\n {operatorOptions\n ?.filter((operator) => !operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n }\n};\n\ntype FieldPopoverProps = {\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n fieldOptions: any;\n};\n\nconst FieldPopover: React.FC<FieldPopoverProps> = ({\n setCurrentField,\n currentFilter,\n filters,\n fieldOptions,\n}) => {\n const [inputSearch, setInputSearch] = useState(\"\");\n const currentOptions = fieldOptions?.filter((option: any) =>\n option.label.toLowerCase().includes(inputSearch.toLowerCase())\n );\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Field</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n paddingBottom: \"12px !important\",\n width: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: \"0\",\n }}\n >\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputSearch}\n onChange={(e) => setInputSearch(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: \"$4\",\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!currentOptions.length ? (\n <>\n {currentOptions.map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"field\"\n );\n if (field?.type) {\n setCurrentField(\n field?.type,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n }\n }}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n key={field?.id}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </PopoverContent>\n </Popover>\n );\n};\n\ntype CustomConditonChipProps = {\n children: ReactNode;\n hasError?: boolean;\n};\n\nconst CustomConditonChip: React.FC<CustomConditonChipProps> = ({\n children,\n hasError,\n}) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n backgroundColorOpacity: hasError\n ? [\"#FDEDE8\", 1]\n : [\"$primary400\", 0.2],\n color: hasError ? \"#E75030\" : \"$primary700\",\n padding: \"$3 $1\",\n fontWeight: \"$5\",\n lineHeight: \"$sm\",\n }}\n >\n {children}\n </Chip>\n );\n};\n\ntype CustomFieldChipProps = {\n children: ReactNode;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n setIsEditing: (isEditing: boolean) => void;\n fieldType: string;\n};\n\nconst CustomFieldChip: React.FC<CustomFieldChipProps> = ({\n children,\n setCurrentField,\n currentFilter,\n filters,\n setIsEditing,\n fieldType,\n}) => {\n const renderValue = (children: any) => {\n if(children === true) {\n return \"True\"\n }\n if(children === false) {\n return \"False\"\n }\n return children\n }\n return (\n <Chip\n size=\"lg\"\n css={{\n background: \"transparent\",\n color: \"$neutral800\",\n padding: \"$3 $1\",\n fontWeight: \"$7\",\n lineHeight: \"$sm\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n const fieldsToResetMap: { [key: string]: string[] } = {\n field: [\"field\", \"comparator\", \"dataType\", \"value\"],\n comparator: [\"comparator\", \"dataType\", \"value\"],\n value: [\"value\"],\n };\n const fieldsToReset = fieldsToResetMap[fieldType] || [\n \"comparator\",\n \"dataType\",\n \"value\",\n ];\n fieldsToReset.forEach((field) => {\n setCurrentField(\"\", currentFilter?.id, filters?.id, field);\n });\n setIsEditing(true);\n }}\n >\n\n {renderValue(children)}\n </Chip>\n );\n};\n"],"names":["React","parseDate","field","children"],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ const Trigger = ({
|
|
|
52
52
|
fieldOptions,
|
|
53
53
|
variableOptions
|
|
54
54
|
}) => {
|
|
55
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
55
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
56
56
|
const [isEditing, setIsEditing] = useState(false);
|
|
57
57
|
const [channels, setChannels] = useState([]);
|
|
58
58
|
const setTriggerFields = (property, value) => {
|
|
@@ -60,20 +60,24 @@ const Trigger = ({
|
|
|
60
60
|
[property]: value
|
|
61
61
|
}));
|
|
62
62
|
};
|
|
63
|
-
const
|
|
64
|
-
const newCondition = {
|
|
65
|
-
id: v4(),
|
|
66
|
-
field: null,
|
|
67
|
-
operator: null,
|
|
68
|
-
value: null
|
|
69
|
-
};
|
|
70
|
-
const newGroup = {
|
|
71
|
-
id: v4(),
|
|
72
|
-
conditions: [newCondition],
|
|
73
|
-
operator: "AND"
|
|
74
|
-
};
|
|
63
|
+
const addFilterConditon = () => {
|
|
75
64
|
setFields((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
76
|
-
filters: [
|
|
65
|
+
filters: [
|
|
66
|
+
...prev.filters,
|
|
67
|
+
{
|
|
68
|
+
id: v4(),
|
|
69
|
+
filter: [
|
|
70
|
+
{
|
|
71
|
+
id: v4(),
|
|
72
|
+
field: "",
|
|
73
|
+
dataType: "",
|
|
74
|
+
comparator: "",
|
|
75
|
+
value: ""
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
condition: "AND"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
77
81
|
}));
|
|
78
82
|
};
|
|
79
83
|
const addNestedFilterCondition = (currentFilterId) => {
|
|
@@ -207,7 +211,7 @@ const Trigger = ({
|
|
|
207
211
|
css: { color: "$neutral900", lineHeight: "$sm" }
|
|
208
212
|
},
|
|
209
213
|
(_a = topLevelCondition.find(
|
|
210
|
-
(condition) => condition.value ===
|
|
214
|
+
(condition) => condition.value === fields.condition
|
|
211
215
|
)) == null ? void 0 : _a.label
|
|
212
216
|
),
|
|
213
217
|
/* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 16, color: "#6A6A6A" })
|
|
@@ -228,7 +232,7 @@ const Trigger = ({
|
|
|
228
232
|
onClick: () => setFields((prev) => __spreadProps(__spreadValues({}, prev), {
|
|
229
233
|
condition: condition.value
|
|
230
234
|
})),
|
|
231
|
-
css: __spreadValues({}, condition.value ===
|
|
235
|
+
css: __spreadValues({}, condition.value === fields.condition && {
|
|
232
236
|
background: "$primary100",
|
|
233
237
|
color: "$neutral900",
|
|
234
238
|
"&:hover": {
|
|
@@ -281,16 +285,16 @@ const Trigger = ({
|
|
|
281
285
|
size: "md",
|
|
282
286
|
onClick: () => {
|
|
283
287
|
setIsEditing(true);
|
|
284
|
-
|
|
288
|
+
addFilterConditon();
|
|
285
289
|
}
|
|
286
290
|
},
|
|
287
291
|
"Add Condition"
|
|
288
|
-
), !!
|
|
292
|
+
), !!fields.filters.some(
|
|
289
293
|
(filter) => {
|
|
290
294
|
var _a2;
|
|
291
295
|
return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
|
|
292
296
|
}
|
|
293
|
-
)
|
|
297
|
+
) ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React__default.createElement(
|
|
294
298
|
Select,
|
|
295
299
|
{
|
|
296
300
|
placeholder: "",
|
|
@@ -320,12 +324,12 @@ const Trigger = ({
|
|
|
320
324
|
},
|
|
321
325
|
options: variableOptions
|
|
322
326
|
}
|
|
323
|
-
))) : null, !!
|
|
327
|
+
))) : null, !!fields.filters.some(
|
|
324
328
|
(filter) => {
|
|
325
329
|
var _a2;
|
|
326
330
|
return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
|
|
327
331
|
}
|
|
328
|
-
)
|
|
332
|
+
) ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React__default.createElement(
|
|
329
333
|
Select,
|
|
330
334
|
{
|
|
331
335
|
placeholder: "",
|
|
@@ -370,12 +374,12 @@ const Trigger = ({
|
|
|
370
374
|
placeholder: "",
|
|
371
375
|
size: "lg",
|
|
372
376
|
onChange: (field) => setTriggerFields("shareRecipient", field),
|
|
373
|
-
isDisabled: !((
|
|
377
|
+
isDisabled: !((_d = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _d.value),
|
|
374
378
|
value: triggerDetails == null ? void 0 : triggerDetails.shareRecipient,
|
|
375
379
|
options: shareRecipentOptions == null ? void 0 : shareRecipentOptions.filter(
|
|
376
380
|
(option) => {
|
|
377
381
|
var _a2;
|
|
378
|
-
return (option == null ? void 0 : option.type) === ((_a2 = triggerDetails
|
|
382
|
+
return (option == null ? void 0 : option.type) === ((_a2 = triggerDetails.shareType) == null ? void 0 : _a2.value);
|
|
379
383
|
}
|
|
380
384
|
)
|
|
381
385
|
}
|
|
@@ -394,20 +398,20 @@ const Trigger = ({
|
|
|
394
398
|
alignItems: "center"
|
|
395
399
|
})
|
|
396
400
|
},
|
|
397
|
-
isDisabled: !((
|
|
401
|
+
isDisabled: !((_e = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _e.value),
|
|
398
402
|
value: triggerDetails == null ? void 0 : triggerDetails.shareChannel,
|
|
399
403
|
onChange: (field) => setTriggerFields("shareChannel", field),
|
|
400
|
-
options: ((
|
|
404
|
+
options: ((_f = channels.filter(
|
|
401
405
|
(channel) => {
|
|
402
406
|
var _a2;
|
|
403
407
|
return (channel == null ? void 0 : channel.type) === ((_a2 = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _a2.value);
|
|
404
408
|
}
|
|
405
|
-
)) == null ? void 0 :
|
|
409
|
+
)) == null ? void 0 : _f.length) ? channels.filter(
|
|
406
410
|
(channel) => {
|
|
407
411
|
var _a2;
|
|
408
412
|
return (channel == null ? void 0 : channel.type) === ((_a2 = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _a2.value);
|
|
409
413
|
}
|
|
410
|
-
) : ((
|
|
414
|
+
) : ((_g = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _g.value) !== "WHATSAPP" ? [{
|
|
411
415
|
label: "New Share ",
|
|
412
416
|
value: "NEW_SHARE"
|
|
413
417
|
}] : []
|
|
@@ -450,10 +454,7 @@ const CustomMultiValue = (props) => {
|
|
|
450
454
|
CustomPill,
|
|
451
455
|
{
|
|
452
456
|
label: props.data.label,
|
|
453
|
-
onCloseHandler: () =>
|
|
454
|
-
var _a, _b;
|
|
455
|
-
return (_b = (_a = props.removeProps) == null ? void 0 : _a.onClick) == null ? void 0 : _b.call(_a);
|
|
456
|
-
},
|
|
457
|
+
onCloseHandler: () => props.removeProps.onClick(),
|
|
457
458
|
variant: "success",
|
|
458
459
|
radius: "md",
|
|
459
460
|
fontFamily: "Roboto Mono"
|