-
-
-
- {isLoading ? (
-
- ) : (
- boardFilter.map((board) => (
-
+ title={}
+ sections={boardFilter.map((board) => ({
+ id: board,
+ title: (
+
+ {board}{" "}
+ {
+ const { data } = await request(
+ routes.downloadResourceRequests,
+ {
+ query: {
+ ...formatFilter({ ...qParams, status: board }),
+ csv: true,
+ },
+ },
+ );
+ return data ?? null;
+ }}
+ filenamePrefix={`resource_requests_${board}`}
/>
- ))
- )}
-
-
+
+ ),
+ fetchOptions: (id) => ({
+ route: routes.listResourceRequests,
+ options: {
+ query: formatFilter({
+ ...qParams,
+ status: id,
+ }),
+ },
+ }),
+ }))}
+ onDragEnd={(result) => {
+ if (result.source.droppableId !== result.destination?.droppableId)
+ navigate(
+ `/resource/${result.draggableId}/update?status=${result.destination?.droppableId}`,
+ );
+ }}
+ itemRender={(resource) => (
+
+
+
+
+
+ {resource.emergency && (
+
+ {t("emergency")}
+
+ )}
+
+
+
+ {(
+ [
+ {
+ title: "origin_facility",
+ icon: "l-plane-departure",
+ data: resource.origin_facility_object.name,
+ },
+ {
+ title: "resource_approving_facility",
+ icon: "l-user-check",
+ data: resource.approving_facility_object?.name,
+ },
+ {
+ title: "assigned_facility",
+ icon: "l-plane-arrival",
+ data:
+ resource.assigned_facility_object?.name ||
+ t("yet_to_be_decided"),
+ },
+ {
+ title: "last_modified",
+ icon: "l-stopwatch",
+ data: formatDateTime(resource.modified_date),
+ className: dayjs()
+ .subtract(2, "hours")
+ .isBefore(resource.modified_date)
+ ? "text-secondary-900"
+ : "rounded bg-red-500 border border-red-600 text-white w-full font-bold",
+ },
+ {
+ title: "assigned_to",
+ icon: "l-user",
+ data: resource.assigned_to_object
+ ? formatName(resource.assigned_to_object) +
+ " - " +
+ resource.assigned_to_object.user_type
+ : undefined,
+ },
+ ] as const
+ )
+ .filter((d) => d.data)
+ .map((datapoint, i) => (
+
+
-
+
+
+ -
+ {datapoint.data}
+
+
+ ))}
+
+
+
+
+ {t("all_details")}
+
+
+
+ )}
+ />
);
diff --git a/src/Components/Shifting/BoardView.tsx b/src/Components/Shifting/BoardView.tsx
index dbd911483dc..f83e0a4974e 100644
--- a/src/Components/Shifting/BoardView.tsx
+++ b/src/Components/Shifting/BoardView.tsx
@@ -7,25 +7,26 @@ import BadgesList from "./BadgesList";
import { ExportButton } from "../Common/Export";
import ListFilter from "./ListFilter";
import SearchInput from "../Form/SearchInput";
-import ShiftingBoard from "./ShiftingBoard";
import { formatFilter } from "./Commons";
-import { navigate } from "raviger";
+import { Link, navigate } from "raviger";
import useFilters from "../../Common/hooks/useFilters";
-import { useLayoutEffect, useRef, useState } from "react";
+import { useState } from "react";
import { useTranslation } from "react-i18next";
-import withScrolling from "react-dnd-scrolling";
import ButtonV2 from "../Common/components/ButtonV2";
import { AdvancedFilterButton } from "../../CAREUI/interactive/FiltersSlideover";
import CareIcon from "../../CAREUI/icons/CareIcon";
import Tabs from "../Common/components/Tabs";
import careConfig from "@careConfig";
+import KanbanBoard from "../Kanban/Board";
+import { classNames, formatDateTime, formatName } from "../../Utils/utils";
+import dayjs from "dayjs";
+import ConfirmDialog from "../Common/ConfirmDialog";
+import { ShiftingModel } from "../Facility/models";
+import useAuthUser from "../../Common/hooks/useAuthUser";
import request from "../../Utils/request/request";
import routes from "../../Redux/api";
-
-import Loading from "@/Components/Common/Loading";
import PageTitle from "@/Components/Common/PageTitle";
-const ScrollingComponent = withScrolling("div");
export default function BoardView() {
const { qParams, updateQuery, FilterBadges, advancedFilter } = useFilters({
@@ -33,6 +34,26 @@ export default function BoardView() {
cacheBlacklist: ["patient_name"],
});
+ const [modalFor, setModalFor] = useState<{
+ externalId?: string;
+ loading: boolean;
+ }>({
+ externalId: undefined,
+ loading: false,
+ });
+
+ const authUser = useAuthUser();
+
+ const handleTransferComplete = async (shift: any) => {
+ setModalFor({ ...modalFor, loading: true });
+ await request(routes.completeTransfer, {
+ pathParams: { externalId: shift.external_id },
+ });
+ navigate(
+ `/facility/${shift.assigned_facility}/patient/${shift.patient}/consultation`,
+ );
+ };
+
const shiftStatusOptions = careConfig.wartimeShifting
? SHIFTING_CHOICES_WARTIME
: SHIFTING_CHOICES_PEACETIME;
@@ -55,79 +76,10 @@ export default function BoardView() {
);
const [boardFilter, setBoardFilter] = useState(activeBoards);
- const [isLoading] = useState(false);
const { t } = useTranslation();
- const containerRef = useRef
(null);
- const [containerHeight, setContainerHeight] = useState(0);
- const [isLeftScrollable, setIsLeftScrollable] = useState(false);
- const [isRightScrollable, setIsRightScrollable] = useState(false);
-
- useLayoutEffect(() => {
- const container = containerRef.current;
-
- if (!container) return;
-
- const handleScroll = () => {
- setIsLeftScrollable(container.scrollLeft > 0);
- setIsRightScrollable(
- container.scrollLeft + container.clientWidth <
- container.scrollWidth - 10,
- );
- };
-
- container.addEventListener("scroll", handleScroll);
-
- handleScroll();
-
- return () => {
- container.removeEventListener("scroll", handleScroll);
- };
- }, []);
-
- const handleOnClick = (direction: "right" | "left") => {
- const container = containerRef.current;
- if (direction === "left" ? !isLeftScrollable : !isRightScrollable) return;
-
- if (container) {
- const scrollAmount = 300;
- const currentScrollLeft = container.scrollLeft;
-
- if (direction === "left") {
- container.scrollTo({
- left: currentScrollLeft - scrollAmount,
- behavior: "smooth",
- });
- } else if (direction === "right") {
- container.scrollTo({
- left: currentScrollLeft + scrollAmount,
- behavior: "smooth",
- });
- }
- }
- };
-
- const renderArrowIcons = (direction: "right" | "left") => {
- const isIconEnable =
- direction === "left" ? isLeftScrollable : isRightScrollable;
- return (
- isIconEnable && (
-
- handleOnClick(direction)}
- />
-
- )
- );
- };
return (
-
+
-
-
-
- {isLoading ? (
-
- ) : (
- <>
- {renderArrowIcons("left")}
-
- {boardFilter.map((board) => (
-
- ))}
+
+ title={}
+ sections={boardFilter.map((board) => ({
+ id: board.text,
+ title: (
+
+ {board.label || board.text}{" "}
+ {
+ const { data } = await request(routes.downloadShiftRequests, {
+ query: { ...formatFilter(qParams), csv: true },
+ });
+ return data ?? null;
+ }}
+ filenamePrefix={`shift_requests_${board.label || board.text}`}
+ />
+
+ ),
+ fetchOptions: (id) => ({
+ route: routes.listShiftRequests,
+ options: {
+ query: formatFilter({
+ ...qParams,
+ status: id,
+ }),
+ },
+ }),
+ }))}
+ onDragEnd={(result) => {
+ if (result.source.droppableId !== result.destination?.droppableId)
+ navigate(
+ `/shifting/${result.draggableId}/update?status=${result.destination?.droppableId}`,
+ );
+ }}
+ itemRender={(shift) => (
+
+
+
+
+
+ {shift.patient_object.name}
+
+
+ {shift.patient_object.age} old
+
+
+
+ {shift.emergency && (
+
+ {t("emergency")}
+
+ )}
+
- {renderArrowIcons("right")}
- >
- )}
-
-
+
+ {(
+ [
+ {
+ title: "phone_number",
+ icon: "l-mobile-android",
+ data: shift.patient_object.phone_number,
+ },
+ {
+ title: "origin_facility",
+ icon: "l-plane-departure",
+ data: shift.origin_facility_object.name,
+ },
+ {
+ title: "shifting_approving_facility",
+ icon: "l-user-check",
+ data: careConfig.wartimeShifting
+ ? shift.shifting_approving_facility_object?.name
+ : undefined,
+ },
+ {
+ title: "assigned_facility",
+ icon: "l-plane-arrival",
+ data:
+ shift.assigned_facility_external ||
+ shift.assigned_facility_object?.name ||
+ t("yet_to_be_decided"),
+ },
+ {
+ title: "last_modified",
+ icon: "l-stopwatch",
+ data: formatDateTime(shift.modified_date),
+ className: dayjs()
+ .subtract(2, "hours")
+ .isBefore(shift.modified_date)
+ ? "text-secondary-900"
+ : "rounded bg-red-500 border border-red-600 text-white w-full font-bold",
+ },
+ {
+ title: "patient_address",
+ icon: "l-home",
+ data: shift.patient_object.address,
+ },
+ {
+ title: "assigned_to",
+ icon: "l-user",
+ data: shift.assigned_to_object
+ ? formatName(shift.assigned_to_object) +
+ " - " +
+ shift.assigned_to_object.user_type
+ : undefined,
+ },
+ {
+ title: "patient_state",
+ icon: "l-map-marker",
+ data: shift.patient_object.state_object?.name,
+ },
+ ] as const
+ )
+ .filter((d) => d.data)
+ .map((datapoint, i) => (
+
+
-
+
+
+ -
+ {datapoint.data}
+
+
+ ))}
+
+
+
+
+
{t("all_details")}
+
+
+ {shift.status === "COMPLETED" && shift.assigned_facility && (
+ <>
+
+
+
+ setModalFor({ externalId: undefined, loading: false })
+ }
+ action={t("confirm")}
+ onConfirm={() => handleTransferComplete(shift)}
+ >
+
+ {t("redirected_to_create_consultation")}
+
+
+ >
+ )}
+
+
+ )}
+ />
);
diff --git a/src/Components/Shifting/ShiftingBoard.tsx b/src/Components/Shifting/ShiftingBoard.tsx
deleted file mode 100644
index 6f2eb3b77a3..00000000000
--- a/src/Components/Shifting/ShiftingBoard.tsx
+++ /dev/null
@@ -1,395 +0,0 @@
-import {
- Dispatch,
- SetStateAction,
- useEffect,
- useLayoutEffect,
- useRef,
- useState,
-} from "react";
-import { classNames, formatDateTime, formatName } from "../../Utils/utils";
-import { useDrag, useDrop } from "react-dnd";
-import ButtonV2 from "../Common/components/ButtonV2";
-import ConfirmDialog from "../Common/ConfirmDialog";
-import { navigate } from "raviger";
-import { useTranslation } from "react-i18next";
-import { ExportButton } from "../Common/Export";
-import dayjs from "../../Utils/dayjs";
-import useAuthUser from "../../Common/hooks/useAuthUser";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
-import { PaginatedResponse } from "../../Utils/request/types";
-import { IShift } from "./models";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import careConfig from "@careConfig";
-
-interface boardProps {
- board: string;
- title?: string;
- filterProp: any;
- formatFilter: any;
- setContainerHeight: Dispatch>;
- containerHeight: number;
-}
-
-const ShiftCard = ({ shift, filter }: any) => {
- const [modalFor, setModalFor] = useState({
- externalId: undefined,
- loading: false,
- });
- const [{ isDragging }, drag] = useDrag(() => ({
- type: "shift-card",
- item: shift,
- collect: (monitor) => ({ isDragging: !!monitor.isDragging() }),
- }));
- const authUser = useAuthUser();
- const { t } = useTranslation();
-
- const handleTransferComplete = async (shift: any) => {
- setModalFor({ ...modalFor, loading: true });
- await request(routes.completeTransfer, {
- pathParams: { externalId: shift.external_id },
- });
- navigate(
- `/facility/${shift.assigned_facility}/patient/${shift.patient}/consultation`,
- );
- };
- return (
-
-
-
-
-
-
- {shift.patient_object.name} - {shift.patient_object.age}
-
-
- {shift.emergency && (
-
- {t("emergency")}
-
- )}
-
-
-
-
-
-
-
-
-
- {shift.patient_object.phone_number || ""}
-
-
-
-
-
-
-
-
-
- {(shift.origin_facility_object || {}).name}
-
-
-
- {careConfig.wartimeShifting && (
-
-
-
-
-
-
- {(shift.shifting_approving_facility_object || {}).name}
-
-
-
- )}
-
-
-
-
-
-
-
- {shift.assigned_facility_external ||
- shift.assigned_facility_object?.name ||
- t("yet_to_be_decided")}
-
-
-
-
-
-
-
-
-
-
- {formatDateTime(shift.modified_date) || "--"}
-
-
-
-
-
-
-
-
-
-
- {shift.patient_object.address || "--"}
-
-
-
-
- {shift.assigned_to_object && (
-
-
-
-
-
-
- {formatName(shift.assigned_to_object)}
- {" - "}
- {shift.assigned_to_object.user_type}
-
-
-
- )}
-
-
-
-
-
-
-
- {shift.patient_object.state_object.name || "--"}
-
-
-
-
-
-
-
-
-
- {filter === "COMPLETED" && shift.assigned_facility && (
-
-
setModalFor(shift.external_id)}
- >
- {t("transfer_to_receiving_facility")}
-
-
-
- setModalFor({ externalId: undefined, loading: false })
- }
- action={t("confirm")}
- onConfirm={() => handleTransferComplete(shift)}
- >
-
- {t("redirected_to_create_consultation")}
-
-
-
- )}
-
-
-
- );
-};
-
-export default function ShiftingBoard({
- board,
- title,
- filterProp,
- formatFilter,
- setContainerHeight,
- containerHeight,
-}: boardProps) {
- const containerRef = useRef(null);
- const [offset, setOffSet] = useState(0);
- const [pages, setPages] = useState[]>([]);
- const [isLoading, setIsLoading] = useState(true);
- const [{ isOver }, drop] = useDrop(() => ({
- accept: "shift-card",
- drop: (item: any) => {
- if (item.status !== board) {
- navigate(`/shifting/${item.id}/update?status=${board}`);
- }
- },
- collect: (monitor) => ({ isOver: !!monitor.isOver() }),
- }));
-
- const query = useQuery(routes.listShiftRequests, {
- query: formatFilter({
- ...filterProp,
- status: board,
- }),
- onResponse: ({ res, data: listShiftData }) => {
- setIsLoading(false);
- if (res?.ok && listShiftData) {
- setPages((prev) => [...prev, listShiftData]);
- }
- },
- });
-
- useEffect(() => {
- setPages([]);
- setIsLoading(true);
- query.refetch();
- }, [
- filterProp.facility,
- filterProp.origin_facility,
- filterProp.shifting_approving_facility,
- filterProp.assigned_facility,
- filterProp.emergency,
- filterProp.is_up_shift,
- filterProp.patient_name,
- filterProp.created_date_before,
- filterProp.created_date_after,
- filterProp.modified_date_before,
- filterProp.modified_date_after,
- filterProp.patient_phone_number,
- filterProp.ordering,
- filterProp.is_kasp,
- filterProp.assigned_to,
- filterProp.is_antenatal,
- filterProp.breathlessness_level,
- ]);
-
- const handlePagination = async () => {
- setIsLoading(true);
- setOffSet(offset + 14);
- const { res, data: newPageData } = await request(routes.listShiftRequests, {
- query: formatFilter({
- ...filterProp,
- status: board,
- offset: offset,
- }),
- });
- if (res?.ok && newPageData) {
- setPages((prev) => [...prev, newPageData]);
- }
- setIsLoading(false);
- };
- const { t } = useTranslation();
-
- const patientFilter = (filter: string) => {
- return pages
- .flatMap((p) => p.results)
- .filter(({ status }) => status === filter)
- .map((shift: any) => (
-
- ));
- };
-
- useLayoutEffect(() => {
- const container = containerRef.current;
- if (container) {
- const { height } = container.getBoundingClientRect();
- containerHeight < height && setContainerHeight(height);
- }
- }, [containerRef.current, pages.flatMap((p) => p.results).length]);
-
- return (
-
-
-
-
- {title || board}{" "}
- {
- const { data } = await request(routes.downloadShiftRequests, {
- query: {
- ...formatFilter({ ...filterProp, status: board }),
- csv: true,
- },
- });
- return data ?? null;
- }}
- filenamePrefix={`shift_requests_${board}`}
- />
-
-
- {pages[0] ? pages[0].count : "..."}
-
-
-
-
- {pages[0]?.count > 0
- ? patientFilter(board)
- : !isLoading && (
-
{t("no_patients_to_show")}
- )}
- {isLoading ? (
-
- ) : (
- pages.at(-1)?.next && (
-
handlePagination()} className="m-2 block">
- Load More
-
- )
- )}
-
-
- );
-}
diff --git a/src/Locale/en.json b/src/Locale/en.json
index 2b47a90bd46..a953f36a6ee 100644
--- a/src/Locale/en.json
+++ b/src/Locale/en.json
@@ -940,7 +940,7 @@
"modified_date": "Modified Date",
"no_patients_to_show": "No patients to show.",
"shifting_status": "Shifting status",
- "transfer_to_receiving_facility": "TRANSFER TO RECEIVING FACILITY",
+ "transfer_to_receiving_facility": "Transfer to receiving facility",
"confirm_transfer_complete": "Confirm Transfer Complete!",
"mark_transfer_complete_confirmation": "Are you sure you want to mark this transfer as complete? The Origin facility will no longer have access to this patient",
"board_view": "Board View",
@@ -1021,6 +1021,8 @@
"date_declared_positive": "Date of declaring positive",
"date_of_result": "Covid confirmation date",
"is_vaccinated": "Whether vaccinated",
+ "resource_origin_facility": "Origin Facility",
+ "resource_approving_facility" : "Resource approving facility",
"consultation_not_filed": "You have not filed any consultation for this patient yet.",
"consultation_not_filed_description": "Please file a consultation for this patient to continue."
}
diff --git a/src/Routers/routes/ResourceRoutes.tsx b/src/Routers/routes/ResourceRoutes.tsx
index 8408ab4d79d..6636d0d83ea 100644
--- a/src/Routers/routes/ResourceRoutes.tsx
+++ b/src/Routers/routes/ResourceRoutes.tsx
@@ -1,5 +1,3 @@
-import { DndProvider } from "react-dnd";
-import { HTML5Backend } from "react-dnd-html5-backend";
import ResourceDetails from "../../Components/Resource/ResourceDetails";
import { ResourceDetailsUpdate } from "../../Components/Resource/ResourceDetailsUpdate";
import ListView from "../../Components/Resource/ListView";
@@ -12,11 +10,7 @@ const getDefaultView = () =>
export default {
"/resource": () => ,
- "/resource/board": () => (
-
-
-
- ),
+ "/resource/board": () => ,
"/resource/list": () => ,
"/resource/:id": ({ id }: DetailRoute) => ,
"/resource/:id/update": ({ id }: DetailRoute) => (
diff --git a/src/Routers/routes/ShiftingRoutes.tsx b/src/Routers/routes/ShiftingRoutes.tsx
index 9b20b4a1a0b..f2e12de4f25 100644
--- a/src/Routers/routes/ShiftingRoutes.tsx
+++ b/src/Routers/routes/ShiftingRoutes.tsx
@@ -1,5 +1,3 @@
-import { DndProvider } from "react-dnd";
-import { HTML5Backend } from "react-dnd-html5-backend";
import { ShiftCreate } from "../../Components/Patient/ShiftCreate";
import ShiftDetails from "../../Components/Shifting/ShiftDetails";
import { ShiftDetailsUpdate } from "../../Components/Shifting/ShiftDetailsUpdate";
@@ -12,11 +10,7 @@ const getDefaultView = () =>
export default {
"/shifting": () => ,
- "/shifting/board": () => (
-
-
-
- ),
+ "/shifting/board": () => ,
"/shifting/list": () => ,
"/shifting/:id": ({ id }: any) => ,
"/shifting/:id/update": ({ id }: any) => ,
From 7cfd868fe3e046a27b01b875cefdcb1fd829bd5c Mon Sep 17 00:00:00 2001
From: Noufal Rahim <120470585+noufalrahim@users.noreply.github.com>
Date: Sun, 13 Oct 2024 05:53:52 +0530
Subject: [PATCH 05/77] Added units for pressure-sore (#8755)
---
.../LogUpdate/Sections/PressureSore/PressureSore.tsx | 7 +++++--
src/Locale/en.json | 4 +++-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/Components/LogUpdate/Sections/PressureSore/PressureSore.tsx b/src/Components/LogUpdate/Sections/PressureSore/PressureSore.tsx
index a56457ef257..63970d4c25c 100644
--- a/src/Components/LogUpdate/Sections/PressureSore/PressureSore.tsx
+++ b/src/Components/LogUpdate/Sections/PressureSore/PressureSore.tsx
@@ -14,6 +14,7 @@ import { IPressureSore } from "../../../Patient/models";
import { Error } from "../../../../Utils/Notifications";
import { classNames, getValueDescription } from "../../../../Utils/utils";
import { calculatePushScore } from "./utils";
+import { useTranslation } from "react-i18next";
const PressureSore = ({ log, onChange, readonly }: LogUpdateSectionProps) => {
const value = log.pressure_sore ?? [];
@@ -104,6 +105,8 @@ const RegionEditor = (props: RegionEditorProps) => {
const isReadOnly = !props.onSave;
+ const { t } = useTranslation();
+
return (
{
{
onChange={(e) => update({ width: parseFloat(e.value) })}
/>
Date: Sun, 13 Oct 2024 05:54:03 +0530
Subject: [PATCH 06/77] Added ORAL as default for all route (#8754)
---
src/Components/Medicine/PrescriptionBuilder.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/Components/Medicine/PrescriptionBuilder.tsx b/src/Components/Medicine/PrescriptionBuilder.tsx
index a65f9dd9a62..18efa27ee08 100644
--- a/src/Components/Medicine/PrescriptionBuilder.tsx
+++ b/src/Components/Medicine/PrescriptionBuilder.tsx
@@ -149,5 +149,9 @@ export default function PrescriptionBuilder({
const DefaultPrescription: Partial = {
dosage_type: "REGULAR",
+ route: "ORAL",
+};
+const DefaultPRNPrescription: Partial = {
+ dosage_type: "PRN",
+ route: "ORAL",
};
-const DefaultPRNPrescription: Partial = { dosage_type: "PRN" };
From a45285a8e8efb3a582417e18222c8e84563c08c1 Mon Sep 17 00:00:00 2001
From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com>
Date: Tue, 15 Oct 2024 02:18:29 +0200
Subject: [PATCH 07/77] Downgraded Cypress to 13.14.2 and Removed
@types/cypress (#8788)
---
cypress/tsconfig.json | 1 -
package-lock.json | 217 +++++++-----------------------------------
package.json | 3 +-
3 files changed, 36 insertions(+), 185 deletions(-)
diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json
index 0fd7f9e340b..114000b60f0 100644
--- a/cypress/tsconfig.json
+++ b/cypress/tsconfig.json
@@ -3,7 +3,6 @@
"baseUrl": "./",
"target": "es5",
"lib": ["es5", "dom", "es2015", "es2016", "es2017", "es2018", "es2019", "es2020"],
- "types": ["cypress"],
"typeRoots": ["./support"],
"resolveJsonModule": true
},
diff --git a/package-lock.json b/package-lock.json
index fd8cf7bde13..9554674c29b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,6 +29,7 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"cross-env": "^7.0.3",
+ "cypress": "^13.14.2",
"dayjs": "^1.11.11",
"echarts": "^5.5.1",
"echarts-for-react": "^3.0.2",
@@ -63,7 +64,6 @@
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.13",
- "@types/cypress": "^1.1.3",
"@types/events": "^3.0.3",
"@types/google.maps": "^3.55.8",
"@types/lodash-es": "^4.17.12",
@@ -78,7 +78,6 @@
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@vitejs/plugin-react-swc": "^3.6.0",
"autoprefixer": "^10.4.19",
- "cypress": "^13.15.0",
"cypress-localstorage-commands": "^2.2.5",
"cypress-split": "^1.23.2",
"eslint-config-prettier": "^9.1.0",
@@ -1979,7 +1978,6 @@
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "dev": true,
"optional": true,
"engines": {
"node": ">=0.1.90"
@@ -1989,7 +1987,6 @@
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.5.tgz",
"integrity": "sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA==",
- "dev": true,
"dependencies": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -2018,7 +2015,6 @@
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "dev": true,
"bin": {
"uuid": "dist/bin/uuid"
}
@@ -2027,7 +2023,6 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
"integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==",
- "dev": true,
"dependencies": {
"debug": "^3.1.0",
"lodash.once": "^4.1.1"
@@ -2037,7 +2032,6 @@
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
"dependencies": {
"ms": "^2.1.1"
}
@@ -4504,16 +4498,6 @@
"@types/node": "*"
}
},
- "node_modules/@types/cypress": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@types/cypress/-/cypress-1.1.3.tgz",
- "integrity": "sha512-OXe0Gw8LeCflkG1oPgFpyrYWJmEKqYncBsD/J0r17r0ETx/TnIGDNLwXt/pFYSYuYTpzcq1q3g62M9DrfsBL4g==",
- "deprecated": "This is a stub types definition for cypress (https://cypress.io). cypress provides its own type definitions, so you don't need @types/cypress installed!",
- "dev": true,
- "dependencies": {
- "cypress": "*"
- }
- },
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
@@ -4706,14 +4690,12 @@
"node_modules/@types/sinonjs__fake-timers": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz",
- "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==",
- "dev": true
+ "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g=="
},
"node_modules/@types/sizzle": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz",
- "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==",
- "dev": true
+ "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg=="
},
"node_modules/@types/supports-color": {
"version": "8.1.3",
@@ -4748,7 +4730,6 @@
"version": "2.10.3",
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
"integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
- "dev": true,
"optional": true,
"dependencies": {
"@types/node": "*"
@@ -5257,7 +5238,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -5295,7 +5275,6 @@
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -5304,7 +5283,6 @@
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
"integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
"dependencies": {
"type-fest": "^0.21.3"
},
@@ -5319,7 +5297,6 @@
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -5382,7 +5359,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
"integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -5573,7 +5549,6 @@
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
- "dev": true,
"dependencies": {
"safer-buffer": "~2.1.0"
}
@@ -5582,7 +5557,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true,
"engines": {
"node": ">=0.8"
}
@@ -5600,7 +5574,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
"integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -5608,8 +5581,7 @@
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
- "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
- "dev": true
+ "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="
},
"node_modules/asynckit": {
"version": "0.4.0",
@@ -5620,7 +5592,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
"engines": {
"node": ">= 4.0.0"
}
@@ -5681,7 +5652,6 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
- "dev": true,
"engines": {
"node": "*"
}
@@ -5689,8 +5659,7 @@
"node_modules/aws4": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz",
- "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==",
- "dev": true
+ "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw=="
},
"node_modules/axios": {
"version": "1.7.7",
@@ -5777,7 +5746,6 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -5797,7 +5765,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
- "dev": true,
"dependencies": {
"tweetnacl": "^0.14.3"
}
@@ -5816,14 +5783,12 @@
"node_modules/blob-util": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz",
- "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==",
- "dev": true
+ "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ=="
},
"node_modules/bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
+ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"node_modules/boolean": {
"version": "3.2.0",
@@ -5924,7 +5889,6 @@
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -5948,7 +5912,6 @@
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
- "dev": true,
"engines": {
"node": "*"
}
@@ -5962,7 +5925,6 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz",
"integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -5971,7 +5933,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -6039,8 +6000,7 @@
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==",
- "dev": true
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
},
"node_modules/ccount": {
"version": "2.0.1",
@@ -6068,7 +6028,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -6084,7 +6043,6 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -6136,7 +6094,6 @@
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz",
"integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==",
- "dev": true,
"engines": {
"node": ">= 0.8.0"
}
@@ -6197,7 +6154,6 @@
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6231,7 +6187,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -6240,7 +6195,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
- "dev": true,
"dependencies": {
"restore-cursor": "^3.1.0"
},
@@ -6252,7 +6206,6 @@
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
"integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
- "dev": true,
"dependencies": {
"string-width": "^4.2.0"
},
@@ -6267,7 +6220,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
"integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
- "dev": true,
"dependencies": {
"slice-ansi": "^3.0.0",
"string-width": "^4.2.0"
@@ -6332,8 +6284,7 @@
"node_modules/colorette": {
"version": "2.0.20",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="
},
"node_modules/combined-stream": {
"version": "1.0.8",
@@ -6359,7 +6310,6 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "dev": true,
"engines": {
"node": ">= 6"
}
@@ -6368,7 +6318,6 @@
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
"integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
- "dev": true,
"engines": {
"node": ">=4.0.0"
}
@@ -6451,8 +6400,7 @@
"node_modules/core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
- "dev": true
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
},
"node_modules/cosmiconfig": {
"version": "8.3.6",
@@ -6554,13 +6502,12 @@
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/cypress": {
- "version": "13.15.0",
- "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.15.0.tgz",
- "integrity": "sha512-53aO7PwOfi604qzOkCSzNlWquCynLlKE/rmmpSPcziRH6LNfaDUAklQT6WJIsD8ywxlIy+uVZsnTMCCQVd2kTw==",
- "dev": true,
+ "version": "13.14.2",
+ "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.14.2.tgz",
+ "integrity": "sha512-lsiQrN17vHMB2fnvxIrKLAjOr9bPwsNbPZNrWf99s4u+DVmCY6U+w7O3GGG9FvP4EUVYaDu+guWeNLiUzBrqvA==",
"hasInstallScript": true,
"dependencies": {
- "@cypress/request": "^3.0.4",
+ "@cypress/request": "^3.0.1",
"@cypress/xvfb": "^1.2.4",
"@types/sinonjs__fake-timers": "8.1.1",
"@types/sizzle": "^2.3.2",
@@ -6645,14 +6592,12 @@
"node_modules/cypress/node_modules/proxy-from-env": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==",
- "dev": true
+ "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A=="
},
"node_modules/dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
- "dev": true,
"dependencies": {
"assert-plus": "^1.0.0"
},
@@ -6829,7 +6774,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -7130,7 +7074,6 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
- "dev": true,
"dependencies": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -7192,7 +7135,6 @@
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
- "dev": true,
"dependencies": {
"once": "^1.4.0"
}
@@ -7213,7 +7155,6 @@
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
"integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==",
- "dev": true,
"dependencies": {
"ansi-colors": "^4.1.1",
"strip-ansi": "^6.0.1"
@@ -7312,7 +7253,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.2.4"
},
@@ -7324,7 +7264,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "dev": true,
"engines": {
"node": ">= 0.4"
}
@@ -7948,8 +7887,7 @@
"node_modules/eventemitter2": {
"version": "6.4.7",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz",
- "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
- "dev": true
+ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg=="
},
"node_modules/eventemitter3": {
"version": "5.0.1",
@@ -7969,7 +7907,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
- "dev": true,
"dependencies": {
"cross-spawn": "^7.0.0",
"get-stream": "^5.0.0",
@@ -7992,7 +7929,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz",
"integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
- "dev": true,
"dependencies": {
"pify": "^2.2.0"
},
@@ -8009,7 +7945,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
"integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
- "dev": true,
"dependencies": {
"debug": "^4.1.1",
"get-stream": "^5.1.0",
@@ -8029,7 +7964,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
- "dev": true,
"engines": [
"node >=0.6.0"
]
@@ -8110,7 +8044,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
- "dev": true,
"dependencies": {
"pend": "~1.2.0"
}
@@ -8119,7 +8052,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
"integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
- "dev": true,
"dependencies": {
"escape-string-regexp": "^1.0.5"
},
@@ -8134,7 +8066,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -8399,7 +8330,6 @@
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
- "dev": true,
"engines": {
"node": "*"
}
@@ -8442,7 +8372,6 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@@ -8594,7 +8523,6 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
- "dev": true,
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
@@ -8619,7 +8547,6 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
- "dev": true,
"dependencies": {
"pump": "^3.0.0"
},
@@ -8663,7 +8590,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz",
"integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==",
- "dev": true,
"dependencies": {
"async": "^3.2.0"
}
@@ -8672,7 +8598,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
- "dev": true,
"dependencies": {
"assert-plus": "^1.0.0"
}
@@ -8753,7 +8678,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz",
"integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==",
- "dev": true,
"dependencies": {
"ini": "2.0.0"
},
@@ -8835,7 +8759,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
"dependencies": {
"get-intrinsic": "^1.1.3"
},
@@ -8875,7 +8798,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
"dependencies": {
"es-define-property": "^1.0.0"
},
@@ -8887,7 +8809,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -8899,7 +8820,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -9219,7 +9139,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz",
"integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==",
- "dev": true,
"dependencies": {
"assert-plus": "^1.0.0",
"jsprim": "^2.0.2",
@@ -9246,7 +9165,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
- "dev": true,
"engines": {
"node": ">=8.12.0"
}
@@ -9312,7 +9230,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
"funding": [
{
"type": "github",
@@ -9382,7 +9299,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -9408,7 +9324,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz",
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
- "dev": true,
"engines": {
"node": ">=10"
}
@@ -9594,7 +9509,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
"integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
- "dev": true,
"dependencies": {
"ci-info": "^3.2.0"
},
@@ -9730,7 +9644,6 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz",
"integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==",
- "dev": true,
"dependencies": {
"global-dirs": "^3.0.0",
"is-path-inside": "^3.0.2"
@@ -9808,7 +9721,6 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -9880,7 +9792,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
"engines": {
"node": ">=8"
},
@@ -9936,14 +9847,12 @@
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
- "dev": true,
"engines": {
"node": ">=10"
},
@@ -10023,8 +9932,7 @@
"node_modules/isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==",
- "dev": true
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
},
"node_modules/iterator.prototype": {
"version": "1.1.2",
@@ -10135,8 +10043,7 @@
"node_modules/jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
- "dev": true
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
},
"node_modules/jsesc": {
"version": "3.0.2",
@@ -10165,8 +10072,7 @@
"node_modules/json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
- "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
- "dev": true
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
@@ -10184,8 +10090,7 @@
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
},
"node_modules/json5": {
"version": "2.2.3",
@@ -10203,7 +10108,6 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
"dependencies": {
"universalify": "^2.0.0"
},
@@ -10224,7 +10128,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz",
"integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==",
- "dev": true,
"engines": [
"node >=0.6.0"
],
@@ -10272,7 +10175,6 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz",
"integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==",
- "dev": true,
"engines": {
"node": "> 0.8"
}
@@ -10764,7 +10666,6 @@
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz",
"integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==",
- "dev": true,
"dependencies": {
"cli-truncate": "^2.1.0",
"colorette": "^2.0.16",
@@ -10791,7 +10692,6 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -10888,8 +10788,7 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash-es": {
"version": "4.17.21",
@@ -10923,8 +10822,7 @@
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
- "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==",
- "dev": true
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
"node_modules/lodash.sortby": {
"version": "4.7.0",
@@ -10936,7 +10834,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
"integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
- "dev": true,
"dependencies": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
@@ -10952,7 +10849,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
"integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
- "dev": true,
"dependencies": {
"ansi-escapes": "^4.3.0",
"cli-cursor": "^3.1.0",
@@ -10970,7 +10866,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
"integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -10987,7 +10882,6 @@
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -12742,7 +12636,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -12786,7 +12679,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -13124,7 +13016,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
"integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
"dependencies": {
"path-key": "^3.0.0"
},
@@ -13165,7 +13056,6 @@
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -13269,7 +13159,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "devOptional": true,
"dependencies": {
"wrappy": "1"
}
@@ -13278,7 +13167,6 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
"dependencies": {
"mimic-fn": "^2.1.0"
},
@@ -13310,8 +13198,7 @@
"node_modules/ospath": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz",
- "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==",
- "dev": true
+ "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA=="
},
"node_modules/p-limit": {
"version": "3.1.0",
@@ -13349,7 +13236,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "dev": true,
"dependencies": {
"aggregate-error": "^3.0.0"
},
@@ -13515,14 +13401,12 @@
"node_modules/pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
- "dev": true
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
- "dev": true
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
},
"node_modules/picocolors": {
"version": "1.1.0",
@@ -13968,7 +13852,6 @@
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
"integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
- "dev": true,
"engines": {
"node": ">=6"
},
@@ -13989,7 +13872,6 @@
"version": "0.11.10",
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true,
"engines": {
"node": ">= 0.6.0"
}
@@ -14040,14 +13922,12 @@
"node_modules/psl": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
},
"node_modules/pump": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
- "dev": true,
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@@ -14073,7 +13953,6 @@
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
- "dev": true,
"dependencies": {
"side-channel": "^1.0.6"
},
@@ -14087,8 +13966,7 @@
"node_modules/querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
},
"node_modules/queue-microtask": {
"version": "1.2.3",
@@ -15473,7 +15351,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
"integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==",
- "dev": true,
"dependencies": {
"throttleit": "^1.0.0"
}
@@ -15560,8 +15437,7 @@
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"node_modules/resolve": {
"version": "2.0.0-next.5",
@@ -15610,7 +15486,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
- "dev": true,
"dependencies": {
"onetime": "^5.1.0",
"signal-exit": "^3.0.2"
@@ -15640,8 +15515,7 @@
"node_modules/rfdc": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
- "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
- "dev": true
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
},
"node_modules/rimraf": {
"version": "3.0.2",
@@ -15780,7 +15654,6 @@
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
"dependencies": {
"tslib": "^2.1.0"
}
@@ -15853,8 +15726,7 @@
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass-lookup": {
"version": "6.0.1",
@@ -15973,7 +15845,6 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "dev": true,
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -16084,7 +15955,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
- "dev": true,
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -16101,8 +15971,7 @@
"node_modules/signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "devOptional": true
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"node_modules/simple-bin-help": {
"version": "1.8.0",
@@ -16162,7 +16031,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
"integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^4.0.0",
"astral-regex": "^2.0.0",
@@ -16315,7 +16183,6 @@
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz",
"integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==",
- "dev": true,
"dependencies": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -16561,7 +16428,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -16993,7 +16859,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz",
"integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
@@ -17001,8 +16866,7 @@
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
},
"node_modules/tiny-invariant": {
"version": "1.3.3",
@@ -17052,7 +16916,6 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
"integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==",
- "dev": true,
"engines": {
"node": ">=14.14"
}
@@ -17086,7 +16949,6 @@
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
- "dev": true,
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
@@ -17101,7 +16963,6 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true,
"engines": {
"node": ">= 4.0.0"
}
@@ -17198,7 +17059,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
- "dev": true,
"dependencies": {
"safe-buffer": "^5.0.1"
},
@@ -17209,8 +17069,7 @@
"node_modules/tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==",
- "dev": true
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
},
"node_modules/type-check": {
"version": "0.4.0",
@@ -17710,7 +17569,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "dev": true,
"engines": {
"node": ">= 10.0.0"
}
@@ -17719,7 +17577,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz",
"integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -17776,7 +17633,6 @@
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
@@ -17870,7 +17726,6 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
- "dev": true,
"engines": [
"node >=0.6.0"
],
@@ -19591,8 +19446,7 @@
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "devOptional": true
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"node_modules/xlsx": {
"version": "0.18.5",
@@ -19633,7 +19487,6 @@
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
- "dev": true,
"dependencies": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
diff --git a/package.json b/package.json
index c42834216d3..50711943a85 100644
--- a/package.json
+++ b/package.json
@@ -64,6 +64,7 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"cross-env": "^7.0.3",
+ "cypress": "^13.14.2",
"dayjs": "^1.11.11",
"echarts": "^5.5.1",
"echarts-for-react": "^3.0.2",
@@ -98,7 +99,6 @@
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.13",
- "@types/cypress": "^1.1.3",
"@types/events": "^3.0.3",
"@types/google.maps": "^3.55.8",
"@types/lodash-es": "^4.17.12",
@@ -113,7 +113,6 @@
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@vitejs/plugin-react-swc": "^3.6.0",
"autoprefixer": "^10.4.19",
- "cypress": "^13.15.0",
"cypress-localstorage-commands": "^2.2.5",
"cypress-split": "^1.23.2",
"eslint-config-prettier": "^9.1.0",
From 7575c1ca7d7798274012b4361c29ad357ce9937c Mon Sep 17 00:00:00 2001
From: Mohammed Nihal <57055998+nihal467@users.noreply.github.com>
Date: Tue, 15 Oct 2024 11:16:09 +0200
Subject: [PATCH 08/77] New Cypress Test to verify functionality of Doctor
Connect (#8791)
---
.../e2e/facility_spec/FacilityLocation.cy.ts | 8 ++-
.../patient_spec/PatientDoctorConnect.cy.ts | 56 +++++++++++++++++++
.../Patient/PatientDoctorConnect.ts | 32 +++++++++++
.../Facility/ConsultationDetails/index.tsx | 1 +
.../Facility/DoctorVideoSlideover.tsx | 6 +-
5 files changed, 98 insertions(+), 5 deletions(-)
create mode 100644 cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
create mode 100644 cypress/pageobject/Patient/PatientDoctorConnect.ts
diff --git a/cypress/e2e/facility_spec/FacilityLocation.cy.ts b/cypress/e2e/facility_spec/FacilityLocation.cy.ts
index 113a5e3eaab..d29ee95e873 100644
--- a/cypress/e2e/facility_spec/FacilityLocation.cy.ts
+++ b/cypress/e2e/facility_spec/FacilityLocation.cy.ts
@@ -193,12 +193,16 @@ describe("Location Management Section", () => {
facilityLocation.clickAddNewLocationButton();
facilityLocation.enterLocationName("Test Location with Beds");
facilityLocation.selectLocationType("OTHER");
- assetPage.clickassetupdatebutton();
+ cy.submitButton("Add Location");
+ cy.verifyNotification("Location created successfully");
+ cy.closeNotification();
facilityLocation.clickManageBedButton();
facilityLocation.clickAddBedButton();
facilityLocation.enterBedName("Bed 1");
facilityLocation.selectBedType("Regular");
- assetPage.clickassetupdatebutton();
+ cy.submitButton("Add Bed(s)");
+ cy.verifyNotification("1 Bed created successfully");
+ cy.closeNotification();
facilityLocation.loadLocationManagementPage("Dummy Shifting Center");
facilityLocation.deleteLocation("Test Location with Beds");
assetPage.clickassetupdatebutton();
diff --git a/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts b/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
new file mode 100644
index 00000000000..64d47db2cf1
--- /dev/null
+++ b/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
@@ -0,0 +1,56 @@
+import { DoctorConnect } from "pageobject/Patient/PatientDoctorConnect";
+import LoginPage from "../../pageobject/Login/LoginPage";
+import { PatientPage } from "../../pageobject/Patient/PatientCreation";
+
+describe("Patient Doctor Connect in consultation page", () => {
+ const loginPage = new LoginPage();
+ const patientPage = new PatientPage();
+ const doctorconnect = new DoctorConnect();
+ const patientName = "Dummy Patient 11";
+ const doctorUser = "Dev Doctor";
+ const doctorUserNumber = "+919876543219";
+ const nurseUser = "Dev Staff";
+ const teleIcuUser = "Dev Doctor Two";
+
+ before(() => {
+ loginPage.loginAsDisctrictAdmin();
+ cy.saveLocalStorage();
+ });
+
+ beforeEach(() => {
+ cy.restoreLocalStorage();
+ cy.clearLocalStorage(/filters--.+/);
+ cy.awaitUrl("/patients");
+ });
+
+ it("Patient Doctor connect phone redirection and sort by filter", () => {
+ // click on the slideover and verify icon redirection
+ patientPage.visitPatient(patientName);
+ doctorconnect.clickDoctorConnectButton();
+ // verify all the users are visible under the all section
+ cy.verifyContentPresence("#doctor-connect-home-doctor", [doctorUser]);
+ cy.verifyContentPresence("#doctor-connect-home-nurse", [nurseUser]);
+ cy.verifyContentPresence("#doctor-connect-remote-doctor", [teleIcuUser]);
+ // verify copy content button functionality
+ doctorconnect.CopyFunctionTrigger();
+ doctorconnect.clickCopyPhoneNumber(
+ "#doctor-connect-home-doctor",
+ doctorUser,
+ );
+ doctorconnect.verifyCopiedContent(doctorUserNumber);
+ // verify the whatsapp and phone number icon presence
+ doctorconnect.verifyIconVisible("#whatsapp-icon");
+ doctorconnect.verifyIconVisible("#phone-icon");
+ // sort the each datas based on user type
+ doctorconnect.clickUsersSortBy("Doctor");
+ cy.verifyContentPresence("#doctor-connect-home-doctor", [doctorUser]);
+ doctorconnect.clickUsersSortBy("Nurse");
+ cy.verifyContentPresence("#doctor-connect-home-nurse", [nurseUser]);
+ doctorconnect.clickUsersSortBy("TeleICU Doctor");
+ cy.verifyContentPresence("#doctor-connect-remote-doctor", [teleIcuUser]);
+ });
+
+ afterEach(() => {
+ cy.saveLocalStorage();
+ });
+});
diff --git a/cypress/pageobject/Patient/PatientDoctorConnect.ts b/cypress/pageobject/Patient/PatientDoctorConnect.ts
new file mode 100644
index 00000000000..b8c33bb4b24
--- /dev/null
+++ b/cypress/pageobject/Patient/PatientDoctorConnect.ts
@@ -0,0 +1,32 @@
+export class DoctorConnect {
+ clickDoctorConnectButton() {
+ cy.get("#doctor-connect-button").scrollIntoView();
+ cy.get("#doctor-connect-button").click();
+ }
+
+ CopyFunctionTrigger() {
+ cy.window().then((win) => {
+ cy.stub(win.navigator.clipboard, "writeText").as("clipboardStub");
+ });
+ }
+
+ verifyCopiedContent(text: string) {
+ cy.get("@clipboardStub").should("be.calledWith", text);
+ }
+
+ verifyIconVisible(selector: string) {
+ cy.get(selector).should("be.visible");
+ }
+
+ clickCopyPhoneNumber(element: string, text: string) {
+ cy.get(element)
+ .contains(text) // Find the element containing "dev doctor"
+ .parent() // Move up to the parent element (if necessary)
+ .find("#copy-phoneicon") // Find the #copy-phoneicon within that context
+ .click();
+ }
+
+ clickUsersSortBy(text: string) {
+ cy.get("#doctor-connect-filter-tabs").contains(text).click();
+ }
+}
diff --git a/src/Components/Facility/ConsultationDetails/index.tsx b/src/Components/Facility/ConsultationDetails/index.tsx
index 53e137d12eb..6970898a158 100644
--- a/src/Components/Facility/ConsultationDetails/index.tsx
+++ b/src/Components/Facility/ConsultationDetails/index.tsx
@@ -256,6 +256,7 @@ export const ConsultationDetails = (props: any) => {
{!consultationData.discharge_date && (
<>
From bf0b5df16d19455127e61b5d99846899b0d6bad0 Mon Sep 17 00:00:00 2001
From: Shivank Kacker
Date: Tue, 15 Oct 2024 14:54:37 +0530
Subject: [PATCH 09/77] Removed unused packages (#8778)
---
package-lock.json | 21 ---------------------
package.json | 3 ---
2 files changed, 24 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9554674c29b..e66a3ea4ead 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -38,7 +38,6 @@
"i18next": "^23.11.4",
"i18next-browser-languagedetector": "^7.2.1",
"lodash-es": "^4.17.21",
- "lucide-react": "^0.446.0",
"postcss-loader": "^7.3.3",
"qrcode.react": "^3.1.0",
"raviger": "^4.1.2",
@@ -86,7 +85,6 @@
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.35.0",
"eslint-plugin-react-hooks": "^4.6.2",
- "gentype": "^4.5.0",
"glob": "^11.0.0",
"husky": "^8.0.3",
"lint-staged": "^13.2.3",
@@ -94,7 +92,6 @@
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
- "prop-types": "^15.8.1",
"redux-devtools-extension": "^2.13.9",
"snyk": "^1.1291.0",
"tailwindcss": "^3.4.3",
@@ -8496,16 +8493,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/gentype": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/gentype/-/gentype-4.5.0.tgz",
- "integrity": "sha512-XqHBQPS6Qb2HSgNJAwYRXbQJ4LSvz+MgNvuWnj8bz0teSorsy2kDxA6F1eZx5ft8cnfKAls4uNEgd5uNcPbQDg==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "gentype": "gentype.exe"
- }
- },
"node_modules/get-amd-module-type": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-6.0.0.tgz",
@@ -10927,14 +10914,6 @@
"yallist": "^3.0.2"
}
},
- "node_modules/lucide-react": {
- "version": "0.446.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.446.0.tgz",
- "integrity": "sha512-BU7gy8MfBMqvEdDPH79VhOXSEgyG8TSPOKWaExWGCQVqnGH7wGgDngPbofu+KdtVjPQBWbEmnfMTq90CTiiDRg==",
- "peerDependencies": {
- "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
- }
- },
"node_modules/magic-string": {
"version": "0.30.11",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz",
diff --git a/package.json b/package.json
index 50711943a85..850bba2edae 100644
--- a/package.json
+++ b/package.json
@@ -73,7 +73,6 @@
"i18next": "^23.11.4",
"i18next-browser-languagedetector": "^7.2.1",
"lodash-es": "^4.17.21",
- "lucide-react": "^0.446.0",
"postcss-loader": "^7.3.3",
"qrcode.react": "^3.1.0",
"raviger": "^4.1.2",
@@ -121,7 +120,6 @@
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.35.0",
"eslint-plugin-react-hooks": "^4.6.2",
- "gentype": "^4.5.0",
"glob": "^11.0.0",
"husky": "^8.0.3",
"lint-staged": "^13.2.3",
@@ -129,7 +127,6 @@
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
- "prop-types": "^15.8.1",
"redux-devtools-extension": "^2.13.9",
"snyk": "^1.1291.0",
"tailwindcss": "^3.4.3",
From 7518c6b5e398c9f798855cfbe3027107346da145 Mon Sep 17 00:00:00 2001
From: Rithvik Nishad
Date: Tue, 15 Oct 2024 14:55:22 +0530
Subject: [PATCH 10/77] fix: prevent recursive redirect between session expired
and root (#8777)
---
src/Components/ErrorPages/SessionExpired.tsx | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/Components/ErrorPages/SessionExpired.tsx b/src/Components/ErrorPages/SessionExpired.tsx
index 419c9c44dce..32036a0319d 100644
--- a/src/Components/ErrorPages/SessionExpired.tsx
+++ b/src/Components/ErrorPages/SessionExpired.tsx
@@ -1,23 +1,16 @@
import * as Notification from "../../Utils/Notifications";
-import { useNavigate } from "raviger";
import { useEffect } from "react";
import { useTranslation } from "react-i18next";
import { useAuthContext } from "../../Common/hooks/useAuthUser";
export default function SessionExpired() {
- const { signOut, user } = useAuthContext();
- const isAuthenticated = !!user;
- const navigate = useNavigate();
+ const { signOut } = useAuthContext();
const { t } = useTranslation();
useEffect(() => {
Notification.closeAllNotifications();
}, []);
- if (isAuthenticated) {
- navigate("/");
- }
-
return (
From e8f898ec77be4a35aa936c0d681c884953199324 Mon Sep 17 00:00:00 2001
From: Hitish Rao P <140695309+HitishRaoP@users.noreply.github.com>
Date: Tue, 15 Oct 2024 15:38:00 +0530
Subject: [PATCH 11/77] Death report is missing patient age (#8702)
Co-authored-by: Mohammed Nihal <57055998+nihal467@users.noreply.github.com>
Co-authored-by: Khavin Shankar
Co-authored-by: Rithvik Nishad
---
src/Components/DeathReport/DeathReport.tsx | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/Components/DeathReport/DeathReport.tsx b/src/Components/DeathReport/DeathReport.tsx
index 9f48e348402..2424d46f607 100644
--- a/src/Components/DeathReport/DeathReport.tsx
+++ b/src/Components/DeathReport/DeathReport.tsx
@@ -1,6 +1,4 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
-import { useEffect, useState } from "react";
-import { statusType, useAbortableEffect } from "../../Common/utils";
+import { useState } from "react";
import { GENDER_TYPES } from "../../Common/constants";
import TextFormField from "../Form/FormFields/TextFormField";
import TextAreaFormField from "../Form/FormFields/TextAreaFormField";
@@ -8,8 +6,8 @@ import DateFormField from "../Form/FormFields/DateFormField";
import PhoneNumberFormField from "../Form/FormFields/PhoneNumberFormField";
import {
formatDateTime,
+ formatPatientAge,
humanizeStrings,
- patientAgeInYears,
} from "../../Utils/utils";
import Page from "../Common/components/Page";
import Form from "../Form/Form";
@@ -111,7 +109,7 @@ export default function PrintDeathReport(props: { id: string }) {
const patientComorbidities = getPatientComorbidities(res.data);
const data = {
...res.data,
- age: patientAgeInYears(res.data!),
+ age: formatPatientAge(res.data!, true),
gender: patientGender,
address: patientAddress,
comorbidities: patientComorbidities,
@@ -372,7 +370,7 @@ export default function PrintDeathReport(props: { id: string }) {
From b02062a836df8559e19870f7c7268de4a2346032 Mon Sep 17 00:00:00 2001
From: Rithvik Nishad
Date: Wed, 16 Oct 2024 15:53:11 +0530
Subject: [PATCH 12/77] Fixes multiple tiny issues (#8784)
---
public/favicon-light.ico | Bin 217598 -> 0 bytes
public/favicon.ico | Bin 217598 -> 6439 bytes
src/App.tsx | 2 --
src/CAREUI/misc/PaginatedList.tsx | 10 ++++++-
src/CAREUI/misc/ThemedFavicon.tsx | 14 ----------
src/Components/ABDM/LinkABHANumberModal.tsx | 1 -
src/Components/Assets/AssetsList.tsx | 1 -
src/Components/Common/Breadcrumbs.tsx | 9 +++---
src/Components/Common/Sidebar/Sidebar.tsx | 10 +++----
.../Common/Sidebar/SidebarUserCard.tsx | 8 +-----
.../Facility/DischargedPatientsList.tsx | 26 +++++++++---------
src/Components/Facility/FacilityBlock.tsx | 6 ++--
src/Components/Facility/FacilityCard.tsx | 7 +----
src/Components/Facility/FacilityHome.tsx | 22 ++++++---------
.../Facility/LocationManagement.tsx | 22 +++++++--------
src/Components/Patient/ManagePatients.tsx | 9 +++---
.../Patient/PatientConsentRecordBlock.tsx | 5 +---
src/Components/Patient/PatientHome.tsx | 2 +-
src/Components/Patient/PatientRegister.tsx | 6 ++--
src/Components/Users/ManageUsers.tsx | 6 ++--
src/Components/Users/SkillsSlideOver.tsx | 1 +
src/Locale/en.json | 9 ++++--
src/Routers/AppRouter.tsx | 2 +-
23 files changed, 75 insertions(+), 103 deletions(-)
delete mode 100644 public/favicon-light.ico
delete mode 100644 src/CAREUI/misc/ThemedFavicon.tsx
diff --git a/public/favicon-light.ico b/public/favicon-light.ico
deleted file mode 100644
index 244b9d6c1d30aab5b36ffafc41845202059a07d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 217598
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 |