diff --git a/.env b/.env
index ebc0ebd5be3..b5db3d0088f 100644
--- a/.env
+++ b/.env
@@ -14,4 +14,4 @@ ESLINT_NO_DEV_ERRORS=true
CARE_CDN_URL="https://egov-s3-facility-10bedicu.s3.amazonaws.com https://egov-s3-patient-data-10bedicu.s3.amazonaws.com http://localhost:4566"
REACT_ALLOWED_LOCALES="en,hi,ta,ml,mr,kn"
-REACT_ENABLED_APPS="ohcnetwork/care_livekit_fe@main"
+REACT_ENABLED_APPS=""
diff --git a/.envrc b/.envrc
deleted file mode 100644
index c729eb59836..00000000000
--- a/.envrc
+++ /dev/null
@@ -1,2 +0,0 @@
-dotenv
-test -f .env.local && dotenv .env.local
\ No newline at end of file
diff --git a/.prettierrc.json b/.prettierrc.json
index ba722afdd73..22765ca5aa1 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -6,5 +6,8 @@
"jsxSingleQuote": false,
"arrowParens": "always",
"tailwindFunctions": ["classNames"],
- "plugins": ["prettier-plugin-tailwindcss"]
-}
+ "importOrder": ["", "^@/lib/(.*)$", "^@/CAREUI/(.*)$", "^@/components/ui/(.*)$", "^@/components/(.*)$", "^@/hooks/(.*)$", "^@/common/(.*)$", "^@/(.*)$", "^[./]"],
+ "importOrderSeparation": true,
+ "importOrderSortSpecifiers": true,
+ "plugins": ["prettier-plugin-tailwindcss", "@trivago/prettier-plugin-sort-imports"]
+}
\ No newline at end of file
diff --git a/cypress.config.ts b/cypress.config.ts
index 3dff1aa6814..b6e8fadd462 100644
--- a/cypress.config.ts
+++ b/cypress.config.ts
@@ -1,6 +1,6 @@
import { defineConfig } from "cypress";
-import fs from "fs";
import cypressSplit from "cypress-split";
+import fs from "fs";
export default defineConfig({
projectId: "wf7d2m",
diff --git a/cypress/e2e/assets_spec/AssetHomepage.cy.ts b/cypress/e2e/assets_spec/AssetHomepage.cy.ts
index bf608cdab9f..bda4abdfae3 100644
--- a/cypress/e2e/assets_spec/AssetHomepage.cy.ts
+++ b/cypress/e2e/assets_spec/AssetHomepage.cy.ts
@@ -18,7 +18,7 @@ describe("Asset Tab", () => {
const serialNumber = Math.floor(Math.random() * 10 ** 10).toString();
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/assets_spec/AssetsCreation.cy.ts b/cypress/e2e/assets_spec/AssetsCreation.cy.ts
index 6d94108b362..16a4fd050fb 100644
--- a/cypress/e2e/assets_spec/AssetsCreation.cy.ts
+++ b/cypress/e2e/assets_spec/AssetsCreation.cy.ts
@@ -11,7 +11,7 @@ describe("Asset", () => {
const serialNumber = Math.floor(Math.random() * 10 ** 10).toString();
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/assets_spec/AssetsManage.cy.ts b/cypress/e2e/assets_spec/AssetsManage.cy.ts
index 983a82be07b..756d3b261a6 100644
--- a/cypress/e2e/assets_spec/AssetsManage.cy.ts
+++ b/cypress/e2e/assets_spec/AssetsManage.cy.ts
@@ -22,7 +22,7 @@ describe("Asset", () => {
const initiallocationName = "Camera Location";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/facility_spec/FacilityCreation.cy.ts b/cypress/e2e/facility_spec/FacilityCreation.cy.ts
index 918e926d107..4961ae4a4cb 100644
--- a/cypress/e2e/facility_spec/FacilityCreation.cy.ts
+++ b/cypress/e2e/facility_spec/FacilityCreation.cy.ts
@@ -59,7 +59,7 @@ describe("Facility Creation", () => {
const triageErrorMessage = ["This field is required"];
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/facility_spec/FacilityHomepage.cy.ts b/cypress/e2e/facility_spec/FacilityHomepage.cy.ts
index b8fb0afd9d9..e6caf645f7a 100644
--- a/cypress/e2e/facility_spec/FacilityHomepage.cy.ts
+++ b/cypress/e2e/facility_spec/FacilityHomepage.cy.ts
@@ -25,7 +25,7 @@ describe("Facility Homepage Function", () => {
const facilityType = "Private Hospital";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/facility_spec/FacilityInventory.cy.ts b/cypress/e2e/facility_spec/FacilityInventory.cy.ts
index 78e7af88cea..cdada75ee06 100644
--- a/cypress/e2e/facility_spec/FacilityInventory.cy.ts
+++ b/cypress/e2e/facility_spec/FacilityInventory.cy.ts
@@ -9,7 +9,7 @@ describe("Inventory Management Section", () => {
const inventoryName = "PPE";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/facility_spec/FacilityManage.cy.ts b/cypress/e2e/facility_spec/FacilityManage.cy.ts
index c53943733e9..1f0d2b66108 100644
--- a/cypress/e2e/facility_spec/FacilityManage.cy.ts
+++ b/cypress/e2e/facility_spec/FacilityManage.cy.ts
@@ -26,7 +26,7 @@ describe("Facility Manage Functions", () => {
const currentUpdatedOccupied = "100";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientBedManagement.cy.ts b/cypress/e2e/patient_spec/PatientBedManagement.cy.ts
index 1964f913a03..84ef2f4800e 100644
--- a/cypress/e2e/patient_spec/PatientBedManagement.cy.ts
+++ b/cypress/e2e/patient_spec/PatientBedManagement.cy.ts
@@ -15,7 +15,7 @@ describe("Patient swtich bed functionality", () => {
const switchPatientTwo = "Dummy Patient 7";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts b/cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts
index 9911090eba0..ee38b24d746 100644
--- a/cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts
+++ b/cypress/e2e/patient_spec/PatientConsultationCreation.cy.ts
@@ -38,7 +38,7 @@ describe("Patient Consultation in multiple combination", () => {
const patientIpNumber = `${Math.floor(Math.random() * 90 + 10)}/${Math.floor(Math.random() * 9000 + 1000)}`;
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts b/cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts
index be9b06303cb..e2403fd56bd 100644
--- a/cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts
+++ b/cypress/e2e/patient_spec/PatientConsultationDischarge.cy.ts
@@ -20,7 +20,7 @@ describe("Patient Discharge based on multiple reason", () => {
const doctorName = "Custom Doctor";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts b/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
index c1362c328c0..9197cac2d90 100644
--- a/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
+++ b/cypress/e2e/patient_spec/PatientDoctorConnect.cy.ts
@@ -12,7 +12,7 @@ describe("Patient Doctor Connect in consultation page", () => {
const teleIcuUser = "Dev Doctor Two";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts b/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts
index 9a21eaea51f..e35d3eb8961 100644
--- a/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts
+++ b/cypress/e2e/patient_spec/PatientDoctorNotes.cy.ts
@@ -14,7 +14,7 @@ describe("Patient Discussion notes in the consultation page", () => {
const discussionNotesSuccessMessage = "Note added successfully";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientFileUpload.ts b/cypress/e2e/patient_spec/PatientFileUpload.ts
index 7e5a3073179..cc94943fd6f 100644
--- a/cypress/e2e/patient_spec/PatientFileUpload.ts
+++ b/cypress/e2e/patient_spec/PatientFileUpload.ts
@@ -17,7 +17,7 @@ function runTests(
const patientNameTwo = "Dummy Patient 4";
const patientNameThree = "Dummy Patient 5";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
@@ -90,7 +90,7 @@ function runTests(
patientFileUpload.verifyUploadFilePresence(newFileName);
patientFileUpload.verifyFileRenameOption(false);
// Login as District Admin
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.reload();
// Verify the file edit option is available
patientFileUpload.verifyUploadFilePresence(newFileName);
diff --git a/cypress/e2e/patient_spec/PatientHomepage.cy.ts b/cypress/e2e/patient_spec/PatientHomepage.cy.ts
index 188b6bc9457..32d869b8f50 100644
--- a/cypress/e2e/patient_spec/PatientHomepage.cy.ts
+++ b/cypress/e2e/patient_spec/PatientHomepage.cy.ts
@@ -24,7 +24,7 @@ describe("Patient Homepage present functionalities", () => {
const patientToDateBadge = "2023-12-07";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts b/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts
index 835e53459eb..b32990872e2 100644
--- a/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts
+++ b/cypress/e2e/patient_spec/PatientLogUpdate.cy.ts
@@ -41,7 +41,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => {
const domicilaryPatient = "Dummy Patient 11";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientPrescription.cy.ts b/cypress/e2e/patient_spec/PatientPrescription.cy.ts
index 86ca4122082..f5febc85fdc 100644
--- a/cypress/e2e/patient_spec/PatientPrescription.cy.ts
+++ b/cypress/e2e/patient_spec/PatientPrescription.cy.ts
@@ -15,7 +15,7 @@ const medicineIndicator = "Test Indicator";
describe("Patient Medicine Administration", () => {
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/patient_spec/PatientRegistration.cy.ts b/cypress/e2e/patient_spec/PatientRegistration.cy.ts
index 36c08497c2c..d774a90ceb8 100644
--- a/cypress/e2e/patient_spec/PatientRegistration.cy.ts
+++ b/cypress/e2e/patient_spec/PatientRegistration.cy.ts
@@ -71,7 +71,7 @@ describe("Patient Creation with consultation", () => {
const patientOccupation = "Student";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/resource_spec/ResourcesHomepage.cy.ts b/cypress/e2e/resource_spec/ResourcesHomepage.cy.ts
index 2b4e75e1883..8dc526a68c3 100644
--- a/cypress/e2e/resource_spec/ResourcesHomepage.cy.ts
+++ b/cypress/e2e/resource_spec/ResourcesHomepage.cy.ts
@@ -10,7 +10,7 @@ describe("Resource Page", () => {
const phone_number = "9999999999";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/users_spec/UsersCreation.cy.ts b/cypress/e2e/users_spec/UsersCreation.cy.ts
index 8e7236835e7..683a2131b2f 100644
--- a/cypress/e2e/users_spec/UsersCreation.cy.ts
+++ b/cypress/e2e/users_spec/UsersCreation.cy.ts
@@ -55,7 +55,7 @@ describe("User Creation", () => {
];
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/users_spec/UsersHomepage.cy.ts b/cypress/e2e/users_spec/UsersHomepage.cy.ts
index 634336a4ef9..0dd03c74304 100644
--- a/cypress/e2e/users_spec/UsersHomepage.cy.ts
+++ b/cypress/e2e/users_spec/UsersHomepage.cy.ts
@@ -17,7 +17,7 @@ describe("User Homepage", () => {
const doctorUserName = "devdoctor1";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/e2e/users_spec/UsersManage.cy.ts b/cypress/e2e/users_spec/UsersManage.cy.ts
index 3d9d18ff285..98c2d564f6d 100644
--- a/cypress/e2e/users_spec/UsersManage.cy.ts
+++ b/cypress/e2e/users_spec/UsersManage.cy.ts
@@ -20,7 +20,7 @@ describe("Manage User", () => {
const linkedskill = "General Medicine";
before(() => {
- loginPage.loginAsDisctrictAdmin();
+ loginPage.loginAsDistrictAdmin();
cy.saveLocalStorage();
});
diff --git a/cypress/pageobject/Login/LoginPage.ts b/cypress/pageobject/Login/LoginPage.ts
index 06bd165c9ac..cd5230a7772 100644
--- a/cypress/pageobject/Login/LoginPage.ts
+++ b/cypress/pageobject/Login/LoginPage.ts
@@ -1,7 +1,7 @@
// LoginPage.ts
class LoginPage {
- loginAsDisctrictAdmin(): void {
+ loginAsDistrictAdmin(): void {
cy.loginByApi("devdistrictadmin", "Coronasafe@123");
}
diff --git a/package-lock.json b/package-lock.json
index a4276cb3d35..e46a726b69c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -41,6 +41,7 @@
"hi-profiles": "^1.1.0",
"i18next": "^23.11.4",
"i18next-browser-languagedetector": "^7.2.1",
+ "i18next-http-backend": "^2.6.2",
"lodash-es": "^4.17.21",
"postcss-loader": "^7.3.3",
"qrcode.react": "^3.1.0",
@@ -51,10 +52,8 @@
"react-google-recaptcha": "^3.1.0",
"react-i18next": "^15.0.2",
"react-infinite-scroll-component": "^6.1.0",
- "react-markdown": "^8.0.7",
"react-pdf": "^9.1.0",
"react-webcam": "^7.2.0",
- "rehype-raw": "^6.1.1",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"use-keyboard-shortcut": "^1.1.6",
@@ -64,8 +63,11 @@
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.13",
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
+ "@types/dompurify": "^3.0.5",
"@types/events": "^3.0.3",
"@types/google.maps": "^3.55.8",
+ "@types/jsdom": "^21.1.7",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.7.4",
"@types/qrcode.react": "^1.0.5",
@@ -80,6 +82,7 @@
"autoprefixer": "^10.4.19",
"cypress-localstorage-commands": "^2.2.5",
"cypress-split": "^1.23.2",
+ "dompurify": "^3.1.7",
"dotenv": "^16.4.5",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-i18next": "^6.0.9",
@@ -89,8 +92,10 @@
"eslint-plugin-react-hooks": "^4.6.2",
"glob": "^11.0.0",
"husky": "^8.0.3",
+ "jsdom": "^25.0.1",
"lint-staged": "^13.2.3",
"local-cypress": "^1.2.6",
+ "marked": "^14.1.3",
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
@@ -110,6 +115,7 @@
"apps/care_livekit_fe": {
"name": "care-livekit",
"version": "0.0.1",
+ "extraneous": true,
"license": "ISC",
"dependencies": {
"@livekit/components-react": "^2.6.2",
@@ -419,6 +425,46 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+ "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+ "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-member-expression-to-functions": {
"version": "7.25.7",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz",
@@ -553,10 +599,23 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+ "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-string-parser": {
- "version": "7.25.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz",
- "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -564,9 +623,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
- "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -698,13 +757,13 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.25.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz",
- "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==",
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz",
+ "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.8"
+ "@babel/types": "^7.26.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -1872,26 +1931,19 @@
}
},
"node_modules/@babel/types": {
- "version": "7.25.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz",
- "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
+ "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.25.7",
- "@babel/helper-validator-identifier": "^7.25.7",
- "to-fast-properties": "^2.0.0"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@bufbuild/protobuf": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz",
- "integrity": "sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==",
- "license": "(Apache-2.0 AND BSD-3-Clause)"
- },
"node_modules/@colors/colors": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
@@ -2792,74 +2844,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@livekit/components-core": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/@livekit/components-core/-/components-core-0.11.10.tgz",
- "integrity": "sha512-PvFlKq1W64b9GfFjG7L4/o7ulAl5yFFpDTvG+JHQiXkaPaecMPt/qPbs6zdvUlC7om1TGMuW/pIN7o585Xz9Fg==",
- "license": "Apache-2.0",
- "dependencies": {
- "@floating-ui/dom": "1.6.11",
- "loglevel": "1.9.1",
- "rxjs": "7.8.1"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "livekit-client": "^2.5.7",
- "tslib": "^2.6.2"
- }
- },
- "node_modules/@livekit/components-react": {
- "version": "2.6.7",
- "resolved": "https://registry.npmjs.org/@livekit/components-react/-/components-react-2.6.7.tgz",
- "integrity": "sha512-z8dgrBrRXIe7oagwFyjehdwL/4zpySJyPdAjeMDXZVbTXYNAugb3a88Ws9yQz4PZFECLkIPXJCN3C3YR+bgh5Q==",
- "license": "Apache-2.0",
- "dependencies": {
- "@livekit/components-core": "0.11.10",
- "clsx": "2.1.1",
- "usehooks-ts": "3.1.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@livekit/krisp-noise-filter": "^0.2.12",
- "livekit-client": "^2.5.7",
- "react": ">=18",
- "react-dom": ">=18",
- "tslib": "^2.6.2"
- },
- "peerDependenciesMeta": {
- "@livekit/krisp-noise-filter": {
- "optional": true
- }
- }
- },
- "node_modules/@livekit/components-styles": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@livekit/components-styles/-/components-styles-1.1.4.tgz",
- "integrity": "sha512-QCupn7tQ/dy/WZclrfsgtDe8peiGYS6Ied1IGkKOysaXo04l90t62SIUTKyxgd0dNDhUDC0p34qCggGZs/44lQ==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@livekit/mutex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@livekit/mutex/-/mutex-1.0.0.tgz",
- "integrity": "sha512-aiUhoThBNF9UyGTxEURFzJLhhPLIVTnQiEVMjRhPnfHNKLfo2JY9xovHKIus7B78UD5hsP6DlgpmAsjrz4U0Iw==",
- "license": "Apache-2.0"
- },
- "node_modules/@livekit/protocol": {
- "version": "1.24.0",
- "resolved": "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.24.0.tgz",
- "integrity": "sha512-9dCsqnkMn7lvbI4NGh18zhLDsrXyUcpS++TEFgEk5Xv1WM3R2kT3EzqgL1P/mr3jaabM6rJ8wZA/KJLuQNpF5w==",
- "license": "Apache-2.0",
- "dependencies": {
- "@bufbuild/protobuf": "^1.10.0"
- }
- },
"node_modules/@mapbox/node-pre-gyp": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz",
@@ -4954,6 +4938,158 @@
"url": "https://github.com/sponsors/tannerlinsley"
}
},
+ "node_modules/@trivago/prettier-plugin-sort-imports": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz",
+ "integrity": "sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@babel/generator": "7.17.7",
+ "@babel/parser": "^7.20.5",
+ "@babel/traverse": "7.23.2",
+ "@babel/types": "7.17.0",
+ "javascript-natural-sort": "0.7.1",
+ "lodash": "^4.17.21"
+ },
+ "peerDependencies": {
+ "@vue/compiler-sfc": "3.x",
+ "prettier": "2.x - 3.x"
+ },
+ "peerDependenciesMeta": {
+ "@vue/compiler-sfc": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/generator": {
+ "version": "7.17.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz",
+ "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.17.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse": {
+ "version": "7.23.2",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz",
+ "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.0",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse/node_modules/@babel/generator": {
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz",
+ "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.26.2",
+ "@babel/types": "^7.26.0",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse/node_modules/@babel/types": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
+ "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse/node_modules/jsesc": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/types": {
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+ "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@trivago/prettier-plugin-sort-imports/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@types/acorn": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
@@ -4978,6 +5114,7 @@
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@types/ms": "*"
@@ -4989,6 +5126,16 @@
"integrity": "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==",
"license": "MIT"
},
+ "node_modules/@types/dompurify": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz",
+ "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/trusted-types": "*"
+ }
+ },
"node_modules/@types/emscripten": {
"version": "1.39.13",
"resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz",
@@ -5025,21 +5172,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/hast": {
- "version": "2.3.10",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
- "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2"
- }
- },
- "node_modules/@types/hast/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
"node_modules/@types/is-empty": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@types/is-empty/-/is-empty-1.2.3.tgz",
@@ -5047,6 +5179,18 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/jsdom": {
+ "version": "21.1.7",
+ "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
+ "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/tough-cookie": "*",
+ "parse5": "^7.0.0"
+ }
+ },
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -5075,6 +5219,7 @@
"version": "3.0.15",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz",
"integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "^2"
@@ -5084,12 +5229,14 @@
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/@types/ms": {
"version": "0.7.34",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==",
+ "dev": true,
"license": "MIT"
},
"node_modules/@types/node": {
@@ -5101,16 +5248,11 @@
"undici-types": "~6.19.2"
}
},
- "node_modules/@types/parse5": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz",
- "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==",
- "license": "MIT"
- },
"node_modules/@types/prop-types": {
"version": "15.7.13",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz",
"integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==",
+ "devOptional": true,
"license": "MIT"
},
"node_modules/@types/qrcode.react": {
@@ -5127,6 +5269,7 @@
"version": "18.3.11",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.11.tgz",
"integrity": "sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==",
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -5199,6 +5342,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/tough-cookie": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
+ "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/trusted-types": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
@@ -6306,6 +6456,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
"integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -6604,10 +6755,6 @@
"node": ">=6"
}
},
- "node_modules/care-livekit": {
- "resolved": "apps/care_livekit_fe",
- "link": true
- },
"node_modules/caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
@@ -6937,16 +7084,6 @@
"node": ">= 0.8"
}
},
- "node_modules/comma-separated-tokens": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
- "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
"node_modules/commander": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
@@ -7110,6 +7247,15 @@
"yarn": ">=1"
}
},
+ "node_modules/cross-fetch": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -7155,10 +7301,24 @@
"node": ">=4"
}
},
+ "node_modules/cssstyle": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.1.0.tgz",
+ "integrity": "sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rrweb-cssom": "^0.7.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "devOptional": true,
"license": "MIT"
},
"node_modules/cypress": {
@@ -7264,40 +7424,91 @@
"node": ">=0.10"
}
},
- "node_modules/data-view-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
- "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "node_modules/data-urls": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
+ "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.6",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
+ "whatwg-mimetype": "^4.0.0",
+ "whatwg-url": "^14.0.0"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=18"
}
},
- "node_modules/data-view-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
- "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "node_modules/data-urls/node_modules/tr46": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+ "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
+ "punycode": "^2.3.1"
},
"engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=18"
+ }
+ },
+ "node_modules/data-urls/node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/data-urls/node_modules/whatwg-url": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+ "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "^5.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
+ "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
+ "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/data-view-byte-offset": {
@@ -7341,10 +7552,18 @@
}
}
},
+ "node_modules/decimal.js": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+ "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/decode-named-character-reference": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
"integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
@@ -7358,6 +7577,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -7717,6 +7937,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
@@ -7755,6 +7976,13 @@
"node": ">=6.0.0"
}
},
+ "node_modules/dompurify": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz",
+ "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==",
+ "dev": true,
+ "license": "(MPL-2.0 OR Apache-2.0)"
+ },
"node_modules/dotenv": {
"version": "16.4.5",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
@@ -9690,246 +9918,6 @@
"node": ">= 0.4"
}
},
- "node_modules/hast-util-from-parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz",
- "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "@types/unist": "^2.0.0",
- "hastscript": "^7.0.0",
- "property-information": "^6.0.0",
- "vfile": "^5.0.0",
- "vfile-location": "^4.0.0",
- "web-namespaces": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-from-parse5/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/hast-util-from-parse5/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-from-parse5/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-from-parse5/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-parse-selector": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz",
- "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz",
- "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "@types/parse5": "^6.0.0",
- "hast-util-from-parse5": "^7.0.0",
- "hast-util-to-parse5": "^7.0.0",
- "html-void-elements": "^2.0.0",
- "parse5": "^6.0.0",
- "unist-util-position": "^4.0.0",
- "unist-util-visit": "^4.0.0",
- "vfile": "^5.0.0",
- "web-namespaces": "^2.0.0",
- "zwitch": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/hast-util-raw/node_modules/unist-util-is": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
- "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/unist-util-visit": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
- "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^5.1.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/unist-util-visit-parents": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
- "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-raw/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-to-parse5": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz",
- "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "comma-separated-tokens": "^2.0.0",
- "property-information": "^6.0.0",
- "space-separated-tokens": "^2.0.0",
- "web-namespaces": "^2.0.0",
- "zwitch": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hast-util-whitespace": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
- "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/hastscript": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz",
- "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "comma-separated-tokens": "^2.0.0",
- "hast-util-parse-selector": "^3.0.0",
- "property-information": "^6.0.0",
- "space-separated-tokens": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/hi-profiles": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/hi-profiles/-/hi-profiles-1.1.0.tgz",
@@ -9969,6 +9957,19 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/html-encoding-sniffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
+ "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-encoding": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/html-parse-stringify": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
@@ -9978,14 +9979,31 @@
"void-elements": "3.1.0"
}
},
- "node_modules/html-void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
- "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==",
+ "node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "dev": true,
"license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/http-proxy-agent/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
}
},
"node_modules/http-signature": {
@@ -10080,6 +10098,28 @@
"@babel/runtime": "^7.23.2"
}
},
+ "node_modules/i18next-http-backend": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.2.tgz",
+ "integrity": "sha512-Hp/kd8/VuoxIHmxsknJXjkTYYHzivAyAF15pzliKzk2TiXC25rZCEerb1pUFoxz4IVrG3fCvQSY51/Lu4ECV4A==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-fetch": "4.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/idb": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
@@ -10199,12 +10239,6 @@
"node": ">=10"
}
},
- "node_modules/inline-style-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
- "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==",
- "license": "MIT"
- },
"node_modules/internal-slot": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
@@ -10363,29 +10397,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -10643,6 +10654,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
@@ -10651,6 +10663,13 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/is-regex": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -10943,6 +10962,13 @@
"node": "*"
}
},
+ "node_modules/javascript-natural-sort": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
+ "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -10991,6 +11017,124 @@
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==",
"license": "MIT"
},
+ "node_modules/jsdom": {
+ "version": "25.0.1",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz",
+ "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssstyle": "^4.1.0",
+ "data-urls": "^5.0.0",
+ "decimal.js": "^10.4.3",
+ "form-data": "^4.0.0",
+ "html-encoding-sniffer": "^4.0.0",
+ "http-proxy-agent": "^7.0.2",
+ "https-proxy-agent": "^7.0.5",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.12",
+ "parse5": "^7.1.2",
+ "rrweb-cssom": "^0.7.1",
+ "saxes": "^6.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^5.0.0",
+ "w3c-xmlserializer": "^5.0.0",
+ "webidl-conversions": "^7.0.0",
+ "whatwg-encoding": "^3.1.1",
+ "whatwg-mimetype": "^4.0.0",
+ "whatwg-url": "^14.0.0",
+ "ws": "^8.18.0",
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "canvas": "^2.11.2"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsdom/node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/jsdom/node_modules/https-proxy-agent": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
+ "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/jsdom/node_modules/tough-cookie": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz",
+ "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "tldts": "^6.1.32"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/jsdom/node_modules/tr46": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+ "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/jsdom/node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/jsdom/node_modules/whatwg-url": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+ "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "^5.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/jsesc": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
@@ -11126,6 +11270,7 @@
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -11703,29 +11848,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/livekit-client": {
- "version": "2.5.10",
- "resolved": "https://registry.npmjs.org/livekit-client/-/livekit-client-2.5.10.tgz",
- "integrity": "sha512-H7EeIb19LAH8ejlvhh0JWtWkvXDan6Yf3bpFGlDMb54uPmyRgBY+McfgQsFgJCB9WJL0X+GYUoV1Cmnn8iAoIQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@livekit/mutex": "1.0.0",
- "@livekit/protocol": "1.24.0",
- "events": "^3.3.0",
- "loglevel": "^1.8.0",
- "sdp-transform": "^2.14.1",
- "ts-debounce": "^4.0.0",
- "tslib": "2.7.0",
- "typed-emitter": "^2.1.0",
- "webrtc-adapter": "^9.0.0"
- }
- },
- "node_modules/livekit-client/node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
- "license": "0BSD"
- },
"node_modules/load-plugin": {
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/load-plugin/-/load-plugin-6.0.3.tgz",
@@ -11837,6 +11959,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "dev": true,
"license": "MIT"
},
"node_modules/lodash.isplainobject": {
@@ -11931,19 +12054,6 @@
"node": ">=8"
}
},
- "node_modules/loglevel": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz",
- "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6.0"
- },
- "funding": {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/loglevel"
- }
- },
"node_modules/long": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
@@ -12038,6 +12148,19 @@
"url": "https://github.com/wojtekmaj/make-event-props?sponsor=1"
}
},
+ "node_modules/marked": {
+ "version": "14.1.3",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.3.tgz",
+ "integrity": "sha512-ZibJqTULGlt9g5k4VMARAktMAjXoVnnr+Y3aCqW1oDftcV4BA3UmrBifzXoZyenHRk75csiPu9iwsTj4VNBT0g==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
"node_modules/matcher": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
@@ -12051,69 +12174,6 @@
"node": ">=10"
}
},
- "node_modules/mdast-util-definitions": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
- "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^3.0.0",
- "@types/unist": "^2.0.0",
- "unist-util-visit": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-is": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
- "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-visit": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
- "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^5.1.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
- "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/mdast-util-from-markdown": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz",
@@ -12929,74 +12989,6 @@
"@types/unist": "*"
}
},
- "node_modules/mdast-util-to-hast": {
- "version": "12.3.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
- "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "@types/mdast": "^3.0.0",
- "mdast-util-definitions": "^5.0.0",
- "micromark-util-sanitize-uri": "^1.1.0",
- "trim-lines": "^3.0.0",
- "unist-util-generated": "^2.0.0",
- "unist-util-position": "^4.0.0",
- "unist-util-visit": "^4.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-to-hast/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/mdast-util-to-hast/node_modules/unist-util-is": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
- "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-to-hast/node_modules/unist-util-visit": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
- "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^5.1.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
- "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/mdast-util-to-markdown": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz",
@@ -13522,22 +13514,6 @@
"micromark-util-symbol": "^2.0.0"
}
},
- "node_modules/micromark-util-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
- "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
"node_modules/micromark-util-events-to-acorn": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz",
@@ -13622,31 +13598,11 @@
"micromark-util-types": "^2.0.0"
}
},
- "node_modules/micromark-util-sanitize-uri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
- "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^1.0.0",
- "micromark-util-encode": "^1.0.0",
- "micromark-util-symbol": "^1.0.0"
- }
- },
- "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
- "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
+ "node_modules/micromark-util-subtokenize": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz",
+ "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==",
+ "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -13659,14 +13615,17 @@
],
"license": "MIT",
"dependencies": {
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
+ "devlop": "^1.0.0",
+ "micromark-util-chunked": "^2.0.0",
+ "micromark-util-symbol": "^2.0.0",
+ "micromark-util-types": "^2.0.0"
}
},
- "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
- "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
+ "node_modules/micromark-util-symbol": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
+ "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
+ "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -13679,67 +13638,11 @@
],
"license": "MIT"
},
- "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
- "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/micromark-util-subtokenize": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz",
- "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==",
- "dev": true,
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "devlop": "^1.0.0",
- "micromark-util-chunked": "^2.0.0",
- "micromark-util-symbol": "^2.0.0",
- "micromark-util-types": "^2.0.0"
- }
- },
- "node_modules/micromark-util-symbol": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
- "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
- "dev": true,
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/micromark-util-types": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
- "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
- "dev": true,
+ "node_modules/micromark-util-types": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
+ "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
+ "dev": true,
"funding": [
{
"type": "GitHub Sponsors",
@@ -13994,6 +13897,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -14060,7 +13964,6 @@
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
"license": "MIT",
- "optional": true,
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -14226,6 +14129,13 @@
"set-blocking": "^2.0.0"
}
},
+ "node_modules/nwsapi": {
+ "version": "2.2.13",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz",
+ "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -14508,10 +14418,17 @@
}
},
"node_modules/parse5": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
- "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
- "license": "MIT"
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz",
+ "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "entities": "^4.5.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
},
"node_modules/path-exists": {
"version": "4.0.0",
@@ -15160,16 +15077,6 @@
"react-is": "^16.13.1"
}
},
- "node_modules/property-information": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
- "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
"node_modules/proxy-from-env": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
@@ -15409,749 +15316,145 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"license": "MIT"
},
- "node_modules/react-markdown": {
- "version": "8.0.7",
- "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz",
- "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==",
+ "node_modules/react-pdf": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-9.1.1.tgz",
+ "integrity": "sha512-Cn3RTJZMqVOOCgLMRXDamLk4LPGfyB2Np3OwQAUjmHIh47EpuGW1OpAA1Z1GVDLoHx4d5duEDo/YbUkDbr4QFQ==",
"license": "MIT",
"dependencies": {
- "@types/hast": "^2.0.0",
- "@types/prop-types": "^15.0.0",
- "@types/unist": "^2.0.0",
- "comma-separated-tokens": "^2.0.0",
- "hast-util-whitespace": "^2.0.0",
- "prop-types": "^15.0.0",
- "property-information": "^6.0.0",
- "react-is": "^18.0.0",
- "remark-parse": "^10.0.0",
- "remark-rehype": "^10.0.0",
- "space-separated-tokens": "^2.0.0",
- "style-to-object": "^0.4.0",
- "unified": "^10.0.0",
- "unist-util-visit": "^4.0.0",
- "vfile": "^5.0.0"
+ "clsx": "^2.0.0",
+ "dequal": "^2.0.3",
+ "make-cancellable-promise": "^1.3.1",
+ "make-event-props": "^1.6.0",
+ "merge-refs": "^1.3.0",
+ "pdfjs-dist": "4.4.168",
+ "tiny-invariant": "^1.0.0",
+ "warning": "^4.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
},
"peerDependencies": {
- "@types/react": ">=16",
- "react": ">=16"
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/react-markdown/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/react-markdown/node_modules/mdast-util-from-markdown": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
- "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
+ "node_modules/react-redux": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz",
+ "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==",
"license": "MIT",
"dependencies": {
- "@types/mdast": "^3.0.0",
- "@types/unist": "^2.0.0",
- "decode-named-character-reference": "^1.0.0",
- "mdast-util-to-string": "^3.1.0",
- "micromark": "^3.0.0",
- "micromark-util-decode-numeric-character-reference": "^1.0.0",
- "micromark-util-decode-string": "^1.0.0",
- "micromark-util-normalize-identifier": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "uvu": "^0.5.0"
+ "@types/use-sync-external-store": "^0.0.3",
+ "use-sync-external-store": "^1.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "peerDependencies": {
+ "@types/react": "^18.2.25",
+ "react": "^18.0",
+ "redux": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "redux": {
+ "optional": true
+ }
}
},
- "node_modules/react-markdown/node_modules/mdast-util-to-string": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
- "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+ "node_modules/react-remove-scroll": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz",
+ "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==",
"license": "MIT",
"dependencies": {
- "@types/mdast": "^3.0.0"
+ "react-remove-scroll-bar": "^2.3.6",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
}
},
- "node_modules/react-markdown/node_modules/micromark": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
- "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
+ "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
"license": "MIT",
"dependencies": {
- "@types/debug": "^4.0.0",
- "debug": "^4.0.0",
- "decode-named-character-reference": "^1.0.0",
- "micromark-core-commonmark": "^1.0.1",
- "micromark-factory-space": "^1.0.0",
- "micromark-util-character": "^1.0.0",
- "micromark-util-chunked": "^1.0.0",
- "micromark-util-combine-extensions": "^1.0.0",
- "micromark-util-decode-numeric-character-reference": "^1.0.0",
- "micromark-util-encode": "^1.0.0",
- "micromark-util-normalize-identifier": "^1.0.0",
- "micromark-util-resolve-all": "^1.0.0",
- "micromark-util-sanitize-uri": "^1.0.0",
- "micromark-util-subtokenize": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.1",
- "uvu": "^0.5.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-core-commonmark": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
- "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
}
- ],
+ }
+ },
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
"license": "MIT",
"dependencies": {
- "decode-named-character-reference": "^1.0.0",
- "micromark-factory-destination": "^1.0.0",
- "micromark-factory-label": "^1.0.0",
- "micromark-factory-space": "^1.0.0",
- "micromark-factory-title": "^1.0.0",
- "micromark-factory-whitespace": "^1.0.0",
- "micromark-util-character": "^1.0.0",
- "micromark-util-chunked": "^1.0.0",
- "micromark-util-classify-character": "^1.0.0",
- "micromark-util-html-tag-name": "^1.0.0",
- "micromark-util-normalize-identifier": "^1.0.0",
- "micromark-util-resolve-all": "^1.0.0",
- "micromark-util-subtokenize": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.1",
- "uvu": "^0.5.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-factory-destination": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
- "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
}
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
}
},
- "node_modules/react-markdown/node_modules/micromark-factory-label": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
- "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
+ "node_modules/react-webcam": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.2.0.tgz",
+ "integrity": "sha512-xkrzYPqa1ag2DP+2Q/kLKBmCIfEx49bVdgCCCcZf88oF+0NPEbkwYk3/s/C7Zy0mhM8k+hpdNkBLzxg8H0aWcg==",
"license": "MIT",
- "dependencies": {
- "micromark-util-character": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
+ "peerDependencies": {
+ "react": ">=16.2.0",
+ "react-dom": ">=16.2.0"
}
},
- "node_modules/react-markdown/node_modules/micromark-factory-space": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
- "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
"license": "MIT",
"dependencies": {
- "micromark-util-character": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-factory-title": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
- "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-factory-space": "^1.0.0",
- "micromark-util-character": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-factory-whitespace": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
- "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-factory-space": "^1.0.0",
- "micromark-util-character": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-character": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
- "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-chunked": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
- "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-classify-character": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
- "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-character": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-combine-extensions": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
- "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-chunked": "^1.0.0",
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-decode-numeric-character-reference": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
- "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-decode-string": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
- "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "decode-named-character-reference": "^1.0.0",
- "micromark-util-character": "^1.0.0",
- "micromark-util-decode-numeric-character-reference": "^1.0.0",
- "micromark-util-symbol": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-html-tag-name": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
- "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/react-markdown/node_modules/micromark-util-normalize-identifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
- "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-symbol": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-resolve-all": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
- "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-types": "^1.0.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-subtokenize": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
- "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "micromark-util-chunked": "^1.0.0",
- "micromark-util-symbol": "^1.0.0",
- "micromark-util-types": "^1.0.0",
- "uvu": "^0.5.0"
- }
- },
- "node_modules/react-markdown/node_modules/micromark-util-symbol": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
- "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/react-markdown/node_modules/micromark-util-types": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
- "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
- "funding": [
- {
- "type": "GitHub Sponsors",
- "url": "https://github.com/sponsors/unifiedjs"
- },
- {
- "type": "OpenCollective",
- "url": "https://opencollective.com/unified"
- }
- ],
- "license": "MIT"
- },
- "node_modules/react-markdown/node_modules/react-is": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
- "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
- "license": "MIT"
- },
- "node_modules/react-markdown/node_modules/remark-parse": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
- "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
- "license": "MIT",
- "dependencies": {
- "@types/mdast": "^3.0.0",
- "mdast-util-from-markdown": "^1.0.0",
- "unified": "^10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/unified": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
- "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "bail": "^2.0.0",
- "extend": "^3.0.0",
- "is-buffer": "^2.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/unist-util-is": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
- "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/unist-util-visit": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
- "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0",
- "unist-util-visit-parents": "^5.1.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/unist-util-visit-parents": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
- "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-is": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-markdown/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/react-pdf": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-9.1.1.tgz",
- "integrity": "sha512-Cn3RTJZMqVOOCgLMRXDamLk4LPGfyB2Np3OwQAUjmHIh47EpuGW1OpAA1Z1GVDLoHx4d5duEDo/YbUkDbr4QFQ==",
- "license": "MIT",
- "dependencies": {
- "clsx": "^2.0.0",
- "dequal": "^2.0.3",
- "make-cancellable-promise": "^1.3.1",
- "make-event-props": "^1.6.0",
- "merge-refs": "^1.3.0",
- "pdfjs-dist": "4.4.168",
- "tiny-invariant": "^1.0.0",
- "warning": "^4.0.0"
- },
- "funding": {
- "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1"
- },
- "peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/react-redux": {
- "version": "9.1.2",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz",
- "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==",
- "license": "MIT",
- "dependencies": {
- "@types/use-sync-external-store": "^0.0.3",
- "use-sync-external-store": "^1.0.0"
- },
- "peerDependencies": {
- "@types/react": "^18.2.25",
- "react": "^18.0",
- "redux": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "redux": {
- "optional": true
- }
- }
- },
- "node_modules/react-remove-scroll": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz",
- "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==",
- "license": "MIT",
- "dependencies": {
- "react-remove-scroll-bar": "^2.3.6",
- "react-style-singleton": "^2.2.1",
- "tslib": "^2.1.0",
- "use-callback-ref": "^1.3.0",
- "use-sidecar": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/react-remove-scroll-bar": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
- "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
- "license": "MIT",
- "dependencies": {
- "react-style-singleton": "^2.2.1",
- "tslib": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/react-style-singleton": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
- "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
- "license": "MIT",
- "dependencies": {
- "get-nonce": "^1.0.0",
- "invariant": "^2.2.4",
- "tslib": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/react-webcam": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/react-webcam/-/react-webcam-7.2.0.tgz",
- "integrity": "sha512-xkrzYPqa1ag2DP+2Q/kLKBmCIfEx49bVdgCCCcZf88oF+0NPEbkwYk3/s/C7Zy0mhM8k+hpdNkBLzxg8H0aWcg==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=16.2.0",
- "react-dom": ">=16.2.0"
- }
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "license": "MIT",
- "dependencies": {
- "pify": "^2.3.0"
+ "pify": "^2.3.0"
}
},
"node_modules/read-package-json-fast": {
@@ -16359,93 +15662,10 @@
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "jsesc": "~3.0.2"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/rehype-raw": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz",
- "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "hast-util-raw": "^7.2.0",
- "unified": "^10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/rehype-raw/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/rehype-raw/node_modules/unified": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
- "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "bail": "^2.0.0",
- "extend": "^3.0.0",
- "is-buffer": "^2.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/rehype-raw/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/rehype-raw/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/rehype-raw/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
+ "jsesc": "~3.0.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
+ "bin": {
+ "regjsparser": "bin/parser"
}
},
"node_modules/remark-mdx": {
@@ -16618,90 +15838,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/remark-rehype": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
- "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
- "license": "MIT",
- "dependencies": {
- "@types/hast": "^2.0.0",
- "@types/mdast": "^3.0.0",
- "mdast-util-to-hast": "^12.1.0",
- "unified": "^10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-rehype/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/remark-rehype/node_modules/unified": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
- "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "bail": "^2.0.0",
- "extend": "^3.0.0",
- "is-buffer": "^2.0.0",
- "is-plain-obj": "^4.0.0",
- "trough": "^2.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-rehype/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-rehype/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/remark-rehype/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/remark-stringify": {
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
@@ -17032,6 +16168,13 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rrweb-cssom": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
+ "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -17068,6 +16211,7 @@
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"mri": "^1.1.0"
@@ -17165,6 +16309,19 @@
"node": ">=18"
}
},
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=v12.22.7"
+ }
+ },
"node_modules/scheduler": {
"version": "0.23.2",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
@@ -17199,15 +16356,6 @@
"integrity": "sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==",
"license": "MIT"
},
- "node_modules/sdp-transform": {
- "version": "2.14.2",
- "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.2.tgz",
- "integrity": "sha512-icY6jVao7MfKCieyo1AyxFYm1baiM+fA00qW/KrNNVlkxHAd34riEKuEkUe4bBb3gJwLJZM+xT60Yj1QL8rHiA==",
- "license": "MIT",
- "bin": {
- "sdp-verify": "checker.js"
- }
- },
"node_modules/semver": {
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
@@ -17548,16 +16696,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/space-separated-tokens": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
- "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
"node_modules/spdx-correct": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
@@ -17927,15 +17065,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/style-to-object": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz",
- "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==",
- "license": "MIT",
- "dependencies": {
- "inline-style-parser": "0.1.1"
- }
- },
"node_modules/stylus-lookup": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/stylus-lookup/-/stylus-lookup-6.0.0.tgz",
@@ -18077,6 +17206,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/synckit": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz",
@@ -18432,6 +17568,26 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/tldts": {
+ "version": "6.1.58",
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.58.tgz",
+ "integrity": "sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tldts-core": "^6.1.58"
+ },
+ "bin": {
+ "tldts": "bin/cli.js"
+ }
+ },
+ "node_modules/tldts-core": {
+ "version": "6.1.58",
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.58.tgz",
+ "integrity": "sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/tmp": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz",
@@ -18497,23 +17653,13 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "license": "MIT",
- "optional": true
- },
- "node_modules/trim-lines": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
- "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
+ "license": "MIT"
},
"node_modules/trough": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
"integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
@@ -18533,12 +17679,6 @@
"typescript": ">=4.2.0"
}
},
- "node_modules/ts-debounce": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz",
- "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==",
- "license": "MIT"
- },
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
@@ -18719,15 +17859,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/typed-emitter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz",
- "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==",
- "license": "MIT",
- "optionalDependencies": {
- "rxjs": "*"
- }
- },
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -19032,16 +18163,6 @@
"node": ">=8"
}
},
- "node_modules/unist-util-generated": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
- "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/unist-util-inspect": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-8.1.0.tgz",
@@ -19070,19 +18191,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unist-util-position": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz",
- "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/unist-util-position-from-estree": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz",
@@ -19097,12 +18205,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/unist-util-position/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
"node_modules/unist-util-stringify-position": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
@@ -19305,21 +18407,6 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/usehooks-ts": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.0.tgz",
- "integrity": "sha512-bBIa7yUyPhE1BCc0GmR96VU/15l/9gP1Ch5mYdLcFBaFGQsdmXkvjV0TtOqW1yUd6VjIwDunm+flSciCQXujiw==",
- "license": "MIT",
- "dependencies": {
- "lodash.debounce": "^4.0.8"
- },
- "engines": {
- "node": ">=16.15.0"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17 || ^18"
- }
- },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -19344,6 +18431,7 @@
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
"integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"dequal": "^2.0.0",
@@ -19414,69 +18502,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/vfile-location": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz",
- "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "vfile": "^5.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-location/node_modules/@types/unist": {
- "version": "2.0.11",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz",
- "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
- "license": "MIT"
- },
- "node_modules/vfile-location/node_modules/unist-util-stringify-position": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
- "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-location/node_modules/vfile": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
- "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "is-buffer": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0",
- "vfile-message": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
- "node_modules/vfile-location/node_modules/vfile-message": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
- "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
- "license": "MIT",
- "dependencies": {
- "@types/unist": "^2.0.0",
- "unist-util-stringify-position": "^3.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/unified"
- }
- },
"node_modules/vfile-message": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
@@ -20398,6 +19423,19 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/w3c-xmlserializer": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/walk-up-path": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz",
@@ -20438,22 +19476,11 @@
"defaults": "^1.0.3"
}
},
- "node_modules/web-namespaces": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
- "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
- }
- },
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "license": "BSD-2-Clause",
- "optional": true
+ "license": "BSD-2-Clause"
},
"node_modules/webpack": {
"version": "5.95.0",
@@ -20549,12 +19576,34 @@
"npm": ">=3.10.0"
}
},
+ "node_modules/whatwg-encoding": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "iconv-lite": "0.6.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"license": "MIT",
- "optional": true,
"dependencies": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
@@ -21233,6 +20282,28 @@
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"license": "ISC"
},
+ "node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
"node_modules/xlsx": {
"version": "0.18.5",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz",
@@ -21254,6 +20325,23 @@
"node": ">=0.8"
}
},
+ "node_modules/xml-name-validator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -21314,6 +20402,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
"integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "dev": true,
"license": "MIT",
"funding": {
"type": "github",
diff --git a/package.json b/package.json
index e779081dc4b..a84fdb9ac13 100644
--- a/package.json
+++ b/package.json
@@ -80,6 +80,7 @@
"hi-profiles": "^1.1.0",
"i18next": "^23.11.4",
"i18next-browser-languagedetector": "^7.2.1",
+ "i18next-http-backend": "^2.6.2",
"lodash-es": "^4.17.21",
"postcss-loader": "^7.3.3",
"qrcode.react": "^3.1.0",
@@ -90,10 +91,8 @@
"react-google-recaptcha": "^3.1.0",
"react-i18next": "^15.0.2",
"react-infinite-scroll-component": "^6.1.0",
- "react-markdown": "^8.0.7",
"react-pdf": "^9.1.0",
"react-webcam": "^7.2.0",
- "rehype-raw": "^6.1.1",
"tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"use-keyboard-shortcut": "^1.1.6",
@@ -103,8 +102,11 @@
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.13",
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
+ "@types/dompurify": "^3.0.5",
"@types/events": "^3.0.3",
"@types/google.maps": "^3.55.8",
+ "@types/jsdom": "^21.1.7",
"@types/lodash-es": "^4.17.12",
"@types/node": "^22.7.4",
"@types/qrcode.react": "^1.0.5",
@@ -119,6 +121,7 @@
"autoprefixer": "^10.4.19",
"cypress-localstorage-commands": "^2.2.5",
"cypress-split": "^1.23.2",
+ "dompurify": "^3.1.7",
"dotenv": "^16.4.5",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-i18next": "^6.0.9",
@@ -128,8 +131,10 @@
"eslint-plugin-react-hooks": "^4.6.2",
"glob": "^11.0.0",
"husky": "^8.0.3",
+ "jsdom": "^25.0.1",
"lint-staged": "^13.2.3",
"local-cypress": "^1.2.6",
+ "marked": "^14.1.3",
"postcss": "^8.4.38",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.5",
@@ -168,4 +173,4 @@
"node": ">=20.12.0"
},
"packageManager": "npm@10.5.0"
-}
\ No newline at end of file
+}
diff --git a/src/Locale/en.json b/public/locale/en.json
similarity index 99%
rename from src/Locale/en.json
rename to public/locale/en.json
index e6539405229..b27b290bb83 100644
--- a/src/Locale/en.json
+++ b/public/locale/en.json
@@ -873,7 +873,7 @@
"no_policy_added": "No Insurance Policy Added",
"no_policy_found": "No Insurance Policy Found for this Patient",
"no_presets": "No Presets",
- "no_records_found": "No records found",
+ "no_records_found": "No Records Found",
"no_remarks": "No remarks",
"no_results_found": "No Results Found",
"no_staff": "No staff found",
diff --git a/src/Locale/hi.json b/public/locale/hi.json
similarity index 99%
rename from src/Locale/hi.json
rename to public/locale/hi.json
index 20a822323bf..0eb0cc28cfd 100644
--- a/src/Locale/hi.json
+++ b/public/locale/hi.json
@@ -809,4 +809,4 @@
"you_need_at_least_a_location_to_create_an_assest": "संपत्ति बनाने के लिए आपको कम से कम एक स्थान की आवश्यकता होगी।",
"zoom_in": "ज़ूम इन",
"zoom_out": "ज़ूम आउट"
-}
\ No newline at end of file
+}
diff --git a/src/Locale/kn.json b/public/locale/kn.json
similarity index 99%
rename from src/Locale/kn.json
rename to public/locale/kn.json
index 0fa96427b85..be18432e0ce 100644
--- a/src/Locale/kn.json
+++ b/public/locale/kn.json
@@ -809,4 +809,4 @@
"you_need_at_least_a_location_to_create_an_assest": "ಆಸ್ತಿಯನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಕನಿಷ್ಠ ಸ್ಥಳದ ಅಗತ್ಯವಿದೆ.",
"zoom_in": "ಜೂಮ್ ಇನ್",
"zoom_out": "ಜೂಮ್ ಔಟ್"
-}
\ No newline at end of file
+}
diff --git a/src/Locale/ml.json b/public/locale/ml.json
similarity index 99%
rename from src/Locale/ml.json
rename to public/locale/ml.json
index b9a45ca73fb..cf381c32c0e 100644
--- a/src/Locale/ml.json
+++ b/public/locale/ml.json
@@ -809,4 +809,4 @@
"you_need_at_least_a_location_to_create_an_assest": "ഒരു അസസ്റ്റ് സൃഷ്ടിക്കാൻ നിങ്ങൾക്ക് ഒരു ലൊക്കേഷനെങ്കിലും ആവശ്യമാണ്.",
"zoom_in": "സൂം ഇൻ ചെയ്യുക",
"zoom_out": "സൂം ഔട്ട്"
-}
\ No newline at end of file
+}
diff --git a/src/Locale/mr.json b/public/locale/mr.json
similarity index 100%
rename from src/Locale/mr.json
rename to public/locale/mr.json
diff --git a/src/Locale/ta.json b/public/locale/ta.json
similarity index 99%
rename from src/Locale/ta.json
rename to public/locale/ta.json
index fb5dd0a72c8..694efd52e20 100644
--- a/src/Locale/ta.json
+++ b/public/locale/ta.json
@@ -809,4 +809,4 @@
"you_need_at_least_a_location_to_create_an_assest": "ஒரு அசெஸ்ட்டை உருவாக்க குறைந்தபட்சம் ஒரு இருப்பிடமாவது தேவை.",
"zoom_in": "பெரிதாக்கவும்",
"zoom_out": "பெரிதாக்கவும்"
-}
\ No newline at end of file
+}
diff --git a/src/App.tsx b/src/App.tsx
index eea75d84c1a..62a173c8409 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,13 +1,16 @@
import { Suspense } from "react";
-import Routers from "./Routers";
-import Integrations from "./Integrations";
-import Loading from "@/components/Common/Loading";
-import HistoryAPIProvider from "./Providers/HistoryAPIProvider";
-import AuthUserProvider from "./Providers/AuthUserProvider";
-import PluginEngine from "./PluginEngine";
-import { FeatureFlagsProvider } from "./Utils/featureFlags";
+
import { Toaster } from "@/components/ui/toaster";
+import Loading from "@/components/Common/Loading";
+
+import Integrations from "@/Integrations";
+import PluginEngine from "@/PluginEngine";
+import AuthUserProvider from "@/Providers/AuthUserProvider";
+import HistoryAPIProvider from "@/Providers/HistoryAPIProvider";
+import Routers from "@/Routers";
+import { FeatureFlagsProvider } from "@/Utils/featureFlags";
+
const App = () => {
return (
}>
diff --git a/src/CAREUI/display/Chip.tsx b/src/CAREUI/display/Chip.tsx
index 14f98da8506..a2bacf8bd61 100644
--- a/src/CAREUI/display/Chip.tsx
+++ b/src/CAREUI/display/Chip.tsx
@@ -1,6 +1,8 @@
-import CareIcon, { IconName } from "../icons/CareIcon";
-import { ButtonVariant } from "@/components/Common/components/ButtonV2";
-import { classNames } from "../../Utils/utils";
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { ButtonVariant } from "@/components/Common/ButtonV2";
+
+import { classNames } from "@/Utils/utils";
interface Props {
size?: "small" | "medium" | "large";
diff --git a/src/CAREUI/display/Count.tsx b/src/CAREUI/display/Count.tsx
index 6b28ca4f962..1f43325d010 100644
--- a/src/CAREUI/display/Count.tsx
+++ b/src/CAREUI/display/Count.tsx
@@ -1,5 +1,6 @@
-import { classNames } from "../../Utils/utils";
-import CareIcon, { IconName } from "../icons/CareIcon";
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
interface Props {
count: number;
diff --git a/src/CAREUI/display/FilterBadge.tsx b/src/CAREUI/display/FilterBadge.tsx
index 0259439a4b8..3a5d40f26f2 100644
--- a/src/CAREUI/display/FilterBadge.tsx
+++ b/src/CAREUI/display/FilterBadge.tsx
@@ -1,4 +1,4 @@
-import CareIcon from "../icons/CareIcon";
+import CareIcon from "@/CAREUI/icons/CareIcon";
export interface FilterBadgeProps {
name: string;
diff --git a/src/CAREUI/display/NetworkSignal.tsx b/src/CAREUI/display/NetworkSignal.tsx
index d241a37674a..6cc212f2f0a 100644
--- a/src/CAREUI/display/NetworkSignal.tsx
+++ b/src/CAREUI/display/NetworkSignal.tsx
@@ -1,5 +1,6 @@
-import { classNames } from "../../Utils/utils";
-import CareIcon from "../icons/CareIcon";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
interface Props {
/**
diff --git a/src/CAREUI/display/PopupModal.tsx b/src/CAREUI/display/PopupModal.tsx
index b0b40f2dc7d..6410addbcc2 100644
--- a/src/CAREUI/display/PopupModal.tsx
+++ b/src/CAREUI/display/PopupModal.tsx
@@ -1,10 +1,13 @@
import { ReactNode, useEffect, useRef, useState } from "react";
-import { Cancel, Submit } from "@/components/Common/components/ButtonV2";
-import { classNames } from "../../Utils/utils";
import { useTranslation } from "react-i18next";
-import useBreakpoints from "@/common/hooks/useBreakpoints";
+
+import { Cancel, Submit } from "@/components/Common/ButtonV2";
import DialogModal from "@/components/Common/Dialog";
+import useBreakpoints from "@/hooks/useBreakpoints";
+
+import { classNames } from "@/Utils/utils";
+
type Props = {
show: boolean;
onHide: () => void;
diff --git a/src/CAREUI/display/RecordMeta.tsx b/src/CAREUI/display/RecordMeta.tsx
index 2363ddbd551..6d04c9b8def 100644
--- a/src/CAREUI/display/RecordMeta.tsx
+++ b/src/CAREUI/display/RecordMeta.tsx
@@ -1,11 +1,13 @@
-import CareIcon from "../icons/CareIcon";
+import { ReactNode } from "react";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
import {
formatDateTime,
formatName,
isUserOnline,
relativeTime,
-} from "../../Utils/utils";
-import { ReactNode } from "react";
+} from "@/Utils/utils";
interface Props {
time?: string;
diff --git a/src/CAREUI/display/SubHeading.tsx b/src/CAREUI/display/SubHeading.tsx
index 1161ecd8e55..67072fd9e02 100644
--- a/src/CAREUI/display/SubHeading.tsx
+++ b/src/CAREUI/display/SubHeading.tsx
@@ -1,6 +1,7 @@
import { ReactNode } from "react";
-import CareIcon from "../icons/CareIcon";
-import RecordMeta from "./RecordMeta";
+
+import RecordMeta from "@/CAREUI/display/RecordMeta";
+import CareIcon from "@/CAREUI/icons/CareIcon";
interface Props {
title: ReactNode;
diff --git a/src/CAREUI/display/Timeline.tsx b/src/CAREUI/display/Timeline.tsx
index aa3fd06e7de..2b029ff526f 100644
--- a/src/CAREUI/display/Timeline.tsx
+++ b/src/CAREUI/display/Timeline.tsx
@@ -1,10 +1,12 @@
-import CareIcon, { IconName } from "../icons/CareIcon";
-import { classNames, formatName } from "../../Utils/utils";
import { createContext, useContext } from "react";
+import { useTranslation } from "react-i18next";
+
+import RecordMeta from "@/CAREUI/display/RecordMeta";
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
-import RecordMeta from "./RecordMeta";
import { UserBareMinimum } from "@/components/Users/models";
-import { useTranslation } from "react-i18next";
+
+import { classNames, formatName } from "@/Utils/utils";
export interface TimelineEvent {
type: TType;
diff --git a/src/CAREUI/icons/CareIcon.tsx b/src/CAREUI/icons/CareIcon.tsx
index a45117cc675..80b57085615 100644
--- a/src/CAREUI/icons/CareIcon.tsx
+++ b/src/CAREUI/icons/CareIcon.tsx
@@ -1,5 +1,5 @@
-import iconData from "./UniconPaths.json";
-import "./icon.css";
+import iconData from "@/CAREUI/icons/UniconPaths.json";
+import "@/CAREUI/icons/icon.css";
export type IconName = keyof typeof iconData;
diff --git a/src/CAREUI/icons/Index.tsx b/src/CAREUI/icons/Index.tsx
index 527bdfd0a4c..c7f553512aa 100644
--- a/src/CAREUI/icons/Index.tsx
+++ b/src/CAREUI/icons/Index.tsx
@@ -1,10 +1,13 @@
/* eslint-disable i18next/no-literal-string */
-import React, { useState } from "react";
-import CareIcon, { IconName } from "./CareIcon";
-import iconPaths from "./UniconPaths.json";
import { t } from "i18next";
+import React, { useState } from "react";
+
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+import iconPaths from "@/CAREUI/icons/UniconPaths.json";
+
import PageTitle from "@/components/Common/PageTitle";
-import { useToast } from "@/hooks/use-toast";
+
+import { useToast } from "@/hooks/useToast";
const IconIndex: React.FC = () => {
const { toast } = useToast();
diff --git a/src/CAREUI/interactive/FiltersSlideover.tsx b/src/CAREUI/interactive/FiltersSlideover.tsx
index 4330486e9bc..959fd0621e8 100644
--- a/src/CAREUI/interactive/FiltersSlideover.tsx
+++ b/src/CAREUI/interactive/FiltersSlideover.tsx
@@ -1,9 +1,12 @@
-import { useTranslation } from "react-i18next";
-import useFilters from "@/common/hooks/useFilters";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../icons/CareIcon";
-import SlideOver from "./SlideOver";
import { ReactNode } from "react";
+import { useTranslation } from "react-i18next";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+import SlideOver from "@/CAREUI/interactive/SlideOver";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
+
+import useFilters from "@/hooks/useFilters";
type AdvancedFilter = ReturnType["advancedFilter"];
diff --git a/src/CAREUI/interactive/HumanChart.tsx b/src/CAREUI/interactive/HumanChart.tsx
index 63552d28682..1f6d87f31b3 100644
--- a/src/CAREUI/interactive/HumanChart.tsx
+++ b/src/CAREUI/interactive/HumanChart.tsx
@@ -1,4 +1,5 @@
import { Fragment } from "react/jsx-runtime";
+
import { HumanBodyPaths, HumanBodyRegion } from "@/common/constants";
type Props = {
diff --git a/src/CAREUI/interactive/KeyboardShortcut.tsx b/src/CAREUI/interactive/KeyboardShortcut.tsx
index 4ad46c99387..07f3af6a429 100644
--- a/src/CAREUI/interactive/KeyboardShortcut.tsx
+++ b/src/CAREUI/interactive/KeyboardShortcut.tsx
@@ -1,5 +1,6 @@
import useKeyboardShortcut from "use-keyboard-shortcut";
-import { classNames, isAppleDevice } from "../../Utils/utils";
+
+import { classNames, isAppleDevice } from "@/Utils/utils";
interface Props {
children?: React.ReactNode;
diff --git a/src/CAREUI/interactive/LegendInput.tsx b/src/CAREUI/interactive/LegendInput.tsx
index 83486095f7a..cb415d76ab1 100644
--- a/src/CAREUI/interactive/LegendInput.tsx
+++ b/src/CAREUI/interactive/LegendInput.tsx
@@ -1,8 +1,10 @@
-import CareIcon from "../icons/CareIcon";
-import { classNames } from "../../Utils/utils";
-import { RefObject, useRef, useState, useEffect } from "react";
+import { RefObject, useEffect, useRef, useState } from "react";
import { useTranslation } from "react-i18next";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
+
type InputProps = {
id?: string;
name: string;
diff --git a/src/CAREUI/interactive/ScrollOverlay.tsx b/src/CAREUI/interactive/ScrollOverlay.tsx
index 7389f313e7c..47d3048e2aa 100644
--- a/src/CAREUI/interactive/ScrollOverlay.tsx
+++ b/src/CAREUI/interactive/ScrollOverlay.tsx
@@ -1,5 +1,6 @@
-import useVisibility from "../../Utils/useVisibility";
-import { classNames } from "../../Utils/utils";
+import useVisibility from "@/hooks/useVisibility";
+
+import { classNames } from "@/Utils/utils";
interface Props {
className?: string;
diff --git a/src/CAREUI/interactive/SlideOver.tsx b/src/CAREUI/interactive/SlideOver.tsx
index 78982efc39d..d979be77f99 100644
--- a/src/CAREUI/interactive/SlideOver.tsx
+++ b/src/CAREUI/interactive/SlideOver.tsx
@@ -4,8 +4,10 @@ import {
Transition,
TransitionChild,
} from "@headlessui/react";
-import { classNames } from "../../Utils/utils";
-import CareIcon from "../icons/CareIcon";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
export type SlideFromEdges = "left" | "top" | "right" | "bottom";
diff --git a/src/CAREUI/interactive/Switch.tsx b/src/CAREUI/interactive/Switch.tsx
index 495722a0f39..a30f85fbc14 100644
--- a/src/CAREUI/interactive/Switch.tsx
+++ b/src/CAREUI/interactive/Switch.tsx
@@ -1,4 +1,4 @@
-import { classNames } from "../../Utils/utils";
+import { classNames } from "@/Utils/utils";
interface Props {
tabs: Record;
diff --git a/src/CAREUI/interactive/Zoom.tsx b/src/CAREUI/interactive/Zoom.tsx
index c88412dca1e..0d6513efbba 100644
--- a/src/CAREUI/interactive/Zoom.tsx
+++ b/src/CAREUI/interactive/Zoom.tsx
@@ -1,6 +1,8 @@
-import { createContext, ReactNode, useContext, useState } from "react";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../icons/CareIcon";
+import { ReactNode, createContext, useContext, useState } from "react";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
type ProviderValue = {
scale: number;
diff --git a/src/CAREUI/misc/AuthorizedChild.tsx b/src/CAREUI/misc/AuthorizedChild.tsx
index e71a4f64b5e..5805ed5f44c 100644
--- a/src/CAREUI/misc/AuthorizedChild.tsx
+++ b/src/CAREUI/misc/AuthorizedChild.tsx
@@ -1,8 +1,10 @@
import { ReactNode } from "react";
-import useAuthUser from "@/common/hooks/useAuthUser";
-import { useIsAuthorized } from "@/common/hooks/useIsAuthorized";
-import useSlug from "@/common/hooks/useSlug";
-import { AuthorizedForCB } from "../../Utils/AuthorizeFor";
+
+import useAuthUser from "@/hooks/useAuthUser";
+import { useIsAuthorized } from "@/hooks/useIsAuthorized";
+import useSlug from "@/hooks/useSlug";
+
+import { AuthorizedForCB } from "@/Utils/AuthorizeFor";
interface Props {
children: (value: { isAuthorized: boolean }) => JSX.Element;
diff --git a/src/CAREUI/misc/PaginatedList.tsx b/src/CAREUI/misc/PaginatedList.tsx
index 93a3685b394..1c5f9db99a2 100644
--- a/src/CAREUI/misc/PaginatedList.tsx
+++ b/src/CAREUI/misc/PaginatedList.tsx
@@ -1,13 +1,14 @@
import { createContext, useContext, useEffect, useState } from "react";
-import { PaginatedResponse, QueryRoute } from "../../Utils/request/types";
-import useQuery, { QueryOptions } from "../../Utils/request/useQuery";
-import ButtonV2, {
- CommonButtonProps,
-} from "@/components/Common/components/ButtonV2";
-import CareIcon from "../icons/CareIcon";
-import { classNames } from "../../Utils/utils";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2, { CommonButtonProps } from "@/components/Common/ButtonV2";
import Pagination from "@/components/Common/Pagination";
+import { PaginatedResponse, QueryRoute } from "@/Utils/request/types";
+import useQuery, { QueryOptions } from "@/Utils/request/useQuery";
+import { classNames } from "@/Utils/utils";
+
const DEFAULT_PER_PAGE_LIMIT = 14;
interface PaginatedListContext
diff --git a/src/CAREUI/misc/PrintPreview.tsx b/src/CAREUI/misc/PrintPreview.tsx
index 9efa11cc01b..53eda1339ac 100644
--- a/src/CAREUI/misc/PrintPreview.tsx
+++ b/src/CAREUI/misc/PrintPreview.tsx
@@ -1,11 +1,19 @@
import { ReactNode } from "react";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../icons/CareIcon";
-import { classNames } from "../../Utils/utils";
-import Page from "@/components/Common/components/Page";
-import useBreakpoints from "@/common/hooks/useBreakpoints";
import { useTranslation } from "react-i18next";
-import { ZoomControls, ZoomProvider, ZoomTransform } from "../interactive/Zoom";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+import {
+ ZoomControls,
+ ZoomProvider,
+ ZoomTransform,
+} from "@/CAREUI/interactive/Zoom";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
+import Page from "@/components/Common/Page";
+
+import useBreakpoints from "@/hooks/useBreakpoints";
+
+import { classNames } from "@/Utils/utils";
type Props = {
children: ReactNode;
diff --git a/src/Integrations/Plausible.tsx b/src/Integrations/Plausible.tsx
index e6c4d2fa42a..dfbb2942e5d 100644
--- a/src/Integrations/Plausible.tsx
+++ b/src/Integrations/Plausible.tsx
@@ -1,7 +1,8 @@
+import careConfig from "@careConfig";
import { useLocationChange } from "raviger";
-import Script from "@/components/Common/Script";
import { useEffect } from "react";
-import careConfig from "@careConfig";
+
+import Script from "@/components/Common/Script";
export default function Plausible() {
useLocationChange(() => {
diff --git a/src/Integrations/index.tsx b/src/Integrations/index.tsx
index 9b2b1e156fd..5582a58bc8e 100644
--- a/src/Integrations/index.tsx
+++ b/src/Integrations/index.tsx
@@ -1,5 +1,5 @@
-import Sentry from "./Sentry";
-import Plausible from "./Plausible";
+import Plausible from "@/Integrations/Plausible";
+import Sentry from "@/Integrations/Sentry";
const Integrations = { Sentry, Plausible };
diff --git a/src/Locale/TRANSLATION_CONTRIBUTION.md b/src/Locale/TRANSLATION_CONTRIBUTION.md
deleted file mode 100644
index f3150ae8fc0..00000000000
--- a/src/Locale/TRANSLATION_CONTRIBUTION.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Contributing Translations
-
-## Adding a new language
-
-- Open the Terminal and `cd` to `care_fe/src/Locale`
-- Run the command `node update_locale.js `
- Eg: `node update_locale.js ml` for Malayalam
-- The command will create a directory with default locale files.
-- After it's done, add the new language to `care_fe/src/Locale/config.ts` file.
-
-## Note
-
-⚠ - Try to separate the translation files for each module like `Facility`, `Patient` and more. Don't dump all the keys in one JSON file.
diff --git a/src/Locale/update_locale.js b/src/Locale/update_locale.js
index 61f5e32cf84..204fef3a80a 100644
--- a/src/Locale/update_locale.js
+++ b/src/Locale/update_locale.js
@@ -1,11 +1,10 @@
/* eslint-disable no-undef */
-
import {
existsSync,
mkdirSync,
+ readFileSync,
readdirSync,
writeFileSync,
- readFileSync,
} from "fs";
const DEFAULT_LOCALE = "en";
diff --git a/src/PluginEngine.tsx b/src/PluginEngine.tsx
index a56fe21b5b8..9f2fc0113fb 100644
--- a/src/PluginEngine.tsx
+++ b/src/PluginEngine.tsx
@@ -1,9 +1,12 @@
-import { CareAppsContext, useCareApps } from "@/common/hooks/useCareApps";
/* eslint-disable i18next/no-literal-string */
import React, { Suspense } from "react";
-import { SupportedPluginComponents, pluginMap } from "./pluginTypes";
import ErrorBoundary from "@/components/Common/ErrorBoundary";
+import Loading from "@/components/Common/Loading";
+
+import { CareAppsContext, useCareApps } from "@/hooks/useCareApps";
+
+import { SupportedPluginComponents, pluginMap } from "@/pluginTypes";
export default function PluginEngine({
children,
@@ -11,7 +14,7 @@ export default function PluginEngine({
children: React.ReactNode;
}) {
return (
- Loading plugins...}>
+ }>
diff --git a/src/Providers/AuthUserProvider.tsx b/src/Providers/AuthUserProvider.tsx
index 43263b98dab..1e4545f64a2 100644
--- a/src/Providers/AuthUserProvider.tsx
+++ b/src/Providers/AuthUserProvider.tsx
@@ -1,12 +1,16 @@
+import careConfig from "@careConfig";
+import { navigate } from "raviger";
import { useCallback, useEffect } from "react";
-import { AuthUserContext } from "@/common/hooks/useAuthUser";
+
import Loading from "@/components/Common/Loading";
-import routes from "../Redux/api";
-import useQuery from "../Utils/request/useQuery";
+
+import { AuthUserContext } from "@/hooks/useAuthUser";
+
import { LocalStorageKeys } from "@/common/constants";
-import request from "../Utils/request/request";
-import { navigate } from "raviger";
-import careConfig from "@careConfig";
+
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
interface Props {
children: React.ReactNode;
diff --git a/src/Providers/HistoryAPIProvider.tsx b/src/Providers/HistoryAPIProvider.tsx
index 0f60437360d..20077733b01 100644
--- a/src/Providers/HistoryAPIProvider.tsx
+++ b/src/Providers/HistoryAPIProvider.tsx
@@ -1,5 +1,5 @@
import { useLocationChange } from "raviger";
-import { createContext, ReactNode, useState } from "react";
+import { ReactNode, createContext, useState } from "react";
export const HistoryContext = createContext([]);
// eslint-disable-next-line @typescript-eslint/no-empty-function
diff --git a/src/Routers/AppRouter.tsx b/src/Routers/AppRouter.tsx
index 7275c7c2860..c8f6fbec83e 100644
--- a/src/Routers/AppRouter.tsx
+++ b/src/Routers/AppRouter.tsx
@@ -1,30 +1,34 @@
+import careConfig from "@careConfig";
+import { Redirect, usePath, useRedirect, useRoutes } from "raviger";
+import { useEffect, useState } from "react";
+
+import IconIndex from "@/CAREUI/icons/Index";
+
+import ABDMFacilityRecords from "@/components/ABDM/ABDMFacilityRecords";
+import HealthInformation from "@/components/ABDM/HealthInformation";
import {
DesktopSidebar,
MobileSidebar,
SIDEBAR_SHRINK_PREFERENCE_KEY,
SidebarShrinkContext,
} from "@/components/Common/Sidebar/Sidebar";
-import { Redirect, usePath, useRedirect, useRoutes } from "raviger";
-import { useEffect, useState } from "react";
-
-import ABDMFacilityRecords from "@/components/ABDM/ABDMFacilityRecords";
-import AssetRoutes from "./routes/AssetRoutes";
-import { BLACKLISTED_PATHS } from "@/common/constants";
-import ConsultationRoutes from "./routes/ConsultationRoutes";
import Error404 from "@/components/ErrorPages/404";
-import FacilityRoutes from "./routes/FacilityRoutes";
-import HealthInformation from "@/components/ABDM/HealthInformation";
-import IconIndex from "../CAREUI/icons/Index";
-import { NoticeBoard } from "@/components/Notifications/NoticeBoard";
-import PatientRoutes from "./routes/PatientRoutes";
-import ResourceRoutes from "./routes/ResourceRoutes";
-import SampleRoutes from "./routes/SampleRoutes";
import SessionExpired from "@/components/ErrorPages/SessionExpired";
-import ShiftingRoutes from "./routes/ShiftingRoutes";
+import { NoticeBoard } from "@/components/Notifications/NoticeBoard";
import ShowPushNotification from "@/components/Notifications/ShowPushNotification";
-import UserRoutes from "./routes/UserRoutes";
-import careConfig from "@careConfig";
-import { usePluginRoutes } from "@/common/hooks/useCareApps";
+
+import { usePluginRoutes } from "@/hooks/useCareApps";
+
+import { BLACKLISTED_PATHS } from "@/common/constants";
+
+import AssetRoutes from "@/Routers/routes/AssetRoutes";
+import ConsultationRoutes from "@/Routers/routes/ConsultationRoutes";
+import FacilityRoutes from "@/Routers/routes/FacilityRoutes";
+import PatientRoutes from "@/Routers/routes/PatientRoutes";
+import ResourceRoutes from "@/Routers/routes/ResourceRoutes";
+import SampleRoutes from "@/Routers/routes/SampleRoutes";
+import ShiftingRoutes from "@/Routers/routes/ShiftingRoutes";
+import UserRoutes from "@/Routers/routes/UserRoutes";
export type RouteParams =
T extends `${string}:${infer Param}/${infer Rest}`
diff --git a/src/Routers/SessionRouter.tsx b/src/Routers/SessionRouter.tsx
index f6556b38c39..8982a629ba0 100644
--- a/src/Routers/SessionRouter.tsx
+++ b/src/Routers/SessionRouter.tsx
@@ -1,14 +1,20 @@
-import { Login, ResetPassword } from "@/components/Auth";
import { useRoutes } from "raviger";
-import SessionExpired from "@/components/ErrorPages/SessionExpired";
+import { lazy } from "react";
+
+import Login from "@/components/Auth/Login";
+import ResetPassword from "@/components/Auth/ResetPassword";
import InvalidReset from "@/components/ErrorPages/InvalidReset";
-import LicensesPage from "@/components/Licenses/LicensesPage";
+import SessionExpired from "@/components/ErrorPages/SessionExpired";
+
+const LicensesPage = lazy(() => import("@/components/Licenses/LicensesPage"));
const routes = {
"/": () => ,
"/login": () => ,
"/forgot-password": () => ,
- "/password_reset/:token": ({ token }: any) => ,
+ "/password_reset/:token": ({ token }: { token: string }) => (
+
+ ),
"/session-expired": () => ,
"/licenses": () => ,
"/invalid-reset": () => ,
diff --git a/src/Routers/index.tsx b/src/Routers/index.tsx
index 8a27df7b59d..e1b507dbde0 100644
--- a/src/Routers/index.tsx
+++ b/src/Routers/index.tsx
@@ -1,5 +1,5 @@
-import SessionRouter from "./SessionRouter";
-import AppRouter from "./AppRouter";
+import AppRouter from "@/Routers/AppRouter";
+import SessionRouter from "@/Routers/SessionRouter";
const routers = { SessionRouter, AppRouter };
diff --git a/src/Routers/routes/AssetRoutes.tsx b/src/Routers/routes/AssetRoutes.tsx
index 4c32df55069..8a54e465c79 100644
--- a/src/Routers/routes/AssetRoutes.tsx
+++ b/src/Routers/routes/AssetRoutes.tsx
@@ -2,7 +2,8 @@ import AssetConfigure from "@/components/Assets/AssetConfigure";
import AssetManage from "@/components/Assets/AssetManage";
import AssetsList from "@/components/Assets/AssetsList";
import AssetCreate from "@/components/Facility/AssetCreate";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const AssetRoutes: AppRoutes = {
"/assets": () => ,
diff --git a/src/Routers/routes/ConsultationRoutes.tsx b/src/Routers/routes/ConsultationRoutes.tsx
index bb804bd7613..2d283df27d7 100644
--- a/src/Routers/routes/ConsultationRoutes.tsx
+++ b/src/Routers/routes/ConsultationRoutes.tsx
@@ -1,19 +1,20 @@
+import { ConsultationDetails } from "@/components/Facility/ConsultationDetails";
+import ConsultationDoctorNotes from "@/components/Facility/ConsultationDoctorNotes";
import { ConsultationForm } from "@/components/Facility/ConsultationForm";
import Investigation from "@/components/Facility/Investigations";
+import InvestigationPrintPreview from "@/components/Facility/Investigations/InvestigationsPrintPreview";
import ShowInvestigation from "@/components/Facility/Investigations/ShowInvestigation";
-import ManagePrescriptions from "@/components/Medicine/ManagePrescriptions";
-import { DailyRoundListDetails } from "@/components/Patient/DailyRoundListDetails";
-import { DailyRounds } from "@/components/Patient/DailyRounds";
-import { ConsultationDetails } from "@/components/Facility/ConsultationDetails";
import TreatmentSummary from "@/components/Facility/TreatmentSummary";
-import ConsultationDoctorNotes from "@/components/Facility/ConsultationDoctorNotes";
-import PatientConsentRecords from "@/components/Patient/PatientConsentRecords";
import CriticalCareEditor from "@/components/LogUpdate/CriticalCareEditor";
-import PrescriptionsPrintPreview from "@/components/Medicine/PrintPreview";
import CriticalCarePreview from "@/components/LogUpdate/CriticalCarePreview";
+import ManagePrescriptions from "@/components/Medicine/ManagePrescriptions";
+import PrescriptionsPrintPreview from "@/components/Medicine/PrintPreview";
+import { DailyRoundListDetails } from "@/components/Patient/DailyRoundListDetails";
+import { DailyRounds } from "@/components/Patient/DailyRounds";
import FileUploadPage from "@/components/Patient/FileUploadPage";
-import InvestigationPrintPreview from "@/components/Facility/Investigations/InvestigationsPrintPreview";
-import { AppRoutes } from "../AppRouter";
+import PatientConsentRecords from "@/components/Patient/PatientConsentRecords";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const consultationRoutes: AppRoutes = {
"/facility/:facilityId/patient/:patientId/consultation": ({
diff --git a/src/Routers/routes/FacilityInventoryRoutes.tsx b/src/Routers/routes/FacilityInventoryRoutes.tsx
index 3de193ffe08..e096460ed46 100644
--- a/src/Routers/routes/FacilityInventoryRoutes.tsx
+++ b/src/Routers/routes/FacilityInventoryRoutes.tsx
@@ -1,9 +1,11 @@
import { Redirect } from "raviger";
+
import InventoryList from "@/components/Facility/InventoryList";
import InventoryLog from "@/components/Facility/InventoryLog";
import MinQuantityList from "@/components/Facility/MinQuantityList";
import { SetInventoryForm } from "@/components/Facility/SetInventoryForm";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const FacilityInventoryRoutes: AppRoutes = {
"/facility/:facilityId/inventory": ({ facilityId }) => (
diff --git a/src/Routers/routes/FacilityLocationRoutes.tsx b/src/Routers/routes/FacilityLocationRoutes.tsx
index e2f574664ce..c142ed5ed01 100644
--- a/src/Routers/routes/FacilityLocationRoutes.tsx
+++ b/src/Routers/routes/FacilityLocationRoutes.tsx
@@ -1,12 +1,13 @@
+import CentralLiveMonitoring from "@/components/CameraFeed/CentralLiveMonitoring";
import { AddBedForm } from "@/components/Facility/AddBedForm";
import { AddInventoryForm } from "@/components/Facility/AddInventoryForm";
import { AddLocationForm } from "@/components/Facility/AddLocationForm";
import { BedManagement } from "@/components/Facility/BedManagement";
import LocationManagement from "@/components/Facility/LocationManagement";
-import CentralLiveMonitoring from "@/components/CameraFeed/CentralLiveMonitoring";
-import { AuthorizeUserRoute } from "../../Utils/AuthorizeFor";
-import { CameraFeedPermittedUserTypes } from "../../Utils/permissions";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
+import { AuthorizeUserRoute } from "@/Utils/AuthorizeFor";
+import { CameraFeedPermittedUserTypes } from "@/Utils/permissions";
const FacilityLocationRoutes: AppRoutes = {
"/facility/:facilityId/location": ({ facilityId }) => (
diff --git a/src/Routers/routes/FacilityRoutes.tsx b/src/Routers/routes/FacilityRoutes.tsx
index e3b787abd9f..8c942518996 100644
--- a/src/Routers/routes/FacilityRoutes.tsx
+++ b/src/Routers/routes/FacilityRoutes.tsx
@@ -1,15 +1,16 @@
+import CentralNursingStation from "@/components/Facility/CentralNursingStation";
+import DischargedPatientsList from "@/components/Facility/DischargedPatientsList";
import { FacilityConfigure } from "@/components/Facility/FacilityConfigure";
import { FacilityCreate } from "@/components/Facility/FacilityCreate";
import { FacilityHome } from "@/components/Facility/FacilityHome";
-import FacilityUsers from "@/components/Facility/FacilityUsers";
import { FacilityList } from "@/components/Facility/FacilityList";
+import FacilityUsers from "@/components/Facility/FacilityUsers";
import { TriageForm } from "@/components/Facility/TriageForm";
import ResourceCreate from "@/components/Resource/ResourceCreate";
-import CentralNursingStation from "@/components/Facility/CentralNursingStation";
-import FacilityLocationRoutes from "./FacilityLocationRoutes";
-import FacilityInventoryRoutes from "./FacilityInventoryRoutes";
-import DischargedPatientsList from "@/components/Facility/DischargedPatientsList";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
+import FacilityInventoryRoutes from "@/Routers/routes/FacilityInventoryRoutes";
+import FacilityLocationRoutes from "@/Routers/routes/FacilityLocationRoutes";
const FacilityRoutes: AppRoutes = {
"/facility": () => ,
diff --git a/src/Routers/routes/PatientRoutes.tsx b/src/Routers/routes/PatientRoutes.tsx
index 8f9d8bd460f..0a46190cfd1 100644
--- a/src/Routers/routes/PatientRoutes.tsx
+++ b/src/Routers/routes/PatientRoutes.tsx
@@ -1,12 +1,13 @@
+import DeathReport from "@/components/DeathReport/DeathReport";
import InvestigationReports from "@/components/Facility/Investigations/Reports";
+import FileUploadPage from "@/components/Patient/FileUploadPage";
+import { InsuranceDetails } from "@/components/Patient/InsuranceDetails";
import { PatientManager } from "@/components/Patient/ManagePatients";
import { PatientHome } from "@/components/Patient/PatientHome";
import PatientNotes from "@/components/Patient/PatientNotes";
import { PatientRegister } from "@/components/Patient/PatientRegister";
-import DeathReport from "@/components/DeathReport/DeathReport";
-import { InsuranceDetails } from "@/components/Patient/InsuranceDetails";
-import FileUploadPage from "@/components/Patient/FileUploadPage";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const PatientRoutes: AppRoutes = {
"/patients": () => ,
diff --git a/src/Routers/routes/ResourceRoutes.tsx b/src/Routers/routes/ResourceRoutes.tsx
index 24e60ec5ad9..547aeb53610 100644
--- a/src/Routers/routes/ResourceRoutes.tsx
+++ b/src/Routers/routes/ResourceRoutes.tsx
@@ -1,10 +1,12 @@
-import ResourceDetails from "@/components/Resource/ResourceDetails";
-import { ResourceDetailsUpdate } from "@/components/Resource/ResourceDetailsUpdate";
import { Redirect } from "raviger";
-import { AppRoutes } from "../AppRouter";
+
import BoardView from "@/components/Resource/ResourceBoard";
+import ResourceDetails from "@/components/Resource/ResourceDetails";
+import { ResourceDetailsUpdate } from "@/components/Resource/ResourceDetailsUpdate";
import ListView from "@/components/Resource/ResourceList";
+import { AppRoutes } from "@/Routers/AppRouter";
+
const getDefaultView = () =>
localStorage.getItem("defaultResourceView") === "list" ? "list" : "board";
diff --git a/src/Routers/routes/SampleRoutes.tsx b/src/Routers/routes/SampleRoutes.tsx
index a09f5603a62..d9d3162cdd9 100644
--- a/src/Routers/routes/SampleRoutes.tsx
+++ b/src/Routers/routes/SampleRoutes.tsx
@@ -2,7 +2,8 @@ import { SampleDetails } from "@/components/Patient/SampleDetails";
import SampleReport from "@/components/Patient/SamplePreview";
import { SampleTest } from "@/components/Patient/SampleTest";
import SampleViewAdmin from "@/components/Patient/SampleViewAdmin";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const SampleRoutes: AppRoutes = {
"/sample": () => ,
diff --git a/src/Routers/routes/ShiftingRoutes.tsx b/src/Routers/routes/ShiftingRoutes.tsx
index b5448cc527f..68131390f50 100644
--- a/src/Routers/routes/ShiftingRoutes.tsx
+++ b/src/Routers/routes/ShiftingRoutes.tsx
@@ -1,10 +1,12 @@
+import { Redirect } from "raviger";
+
import { ShiftCreate } from "@/components/Patient/ShiftCreate";
import ShiftDetails from "@/components/Shifting/ShiftDetails";
import { ShiftDetailsUpdate } from "@/components/Shifting/ShiftDetailsUpdate";
-import ListView from "@/components/Shifting/ShiftingList";
import BoardView from "@/components/Shifting/ShiftingBoard";
-import { Redirect } from "raviger";
-import { AppRoutes } from "../AppRouter";
+import ListView from "@/components/Shifting/ShiftingList";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const getDefaultView = () =>
localStorage.getItem("defaultShiftView") === "list" ? "list" : "board";
diff --git a/src/Routers/routes/UserRoutes.tsx b/src/Routers/routes/UserRoutes.tsx
index d7542c15a15..ff7212a02e2 100644
--- a/src/Routers/routes/UserRoutes.tsx
+++ b/src/Routers/routes/UserRoutes.tsx
@@ -1,7 +1,8 @@
import ManageUsers from "@/components/Users/ManageUsers";
import { UserAdd } from "@/components/Users/UserAdd";
import UserProfile from "@/components/Users/UserProfile";
-import { AppRoutes } from "../AppRouter";
+
+import { AppRoutes } from "@/Routers/AppRouter";
const UserRoutes: AppRoutes = {
"/users": () => ,
diff --git a/src/Utils/AuthorizeFor.tsx b/src/Utils/AuthorizeFor.tsx
index 6e1e048ee4e..6324dd9909e 100644
--- a/src/Utils/AuthorizeFor.tsx
+++ b/src/Utils/AuthorizeFor.tsx
@@ -1,8 +1,11 @@
-import { UserRole } from "@/common/constants";
import React from "react";
-import useAuthUser from "@/common/hooks/useAuthUser";
+
import Error404 from "@/components/ErrorPages/404";
+import useAuthUser from "@/hooks/useAuthUser";
+
+import { UserRole } from "@/common/constants";
+
export type AuthorizedForCB = (userType: UserRole) => boolean;
interface AuthorizeUserRouteProps {
diff --git a/src/Utils/AutoSave.tsx b/src/Utils/AutoSave.tsx
index 45217dd51b4..f621a58802d 100644
--- a/src/Utils/AutoSave.tsx
+++ b/src/Utils/AutoSave.tsx
@@ -1,16 +1,20 @@
import React, {
- useReducer,
+ Dispatch,
+ ReactNode,
+ useContext,
useEffect,
+ useReducer,
useRef,
useState,
- Dispatch,
- useContext,
- ReactNode,
} from "react";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
import { Button } from "@/components/ui/button";
+
import { FormAction, FormReducer, FormState } from "@/components/Form/Utils";
-import { relativeTime } from "./utils";
-import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { relativeTime } from "@/Utils/utils";
type Draft = {
timestamp: number;
diff --git a/src/Utils/Notifications.js b/src/Utils/Notifications.js
index ce57ab5edd9..5b3ecdf143c 100644
--- a/src/Utils/Notifications.js
+++ b/src/Utils/Notifications.js
@@ -1,6 +1,6 @@
-import { alert, Stack, defaultModules } from "@pnotify/core";
+import { Stack, alert, defaultModules } from "@pnotify/core";
import * as PNotifyMobile from "@pnotify/mobile";
-import { startCase, camelCase } from "lodash-es";
+import { camelCase, startCase } from "lodash-es";
defaultModules.set(PNotifyMobile, {});
diff --git a/src/Utils/dayjs.ts b/src/Utils/dayjs.ts
index b70c2fc044b..a053cd1ffbb 100644
--- a/src/Utils/dayjs.ts
+++ b/src/Utils/dayjs.ts
@@ -1,8 +1,8 @@
import dayjs from "dayjs";
-import relativeTime from "dayjs/plugin/relativeTime";
-import duration from "dayjs/plugin/duration";
import customParseFormat from "dayjs/plugin/customParseFormat";
+import duration from "dayjs/plugin/duration";
import isBetween from "dayjs/plugin/isBetween";
+import relativeTime from "dayjs/plugin/relativeTime";
dayjs.extend(relativeTime);
dayjs.extend(duration);
diff --git a/src/Utils/featureFlags.tsx b/src/Utils/featureFlags.tsx
index 7a1fd85e28b..a475bee57d6 100644
--- a/src/Utils/featureFlags.tsx
+++ b/src/Utils/featureFlags.tsx
@@ -1,9 +1,12 @@
-import { createContext, useContext, useState, useEffect } from "react";
-import useQuery from "./request/useQuery";
-import routes from "../Redux/api";
-import useAuthUser from "@/common/hooks/useAuthUser";
+import { createContext, useContext, useEffect, useState } from "react";
+
import { FacilityModel } from "@/components/Facility/models";
+import useAuthUser from "@/hooks/useAuthUser";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
+
export type FeatureFlag = "SCRIBE_ENABLED"; // "HCX_ENABLED" | "ABDM_ENABLED" |
export interface FeatureFlagsResponse {
diff --git a/src/Utils/permissions.ts b/src/Utils/permissions.ts
index 3037f23c9f7..35f12715eff 100644
--- a/src/Utils/permissions.ts
+++ b/src/Utils/permissions.ts
@@ -1,6 +1,7 @@
-import { USER_TYPES, UserRole } from "@/common/constants";
import { UserModel } from "@/components/Users/models";
+import { USER_TYPES, UserRole } from "@/common/constants";
+
export const showUserDelete = (authUser: UserModel, targetUser: UserModel) => {
// Auth user should be higher in hierarchy than target user
if (
diff --git a/src/Redux/api.tsx b/src/Utils/request/api.tsx
similarity index 99%
rename from src/Redux/api.tsx
rename to src/Utils/request/api.tsx
index a2794e35203..441b9a3d8c8 100644
--- a/src/Redux/api.tsx
+++ b/src/Utils/request/api.tsx
@@ -1,7 +1,13 @@
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
import {
ConsentRequestModel,
CreateConsentTBody,
} from "@/components/ABDM/types/consent";
+import {
+ IHealthFacility,
+ IcreateHealthFacilityTBody,
+ IpartialUpdateHealthFacilityTBody,
+} from "@/components/ABDM/types/health-facility";
import { HealthInformationModel } from "@/components/ABDM/types/health-information";
import {
AssetBedBody,
@@ -14,6 +20,22 @@ import {
AvailabilityRecord,
PatientAssetBed,
} from "@/components/Assets/AssetTypes";
+import { ICD11DiagnosisModel } from "@/components/Diagnosis/types";
+import {
+ IDeleteBedCapacity,
+ ILocalBodies,
+ ILocalBodyByDistrict,
+} from "@/components/ExternalResult/models";
+import {
+ EventGeneric,
+ type Type,
+} from "@/components/Facility/ConsultationDetails/Events/types";
+import {
+ InvestigationGroup,
+ InvestigationType,
+} from "@/components/Facility/Investigations";
+import { Investigation } from "@/components/Facility/Investigations/Reports/types";
+import { InvestigationSessionType } from "@/components/Facility/Investigations/investigationsTab";
import {
BedModel,
CapacityModal,
@@ -47,40 +69,30 @@ import {
StateModel,
WardModel,
} from "@/components/Facility/models";
-import {
- DailyRoundsModel,
- PatientModel,
- SampleReportModel,
- SampleTestModel,
-} from "@/components/Patient/models";
-import {
- IDeleteBedCapacity,
- ILocalBodies,
- ILocalBodyByDistrict,
-} from "@/components/ExternalResult/models";
-import {
- InvestigationGroup,
- InvestigationType,
-} from "@/components/Facility/Investigations";
import {
DupPatientModel,
PatientConsentModel,
PatientTransferRequest,
} from "@/components/Facility/models";
+import { InsurerOptionModel } from "@/components/HCX/InsurerAutocomplete";
+import { HCXPolicyModel } from "@/components/HCX/models";
import { MedibaseMedicine, Prescription } from "@/components/Medicine/models";
import {
NotificationData,
PNconfigData,
} from "@/components/Notifications/models";
-import { HCXPolicyModel } from "@/components/HCX/models";
-import { ICD11DiagnosisModel } from "@/components/Diagnosis/types";
-import { Investigation } from "@/components/Facility/Investigations/Reports/types";
-import { PaginatedResponse } from "../Utils/request/types";
+import {
+ DailyRoundsModel,
+ PatientModel,
+ SampleReportModel,
+ SampleTestModel,
+} from "@/components/Patient/models";
import {
CreateFileRequest,
CreateFileResponse,
FileUploadModel,
} from "@/components/Patient/models";
+import { ScribeModel } from "@/components/Scribe/Scribe";
import {
SkillModel,
SkillObjectModel,
@@ -88,19 +100,8 @@ import {
UserAssignedModel,
UserModel,
} from "@/components/Users/models";
-import {
- EventGeneric,
- type Type,
-} from "@/components/Facility/ConsultationDetails/Events/types";
-import { InvestigationSessionType } from "@/components/Facility/Investigations/investigationsTab";
-import { AbhaNumberModel } from "@/components/ABDM/types/abha";
-import { ScribeModel } from "@/components/Scribe/Scribe";
-import {
- IcreateHealthFacilityTBody,
- IHealthFacility,
- IpartialUpdateHealthFacilityTBody,
-} from "@/components/ABDM/types/health-facility";
-import { InsurerOptionModel } from "@/components/HCX/InsurerAutocomplete";
+
+import { PaginatedResponse } from "@/Utils/request/types";
/**
* A fake function that returns an empty object casted to type T
diff --git a/src/Utils/request/handleResponse.ts b/src/Utils/request/handleResponse.ts
index 905417ad0e2..339d5559b6b 100644
--- a/src/Utils/request/handleResponse.ts
+++ b/src/Utils/request/handleResponse.ts
@@ -1,7 +1,8 @@
-import { RequestResult } from "./types";
-import * as Notifications from "../Notifications";
import { navigate } from "raviger";
+import * as Notifications from "@/Utils/Notifications";
+import { RequestResult } from "@/Utils/request/types";
+
export default function handleResponse(
{ res, error }: RequestResult,
silent?: boolean,
diff --git a/src/Utils/request/request.ts b/src/Utils/request/request.ts
index 3fa648316af..d036ad49750 100644
--- a/src/Utils/request/request.ts
+++ b/src/Utils/request/request.ts
@@ -1,7 +1,8 @@
import careConfig from "@careConfig";
-import handleResponse from "./handleResponse";
-import { RequestOptions, RequestResult, Route } from "./types";
-import { makeHeaders, makeUrl } from "./utils";
+
+import handleResponse from "@/Utils/request/handleResponse";
+import { RequestOptions, RequestResult, Route } from "@/Utils/request/types";
+import { makeHeaders, makeUrl } from "@/Utils/request/utils";
type ControllerXORControllerRef =
| {
diff --git a/src/Utils/request/uploadFile.ts b/src/Utils/request/uploadFile.ts
index ca62672f642..005eeaf92aa 100644
--- a/src/Utils/request/uploadFile.ts
+++ b/src/Utils/request/uploadFile.ts
@@ -1,6 +1,7 @@
import { Dispatch, SetStateAction } from "react";
-import { handleUploadPercentage } from "./utils";
-import * as Notification from "../../Utils/Notifications";
+
+import * as Notification from "@/Utils/Notifications";
+import { handleUploadPercentage } from "@/Utils/request/utils";
const uploadFile = (
url: string,
diff --git a/src/Utils/request/useMutation.ts b/src/Utils/request/useMutation.ts
index 737b32a2237..fbc6edc3940 100644
--- a/src/Utils/request/useMutation.ts
+++ b/src/Utils/request/useMutation.ts
@@ -1,3 +1,5 @@
+import React from "react";
+
import request from "@/Utils/request/request";
import {
MutationRoute,
@@ -5,7 +7,6 @@ import {
RequestResult,
} from "@/Utils/request/types";
import { mergeRequestOptions } from "@/Utils/request/utils";
-import React from "react";
export default function useMutation(
route: MutationRoute,
diff --git a/src/Utils/request/useQuery.ts b/src/Utils/request/useQuery.ts
index d9bec8f7a05..109ff0bb2f1 100644
--- a/src/Utils/request/useQuery.ts
+++ b/src/Utils/request/useQuery.ts
@@ -1,7 +1,12 @@
import { useCallback, useEffect, useRef, useState } from "react";
-import { QueryRoute, RequestOptions, RequestResult } from "./types";
-import request from "./request";
-import { mergeRequestOptions } from "./utils";
+
+import request from "@/Utils/request/request";
+import {
+ QueryRoute,
+ RequestOptions,
+ RequestResult,
+} from "@/Utils/request/types";
+import { mergeRequestOptions } from "@/Utils/request/utils";
export interface QueryOptions extends RequestOptions {
prefetch?: boolean;
diff --git a/src/Utils/request/utils.ts b/src/Utils/request/utils.ts
index 2734625e196..8fd7bc96bea 100644
--- a/src/Utils/request/utils.ts
+++ b/src/Utils/request/utils.ts
@@ -1,7 +1,9 @@
import { Dispatch, SetStateAction } from "react";
+
import { LocalStorageKeys } from "@/common/constants";
-import * as Notification from "../Notifications";
-import { QueryParams, RequestOptions } from "./types";
+
+import * as Notification from "@/Utils/Notifications";
+import { QueryParams, RequestOptions } from "@/Utils/request/types";
export function makeUrl(
path: string,
diff --git a/src/Utils/useRecorder.d.ts b/src/Utils/useRecorder.d.ts
deleted file mode 100644
index ed253a47646..00000000000
--- a/src/Utils/useRecorder.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import useRecorder from "./useRecorder";
-export default useRecorder as any;
diff --git a/src/Utils/useSegmentedRecorder.ts b/src/Utils/useSegmentedRecorder.ts
index fe38afb3b06..c10379a9d12 100644
--- a/src/Utils/useSegmentedRecorder.ts
+++ b/src/Utils/useSegmentedRecorder.ts
@@ -1,7 +1,8 @@
-import { useState, useEffect } from "react";
-import * as Notify from "./Notifications";
+import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
+import * as Notify from "@/Utils/Notifications";
+
const useSegmentedRecording = () => {
const [isRecording, setIsRecording] = useState(false);
const [recorder, setRecorder] = useState(null);
diff --git a/src/Utils/utils.ts b/src/Utils/utils.ts
index 4ba10746d61..3888406ad29 100644
--- a/src/Utils/utils.ts
+++ b/src/Utils/utils.ts
@@ -1,7 +1,9 @@
+import { PatientModel } from "@/components/Patient/models";
+
import { AREACODES, IN_LANDLINE_AREA_CODES } from "@/common/constants";
import phoneCodesJson from "@/common/static/countryPhoneAndFlags.json";
-import dayjs from "./dayjs";
-import { PatientModel } from "@/components/Patient/models";
+
+import dayjs from "@/Utils/dayjs";
interface ApacheParams {
age: number;
diff --git a/src/common/constants.tsx b/src/common/constants.tsx
index 87432fcaadb..b917ea1aa68 100644
--- a/src/common/constants.tsx
+++ b/src/common/constants.tsx
@@ -1,13 +1,16 @@
+import { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { ConsentHIType, ConsentPurpose } from "@/components/ABDM/types/consent";
+import { SortOption } from "@/components/Common/SortDropdown";
import {
PatientCategory,
SpokeRelationship,
} from "@/components/Facility/models";
-import { SortOption } from "@/components/Common/SortDropdown";
-import { dateQueryString } from "../Utils/utils";
-import { IconName } from "../CAREUI/icons/CareIcon";
import { PhoneNumberValidator } from "@/components/Form/FieldValidators";
-import { SchemaType } from "./schemaParser";
-import { ConsentHIType, ConsentPurpose } from "@/components/ABDM/types/consent";
+
+import { SchemaType } from "@/common/schemaParser";
+
+import { dateQueryString } from "@/Utils/utils";
export const RESULTS_PER_PAGE_LIMIT = 14;
export const PAGINATION_LIMIT = 36;
diff --git a/src/common/utils.tsx b/src/common/utils.tsx
index 4e14e3bf5ba..7089851a018 100644
--- a/src/common/utils.tsx
+++ b/src/common/utils.tsx
@@ -1,7 +1,9 @@
/* eslint-disable react-hooks/exhaustive-deps */
import { useEffect } from "react";
-import { OptionsType } from "./constants";
-import { humanizeStrings } from "../Utils/utils";
+
+import { OptionsType } from "@/common/constants";
+
+import { humanizeStrings } from "@/Utils/utils";
export interface statusType {
aborted?: boolean;
diff --git a/src/components/ABDM/ABDMFacilityRecords.tsx b/src/components/ABDM/ABDMFacilityRecords.tsx
index 3e23e82fc8f..ef3a1da8ab4 100644
--- a/src/components/ABDM/ABDMFacilityRecords.tsx
+++ b/src/components/ABDM/ABDMFacilityRecords.tsx
@@ -1,13 +1,16 @@
import { Link } from "raviger";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
-import { classNames, formatDateTime } from "../../Utils/utils";
-import Loading from "@/components/Common/Loading";
-import Page from "@/components/Common/components/Page";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
import { useTranslation } from "react-i18next";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
+import Loading from "@/components/Common/Loading";
+import Page from "@/components/Common/Page";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
+import { classNames, formatDateTime } from "@/Utils/utils";
+
interface IProps {
facilityId: string;
}
@@ -184,6 +187,13 @@ export default function ABDMFacilityRecords({ facilityId }: IProps) {
+ {consentsResult?.results.length === 0 && (
+
+
+ {t("no_records_found")}
+
+
+ )}
diff --git a/src/components/ABDM/ABDMRecordsTab.tsx b/src/components/ABDM/ABDMRecordsTab.tsx
index d97edbb0cc2..3b6f2493fb4 100644
--- a/src/components/ABDM/ABDMRecordsTab.tsx
+++ b/src/components/ABDM/ABDMRecordsTab.tsx
@@ -1,16 +1,22 @@
-import { ConsentArtefactModel, ConsentRequestModel } from "./types/consent";
import dayjs from "dayjs";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import * as Notification from "../../Utils/Notifications";
-import Loading from "@/components/Common/Loading";
-import { classNames, formatName } from "../../Utils/utils";
import { Link } from "raviger";
-import routes from "../../Redux/api";
-import request from "../../Utils/request/request";
-import useQuery from "../../Utils/request/useQuery";
import { useTranslation } from "react-i18next";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import {
+ ConsentArtefactModel,
+ ConsentRequestModel,
+} from "@/components/ABDM/types/consent";
+import ButtonV2 from "@/components/Common/ButtonV2";
+import Loading from "@/components/Common/Loading";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+import { classNames, formatName } from "@/Utils/utils";
+
interface IConsentArtefactCardProps {
artefact: ConsentArtefactModel;
}
diff --git a/src/components/ABDM/ABHAProfileModal.tsx b/src/components/ABDM/ABHAProfileModal.tsx
index f242a1e2fa8..1e348a40778 100644
--- a/src/components/ABDM/ABHAProfileModal.tsx
+++ b/src/components/ABDM/ABHAProfileModal.tsx
@@ -1,15 +1,17 @@
-import * as Notify from "../../Utils/Notifications";
-
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import DialogModal from "@/components/Common/Dialog";
import QRCode from "qrcode.react";
-import { formatDateTime } from "../../Utils/utils";
import { useRef } from "react";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import { AbhaNumberModel } from "./types/abha";
import { useTranslation } from "react-i18next";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import DialogModal from "@/components/Common/Dialog";
+
+import * as Notify from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import { formatDateTime } from "@/Utils/utils";
+
interface IProps {
patientId?: string;
abha?: AbhaNumberModel;
diff --git a/src/components/ABDM/ConfigureHealthFacility.tsx b/src/components/ABDM/ConfigureHealthFacility.tsx
index 78b71e58bc3..ba3eb325dec 100644
--- a/src/components/ABDM/ConfigureHealthFacility.tsx
+++ b/src/components/ABDM/ConfigureHealthFacility.tsx
@@ -1,17 +1,19 @@
-import { useReducer, useState } from "react";
-import * as Notification from "../../Utils/Notifications";
import { navigate } from "raviger";
-import { Submit } from "@/components/Common/components/ButtonV2";
-import TextFormField from "../Form/FormFields/TextFormField";
-import { classNames } from "../../Utils/utils";
-import useQuery from "../../Utils/request/useQuery";
-import routes from "../../Redux/api";
-import request from "../../Utils/request/request";
-import { FieldChangeEvent } from "../Form/FormFields/Utils";
-import { IHealthFacility } from "./types/health-facility";
+import { useReducer, useState } from "react";
import { useTranslation } from "react-i18next";
+import { IHealthFacility } from "@/components/ABDM/types/health-facility";
+import { Submit } from "@/components/Common/ButtonV2";
import Loading from "@/components/Common/Loading";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+import { FieldChangeEvent } from "@/components/Form/FormFields/Utils";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+import { classNames } from "@/Utils/utils";
+
const initForm = {
health_facility: null as IHealthFacility | null,
hf_id: "",
diff --git a/src/components/ABDM/FetchRecordsModal.tsx b/src/components/ABDM/FetchRecordsModal.tsx
index 441bee0ddbd..9433374f931 100644
--- a/src/components/ABDM/FetchRecordsModal.tsx
+++ b/src/components/ABDM/FetchRecordsModal.tsx
@@ -1,24 +1,27 @@
-import * as Notification from "../../Utils/Notifications";
+import dayjs from "dayjs";
+import { navigate } from "raviger";
+import { useState } from "react";
+import { useTranslation } from "react-i18next";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import { ConsentHIType, ConsentPurpose } from "@/components/ABDM/types/consent";
+import ButtonV2 from "@/components/Common/ButtonV2";
import DialogModal from "@/components/Common/Dialog";
-import TextFormField from "../Form/FormFields/TextFormField";
-import { useState } from "react";
+import DateFormField from "@/components/Form/FormFields/DateFormField";
+import DateRangeFormField from "@/components/Form/FormFields/DateRangeFormField";
import {
MultiSelectFormField,
SelectFormField,
-} from "../Form/FormFields/SelectFormField";
+} from "@/components/Form/FormFields/SelectFormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+
+import { useMessageListener } from "@/hooks/useMessageListener";
+
import { ABDM_CONSENT_PURPOSE, ABDM_HI_TYPE } from "@/common/constants";
-import DateRangeFormField from "../Form/FormFields/DateRangeFormField";
-import dayjs from "dayjs";
-import { navigate } from "raviger";
-import DateFormField from "../Form/FormFields/DateFormField";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import { useMessageListener } from "@/common/hooks/useMessageListener";
-import { AbhaNumberModel } from "./types/abha";
-import { ConsentHIType, ConsentPurpose } from "./types/consent";
-import { useTranslation } from "react-i18next";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
const getDate = (value: string | Date) =>
(value && dayjs(value).isValid() && dayjs(value).toDate()) || undefined;
diff --git a/src/components/ABDM/HealthInformation.tsx b/src/components/ABDM/HealthInformation.tsx
index e3571c90d9f..e147f050131 100644
--- a/src/components/ABDM/HealthInformation.tsx
+++ b/src/components/ABDM/HealthInformation.tsx
@@ -1,9 +1,11 @@
+import { HIProfile } from "hi-profiles";
import { useTranslation } from "react-i18next";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
+
import Loading from "@/components/Common/Loading";
-import Page from "@/components/Common/components/Page";
-import { HIProfile } from "hi-profiles";
+import Page from "@/components/Common/Page";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
interface IProps {
artefactId: string;
diff --git a/src/components/ABDM/LinkAbhaNumber/CreateWithAadhaar.tsx b/src/components/ABDM/LinkAbhaNumber/CreateWithAadhaar.tsx
index dc2b5ff7ef6..d2697633bea 100644
--- a/src/components/ABDM/LinkAbhaNumber/CreateWithAadhaar.tsx
+++ b/src/components/ABDM/LinkAbhaNumber/CreateWithAadhaar.tsx
@@ -1,19 +1,21 @@
-import { useTranslation } from "react-i18next";
-import useMultiStepForm, { InjectedStepProps } from "./useMultiStepForm";
-import { classNames } from "../../../Utils/utils";
-import TextFormField from "../../Form/FormFields/TextFormField";
import { useEffect, useState } from "react";
-import ButtonV2, {
- ButtonWithTimer,
-} from "@/components/Common/components/ButtonV2";
-import OtpFormField from "../../Form/FormFields/OtpFormField";
-import PhoneNumberFormField from "../../Form/FormFields/PhoneNumberFormField";
-import { AbhaNumberModel } from "../types/abha";
-import { validateRule } from "../../Users/UserAdd";
-import request from "../../../Utils/request/request";
-import routes from "../../../Redux/api";
-import * as Notify from "../../../Utils/Notifications";
-import CheckBoxFormField from "../../Form/FormFields/CheckBoxFormField";
+import { useTranslation } from "react-i18next";
+
+import useMultiStepForm, {
+ InjectedStepProps,
+} from "@/components/ABDM/LinkAbhaNumber/useMultiStepForm";
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import ButtonV2, { ButtonWithTimer } from "@/components/Common/ButtonV2";
+import CheckBoxFormField from "@/components/Form/FormFields/CheckBoxFormField";
+import OtpFormField from "@/components/Form/FormFields/OtpFormField";
+import PhoneNumberFormField from "@/components/Form/FormFields/PhoneNumberFormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+import { validateRule } from "@/components/Users/UserAdd";
+
+import * as Notify from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import { classNames } from "@/Utils/utils";
const MAX_OTP_RESEND_ALLOWED = 2;
@@ -682,18 +684,22 @@ function ChooseAbhaAddress({
{validateRule(
healthId.length >= 4,
t("abha_address_validation_length_error"),
+ false,
)}
{validateRule(
- isNaN(Number(healthId[0])) && healthId[0] !== ".",
+ Number.isNaN(Number(healthId[0])) && healthId[0] !== ".",
t("abha_address_validation_start_error"),
+ false,
)}
{validateRule(
healthId[healthId.length - 1] !== ".",
t("abha_address_validation_end_error"),
+ false,
)}
{validateRule(
/^[0-9a-zA-Z._]+$/.test(healthId),
t("abha_address_validation_character_error"),
+ false,
)}
diff --git a/src/components/ABDM/LinkAbhaNumber/LinkWithOtp.tsx b/src/components/ABDM/LinkAbhaNumber/LinkWithOtp.tsx
index 2ca9dbfc5f4..9b8150dee86 100644
--- a/src/components/ABDM/LinkAbhaNumber/LinkWithOtp.tsx
+++ b/src/components/ABDM/LinkAbhaNumber/LinkWithOtp.tsx
@@ -1,18 +1,20 @@
-import { useTranslation } from "react-i18next";
-import { AbhaNumberModel } from "../types/abha";
-import useMultiStepForm, { InjectedStepProps } from "./useMultiStepForm";
import { useMemo, useState } from "react";
-import TextFormField from "../../Form/FormFields/TextFormField";
-import { classNames } from "../../../Utils/utils";
-import ButtonV2, {
- ButtonWithTimer,
-} from "@/components/Common/components/ButtonV2";
-import Dropdown, { DropdownItem } from "@/components/Common/components/Menu";
-import OtpFormField from "../../Form/FormFields/OtpFormField";
-import * as Notify from "../../../Utils/Notifications";
-import request from "../../../Utils/request/request";
-import routes from "../../../Redux/api";
-import CheckBoxFormField from "../../Form/FormFields/CheckBoxFormField";
+import { useTranslation } from "react-i18next";
+
+import useMultiStepForm, {
+ InjectedStepProps,
+} from "@/components/ABDM/LinkAbhaNumber/useMultiStepForm";
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import ButtonV2, { ButtonWithTimer } from "@/components/Common/ButtonV2";
+import Dropdown, { DropdownItem } from "@/components/Common/Menu";
+import CheckBoxFormField from "@/components/Form/FormFields/CheckBoxFormField";
+import OtpFormField from "@/components/Form/FormFields/OtpFormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+
+import * as Notify from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import { classNames } from "@/Utils/utils";
const MAX_OTP_RESEND_ALLOWED = 2;
diff --git a/src/components/ABDM/LinkAbhaNumber/LinkWithQr.tsx b/src/components/ABDM/LinkAbhaNumber/LinkWithQr.tsx
index 4e91f89b384..712d28943b4 100644
--- a/src/components/ABDM/LinkAbhaNumber/LinkWithQr.tsx
+++ b/src/components/ABDM/LinkAbhaNumber/LinkWithQr.tsx
@@ -1,11 +1,12 @@
+import { IDetectedBarcode, Scanner } from "@yudiel/react-qr-scanner";
+import { useState } from "react";
import { useTranslation } from "react-i18next";
-import { AbhaNumberModel, ABHAQRContent } from "../types/abha";
-import * as Notification from "../../../Utils/Notifications";
-import { Scanner, IDetectedBarcode } from "@yudiel/react-qr-scanner";
-import request from "../../../Utils/request/request";
-import routes from "../../../Redux/api";
-import { useState } from "react";
+import { ABHAQRContent, AbhaNumberModel } from "@/components/ABDM/types/abha";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
type ILoginWithQrProps = {
onSuccess: (abhaNumber: AbhaNumberModel) => void;
diff --git a/src/components/ABDM/LinkAbhaNumber/index.tsx b/src/components/ABDM/LinkAbhaNumber/index.tsx
index d8e4e955be2..45cd0b34d02 100644
--- a/src/components/ABDM/LinkAbhaNumber/index.tsx
+++ b/src/components/ABDM/LinkAbhaNumber/index.tsx
@@ -1,12 +1,14 @@
import { useState } from "react";
-import DialogModal from "@/components/Common/Dialog";
-import { AbhaNumberModel } from "../types/abha";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import { classNames } from "../../../Utils/utils";
-import CreateWithAadhaar from "./CreateWithAadhaar";
import { useTranslation } from "react-i18next";
-import LinkWithOtp from "./LinkWithOtp";
-import LinkWithQr from "./LinkWithQr";
+
+import CreateWithAadhaar from "@/components/ABDM/LinkAbhaNumber/CreateWithAadhaar";
+import LinkWithOtp from "@/components/ABDM/LinkAbhaNumber/LinkWithOtp";
+import LinkWithQr from "@/components/ABDM/LinkAbhaNumber/LinkWithQr";
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import ButtonV2 from "@/components/Common/ButtonV2";
+import DialogModal from "@/components/Common/Dialog";
+
+import { classNames } from "@/Utils/utils";
interface ILinkAbhaNumberProps {
show: boolean;
diff --git a/src/components/ABDM/LinkAbhaNumber/useMultiStepForm.ts b/src/components/ABDM/LinkAbhaNumber/useMultiStepForm.ts
index 8107fff8370..79bc9ec71c6 100644
--- a/src/components/ABDM/LinkAbhaNumber/useMultiStepForm.ts
+++ b/src/components/ABDM/LinkAbhaNumber/useMultiStepForm.ts
@@ -1,8 +1,8 @@
import {
- cloneElement,
Dispatch,
ReactElement,
SetStateAction,
+ cloneElement,
useCallback,
useMemo,
useState,
diff --git a/src/components/ABDM/types/abha.ts b/src/components/ABDM/types/abha.ts
index d94549e2242..f189bd111cb 100644
--- a/src/components/ABDM/types/abha.ts
+++ b/src/components/ABDM/types/abha.ts
@@ -1,4 +1,4 @@
-import { PatientModel } from "../../Patient/models";
+import { PatientModel } from "@/components/Patient/models";
export type AbhaNumberModel = {
id: number;
diff --git a/src/components/ABDM/types/consent.ts b/src/components/ABDM/types/consent.ts
index 9ca60c7bd99..a5041f5767d 100644
--- a/src/components/ABDM/types/consent.ts
+++ b/src/components/ABDM/types/consent.ts
@@ -1,5 +1,5 @@
-import { UserBaseModel } from "../../Users/models";
-import { AbhaNumberModel } from "./abha";
+import { AbhaNumberModel } from "@/components/ABDM/types/abha";
+import { UserBaseModel } from "@/components/Users/models";
export type ConsentPurpose =
| "CAREMGT"
diff --git a/src/components/Assets/AssetConfigure.tsx b/src/components/Assets/AssetConfigure.tsx
index 9f04bddc321..d0d3e4f9420 100644
--- a/src/components/Assets/AssetConfigure.tsx
+++ b/src/components/Assets/AssetConfigure.tsx
@@ -1,9 +1,10 @@
+import HL7Monitor from "@/components/Assets/AssetType/HL7Monitor";
+import ConfigureCamera from "@/components/CameraFeed/ConfigureCamera";
import Loading from "@/components/Common/Loading";
-import HL7Monitor from "./AssetType/HL7Monitor";
-import ConfigureCamera from "../CameraFeed/ConfigureCamera";
-import Page from "@/components/Common/components/Page";
-import useQuery from "../../Utils/request/useQuery";
-import routes from "../../Redux/api";
+import Page from "@/components/Common/Page";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
interface AssetConfigureProps {
assetId: string;
diff --git a/src/components/Assets/AssetFilter.tsx b/src/components/Assets/AssetFilter.tsx
index 8095b96389e..fda9d0cfdf2 100644
--- a/src/components/Assets/AssetFilter.tsx
+++ b/src/components/Assets/AssetFilter.tsx
@@ -1,19 +1,22 @@
-import { useState, useEffect } from "react";
+import dayjs from "dayjs";
import { useQueryParams } from "raviger";
+import { useEffect, useState } from "react";
+
+import FiltersSlideover from "@/CAREUI/interactive/FiltersSlideover";
+
+import { AssetClass } from "@/components/Assets/AssetTypes";
+import { DateRange } from "@/components/Common/DateRangeInputV2";
import { FacilitySelect } from "@/components/Common/FacilitySelect";
-import { FacilityModel } from "../Facility/models";
import { LocationSelect } from "@/components/Common/LocationSelect";
-import { AssetClass } from "./AssetTypes";
-import { FieldLabel } from "../Form/FormFields/FormField";
-import { SelectFormField } from "../Form/FormFields/SelectFormField";
-import FiltersSlideover from "../../CAREUI/interactive/FiltersSlideover";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
-import DateRangeFormField from "../Form/FormFields/DateRangeFormField";
-import dayjs from "dayjs";
-import { FieldChangeEvent } from "../Form/FormFields/Utils";
-import { DateRange } from "@/components/Common/DateRangeInputV2";
-import { dateQueryString } from "../../Utils/utils";
+import { FacilityModel } from "@/components/Facility/models";
+import DateRangeFormField from "@/components/Form/FormFields/DateRangeFormField";
+import { FieldLabel } from "@/components/Form/FormFields/FormField";
+import { SelectFormField } from "@/components/Form/FormFields/SelectFormField";
+import { FieldChangeEvent } from "@/components/Form/FormFields/Utils";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
+import { dateQueryString } from "@/Utils/utils";
const getDate = (value: any) =>
value && dayjs(value).isValid() && dayjs(value).toDate();
diff --git a/src/components/Assets/AssetImportModal.tsx b/src/components/Assets/AssetImportModal.tsx
index 08fd4891078..beb0dd2c2c1 100644
--- a/src/components/Assets/AssetImportModal.tsx
+++ b/src/components/Assets/AssetImportModal.tsx
@@ -1,17 +1,20 @@
-import { lazy, useState } from "react";
-import { sleep } from "../../Utils/utils";
-import { FacilityModel } from "../Facility/models";
-import { AssetData } from "./AssetTypes";
-import * as Notification from "../../Utils/Notifications";
-import { Cancel } from "@/components/Common/components/ButtonV2";
+import careConfig from "@careConfig";
import { Link } from "raviger";
-import { AssetImportSchema } from "@/common/constants";
+import { lazy, useState } from "react";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+import { Cancel } from "@/components/Common/ButtonV2";
import DialogModal from "@/components/Common/Dialog";
-import useQuery from "../../Utils/request/useQuery";
-import routes from "../../Redux/api";
-import { SelectFormField } from "../Form/FormFields/SelectFormField";
-import careConfig from "@careConfig";
-import request from "../../Utils/request/request";
+import { FacilityModel } from "@/components/Facility/models";
+import { SelectFormField } from "@/components/Form/FormFields/SelectFormField";
+
+import { AssetImportSchema } from "@/common/constants";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+import { sleep } from "@/Utils/utils";
const ExcelFileDragAndDrop = lazy(
() => import("@/components/Common/ExcelFIleDragAndDrop"),
diff --git a/src/components/Assets/AssetManage.tsx b/src/components/Assets/AssetManage.tsx
index 0ee4f107d40..b56cb908c42 100644
--- a/src/components/Assets/AssetManage.tsx
+++ b/src/components/Assets/AssetManage.tsx
@@ -1,36 +1,41 @@
-import { useState, useEffect, ReactElement } from "react";
+import dayjs from "dayjs";
+import QRCode from "qrcode.react";
+import { navigate } from "raviger";
+import { ReactElement, useEffect, useState } from "react";
+import { useTranslation } from "react-i18next";
+
+import Chip from "@/CAREUI/display/Chip";
+import RecordMeta from "@/CAREUI/display/RecordMeta";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { AssetServiceEditModal } from "@/components/Assets/AssetServiceEditModal";
import {
AssetClass,
- assetClassProps,
AssetData,
AssetService,
AssetTransaction,
-} from "./AssetTypes";
-import Pagination from "@/components/Common/Pagination";
-import { navigate } from "raviger";
-import QRCode from "qrcode.react";
-import AssetWarrantyCard from "./AssetWarrantyCard";
-import { formatDate, formatDateTime, formatName } from "../../Utils/utils";
-import Chip from "../../CAREUI/display/Chip";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import { UserRole, USER_TYPES } from "@/common/constants";
+ assetClassProps,
+} from "@/components/Assets/AssetTypes";
+import AssetWarrantyCard from "@/components/Assets/AssetWarrantyCard";
+import { warrantyAmcValidityChip } from "@/components/Assets/AssetsList";
+import ButtonV2 from "@/components/Common/ButtonV2";
import ConfirmDialog from "@/components/Common/ConfirmDialog";
-import RecordMeta from "../../CAREUI/display/RecordMeta";
-import { useTranslation } from "react-i18next";
import Loading from "@/components/Common/Loading";
-import * as Notification from "../../Utils/Notifications";
-import { NonReadOnlyUsers } from "../../Utils/AuthorizeFor";
-import Uptime from "@/components/Common/Uptime";
-import useAuthUser from "@/common/hooks/useAuthUser";
-import dayjs from "dayjs";
+import Page from "@/components/Common/Page";
+import Pagination from "@/components/Common/Pagination";
import RelativeDateUserMention from "@/components/Common/RelativeDateUserMention";
-import { AssetServiceEditModal } from "./AssetServiceEditModal";
-import { warrantyAmcValidityChip } from "./AssetsList";
-import Page from "@/components/Common/components/Page";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
+import Uptime from "@/components/Common/Uptime";
+
+import useAuthUser from "@/hooks/useAuthUser";
+
+import { USER_TYPES, UserRole } from "@/common/constants";
+
+import { NonReadOnlyUsers } from "@/Utils/AuthorizeFor";
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+import { formatDate, formatDateTime, formatName } from "@/Utils/utils";
interface AssetManageProps {
assetId: string;
diff --git a/src/components/Assets/AssetServiceEditModal.tsx b/src/components/Assets/AssetServiceEditModal.tsx
index fecea8ad124..b946ea03e31 100644
--- a/src/components/Assets/AssetServiceEditModal.tsx
+++ b/src/components/Assets/AssetServiceEditModal.tsx
@@ -1,19 +1,23 @@
-import { useEffect, useState } from "react";
-import * as Notification from "../../Utils/Notifications";
-import ButtonV2, {
- Cancel,
- Submit,
-} from "@/components/Common/components/ButtonV2";
-import DialogModal from "@/components/Common/Dialog";
-import { AssetData, AssetService, AssetServiceEdit } from "./AssetTypes";
import dayjs from "dayjs";
-import TextAreaFormField from "../Form/FormFields/TextAreaFormField";
-import { formatDate, formatDateTime } from "../../Utils/utils";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import DateFormField from "../Form/FormFields/DateFormField";
import { t } from "i18next";
+import { useEffect, useState } from "react";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import {
+ AssetData,
+ AssetService,
+ AssetServiceEdit,
+} from "@/components/Assets/AssetTypes";
+import ButtonV2, { Cancel, Submit } from "@/components/Common/ButtonV2";
+import DialogModal from "@/components/Common/Dialog";
+import DateFormField from "@/components/Form/FormFields/DateFormField";
+import TextAreaFormField from "@/components/Form/FormFields/TextAreaFormField";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import { formatDate, formatDateTime } from "@/Utils/utils";
export const AssetServiceEditModal = (props: {
asset?: AssetData;
diff --git a/src/components/Assets/AssetType/HL7Monitor.tsx b/src/components/Assets/AssetType/HL7Monitor.tsx
index 43e968f33eb..76d761383bd 100644
--- a/src/components/Assets/AssetType/HL7Monitor.tsx
+++ b/src/components/Assets/AssetType/HL7Monitor.tsx
@@ -1,21 +1,30 @@
import { SyntheticEvent, useEffect, useState } from "react";
-import { AssetClass, AssetData, ResolvedMiddleware } from "../AssetTypes";
-import * as Notification from "../../../Utils/Notifications";
+
+import Card from "@/CAREUI/display/Card";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import {
+ AssetClass,
+ AssetData,
+ ResolvedMiddleware,
+} from "@/components/Assets/AssetTypes";
+import { BedSelect } from "@/components/Common/BedSelect";
+import { Submit } from "@/components/Common/ButtonV2";
import Loading from "@/components/Common/Loading";
+import { BedModel } from "@/components/Facility/models";
+import { FieldLabel } from "@/components/Form/FormFields/FormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+import HL7PatientVitalsMonitor from "@/components/VitalsMonitor/HL7PatientVitalsMonitor";
+import VentilatorPatientVitalsMonitor from "@/components/VitalsMonitor/VentilatorPatientVitalsMonitor";
+
+import useAuthUser from "@/hooks/useAuthUser";
+
import { checkIfValidIP } from "@/common/validation";
-import Card from "../../../CAREUI/display/Card";
-import { Submit } from "@/components/Common/components/ButtonV2";
-import CareIcon from "../../../CAREUI/icons/CareIcon";
-import TextFormField from "../../Form/FormFields/TextFormField";
-import HL7PatientVitalsMonitor from "../../VitalsMonitor/HL7PatientVitalsMonitor";
-import VentilatorPatientVitalsMonitor from "../../VitalsMonitor/VentilatorPatientVitalsMonitor";
-import useAuthUser from "@/common/hooks/useAuthUser";
-import request from "../../../Utils/request/request";
-import routes from "../../../Redux/api";
-import { BedModel } from "../../Facility/models";
-import useQuery from "../../../Utils/request/useQuery";
-import { FieldLabel } from "../../Form/FormFields/FormField";
-import { BedSelect } from "@/components/Common/BedSelect";
+
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
interface HL7MonitorProps {
assetId: string;
diff --git a/src/components/Assets/AssetTypes.tsx b/src/components/Assets/AssetTypes.tsx
index 24f3f3e9352..14d1e40afe0 100644
--- a/src/components/Assets/AssetTypes.tsx
+++ b/src/components/Assets/AssetTypes.tsx
@@ -1,6 +1,7 @@
-import { BedModel } from "../Facility/models";
-import { IconName } from "../../CAREUI/icons/CareIcon";
-import { PatientModel } from "../Patient/models";
+import { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { BedModel } from "@/components/Facility/models";
+import { PatientModel } from "@/components/Patient/models";
import { UserBareMinimum } from "@/components/Users/models";
export enum AssetLocationType {
diff --git a/src/components/Assets/AssetWarrantyCard.tsx b/src/components/Assets/AssetWarrantyCard.tsx
index e26575f712b..ebaaca7e6c8 100644
--- a/src/components/Assets/AssetWarrantyCard.tsx
+++ b/src/components/Assets/AssetWarrantyCard.tsx
@@ -1,9 +1,12 @@
-import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon";
-import { AssetData } from "./AssetTypes";
-import { formatDate } from "../../Utils/utils";
-import CopyToClipboard from "react-copy-to-clipboard";
import { t } from "i18next";
import { useEffect, useState } from "react";
+import CopyToClipboard from "react-copy-to-clipboard";
+
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+
+import { formatDate } from "@/Utils/utils";
export default function AssetWarrantyCard(props: { asset: AssetData }) {
const { asset } = props;
diff --git a/src/components/Assets/AssetsList.tsx b/src/components/Assets/AssetsList.tsx
index 613b87e5ea5..eceee4887e8 100644
--- a/src/components/Assets/AssetsList.tsx
+++ b/src/components/Assets/AssetsList.tsx
@@ -1,30 +1,34 @@
import { IDetectedBarcode, Scanner } from "@yudiel/react-qr-scanner";
-import * as Notification from "../../Utils/Notifications";
-import { assetClassProps, AssetData } from "./AssetTypes";
-import { useState, useEffect } from "react";
import { Link, navigate } from "raviger";
-import AssetFilter from "./AssetFilter";
-import { parseQueryParams } from "../../Utils/primitives";
-import Chip from "../../CAREUI/display/Chip";
-import SearchInput from "../Form/SearchInput";
-import useFilters from "@/common/hooks/useFilters";
-import { FacilityModel } from "../Facility/models";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import { useIsAuthorized } from "@/common/hooks/useIsAuthorized";
-import AuthorizeFor, { NonReadOnlyUsers } from "../../Utils/AuthorizeFor";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import FacilitiesSelectDialogue from "../ExternalResult/FacilitiesSelectDialogue";
-import ExportMenu from "@/components/Common/Export";
-import CountBlock from "../../CAREUI/display/Count";
-import AssetImportModal from "./AssetImportModal";
-import Page from "@/components/Common/components/Page";
-import { AdvancedFilterButton } from "../../CAREUI/interactive/FiltersSlideover";
+import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import useQuery from "../../Utils/request/useQuery";
+import Chip from "@/CAREUI/display/Chip";
+import CountBlock from "@/CAREUI/display/Count";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+import { AdvancedFilterButton } from "@/CAREUI/interactive/FiltersSlideover";
+
+import AssetFilter from "@/components/Assets/AssetFilter";
+import AssetImportModal from "@/components/Assets/AssetImportModal";
+import { AssetData, assetClassProps } from "@/components/Assets/AssetTypes";
+import ButtonV2 from "@/components/Common/ButtonV2";
+import ExportMenu from "@/components/Common/Export";
import Loading from "@/components/Common/Loading";
+import Page from "@/components/Common/Page";
+import FacilitiesSelectDialogue from "@/components/ExternalResult/FacilitiesSelectDialogue";
+import { FacilityModel } from "@/components/Facility/models";
+import SearchInput from "@/components/Form/SearchInput";
+
+import useFilters from "@/hooks/useFilters";
+import { useIsAuthorized } from "@/hooks/useIsAuthorized";
+
+import AuthorizeFor, { NonReadOnlyUsers } from "@/Utils/AuthorizeFor";
+import * as Notification from "@/Utils/Notifications";
+import { parseQueryParams } from "@/Utils/primitives";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+
const AssetsList = () => {
const { t } = useTranslation();
const {
@@ -240,12 +244,19 @@ const AssetsList = () => {
className="text-2xl"
/>
-
- {asset.name}
-
+
+
+ {asset.name}
+
+ {asset.name.length > 20 && (
+
+ {asset.name}
+
+ )}
+
diff --git a/src/components/Auth/Login.tsx b/src/components/Auth/Login.tsx
index 403b133757f..bcf0d4e3415 100644
--- a/src/components/Auth/Login.tsx
+++ b/src/components/Auth/Login.tsx
@@ -1,22 +1,25 @@
+import careConfig from "@careConfig";
+import { Link } from "raviger";
import { useEffect, useState } from "react";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import { useTranslation } from "react-i18next";
import ReCaptcha from "react-google-recaptcha";
-import * as Notification from "../../Utils/Notifications";
-import LegendInput from "../../CAREUI/interactive/LegendInput";
+import { useTranslation } from "react-i18next";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+import LegendInput from "@/CAREUI/interactive/LegendInput";
+
+import CircularProgress from "@/components/Common/CircularProgress";
import LanguageSelectorLogin from "@/components/Common/LanguageSelectorLogin";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import CircularProgress from "@/components/Common/components/CircularProgress";
-import ReactMarkdown from "react-markdown";
-import rehypeRaw from "rehype-raw";
-import { useAuthContext } from "@/common/hooks/useAuthUser";
-import FiltersCache from "../../Utils/FiltersCache";
-import { classNames } from "../../Utils/utils";
-import BrowserWarning from "../ErrorPages/BrowserWarning";
-import careConfig from "@careConfig";
+import BrowserWarning from "@/components/ErrorPages/BrowserWarning";
+
+import { useAuthContext } from "@/hooks/useAuthUser";
-export const Login = (props: { forgot?: boolean }) => {
+import FiltersCache from "@/Utils/FiltersCache";
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import { classNames } from "@/Utils/utils";
+
+const Login = (props: { forgot?: boolean }) => {
const { signIn } = useAuthContext();
const {
mainLogo,
@@ -25,8 +28,8 @@ export const Login = (props: { forgot?: boolean }) => {
stateLogo,
customLogo,
customLogoAlt,
- customDescription,
} = careConfig;
+ const customDescriptionHtml = __CUSTOM_DESCRIPTION_HTML__;
const initForm: any = {
username: "",
password: "",
@@ -190,14 +193,14 @@ export const Login = (props: { forgot?: boolean }) => {
{t("care")}
- {customDescription ? (
+ {customDescriptionHtml ? (
-
- {customDescription || t("goal")}
-
+ dangerouslySetInnerHTML={{
+ __html: __CUSTOM_DESCRIPTION_HTML__,
+ }}
+ />
) : (
@@ -417,3 +420,5 @@ export const Login = (props: { forgot?: boolean }) => {
);
};
+
+export default Login;
diff --git a/src/components/Auth/ResetPassword.tsx b/src/components/Auth/ResetPassword.tsx
index 15fc6cbac69..11b541e276c 100644
--- a/src/components/Auth/ResetPassword.tsx
+++ b/src/components/Auth/ResetPassword.tsx
@@ -1,16 +1,23 @@
-import { useEffect, useState } from "react";
-import request from "../../Utils/request/request";
-import * as Notification from "../../Utils/Notifications";
import { navigate } from "raviger";
+import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
+
+import { Cancel, Submit } from "@/components/Common/ButtonV2";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+import { validateRule } from "@/components/Users/UserAdd";
+
import { LocalStorageKeys } from "@/common/constants";
-import { Cancel, Submit } from "@/components/Common/components/ButtonV2";
-import TextFormField from "../Form/FormFields/TextFormField";
-import { validateRule } from "../Users/UserAdd";
import { validatePassword } from "@/common/validation";
-import routes from "../../Redux/api";
-export const ResetPassword = (props: any) => {
+import * as Notification from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+
+interface ResetPasswordProps {
+ token: string;
+}
+
+const ResetPassword = (props: ResetPasswordProps) => {
const initForm: any = {
password: "",
confirm: "",
@@ -128,18 +135,22 @@ export const ResetPassword = (props: any) => {
{validateRule(
form.password?.length >= 8,
"Password should be atleast 8 characters long",
+ !form.password,
)}
{validateRule(
form.password !== form.password.toUpperCase(),
"Password should contain at least 1 lowercase letter",
+ !form.password,
)}
{validateRule(
form.password !== form.password.toLowerCase(),
"Password should contain at least 1 uppercase letter",
+ !form.password,
)}
{validateRule(
/\d/.test(form.password),
"Password should contain at least 1 number",
+ !form.password,
)}
)}
@@ -154,9 +165,11 @@ export const ResetPassword = (props: any) => {
/>
{confirmPasswordInputInFocus &&
form.confirm.length > 0 &&
+ form.password.length > 0 &&
validateRule(
form.confirm === form.password,
"Confirm password should match the entered password",
+ !form.password && form.password.length > 0,
)}
@@ -169,3 +182,5 @@ export const ResetPassword = (props: any) => {
);
};
+
+export default ResetPassword;
diff --git a/src/components/Auth/index.tsx b/src/components/Auth/index.tsx
deleted file mode 100644
index 3713307768b..00000000000
--- a/src/components/Auth/index.tsx
+++ /dev/null
@@ -1,2 +0,0 @@
-export { Login } from "./Login";
-export { ResetPassword } from "./ResetPassword";
diff --git a/src/components/CameraFeed/CameraFeed.tsx b/src/components/CameraFeed/CameraFeed.tsx
index daa237cd851..9646e0354bf 100644
--- a/src/components/CameraFeed/CameraFeed.tsx
+++ b/src/components/CameraFeed/CameraFeed.tsx
@@ -1,19 +1,27 @@
import { useCallback, useEffect, useRef, useState } from "react";
-import { AssetData } from "../Assets/AssetTypes";
-import useOperateCamera, { PTZPayload } from "./useOperateCamera";
-import { getStreamUrl } from "./utils";
-import { classNames, isIOS } from "../../Utils/utils";
-import FeedAlert, { FeedAlertState, StreamStatus } from "./FeedAlert";
-import FeedNetworkSignal from "./FeedNetworkSignal";
-import NoFeedAvailable from "./NoFeedAvailable";
-import FeedControls from "./FeedControls";
-import FeedWatermark from "./FeedWatermark";
-import useFullscreen from "@/common/hooks/useFullscreen";
-import useBreakpoints from "@/common/hooks/useBreakpoints";
-import { GetPresetsResponse } from "./routes";
-import VideoPlayer from "./videoPlayer";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+import FeedAlert, {
+ FeedAlertState,
+ StreamStatus,
+} from "@/components/CameraFeed/FeedAlert";
+import FeedControls from "@/components/CameraFeed/FeedControls";
+import FeedNetworkSignal from "@/components/CameraFeed/FeedNetworkSignal";
+import FeedWatermark from "@/components/CameraFeed/FeedWatermark";
+import NoFeedAvailable from "@/components/CameraFeed/NoFeedAvailable";
+import { GetPresetsResponse } from "@/components/CameraFeed/routes";
+import useOperateCamera, {
+ PTZPayload,
+} from "@/components/CameraFeed/useOperateCamera";
+import { getStreamUrl } from "@/components/CameraFeed/utils";
+import VideoPlayer from "@/components/CameraFeed/videoPlayer";
import AssetInfoPopover from "@/components/Common/AssetInfoPopover";
+import useBreakpoints from "@/hooks/useBreakpoints";
+import useFullscreen from "@/hooks/useFullscreen";
+
+import { classNames, isIOS } from "@/Utils/utils";
+
interface Props {
children?: React.ReactNode;
asset: AssetData;
diff --git a/src/components/CameraFeed/CameraFeedWithBedPresets.tsx b/src/components/CameraFeed/CameraFeedWithBedPresets.tsx
index 3e447e34e21..be43fe3f810 100644
--- a/src/components/CameraFeed/CameraFeedWithBedPresets.tsx
+++ b/src/components/CameraFeed/CameraFeedWithBedPresets.tsx
@@ -1,11 +1,13 @@
import { useState } from "react";
-import { AssetData } from "../Assets/AssetTypes";
-import CameraFeed from "./CameraFeed";
-import useQuery from "../../Utils/request/useQuery";
-import { CameraPresetDropdown } from "./CameraPresetSelect";
-import useOperateCamera from "./useOperateCamera";
-import { classNames } from "../../Utils/utils";
-import { CameraPreset, FeedRoutes } from "./routes";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+import CameraFeed from "@/components/CameraFeed/CameraFeed";
+import { CameraPresetDropdown } from "@/components/CameraFeed/CameraPresetSelect";
+import { CameraPreset, FeedRoutes } from "@/components/CameraFeed/routes";
+import useOperateCamera from "@/components/CameraFeed/useOperateCamera";
+
+import useQuery from "@/Utils/request/useQuery";
+import { classNames } from "@/Utils/utils";
interface Props {
asset: AssetData;
diff --git a/src/components/CameraFeed/CameraPresetSelect.tsx b/src/components/CameraFeed/CameraPresetSelect.tsx
index 95b6d195688..7b21a236493 100644
--- a/src/components/CameraFeed/CameraPresetSelect.tsx
+++ b/src/components/CameraFeed/CameraPresetSelect.tsx
@@ -4,11 +4,14 @@ import {
ListboxOption,
ListboxOptions,
} from "@headlessui/react";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import { classNames } from "../../Utils/utils";
-import { dropdownOptionClassNames } from "../Form/MultiSelectMenuV2";
-import { CameraPreset } from "./routes";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { CameraPreset } from "@/components/CameraFeed/routes";
+import ButtonV2 from "@/components/Common/ButtonV2";
+import { dropdownOptionClassNames } from "@/components/Form/MultiSelectMenuV2";
+
+import { classNames } from "@/Utils/utils";
interface Props {
disabled?: boolean;
diff --git a/src/components/CameraFeed/CentralLiveMonitoring/LiveMonitoringFilters.tsx b/src/components/CameraFeed/CentralLiveMonitoring/LiveMonitoringFilters.tsx
index 837a351fff5..ee91ccd7fea 100644
--- a/src/components/CameraFeed/CentralLiveMonitoring/LiveMonitoringFilters.tsx
+++ b/src/components/CameraFeed/CentralLiveMonitoring/LiveMonitoringFilters.tsx
@@ -4,14 +4,17 @@ import {
PopoverPanel,
Transition,
} from "@headlessui/react";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import { FieldLabel } from "../../Form/FormFields/FormField";
+import { useTranslation } from "react-i18next";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
import { LocationSelect } from "@/components/Common/LocationSelect";
import Pagination from "@/components/Common/Pagination";
-import useFilters from "@/common/hooks/useFilters";
-import CareIcon from "../../../CAREUI/icons/CareIcon";
-import useSlug from "@/common/hooks/useSlug";
-import { useTranslation } from "react-i18next";
+import { FieldLabel } from "@/components/Form/FormFields/FormField";
+
+import useFilters from "@/hooks/useFilters";
+import useSlug from "@/hooks/useSlug";
interface Props {
perPageLimit: number;
diff --git a/src/components/CameraFeed/CentralLiveMonitoring/index.tsx b/src/components/CameraFeed/CentralLiveMonitoring/index.tsx
index 987289ef74d..4a65480054d 100644
--- a/src/components/CameraFeed/CentralLiveMonitoring/index.tsx
+++ b/src/components/CameraFeed/CentralLiveMonitoring/index.tsx
@@ -1,14 +1,18 @@
+import { useQueryParams } from "raviger";
import { useState } from "react";
+
+import Fullscreen from "@/CAREUI/misc/Fullscreen";
+
+import LocationFeedTile from "@/components/CameraFeed/CameraFeedWithBedPresets";
+import LiveMonitoringFilters from "@/components/CameraFeed/CentralLiveMonitoring/LiveMonitoringFilters";
+import StillWatching from "@/components/CameraFeed/StillWatching";
import Loading from "@/components/Common/Loading";
-import Page from "@/components/Common/components/Page";
-import useQuery from "../../../Utils/request/useQuery";
-import routes from "../../../Redux/api";
-import LocationFeedTile from "../CameraFeedWithBedPresets";
-import Fullscreen from "../../../CAREUI/misc/Fullscreen";
-import useBreakpoints from "@/common/hooks/useBreakpoints";
-import { useQueryParams } from "raviger";
-import LiveMonitoringFilters from "./LiveMonitoringFilters";
-import StillWatching from "../StillWatching";
+import Page from "@/components/Common/Page";
+
+import useBreakpoints from "@/hooks/useBreakpoints";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
export default function CentralLiveMonitoring(props: { facilityId: string }) {
const [isFullscreen, setFullscreen] = useState(false);
diff --git a/src/components/CameraFeed/ConfigureCamera.tsx b/src/components/CameraFeed/ConfigureCamera.tsx
index c0cb19e6a23..f969ed2b0ca 100644
--- a/src/components/CameraFeed/ConfigureCamera.tsx
+++ b/src/components/CameraFeed/ConfigureCamera.tsx
@@ -1,37 +1,43 @@
-import { useEffect, useState } from "react";
-import { AssetData } from "../Assets/AssetTypes";
-import { getCameraConfig, makeAccessKey } from "../../Utils/transformUtils";
-import TextFormField from "../Form/FormFields/TextFormField";
-import ButtonV2, {
- Cancel,
- Submit,
-} from "@/components/Common/components/ButtonV2";
-import useAuthUser from "@/common/hooks/useAuthUser";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import useOperateCamera from "./useOperateCamera";
-import CameraFeed from "./CameraFeed";
-import { useTranslation } from "react-i18next";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import { Error, Success } from "../../Utils/Notifications";
-import { useQueryParams } from "raviger";
-import useQuery from "../../Utils/request/useQuery";
-import { classNames, compareBy } from "../../Utils/utils";
-import RecordMeta from "../../CAREUI/display/RecordMeta";
-import { CameraPreset, FeedRoutes, GetStatusResponse } from "./routes";
-import DialogModal from "@/components/Common/Dialog";
import {
Listbox,
ListboxButton,
ListboxOption,
ListboxOptions,
} from "@headlessui/react";
-import { dropdownOptionClassNames } from "../Form/MultiSelectMenuV2";
-import Loading from "@/components/Common/Loading";
+import { useQueryParams } from "raviger";
+import { useEffect, useState } from "react";
+import { useTranslation } from "react-i18next";
+
+import RecordMeta from "@/CAREUI/display/RecordMeta";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+import CameraFeed from "@/components/CameraFeed/CameraFeed";
+import {
+ CameraPreset,
+ FeedRoutes,
+ GetStatusResponse,
+} from "@/components/CameraFeed/routes";
+import useOperateCamera from "@/components/CameraFeed/useOperateCamera";
+import ButtonV2, { Cancel, Submit } from "@/components/Common/ButtonV2";
import ConfirmDialog from "@/components/Common/ConfirmDialog";
-import { FieldLabel } from "../Form/FormFields/FormField";
+import DialogModal from "@/components/Common/Dialog";
+import Loading from "@/components/Common/Loading";
+import CheckBoxFormField from "@/components/Form/FormFields/CheckBoxFormField";
+import { FieldLabel } from "@/components/Form/FormFields/FormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
+import { dropdownOptionClassNames } from "@/components/Form/MultiSelectMenuV2";
+
+import useAuthUser from "@/hooks/useAuthUser";
+
import { checkIfValidIP } from "@/common/validation";
-import CheckBoxFormField from "../Form/FormFields/CheckBoxFormField";
+
+import { Error, Success } from "@/Utils/Notifications";
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
+import useQuery from "@/Utils/request/useQuery";
+import { getCameraConfig, makeAccessKey } from "@/Utils/transformUtils";
+import { classNames, compareBy } from "@/Utils/utils";
interface Props {
asset: AssetData;
diff --git a/src/components/CameraFeed/FeedAlert.tsx b/src/components/CameraFeed/FeedAlert.tsx
index 86c5468decf..5c42677611f 100644
--- a/src/components/CameraFeed/FeedAlert.tsx
+++ b/src/components/CameraFeed/FeedAlert.tsx
@@ -1,7 +1,10 @@
import { Transition } from "@headlessui/react";
import { useEffect, useState } from "react";
-import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon";
-import { classNames } from "../../Utils/utils";
+
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
+
export type StreamStatus = "playing" | "stop" | "loading" | "offline";
export type FeedAlertState =
diff --git a/src/components/CameraFeed/FeedButton.tsx b/src/components/CameraFeed/FeedButton.tsx
index e2ae2a8fe9e..c5d591955d9 100644
--- a/src/components/CameraFeed/FeedButton.tsx
+++ b/src/components/CameraFeed/FeedButton.tsx
@@ -1,5 +1,6 @@
-import KeyboardShortcut from "../../CAREUI/interactive/KeyboardShortcut";
-import { classNames } from "../../Utils/utils";
+import KeyboardShortcut from "@/CAREUI/interactive/KeyboardShortcut";
+
+import { classNames } from "@/Utils/utils";
interface Props {
className?: string;
diff --git a/src/components/CameraFeed/FeedControls.tsx b/src/components/CameraFeed/FeedControls.tsx
index 36d3aa96cd2..4b7add78a1d 100644
--- a/src/components/CameraFeed/FeedControls.tsx
+++ b/src/components/CameraFeed/FeedControls.tsx
@@ -1,8 +1,11 @@
import { useState } from "react";
-import FeedButton from "./FeedButton";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import { PTZPayload } from "./useOperateCamera";
-import { isAppleDevice } from "../../Utils/utils";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import FeedButton from "@/components/CameraFeed/FeedButton";
+import { PTZPayload } from "@/components/CameraFeed/useOperateCamera";
+
+import { isAppleDevice } from "@/Utils/utils";
const Actions = {
UP: 1 << 0,
diff --git a/src/components/CameraFeed/FeedNetworkSignal.tsx b/src/components/CameraFeed/FeedNetworkSignal.tsx
index 4b1e6c7fbe3..bb187ca8167 100644
--- a/src/components/CameraFeed/FeedNetworkSignal.tsx
+++ b/src/components/CameraFeed/FeedNetworkSignal.tsx
@@ -1,7 +1,9 @@
import { useEffect, useState } from "react";
-import { calculateVideoDelay } from "./utils";
-import NetworkSignal from "../../CAREUI/display/NetworkSignal";
-import { StreamStatus } from "./FeedAlert";
+
+import NetworkSignal from "@/CAREUI/display/NetworkSignal";
+
+import { StreamStatus } from "@/components/CameraFeed/FeedAlert";
+import { calculateVideoDelay } from "@/components/CameraFeed/utils";
interface Props {
playerRef: React.RefObject;
diff --git a/src/components/CameraFeed/FeedWatermark.tsx b/src/components/CameraFeed/FeedWatermark.tsx
index f71bab24ac6..eb129b7db72 100644
--- a/src/components/CameraFeed/FeedWatermark.tsx
+++ b/src/components/CameraFeed/FeedWatermark.tsx
@@ -1,5 +1,6 @@
import { useEffect, useRef } from "react";
-import useAuthUser from "@/common/hooks/useAuthUser";
+
+import useAuthUser from "@/hooks/useAuthUser";
export default function FeedWatermark() {
const me = useAuthUser();
diff --git a/src/components/CameraFeed/NoFeedAvailable.tsx b/src/components/CameraFeed/NoFeedAvailable.tsx
index 05e07327458..ae70f7abbc0 100644
--- a/src/components/CameraFeed/NoFeedAvailable.tsx
+++ b/src/components/CameraFeed/NoFeedAvailable.tsx
@@ -1,7 +1,9 @@
-import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon";
-import { classNames } from "../../Utils/utils";
-import { AssetData } from "../Assets/AssetTypes";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import { AssetData } from "@/components/Assets/AssetTypes";
+import ButtonV2 from "@/components/Common/ButtonV2";
+
+import { classNames } from "@/Utils/utils";
interface Props {
className?: string;
diff --git a/src/components/CameraFeed/StillWatching.tsx b/src/components/CameraFeed/StillWatching.tsx
index 8993d0344d7..b9c565ccd8a 100644
--- a/src/components/CameraFeed/StillWatching.tsx
+++ b/src/components/CameraFeed/StillWatching.tsx
@@ -1,10 +1,13 @@
+import careConfig from "@careConfig";
import { useEffect, useState } from "react";
-import ConfirmDialog from "@/components/Common/ConfirmDialog";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../../CAREUI/icons/CareIcon";
import { useTranslation } from "react-i18next";
-import { useTimer } from "../../Utils/useTimer";
-import careConfig from "@careConfig";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
+import ConfirmDialog from "@/components/Common/ConfirmDialog";
+
+import { useTimer } from "@/hooks/useTimer";
type State = "watching" | "prompted" | "timed-out";
diff --git a/src/components/CameraFeed/routes.ts b/src/components/CameraFeed/routes.ts
index bffcb0fc9b0..e5a0ef72491 100644
--- a/src/components/CameraFeed/routes.ts
+++ b/src/components/CameraFeed/routes.ts
@@ -1,10 +1,13 @@
-import { OperationAction, PTZPayload } from "./useOperateCamera";
-
-import { AssetBedModel } from "../Assets/AssetTypes";
-import { PaginatedResponse } from "../../Utils/request/types";
-import { Type } from "../../Redux/api";
+import { AssetBedModel } from "@/components/Assets/AssetTypes";
+import {
+ OperationAction,
+ PTZPayload,
+} from "@/components/CameraFeed/useOperateCamera";
import { UserBareMinimum } from "@/components/Users/models";
-import { WritableOnly } from "../../Utils/types";
+
+import { Type } from "@/Utils/request/api";
+import { PaginatedResponse } from "@/Utils/request/types";
+import { WritableOnly } from "@/Utils/types";
export type GetStatusResponse = {
result: {
diff --git a/src/components/CameraFeed/useOperateCamera.ts b/src/components/CameraFeed/useOperateCamera.ts
index 0e65fb0130c..6fcc2436ac3 100644
--- a/src/components/CameraFeed/useOperateCamera.ts
+++ b/src/components/CameraFeed/useOperateCamera.ts
@@ -1,6 +1,8 @@
import { useState } from "react";
-import request from "../../Utils/request/request";
-import { FeedRoutes } from "./routes";
+
+import { FeedRoutes } from "@/components/CameraFeed/routes";
+
+import request from "@/Utils/request/request";
export interface PTZPayload {
x: number;
diff --git a/src/components/CameraFeed/utils.ts b/src/components/CameraFeed/utils.ts
index 1cb721ebcc3..e13934c301b 100644
--- a/src/components/CameraFeed/utils.ts
+++ b/src/components/CameraFeed/utils.ts
@@ -1,6 +1,8 @@
import { MutableRefObject } from "react";
-import { AssetClass, AssetData } from "../Assets/AssetTypes";
-import { getCameraConfig } from "../../Utils/transformUtils";
+
+import { AssetClass, AssetData } from "@/components/Assets/AssetTypes";
+
+import { getCameraConfig } from "@/Utils/transformUtils";
export const calculateVideoDelay = (
ref: MutableRefObject,
diff --git a/src/components/Common/components/AccordionV2.tsx b/src/components/Common/AccordionV2.tsx
similarity index 100%
rename from src/components/Common/components/AccordionV2.tsx
rename to src/components/Common/AccordionV2.tsx
diff --git a/src/components/Common/AssetInfoPopover.tsx b/src/components/Common/AssetInfoPopover.tsx
index 986bed795c9..034073f473d 100644
--- a/src/components/Common/AssetInfoPopover.tsx
+++ b/src/components/Common/AssetInfoPopover.tsx
@@ -1,14 +1,16 @@
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import { AssetData, assetClassProps } from "../Assets/AssetTypes";
-import ButtonV2 from "./components/ButtonV2";
-import { navigate } from "raviger";
-import { useTranslation } from "react-i18next";
import {
Popover,
PopoverButton,
PopoverPanel,
Transition,
} from "@headlessui/react";
+import { navigate } from "raviger";
+import { useTranslation } from "react-i18next";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { AssetData, assetClassProps } from "@/components/Assets/AssetTypes";
+import ButtonV2 from "@/components/Common/ButtonV2";
interface AssetInfoPopoverProps {
asset?: AssetData;
diff --git a/src/components/Common/AssetSelect.tsx b/src/components/Common/AssetSelect.tsx
index 0db7b46b67c..b1feb8fc839 100644
--- a/src/components/Common/AssetSelect.tsx
+++ b/src/components/Common/AssetSelect.tsx
@@ -1,7 +1,9 @@
import { useCallback } from "react";
-import AutoCompleteAsync from "../Form/AutoCompleteAsync";
-import routes from "../../Redux/api";
-import request from "../../Utils/request/request";
+
+import AutoCompleteAsync from "@/components/Form/AutoCompleteAsync";
+
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
interface AssetSelectProps {
name: string;
diff --git a/src/components/Common/Avatar.tsx b/src/components/Common/Avatar.tsx
index 7a7ded17265..2c463fa093b 100644
--- a/src/components/Common/Avatar.tsx
+++ b/src/components/Common/Avatar.tsx
@@ -1,6 +1,7 @@
-import { cn } from "@/lib/utils";
import React from "react";
+import { cn } from "@/lib/utils";
+
const colors: string[] = [
"#E6F3FF", // Light Blue
"#FFF0E6", // Light Peach
diff --git a/src/components/Common/AvatarEditModal.tsx b/src/components/Common/AvatarEditModal.tsx
index 8884b62e3c2..38b54b1f1d2 100644
--- a/src/components/Common/AvatarEditModal.tsx
+++ b/src/components/Common/AvatarEditModal.tsx
@@ -1,17 +1,21 @@
import React, {
- useState,
ChangeEventHandler,
useCallback,
useEffect,
useRef,
+ useState,
} from "react";
-import { Warn } from "@/Utils/Notifications";
-import useDragAndDrop from "@/Utils/useDragAndDrop";
-import ButtonV2, { Cancel, Submit } from "./components/ButtonV2";
+import { useTranslation } from "react-i18next";
import Webcam from "react-webcam";
+
import CareIcon from "@/CAREUI/icons/CareIcon";
-import { useTranslation } from "react-i18next";
-import DialogModal from "./Dialog";
+
+import ButtonV2, { Cancel, Submit } from "@/components/Common/ButtonV2";
+import DialogModal from "@/components/Common/Dialog";
+
+import useDragAndDrop from "@/hooks/useDragAndDrop";
+
+import { Warn } from "@/Utils/Notifications";
interface Props {
title: string;
diff --git a/src/components/Common/AvatarEditable.tsx b/src/components/Common/AvatarEditable.tsx
index f8c0f4885bb..bbf3ab6c35f 100644
--- a/src/components/Common/AvatarEditable.tsx
+++ b/src/components/Common/AvatarEditable.tsx
@@ -1,7 +1,10 @@
-import CareIcon from "@/CAREUI/icons/CareIcon";
-import { cn } from "@/lib/utils";
import { useTranslation } from "react-i18next";
-import { AvatarProps, Avatar } from "@/components/Common/Avatar";
+
+import { cn } from "@/lib/utils";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { Avatar, AvatarProps } from "@/components/Common/Avatar";
interface AvatarEditableProps extends AvatarProps {
id?: string;
diff --git a/src/components/Common/BedSelect.tsx b/src/components/Common/BedSelect.tsx
index 7ed741061ee..741049e7d74 100644
--- a/src/components/Common/BedSelect.tsx
+++ b/src/components/Common/BedSelect.tsx
@@ -1,10 +1,12 @@
import { useCallback } from "react";
-import { BedModel } from "../Facility/models";
-import AutoCompleteAsync from "../Form/AutoCompleteAsync";
import { useTranslation } from "react-i18next";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
-import { AssetClass } from "../Assets/AssetTypes";
+
+import { AssetClass } from "@/components/Assets/AssetTypes";
+import { BedModel } from "@/components/Facility/models";
+import AutoCompleteAsync from "@/components/Form/AutoCompleteAsync";
+
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
interface BedSelectProps {
name: string;
diff --git a/src/components/Common/BloodPressureFormField.tsx b/src/components/Common/BloodPressureFormField.tsx
index beddd34cf38..77ef37fe5d7 100644
--- a/src/components/Common/BloodPressureFormField.tsx
+++ b/src/components/Common/BloodPressureFormField.tsx
@@ -1,13 +1,14 @@
import { useTranslation } from "react-i18next";
-import { FieldValidator } from "../Form/FieldValidators";
-import FormField from "../Form/FormFields/FormField";
+
+import { FieldValidator } from "@/components/Form/FieldValidators";
+import FormField from "@/components/Form/FormFields/FormField";
+import TextFormField from "@/components/Form/FormFields/TextFormField";
import {
FieldChangeEvent,
FormFieldBaseProps,
useFormFieldPropsResolver,
-} from "../Form/FormFields/Utils";
-import { BloodPressure } from "../Patient/models";
-import TextFormField from "../Form/FormFields/TextFormField";
+} from "@/components/Form/FormFields/Utils";
+import { BloodPressure } from "@/components/Patient/models";
type Props = FormFieldBaseProps;
diff --git a/src/components/Common/Breadcrumbs.tsx b/src/components/Common/Breadcrumbs.tsx
index 4ccbbfd717e..410df597a5d 100644
--- a/src/components/Common/Breadcrumbs.tsx
+++ b/src/components/Common/Breadcrumbs.tsx
@@ -1,9 +1,13 @@
-import { usePath, Link } from "raviger";
+import { Link, usePath } from "raviger";
import { useState } from "react";
-import { classNames } from "../../Utils/utils";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
import { Button } from "@/components/ui/button";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import useAppHistory from "@/common/hooks/useAppHistory";
+
+import useAppHistory from "@/hooks/useAppHistory";
+
+import { classNames } from "@/Utils/utils";
const MENU_TAGS: { [key: string]: string } = {
facility: "Facilities",
diff --git a/src/components/Common/components/ButtonV2.tsx b/src/components/Common/ButtonV2.tsx
similarity index 96%
rename from src/components/Common/components/ButtonV2.tsx
rename to src/components/Common/ButtonV2.tsx
index b7eab5f29d7..11b6aa95d20 100644
--- a/src/components/Common/components/ButtonV2.tsx
+++ b/src/components/Common/ButtonV2.tsx
@@ -1,11 +1,14 @@
-import AuthorizedChild from "../../../CAREUI/misc/AuthorizedChild";
-import { AuthorizedElementProps } from "../../../Utils/AuthorizeFor";
-import CareIcon from "../../../CAREUI/icons/CareIcon";
import { Link } from "raviger";
-import { classNames } from "../../../Utils/utils";
-import { useTranslation } from "react-i18next";
import { useEffect, useState } from "react";
-import Spinner from "../Spinner";
+import { useTranslation } from "react-i18next";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+import AuthorizedChild from "@/CAREUI/misc/AuthorizedChild";
+
+import Spinner from "@/components/Common/Spinner";
+
+import { AuthorizedElementProps } from "@/Utils/AuthorizeFor";
+import { classNames } from "@/Utils/utils";
export type ButtonSize = "small" | "default" | "large";
export type ButtonShape = "square" | "circle";
diff --git a/src/components/Common/components/CircularProgress.tsx b/src/components/Common/CircularProgress.tsx
similarity index 100%
rename from src/components/Common/components/CircularProgress.tsx
rename to src/components/Common/CircularProgress.tsx
diff --git a/src/components/Common/components/CollapseV2.tsx b/src/components/Common/CollapseV2.tsx
similarity index 100%
rename from src/components/Common/components/CollapseV2.tsx
rename to src/components/Common/CollapseV2.tsx
diff --git a/src/components/Common/ConfirmDialog.tsx b/src/components/Common/ConfirmDialog.tsx
index a6bc14e8d4f..0183fc1d651 100644
--- a/src/components/Common/ConfirmDialog.tsx
+++ b/src/components/Common/ConfirmDialog.tsx
@@ -1,5 +1,5 @@
-import DialogModal from "./Dialog";
-import { ButtonVariant, Cancel, Submit } from "./components/ButtonV2";
+import { ButtonVariant, Cancel, Submit } from "@/components/Common/ButtonV2";
+import DialogModal from "@/components/Common/Dialog";
type ConfirmDialogProps = {
className?: string;
diff --git a/src/components/Common/components/ContactLink.tsx b/src/components/Common/ContactLink.tsx
similarity index 91%
rename from src/components/Common/components/ContactLink.tsx
rename to src/components/Common/ContactLink.tsx
index ee834b3f2a9..c8115b42a1f 100644
--- a/src/components/Common/components/ContactLink.tsx
+++ b/src/components/Common/ContactLink.tsx
@@ -1,4 +1,4 @@
-import CareIcon from "../../../CAREUI/icons/CareIcon";
+import CareIcon from "@/CAREUI/icons/CareIcon";
type ContactLinkProps =
| { mailto: string; tel?: undefined }
diff --git a/src/components/Common/DateInputV2.tsx b/src/components/Common/DateInputV2.tsx
index 87a29debe5b..e72639700fc 100644
--- a/src/components/Common/DateInputV2.tsx
+++ b/src/components/Common/DateInputV2.tsx
@@ -1,12 +1,14 @@
-import { MutableRefObject, useEffect, useRef, useState } from "react";
-
-import CareIcon from "../../CAREUI/icons/CareIcon";
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/react";
-import { classNames } from "../../Utils/utils";
-import dayjs from "../../Utils/dayjs";
-import * as Notification from "../../Utils/Notifications";
import { t } from "i18next";
-import DateTextInput from "./DateTextInput";
+import { MutableRefObject, useEffect, useRef, useState } from "react";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import DateTextInput from "@/components/Common/DateTextInput";
+
+import * as Notification from "@/Utils/Notifications";
+import dayjs from "@/Utils/dayjs";
+import { classNames } from "@/Utils/utils";
type DatePickerType = "date" | "month" | "year";
@@ -190,6 +192,16 @@ const DateInputV2: React.FC = ({
year = datePickerHeaderDate.getFullYear(),
) => {
const date = new Date(year, month, day);
+ if (
+ min &&
+ max &&
+ min.getDate() === max.getDate() &&
+ day === min.getDate() &&
+ month === min.getMonth() &&
+ year === min.getFullYear()
+ ) {
+ return true;
+ }
if (min) if (date < min) return false;
if (max) if (date > max) return false;
return true;
diff --git a/src/components/Common/DateRangeInputV2.tsx b/src/components/Common/DateRangeInputV2.tsx
index aa426ad0cb2..d3f57e59884 100644
--- a/src/components/Common/DateRangeInputV2.tsx
+++ b/src/components/Common/DateRangeInputV2.tsx
@@ -1,5 +1,6 @@
import { useState } from "react";
-import DateInputV2 from "./DateInputV2";
+
+import DateInputV2 from "@/components/Common/DateInputV2";
export type DateRange = {
start: Date | undefined;
diff --git a/src/components/Common/DateTextInput.tsx b/src/components/Common/DateTextInput.tsx
index 38e13b23283..f2cd4844a1c 100644
--- a/src/components/Common/DateTextInput.tsx
+++ b/src/components/Common/DateTextInput.tsx
@@ -1,8 +1,10 @@
-import CareIcon from "@/CAREUI/icons/CareIcon";
-import { classNames } from "@/Utils/utils";
import dayjs from "dayjs";
import { Fragment, KeyboardEvent, useEffect, useState } from "react";
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { classNames } from "@/Utils/utils";
+
/**
* DateTextInput component.
*
diff --git a/src/components/Common/Dialog.tsx b/src/components/Common/Dialog.tsx
index 07722daf793..a67981dd3f8 100644
--- a/src/components/Common/Dialog.tsx
+++ b/src/components/Common/Dialog.tsx
@@ -5,7 +5,8 @@ import {
Transition,
TransitionChild,
} from "@headlessui/react";
-import { classNames } from "../../Utils/utils";
+
+import { classNames } from "@/Utils/utils";
type DialogProps = {
title: React.ReactNode;
diff --git a/src/components/Common/DistrictAutocompleteFormField.tsx b/src/components/Common/DistrictAutocompleteFormField.tsx
index 25fef151f2a..91f1c9389f8 100644
--- a/src/components/Common/DistrictAutocompleteFormField.tsx
+++ b/src/components/Common/DistrictAutocompleteFormField.tsx
@@ -1,8 +1,9 @@
-import { FormFieldBaseProps } from "../Form/FormFields/Utils";
-import AutocompleteFormField from "../Form/FormFields/Autocomplete";
-import useQuery from "../../Utils/request/useQuery";
-import routes from "../../Redux/api";
-import { DistrictModel, StateModel } from "../Facility/models";
+import { DistrictModel, StateModel } from "@/components/Facility/models";
+import AutocompleteFormField from "@/components/Form/FormFields/Autocomplete";
+import { FormFieldBaseProps } from "@/components/Form/FormFields/Utils";
+
+import routes from "@/Utils/request/api";
+import useQuery from "@/Utils/request/useQuery";
type Props = FormFieldBaseProps & {
placeholder?: string;
diff --git a/src/components/Common/ExcelFIleDragAndDrop.tsx b/src/components/Common/ExcelFIleDragAndDrop.tsx
index d79cab62d34..67c64f0f433 100644
--- a/src/components/Common/ExcelFIleDragAndDrop.tsx
+++ b/src/components/Common/ExcelFIleDragAndDrop.tsx
@@ -1,18 +1,23 @@
import { forIn } from "lodash-es";
import { useEffect, useRef, useState } from "react";
-import * as Notification from "../../Utils/Notifications";
import { useTranslation } from "react-i18next";
-import { Cancel, Submit } from "./components/ButtonV2";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import useDragAndDrop from "../../Utils/useDragAndDrop";
-import ExcelViewer from "./ExcelViewer";
import * as XLSX from "xlsx";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import { Cancel, Submit } from "@/components/Common/ButtonV2";
+import ExcelViewer from "@/components/Common/ExcelViewer";
+
+import useDragAndDrop from "@/hooks/useDragAndDrop";
+
import schemaParser, {
- SchemaType,
ErrorData,
ParsedData,
+ SchemaType,
} from "@/common/schemaParser";
+import * as Notification from "@/Utils/Notifications";
+
interface Props {
handleSubmit: (data: any) => void;
loading: boolean;
diff --git a/src/components/Common/ExcelViewer.tsx b/src/components/Common/ExcelViewer.tsx
index 4705d23c733..d35c98a6cc8 100644
--- a/src/components/Common/ExcelViewer.tsx
+++ b/src/components/Common/ExcelViewer.tsx
@@ -1,8 +1,11 @@
import { ReactNode, useEffect, useState } from "react";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import ButtonV2, { Cancel, Submit } from "./components/ButtonV2";
-import DialogModal from "./Dialog";
-import Pagination from "./Pagination";
+
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2, { Cancel, Submit } from "@/components/Common/ButtonV2";
+import DialogModal from "@/components/Common/Dialog";
+import Pagination from "@/components/Common/Pagination";
+
import { ParsedData } from "@/common/schemaParser";
type FilePreviewProps = {
diff --git a/src/components/Common/Export.tsx b/src/components/Common/Export.tsx
index c34e3f6b5d9..6cd786977ed 100644
--- a/src/components/Common/Export.tsx
+++ b/src/components/Common/Export.tsx
@@ -1,13 +1,15 @@
+import CareIcon from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2 from "@/components/Common/ButtonV2";
import DropdownMenu, {
DropdownItem,
DropdownItemProps,
-} from "@/components/Common/components/Menu";
+} from "@/components/Common/Menu";
+
+import useExport from "@/hooks/useExport";
-import ButtonV2 from "@/components/Common/components/ButtonV2";
-import CareIcon from "../../CAREUI/icons/CareIcon";
-import useExport from "@/common/hooks/useExport";
-import { Route } from "../../Utils/request/types";
-import request from "../../Utils/request/request";
+import request from "@/Utils/request/request";
+import { Route } from "@/Utils/request/types";
interface ExportItem {
options?: DropdownItemProps;
diff --git a/src/components/Common/FacilitySelect.tsx b/src/components/Common/FacilitySelect.tsx
index d91b9a7f8fc..e4397cbcb9c 100644
--- a/src/components/Common/FacilitySelect.tsx
+++ b/src/components/Common/FacilitySelect.tsx
@@ -1,9 +1,11 @@
-import { useCallback } from "react";
-import AutoCompleteAsync from "../Form/AutoCompleteAsync";
-import { FacilityModel } from "../Facility/models";
-import request from "../../Utils/request/request";
-import routes from "../../Redux/api";
import { t } from "i18next";
+import { useCallback } from "react";
+
+import { FacilityModel } from "@/components/Facility/models";
+import AutoCompleteAsync from "@/components/Form/AutoCompleteAsync";
+
+import routes from "@/Utils/request/api";
+import request from "@/Utils/request/request";
interface FacilitySelectProps {
name: string;
diff --git a/src/components/Common/FilePreviewDialog.tsx b/src/components/Common/FilePreviewDialog.tsx
index 13768a0cf04..4b7a07bd0cd 100644
--- a/src/components/Common/FilePreviewDialog.tsx
+++ b/src/components/Common/FilePreviewDialog.tsx
@@ -1,11 +1,21 @@
-import CircularProgress from "./components/CircularProgress";
+import {
+ Dispatch,
+ ReactNode,
+ SetStateAction,
+ Suspense,
+ lazy,
+ useState,
+} from "react";
import { useTranslation } from "react-i18next";
-import { StateInterface } from "../Files/FileUpload";
-import { Dispatch, ReactNode, SetStateAction, useState } from "react";
-import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon";
-import ButtonV2, { Cancel } from "./components/ButtonV2";
-import DialogModal from "./Dialog";
-import PDFViewer from "./PDFViewer";
+
+import CareIcon, { IconName } from "@/CAREUI/icons/CareIcon";
+
+import ButtonV2, { Cancel } from "@/components/Common/ButtonV2";
+import CircularProgress from "@/components/Common/CircularProgress";
+import DialogModal from "@/components/Common/Dialog";
+import { StateInterface } from "@/components/Files/FileUpload";
+
+const PDFViewer = lazy(() => import("@/components/Common/PDFViewer"));
export const zoom_values = [
"scale-25",
@@ -135,14 +145,16 @@ const FilePreviewDialog = (props: FilePreviewProps) => {
} ${getRotationClass(file_state.rotation)}`}
/>
) : file_state.extension === "pdf" ? (
- {
- setPage(1);
- setNumPages(numPages);
- }}
- pageNumber={page}
- />
+ }>
+ {
+ setPage(1);
+ setNumPages(numPages);
+ }}
+ pageNumber={page}
+ />
+
) : previewExtensions.includes(file_state.extension) ? (