diff --git a/.gitignore b/.gitignore index 2bf54f0c767..d02d753ca3d 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,7 @@ stats.json public/build-meta.json .vscode/* !.vscode/launch.json - +src/supportedBrowsers.ts # Reason React /lib/bs/** diff --git a/.prettierrc.json b/.prettierrc.json index 96ff50bd324..e3a9c2acae9 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -7,8 +7,5 @@ "arrowParens": "always", "tailwindFunctions": [ "classNames" - ], - "plugins": [ - "prettier-plugin-tailwindcss" ] } \ No newline at end of file diff --git a/cypress/e2e/assets_spec/assets_creation.cy.ts b/cypress/e2e/assets_spec/assets_creation.cy.ts index 1bcd984a7a3..775ddc3a609 100644 --- a/cypress/e2e/assets_spec/assets_creation.cy.ts +++ b/cypress/e2e/assets_spec/assets_creation.cy.ts @@ -54,7 +54,7 @@ describe("Asset", () => { "email@support.com", "Vendor's Name", serialNumber, - "25122021", + "25/12/2021", "Test note for asset creation!", ); @@ -77,7 +77,7 @@ describe("Asset", () => { "email@support.com", "Vendor's Name", serialNumber, - "25122021", + "25/12/2021", "Test note for asset creation!", ); @@ -104,7 +104,7 @@ describe("Asset", () => { "Customer Support's Name Edited", "Vendor's Name Edited", "Test note for asset creation edited!", - "25122021", + "25/12/2021", ); assetPage.clickUpdateAsset(); @@ -152,7 +152,7 @@ describe("Asset", () => { "email@support.com", "Vendor's Name", serialNumber, - "25122021", + "25/12/2021", "Test note for asset creation!", ); assetPage.interceptAssetCreation(); diff --git a/cypress/e2e/assets_spec/assets_manage.cy.ts b/cypress/e2e/assets_spec/assets_manage.cy.ts index 983a82be07b..a5a7ddf243c 100644 --- a/cypress/e2e/assets_spec/assets_manage.cy.ts +++ b/cypress/e2e/assets_spec/assets_manage.cy.ts @@ -67,7 +67,7 @@ describe("Asset", () => { assetPage.clickupdatedetailbutton(); assetPage.scrollintonotes(); assetPage.enterAssetNotes("Dummy Notes"); - assetPage.enterAssetservicedate("01092023"); + assetPage.enterAssetservicedate("01/09/2023"); assetPage.clickassetupdatebutton(); assetPage.scrollintoservicehistory(); assetPage.clickedithistorybutton(); diff --git a/cypress/e2e/external_results_spec/filter.cy.ts b/cypress/e2e/external_results_spec/filter.cy.ts index 45c050cad8c..95c85214553 100644 --- a/cypress/e2e/external_results_spec/filter.cy.ts +++ b/cypress/e2e/external_results_spec/filter.cy.ts @@ -21,15 +21,17 @@ describe("External Results Filters", () => { it("filter by date", () => { cy.get("input[name='created_date_start']").click(); - cy.get("[id^='headlessui-popover-panel-'] .care-l-angle-left-b").click(); + cy.get("[data-test-id='increment-date-range']").click(); cy.get("div[id='date-1']").click(); cy.get("div[id='date-8']").click(); + cy.get("[data-test-id='slide-over-container']").click(0, 0); cy.get("input[name='result_date_start']").click(); - cy.get("[id^='headlessui-popover-panel-'] .care-l-angle-left-b").click(); + cy.get("[data-test-id='increment-date-range']").click(); cy.get("div[id='date-1']").click(); cy.get("div[id='date-8']").click(); + cy.get("[data-test-id='slide-over-container']").click(0, 0); cy.get("input[name='sample_collection_date_start']").click(); - cy.get("[id^='headlessui-popover-panel-'] .care-l-angle-left-b").click(); + cy.get("[data-test-id='increment-date-range']").click(); cy.get("div[id='date-1']").click(); cy.get("div[id='date-8']").click(); cy.contains("Apply").click(); diff --git a/cypress/e2e/facility_spec/facility_creation.cy.ts b/cypress/e2e/facility_spec/facility_creation.cy.ts index 57735a9dcde..5638b1fba31 100644 --- a/cypress/e2e/facility_spec/facility_creation.cy.ts +++ b/cypress/e2e/facility_spec/facility_creation.cy.ts @@ -32,7 +32,7 @@ describe("Facility Creation", () => { const facilityAddress = "cypress address"; const facilityUpdateAddress = "cypress updated address"; const facilityNumber = "9898469865"; - const triageDate = "02122023"; + const triageDate = "02/12/2023"; const initialTriageValue = "60"; const modifiedTriageValue = "50"; const facilityErrorMessage = [ diff --git a/cypress/e2e/facility_spec/locations.cy.ts b/cypress/e2e/facility_spec/locations.cy.ts index 113a5e3eaab..ab015e175d6 100644 --- a/cypress/e2e/facility_spec/locations.cy.ts +++ b/cypress/e2e/facility_spec/locations.cy.ts @@ -247,7 +247,7 @@ describe("Location Management Section", () => { "email@support.com", "Vendor's Name", serialNumber, - "25122021", + "25/12/2021", "Test note for asset creation!", ); assetPage.clickassetupdatebutton(); diff --git a/cypress/e2e/patient_spec/patient_consultation.cy.ts b/cypress/e2e/patient_spec/patient_consultation.cy.ts index a27d560e1a0..5a6e187cea6 100644 --- a/cypress/e2e/patient_spec/patient_consultation.cy.ts +++ b/cypress/e2e/patient_spec/patient_consultation.cy.ts @@ -86,7 +86,7 @@ describe("Patient Consultation in multiple combination", () => { patientConsultationPage.selectPatientPrincipalDiagnosis(diagnosis4); patientTreatmentPlan.clickAddProcedure(); patientTreatmentPlan.typeProcedureName(procedureName); - patientTreatmentPlan.typeProcedureTime("2024-02-22T12:30"); + patientTreatmentPlan.typeProcedureTime("22/02/2024 12:30 pm"); patientTreatmentPlan.typeTreatmentPlan(patientTreatment); patientTreatmentPlan.typePatientGeneralInstruction(generalInstruction); patientTreatmentPlan.typeSpecialInstruction(specialInstruction); @@ -182,12 +182,12 @@ describe("Patient Consultation in multiple combination", () => { patientConsultationPage.typeCauseOfDeath("Cause of Death"); patientConsultationPage.typePatientConsultationDate( "#death_datetime", - "2024-02-22T12:45", + "22/02/2024 12:30 pm", ); patientConsultationPage.typeDeathConfirmedBy(doctorName); patientConsultationPage.typePatientConsultationDate( "#encounter_date", - "2024-02-22T12:30", + "22/02/2024 12:30 pm", ); cy.submitButton("Create Consultation"); cy.verifyNotification( @@ -245,7 +245,7 @@ describe("Patient Consultation in multiple combination", () => { ); patientConsultationPage.typePatientConsultationDate( "#icu_admission_date", - "2024-02-23T12:30", + "23/02/2024 12:30 pm", ); // add investigation patientInvestigation.clickAddInvestigation(); @@ -293,7 +293,7 @@ describe("Patient Consultation in multiple combination", () => { ); // verify the free text in referring facility name patientConsultationPage.typeReferringFacility("Life Care Hospital"); - patientConsultationPage.selectSymptomsDate("01012024"); + patientConsultationPage.selectSymptomsDate("01/01/2024"); patientConsultationPage.typeAndMultiSelectSymptoms("s", [ "Sore throat", "Sputum", @@ -338,7 +338,7 @@ describe("Patient Consultation in multiple combination", () => { "Outpatient/Emergency Room", ); // Select the Symptoms - Breathlessness and Bleeding symptoms - patientConsultationPage.selectSymptomsDate("01012024"); + patientConsultationPage.selectSymptomsDate("01/01/2024"); patientConsultationPage.typeAndMultiSelectSymptoms("b", [ "Breathlessness", "Bleeding", diff --git a/cypress/e2e/patient_spec/patient_logupdate.cy.ts b/cypress/e2e/patient_spec/patient_logupdate.cy.ts index 13e69e33211..7c68b567943 100644 --- a/cypress/e2e/patient_spec/patient_logupdate.cy.ts +++ b/cypress/e2e/patient_spec/patient_logupdate.cy.ts @@ -27,6 +27,12 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { const patientSpo2 = "15"; const patientRhythmType = "Regular"; const patientRhythm = "Normal Rhythm"; + const patientEtco2 = "50"; + const patientOxygenFlowRate = "40"; + const patientBloodSugar = "52"; + const patientInsulinDosage = "56"; + const patientFluidBalance = "500"; + const patientNetBalance = "1000"; before(() => { loginPage.loginAsDisctrictAdmin(); @@ -39,6 +45,88 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.awaitUrl("/patients"); }); + it("Create a basic critical care log update for a admitted patient and edit it", () => { + patientPage.visitPatient("Dummy Patient 10"); + patientLogupdate.clickLogupdate(); + cy.verifyNotification("Please assign a bed to the patient"); + patientLogupdate.selectBed("Dummy Bed 2"); + cy.closeNotification(); + patientLogupdate.clickLogupdate(); + patientLogupdate.selectPatientCategory(patientCategory); + patientLogupdate.selectRoundType("Detailed Update"); + cy.submitButton("Save and Continue"); + cy.verifyNotification("Detailed Update log created successfully"); + cy.closeNotification(); + // Select two Section - First One is Respiratory Support + patientLogupdate.selectCriticalCareSection("Respiratory Support"); + patientLogupdate.selectNoBilateralAirFlow(); + patientLogupdate.typeEtco2(patientEtco2); + patientLogupdate.selectOxygenSupport(); + patientLogupdate.typeOxygenFlowRate(patientOxygenFlowRate); + patientLogupdate.typeVentilatorSpo2(patientSpo2); + cy.submitButton("Update Details"); + cy.verifyNotification("Respiratory Support details succesfully updated."); + cy.closeNotification(); + // Second Section will be Blood Sugar + patientLogupdate.selectCriticalCareSection("Blood Sugar"); + patientLogupdate.typeBloodSugar(patientBloodSugar); + patientLogupdate.typeInsulinDosage(patientInsulinDosage); + cy.get("#insulin_intake_frequency-option-BD").click(); + cy.submitButton("Update Details"); + cy.verifyNotification("Blood Sugar details succesfully updated."); + // Submit the form and verify the details + cy.submitButton("Complete"); + cy.verifyNotification("Detailed Log Update filed successfully"); + cy.closeNotification(); + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); + cy.verifyContentPresence("#respiratory-support", [ + patientEtco2, + patientOxygenFlowRate, + ]); + cy.verifyContentPresence("#blood-sugar", [ + patientBloodSugar, + patientInsulinDosage, + ]); + // Go back and edit the data on a third section + patientLogupdate.clickGoBackConsultation(); + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateUpdateLog( + "#dailyround-entry", + patientCategory, + ); + patientLogupdate.selectCriticalCareSection("Dialysis"); + patientLogupdate.typeFluidBalance(patientFluidBalance); + patientLogupdate.typeNetBalance(patientNetBalance); + cy.submitButton("Update Details"); + cy.verifyNotification("Dialysis details succesfully updated."); + cy.closeNotification(); + cy.submitButton("Complete"); + cy.verifyNotification("Detailed Log Update filed successfully"); + cy.closeNotification(); + //Reverify the editted and newly added data + cy.contains("button", "Daily Rounds").click(); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); + cy.verifyContentPresence("#respiratory-support", [ + patientEtco2, + patientOxygenFlowRate, + ]); + cy.verifyContentPresence("#blood-sugar", [ + patientBloodSugar, + patientInsulinDosage, + ]); + cy.verifyContentPresence("#dialysis", [ + patientFluidBalance, + patientNetBalance, + ]); + }); + it("Create a new Progress log update for a admitted patient and edit it", () => { patientPage.visitPatient("Dummy Patient 12"); patientLogupdate.clickLogupdate(); @@ -49,7 +137,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { // Only will be using random non-unique progress note fields patientLogupdate.selectPatientCategory(patientCategory); patientLogupdate.selectRoundType("Progress Note"); - patientLogupdate.selectSymptomsDate("01012024"); + patientLogupdate.selectSymptomsDate("01/01/2024"); patientLogupdate.typeAndMultiSelectSymptoms("fe", ["Fever"]); patientLogupdate.typeTemperature(patientTemperature); // add diagnosis @@ -77,7 +165,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.verifyNotification("Progress Note log created successfully"); cy.closeNotification(); // modify the relevant critical care log update - cy.contains("button", "Neurological Monitoring").click(); + patientLogupdate.selectCriticalCareSection("Neurological Monitoring"); cy.get("#consciousness_level-option-RESPONDS_TO_PAIN").click(); cy.get("#left_pupil_light_reaction-option-FIXED").click(); cy.submitButton("Update Details"); @@ -91,7 +179,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); // Verify the data reflection cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientCategory, patientTemperature, @@ -115,7 +206,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.typePhysicalExamination(physicalExamination); patientLogupdate.selectRoundType("Telemedicine"); patientLogupdate.typeOtherDetails(otherExamination); - patientLogupdate.selectSymptomsDate("01012024"); + patientLogupdate.selectSymptomsDate("01/01/2024"); patientLogupdate.typeAndMultiSelectSymptoms("fe", ["Fever"]); patientLogupdate.selectPatientCategory(patientCategory); patientLogupdate.typeSystolic(patientSystolic); @@ -141,7 +232,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.clickLogupdate(); patientLogupdate.typePhysicalExamination(physicalExamination); patientLogupdate.typeOtherDetails(otherExamination); - patientLogupdate.selectSymptomsDate("01012024"); + patientLogupdate.selectSymptomsDate("01/01/2024"); patientLogupdate.typeAndMultiSelectSymptoms("fe", ["Fever"]); patientLogupdate.selectPatientCategory(patientCategory); patientLogupdate.typeSystolic(patientSystolic); @@ -158,7 +249,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.closeNotification(); // edit the card and verify the data. cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientCategory, patientDiastolic, @@ -179,7 +273,10 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { cy.submitButton("Continue"); cy.verifyNotification("Brief Update log updated successfully"); cy.contains("button", "Daily Rounds").click(); - patientLogupdate.clickLogupdateCard("#dailyround-entry", patientCategory); + patientLogupdate.clickLogUpdateViewDetails( + "#dailyround-entry", + patientCategory, + ); cy.verifyContentPresence("#consultation-preview", [ patientModifiedDiastolic, patientModifiedSystolic, @@ -195,7 +292,7 @@ describe("Patient Log Update in Normal, Critical and TeleIcu", () => { patientLogupdate.clickLogupdate(); patientLogupdate.typePhysicalExamination(physicalExamination); patientLogupdate.typeOtherDetails(otherExamination); - patientLogupdate.selectSymptomsDate("01012024"); + patientLogupdate.selectSymptomsDate("01/01/2024"); patientLogupdate.typeAndMultiSelectSymptoms("fe", ["Fever"]); patientLogupdate.clickAddSymptom(); patientLogupdate.selectPatientCategory(patientCategory); diff --git a/cypress/e2e/patient_spec/patient_registration.cy.ts b/cypress/e2e/patient_spec/patient_registration.cy.ts index 2e7ce853fc5..70276e9641d 100644 --- a/cypress/e2e/patient_spec/patient_registration.cy.ts +++ b/cypress/e2e/patient_spec/patient_registration.cy.ts @@ -19,13 +19,11 @@ const getRelativeDateString = (deltaDays = 0) => { if (deltaDays) { date.setDate(date.getDate() + deltaDays); } - return date - .toLocaleDateString("en-IN", { - day: "2-digit", - month: "2-digit", - year: "numeric", - }) - .replace("/", ""); + return date.toLocaleDateString("en-IN", { + day: "2-digit", + month: "2-digit", + year: "numeric", + }); }; describe("Patient Creation with consultation", () => { @@ -39,7 +37,7 @@ describe("Patient Creation with consultation", () => { const phone_number = generatePhoneNumber(); const age = calculateAge(); const patientFacility = "Dummy Facility 40"; - const patientDateOfBirth = "01012001"; + const patientDateOfBirth = "01/01/2001"; const patientMenstruationStartDate = getRelativeDateString(-10); const patientDateOfDelivery = getRelativeDateString(-20); const patientOneName = "Patient With No Consultation"; diff --git a/cypress/e2e/resource_spec/filter.cy.ts b/cypress/e2e/resource_spec/filter.cy.ts index aafc03680ee..e0de2dde9c5 100644 --- a/cypress/e2e/resource_spec/filter.cy.ts +++ b/cypress/e2e/resource_spec/filter.cy.ts @@ -80,6 +80,7 @@ describe("Resource filter", () => { cy.get("input[name='modified_date_start']").click(); cy.get("#date-1").click(); cy.get("#date-1").click(); + cy.get("body").click(0, 0); cy.contains("Apply").click(); cy.wait("@resource_filter"); }); diff --git a/cypress/e2e/users_spec/user_creation.cy.ts b/cypress/e2e/users_spec/user_creation.cy.ts index cc3a8250971..2fccf4fae87 100644 --- a/cypress/e2e/users_spec/user_creation.cy.ts +++ b/cypress/e2e/users_spec/user_creation.cy.ts @@ -90,7 +90,7 @@ describe("User Creation", () => { userCreationPage.typeIntoElementByIdPostClear("weekly_working_hours", "14"); userCreationPage.typeIntoElementByIdPostClearDob( "date_of_birth", - "01011998", + "01/01/1998", ); userCreationPage.clickElementById("submit"); userCreationPage.verifyElementContainsText( @@ -146,7 +146,7 @@ describe("User Creation", () => { userCreationPage.typeIntoElementById("password", "Test@123"); userCreationPage.selectHomeFacility("Dummy Shifting Center"); userCreationPage.typeIntoElementById("phone_number", phone_number); - userCreationPage.setInputDate("date_of_birth", "date-input", "25081999"); + userCreationPage.setInputDate("date_of_birth", "date-input", "25/08/1999"); userCreationPage.selectDropdownOption("user_type", "Doctor"); userCreationPage.typeIntoElementById("c_password", "Test@123"); userCreationPage.typeIntoElementById("doctor_qualification", "MBBS"); diff --git a/cypress/e2e/users_spec/user_homepage.cy.ts b/cypress/e2e/users_spec/user_homepage.cy.ts index b1ecd567d86..0cf25cacfc8 100644 --- a/cypress/e2e/users_spec/user_homepage.cy.ts +++ b/cypress/e2e/users_spec/user_homepage.cy.ts @@ -3,11 +3,18 @@ import { UserPage } from "../../pageobject/Users/UserSearch"; describe("User Homepage", () => { const userPage = new UserPage(); - const usernameToTest = "devdoctor"; - const currentuser = "devdistrictadmin"; const loginPage = new LoginPage(); - const phone_number = "9876543219"; - const alt_phone_number = "9876543219"; + const currentuser = "devdistrictadmin"; + const firstName = "Dummy"; + const lastName = "Nurse"; + const role = "Nurse"; + const state = "Kerala"; + const district = "Ernakulam"; + const phoneNumber = "8878825662"; + const altPhoneNumber = "8878825662"; + const homeFacility = "Dummy Facility 40"; + const nurseUserName = "dummynurse1"; + const doctorUserName = "devdoctor"; before(() => { loginPage.loginAsDisctrictAdmin(); @@ -22,33 +29,32 @@ describe("User Homepage", () => { it("User advance filter functionality", () => { userPage.clickAdvancedFilters(); - userPage.typeInFirstName("Dev"); - userPage.typeInLastName("Doctor"); - userPage.selectRole("Doctor"); - userPage.selectState("Kerala"); - userPage.selectDistrict("Ernakulam"); - userPage.typeInPhoneNumber(phone_number); - userPage.typeInAltPhoneNumber(alt_phone_number); - userPage.selectHomeFacility("Dummy Facility 40"); + userPage.typeInFirstName(firstName); + userPage.typeInLastName(lastName); + userPage.selectRole(role); + userPage.selectState(state); + userPage.selectDistrict(district); + userPage.typeInPhoneNumber(phoneNumber); + userPage.typeInAltPhoneNumber(altPhoneNumber); + userPage.selectHomeFacility(homeFacility); userPage.applyFilter(); - userPage.verifyUrlafteradvancefilter(); - userPage.checkUsernameText(usernameToTest); - userPage.verifyDataTestIdText("First Name", "First Name: Dev"); - userPage.verifyDataTestIdText("Last Name", "Last Name: Doctor"); + userPage.checkUsernameText(nurseUserName); + // Verify the badges related to the data + userPage.verifyDataTestIdText("First Name", `First Name: ${firstName}`); + userPage.verifyDataTestIdText("Last Name", `Last Name: ${lastName}`); userPage.verifyDataTestIdText( "Phone Number", - "Phone Number: +919876543219", + `Phone Number: +91${phoneNumber}`, ); userPage.verifyDataTestIdText( "WhatsApp no.", - "WhatsApp no.: +919876543219", + `WhatsApp no.: +91${altPhoneNumber}`, ); - userPage.verifyDataTestIdText("Role", "Role: Doctor"); + userPage.verifyDataTestIdText("Role", `Role: ${role}`); userPage.verifyDataTestIdText( "Home Facility", - "Home Facility: Dummy Facility 40", + `Home Facility: ${homeFacility}`, ); - userPage.verifyDataTestIdText("District", "District: Ernakulam"); userPage.clearFilters(); userPage.verifyDataTestIdNotVisible("First Name"); userPage.verifyDataTestIdNotVisible("Last Name"); @@ -61,14 +67,14 @@ describe("User Homepage", () => { it("Search by username", () => { userPage.checkSearchInputVisibility(); - userPage.typeInSearchInput(usernameToTest); - userPage.checkUrlForUsername(usernameToTest); - userPage.checkUsernameText(usernameToTest); + userPage.typeInSearchInput(doctorUserName); + userPage.checkUrlForUsername(doctorUserName); + userPage.checkUsernameText(doctorUserName); userPage.checkUsernameBadgeVisibility(true); userPage.clearSearchInput(); userPage.checkUsernameBadgeVisibility(false); - userPage.typeInSearchInput(usernameToTest); - userPage.checkUsernameText(usernameToTest); + userPage.typeInSearchInput(doctorUserName); + userPage.checkUsernameText(doctorUserName); userPage.clickRemoveIcon(); userPage.checkUsernameBadgeVisibility(false); userPage.checkUsernameText(currentuser); diff --git a/cypress/e2e/users_spec/user_profile.cy.ts b/cypress/e2e/users_spec/user_profile.cy.ts index 2672cccad7e..8f0b144c8b8 100644 --- a/cypress/e2e/users_spec/user_profile.cy.ts +++ b/cypress/e2e/users_spec/user_profile.cy.ts @@ -7,7 +7,7 @@ describe("Manage User Profile", () => { const userProfilePage = new UserProfilePage(); const manageUserPage = new ManageUserPage(); - const date_of_birth = "01011999"; + const date_of_birth = "01/01/1999"; const gender = "Male"; const email = "test@example.com"; const phone = "+918899887788"; diff --git a/cypress/pageobject/Asset/AssetCreation.ts b/cypress/pageobject/Asset/AssetCreation.ts index 2de13561a0b..7a413b8f8ed 100644 --- a/cypress/pageobject/Asset/AssetCreation.ts +++ b/cypress/pageobject/Asset/AssetCreation.ts @@ -63,6 +63,7 @@ export class AssetPage { "[data-testid=asset-last-serviced-on-input] input[type='text']", ).click(); cy.get("#date-input").click().type(lastServicedOn); + cy.get("body").click(0, 0); cy.get("[data-testid=asset-notes-input] textarea").type(notes); } @@ -121,6 +122,7 @@ export class AssetPage { "[data-testid=asset-last-serviced-on-input] input[type='text']", ).click(); cy.get("#date-input").click().clear().type(lastServicedOn); + cy.get("body").click(0, 0); cy.get("[data-testid=asset-notes-input] textarea").clear().type(notes); } @@ -277,6 +279,7 @@ export class AssetPage { enterAssetservicedate(text: string) { cy.get("input[name='last_serviced_on']").click(); cy.get("#date-input").click().type(text); + cy.get("body").click(0, 0); } scrollintoWarrantyDetails() { diff --git a/cypress/pageobject/Facility/FacilityCreation.ts b/cypress/pageobject/Facility/FacilityCreation.ts index a1676e625dd..0552a130adc 100644 --- a/cypress/pageobject/Facility/FacilityCreation.ts +++ b/cypress/pageobject/Facility/FacilityCreation.ts @@ -247,6 +247,7 @@ class FacilityPage { fillEntryDate(date) { cy.get("#entry_date").click(); cy.get("#date-input").click().type(date); + cy.get("body").click(0, 0); } clickEditButton() { diff --git a/cypress/pageobject/Patient/PatientConsultation.ts b/cypress/pageobject/Patient/PatientConsultation.ts index e4a9810141e..13c3e4b2963 100644 --- a/cypress/pageobject/Patient/PatientConsultation.ts +++ b/cypress/pageobject/Patient/PatientConsultation.ts @@ -60,7 +60,9 @@ export class PatientConsultationPage { } typePatientConsultationDate(selector: string, date: string) { - cy.get(selector).clear().click().type(date); + cy.get(selector).click(); + cy.get("#date-input").clear().type(date); + cy.get("body").click(0, 0); } clickPatientDetails() { diff --git a/cypress/pageobject/Patient/PatientCreation.ts b/cypress/pageobject/Patient/PatientCreation.ts index 739601d5b56..c2caa8fa311 100644 --- a/cypress/pageobject/Patient/PatientCreation.ts +++ b/cypress/pageobject/Patient/PatientCreation.ts @@ -54,6 +54,7 @@ export class PatientPage { cy.get("#date_of_birth").scrollIntoView(); cy.get("#date_of_birth").should("be.visible").click(); cy.get("#date-input").click().type(dateOfBirth); + cy.get("body").click(0, 0); } typePatientAge(age: string) { @@ -81,11 +82,13 @@ export class PatientPage { typeLastMenstruationStartDate(date: string) { cy.get("#last_menstruation_start_date").click(); cy.get("#date-input").click().type(date); + cy.get("body").click(0, 0); } typeDateOfDelivery(date: string) { cy.get("#date_of_delivery").click(); cy.get("#date-input").click().type(date); + cy.get("body").click(0, 0); } clickPermanentAddress() { diff --git a/cypress/pageobject/Patient/PatientLogupdate.ts b/cypress/pageobject/Patient/PatientLogupdate.ts index ca238fe115c..8a4c11ab25b 100644 --- a/cypress/pageobject/Patient/PatientLogupdate.ts +++ b/cypress/pageobject/Patient/PatientLogupdate.ts @@ -70,13 +70,20 @@ class PatientLogupdate { cy.get("#rhythm_detail").click().type(rhythm); } - clickLogupdateCard(element, patientCategory) { + clickLogUpdateViewDetails(element, patientCategory) { cy.get(element).scrollIntoView(); cy.verifyContentPresence(element, [patientCategory]); cy.get(element).first().contains("View Details").click(); cy.wait(3000); } + clickLogUpdateUpdateLog(element, patientCategory) { + cy.get(element).scrollIntoView(); + cy.verifyContentPresence(element, [patientCategory]); + cy.get(element).first().contains("Update Log").click(); + cy.wait(3000); + } + clickUpdateDetail() { cy.verifyAndClickElement("#consultation-preview", "Update Details"); cy.wait(3000); @@ -90,5 +97,53 @@ class PatientLogupdate { cy.get("#consultation_tab_nav").scrollIntoView(); cy.verifyAndClickElement("#consultation_tab_nav", "Vitals"); } + + selectNoBilateralAirFlow() { + cy.get("#bilateral_air_entry-option-false").click(); + } + + typeEtco2(etco2: string) { + cy.get("#etco2-range-input").type(etco2); + } + + selectOxygenSupport() { + cy.get("#respiratory_support-option-OXYGEN_SUPPORT").click(); + } + + selectNonBreathingModality() { + cy.get("#ventilator_oxygen_modality-option-NON_REBREATHING_MASK").click(); + } + + typeOxygenFlowRate(flowRate: string) { + cy.get("#oxygen_flow_rate-range-input").type(flowRate); + } + + typeVentilatorSpo2(spo2: string) { + cy.get("#ventilator_spo2-range-input").type(spo2); + } + + selectCriticalCareSection(sectionName: string) { + cy.contains("button", sectionName).click(); + } + + typeBloodSugar(bloodSugar: string) { + cy.get("#blood_sugar_level-range-input").type(bloodSugar); + } + + typeInsulinDosage(insulinDosage: string) { + cy.get("#insulin_intake_dose-range-input").type(insulinDosage); + } + + clickGoBackConsultation() { + cy.get("#back-to-consultation").click(); + } + + typeFluidBalance(fluid: string) { + cy.get("#dialysis_fluid_balance-range-input").type(fluid); + } + + typeNetBalance(netBalance: string) { + cy.get("#dialysis_net_balance-range-input").type(netBalance); + } } export default PatientLogupdate; diff --git a/cypress/pageobject/Patient/PatientPredefined.ts b/cypress/pageobject/Patient/PatientPredefined.ts index f0a005ec97b..f865281c202 100644 --- a/cypress/pageobject/Patient/PatientPredefined.ts +++ b/cypress/pageobject/Patient/PatientPredefined.ts @@ -17,7 +17,7 @@ class PatientPredefined { const emergency_phone_number = generateEmergencyPhoneNumber(); patientPage.typePatientPhoneNumber(phone_number); patientPage.typePatientEmergencyNumber(emergency_phone_number); - patientPage.typePatientDateOfBirth("01012001"); + patientPage.typePatientDateOfBirth("01/01/2001"); patientPage.typePatientName("Patient With Predefined Data"); patientPage.selectPatientGender("Male"); patientPage.typePatientAddress("Test Patient Address"); diff --git a/cypress/pageobject/Patient/PatientTreatmentPlan.ts b/cypress/pageobject/Patient/PatientTreatmentPlan.ts index 70af5604776..a78cc3d4a0c 100644 --- a/cypress/pageobject/Patient/PatientTreatmentPlan.ts +++ b/cypress/pageobject/Patient/PatientTreatmentPlan.ts @@ -33,7 +33,9 @@ class PatientTreatmentPlan { } typeProcedureTime(time: string) { - cy.get("#procedure-time").type(time); + cy.get("#procedure-time").click(); + cy.get("#date-input").clear().type(time); + cy.get("body").click(0, 0); } typeTreatmentPlan(treatment: string) { diff --git a/cypress/pageobject/Shift/ShiftFilters.ts b/cypress/pageobject/Shift/ShiftFilters.ts index 1f824cebbb3..fe20b97bd9f 100644 --- a/cypress/pageobject/Shift/ShiftFilters.ts +++ b/cypress/pageobject/Shift/ShiftFilters.ts @@ -139,18 +139,12 @@ class ShiftingPage { modified_date_end: string, ) { this.createdDateStartInput().click(); - cy.get("[id^='headlessui-popover-panel-'] .care-l-angle-left-b") - .eq(0) - .closest("button") - .click(); + cy.get("[data-test-id='increment-date-range']").click(); cy.get(created_date_start).click(); cy.get(created_date_end).click(); this.modifiedDateStartInput().click(); - cy.get("[id^='headlessui-popover-panel-'] .care-l-angle-left-b") - .eq(0) - .closest("button") - .click(); + cy.get("[data-test-id='increment-date-range']").click(); cy.get(modified_date_start).click(); cy.get(modified_date_end).click(); diff --git a/cypress/pageobject/Users/UserSearch.ts b/cypress/pageobject/Users/UserSearch.ts index 56d1a81395d..0c214e92706 100644 --- a/cypress/pageobject/Users/UserSearch.ts +++ b/cypress/pageobject/Users/UserSearch.ts @@ -22,16 +22,6 @@ export class UserPage { cy.url().should("include", `username=${username}`); } - verifyUrlafteradvancefilter() { - cy.url() - .should("include", "first_name=Dev") - .and("include", "last_name=Doctor") - .and("include", "phone_number=%2B919876543219") - .and("include", "alt_phone_number=%2B919876543219") - .and("include", "user_type=Doctor") - .and("include", "district=7"); - } - checkUsernameText(username: string) { cy.get(this.usernameText).should("have.text", username); } diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index c6437505349..c09cb95e772 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -173,6 +173,7 @@ Cypress.Commands.add("clickAndTypeDate", (selector: string, date: string) => { cy.get(selector).scrollIntoView(); cy.get(selector).click(); cy.get("#date-input").click().type(date); + cy.get("body").click(0, 0); }); Cypress.Commands.add( diff --git a/package-lock.json b/package-lock.json index b9b0c4d0583..dec462f006f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,16 +9,18 @@ "version": "2.5.4", "license": "MIT", "dependencies": { - "@fontsource/inter": "^5.0.18", + "@fontsource/inter": "^5.0.21", "@googlemaps/react-wrapper": "^1.1.35", "@googlemaps/typescript-guards": "^2.0.3", "@headlessui/react": "^2.1.2", "@pnotify/core": "^5.2.0", "@pnotify/mobile": "^5.2.0", - "@sentry/browser": "^8.12.0", + "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", - "axios": "^1.6.8", + "axios": "^1.7.7", + "bowser": "^2.11.0", "browser-image-compression": "^2.0.2", + "browserslist-useragent-regexp": "^4.1.3", "cross-env": "^7.0.3", "dayjs": "^1.11.11", "echarts": "^5.5.0", @@ -2475,19 +2477,6 @@ "dev": true, "peer": true }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@eslint/js": { "version": "8.57.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", @@ -2561,9 +2550,9 @@ "license": "MIT" }, "node_modules/@fontsource/inter": { - "version": "5.0.18", - "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.18.tgz", - "integrity": "sha512-YCsoYPTcs713sI7tLtxaPrIhXAXvEetGg5Ry02ivA8qUOb3fQHojbK/X9HLD5OOKvFUNR2Ynkwb1kR1hVKQHpw==" + "version": "5.0.21", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.21.tgz", + "integrity": "sha512-Y4Ph0bYD5IfW8r9PSeiNjLvM6D/Bh5+YT9jOKiBqW3YS+AEBlmy8v74TpTNeZAvL3zHmikHCnzaKw7ob8LZiKQ==" }, "node_modules/@googlemaps/js-api-loader": { "version": "1.16.6", @@ -3776,178 +3765,178 @@ ] }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.12.0.tgz", - "integrity": "sha512-h7HRqED15Qa+DRt8iZGna24Z331nglgjPzdFn4+u+jvnZrehUjH0vjsfuj7qhwSUNZu8Rxi1ZlUYFURjLDTKCA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.29.0.tgz", + "integrity": "sha512-6HpyQkaqPvK6Lnigjlarq/LDYgXT2OBNf24RK7z0ipJSxSIpmtelfzHbnwWYnypNDXfTDdPm97fZEenQHryYJA==", "dependencies": { - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/browser-utils/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.12.0.tgz", - "integrity": "sha512-PvQ14wVOPmzRdYdmXD791CqERZZC4jZa5hnyBKBuF6ZpifIQ4Uk7spPu6ZO+Ympx3GtRlpYjk4dbjHyNSfYTwA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.29.0.tgz", + "integrity": "sha512-yAL5YMEFk4XaeVRUGEguydahRzaQrNPAaWRv6k+XRzCv9CGBhxb14KXQc9X/penlauMFcDfgelCPKcTqcf6wDw==", "dependencies": { - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.12.0.tgz", - "integrity": "sha512-TJceMtzRnY3SCvt3nFDu9rlT00Le7SaV2RL3D7SyDuijvJbWvIw3DRk7yutpF8c9YKO9j6FMa4NlkCJ+YAnnKQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.29.0.tgz", + "integrity": "sha512-Xgv/eYucsm7GaGKms2ClQ02NpD07MxjoTjp1/vYZm0H4Q08dVphVZrQp7hL1oX/VD9mb5SFyyKuuIRqIu7S8RA==", "dependencies": { - "@sentry-internal/browser-utils": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/browser-utils": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.12.0.tgz", - "integrity": "sha512-0slfHZ3TD3MKeBu5NEGuKuecxStX23gts5L3mGFJd/zwsd04A31fhVmo6agIkxnZbOU4GPX/7HPWIeevkvy3ig==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.29.0.tgz", + "integrity": "sha512-W2YbZRvp2lYC50V51fNLcnoIiK1Km4vSc+v6SL7c//lv2qpyumoUAAIDKY+14s8Lgt1RsR6rfZhfheD4O/6WSQ==", "dependencies": { - "@sentry-internal/replay": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/replay": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" @@ -3968,48 +3957,48 @@ } }, "node_modules/@sentry/browser": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.12.0.tgz", - "integrity": "sha512-H82dmr7KQWoS2DQc5dJko5wNepltcEro1EM4mBeL2YmVbNRtoZzD3HQTpbxJJuFsTvEMZevvez5HFlpUgxmIwQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.29.0.tgz", + "integrity": "sha512-aKTy4H/3RI0q9LIeepesjWGlGNeh4HGFfwQjzHME8gcWCQ5LSlzYX4U+hu2yp7r1Jfd9MUTFfOuuLih2HGLGsQ==", "dependencies": { - "@sentry-internal/browser-utils": "8.12.0", - "@sentry-internal/feedback": "8.12.0", - "@sentry-internal/replay": "8.12.0", - "@sentry-internal/replay-canvas": "8.12.0", - "@sentry/core": "8.12.0", - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry-internal/browser-utils": "8.29.0", + "@sentry-internal/feedback": "8.29.0", + "@sentry-internal/replay": "8.29.0", + "@sentry-internal/replay-canvas": "8.29.0", + "@sentry/core": "8.29.0", + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/core": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.12.0.tgz", - "integrity": "sha512-y+5Hlf/E45nj2adJy4aUCNBefQbyWIX66Z9bOM6JjnVB0hxCm5H0sYqrFKldYqaeZx6/Q2cgAcGs61krUxNerQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.29.0.tgz", + "integrity": "sha512-scMbZaJ0Ov8NPgWn86EdjhyTLrhvRVbTxjg0imJAvhIvRbblH3xyqye/17Qnk2fOp8TNDOl7TBZHi0NCFQ5HUw==", "dependencies": { - "@sentry/types": "8.12.0", - "@sentry/utils": "8.12.0" + "@sentry/types": "8.29.0", + "@sentry/utils": "8.29.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/types": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.12.0.tgz", - "integrity": "sha512-pKuW64IjgcklWAOHzPJ02Ej480hyL25TLnYCAfl2TDMrYc+N0bbbH1N7ZxqJpTSVK9IxZPY/t2TRxpQBiyPEcg==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.29.0.tgz", + "integrity": "sha512-j4gX3ctzgD4xVWllXAhm6M+kHFEvrFoUPFq60X/pgkjsWCocGuhtNfB0rW43ICG8hCnlz8IYl7O7b8V8qY7SPg==", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/browser/node_modules/@sentry/utils": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.12.0.tgz", - "integrity": "sha512-pwYMoOmexz3vsNSOJGPvD2qwp/fsPcr8mkFk67wMM37Y+30KQ8pF4Aq1cc+HBRIn1tKmenzFDPTczSdVPFxm3Q==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-nb93/m3SjQChQJFqJj3oNW3Rz/12yrT7jypTCire3c2hpYWG2uR5n8VY9UUMTA6HLNvdom6tckK7p3bXGXlF0w==", "dependencies": { - "@sentry/types": "8.12.0" + "@sentry/types": "8.29.0" }, "engines": { "node": ">=14.18" @@ -4449,26 +4438,19 @@ "version": "8.56.10", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "optional": true, "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true }, "node_modules/@types/estree-jsx": { "version": "1.0.5", @@ -5333,11 +5315,9 @@ "optional": true }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "peer": true, + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "bin": { "acorn": "bin/acorn" }, @@ -5345,6 +5325,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -5443,7 +5432,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, "engines": { "node": ">=8" } @@ -5539,6 +5527,14 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/argue-cli": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/argue-cli/-/argue-cli-2.1.0.tgz", + "integrity": "sha512-dgojXfc4SiqmNwe38PnbT3zJasrz7g62dLAPD+VFT5RJb8W7LGRqw2IFd2ES+plnhsp4HYNJmFqMU1tCThdCww==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", @@ -5802,9 +5798,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", @@ -5924,6 +5920,12 @@ "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", "dev": true }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "license": "MIT" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5985,6 +5987,45 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/browserslist-useragent-regexp": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/browserslist-useragent-regexp/-/browserslist-useragent-regexp-4.1.3.tgz", + "integrity": "sha512-+KteEIVlrE2eJOmtteWhcs3wYKjbFd9fVPzPlj4VGggKMyf9orf+zjmlNt91ekInZ2zqox5ArEZD/tKXDj0v9Q==", + "funding": [ + "https://opencollective.com/browserslist-useragent-regexp", + "https://ko-fi.com/dangreen" + ], + "license": "MIT", + "dependencies": { + "argue-cli": "^2.1.0", + "easy-table": "^1.2.0", + "picocolors": "^1.0.0", + "regexp-tree": "^0.1.24", + "ua-regexes-lite": "^1.2.1" + }, + "bin": { + "bluare": "dist/cli.js", + "browserslist-useragent-regexp": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "browserslist": ">=4.0.0" + } + }, + "node_modules/browserslist-useragent-regexp/node_modules/easy-table": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.2.0.tgz", + "integrity": "sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "optionalDependencies": { + "wcwidth": "^1.0.1" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -6253,9 +6294,9 @@ } }, "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "peer": true, "engines": { "node": ">=6.0" @@ -6332,7 +6373,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "optional": true, "engines": { "node": ">=0.8" @@ -6915,7 +6955,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "optional": true, "dependencies": { "clone": "^1.0.2" @@ -7285,9 +7324,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7708,18 +7747,6 @@ "eslint": ">=8.0.0" } }, - "node_modules/eslint-mdx/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/eslint-plugin-i18next": { "version": "6.0.9", "resolved": "https://registry.npmjs.org/eslint-plugin-i18next/-/eslint-plugin-i18next-6.0.9.tgz", @@ -7934,15 +7961,11 @@ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=10" } }, "node_modules/eslint/node_modules/globals": { @@ -7968,19 +7991,6 @@ "dev": true, "peer": true }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/espree": { "version": "9.6.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", @@ -7998,18 +8008,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -8024,9 +8022,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "peer": true, "dependencies": { @@ -12287,18 +12285,6 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/micromark-extension-mdxjs/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/micromark-factory-destination": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", @@ -15221,6 +15207,15 @@ "@babel/runtime": "^7.8.4" } }, + "node_modules/regexp-tree": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", + "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", + "license": "MIT", + "bin": { + "regexp-tree": "bin/regexp-tree" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -17011,17 +17006,6 @@ } } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -17277,6 +17261,19 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", @@ -17369,6 +17366,18 @@ "node": ">=14.17" } }, + "node_modules/ua-regexes-lite": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ua-regexes-lite/-/ua-regexes-lite-1.2.1.tgz", + "integrity": "sha512-ling4WX4ZtxXjmSMHzuI8PGos2brw/6gG3YuVWn5RunHoQjeCokpFeMe/ti+R8E7kOTLE2FqBG4bMdFQLFwcJQ==", + "funding": [ + "https://opencollective.com/browserslist-useragent-regexp", + "https://ko-fi.com/dangreen" + ], + "engines": { + "node": ">=14" + } + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -18568,7 +18577,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "optional": true, "dependencies": { "defaults": "^1.0.3" @@ -18590,21 +18598,20 @@ "optional": true }, "node_modules/webpack": { - "version": "5.91.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz", - "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "peer": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.16.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -18651,27 +18658,6 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "peer": true }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", diff --git a/package.json b/package.json index 0b3d1547ee0..8dcd4e13954 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "license": "MIT", "scripts": { "build:react": "cross-env NODE_ENV=production vite build", - "build": "npm run generate-build-meta && npm run build:react", + "build": "npm run generate-build-meta && npm run supported-browsers && npm run build:react", "dev": "vite", "preview": "cross-env NODE_ENV=production vite preview", "generate-build-meta": "node ./scripts/generate-build-version.js", @@ -40,19 +40,22 @@ "prepare": "husky install", "lint": "eslint ./src", "lint-fix": "eslint ./src --fix", - "format": "prettier ./src --write" + "format": "prettier ./src --write", + "supported-browsers": "echo \"export default $(browserslist-useragent-regexp --allowHigherVersions --ignorePatch --ignoreMinor);\" | sed 's/\\x1b\\[[0-9;]*m//g' > src/supportedBrowsers.ts" }, "dependencies": { - "@fontsource/inter": "^5.0.18", + "@fontsource/inter": "^5.0.21", "@googlemaps/react-wrapper": "^1.1.35", "@googlemaps/typescript-guards": "^2.0.3", "@headlessui/react": "^2.1.2", "@pnotify/core": "^5.2.0", "@pnotify/mobile": "^5.2.0", - "@sentry/browser": "^8.12.0", + "@sentry/browser": "^8.29.0", "@yudiel/react-qr-scanner": "^2.0.0-beta.3", - "axios": "^1.6.8", + "axios": "^1.7.7", + "bowser": "^2.11.0", "browser-image-compression": "^2.0.2", + "browserslist-useragent-regexp": "^4.1.3", "cross-env": "^7.0.3", "dayjs": "^1.11.11", "echarts": "^5.5.0", @@ -143,7 +146,7 @@ }, "lint-staged": { "*.{ts,tsx,js,jsx}": [ - "prettier --write --ignore-unknown", + "prettier --write --ignore-unknown --plugin prettier-plugin-tailwindcss", "eslint --fix", "git update-index --again" ] diff --git a/src/CAREUI/interactive/SlideOver.tsx b/src/CAREUI/interactive/SlideOver.tsx index bd38b32137a..78982efc39d 100644 --- a/src/CAREUI/interactive/SlideOver.tsx +++ b/src/CAREUI/interactive/SlideOver.tsx @@ -124,7 +124,12 @@ export default function SlideOver({
- {type == "year" - ? year.getFullYear() - : dayjs(datePickerHeaderDate).format("YYYY")} -
-+ {type == "year" + ? year.getFullYear() + : dayjs(datePickerHeaderDate).format( + "YYYY", + )} +
+ {t("unsupported_browser_description", notSupported)} +
+