@sparrowengg/integrations-templates-frontend 8.0.16-Beta → 8.0.17-Beta
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/triggers/components/filter/render-field-value-popover.js +9 -2
- package/dist/cjs/triggers/components/filter/render-field-value-popover.js.map +1 -1
- package/dist/es/triggers/components/filter/render-field-value-popover.js +9 -2
- package/dist/es/triggers/components/filter/render-field-value-popover.js.map +1 -1
- package/package.json +1 -1
|
@@ -123,8 +123,15 @@ const RenderFieldValuePopover = ({
|
|
|
123
123
|
() => operatorOptions.getValueLessOperators(customConditions),
|
|
124
124
|
[customConditions]
|
|
125
125
|
);
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
const isValueLessOperator = valueLessOperators.includes(
|
|
127
|
+
currentFilter.comparator
|
|
128
|
+
);
|
|
129
|
+
React.useEffect(() => {
|
|
130
|
+
if (isValueLessOperator) {
|
|
131
|
+
handleApplyValue(" ");
|
|
132
|
+
}
|
|
133
|
+
}, [isValueLessOperator, handleApplyValue]);
|
|
134
|
+
if (isValueLessOperator) {
|
|
128
135
|
return /* @__PURE__ */ React.createElement(React.Fragment, null);
|
|
129
136
|
}
|
|
130
137
|
if (currentFilter.dataType === "BOOLEAN") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions, getValueLessOperators, CustomConditions } from \"../../../commons/constants\";\nimport { useTestId } from \"../../../commons/context/test-id.context\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\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 customConditions?: CustomConditions;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n customConditions,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D, YYYY hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n const { tid } = useTestId();\n\n const valueLessOperators = useMemo(\n () => getValueLessOperators(customConditions),\n [customConditions]\n );\n if (valueLessOperators.includes(currentFilter.comparator)) {\n handleApplyValue(\" \");\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\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 }\n\n // Date/Time type\n 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={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n data-testid={tid('select-value-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\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 >\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n dataTestId=\"multi-select-search\"\n data-testid={tid('multi-select-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n data-testid={tid('select-all')}\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\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 >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n data-testid={tid('apply-selection')}\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\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 // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n data-testid={tid('value-input')}\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\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 data-testid={tid('value-cancel')}\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n data-testid={tid('value-save')}\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["useFieldValuePopover","useState","useMemo","_a","useEffect","useCallback","dayjs","useTestId","getValueLessOperators","Box","booleanOptions","Text","Calendar","Flex","Input","SearchIcon","field","Button","RefreshIcon","Checkbox","FormInput","FormLabel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions, getValueLessOperators, CustomConditions } from \"../../../commons/constants\";\nimport { useTestId } from \"../../../commons/context/test-id.context\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\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 customConditions?: CustomConditions;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n customConditions,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D, YYYY hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n const { tid } = useTestId();\n\n const valueLessOperators = useMemo(\n () => getValueLessOperators(customConditions),\n [customConditions]\n );\n const isValueLessOperator = valueLessOperators.includes(\n currentFilter.comparator\n );\n useEffect(() => {\n if (isValueLessOperator) {\n handleApplyValue(\" \");\n }\n }, [isValueLessOperator, handleApplyValue]);\n if (isValueLessOperator) {\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\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 }\n\n // Date/Time type\n 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={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n data-testid={tid('select-value-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\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 >\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n dataTestId=\"multi-select-search\"\n data-testid={tid('multi-select-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n data-testid={tid('select-all')}\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\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 >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n data-testid={tid('apply-selection')}\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\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 // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n data-testid={tid('value-input')}\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\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 data-testid={tid('value-cancel')}\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n data-testid={tid('value-save')}\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["useFieldValuePopover","useState","useMemo","_a","useEffect","useCallback","dayjs","useTestId","getValueLessOperators","Box","booleanOptions","Text","Calendar","Flex","Input","SearchIcon","field","Button","RefreshIcon","Checkbox","FormInput","FormLabel"],"mappings":"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"}
|
|
@@ -121,8 +121,15 @@ const RenderFieldValuePopover = ({
|
|
|
121
121
|
() => getValueLessOperators(customConditions),
|
|
122
122
|
[customConditions]
|
|
123
123
|
);
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
const isValueLessOperator = valueLessOperators.includes(
|
|
125
|
+
currentFilter.comparator
|
|
126
|
+
);
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
if (isValueLessOperator) {
|
|
129
|
+
handleApplyValue(" ");
|
|
130
|
+
}
|
|
131
|
+
}, [isValueLessOperator, handleApplyValue]);
|
|
132
|
+
if (isValueLessOperator) {
|
|
126
133
|
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null);
|
|
127
134
|
}
|
|
128
135
|
if (currentFilter.dataType === "BOOLEAN") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions, getValueLessOperators, CustomConditions } from \"../../../commons/constants\";\nimport { useTestId } from \"../../../commons/context/test-id.context\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\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 customConditions?: CustomConditions;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n customConditions,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D, YYYY hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n const { tid } = useTestId();\n\n const valueLessOperators = useMemo(\n () => getValueLessOperators(customConditions),\n [customConditions]\n );\n if (valueLessOperators.includes(currentFilter.comparator)) {\n handleApplyValue(\" \");\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\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 }\n\n // Date/Time type\n 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={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n data-testid={tid('select-value-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\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 >\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n dataTestId=\"multi-select-search\"\n data-testid={tid('multi-select-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n data-testid={tid('select-all')}\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\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 >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n data-testid={tid('apply-selection')}\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\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 // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n data-testid={tid('value-input')}\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\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 data-testid={tid('value-cancel')}\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n data-testid={tid('value-save')}\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["_a","React","field"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions, getValueLessOperators, CustomConditions } from \"../../../commons/constants\";\nimport { useTestId } from \"../../../commons/context/test-id.context\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\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 customConditions?: CustomConditions;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n customConditions,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D, YYYY hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n const { tid } = useTestId();\n\n const valueLessOperators = useMemo(\n () => getValueLessOperators(customConditions),\n [customConditions]\n );\n const isValueLessOperator = valueLessOperators.includes(\n currentFilter.comparator\n );\n useEffect(() => {\n if (isValueLessOperator) {\n handleApplyValue(\" \");\n }\n }, [isValueLessOperator, handleApplyValue]);\n if (isValueLessOperator) {\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\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 }\n\n // Date/Time type\n 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={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n data-testid={tid('select-value-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\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 >\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n dataTestId=\"multi-select-search\"\n data-testid={tid('multi-select-search')}\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n data-testid={tid('select-all')}\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\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 >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\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 {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n data-testid={tid('apply-selection')}\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\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 // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n data-testid={tid('value-input')}\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\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 data-testid={tid('value-cancel')}\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n data-testid={tid('value-save')}\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["_a","React","field"],"mappings":"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"}
|