+
{!environment.widgetSetupCompleted && !noWidgetRequired && (
{
const { data, error, mutate, isLoading } = useSWR(`/api/v1/environments/${environmentId}/surveys`, fetcher);
@@ -404,7 +403,7 @@ export const getFilterResponses = (
if (question) {
const responseValue = response.data[question.id];
const filterValue = filter?.filterType?.filterComboBoxValue;
- if (isArray(responseValue) && isArray(filterValue) && filterValue.length > 0) {
+ if (Array.isArray(responseValue) && Array.isArray(filterValue) && filterValue.length > 0) {
//@ts-ignore
const updatedResponseValue = question?.choices
? //@ts-ignore
@@ -435,7 +434,7 @@ export const getFilterResponses = (
const filterValue = filter?.filterType?.filterComboBoxValue;
if (
filter?.filterType?.filterValue === "Includes either" &&
- isArray(filterValue) &&
+ Array.isArray(filterValue) &&
filterValue.length > 0 &&
typeof responseValue === "string"
) {
diff --git a/packages/js/src/components/MultipleChoiceMultiQuestion.tsx b/packages/js/src/components/MultipleChoiceMultiQuestion.tsx
index 8913a72c2b..348ec17526 100644
--- a/packages/js/src/components/MultipleChoiceMultiQuestion.tsx
+++ b/packages/js/src/components/MultipleChoiceMultiQuestion.tsx
@@ -6,8 +6,8 @@ import { cn, shuffleArray } from "../lib/utils";
import Headline from "./Headline";
import Subheader from "./Subheader";
import SubmitButton from "./SubmitButton";
-import _ from "lodash";
import { BackButton } from "./BackButton";
+import { symmetricDifference } from "../../../lib/utils/array";
interface MultipleChoiceMultiProps {
question: TSurveyMultipleChoiceMultiQuestion;
@@ -91,7 +91,7 @@ export default function MultipleChoiceMultiQuestion({
[question.id]: selectedChoices,
};
- if (_.xor(selectedChoices, storedResponseValue).length === 0) {
+ if (symmetricDifference(selectedChoices, storedResponseValue).length === 0) {
goToNextQuestion(data);
return;
}
diff --git a/packages/js/src/components/MultipleChoiceSingleQuestion.tsx b/packages/js/src/components/MultipleChoiceSingleQuestion.tsx
index 7fae48eca5..42490530ef 100644
--- a/packages/js/src/components/MultipleChoiceSingleQuestion.tsx
+++ b/packages/js/src/components/MultipleChoiceSingleQuestion.tsx
@@ -109,7 +109,7 @@ export default function MultipleChoiceSingleQuestion({
selectedChoice === choice.label
? "fb-z-10 fb-bg-slate-50 fb-border-slate-400"
: "fb-border-gray-200",
- "fb-relative fb-flex fb-cursor-pointer fb-flex-col fb-rounded-md fb-border fb-p-4 focus:fb-outline-none hover:bg-slate-50 fb-text-slate-800"
+ "fb-relative fb-flex fb-cursor-pointer fb-flex-col fb-rounded-md fb-border fb-p-4 focus:fb-outline-none fb-text-slate-800 hover:bg-slate-50"
)}>
(arr1: T[], arr2: T[]): T[] {
+ return arr1.filter((x) => !arr2.includes(x)).concat(arr2.filter((x) => !arr1.includes(x)));
+}
diff --git a/packages/ui/index.tsx b/packages/ui/index.tsx
index 8c4701a85d..ccffcd28da 100644
--- a/packages/ui/index.tsx
+++ b/packages/ui/index.tsx
@@ -16,7 +16,7 @@ export {
CommandItem,
CommandList,
CommandSeparator,
- CommandShortcut
+ CommandShortcut,
} from "./components/Command";
export { Confetti } from "./components/Confetti";
export { DatePicker } from "./components/DatePicker";
@@ -27,13 +27,24 @@ export {
DialogFooter,
DialogHeader,
DialogTitle,
- DialogTrigger
+ DialogTrigger,
} from "./components/Dialog";
export {
- DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator,
- DropdownMenuShortcut, DropdownMenuSub,
+ DropdownMenu,
+ DropdownMenuCheckboxItem,
+ DropdownMenuContent,
+ DropdownMenuGroup,
+ DropdownMenuItem,
+ DropdownMenuLabel,
+ DropdownMenuPortal,
+ DropdownMenuRadioGroup,
+ DropdownMenuRadioItem,
+ DropdownMenuSeparator,
+ DropdownMenuShortcut,
+ DropdownMenuSub,
DropdownMenuSubContent,
- DropdownMenuSubTrigger, DropdownMenuTrigger
+ DropdownMenuSubTrigger,
+ DropdownMenuTrigger,
} from "./components/DropdownMenu";
export { ErrorComponent } from "./components/ErrorComponent";
export { Input } from "./components/Input";
@@ -45,7 +56,14 @@ export { RadioGroup, RadioGroupItem } from "./components/RadioGroup";
export { ResponsiveVideo } from "./components/ResponsiveVideo";
export { SearchBox } from "./components/SearchBox";
export {
- Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue
+ Select,
+ SelectContent,
+ SelectGroup,
+ SelectItem,
+ SelectLabel,
+ SelectSeparator,
+ SelectTrigger,
+ SelectValue,
} from "./components/Select";
export { Switch } from "./components/Switch";
export { TabBar } from "./components/TabBar";
@@ -107,4 +125,3 @@ export { UserGroupIcon } from "./components/icons/UserGroupIcon";
export { UserSearchGlasIcon } from "./components/icons/UserSearchGlasIcon";
export { VeryDisappointedIcon } from "./components/icons/VeryDisappointedIcon";
export { VideoTabletAdjustIcon } from "./components/icons/VideoTabletAdjustIcon";
-