diff --git a/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx b/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
index ecb071ab7..9cdd6b685 100644
--- a/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
+++ b/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
@@ -37,7 +37,7 @@ const AppointmentsMetrics: React.FC<{ serviceUuid: string }> = ({ serviceUuid })
return (
<>
-
+
{
+ it('renders AppointmentsCalendarListView when pathname includes "calendar"', () => {
+ // Mock window.location.pathname
+ Object.defineProperty(window, 'location', {
+ value: {
+ pathname: '/some-path/calendar',
+ },
+ writable: true,
+ });
+
+ render();
+
+ expect(screen.getByTestId('appointments-calendar')).toBeInTheDocument();
+ });
+
+ it('renders CalendarPatientList when pathname includes "list"', () => {
+ Object.defineProperty(window, 'location', {
+ value: {
+ pathname: '/some-path/list',
+ },
+ writable: true,
+ });
+
+ render();
+
+ expect(screen.getByTestId('calendar-patient-list')).toBeInTheDocument();
+ });
+
+ it('renders other components when pathname does not include "calendar" or "list"', () => {
+ Object.defineProperty(window, 'location', {
+ value: {
+ pathname: '/some-path/some-other-path',
+ },
+ writable: true,
+ });
+
+ render();
+
+ expect(screen.getByTestId('appointments-header')).toBeInTheDocument();
+ expect(screen.getByTestId('clinic-metrics')).toBeInTheDocument();
+ expect(screen.getByTestId('appointment-list')).toBeInTheDocument();
+ });
+});
diff --git a/packages/esm-appointments-app/src/appointments/appointment-tabs.component.tsx b/packages/esm-appointments-app/src/appointments/appointment-tabs.component.tsx
index 5bb935da1..939329f7b 100644
--- a/packages/esm-appointments-app/src/appointments/appointment-tabs.component.tsx
+++ b/packages/esm-appointments-app/src/appointments/appointment-tabs.component.tsx
@@ -22,7 +22,7 @@ const AppointmentTabs: React.FC = ({ appointmentServiceTyp
};
return (
-
+
{t('scheduled', 'Scheduled')}
diff --git a/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-forms.test.tsx b/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-forms.test.tsx
index 4c60116be..e1f7e316a 100644
--- a/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-forms.test.tsx
+++ b/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-forms.test.tsx
@@ -42,7 +42,7 @@ let mockOpenmrsConfig = {
hiddenFormFields: [],
};
-xdescribe('AppointmentForm', () => {
+describe('AppointmentForm', () => {
const patient = mockPatient;
beforeEach(() => {
mockedUseConfig.mockReturnValue(mockOpenmrsConfig);
diff --git a/packages/esm-appointments-app/src/home-appointments/appointment-actions.test.tsx b/packages/esm-appointments-app/src/home-appointments/appointment-actions.test.tsx
new file mode 100644
index 000000000..e155c8a12
--- /dev/null
+++ b/packages/esm-appointments-app/src/home-appointments/appointment-actions.test.tsx
@@ -0,0 +1,80 @@
+import React from 'react';
+import { render, screen, fireEvent } from '@testing-library/react';
+import { ActionsMenu } from './appointment-actions.component';
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ useConfig: jest.fn(() => mockUseConfig),
+ useSWRConfig: jest.fn(),
+ navigate: jest.fn(),
+}));
+
+jest.mock('@carbon/react', () => ({
+ Layer: ({ children }) => children,
+ OverflowMenu: ({ children }) => {children}
,
+ OverflowMenuItem: ({ children, ...props }) => ,
+}));
+
+jest.mock('./common', () => ({
+ handleUpdateStatus: jest.fn(),
+ handleComplete: jest.fn(),
+ launchCheckInAppointmentModal: jest.fn(),
+}));
+
+const mockUseConfig = {
+ bahmniAppointmentsUiBaseUrl: 'https://example.com',
+};
+
+describe('ActionsMenu', () => {
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('renders the actions menu with correct options and handlers', () => {
+ const mockAppointment = {
+ id: '123',
+ recurring: false,
+ status: 'Scheduled',
+ };
+
+ const { getByText } = render();
+
+ fireEvent.click(getByText('Edit Appointment'));
+ fireEvent.click(getByText('Check In'));
+ fireEvent.click(getByText('Complete'));
+ fireEvent.click(getByText('Missed'));
+ fireEvent.click(getByText('Cancel'));
+ fireEvent.click(getByText('Add new appointment'));
+
+ expect(screen.getByText('Edit Appointment')).toBeInTheDocument();
+ expect(screen.getByText('Check In')).toBeInTheDocument();
+ expect(screen.getByText('Complete')).toBeInTheDocument();
+ expect(screen.getByText('Missed')).toBeInTheDocument();
+ expect(screen.getByText('Cancel')).toBeInTheDocument();
+ expect(screen.getByText('Add new appointment')).toBeInTheDocument();
+ });
+
+ it('renders the actions menu with correct options and handlers in non-BahmniUI mode', () => {
+ const mockAppointment = {
+ id: '456',
+ recurring: true,
+ status: 'CheckedIn',
+ };
+
+ const { getByText } = render();
+
+ fireEvent.click(getByText('Edit Appointment'));
+ fireEvent.click(getByText('Check In'));
+ fireEvent.click(getByText('Complete'));
+ fireEvent.click(getByText('Missed'));
+ fireEvent.click(getByText('Cancel'));
+ fireEvent.click(getByText('Add new appointment'));
+
+ expect(screen.getByText('Edit Appointment')).toBeInTheDocument();
+ expect(screen.getByText('Check In')).toBeInTheDocument();
+ expect(screen.getByText('Complete')).toBeInTheDocument();
+ expect(screen.getByText('Missed')).toBeInTheDocument();
+ expect(screen.getByText('Cancel')).toBeInTheDocument();
+ expect(screen.getByText('Add new appointment')).toBeInTheDocument();
+ });
+});
diff --git a/packages/esm-appointments-app/src/home-appointments/appointments-list.test.tsx b/packages/esm-appointments-app/src/home-appointments/appointments-list.test.tsx
new file mode 100644
index 000000000..a32020150
--- /dev/null
+++ b/packages/esm-appointments-app/src/home-appointments/appointments-list.test.tsx
@@ -0,0 +1,92 @@
+import React from 'react';
+import { render, screen, fireEvent } from '@testing-library/react';
+import AppointmentsBaseTable from './appointments-list.component';
+import { mockSession } from '../../../../__mocks__/session.mock';
+import { useTodaysAppointments } from './appointments-table.resource';
+import { usePagination } from '@openmrs/esm-framework';
+import { mockAppointmentsData } from '../../../../__mocks__/appointments.mock';
+
+const useTodaysAppointmentsMock = useTodaysAppointments as jest.Mock;
+const usePaginationMock = usePagination as jest.Mock;
+
+jest.mock('./appointments-table.resource');
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ useSession: jest.fn(() => ({ user: { mockSession } })),
+ useConfig: jest.fn(() => ({
+ useBahmniAppointmentsUI: false,
+ useFullViewPrivilege: false,
+ fullViewPrivilege: 'somePrivilege',
+ })),
+ userHasAccess: jest.fn(() => true),
+}));
+
+describe('AppointmentsBaseTable', () => {
+ it('renders loading skeleton when loading', () => {
+ useTodaysAppointmentsMock.mockImplementationOnce(() => ({
+ appointments: [],
+ isLoading: true,
+ isValidating: false,
+ }));
+
+ render();
+ expect(screen.getByRole('progressbar')).toBeInTheDocument();
+ });
+
+ it('renders no appointments message when no appointments are available', () => {
+ useTodaysAppointmentsMock.mockImplementationOnce(() => ({
+ appointments: [],
+ isLoading: false,
+ isValidating: false,
+ }));
+
+ render();
+ expect(
+ screen.getByText(/There are no appointments scheduled for today to display for this location/i),
+ ).toBeInTheDocument();
+ });
+
+ it('renders appointments and actions', () => {
+ useTodaysAppointmentsMock.mockImplementationOnce(() => ({
+ appointments: [
+ {
+ id: 1,
+ dateTime: '2023-08-18 10:00 AM',
+ name: 'John Doe',
+ identifier: 'JD123',
+ location: 'Clinic A',
+ serviceColor: 'blue',
+ serviceType: 'Checkup',
+ status: 'Scheduled',
+ },
+ ],
+ isLoading: false,
+ isValidating: false,
+ }));
+ usePaginationMock.mockImplementationOnce(() => ({
+ goto: jest.fn(),
+ currentPage: 1,
+ results: [
+ {
+ id: 1,
+ dateTime: '2023-08-18 10:00 AM',
+ name: 'John Doe',
+ identifier: 'JD123',
+ location: 'Clinic A',
+ serviceColor: 'blue',
+ serviceType: 'Checkup',
+ status: 'Scheduled',
+ },
+ ],
+ }));
+ render();
+
+ // Assert that appointment data is displayed
+ expect(screen.getByText('2023-08-18 10:00 AM')).toBeInTheDocument();
+ expect(screen.getByText('John Doe')).toBeInTheDocument();
+ expect(screen.getByText('JD123')).toBeInTheDocument();
+ expect(screen.getByText('Clinic A')).toBeInTheDocument();
+ expect(screen.getByText('Checkup')).toBeInTheDocument();
+ });
+});
diff --git a/packages/esm-appointments-app/src/home-appointments/check-in-modal/check-in-modal.test.tsx b/packages/esm-appointments-app/src/home-appointments/check-in-modal/check-in-modal.test.tsx
new file mode 100644
index 000000000..1f8682bd7
--- /dev/null
+++ b/packages/esm-appointments-app/src/home-appointments/check-in-modal/check-in-modal.test.tsx
@@ -0,0 +1,56 @@
+import React from 'react';
+import { render, screen, fireEvent, waitFor } from '@testing-library/react';
+import CheckInAppointmentModal from './check-in-modal.component';
+import { showActionableNotification, showNotification } from '@openmrs/esm-framework';
+import { updateAppointmentStatus } from '../appointments-table.resource';
+
+const mockUpdateAppointmentStatus = updateAppointmentStatus as jest.Mock;
+const appointmentUuid = '7cd38a6d-377e-491b-8284-b04cf8b8c6d8';
+
+jest.mock('@openmrs/esm-framework');
+jest.mock('../appointments-table.resource');
+
+describe('CheckInAppointmentModal', () => {
+ afterEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('submits and displays success notification', async () => {
+ mockUpdateAppointmentStatus.mockResolvedValue({ status: 200 });
+ const closeCheckInModal = jest.fn();
+
+ render();
+
+ fireEvent.change(screen.getByRole('textbox'), { target: { value: '10:30' } });
+ fireEvent.click(screen.getByText('Yes'));
+
+ await waitFor(() => {
+ expect(closeCheckInModal).toHaveBeenCalled();
+ expect(showActionableNotification).toHaveBeenCalled();
+ });
+ });
+
+ it('displays error notification on submit failure', async () => {
+ mockUpdateAppointmentStatus.mockResolvedValue({ status: 400 });
+ const closeCheckInModal = jest.fn();
+
+ render();
+
+ fireEvent.change(screen.getByRole('textbox'), { target: { value: '10:30' } });
+ fireEvent.click(screen.getByText('Yes'));
+
+ await waitFor(() => {
+ expect(showNotification).toHaveBeenCalled();
+ });
+ });
+
+ it('closes modal on "No" button click', () => {
+ const closeCheckInModal = jest.fn();
+
+ render();
+
+ fireEvent.click(screen.getByText('No'));
+
+ expect(closeCheckInModal).toHaveBeenCalled();
+ });
+});
From ab543959a07d2f990c0011d6c1899bcc4fd00208 Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Sat, 26 Aug 2023 14:08:30 +0530
Subject: [PATCH 23/43] (test) O3-2286: Add tests for
`relationship-section.component` (#767)
---
.../relationships-section.component.tsx | 160 +++++++++---------
.../relationships-section.test.tsx | 88 ++++++++++
2 files changed, 170 insertions(+), 78 deletions(-)
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.test.tsx
diff --git a/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.component.tsx
index b1c98e8b6..cd7c31ac9 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.component.tsx
@@ -25,82 +25,6 @@ interface RelationshipType {
direction: string;
}
-export const RelationshipsSection = () => {
- const { relationshipTypes } = useContext(ResourcesContext);
- const [displayRelationshipTypes, setDisplayRelationshipTypes] = useState([]);
- const { t } = useTranslation();
-
- useEffect(() => {
- if (relationshipTypes) {
- const tmp: RelationshipType[] = [];
- relationshipTypes.results.forEach((type) => {
- const aIsToB = {
- display: type.displayAIsToB,
- uuid: type.uuid,
- direction: 'aIsToB',
- };
- const bIsToA = {
- display: type.displayBIsToA,
- uuid: type.uuid,
- direction: 'bIsToA',
- };
- aIsToB.display === bIsToA.display ? tmp.push(aIsToB) : tmp.push(aIsToB, bIsToA);
- });
- setDisplayRelationshipTypes(tmp);
- }
- }, [relationshipTypes]);
-
- if (!relationshipTypes) {
- return (
-
- );
- }
-
- return (
-
-
- {({
- push,
- remove,
- form: {
- values: { relationships },
- },
- }) => (
-
- {relationships && relationships.length > 0
- ? relationships.map((relationship: RelationshipValue, index) => (
-
-
-
- ))
- : null}
-
-
-
-
- )}
-
-
- );
-};
-
interface RelationshipViewProps {
relationship: RelationshipValue;
index: number;
@@ -205,8 +129,12 @@ const RelationshipView: React.FC = ({
value="placeholder-item"
text={t('relationshipToPatient', 'Relationship to patient')}
/>
- {displayRelationshipTypes.map((type) => (
-
+ {displayRelationshipTypes.map((relationshipType, index) => (
+
))}
@@ -224,3 +152,79 @@ const RelationshipView: React.FC = ({
/>
);
};
+
+export const RelationshipsSection = () => {
+ const { relationshipTypes } = useContext(ResourcesContext);
+ const [displayRelationshipTypes, setDisplayRelationshipTypes] = useState([]);
+ const { t } = useTranslation();
+
+ useEffect(() => {
+ if (relationshipTypes) {
+ const tmp: RelationshipType[] = [];
+ relationshipTypes.results.forEach((type) => {
+ const aIsToB = {
+ display: type.aIsToB,
+ uuid: type.uuid,
+ direction: 'aIsToB',
+ };
+ const bIsToA = {
+ display: type.bIsToA,
+ uuid: type.uuid,
+ direction: 'bIsToA',
+ };
+ aIsToB.display === bIsToA.display ? tmp.push(aIsToB) : tmp.push(aIsToB, bIsToA);
+ });
+ setDisplayRelationshipTypes(tmp);
+ }
+ }, [relationshipTypes]);
+
+ if (!relationshipTypes) {
+ return (
+
+ );
+ }
+
+ return (
+
+
+ {({
+ push,
+ remove,
+ form: {
+ values: { relationships },
+ },
+ }) => (
+
+ {relationships && relationships.length > 0
+ ? relationships.map((relationship: RelationshipValue, index) => (
+
+
+
+ ))
+ : null}
+
+
+
+
+ )}
+
+
+ );
+};
diff --git a/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.test.tsx
new file mode 100644
index 000000000..825f30de5
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/section/patient-relationships/relationships-section.test.tsx
@@ -0,0 +1,88 @@
+import React from 'react';
+import { Form, Formik } from 'formik';
+import { render, screen } from '@testing-library/react';
+import { PatientRegistrationContext } from '../../patient-registration-context';
+import { Resources, ResourcesContext } from '../../../offline.resources';
+import { RelationshipsSection } from './relationships-section.component';
+
+jest.mock('../../patient-registration.resource', () => ({
+ fetchPerson: jest.fn().mockResolvedValue({
+ data: {
+ results: [
+ { uuid: '42ae5ce0-d64b-11ea-9064-5adc43bbdd24', display: 'Person 1' },
+ { uuid: '691eed12-c0f1-11e2-94be-8c13b969e334', display: 'Person 2' },
+ ],
+ },
+ }),
+}));
+
+let mockResourcesContextValue = {
+ addressTemplate: [],
+ currentSession: {
+ authenticated: true,
+ sessionId: 'JSESSION',
+ currentProvider: { uuid: '45ce6c2e-dd5a-11e6-9d9c-0242ac150002', identifier: 'PRO-123' },
+ },
+ identifierTypes: [],
+ relationshipTypes: null,
+} as Resources;
+
+describe('RelationshipsSection', () => {
+ it('renders a loader when relationshipTypes are not available', () => {
+ render(
+
+
+
+
+ ,
+ );
+
+ expect(screen.getByLabelText(/loading relationships section/i)).toBeInTheDocument();
+ expect(screen.getByRole(/progressbar/i)).toBeInTheDocument();
+ expect(screen.queryByText(/add relationship/i)).not.toBeInTheDocument();
+ });
+
+ it('renders relationships when relationshipTypes are available', () => {
+ const relationshipTypes = {
+ results: [
+ { aIsToB: 'Mother', bIsToA: 'Child', uuid: '42ae5ce0-d64b-11ea-9064-5adc43bbdd34' },
+ { aIsToB: 'Father', bIsToA: 'Child', uuid: '52ae5ce0-d64b-11ea-9064-5adc43bbdd24' },
+ ],
+ };
+ mockResourcesContextValue = {
+ ...mockResourcesContextValue,
+ relationshipTypes: relationshipTypes,
+ };
+
+ render(
+
+
+
+
+ ,
+ );
+
+ expect(screen.getByLabelText(/relationships section/i)).toBeInTheDocument();
+ expect(screen.getByRole('heading', { name: /relationship/i })).toBeInTheDocument();
+ expect(screen.getByRole('button', { name: /delete/i })).toBeInTheDocument();
+ expect(screen.getByRole('button', { name: /add relationship/i })).toBeInTheDocument();
+ expect(screen.getByRole('searchbox', { name: /full name/i })).toBeInTheDocument();
+ expect(screen.getByRole('option', { name: /mother/i })).toBeInTheDocument();
+ expect(screen.getByRole('option', { name: /father/i })).toBeInTheDocument();
+ expect(screen.getAllByRole('option', { name: /child/i }).length).toEqual(2);
+ });
+});
From e11242c022778694704ca7bd7c056b96571f5ee6 Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Sat, 26 Aug 2023 14:38:41 +0530
Subject: [PATCH 24/43] (test) O3-2289: Add test for `active-visits.component`
(#770)
---
.../active-visits.test.tsx | 136 ++++++++++++++++++
1 file changed, 136 insertions(+)
create mode 100644 packages/esm-active-visits-app/src/active-visits-widget/active-visits.test.tsx
diff --git a/packages/esm-active-visits-app/src/active-visits-widget/active-visits.test.tsx b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.test.tsx
new file mode 100644
index 000000000..51f20ed7c
--- /dev/null
+++ b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.test.tsx
@@ -0,0 +1,136 @@
+import React from 'react';
+import { fireEvent, render, screen, waitFor } from '@testing-library/react';
+import ActiveVisitsTable from './active-visits.component';
+import { useConfig, usePagination } from '@openmrs/esm-framework';
+import { useActiveVisits } from './active-visits.resource';
+
+const mockedUsePagination = usePagination as jest.Mock;
+const mockActiveVisits = useActiveVisits as jest.Mock;
+
+const mockActiveVisitsData = [{ id: '1', name: 'John Doe', visitType: 'Checkup', patientUuid: 'uuid1' }];
+jest.mock('./active-visits.resource', () => ({
+ ...jest.requireActual('./active-visits.resource'),
+ useActiveVisits: jest.fn(() => ({
+ activeVisits: mockActiveVisitsData,
+ isLoading: false,
+ isValidating: false,
+ error: null,
+ })),
+}));
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ useConfig: jest.fn(() => ({ activeVisits: { pageSizes: [10, 20, 30, 40, 50], pageSize: 10 } })),
+ usePagination: jest.fn().mockImplementation((data) => ({
+ currentPage: 1,
+ goTo: () => {},
+ results: data,
+ paginated: false,
+ })),
+}));
+
+describe('ActiveVisitsTable', () => {
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('renders data table with active visits', () => {
+ render();
+
+ expect(screen.getByText('Visit Time')).toBeInTheDocument();
+ expect(screen.getByText('ID Number')).toBeInTheDocument();
+ const expectedColumnHeaders = [/Visit Time/, /ID Number/, /Name/, /Gender/, /Age/, /Visit Type/];
+ expectedColumnHeaders.forEach((header) => {
+ expect(screen.getByRole('columnheader', { name: new RegExp(header, 'i') })).toBeInTheDocument();
+ });
+
+ const patientNameLink = screen.getByText('John Doe');
+ expect(patientNameLink).toBeInTheDocument();
+ expect(patientNameLink.tagName).toBe('A');
+ });
+
+ it.skip('filters active visits based on search input', () => {
+ mockActiveVisits.mockImplementationOnce(() => ({
+ activeVisits: [
+ { id: '1', name: 'John Doe', visitType: 'Checkup', patientUuid: 'uuid1' },
+ { id: '2', name: 'Some One', visitType: 'Checkup', patientUuid: 'uuid2' },
+ ],
+ isLoading: false,
+ isValidating: false,
+ error: null,
+ }));
+ render();
+
+ const searchInput = screen.getByPlaceholderText('Filter table');
+ fireEvent.change(searchInput, { target: { value: 'John' } });
+
+ expect(screen.getByText('John Doe')).toBeInTheDocument();
+ expect(screen.queryByText('Some One')).toBeNull();
+ });
+
+ it('displays empty state when there are no active visits', () => {
+ mockActiveVisits.mockImplementationOnce(() => ({
+ activeVisits: [],
+ isLoading: false,
+ isValidating: false,
+ error: null,
+ }));
+
+ render();
+
+ expect(screen.getByText('There are no active visits to display for this location.')).toBeInTheDocument();
+ });
+
+ it('should not display the table when the data is loading', () => {
+ mockActiveVisits.mockImplementationOnce(() => ({
+ activeVisits: undefined,
+ isLoading: true,
+ isValidating: false,
+ error: null,
+ }));
+
+ render();
+
+ const expectedColumnHeaders = [/Visit Time/, /ID Number/, /Name/, /Gender/, /Age/, /Visit Type/];
+ expectedColumnHeaders.forEach((header) => {
+ expect(screen.queryByRole('columnheader', { name: new RegExp(header, 'i') })).not.toBeInTheDocument();
+ });
+ });
+
+ it('should display the Error when there is error', () => {
+ mockActiveVisits.mockImplementationOnce(() => ({
+ activeVisits: undefined,
+ isLoading: false,
+ isValidating: false,
+ error: 'Error in fetching data',
+ }));
+
+ render();
+
+ const expectedColumnHeaders = [/Visit Time/, /ID Number/, /Name/, /Gender/, /Age/, /Visit Type/];
+ expectedColumnHeaders.forEach((header) => {
+ expect(screen.queryByRole('columnheader', { name: new RegExp(header, 'i') })).toBeInTheDocument();
+ });
+ });
+
+ it('should display the pagination when pagination is true', () => {
+ mockActiveVisits.mockImplementationOnce(() => ({
+ activeVisits: [
+ { id: '1', name: 'John Doe', visitType: 'Checkup' },
+ { id: '2', name: 'Some One', visitType: 'Checkup' },
+ ],
+ isLoading: false,
+ isValidating: false,
+ error: null,
+ }));
+ mockedUsePagination.mockImplementationOnce((data) => ({
+ currentPage: 1,
+ goTo: () => {},
+ results: data,
+ paginated: true,
+ }));
+ render();
+
+ expect(screen.getByText(/Next Page/i)).toBeInTheDocument();
+ });
+});
From d0b9f5b76f2fa08a137ea35499937baad7cb7b8b Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Sun, 27 Aug 2023 23:56:57 +0530
Subject: [PATCH 25/43] (test) Add test for `patient-search-icon.component`
(#781)
---
.../patient-search-icon.test.tsx | 54 +++++++++++++++++++
1 file changed, 54 insertions(+)
create mode 100644 packages/esm-patient-search-app/src/patient-search-icon/patient-search-icon.test.tsx
diff --git a/packages/esm-patient-search-app/src/patient-search-icon/patient-search-icon.test.tsx b/packages/esm-patient-search-app/src/patient-search-icon/patient-search-icon.test.tsx
new file mode 100644
index 000000000..0cba40cf4
--- /dev/null
+++ b/packages/esm-patient-search-app/src/patient-search-icon/patient-search-icon.test.tsx
@@ -0,0 +1,54 @@
+import React from 'react';
+import { render, fireEvent, screen } from '@testing-library/react';
+import PatientSearchLaunch from './patient-search-icon.component';
+import { isDesktop } from '@openmrs/esm-framework';
+
+const isDesktopMock = isDesktop as jest.Mock;
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ isDesktop: jest.fn(),
+ useOnClickOutside: jest.fn(),
+}));
+
+jest.mock('react-router-dom', () => ({
+ ...jest.requireActual('react-router-dom'),
+ useSearchParams: jest.fn(() => [
+ {
+ get: jest.fn(() => 'John'),
+ },
+ ]),
+}));
+
+describe('PatientSearchLaunch', () => {
+ beforeEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('renders without errors', () => {
+ render();
+ expect(screen.getByRole('button', { name: 'Search Patient' })).toBeInTheDocument();
+ });
+
+ it('toggles search input when search button is clicked', () => {
+ render();
+ const searchButton = screen.getByTestId('searchPatientIcon');
+
+ fireEvent.click(searchButton);
+ const searchInput = screen.getByText('Search results');
+ expect(searchInput).toBeInTheDocument();
+
+ fireEvent.click(searchButton);
+ expect(searchInput).not.toBeInTheDocument();
+ });
+
+ it('displays search input in overlay on mobile', () => {
+ isDesktopMock.mockReturnValue(false);
+ render();
+ const searchButton = screen.getByTestId('searchPatientIcon');
+
+ fireEvent.click(searchButton);
+ const overlay = screen.getByText('Search results');
+ expect(overlay).toBeInTheDocument();
+ });
+});
From 0a29603a9df2a1cafeaa47e3429bd32487b5107e Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Mon, 28 Aug 2023 00:31:27 +0530
Subject: [PATCH 26/43] (test): Add test for `patient-list-detail.component`
(#790)
---
.../patient-list-detail.test.tsx | 105 ++++++++++++++++++
1 file changed, 105 insertions(+)
create mode 100644 packages/esm-patient-list-app/src/patient-list-detail/patient-list-detail.test.tsx
diff --git a/packages/esm-patient-list-app/src/patient-list-detail/patient-list-detail.test.tsx b/packages/esm-patient-list-app/src/patient-list-detail/patient-list-detail.test.tsx
new file mode 100644
index 000000000..5aee11bd5
--- /dev/null
+++ b/packages/esm-patient-list-app/src/patient-list-detail/patient-list-detail.test.tsx
@@ -0,0 +1,105 @@
+import React from 'react';
+import { render, screen, fireEvent, waitFor } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import { usePatientListDetails, usePatientListMembers } from '../api/hooks';
+import { showToast } from '@openmrs/esm-framework';
+import { deletePatientList } from '../api/api-remote';
+import PatientListDetailComponent from './patient-list-detail.component';
+
+const mockedUsePatientListDetails = usePatientListDetails as jest.Mock;
+const mockedUsePatientListMembers = usePatientListMembers as jest.Mock;
+const mockedDeletePatientList = deletePatientList as jest.Mock;
+
+jest.mock('../api/hooks', () => ({
+ usePatientListDetails: jest.fn(),
+ usePatientListMembers: jest.fn(),
+}));
+
+jest.mock('../api/api-remote');
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ showToast: jest.fn(),
+ navigate: jest.fn(),
+ ExtensionSlot: jest.fn(),
+}));
+
+const mockedPatientListDetails = {
+ name: 'Test Patient List',
+ description: 'This is a test patient list',
+ size: 5,
+ startDate: '2023-08-14',
+};
+
+const mockedPatientListMembers = [
+ {
+ patient: {
+ person: {
+ display: 'John Doe',
+ gender: 'Male',
+ },
+ identifiers: [
+ {
+ identifier: '100GEJ',
+ },
+ ],
+ uuid: '7cd38a6d-377e-491b-8284-b04cf8b8c6d8',
+ },
+ startDate: '2023-08-10',
+ },
+];
+
+describe('PatientListDetailComponent', () => {
+ beforeEach(() => {
+ jest.clearAllMocks();
+ mockedUsePatientListDetails.mockReturnValue({
+ data: mockedPatientListDetails,
+ });
+
+ mockedUsePatientListMembers.mockReturnValue({
+ data: mockedPatientListMembers,
+ });
+
+ mockedDeletePatientList.mockResolvedValue({});
+ });
+
+ it('renders patient list details', async () => {
+ render();
+
+ await waitFor(() => {
+ expect(screen.getByText('Test Patient List')).toBeInTheDocument();
+ expect(screen.getByText('This is a test patient list')).toBeInTheDocument();
+ });
+ });
+
+ it('displays patient list members', async () => {
+ render();
+
+ await waitFor(() => {
+ expect(screen.getByText('John Doe')).toBeInTheDocument();
+ expect(screen.getByText('Male')).toBeInTheDocument();
+ expect(screen.getByText('100GEJ')).toBeInTheDocument();
+ });
+ });
+
+ it('opens edit overlay when "Edit Name/ Description" is clicked', () => {
+ render();
+
+ userEvent.click(screen.getByText('Actions'));
+ const editBtn = screen.getByText('Edit Name/ Description');
+ userEvent.click(editBtn);
+ });
+
+ it('deletes patient list and navigates on successful delete', async () => {
+ render();
+
+ await waitFor(() => {
+ userEvent.click(screen.getByText('Delete'));
+ });
+
+ await waitFor(() => {
+ expect(mockedDeletePatientList).toHaveBeenCalledTimes(1);
+ expect(showToast).toHaveBeenCalledTimes(1);
+ });
+ });
+});
From 3dbcfdee6dc822c78610fd72602b575833a62183 Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Wed, 30 Aug 2023 11:11:47 +0300
Subject: [PATCH 27/43] KHP3-4011 Add column to denote patient previous
location in in queue (#776)
---
.../active-visits/active-visits-table.component.tsx | 10 +++++++++-
.../src/active-visits/active-visits-table.resource.ts | 6 ++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
index 06b7673c6..eeef1b6be 100644
--- a/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
+++ b/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
@@ -161,11 +161,16 @@ function ActiveVisitsTable() {
},
{
id: 3,
+ header: t('locationComingFrom', 'Coming from'),
+ key: 'locationComingFrom',
+ },
+ {
+ id: 4,
header: t('status', 'Status'),
key: 'status',
},
{
- id: 4,
+ id: 5,
header: t('waitTime', 'Wait time'),
key: 'waitTime',
},
@@ -213,6 +218,9 @@ function ActiveVisitsTable() {
>
),
},
+ locationComingFrom: {
+ content: {entry?.locationComingFrom},
+ },
status: {
content: (
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts b/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
index 3829b9a14..cafcb3336 100644
--- a/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
+++ b/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
@@ -71,6 +71,9 @@ export interface VisitQueueEntry {
uuid: string;
visit: Visit;
sortWeight: number;
+ locationComingFrom: {
+ name: string;
+ };
}
export interface MappedVisitQueueEntry {
@@ -99,6 +102,7 @@ export interface MappedVisitQueueEntry {
sortWeight: number;
visitQueueNumber: string;
identifiers: Array;
+ locationComingFrom: string;
}
interface UseVisitQueueEntries {
@@ -244,6 +248,7 @@ export function useVisitQueueEntries(currServiceName: string, locationUuid: stri
(e) => e.attributeType.uuid === visitQueueNumberAttributeUuid,
)?.value,
identifiers: visitQueueEntry.queueEntry.patient?.identifiers,
+ locationComingFrom: visitQueueEntry.queueEntry?.locationComingFrom?.name,
});
let mappedVisitQueueEntries;
@@ -310,6 +315,7 @@ export async function updateQueueEntry(
},
startedAt: toDateObjectStrict(toOmrsIsoString(new Date())),
sortWeight: sortWeight,
+ locationComingFrom: previousQueueUuid,
},
},
});
From dc68fe93d98cd9fb4b44d728a9aa6a5097aab67b Mon Sep 17 00:00:00 2001
From: Donald Kibet
Date: Wed, 30 Aug 2023 11:34:51 +0300
Subject: [PATCH 28/43] (fix) Resolved crash in active-visit component due to
missing patientUuid on visit object (#799)
---
.../active-visits.component.tsx | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/packages/esm-active-visits-app/src/active-visits-widget/active-visits.component.tsx b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.component.tsx
index 6bf2042b3..2177e2285 100644
--- a/packages/esm-active-visits-app/src/active-visits-widget/active-visits.component.tsx
+++ b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.component.tsx
@@ -247,15 +247,21 @@ const ActiveVisitsTable = () => {
{rows.map((row, index) => {
const visit = activeVisits.find((visit) => visit.id === row.id);
+ if (!visit) {
+ return null;
+ }
+
+ const patientLink = `$\{openmrsSpaBase}/patient/${visit.patientUuid}/chart/Patient%20Summary`;
+
return (
-
+
{row.cells.map((cell) => (
- {cell.info.header === 'name' ? (
-
+ {cell.info.header === 'name' && visit.patientUuid ? (
+
{cell.value}
) : (
From 63587079fea27aa80d98fe69f3ddc645497cec5f Mon Sep 17 00:00:00 2001
From: Makombe Kennedy
Date: Thu, 31 Aug 2023 14:53:01 +0300
Subject: [PATCH 29/43] =?UTF-8?q?(fix):Appointment=20calendar=20should=20b?=
=?UTF-8?q?e=20relative=20to=20the=20date=20selected=20as=E2=80=A6=20(#801?=
=?UTF-8?q?)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* (fix):Appointment calendar should be relative to the date selected as appointment scheduled date
* Code review
* code review fix
---------
Co-authored-by: Makombe
---
.../appointments-calendar-view.component.tsx | 9 ++--
.../monthly/monthly-header.module.tsx | 3 +-
.../appointments-header.component.tsx | 6 +--
.../appointments-metrics.component.tsx | 6 +--
.../appointments-table.resource.ts | 4 +-
.../location-select-option.component.tsx | 48 +++++++++++++++++++
.../cancel-appointment.component.tsx | 6 +--
.../appointments-form.component.tsx | 46 +++++++++++-------
.../src/appointments/forms/workload-helper.ts | 12 +++--
.../scheduled-appointments.component.tsx | 23 +++++----
.../esm-appointments-app/src/helpers/time.tsx | 2 +-
.../appointments-table.resource.ts | 6 +--
.../src/hooks/useAppointmentList.tsx | 12 ++---
.../src/hooks/useClinicalMetrics.tsx | 14 +++---
.../hooks/usePatientAppointmentHistory.tsx | 4 +-
.../src/hooks/useUnscheduledAppointments.tsx | 4 +-
.../src/hooks/useVisits.tsx | 4 +-
.../visit-form/visit-form.component.tsx | 6 +--
.../esm-outpatient-app/translations/am.json | 1 +
.../esm-outpatient-app/translations/en.json | 1 +
.../esm-outpatient-app/translations/es.json | 1 +
.../esm-outpatient-app/translations/fr.json | 1 +
.../esm-outpatient-app/translations/he.json | 1 +
.../esm-outpatient-app/translations/km.json | 1 +
24 files changed, 150 insertions(+), 71 deletions(-)
create mode 100644 packages/esm-appointments-app/src/appointments/common-components/location-select-option.component.tsx
diff --git a/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx b/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
index 50f1eb018..5e0663e76 100644
--- a/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
+++ b/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
@@ -6,12 +6,13 @@ import type { CalendarType } from '../types';
import AppointmentsHeader from '../appointments-header/appointments-header.component';
import CalendarHeader from './header/calendar-header.component';
import CalendarView from './calendar-view.component';
+import { useAppointmentDate } from '../helpers';
const AppointmentsCalendarView: React.FC = () => {
const { t } = useTranslation();
const [calendarView, setCalendarView] = useState('monthly');
- const [currentDate, setCurrentDate] = useState(dayjs());
- const { calendarEvents } = useAppointmentsCalendar(currentDate.toISOString(), calendarView);
+ const { currentAppointmentDate, setCurrentAppointmentDate } = useAppointmentDate();
+ const { calendarEvents } = useAppointmentsCalendar(dayjs(currentAppointmentDate).toISOString(), calendarView);
return (
@@ -20,8 +21,8 @@ const AppointmentsCalendarView: React.FC = () => {
);
diff --git a/packages/esm-appointments-app/src/appointments-calendar/monthly/monthly-header.module.tsx b/packages/esm-appointments-app/src/appointments-calendar/monthly/monthly-header.module.tsx
index 631332ffb..2d4c88519 100644
--- a/packages/esm-appointments-app/src/appointments-calendar/monthly/monthly-header.module.tsx
+++ b/packages/esm-appointments-app/src/appointments-calendar/monthly/monthly-header.module.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { Dayjs } from 'dayjs';
+import dayjs, { Dayjs } from 'dayjs';
import styles from './monthly-header.module.scss';
import { Button } from '@carbon/react';
import { useTranslation } from 'react-i18next';
@@ -24,6 +24,7 @@ function MonthlyHeader({
setCurrentDate: (date: Dayjs) => void;
}) {
const { t } = useTranslation();
+
return (
<>
diff --git a/packages/esm-appointments-app/src/appointments-header/appointments-header.component.tsx b/packages/esm-appointments-app/src/appointments-header/appointments-header.component.tsx
index 9beecb5b5..498ef9e32 100644
--- a/packages/esm-appointments-app/src/appointments-header/appointments-header.component.tsx
+++ b/packages/esm-appointments-app/src/appointments-header/appointments-header.component.tsx
@@ -6,7 +6,7 @@ import AppointmentsIllustration from './appointments-illustration.component';
import styles from './appointments-header.scss';
import { DatePicker, DatePickerInput, Dropdown, Layer } from '@carbon/react';
import dayjs from 'dayjs';
-import { changeStartDate } from '../helpers';
+import { changeStartDate, useAppointmentDate } from '../helpers';
import { useAppointmentServices } from '../hooks/useAppointmentService';
interface AppointmentHeaderProps {
@@ -18,7 +18,7 @@ const AppointmentsHeader: React.FC
= ({ title, onChange
const { t } = useTranslation();
const session = useSession();
const datePickerRef = useRef(null);
- const [appointmentDate, setDateTime] = useState(new Date());
+ const { currentAppointmentDate } = useAppointmentDate();
const location = session?.sessionLocation?.display;
const { serviceTypes } = useAppointmentServices();
return (
@@ -46,7 +46,7 @@ const AppointmentsHeader: React.FC = ({ title, onChange
placeholder="DD-MMM-YYYY"
labelText=""
type="text"
- value={dayjs(appointmentDate).format('DD MMM YYYY')}
+ value={dayjs(currentAppointmentDate).format('DD MMM YYYY')}
/>
diff --git a/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx b/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
index 9cdd6b685..aca0f909d 100644
--- a/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
+++ b/packages/esm-appointments-app/src/appointments-metrics/appointments-metrics.component.tsx
@@ -15,8 +15,8 @@ const AppointmentsMetrics: React.FC<{ serviceUuid: string }> = ({ serviceUuid })
const { totalProviders, isLoading: allAppointmentsLoading } = useAllAppointmentsByDate();
const { totalScheduledAppointments } = useScheduledAppointment(serviceUuid);
- const startDate = useAppointmentDate();
- const formattedStartDate = formatDate(parseDate(startDate), { mode: 'standard', time: false });
+ const { currentAppointmentDate } = useAppointmentDate();
+ const formattedStartDate = formatDate(parseDate(currentAppointmentDate), { mode: 'standard', time: false });
const { appointmentList: arrivedAppointments } = useAppointmentList('Honoured');
const { appointmentList: pendingAppointments } = useAppointmentList('Pending');
@@ -43,7 +43,7 @@ const AppointmentsMetrics: React.FC<{ serviceUuid: string }> = ({ serviceUuid })
value={totalScheduledAppointments}
headerLabel={t('scheduledAppointments', 'Scheduled appointments')}
count={{ pendingAppointments: filteredPendingAppointments, arrivedAppointments: filteredArrivedAppointments }}
- appointmentDate={startDate}
+ appointmentDate={currentAppointmentDate}
/>
;
+}
+
+interface LocationOptions {
+ uuid?: string;
+ display?: string;
+}
+
+const LocationSelectOption: React.FC = ({ selectedLocation, defaultFacility, locations }) => {
+ const { t } = useTranslation();
+ if (!selectedLocation) {
+ return ;
+ }
+
+ if (defaultFacility && Object.keys(defaultFacility).length !== 0) {
+ return (
+
+ {defaultFacility?.display}
+
+ );
+ }
+
+ if (locations && locations.length > 0) {
+ return (
+ <>
+ {locations.map((location) => (
+
+ {location.display}
+
+ ))}
+ >
+ );
+ }
+
+ return null;
+};
+
+export default LocationSelectOption;
diff --git a/packages/esm-appointments-app/src/appointments/forms/cancel-form/cancel-appointment.component.tsx b/packages/esm-appointments-app/src/appointments/forms/cancel-form/cancel-appointment.component.tsx
index 049a796cf..843a424f5 100644
--- a/packages/esm-appointments-app/src/appointments/forms/cancel-form/cancel-appointment.component.tsx
+++ b/packages/esm-appointments-app/src/appointments/forms/cancel-form/cancel-appointment.component.tsx
@@ -19,7 +19,7 @@ const CancelAppointment: React.FC = ({ appointment }) =>
const session = useSession();
const [selectedLocation, setSelectedLocation] = useState(appointment.location);
const [reason, setReason] = useState('');
- const startDate = useAppointmentDate();
+ const { currentAppointmentDate } = useAppointmentDate();
const [isSubmitting, setIsSubmitting] = useState(false);
useEffect(() => {
@@ -38,8 +38,8 @@ const CancelAppointment: React.FC = ({ appointment }) =>
description: t('appointmentNowVisible', 'It has been cancelled successfully'),
title: t('appointmentCancelled', 'Appointment cancelled'),
});
- mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${startDate}&status=Scheduled`);
- mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${startDate}&status=Cancelled`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${currentAppointmentDate}&status=Scheduled`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${currentAppointmentDate}&status=Cancelled`);
closeOverlay();
} else {
showNotification({
diff --git a/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-form.component.tsx b/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-form.component.tsx
index e457d5c19..77df4feea 100644
--- a/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-form.component.tsx
+++ b/packages/esm-appointments-app/src/appointments/forms/create-edit-form/appointments-form.component.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import React, { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import dayjs from 'dayjs';
import {
@@ -32,6 +32,7 @@ import {
showNotification,
showToast,
ConfigObject,
+ useSession,
} from '@openmrs/esm-framework';
import first from 'lodash-es/first';
@@ -50,6 +51,8 @@ import {
import { useInitialAppointmentFormValue, PatientAppointment } from '../useInitialFormValues';
import { useCalendarDistribution } from '../workload-helper';
import WorkloadCard from '../workload.component';
+import { useDefaultLoginLocation } from '../../../hooks/useDefaultLocation';
+import LocationSelectOption from '../../common-components/location-select-option.component';
interface AppointmentFormProps {
appointment?: MappedAppointment;
@@ -63,6 +66,7 @@ const AppointmentForm: React.FC = ({ appointment, patientU
const [patientAppointment, setPatientAppointment] = useState(initialAppointmentFormValues);
const { patient, isLoading } = usePatient(patientUuid ?? patientAppointment.patientUuid);
const locations = useLocations();
+ const sessionUser = useSession();
const { providers } = useProviders();
const { services } = useServices();
const [isSubmitting, setIsSubmitting] = useState(false);
@@ -71,11 +75,22 @@ const AppointmentForm: React.FC = ({ appointment, patientU
const calendarWorkload = useCalendarDistribution(
patientAppointment.serviceUuid,
selectedTab === 0 ? 'week' : 'month',
+ patientAppointment.visitDate,
);
- const appointmentStartDate = useAppointmentDate();
+ const { currentAppointmentDate } = useAppointmentDate();
+ const [selectedLocation, setSelectedLocation] = useState('');
+ const { defaultFacility, isLoading: loadingDefaultFacility } = useDefaultLoginLocation();
const appointmentService = services?.find(({ uuid }) => uuid === patientAppointment.serviceUuid);
+ useEffect(() => {
+ if (locations?.length && sessionUser) {
+ setSelectedLocation(sessionUser?.sessionLocation?.uuid);
+ } else if (!loadingDefaultFacility && defaultFacility) {
+ setSelectedLocation(defaultFacility?.uuid);
+ }
+ }, [locations, sessionUser, loadingDefaultFacility]);
+
const handleSubmit = async () => {
const [hours, minutes] = convertTime12to24(patientAppointment.startDateTime, patientAppointment.timeFormat);
const startDatetime = toAppointmentDateTime(patientAppointment.visitDate, hours, minutes);
@@ -107,11 +122,11 @@ const AppointmentForm: React.FC = ({ appointment, patientU
title: t('appointmentScheduled', 'Appointment scheduled'),
});
setIsSubmitting(false);
- mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${appointmentStartDate}&status=Scheduled`);
- mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${appointmentStartDate}&status=CheckedIn`);
- mutate(`/ws/rest/v1/appointment/all?forDate=${appointmentStartDate}`);
- mutate(`/ws/rest/v1/appointment/appointmentStatus?status=Scheduled&forDate=${appointmentStartDate}`);
- mutate(`/ws/rest/v1/appointment/appointmentStatus?status=Pending&forDate=${appointmentStartDate}`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${currentAppointmentDate}&status=Scheduled`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?forDate=${currentAppointmentDate}&status=CheckedIn`);
+ mutate(`/ws/rest/v1/appointment/all?forDate=${currentAppointmentDate}`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?status=Scheduled&forDate=${currentAppointmentDate}`);
+ mutate(`/ws/rest/v1/appointment/appointmentStatus?status=Pending&forDate=${currentAppointmentDate}`);
closeOverlay();
}
},
@@ -159,15 +174,14 @@ const AppointmentForm: React.FC = ({ appointment, patientU
labelText={t('selectLocation', 'Select a location')}
id="location"
invalidText="Required"
- value={patientAppointment.locationUuid}
- className={styles.inputContainer}
- onChange={(event) => setPatientAppointment({ ...patientAppointment, locationUuid: event.target.value })}>
- {locations?.length > 0 &&
- locations.map((location) => (
-
- {location.display}
-
- ))}
+ value={selectedLocation}
+ defaultSelected={selectedLocation}
+ onChange={(event) => setSelectedLocation(event.target.value)}>
+
-
-
{t('sp02', 'Sp02')}
@@ -97,6 +95,8 @@ const Vitals: React.FC
= ({ vitals, patientUuid, visitType
{conceptUnits.get(config.concepts.oxygenSaturationUuid) ?? ''}
+
+
{t('rRate', 'R. Rate')}
@@ -106,8 +106,6 @@ const Vitals: React.FC
= ({ vitals, patientUuid, visitType
{conceptUnits.get(config.concepts.respiratoryRateUuid) ?? ''}
-
-
{t('height', 'Height')}
@@ -115,6 +113,13 @@ const Vitals: React.FC
= ({ vitals, patientUuid, visitType
{conceptUnits.get(config.concepts.heightUuid) ?? ''}
+
+ {t('weight', 'Weight')}
+
+
{vitalsToDisplay.weight ? vitalsToDisplay.weight : '--'}
+
{conceptUnits.get(config.concepts.weightUuid) ?? ''}
+
+
{t('bmi', 'Bmi')}
@@ -125,13 +130,6 @@ const Vitals: React.FC
= ({ vitals, patientUuid, visitType
{config.biometrics['bmiUnit']}
-
- {t('weight', 'Weight')}
-
-
{vitalsToDisplay.weight ? vitalsToDisplay.weight : '--'}
-
{conceptUnits.get(config.concepts.weightUuid) ?? ''}
-
-
{vitalsToDisplay.provider?.name ? {vitalsToDisplay.provider.name} : null} ·{' '}
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx b/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
index ca7453855..4e84b9449 100644
--- a/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
+++ b/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
@@ -144,12 +144,6 @@ const PastVisitSummary: React.FC = ({ encounters, patient
onClick={() => setSelectedTabIndex(2)}>
{t('medications', 'Medications')}
- setSelectedTabIndex(3)}>
- {t('encounters', 'Encounters')}
-
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.scss b/packages/esm-outpatient-app/src/past-visit/past-visit.scss
index dc479c62d..6c12590c5 100644
--- a/packages/esm-outpatient-app/src/past-visit/past-visit.scss
+++ b/packages/esm-outpatient-app/src/past-visit/past-visit.scss
@@ -26,8 +26,8 @@
.container {
background-color: $ui-background;
- padding: spacing.$spacing-05;
- margin: spacing.$spacing-05 0rem spacing.$spacing-05;
+ padding: spacing.$spacing-03;
+ margin: spacing.$spacing-03 0rem spacing.$spacing-03;
width: 100%;
}
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx b/packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx
index be5d00f19..b2540dfc7 100644
--- a/packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx
+++ b/packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx
@@ -24,18 +24,15 @@ describe('PastVisit: ', () => {
expect(screen.queryAllByText(/vitals/i));
const vitalsTab = screen.getByRole('tab', { name: /vitals/i });
- const encountersTab = screen.getByRole('tab', { name: /encounters/i });
expect(vitalsTab).toBeInTheDocument();
expect(screen.getByRole('tab', { name: /notes/i })).toBeInTheDocument();
expect(screen.getByRole('tab', { name: /medications/i })).toBeInTheDocument();
- expect(screen.getByRole('tab', { name: /^encounters$/i })).toBeInTheDocument();
await user.click(vitalsTab);
expect(vitalsTab).toHaveAttribute('aria-selected', 'true');
- expect(encountersTab).toHaveAttribute('aria-selected', 'false');
});
});
diff --git a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss b/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
index c70cb64ef..f61561fde 100644
--- a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
+++ b/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
@@ -3,6 +3,7 @@
.modalBody {
padding-bottom: spacing.$spacing-03;
+ margin-bottom: 0rem;
}
.p {
From 6fcfbad1ba9cfe89b8b61fa27f8cf2b5fbf2dcbb Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Mon, 4 Sep 2023 09:04:28 +0300
Subject: [PATCH 31/43] O3-2381 Patient Queue filter(drop-down) on service
queues doesn't filter the table based on the service selected (#802)
---
.../src/active-visits/active-visits-table.component.tsx | 3 ++-
.../src/active-visits/active-visits-table.resource.ts | 6 +++---
.../src/patient-queue-metrics/clinic-metrics.component.tsx | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
index eeef1b6be..f35f707f0 100644
--- a/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
+++ b/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
@@ -332,9 +332,10 @@ function ActiveVisitsTable() {
rows={tableRows}
size="xs"
useZebraStyles>
- {({ rows, headers, getHeaderProps, getTableProps, getRowProps, onInputChange }) => (
+ {({ rows, headers, getHeaderProps, getTableProps, getRowProps, getToolbarProps, onInputChange }) => (
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts b/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
index cafcb3336..9b59ff351 100644
--- a/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
+++ b/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
@@ -254,11 +254,11 @@ export function useVisitQueueEntries(currServiceName: string, locationUuid: stri
let mappedVisitQueueEntries;
if (!currServiceName || currServiceName == t('all', 'All')) {
+ mappedVisitQueueEntries = data?.data?.results?.map(mapVisitQueueEntryProperties);
+ } else {
mappedVisitQueueEntries = data?.data?.results
?.map(mapVisitQueueEntryProperties)
- .filter((data) => dayjs(data.visitStartDateTime).isToday());
- } else {
- mappedVisitQueueEntries = data?.data?.results?.map(mapVisitQueueEntryProperties);
+ .filter((data) => data.service == currServiceName);
}
return {
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx b/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx
index 262a1901a..5e3aa6bb3 100644
--- a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx
+++ b/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx
@@ -29,7 +29,7 @@ function ClinicMetrics() {
const { allServices } = useServices(currentQueueLocation ?? queueLocations?.[0]?.id);
const currentServiceUuid = useSelectedServiceUuid();
const currentServiceName = useSelectedServiceName();
- const { serviceCount } = useServiceMetricsCount(currentServiceName, currentQueueLocation);
+ const { serviceCount } = useServiceMetricsCount(currentServiceName, currentQueueLocation ?? queueLocations?.[0]?.id);
const [initialSelectedItem, setInitialSelectItem] = useState(() => {
if (currentServiceName && currentServiceUuid) {
return false;
From 5972681738de896239623b0a4160891def4fdc9f Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Mon, 11 Sep 2023 23:25:06 +0300
Subject: [PATCH 32/43] (fix) Tweaks to the today's appointments widget UI
(#810)
---
.../appointment-actions.component.tsx | 18 ++-
.../appointments-list.component.tsx | 22 ++-
.../home-appointments/appointments-list.scss | 149 ++++++++++--------
.../src/home-appointments/links.component.tsx | 13 +-
4 files changed, 117 insertions(+), 85 deletions(-)
diff --git a/packages/esm-appointments-app/src/home-appointments/appointment-actions.component.tsx b/packages/esm-appointments-app/src/home-appointments/appointment-actions.component.tsx
index 2757dc781..8a565aec2 100644
--- a/packages/esm-appointments-app/src/home-appointments/appointment-actions.component.tsx
+++ b/packages/esm-appointments-app/src/home-appointments/appointment-actions.component.tsx
@@ -1,16 +1,16 @@
import React from 'react';
import { useTranslation } from 'react-i18next';
+import { useSWRConfig } from 'swr';
import { Layer, OverflowMenu, OverflowMenuItem } from '@carbon/react';
-import { navigate, useConfig } from '@openmrs/esm-framework';
-import { MappedAppointment } from '../types';
-import PatientSearch from '../patient-search/patient-search.component';
+import { isDesktop, navigate, useConfig } from '@openmrs/esm-framework';
+import type { MappedAppointment } from '../types';
import { launchOverlay } from '../hooks/useOverlay';
-import styles from './appointments-list.scss';
import { spaBasePath } from '../constants';
import { launchCheckInAppointmentModal, handleUpdateStatus, handleComplete } from './common';
-import { useSWRConfig } from 'swr';
-import CancelAppointment from '../appointments/forms/cancel-form/cancel-appointment.component';
import AppointmentForm from '../appointments/forms/create-edit-form/appointments-form.component';
+import CancelAppointment from '../appointments/forms/cancel-form/cancel-appointment.component';
+import PatientSearch from '../patient-search/patient-search.component';
+import styles from './appointments-list.scss';
interface ActionMenuProps {
appointment: MappedAppointment;
@@ -95,7 +95,11 @@ export const ActionsMenu = ({ appointment, useBahmniUI }: ActionMenuProps) => {
return (
-
+
;
-const RenderStatus = ({ status, t, appointmentUuid, mutate }) => {
+type RenderStatusProps = {
+ status: string;
+ t: (key: string, fallback: string) => string;
+ appointmentUuid: string;
+ mutate: KeyedMutator<{
+ data: Array;
+ }>;
+};
+
+const RenderStatus = ({ status, t, appointmentUuid, mutate }: RenderStatusProps) => {
switch (status) {
case 'Completed':
return (
@@ -74,6 +83,7 @@ const RenderStatus = ({ status, t, appointmentUuid, mutate }) => {
default:
return (
@@ -258,7 +268,7 @@ const AppointmentsBaseTable = () => {
{cell.value?.content ?? cell.value}
))}
{fullView && (
-
+
)}
diff --git a/packages/esm-appointments-app/src/home-appointments/appointments-list.scss b/packages/esm-appointments-app/src/home-appointments/appointments-list.scss
index dd596932f..e20077a60 100644
--- a/packages/esm-appointments-app/src/home-appointments/appointments-list.scss
+++ b/packages/esm-appointments-app/src/home-appointments/appointments-list.scss
@@ -1,15 +1,15 @@
-@use '@carbon/styles/scss/spacing';
-@use '@carbon/styles/scss/type';
-@import '../root.scss';
+@use '@carbon/colors';
+@use '@carbon/layout';
+@use '@carbon/type';
.container {
- background-color: $ui-background;
- border: 1px solid $ui-03;
+ background-color: colors.$white-0;
+ border: 1px solid colors.$gray-20;
width: 100%;
margin: 0 auto;
max-width: 95vw;
- margin-top: spacing.$spacing-09;
- margin-bottom: spacing.$spacing-12;
+ margin-top: layout.$spacing-09;
+ margin-bottom: layout.$spacing-12;
}
.loadingContainer {
@@ -21,8 +21,8 @@
display: flex;
justify-content: space-between;
align-items: center;
- padding: spacing.$spacing-04 0 spacing.$spacing-04 spacing.$spacing-05;
- background-color: $ui-background;
+ padding: layout.$spacing-04 0 layout.$spacing-04 layout.$spacing-05;
+ background-color: colors.$white-0;
}
.backgroundDataFetchingIndicator {
@@ -41,7 +41,7 @@
}
.addButtonContainer {
- margin: -(spacing.$spacing-05);
+ margin-left: 1.25rem;
}
.tableContainer {
@@ -50,25 +50,21 @@
}
th {
- color: $text-02;
+ color: colors.$gray-70;
}
:global(.cds--data-table) {
- background-color: $ui-03;
+ background-color: colors.$gray-20;
}
- :global(.cds--table-column-menu) {
- button {
- position: static;
- }
- }
.tableToolbar {
min-height: 0;
top: -22px;
}
+
.tableToolbarContent {
- height: spacing.$spacing-07;
- margin-bottom: spacing.$spacing-02;
+ height: layout.$spacing-07;
+ margin-bottom: layout.$spacing-02;
}
}
@@ -79,7 +75,7 @@
.startTime {
font-weight: 700;
- margin-right: spacing.$spacing-03;
+ margin-right: layout.$spacing-03;
}
.nameContainer {
@@ -98,15 +94,15 @@
.actionButton {
position: static;
- padding: spacing.$spacing-03 spacing.$spacing-05 spacing.$spacing-03 0;
+ padding: layout.$spacing-03 layout.$spacing-05 layout.$spacing-03 0;
}
.serviceColor {
border-radius: 50%;
- margin-right: spacing.$spacing-03;
- width: spacing.$spacing-05;
- height: spacing.$spacing-05;
- background-color: $support-02;
+ margin-right: layout.$spacing-03;
+ width: layout.$spacing-05;
+ height: layout.$spacing-05;
+ background-color: colors.$green-50;
}
.pagination {
@@ -122,7 +118,7 @@
}
.emptyRow {
- padding: 0 spacing.$spacing-05;
+ padding: 0 layout.$spacing-05;
display: flex;
align-items: center;
}
@@ -132,45 +128,45 @@
}
.expandedAppointmentsRow td {
- padding: 0 spacing.$spacing-07;
+ padding: 0 layout.$spacing-07;
}
.expandedAppointmentsRow th[colspan] td[colspan] > div:first-child {
- padding: 0 spacing.$spacing-05;
+ padding: 0 layout.$spacing-05;
}
.completeIcon,
.missedIcon,
.cancelIcon {
width: 8rem;
- padding: spacing.$spacing-03 spacing.$spacing-05 spacing.$spacing-03 0;
+ padding: layout.$spacing-03 layout.$spacing-05 layout.$spacing-03 0;
display: flex;
align-items: center;
- height: spacing.$spacing-09;
+ height: layout.$spacing-09;
svg {
- margin-left: spacing.$spacing-03;
+ margin-left: layout.$spacing-03;
}
}
.completeIcon {
- color: $support-02;
+ color: colors.$green-50;
svg {
- fill: $support-02;
+ fill: colors.$green-50;
}
}
.missedIcon {
- color: $carbon--red-50;
+ color: colors.$red-50;
svg {
- fill: $carbon--red-50;
+ fill: colors.$red-50;
}
}
.tabletHeading {
h4 {
@include type.type-style('heading-03');
- color: $text-02;
+ color: colors.$gray-70;
}
}
@@ -180,27 +176,25 @@
justify-content: space-between;
text-align: left;
text-transform: capitalize;
- margin-bottom: spacing.$spacing-05;
h4 {
@include type.type-style('heading-compact-02');
- color: $text-02;
+ color: colors.$gray-70;
&:after {
content: '';
display: block;
width: 2rem;
padding-top: 3px;
- border-bottom: 0.375rem solid;
- @include brand-03(border-bottom-color);
+ border-bottom: 0.375rem solid var(--brand-03);
}
}
}
.tileContainer {
- background-color: $ui-02;
- border-top: 1px solid $ui-03;
- padding: spacing.$spacing-11 0;
+ background-color: colors.$white-0;
+ border-top: 1px solid colors.$gray-20;
+ padding: layout.$spacing-11 0;
}
.tile {
@@ -215,27 +209,27 @@
.content {
@include type.type-style('heading-compact-01');
- color: $text-02;
- margin-top: spacing.$spacing-05;
- margin-bottom: spacing.$spacing-03;
+ color: colors.$gray-70;
+ margin-top: layout.$spacing-05;
+ margin-bottom: layout.$spacing-03;
}
.helper {
@include type.type-style('body-compact-01');
- color: $text-02;
+ color: colors.$gray-70;
}
.separator {
@include type.type-style('body-compact-02');
- color: $text-02;
+ color: colors.$gray-70;
width: 80%;
- margin: spacing.$spacing-06 auto;
+ margin: layout.$spacing-06 auto;
overflow: hidden;
text-align: center;
&::before,
&::after {
- background-color: $text-03;
+ background-color: colors.$gray-40;
content: '';
display: inline-block;
height: 1px;
@@ -245,26 +239,36 @@
}
&::before {
- right: spacing.$spacing-03;
+ right: layout.$spacing-03;
margin-left: -50%;
}
&::after {
- left: spacing.$spacing-03;
+ left: layout.$spacing-03;
margin-right: -50%;
}
}
+.actionLinks {
+ display: flex;
+ align-items: center;
+ margin-top: -0.75rem;
+}
+
.menuItemLink {
text-decoration: none;
}
+.menuItem {
+ max-width: none;
+}
+
.seeAllLink {
position: relative;
left: 22rem;
top: -8.5rem;
- min-height: spacing.$spacing-07;
- padding: spacing.$spacing-03;
+ min-height: layout.$spacing-07;
+ padding: layout.$spacing-03;
}
.filterLabelContainer {
@@ -272,22 +276,37 @@
}
.filterLabel {
- background-color: $ui-02;
- padding: 0.02rem spacing.$spacing-05;
- border-radius: spacing.$spacing-05;
- margin-right: spacing.$spacing-03;
+ background-color: colors.$white-0;
+ padding: 0.02rem layout.$spacing-05;
+ border-radius: layout.$spacing-05;
+ margin-right: layout.$spacing-03;
:hover {
- background-color: $ui-02;
+ background-color: colors.$white-0;
}
}
+.viewCalendarButton {
+ margin: -1.25rem 0;
+}
+
+.divider {
+ width: 1px;
+ height: layout.$spacing-05;
+ color: colors.$gray-20;
+ margin-left: layout.$spacing-05;
+}
+
+.overflowMenu {
+ vertical-align: middle !important;
+}
+
// Overriding styles for RTL support
html[dir='rtl'] {
.headerContainer {
- padding: spacing.$spacing-04 spacing.$spacing-05 spacing.$spacing-04 0;
+ padding: layout.$spacing-04 layout.$spacing-05 layout.$spacing-04 0;
svg {
margin-left: 0;
- margin-right: spacing.$spacing-03;
+ margin-right: layout.$spacing-03;
}
h4 {
text-align: right;
@@ -297,7 +316,7 @@ html[dir='rtl'] {
& > :nth-child(1) {
& > span {
margin-left: 0;
- margin-right: spacing.$spacing-05;
+ margin-right: layout.$spacing-05;
}
& > :nth-child(2) {
select {
@@ -314,7 +333,7 @@ html[dir='rtl'] {
}
& > span {
margin-right: 0.0625rem;
- margin-left: spacing.$spacing-05;
+ margin-left: layout.$spacing-05;
}
& > :last-child {
& > :first-child {
@@ -334,10 +353,10 @@ html[dir='rtl'] {
text-align: right;
.serviceColor {
margin-right: 0;
- margin-left: spacing.$spacing-03;
+ margin-left: layout.$spacing-03;
}
button {
- padding: spacing.$spacing-03 0 spacing.$spacing-03 spacing.$spacing-05;
+ padding: layout.$spacing-03 0 layout.$spacing-03 layout.$spacing-05;
text-align: right;
}
}
diff --git a/packages/esm-appointments-app/src/home-appointments/links.component.tsx b/packages/esm-appointments-app/src/home-appointments/links.component.tsx
index abfb2a8fc..545bb6120 100644
--- a/packages/esm-appointments-app/src/home-appointments/links.component.tsx
+++ b/packages/esm-appointments-app/src/home-appointments/links.component.tsx
@@ -23,7 +23,7 @@ const SeeAllAppointmentsLink = () => {
{t('seeAllAppointments', 'See all appointments')}
) : (
-
) : (
@@ -66,19 +66,18 @@ const ViewCalendarLink = () => {
return useBahmniUI ? (
}>
+ href={`${bahmniAppointmentsUiBaseUrl}/#/home/manage/appointments/calendar`}>
{t('viewCalendar', 'View Calendar')}
) : (
navigate({ to: `${spaBasePath}/calendar` })}
+ onClick={() => navigate({ to: `${spaBasePath}/appointments/calendar` })}
renderIcon={(props) => }
data-floating-menu-primary-focus
iconDescription={t('viewCalendar', 'View Calendar')}>
From fa12f3f986e7f30e481f5ee658ba7c7793bbefb8 Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Tue, 12 Sep 2023 19:04:27 +0300
Subject: [PATCH 33/43] (fix) Mutate list of patients not in queue on adding
new queue entries (#807)
---
.../add-patient-toqueue-dialog.component.tsx | 4 +++-
.../visits-missing-inqueue/visits-missing-inqueue.resource.ts | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx b/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
index 03b32f1ce..d7bd40b5c 100644
--- a/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
+++ b/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
@@ -21,7 +21,7 @@ import {
useVisitQueueEntries,
} from '../active-visits/active-visits-table.resource';
import styles from './add-patient-toqueue-dialog.scss';
-import { ActiveVisit } from '../visits-missing-inqueue/visits-missing-inqueue.resource';
+import { ActiveVisit, useMissingQueueEntries } from '../visits-missing-inqueue/visits-missing-inqueue.resource';
import { useQueueLocations } from '../patient-search/hooks/useQueueLocations';
interface AddVisitToQueueDialogProps {
@@ -48,6 +48,7 @@ const AddVisitToQueue: React.FC = ({ visitDetails, c
const config = useConfig() as ConfigObject;
const { mutate } = useVisitQueueEntries('', selectedQueueLocation);
const [priority, setPriority] = useState(config.concepts.defaultPriorityConceptUuid);
+ const { mutateQueueEntries } = useMissingQueueEntries();
const addVisitToQueue = useCallback(() => {
if (!queueUuid) {
@@ -86,6 +87,7 @@ const AddVisitToQueue: React.FC = ({ visitDetails, c
});
closeModal();
mutate();
+ mutateQueueEntries();
}
},
(error) => {
diff --git a/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts b/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
index d79bd081b..416738f1a 100644
--- a/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
+++ b/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
@@ -39,11 +39,12 @@ export function useMissingQueueEntries() {
isValidating: visitsIsValidating,
} = useSWR<{ data: { results: Array } }, Error>(sessionLocation ? url : null, openmrsFetch);
- const apiUrl = `/ws/rest/v1/visit-queue-entry?v=full`;
+ const apiUrl = `/ws/rest/v1/visit-queue-entry`;
const {
data: queueData,
error: queueError,
isValidating: queueIsValidating,
+ mutate: mutateQueueEntries,
} = useSWR<{ data: { results: Array } }, Error>(apiUrl, openmrsFetch);
const byId = {};
@@ -82,6 +83,7 @@ export function useMissingQueueEntries() {
isLoading: !data && !visitsError && !queueError,
isError: !visitsError && !queueError,
visitsIsValidating,
+ mutateQueueEntries,
};
}
From db1bf35b53baf7f59a915be983f66d9c4545a086 Mon Sep 17 00:00:00 2001
From: Vineet Sharma
Date: Wed, 13 Sep 2023 12:05:56 +0530
Subject: [PATCH 34/43] Fetching obs for a patient should only fetch required
params and useInitialEncounters hook fix (#811)
---
.../patient-registration-hooks.ts | 17 +++++++++++++----
.../patient-registration.types.tsx | 6 +++---
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration-hooks.ts b/packages/esm-patient-registration-app/src/patient-registration/patient-registration-hooks.ts
index 90cd720f3..4ad89972d 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration-hooks.ts
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration-hooks.ts
@@ -1,4 +1,11 @@
-import { FetchResponse, getSynchronizationItems, openmrsFetch, useConfig, usePatient } from '@openmrs/esm-framework';
+import {
+ FetchResponse,
+ OpenmrsResource,
+ getSynchronizationItems,
+ openmrsFetch,
+ useConfig,
+ usePatient,
+} from '@openmrs/esm-framework';
import camelCase from 'lodash-es/camelCase';
import { Dispatch, useEffect, useMemo, useState } from 'react';
import useSWR from 'swr';
@@ -239,14 +246,16 @@ export function useInitialPatientIdentifiers(patientUuid: string): {
function useInitialEncounters(patientUuid: string, patientToEdit: fhir.Patient) {
const { registrationObs } = useConfig() as RegistrationConfig;
const { data, error, isLoading } = useSWR }>>(
- patientToEdit
- ? `/ws/rest/v1/encounter?patient=${patientUuid}&v=full&encounterType=${registrationObs.encounterTypeUuid}`
+ patientToEdit && registrationObs.encounterTypeUuid
+ ? `/ws/rest/v1/encounter?patient=${patientUuid}&v=custom:(encounterDatetime,obs:(concept:ref,value:ref))&encounterType=${registrationObs.encounterTypeUuid}`
: null,
openmrsFetch,
);
const obs = data?.data.results.sort(latestFirstEncounter)?.at(0)?.obs;
const encounters = obs
- ?.map(({ concept, value }) => ({ [concept['uuid']]: value['uuid'] }))
+ ?.map(({ concept, value }) => ({
+ [(concept as OpenmrsResource).uuid]: typeof value === 'object' ? value?.uuid : value,
+ }))
.reduce((accu, curr) => Object.assign(accu, curr), {});
return { data: encounters, isLoading, error };
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.types.tsx b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.types.tsx
index 4028a7480..decbd752e 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.types.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.types.tsx
@@ -1,4 +1,4 @@
-import { Session } from '@openmrs/esm-framework';
+import { OpenmrsResource, Session } from '@openmrs/esm-framework';
import { RegistrationConfig } from '../config-schema';
import { SavePatientTransactionManager } from './form-manager';
@@ -128,8 +128,8 @@ export interface Encounter {
}>;
form: string;
obs: Array<{
- concept: string;
- value: string | number;
+ concept: string | OpenmrsResource;
+ value: string | number | OpenmrsResource;
}>;
}
From 81034f7c1631ce59c2f01117227617ba88246af9 Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Thu, 14 Sep 2023 09:44:38 +0300
Subject: [PATCH 35/43] (fix) Align concepts in service queue to latest ocl
release (#809)
---
packages/esm-outpatient-app/src/config-schema.ts | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/esm-outpatient-app/src/config-schema.ts b/packages/esm-outpatient-app/src/config-schema.ts
index e2f489541..f0026d9ea 100644
--- a/packages/esm-outpatient-app/src/config-schema.ts
+++ b/packages/esm-outpatient-app/src/config-schema.ts
@@ -11,12 +11,12 @@ export const configSchema = {
defaultPriorityConceptUuid: {
_type: Type.ConceptUuid,
_description: 'The UUID of the default priority for the queues eg Not urgent.',
- _default: '9e123c90-76ac-4eaa-8d40-35577781eb46',
+ _default: 'f4620bfa-3625-4883-bd3f-84c2cce14470',
},
emergencyPriorityConceptUuid: {
_type: Type.ConceptUuid,
_description: 'The UUID of the priority with the highest sort weight for the queues eg Emergency.',
- _default: '5c2d5f8c-5efb-46d0-8e28-9e707ab7523c',
+ _default: '04f6f7e0-e3cb-4e13-a133-4479f759574e',
},
serviceConceptSetUuid: {
_type: Type.ConceptUuid,
@@ -29,12 +29,12 @@ export const configSchema = {
defaultStatusConceptUuid: {
_type: Type.ConceptUuid,
_description: 'The UUID of the default status for the queues eg Waiting.',
- _default: '136203AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
+ _default: '51ae5e4d-b72b-4912-bf31-a17efb690aeb',
},
defaultTransitionStatus: {
_type: Type.ConceptUuid,
_description: 'The UUID of the default status for attending a service in the queues eg In Service.',
- _default: '167408AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
+ _default: 'ca7494ae-437f-4fd0-8aae-b88b9a2ba47d',
},
visitQueueNumberAttributeUuid: {
_type: Type.ConceptUuid,
From bb87f1de3f8a6ec0cbf261e7fc4fbe3fb1f4b206 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Thu, 21 Sep 2023 12:28:27 +0300
Subject: [PATCH 36/43] (fix) Temporarily disable the patient search banner
tags slot (#817)
---
.../compact-patient-banner.component.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/esm-patient-search-app/src/compact-patient-search/compact-patient-banner.component.tsx b/packages/esm-patient-search-app/src/compact-patient-search/compact-patient-banner.component.tsx
index 99a6e7278..5e2cc7313 100644
--- a/packages/esm-patient-search-app/src/compact-patient-search/compact-patient-banner.component.tsx
+++ b/packages/esm-patient-search-app/src/compact-patient-search/compact-patient-banner.component.tsx
@@ -101,11 +101,11 @@ const PatientSearchResults = React.forwardRef{`${patient.name?.[0]?.given?.join(' ')} ${
patient.name?.[0]?.family
}`}
-
+ /> */}
{getGender(patient.gender)} · {age(patient.birthDate)}
From a16e38c9027b280e622ff8cc4fac653c1e33bea2 Mon Sep 17 00:00:00 2001
From: Donald Kibet
Date: Thu, 21 Sep 2023 12:44:47 +0300
Subject: [PATCH 37/43] BREAKING: Rename `outpatient-app` to `service-queues`
(#647)
Co-authored-by: Dennis Kigen
---
README.md | 2 +-
.../README.md | 2 +-
.../__mocks__/active-visits.mock.ts | 0
.../__mocks__/appointments-data.mock.ts | 0
.../__mocks__/search.mock.ts | 0
.../__mocks__/visits.mock.ts | 0
.../jest.config.js | 0
.../package.json | 4 +--
.../active-visits-tab.component.tsx | 0
.../active-visits/active-visits-tab.test.tsx | 0
.../active-visits-table.component.tsx | 0
.../active-visits-table.resource.ts | 0
.../active-visits/active-visits-table.scss | 0
.../active-visits-table.test.tsx | 0
.../change-status-dialog.component.tsx | 0
.../active-visits/change-status-dialog.scss | 0
.../change-status-dialog.test.tsx | 0
.../add-patient-toqueue-dialog.component.tsx | 0
.../add-patient-toqueue-dialog.scss | 0
.../add-provider-queue-room.component.tsx | 0
.../add-provider-queue-room.resource.tsx | 0
.../add-provider-queue-room.scss | 0
.../add-provider-queue-room.test.tsx | 0
.../clear-queue-entries-dialog.component.tsx | 0
.../clear-queue-entries-dialog.resource.tsx | 0
.../clear-queue-entries-dialog.scss | 0
.../clear-queue-entries-dialog.test.tsx | 0
.../clear-queue-entries.component.tsx | 0
.../src/config-schema.ts | 0
.../src/constants.ts | 0
.../src/createDashboardLink.tsx | 0
.../current-visit-summary.component.tsx | 0
.../current-visit-summary.test.tsx | 0
.../current-visit/current-visit.resource.ts | 0
.../src/current-visit/current-visit.scss | 0
.../hooks/useVitalsConceptMetadata.tsx | 0
.../visit-details/biometrics-config-schema.ts | 0
.../current-visit-details.component.tsx | 0
.../visit-details/triage-note.component.tsx | 0
.../visit-details/triage-note.scss | 0
.../visit-details/vitals-config-schema.ts | 0
.../visit-details/vitals.component.tsx | 0
.../src/dashboard.meta.ts | 0
.../src/declarations.d.ts | 0
.../src/helpers/functions.ts | 0
.../src/helpers/helpers.ts | 0
.../src/helpers/time-helpers.ts | 0
.../src/home.component.tsx | 0
.../src/home.test.tsx | 0
.../src/index.ts | 2 +-
.../src/overlay.component.tsx | 0
.../src/overlay.scss | 0
.../src/overlay.test.tsx | 0
.../encounter-list.component.tsx | 0
.../medications-list.component.tsx | 0
.../notes-list.component.tsx | 0
.../past-visit-summary.component.tsx | 0
.../past-visit-summary.scss | 0
.../src/past-visit/past-visit.component.tsx | 0
.../src/past-visit/past-visit.resource.ts | 0
.../src/past-visit/past-visit.scss | 0
.../src/past-visit/past-visit.test.tsx | 0
.../appointment-details.component.tsx | 0
.../src/patient-info/appointment-details.scss | 0
.../patient-info/appointment-details.test.tsx | 0
.../patient-info/appointments.resource.tsx | 0
.../contact-details.component.tsx | 0
.../src/patient-info/contact-details.scss | 0
.../src/patient-info/contact-details.test.tsx | 0
.../hooks/usePatientAttributes.tsx | 0
.../patient-info/patient-info.component.tsx | 0
.../src/patient-info/patient-info.scss | 0
.../src/patient-info/patient-info.test.tsx | 0
.../patient-queue-header.component.tsx | 2 +-
.../patient-queue-header.scss | 0
.../patient-queue-illustration.component.tsx | 0
.../clinic-metrics.component.tsx | 0
.../clinic-metrics.resource.tsx | 0
.../patient-queue-metrics/clinic-metrics.scss | 0
.../clinic-metrics.test.tsx | 0
.../metrics-card.component.tsx | 0
.../patient-queue-metrics/metrics-card.scss | 0
.../metrics-header.component.tsx | 0
.../patient-queue-metrics/metrics-header.scss | 0
.../queue-metrics.resource.ts | 0
.../advanced-search.component.tsx | 0
.../src/patient-search/advanced-search.scss | 0
.../patient-search/advanced-search.test.tsx | 0
.../patient-search/basic-search.component.tsx | 0
.../src/patient-search/basic-search.scss | 0
.../src/patient-search/basic-search.test.tsx | 0
.../empty-data-illustration.component.tsx | 0
.../hooks/useActivePatientEnrollment.tsx | 0
.../hooks/useDefaultLocation.tsx | 0
.../src/patient-search/hooks/usePatients.tsx | 0
.../hooks/useQueueLocations.tsx | 0
.../hooks/useRecommendedVisitTypes.tsx | 0
.../hooks/useScheduledVisits.tsx | 0
.../patient-scheduled-visits.component.tsx | 0
.../patient-scheduled-visits.scss | 0
.../patient-scheduled-visits.test.tsx | 0
.../patient-search.component.tsx | 0
.../search-illustration.component.tsx | 0
.../search-results.component.tsx | 0
.../src/patient-search/search-results.scss | 0
.../patient-search/search-results.test.tsx | 0
.../src/patient-search/search.resource.ts | 0
.../visit-form-queue-fields.component.tsx | 0
.../visit-form-queue-fields.scss | 0
.../visit-form-queue-fields.test.tsx | 0
.../visit-form/base-visit-type.component.tsx | 0
.../visit-form/base-visit-type.scss | 0
.../visit-form/base-visit-type.test.tsx | 0
.../visit-form/queue.resource.ts | 0
.../recommended-visit-type.component.tsx | 0
.../visit-form/visit-form.component.tsx | 0
.../patient-search/visit-form/visit-form.scss | 0
.../actions-menu.component.tsx | 0
.../actions-menu.scss | 0
.../edit-entry.component.tsx | 0
.../edit-entry.scss | 0
.../open-chart.component.tsx | 0
.../open-chart.resource.tsx | 0
.../open-chart.scss | 0
.../status-icon.component.tsx | 0
.../transition-entry.component.tsx | 0
.../transition-entry.scss | 0
.../queue-linelist-base-table.component.tsx | 0
.../queue-linelist-base-table.scss | 0
.../queue-linelist-base-table.test.tsx | 0
.../queue-linelist-filter.component.tsx | 0
.../queue-linelist-filter.scss | 0
.../queue-linelist-filter.test.tsx | 0
.../queue-linelist.component.tsx | 0
.../queue-linelist.resource.tsx | 0
.../queue-linelist.test.tsx | 0
.../queue-services-table.component.tsx | 0
...scheduled-appointments-table.component.tsx | 0
.../scheduled-appointments-table.test.tsx | 0
.../queue-rooms/queue-room-form.component.tsx | 0
.../src/queue-rooms/queue-room-form.test.tsx | 0
.../src/queue-rooms/queue-room.resource.tsx | 0
.../src/queue-rooms/queue-room.scss | 0
.../queue-screen/queue-screen.component.tsx | 0
.../src/queue-screen/queue-screen.scss | 0
.../src/queue-screen/queue-screen.test.tsx | 0
.../src/queue-screen/useActiveTickets.tsx | 0
.../queue-service-form.component.tsx | 0
.../queue-service-form.test.tsx | 0
.../queue-services/queue-service.resource.tsx | 0
.../src/queue-services/queue-service.scss | 0
.../remove-queue-entry.component.tsx | 0
.../remove-queue-entry.resource.tsx | 0
.../remove-queue-entry.scss | 0
.../remove-queue-entry.test.tsx | 0
.../src/root.component.tsx | 0
.../src/root.scss | 0
.../src/root.test.tsx | 0
.../src/routes.json | 0
.../side-menu/nav-group/createNavGroup.tsx | 0
.../nav-group/nav-group.component.tsx | 0
.../side-menu/nav-group/nav-group.test.tsx | 0
.../src/side-menu/nav-group/nav-group.ts | 0
.../src/side-menu/side-menu.component.tsx | 0
.../src/side-menu/side-menu.test.tsx | 0
...ransition-queue-entry-dialog.component.tsx | 0
.../transition-queue-entry-dialog.scss | 0
.../transition-queue-entry-dialog.test.tsx | 0
.../transition-queue-entry.resource.ts | 0
.../src/types/index.ts | 0
.../visits-missing-inqueue.component.tsx | 0
.../visits-missing-inqueue.resource.ts | 0
.../visits-missing-inqueue.scss | 0
.../translations/am.json | 0
.../translations/en.json | 0
.../translations/es.json | 0
.../translations/fr.json | 0
.../translations/he.json | 0
.../translations/km.json | 0
.../tsconfig.json | 0
.../webpack.config.js | 0
yarn.lock | 30 +++++++++----------
182 files changed, 21 insertions(+), 21 deletions(-)
rename packages/{esm-outpatient-app => esm-service-queues-app}/README.md (96%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/__mocks__/active-visits.mock.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/__mocks__/appointments-data.mock.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/__mocks__/search.mock.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/__mocks__/visits.mock.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/jest.config.js (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/package.json (93%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-tab.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-tab.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-table.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-table.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-table.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/active-visits-table.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/change-status-dialog.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/change-status-dialog.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/active-visits/change-status-dialog.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-patient-toqueue/add-patient-toqueue-dialog.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-provider-queue-room/add-provider-queue-room.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-provider-queue-room/add-provider-queue-room.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-provider-queue-room/add-provider-queue-room.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/add-provider-queue-room/add-provider-queue-room.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/clear-queue-entries-dialog/clear-queue-entries-dialog.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/clear-queue-entries-dialog/clear-queue-entries.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/config-schema.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/constants.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/createDashboardLink.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/current-visit-summary.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/current-visit-summary.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/current-visit.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/current-visit.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/hooks/useVitalsConceptMetadata.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/biometrics-config-schema.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/current-visit-details.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/triage-note.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/triage-note.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/vitals-config-schema.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/current-visit/visit-details/vitals.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/dashboard.meta.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/declarations.d.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/helpers/functions.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/helpers/helpers.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/helpers/time-helpers.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/home.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/home.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/index.ts (98%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/overlay.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/overlay.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/overlay.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit-details/encounter-list.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit-details/medications-list.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit-details/notes-list.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit-details/past-visit-summary.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit-details/past-visit-summary.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/past-visit/past-visit.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/appointment-details.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/appointment-details.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/appointment-details.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/appointments.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/contact-details.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/contact-details.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/contact-details.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/hooks/usePatientAttributes.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/patient-info.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/patient-info.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-info/patient-info.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-header/patient-queue-header.component.tsx (97%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-header/patient-queue-header.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-header/patient-queue-illustration.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/clinic-metrics.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/clinic-metrics.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/clinic-metrics.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/clinic-metrics.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/metrics-card.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/metrics-card.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/metrics-header.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/metrics-header.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-queue-metrics/queue-metrics.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/advanced-search.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/advanced-search.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/advanced-search.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/basic-search.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/basic-search.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/basic-search.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/empty-data-illustration.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/useActivePatientEnrollment.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/useDefaultLocation.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/usePatients.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/useQueueLocations.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/useRecommendedVisitTypes.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/hooks/useScheduledVisits.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/patient-scheduled-visits.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/patient-scheduled-visits.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/patient-scheduled-visits.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/patient-search.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/search-illustration.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/search-results.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/search-results.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/search-results.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/search.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/base-visit-type.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/base-visit-type.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/base-visit-type.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/queue.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/recommended-visit-type.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/visit-form.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/patient-search/visit-form/visit-form.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/actions-menu.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/actions-menu.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/edit-entry.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/edit-entry.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/open-chart.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/open-chart.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/open-chart.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/status-icon.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/transition-entry.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-entry-table-components/transition-entry.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-base-table.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-base-table.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-base-table.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-filter.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-filter.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist-filter.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-linelist.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/queue-services-table.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/scheduled-appointments-table.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-patient-linelists/scheduled-appointments-table.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-rooms/queue-room-form.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-rooms/queue-room-form.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-rooms/queue-room.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-rooms/queue-room.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-screen/queue-screen.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-screen/queue-screen.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-screen/queue-screen.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-screen/useActiveTickets.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-services/queue-service-form.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-services/queue-service-form.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-services/queue-service.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/queue-services/queue-service.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/remove-queue-entry-dialog/remove-queue-entry.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/remove-queue-entry-dialog/remove-queue-entry.resource.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/remove-queue-entry-dialog/remove-queue-entry.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/root.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/root.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/root.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/routes.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/nav-group/createNavGroup.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/nav-group/nav-group.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/nav-group/nav-group.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/nav-group/nav-group.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/side-menu.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/side-menu/side-menu.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/transition-queue-entry/transition-queue-entry-dialog.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/transition-queue-entry/transition-queue-entry.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/types/index.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/src/visits-missing-inqueue/visits-missing-inqueue.scss (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/am.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/en.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/es.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/fr.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/he.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/translations/km.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/tsconfig.json (100%)
rename packages/{esm-outpatient-app => esm-service-queues-app}/webpack.config.js (100%)
diff --git a/README.md b/README.md
index e8061eacf..799e32212 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ This repository contains frontend modules for the OpenMRS SPA. These modules rel
- [Active visits app](packages/esm-active-visits-app/)
- [Appointments app](packages/esm-appointments-app/)
-- [Outpatient app](packages/esm-outpatient-app/README.md)
+- [Service queues](packages/esm-service-queues-app/README.md)
- [Patient search](packages/esm-patient-search-app)
- [Patient registration](packages/esm-patient-registration-app)
- [Patient list](packages/esm-patient-list-app)
diff --git a/packages/esm-outpatient-app/README.md b/packages/esm-service-queues-app/README.md
similarity index 96%
rename from packages/esm-outpatient-app/README.md
rename to packages/esm-service-queues-app/README.md
index c9426366a..f4053bb63 100644
--- a/packages/esm-outpatient-app/README.md
+++ b/packages/esm-service-queues-app/README.md
@@ -9,7 +9,7 @@ The `Service Queues` app is a frontend module that enables users to track a pati
The key component of the service queue app is the `Active Visits` table. It displays a tabular overview of the active visits ongoing in a facility and the wait time of patients. Users can add patients to the service queue by starting visits for them. They can also view information from the current active visits as well as the previous visit on each queue entry by clicking the table extension slot. Users can also change the priority and status of an entry in the queue from the UI, effectively moving a patient from one point in the queue to another. In order to indicate that a patient is currently attending service, click on the bell icon. In order to edit an entry, click the pencil icon.
Amend the following concepts in the configuration schema to get started using the module:
-- `priorityConceptSetUuid` - concept UUID for `prioritity`.
+- `priorityConceptSetUuid` - concept UUID for `priority`.
- `defaultPriorityConceptUuid` - concept UUID for `not urgent`.
- `serviceConceptSetUuid` - concept UUID for `service`.
- `statusConceptSetUuid` - concept UUID for `status`.
diff --git a/packages/esm-outpatient-app/__mocks__/active-visits.mock.ts b/packages/esm-service-queues-app/__mocks__/active-visits.mock.ts
similarity index 100%
rename from packages/esm-outpatient-app/__mocks__/active-visits.mock.ts
rename to packages/esm-service-queues-app/__mocks__/active-visits.mock.ts
diff --git a/packages/esm-outpatient-app/__mocks__/appointments-data.mock.ts b/packages/esm-service-queues-app/__mocks__/appointments-data.mock.ts
similarity index 100%
rename from packages/esm-outpatient-app/__mocks__/appointments-data.mock.ts
rename to packages/esm-service-queues-app/__mocks__/appointments-data.mock.ts
diff --git a/packages/esm-outpatient-app/__mocks__/search.mock.ts b/packages/esm-service-queues-app/__mocks__/search.mock.ts
similarity index 100%
rename from packages/esm-outpatient-app/__mocks__/search.mock.ts
rename to packages/esm-service-queues-app/__mocks__/search.mock.ts
diff --git a/packages/esm-outpatient-app/__mocks__/visits.mock.ts b/packages/esm-service-queues-app/__mocks__/visits.mock.ts
similarity index 100%
rename from packages/esm-outpatient-app/__mocks__/visits.mock.ts
rename to packages/esm-service-queues-app/__mocks__/visits.mock.ts
diff --git a/packages/esm-outpatient-app/jest.config.js b/packages/esm-service-queues-app/jest.config.js
similarity index 100%
rename from packages/esm-outpatient-app/jest.config.js
rename to packages/esm-service-queues-app/jest.config.js
diff --git a/packages/esm-outpatient-app/package.json b/packages/esm-service-queues-app/package.json
similarity index 93%
rename from packages/esm-outpatient-app/package.json
rename to packages/esm-service-queues-app/package.json
index c45d2c611..411ba31a0 100644
--- a/packages/esm-outpatient-app/package.json
+++ b/packages/esm-service-queues-app/package.json
@@ -1,8 +1,8 @@
{
- "name": "@openmrs/esm-outpatient-app",
+ "name": "@openmrs/esm-service-queues-app",
"version": "5.0.0",
"description": "Outpatient front-end module for the OpenMRS SPA",
- "browser": "dist/openmrs-esm-outpatient-app.js",
+ "browser": "dist/openmrs-esm-service-queues-app.js",
"main": "src/index.ts",
"source": true,
"license": "MPL-2.0",
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-tab.component.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-tab.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-tab.component.tsx
rename to packages/esm-service-queues-app/src/active-visits/active-visits-tab.component.tsx
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-tab.test.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-tab.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-tab.test.tsx
rename to packages/esm-service-queues-app/src/active-visits/active-visits-tab.test.tsx
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-table.component.tsx
rename to packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts b/packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-table.resource.ts
rename to packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.scss b/packages/esm-service-queues-app/src/active-visits/active-visits-table.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-table.scss
rename to packages/esm-service-queues-app/src/active-visits/active-visits-table.scss
diff --git a/packages/esm-outpatient-app/src/active-visits/active-visits-table.test.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-table.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/active-visits-table.test.tsx
rename to packages/esm-service-queues-app/src/active-visits/active-visits-table.test.tsx
diff --git a/packages/esm-outpatient-app/src/active-visits/change-status-dialog.component.tsx b/packages/esm-service-queues-app/src/active-visits/change-status-dialog.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/change-status-dialog.component.tsx
rename to packages/esm-service-queues-app/src/active-visits/change-status-dialog.component.tsx
diff --git a/packages/esm-outpatient-app/src/active-visits/change-status-dialog.scss b/packages/esm-service-queues-app/src/active-visits/change-status-dialog.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/change-status-dialog.scss
rename to packages/esm-service-queues-app/src/active-visits/change-status-dialog.scss
diff --git a/packages/esm-outpatient-app/src/active-visits/change-status-dialog.test.tsx b/packages/esm-service-queues-app/src/active-visits/change-status-dialog.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/active-visits/change-status-dialog.test.tsx
rename to packages/esm-service-queues-app/src/active-visits/change-status-dialog.test.tsx
diff --git a/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx b/packages/esm-service-queues-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
rename to packages/esm-service-queues-app/src/add-patient-toqueue/add-patient-toqueue-dialog.component.tsx
diff --git a/packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.scss b/packages/esm-service-queues-app/src/add-patient-toqueue/add-patient-toqueue-dialog.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/add-patient-toqueue/add-patient-toqueue-dialog.scss
rename to packages/esm-service-queues-app/src/add-patient-toqueue/add-patient-toqueue-dialog.scss
diff --git a/packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx b/packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
rename to packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.component.tsx
diff --git a/packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.resource.tsx b/packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.resource.tsx
rename to packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.resource.tsx
diff --git a/packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.scss b/packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.scss
rename to packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.scss
diff --git a/packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx b/packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx
rename to packages/esm-service-queues-app/src/add-provider-queue-room/add-provider-queue-room.test.tsx
diff --git a/packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx b/packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx
rename to packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.component.tsx
diff --git a/packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.resource.tsx b/packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.resource.tsx
rename to packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.resource.tsx
diff --git a/packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss b/packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss
rename to packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.scss
diff --git a/packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx b/packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx
rename to packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries-dialog.test.tsx
diff --git a/packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries.component.tsx b/packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/clear-queue-entries-dialog/clear-queue-entries.component.tsx
rename to packages/esm-service-queues-app/src/clear-queue-entries-dialog/clear-queue-entries.component.tsx
diff --git a/packages/esm-outpatient-app/src/config-schema.ts b/packages/esm-service-queues-app/src/config-schema.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/config-schema.ts
rename to packages/esm-service-queues-app/src/config-schema.ts
diff --git a/packages/esm-outpatient-app/src/constants.ts b/packages/esm-service-queues-app/src/constants.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/constants.ts
rename to packages/esm-service-queues-app/src/constants.ts
diff --git a/packages/esm-outpatient-app/src/createDashboardLink.tsx b/packages/esm-service-queues-app/src/createDashboardLink.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/createDashboardLink.tsx
rename to packages/esm-service-queues-app/src/createDashboardLink.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/current-visit-summary.component.tsx b/packages/esm-service-queues-app/src/current-visit/current-visit-summary.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/current-visit-summary.component.tsx
rename to packages/esm-service-queues-app/src/current-visit/current-visit-summary.component.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/current-visit-summary.test.tsx b/packages/esm-service-queues-app/src/current-visit/current-visit-summary.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/current-visit-summary.test.tsx
rename to packages/esm-service-queues-app/src/current-visit/current-visit-summary.test.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/current-visit.resource.ts b/packages/esm-service-queues-app/src/current-visit/current-visit.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/current-visit.resource.ts
rename to packages/esm-service-queues-app/src/current-visit/current-visit.resource.ts
diff --git a/packages/esm-outpatient-app/src/current-visit/current-visit.scss b/packages/esm-service-queues-app/src/current-visit/current-visit.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/current-visit.scss
rename to packages/esm-service-queues-app/src/current-visit/current-visit.scss
diff --git a/packages/esm-outpatient-app/src/current-visit/hooks/useVitalsConceptMetadata.tsx b/packages/esm-service-queues-app/src/current-visit/hooks/useVitalsConceptMetadata.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/hooks/useVitalsConceptMetadata.tsx
rename to packages/esm-service-queues-app/src/current-visit/hooks/useVitalsConceptMetadata.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/biometrics-config-schema.ts b/packages/esm-service-queues-app/src/current-visit/visit-details/biometrics-config-schema.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/biometrics-config-schema.ts
rename to packages/esm-service-queues-app/src/current-visit/visit-details/biometrics-config-schema.ts
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/current-visit-details.component.tsx b/packages/esm-service-queues-app/src/current-visit/visit-details/current-visit-details.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/current-visit-details.component.tsx
rename to packages/esm-service-queues-app/src/current-visit/visit-details/current-visit-details.component.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/triage-note.component.tsx b/packages/esm-service-queues-app/src/current-visit/visit-details/triage-note.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/triage-note.component.tsx
rename to packages/esm-service-queues-app/src/current-visit/visit-details/triage-note.component.tsx
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/triage-note.scss b/packages/esm-service-queues-app/src/current-visit/visit-details/triage-note.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/triage-note.scss
rename to packages/esm-service-queues-app/src/current-visit/visit-details/triage-note.scss
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/vitals-config-schema.ts b/packages/esm-service-queues-app/src/current-visit/visit-details/vitals-config-schema.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/vitals-config-schema.ts
rename to packages/esm-service-queues-app/src/current-visit/visit-details/vitals-config-schema.ts
diff --git a/packages/esm-outpatient-app/src/current-visit/visit-details/vitals.component.tsx b/packages/esm-service-queues-app/src/current-visit/visit-details/vitals.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/current-visit/visit-details/vitals.component.tsx
rename to packages/esm-service-queues-app/src/current-visit/visit-details/vitals.component.tsx
diff --git a/packages/esm-outpatient-app/src/dashboard.meta.ts b/packages/esm-service-queues-app/src/dashboard.meta.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/dashboard.meta.ts
rename to packages/esm-service-queues-app/src/dashboard.meta.ts
diff --git a/packages/esm-outpatient-app/src/declarations.d.ts b/packages/esm-service-queues-app/src/declarations.d.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/declarations.d.ts
rename to packages/esm-service-queues-app/src/declarations.d.ts
diff --git a/packages/esm-outpatient-app/src/helpers/functions.ts b/packages/esm-service-queues-app/src/helpers/functions.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/helpers/functions.ts
rename to packages/esm-service-queues-app/src/helpers/functions.ts
diff --git a/packages/esm-outpatient-app/src/helpers/helpers.ts b/packages/esm-service-queues-app/src/helpers/helpers.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/helpers/helpers.ts
rename to packages/esm-service-queues-app/src/helpers/helpers.ts
diff --git a/packages/esm-outpatient-app/src/helpers/time-helpers.ts b/packages/esm-service-queues-app/src/helpers/time-helpers.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/helpers/time-helpers.ts
rename to packages/esm-service-queues-app/src/helpers/time-helpers.ts
diff --git a/packages/esm-outpatient-app/src/home.component.tsx b/packages/esm-service-queues-app/src/home.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/home.component.tsx
rename to packages/esm-service-queues-app/src/home.component.tsx
diff --git a/packages/esm-outpatient-app/src/home.test.tsx b/packages/esm-service-queues-app/src/home.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/home.test.tsx
rename to packages/esm-service-queues-app/src/home.test.tsx
diff --git a/packages/esm-outpatient-app/src/index.ts b/packages/esm-service-queues-app/src/index.ts
similarity index 98%
rename from packages/esm-outpatient-app/src/index.ts
rename to packages/esm-service-queues-app/src/index.ts
index ef367cd4c..9d46146d0 100644
--- a/packages/esm-outpatient-app/src/index.ts
+++ b/packages/esm-service-queues-app/src/index.ts
@@ -5,7 +5,7 @@ import { dashboardMeta } from './dashboard.meta';
export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-const moduleName = '@openmrs/esm-outpatient-app';
+const moduleName = '@openmrs/esm-service-queues-app';
const options = {
featureName: 'outpatient',
diff --git a/packages/esm-outpatient-app/src/overlay.component.tsx b/packages/esm-service-queues-app/src/overlay.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/overlay.component.tsx
rename to packages/esm-service-queues-app/src/overlay.component.tsx
diff --git a/packages/esm-outpatient-app/src/overlay.scss b/packages/esm-service-queues-app/src/overlay.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/overlay.scss
rename to packages/esm-service-queues-app/src/overlay.scss
diff --git a/packages/esm-outpatient-app/src/overlay.test.tsx b/packages/esm-service-queues-app/src/overlay.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/overlay.test.tsx
rename to packages/esm-service-queues-app/src/overlay.test.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/encounter-list.component.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit-details/encounter-list.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit-details/encounter-list.component.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit-details/encounter-list.component.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/medications-list.component.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit-details/medications-list.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit-details/medications-list.component.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit-details/medications-list.component.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/notes-list.component.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit-details/notes-list.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit-details/notes-list.component.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit-details/notes-list.component.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit-details/past-visit-summary.component.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.scss b/packages/esm-service-queues-app/src/past-visit/past-visit-details/past-visit-summary.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit-details/past-visit-summary.scss
rename to packages/esm-service-queues-app/src/past-visit/past-visit-details/past-visit-summary.scss
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.component.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit.component.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit.component.tsx
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.resource.ts b/packages/esm-service-queues-app/src/past-visit/past-visit.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit.resource.ts
rename to packages/esm-service-queues-app/src/past-visit/past-visit.resource.ts
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.scss b/packages/esm-service-queues-app/src/past-visit/past-visit.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit.scss
rename to packages/esm-service-queues-app/src/past-visit/past-visit.scss
diff --git a/packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx b/packages/esm-service-queues-app/src/past-visit/past-visit.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/past-visit/past-visit.test.tsx
rename to packages/esm-service-queues-app/src/past-visit/past-visit.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/appointment-details.component.tsx b/packages/esm-service-queues-app/src/patient-info/appointment-details.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/appointment-details.component.tsx
rename to packages/esm-service-queues-app/src/patient-info/appointment-details.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/appointment-details.scss b/packages/esm-service-queues-app/src/patient-info/appointment-details.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/appointment-details.scss
rename to packages/esm-service-queues-app/src/patient-info/appointment-details.scss
diff --git a/packages/esm-outpatient-app/src/patient-info/appointment-details.test.tsx b/packages/esm-service-queues-app/src/patient-info/appointment-details.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/appointment-details.test.tsx
rename to packages/esm-service-queues-app/src/patient-info/appointment-details.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/appointments.resource.tsx b/packages/esm-service-queues-app/src/patient-info/appointments.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/appointments.resource.tsx
rename to packages/esm-service-queues-app/src/patient-info/appointments.resource.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/contact-details.component.tsx b/packages/esm-service-queues-app/src/patient-info/contact-details.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/contact-details.component.tsx
rename to packages/esm-service-queues-app/src/patient-info/contact-details.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/contact-details.scss b/packages/esm-service-queues-app/src/patient-info/contact-details.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/contact-details.scss
rename to packages/esm-service-queues-app/src/patient-info/contact-details.scss
diff --git a/packages/esm-outpatient-app/src/patient-info/contact-details.test.tsx b/packages/esm-service-queues-app/src/patient-info/contact-details.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/contact-details.test.tsx
rename to packages/esm-service-queues-app/src/patient-info/contact-details.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/hooks/usePatientAttributes.tsx b/packages/esm-service-queues-app/src/patient-info/hooks/usePatientAttributes.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/hooks/usePatientAttributes.tsx
rename to packages/esm-service-queues-app/src/patient-info/hooks/usePatientAttributes.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/patient-info.component.tsx b/packages/esm-service-queues-app/src/patient-info/patient-info.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/patient-info.component.tsx
rename to packages/esm-service-queues-app/src/patient-info/patient-info.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-info/patient-info.scss b/packages/esm-service-queues-app/src/patient-info/patient-info.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/patient-info.scss
rename to packages/esm-service-queues-app/src/patient-info/patient-info.scss
diff --git a/packages/esm-outpatient-app/src/patient-info/patient-info.test.tsx b/packages/esm-service-queues-app/src/patient-info/patient-info.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-info/patient-info.test.tsx
rename to packages/esm-service-queues-app/src/patient-info/patient-info.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-header/patient-queue-header.component.tsx b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
similarity index 97%
rename from packages/esm-outpatient-app/src/patient-queue-header/patient-queue-header.component.tsx
rename to packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
index 06576a3b3..93fa9931f 100644
--- a/packages/esm-outpatient-app/src/patient-queue-header/patient-queue-header.component.tsx
+++ b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
@@ -32,7 +32,7 @@ const PatientQueueHeader: React.FC<{ title?: string }> = ({ title }) => {
-
{t('serviceQueue', 'Service queue')}
+
{t('serviceQueues', 'Service queues')}
{title ?? t('home', 'Home')}
diff --git a/packages/esm-outpatient-app/src/patient-queue-header/patient-queue-header.scss b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-header/patient-queue-header.scss
rename to packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.scss
diff --git a/packages/esm-outpatient-app/src/patient-queue-header/patient-queue-illustration.component.tsx b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-illustration.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-header/patient-queue-illustration.component.tsx
rename to packages/esm-service-queues-app/src/patient-queue-header/patient-queue-illustration.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx b/packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.component.tsx
rename to packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.resource.tsx b/packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.resource.tsx
rename to packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.resource.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.scss b/packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.scss
rename to packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.scss
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.test.tsx b/packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/clinic-metrics.test.tsx
rename to packages/esm-service-queues-app/src/patient-queue-metrics/clinic-metrics.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/metrics-card.component.tsx b/packages/esm-service-queues-app/src/patient-queue-metrics/metrics-card.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/metrics-card.component.tsx
rename to packages/esm-service-queues-app/src/patient-queue-metrics/metrics-card.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/metrics-card.scss b/packages/esm-service-queues-app/src/patient-queue-metrics/metrics-card.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/metrics-card.scss
rename to packages/esm-service-queues-app/src/patient-queue-metrics/metrics-card.scss
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/metrics-header.component.tsx b/packages/esm-service-queues-app/src/patient-queue-metrics/metrics-header.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/metrics-header.component.tsx
rename to packages/esm-service-queues-app/src/patient-queue-metrics/metrics-header.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/metrics-header.scss b/packages/esm-service-queues-app/src/patient-queue-metrics/metrics-header.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/metrics-header.scss
rename to packages/esm-service-queues-app/src/patient-queue-metrics/metrics-header.scss
diff --git a/packages/esm-outpatient-app/src/patient-queue-metrics/queue-metrics.resource.ts b/packages/esm-service-queues-app/src/patient-queue-metrics/queue-metrics.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-queue-metrics/queue-metrics.resource.ts
rename to packages/esm-service-queues-app/src/patient-queue-metrics/queue-metrics.resource.ts
diff --git a/packages/esm-outpatient-app/src/patient-search/advanced-search.component.tsx b/packages/esm-service-queues-app/src/patient-search/advanced-search.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/advanced-search.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/advanced-search.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/advanced-search.scss b/packages/esm-service-queues-app/src/patient-search/advanced-search.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/advanced-search.scss
rename to packages/esm-service-queues-app/src/patient-search/advanced-search.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/advanced-search.test.tsx b/packages/esm-service-queues-app/src/patient-search/advanced-search.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/advanced-search.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/advanced-search.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/basic-search.component.tsx b/packages/esm-service-queues-app/src/patient-search/basic-search.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/basic-search.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/basic-search.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/basic-search.scss b/packages/esm-service-queues-app/src/patient-search/basic-search.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/basic-search.scss
rename to packages/esm-service-queues-app/src/patient-search/basic-search.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/basic-search.test.tsx b/packages/esm-service-queues-app/src/patient-search/basic-search.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/basic-search.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/basic-search.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/empty-data-illustration.component.tsx b/packages/esm-service-queues-app/src/patient-search/empty-data-illustration.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/empty-data-illustration.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/empty-data-illustration.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/useActivePatientEnrollment.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/useActivePatientEnrollment.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/useActivePatientEnrollment.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/useActivePatientEnrollment.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/useDefaultLocation.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/useDefaultLocation.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/useDefaultLocation.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/useDefaultLocation.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/usePatients.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/usePatients.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/usePatients.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/usePatients.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/useQueueLocations.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/useQueueLocations.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/useQueueLocations.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/useQueueLocations.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/useRecommendedVisitTypes.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/useRecommendedVisitTypes.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/useRecommendedVisitTypes.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/useRecommendedVisitTypes.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/hooks/useScheduledVisits.tsx b/packages/esm-service-queues-app/src/patient-search/hooks/useScheduledVisits.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/hooks/useScheduledVisits.tsx
rename to packages/esm-service-queues-app/src/patient-search/hooks/useScheduledVisits.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.component.tsx b/packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.scss b/packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.scss
rename to packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.test.tsx b/packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/patient-scheduled-visits.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/patient-scheduled-visits.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/patient-search.component.tsx b/packages/esm-service-queues-app/src/patient-search/patient-search.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/patient-search.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/patient-search.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/search-illustration.component.tsx b/packages/esm-service-queues-app/src/patient-search/search-illustration.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/search-illustration.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/search-illustration.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/search-results.component.tsx b/packages/esm-service-queues-app/src/patient-search/search-results.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/search-results.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/search-results.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/search-results.scss b/packages/esm-service-queues-app/src/patient-search/search-results.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/search-results.scss
rename to packages/esm-service-queues-app/src/patient-search/search-results.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/search-results.test.tsx b/packages/esm-service-queues-app/src/patient-search/search-results.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/search-results.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/search-results.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/search.resource.ts b/packages/esm-service-queues-app/src/patient-search/search.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/search.resource.ts
rename to packages/esm-service-queues-app/src/patient-search/search.resource.ts
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.component.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss b/packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss
rename to packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form-queue-fields/visit-form-queue-fields.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.component.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.scss b/packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.scss
rename to packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.scss
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.test.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/base-visit-type.test.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form/base-visit-type.test.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/queue.resource.ts b/packages/esm-service-queues-app/src/patient-search/visit-form/queue.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/queue.resource.ts
rename to packages/esm-service-queues-app/src/patient-search/visit-form/queue.resource.ts
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/recommended-visit-type.component.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form/recommended-visit-type.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/recommended-visit-type.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form/recommended-visit-type.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/visit-form.component.tsx b/packages/esm-service-queues-app/src/patient-search/visit-form/visit-form.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/visit-form.component.tsx
rename to packages/esm-service-queues-app/src/patient-search/visit-form/visit-form.component.tsx
diff --git a/packages/esm-outpatient-app/src/patient-search/visit-form/visit-form.scss b/packages/esm-service-queues-app/src/patient-search/visit-form/visit-form.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/patient-search/visit-form/visit-form.scss
rename to packages/esm-service-queues-app/src/patient-search/visit-form/visit-form.scss
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/actions-menu.component.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/actions-menu.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/actions-menu.component.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/actions-menu.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/actions-menu.scss b/packages/esm-service-queues-app/src/queue-entry-table-components/actions-menu.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/actions-menu.scss
rename to packages/esm-service-queues-app/src/queue-entry-table-components/actions-menu.scss
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/edit-entry.component.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/edit-entry.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/edit-entry.component.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/edit-entry.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/edit-entry.scss b/packages/esm-service-queues-app/src/queue-entry-table-components/edit-entry.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/edit-entry.scss
rename to packages/esm-service-queues-app/src/queue-entry-table-components/edit-entry.scss
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.component.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.component.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.resource.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.resource.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.resource.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.scss b/packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/open-chart.scss
rename to packages/esm-service-queues-app/src/queue-entry-table-components/open-chart.scss
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/status-icon.component.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/status-icon.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/status-icon.component.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/status-icon.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/transition-entry.component.tsx b/packages/esm-service-queues-app/src/queue-entry-table-components/transition-entry.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/transition-entry.component.tsx
rename to packages/esm-service-queues-app/src/queue-entry-table-components/transition-entry.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-entry-table-components/transition-entry.scss b/packages/esm-service-queues-app/src/queue-entry-table-components/transition-entry.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-entry-table-components/transition-entry.scss
rename to packages/esm-service-queues-app/src/queue-entry-table-components/transition-entry.scss
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.component.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.component.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.scss b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.scss
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.scss
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.test.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-base-table.test.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-base-table.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.component.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.component.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.scss b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.scss
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.scss
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.test.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist-filter.test.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist-filter.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.component.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.component.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.resource.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.resource.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.resource.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.test.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-linelist.test.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-linelist.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/queue-services-table.component.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/queue-services-table.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/queue-services-table.component.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/queue-services-table.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/scheduled-appointments-table.component.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/scheduled-appointments-table.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/scheduled-appointments-table.component.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/scheduled-appointments-table.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-patient-linelists/scheduled-appointments-table.test.tsx b/packages/esm-service-queues-app/src/queue-patient-linelists/scheduled-appointments-table.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-patient-linelists/scheduled-appointments-table.test.tsx
rename to packages/esm-service-queues-app/src/queue-patient-linelists/scheduled-appointments-table.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-rooms/queue-room-form.component.tsx b/packages/esm-service-queues-app/src/queue-rooms/queue-room-form.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-rooms/queue-room-form.component.tsx
rename to packages/esm-service-queues-app/src/queue-rooms/queue-room-form.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-rooms/queue-room-form.test.tsx b/packages/esm-service-queues-app/src/queue-rooms/queue-room-form.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-rooms/queue-room-form.test.tsx
rename to packages/esm-service-queues-app/src/queue-rooms/queue-room-form.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-rooms/queue-room.resource.tsx b/packages/esm-service-queues-app/src/queue-rooms/queue-room.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-rooms/queue-room.resource.tsx
rename to packages/esm-service-queues-app/src/queue-rooms/queue-room.resource.tsx
diff --git a/packages/esm-outpatient-app/src/queue-rooms/queue-room.scss b/packages/esm-service-queues-app/src/queue-rooms/queue-room.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-rooms/queue-room.scss
rename to packages/esm-service-queues-app/src/queue-rooms/queue-room.scss
diff --git a/packages/esm-outpatient-app/src/queue-screen/queue-screen.component.tsx b/packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-screen/queue-screen.component.tsx
rename to packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-screen/queue-screen.scss b/packages/esm-service-queues-app/src/queue-screen/queue-screen.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-screen/queue-screen.scss
rename to packages/esm-service-queues-app/src/queue-screen/queue-screen.scss
diff --git a/packages/esm-outpatient-app/src/queue-screen/queue-screen.test.tsx b/packages/esm-service-queues-app/src/queue-screen/queue-screen.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-screen/queue-screen.test.tsx
rename to packages/esm-service-queues-app/src/queue-screen/queue-screen.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-screen/useActiveTickets.tsx b/packages/esm-service-queues-app/src/queue-screen/useActiveTickets.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-screen/useActiveTickets.tsx
rename to packages/esm-service-queues-app/src/queue-screen/useActiveTickets.tsx
diff --git a/packages/esm-outpatient-app/src/queue-services/queue-service-form.component.tsx b/packages/esm-service-queues-app/src/queue-services/queue-service-form.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-services/queue-service-form.component.tsx
rename to packages/esm-service-queues-app/src/queue-services/queue-service-form.component.tsx
diff --git a/packages/esm-outpatient-app/src/queue-services/queue-service-form.test.tsx b/packages/esm-service-queues-app/src/queue-services/queue-service-form.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-services/queue-service-form.test.tsx
rename to packages/esm-service-queues-app/src/queue-services/queue-service-form.test.tsx
diff --git a/packages/esm-outpatient-app/src/queue-services/queue-service.resource.tsx b/packages/esm-service-queues-app/src/queue-services/queue-service.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-services/queue-service.resource.tsx
rename to packages/esm-service-queues-app/src/queue-services/queue-service.resource.tsx
diff --git a/packages/esm-outpatient-app/src/queue-services/queue-service.scss b/packages/esm-service-queues-app/src/queue-services/queue-service.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/queue-services/queue-service.scss
rename to packages/esm-service-queues-app/src/queue-services/queue-service.scss
diff --git a/packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.component.tsx b/packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.component.tsx
rename to packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.component.tsx
diff --git a/packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.resource.tsx b/packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.resource.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.resource.tsx
rename to packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.resource.tsx
diff --git a/packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.scss b/packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.scss
rename to packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.scss
diff --git a/packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx b/packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx
rename to packages/esm-service-queues-app/src/remove-queue-entry-dialog/remove-queue-entry.test.tsx
diff --git a/packages/esm-outpatient-app/src/root.component.tsx b/packages/esm-service-queues-app/src/root.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/root.component.tsx
rename to packages/esm-service-queues-app/src/root.component.tsx
diff --git a/packages/esm-outpatient-app/src/root.scss b/packages/esm-service-queues-app/src/root.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/root.scss
rename to packages/esm-service-queues-app/src/root.scss
diff --git a/packages/esm-outpatient-app/src/root.test.tsx b/packages/esm-service-queues-app/src/root.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/root.test.tsx
rename to packages/esm-service-queues-app/src/root.test.tsx
diff --git a/packages/esm-outpatient-app/src/routes.json b/packages/esm-service-queues-app/src/routes.json
similarity index 100%
rename from packages/esm-outpatient-app/src/routes.json
rename to packages/esm-service-queues-app/src/routes.json
diff --git a/packages/esm-outpatient-app/src/side-menu/nav-group/createNavGroup.tsx b/packages/esm-service-queues-app/src/side-menu/nav-group/createNavGroup.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/nav-group/createNavGroup.tsx
rename to packages/esm-service-queues-app/src/side-menu/nav-group/createNavGroup.tsx
diff --git a/packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.component.tsx b/packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.component.tsx
rename to packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.component.tsx
diff --git a/packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.test.tsx b/packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.test.tsx
rename to packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.test.tsx
diff --git a/packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.ts b/packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/nav-group/nav-group.ts
rename to packages/esm-service-queues-app/src/side-menu/nav-group/nav-group.ts
diff --git a/packages/esm-outpatient-app/src/side-menu/side-menu.component.tsx b/packages/esm-service-queues-app/src/side-menu/side-menu.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/side-menu.component.tsx
rename to packages/esm-service-queues-app/src/side-menu/side-menu.component.tsx
diff --git a/packages/esm-outpatient-app/src/side-menu/side-menu.test.tsx b/packages/esm-service-queues-app/src/side-menu/side-menu.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/side-menu/side-menu.test.tsx
rename to packages/esm-service-queues-app/src/side-menu/side-menu.test.tsx
diff --git a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx b/packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx
rename to packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.component.tsx
diff --git a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss b/packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
rename to packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.scss
diff --git a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx b/packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx
rename to packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry-dialog.test.tsx
diff --git a/packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry.resource.ts b/packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/transition-queue-entry/transition-queue-entry.resource.ts
rename to packages/esm-service-queues-app/src/transition-queue-entry/transition-queue-entry.resource.ts
diff --git a/packages/esm-outpatient-app/src/types/index.ts b/packages/esm-service-queues-app/src/types/index.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/types/index.ts
rename to packages/esm-service-queues-app/src/types/index.ts
diff --git a/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx b/packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx
similarity index 100%
rename from packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx
rename to packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.component.tsx
diff --git a/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts b/packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
similarity index 100%
rename from packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
rename to packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.resource.ts
diff --git a/packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.scss b/packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.scss
similarity index 100%
rename from packages/esm-outpatient-app/src/visits-missing-inqueue/visits-missing-inqueue.scss
rename to packages/esm-service-queues-app/src/visits-missing-inqueue/visits-missing-inqueue.scss
diff --git a/packages/esm-outpatient-app/translations/am.json b/packages/esm-service-queues-app/translations/am.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/am.json
rename to packages/esm-service-queues-app/translations/am.json
diff --git a/packages/esm-outpatient-app/translations/en.json b/packages/esm-service-queues-app/translations/en.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/en.json
rename to packages/esm-service-queues-app/translations/en.json
diff --git a/packages/esm-outpatient-app/translations/es.json b/packages/esm-service-queues-app/translations/es.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/es.json
rename to packages/esm-service-queues-app/translations/es.json
diff --git a/packages/esm-outpatient-app/translations/fr.json b/packages/esm-service-queues-app/translations/fr.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/fr.json
rename to packages/esm-service-queues-app/translations/fr.json
diff --git a/packages/esm-outpatient-app/translations/he.json b/packages/esm-service-queues-app/translations/he.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/he.json
rename to packages/esm-service-queues-app/translations/he.json
diff --git a/packages/esm-outpatient-app/translations/km.json b/packages/esm-service-queues-app/translations/km.json
similarity index 100%
rename from packages/esm-outpatient-app/translations/km.json
rename to packages/esm-service-queues-app/translations/km.json
diff --git a/packages/esm-outpatient-app/tsconfig.json b/packages/esm-service-queues-app/tsconfig.json
similarity index 100%
rename from packages/esm-outpatient-app/tsconfig.json
rename to packages/esm-service-queues-app/tsconfig.json
diff --git a/packages/esm-outpatient-app/webpack.config.js b/packages/esm-service-queues-app/webpack.config.js
similarity index 100%
rename from packages/esm-outpatient-app/webpack.config.js
rename to packages/esm-service-queues-app/webpack.config.js
diff --git a/yarn.lock b/yarn.lock
index 2df23a3df..4d84fcfc5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3743,21 +3743,6 @@ __metadata:
languageName: node
linkType: hard
-"@openmrs/esm-outpatient-app@workspace:packages/esm-outpatient-app":
- version: 0.0.0-use.local
- resolution: "@openmrs/esm-outpatient-app@workspace:packages/esm-outpatient-app"
- dependencies:
- "@carbon/react": ^1.12.0
- lodash-es: ^4.17.15
- webpack: ^5.74.0
- peerDependencies:
- "@openmrs/esm-framework": 5.x
- react: ^18.1.0
- react-i18next: 11.x
- react-router-dom: 6.x
- languageName: unknown
- linkType: soft
-
"@openmrs/esm-patient-list-app@workspace:packages/esm-patient-list-app":
version: 0.0.0-use.local
resolution: "@openmrs/esm-patient-list-app@workspace:packages/esm-patient-list-app"
@@ -3894,6 +3879,21 @@ __metadata:
languageName: node
linkType: hard
+"@openmrs/esm-service-queues-app@workspace:packages/esm-service-queues-app":
+ version: 0.0.0-use.local
+ resolution: "@openmrs/esm-service-queues-app@workspace:packages/esm-service-queues-app"
+ dependencies:
+ "@carbon/react": ^1.12.0
+ lodash-es: ^4.17.15
+ webpack: ^5.74.0
+ peerDependencies:
+ "@openmrs/esm-framework": 5.x
+ react: ^18.1.0
+ react-i18next: 11.x
+ react-router-dom: 6.x
+ languageName: unknown
+ linkType: soft
+
"@openmrs/esm-state@npm:^5.1.1-pre.922":
version: 5.1.1-pre.922
resolution: "@openmrs/esm-state@npm:5.1.1-pre.922"
From 12b02ef19722902825bada5a878b81dd66cf201b Mon Sep 17 00:00:00 2001
From: Samuel Male
Date: Thu, 21 Sep 2023 13:42:17 +0300
Subject: [PATCH 38/43] Move to OpenMRS' locale sensitive date-picker (#813)
Co-authored-by: Dennis Kigen
---
.../field/dob/dob.component.tsx | 31 +-
.../field/dob/dob.test.tsx | 13 +
.../patient-registration.test.tsx | 26 +-
.../demographics-section.test.tsx | 13 +
yarn.lock | 1267 +++++++++++++++--
5 files changed, 1233 insertions(+), 117 deletions(-)
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.component.tsx
index 73f66f14e..895919015 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.component.tsx
@@ -1,10 +1,10 @@
import React, { useContext } from 'react';
-import { ContentSwitcher, DatePicker, DatePickerInput, Layer, Switch, TextInput } from '@carbon/react';
+import { ContentSwitcher, Layer, Switch, TextInput } from '@carbon/react';
import { useTranslation } from 'react-i18next';
import { useField } from 'formik';
import { generateFormatting } from '../../date-util';
import { PatientRegistrationContext } from '../../patient-registration-context';
-import { useConfig } from '@openmrs/esm-framework';
+import { OpenmrsDatePicker, useConfig } from '@openmrs/esm-framework';
import { RegistrationConfig } from '../../../config-schema';
import styles from '../field.scss';
@@ -42,7 +42,7 @@ export const DobField: React.FC = () => {
setFieldValue('monthsEstimated', '');
};
- const onDateChange = ([birthdate]) => {
+ const onDateChange = (birthdate) => {
setFieldValue('birthdate', birthdate);
};
@@ -89,17 +89,20 @@ export const DobField: React.FC = () => {
{!dobUnknown ? (
-
-
-
+
) : (
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.test.tsx
index 3257ac52f..e8eebabd9 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.test.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/dob/dob.test.tsx
@@ -8,6 +8,7 @@ import { DobField } from './dob.component';
import { PatientRegistrationContext } from '../../patient-registration-context';
import { initialFormValues } from '../../patient-registration.component';
import { FormValues } from '../../patient-registration-types';
+import { OpenmrsDatePicker } from '@openmrs/esm-styleguide/src/public';
jest.mock('@openmrs/esm-framework', () => {
const originalModule = jest.requireActual('@openmrs/esm-framework');
@@ -21,6 +22,18 @@ jest.mock('@openmrs/esm-framework', () => {
},
},
})),
+ getLocale: jest.fn().mockReturnValue('en'),
+ OpenmrsDatePicker: (datePickerProps) => (
+
+ ),
};
});
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
index 32928085f..dc4020abc 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
@@ -11,6 +11,7 @@ import { PatientRegistration } from './patient-registration.component';
import { RegistrationConfig } from '../config-schema';
import { mockedAddressTemplate } from './field/address/tests/mocks';
import { mockPatient } from '../../../../tools/test-helpers';
+import { OpenmrsDatePicker } from '@openmrs/esm-styleguide/src/public';
const mockedUseConfig = useConfig as jest.Mock;
const mockedUsePatient = usePatient as jest.Mock;
@@ -18,15 +19,6 @@ const mockedSaveEncounter = saveEncounter as jest.Mock;
const mockedSavePatient = savePatient as jest.Mock;
const mockedShowToast = showToast as jest.Mock;
-jest.mock('@openmrs/esm-framework', () => {
- const originalModule = jest.requireActual('@openmrs/esm-framework');
-
- return {
- ...originalModule,
- validator: jest.fn(),
- };
-});
-
// Mock field.resource using the manual mock (in __mocks__)
jest.mock('./field/field.resource');
@@ -55,6 +47,18 @@ jest.mock('@openmrs/esm-framework', () => {
return {
...originalModule,
validator: jest.fn(),
+ getLocale: jest.fn().mockReturnValue('en'),
+ OpenmrsDatePicker: (datePickerProps) => (
+
+ ),
};
});
@@ -345,7 +349,7 @@ describe('patient registration component', () => {
jest.clearAllMocks();
});
- it('edits patient demographics', async () => {
+ fit('edits patient demographics', async () => {
const user = userEvent.setup();
mockedSavePatient.mockResolvedValue({});
@@ -379,7 +383,7 @@ describe('patient registration component', () => {
expect(givenNameInput.value).toBe('John');
expect(familyNameInput.value).toBe('Wilson');
expect(middleNameInput.value).toBeFalsy();
- expect(dateOfBirthInput.value).toBe('4/4/1972');
+ expect(dateOfBirthInput.value).toBe('04/04/1972');
expect(genderInput.value).toBe('Male');
// do some edits
diff --git a/packages/esm-patient-registration-app/src/patient-registration/section/demographics/demographics-section.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/section/demographics/demographics-section.test.tsx
index c292a6207..41da2af1f 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/section/demographics/demographics-section.test.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/section/demographics/demographics-section.test.tsx
@@ -5,6 +5,7 @@ import { initialFormValues } from '../../patient-registration.component';
import { DemographicsSection } from './demographics-section.component';
import { PatientRegistrationContext } from '../../patient-registration-context';
import { FormValues } from '../../patient-registration-types';
+import { OpenmrsDatePicker } from '@openmrs/esm-styleguide/src/public';
jest.mock('@openmrs/esm-framework', () => {
const originalModule = jest.requireActual('@openmrs/esm-framework');
@@ -15,6 +16,18 @@ jest.mock('@openmrs/esm-framework', () => {
useConfig: jest.fn().mockImplementation(() => ({
fieldConfigurations: { dateOfBirth: { useEstimatedDateOfBirth: { enabled: true, dayOfMonth: 0, month: 0 } } },
})),
+ getLocale: jest.fn().mockReturnValue('en'),
+ OpenmrsDatePicker: (datePickerProps) => (
+
+ ),
};
});
diff --git a/yarn.lock b/yarn.lock
index 4d84fcfc5..18241c40f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -12,6 +12,26 @@ __metadata:
languageName: node
linkType: hard
+"@adobe/react-spectrum-ui@npm:1.2.0":
+ version: 1.2.0
+ resolution: "@adobe/react-spectrum-ui@npm:1.2.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 18ad87c76e2019f22fa9f18df22fc06cb99e27d46fc82ed6974a4cab1d04c6a223ded51fae95d0890069cb7c9a10add468e5e9c62b9b33ac9b5ab9de25ff12e5
+ languageName: node
+ linkType: hard
+
+"@adobe/react-spectrum-workflow@npm:2.3.4":
+ version: 2.3.4
+ resolution: "@adobe/react-spectrum-workflow@npm:2.3.4"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 1c008fec02f19160a6a0589f9647d29b9652322b087ba521ba7e890747a23c70268c2e58799977823a65a8c44d832162743e0ecb3b082614bc70ba59a6eac2fc
+ languageName: node
+ linkType: hard
+
"@ampproject/remapping@npm:^2.1.0":
version: 2.2.0
resolution: "@ampproject/remapping@npm:2.2.0"
@@ -1283,6 +1303,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.8.7":
+ version: 7.22.15
+ resolution: "@babel/runtime@npm:7.22.15"
+ dependencies:
+ regenerator-runtime: ^0.14.0
+ checksum: 793296df1e41599a935a3d77ec01eb6088410d3fd4dbe4e92f06c6b7bb2f8355024e6d78621a3a35f44e0e23b0b59107f23d585384df4f3123256a1e1492040e
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3":
version: 7.18.10
resolution: "@babel/template@npm:7.18.10"
@@ -1601,6 +1630,55 @@ __metadata:
languageName: node
linkType: hard
+"@formatjs/ecma402-abstract@npm:1.17.2":
+ version: 1.17.2
+ resolution: "@formatjs/ecma402-abstract@npm:1.17.2"
+ dependencies:
+ "@formatjs/intl-localematcher": 0.4.2
+ tslib: ^2.4.0
+ checksum: 026382b1fb295cef4387b2f2a34dace107b12fb7607793093b26595b0d639a30e5f4539665730897eb77eefabee2bb35c156896c63925b0ec03b746751e3fb00
+ languageName: node
+ linkType: hard
+
+"@formatjs/fast-memoize@npm:2.2.0":
+ version: 2.2.0
+ resolution: "@formatjs/fast-memoize@npm:2.2.0"
+ dependencies:
+ tslib: ^2.4.0
+ checksum: 8697fe72a7ece252d600a7d08105f2a2f758e2dd96f54ac0a4c508b1205a559fc08835635e1f8e5ca9dcc3ee61ce1fca4a0e7047b402f29fc96051e293a280ff
+ languageName: node
+ linkType: hard
+
+"@formatjs/icu-messageformat-parser@npm:2.6.2":
+ version: 2.6.2
+ resolution: "@formatjs/icu-messageformat-parser@npm:2.6.2"
+ dependencies:
+ "@formatjs/ecma402-abstract": 1.17.2
+ "@formatjs/icu-skeleton-parser": 1.6.2
+ tslib: ^2.4.0
+ checksum: c339a712497deaa14e84610afb6c09377a5641b18fb0ae3d42999354cf2b557c84d7c7fead0d06d38a04f8e63e8002ae51c820a8a3e98b82805e84e7878e9d90
+ languageName: node
+ linkType: hard
+
+"@formatjs/icu-skeleton-parser@npm:1.6.2":
+ version: 1.6.2
+ resolution: "@formatjs/icu-skeleton-parser@npm:1.6.2"
+ dependencies:
+ "@formatjs/ecma402-abstract": 1.17.2
+ tslib: ^2.4.0
+ checksum: f51658d0b086579a2173b91beb692822f08db1180c81fa41e62bef4236a0de98f9d6e46087d77c5e46fa4286f77b4b52a2467f3d8b81a4cf8dd817edb138d68b
+ languageName: node
+ linkType: hard
+
+"@formatjs/intl-localematcher@npm:0.4.2":
+ version: 0.4.2
+ resolution: "@formatjs/intl-localematcher@npm:0.4.2"
+ dependencies:
+ tslib: ^2.4.0
+ checksum: df579d8c453a11eed1ec55604f8dda121d728fc5109ed885892347a126089caef95a0edf71f1f6db3134bb9e73787062995baf7746a2577e8ca2980dcd6590cb
+ languageName: node
+ linkType: hard
+
"@gar/promisify@npm:^1.1.3":
version: 1.1.3
resolution: "@gar/promisify@npm:1.1.3"
@@ -1633,6 +1711,43 @@ __metadata:
languageName: node
linkType: hard
+"@internationalized/date@npm:^3.2.0, @internationalized/date@npm:^3.5.0":
+ version: 3.5.0
+ resolution: "@internationalized/date@npm:3.5.0"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ checksum: 621298a1686bad64212b1f2a497492dcc9d657a3789ea62a1a5ee1cb37719fa7a54944d4bb318bf22f709eccfcb6627e6d1aad9825aaa67c2150973ccca8c15d
+ languageName: node
+ linkType: hard
+
+"@internationalized/message@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "@internationalized/message@npm:3.1.1"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ intl-messageformat: ^10.1.0
+ checksum: c8658847e80a2dd6f5a253bdc20ce45d304ffa2147248e6422d72714ac501edd0d4cce09e4baf7753cd393e4df7014df747425ff9658728cd1f892d71c3d591b
+ languageName: node
+ linkType: hard
+
+"@internationalized/number@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "@internationalized/number@npm:3.2.1"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ checksum: 5b716de97a491c8e276679a47a131d9fc94484f27ae7d2dba2d9e312c607fbdd2deabe0702a9faa79ad1d84ea0676061fd051c3565946f520acfdccc73dd1956
+ languageName: node
+ linkType: hard
+
+"@internationalized/string@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "@internationalized/string@npm:3.1.1"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ checksum: 686b4d443dbf6794b5f32e0c3a0ee9333a64bfe2a01aec705fb71f5721f5c9e8aa25b380bdae85e21be0dc72103843642363efcaed437ebad3e7169e478b91ae
+ languageName: node
+ linkType: hard
+
"@istanbuljs/load-nyc-config@npm:^1.0.0":
version: 1.1.0
resolution: "@istanbuljs/load-nyc-config@npm:1.1.0"
@@ -3551,9 +3666,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-api@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-api@npm:5.1.1-pre.922"
+"@openmrs/esm-api@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-api@npm:5.1.1-pre.1025"
dependencies:
"@types/fhir": 0.0.31
lodash-es: ^4.17.21
@@ -3561,17 +3676,17 @@ __metadata:
"@openmrs/esm-config": 5.x
"@openmrs/esm-error-handling": 5.x
"@openmrs/esm-offline": 5.x
- checksum: 0c6924f74e1eebbbf3f632554c78078f7684c3f078e6499ab15c8f01bdfde20db48548a2712ad4bf4298cfb1ee93f019dfb75956e1e8c096c82528b6c5360c53
+ checksum: 8d5749fbe5fd7de66b0e006f5aaf9251307ac99b1e4406577c9865ae028f48a66e0e20d874bec8a0ba394c2bfc980a05535ce70c3908880f73f9fad37762fc88
languageName: node
linkType: hard
-"@openmrs/esm-app-shell@npm:5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-app-shell@npm:5.1.1-pre.922"
+"@openmrs/esm-app-shell@npm:5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-app-shell@npm:5.1.1-pre.1025"
dependencies:
"@carbon/react": ^1.12.0
- "@openmrs/esm-framework": 5.1.1-pre.922
- "@openmrs/esm-styleguide": 5.1.1-pre.922
+ "@openmrs/esm-framework": 5.1.1-pre.1025
+ "@openmrs/esm-styleguide": 5.1.1-pre.1025
dayjs: ^1.10.4
dexie: ^3.0.3
html-webpack-plugin: ^5.5.0
@@ -3595,7 +3710,7 @@ __metadata:
workbox-strategies: ^6.1.5
workbox-webpack-plugin: ^6.1.5
workbox-window: ^6.1.5
- checksum: 43615699b28524ce7e72fd7ee613e1a54d08cacd27452ebb4947d270ace10af9ce712cadc2b361c6b779ae9f7fbd3a305ea59ffdec443ad6f503bece26f78f82
+ checksum: 1d9546623402ef84292fd4d0f37603136b4e28bc3523fe8ed1a7efeb987d809bb10719b4463c5dc671d9cebff8388040a48da0779b3c7a5d084524629032ae31
languageName: node
linkType: hard
@@ -3616,51 +3731,51 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-breadcrumbs@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-breadcrumbs@npm:5.1.1-pre.922"
+"@openmrs/esm-breadcrumbs@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-breadcrumbs@npm:5.1.1-pre.1025"
dependencies:
path-to-regexp: 6.1.0
peerDependencies:
"@openmrs/esm-state": 5.x
- checksum: a71a76bb8900e0f38849ed5fb390f4ced805e44bf17263060510e87d74e9225fcc3a11fc385e83801fa7d9eb69c0bf0aaa90d9bf6c377b28275c492e052a1ff5
+ checksum: ebf1e957548c6ed4ba202fc5e69cb0b5c58e045f48bb99427f9b4b67354ea2c6e2e109288a869f96326b2aac52cd611b1cc7a20e0fe209404382fddadb05c46f
languageName: node
linkType: hard
-"@openmrs/esm-config@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-config@npm:5.1.1-pre.922"
+"@openmrs/esm-config@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-config@npm:5.1.1-pre.1025"
dependencies:
ramda: ^0.26.1
peerDependencies:
"@openmrs/esm-globals": 5.x
"@openmrs/esm-state": 5.x
single-spa: 5.x
- checksum: 89f2a61c5d10cef335330c73563651acd1d033d878c709d173c139cd84f2a274bdc1876077d136a262917053d669fe722f2c9656aa6471dec9e4a33d955e1912
+ checksum: 0ea0eef351e41f9e242fd60f19b36a1eae903e1208fa68144f717e67c83169abc966c77d8d01aacfd598839e014bb13d473c7e1e01b80dd05e123961d60928c7
languageName: node
linkType: hard
-"@openmrs/esm-dynamic-loading@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-dynamic-loading@npm:5.1.1-pre.922"
+"@openmrs/esm-dynamic-loading@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-dynamic-loading@npm:5.1.1-pre.1025"
peerDependencies:
"@openmrs/esm-globals": 5.x
- checksum: a6a89dc8d2c8a27695985587dd2b93e7585add3a3d04dc07e2646b4afa974fa606048d4e39c503ba95d19f4e5fe5eb4366e70d0a457203d1394db6901755a023
+ checksum: 812cb090dd9636d7749879efaba0cd79b55641e5b1246618776deb7c72dddc9ce8d5955817abe11ba33454d1c03bdc5cdad18d8dbea5869b2580313a8076c687
languageName: node
linkType: hard
-"@openmrs/esm-error-handling@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-error-handling@npm:5.1.1-pre.922"
+"@openmrs/esm-error-handling@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-error-handling@npm:5.1.1-pre.1025"
peerDependencies:
"@openmrs/esm-globals": 5.x
- checksum: 5dd80bc2ae104deb487c25df512f0af93f1ea81b71d03c1f18c1955bfa458bad81cf27bb4f1ca72ccf51400eb49739839b45ae74a01b247adeba025ea967024b
+ checksum: 0ef4c5bf2248574b4d14eee15b483f4c09f8d577d602f1e12186cd716ad742cd10c18f469120498de841c485df27f522789c7100bcfbcddc04d4c3f02b954fac
languageName: node
linkType: hard
-"@openmrs/esm-extensions@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-extensions@npm:5.1.1-pre.922"
+"@openmrs/esm-extensions@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-extensions@npm:5.1.1-pre.1025"
dependencies:
lodash-es: ^4.17.21
peerDependencies:
@@ -3669,40 +3784,40 @@ __metadata:
"@openmrs/esm-feature-flags": 5.x
"@openmrs/esm-state": 5.x
single-spa: 5.x
- checksum: 8eb9b929d9aafe9e1919635d14d18ca8535343405f8c18fdfaf84ffbcd121b441bc69498dbdd087469db0ea10f83dd7821340b61a22b262085568a3c73d80b74
+ checksum: bf27c27a340ff17f76a8205cfec3e71192cb8560d098e353bc00f2db194c573ad59e99fbcc71fe299325db523bc5431e53cedfa9e2e9b0ccd143c743b228768b
languageName: node
linkType: hard
-"@openmrs/esm-feature-flags@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-feature-flags@npm:5.1.1-pre.922"
+"@openmrs/esm-feature-flags@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-feature-flags@npm:5.1.1-pre.1025"
dependencies:
ramda: ^0.26.1
peerDependencies:
"@openmrs/esm-globals": 5.x
"@openmrs/esm-state": 5.x
single-spa: 5.x
- checksum: 57b942dda4e3fdbd22874a00b4f24915ec6c2cb9c60e2194c62a011b564e2910cd63ba9402399a717021472749483f84cd71a96b2dd7d1f69832ddebd9f80f36
- languageName: node
- linkType: hard
-
-"@openmrs/esm-framework@npm:5.1.1-pre.922, @openmrs/esm-framework@npm:next":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-framework@npm:5.1.1-pre.922"
- dependencies:
- "@openmrs/esm-api": ^5.1.1-pre.922
- "@openmrs/esm-breadcrumbs": ^5.1.1-pre.922
- "@openmrs/esm-config": ^5.1.1-pre.922
- "@openmrs/esm-dynamic-loading": ^5.1.1-pre.922
- "@openmrs/esm-error-handling": ^5.1.1-pre.922
- "@openmrs/esm-extensions": ^5.1.1-pre.922
- "@openmrs/esm-feature-flags": ^5.1.1-pre.922
- "@openmrs/esm-globals": ^5.1.1-pre.922
- "@openmrs/esm-offline": ^5.1.1-pre.922
- "@openmrs/esm-react-utils": ^5.1.1-pre.922
- "@openmrs/esm-state": ^5.1.1-pre.922
- "@openmrs/esm-styleguide": ^5.1.1-pre.922
- "@openmrs/esm-utils": ^5.1.1-pre.922
+ checksum: 3c3f4fa6cf1501abc7227e1abd57021ac0bd1442281842d2d6a2f267baae31833c1cf2cc3231e237e3bb89dd9e0d910e6076586f654ed10843dc96faf8404b42
+ languageName: node
+ linkType: hard
+
+"@openmrs/esm-framework@npm:5.1.1-pre.1025, @openmrs/esm-framework@npm:next":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-framework@npm:5.1.1-pre.1025"
+ dependencies:
+ "@openmrs/esm-api": ^5.1.1-pre.1025
+ "@openmrs/esm-breadcrumbs": ^5.1.1-pre.1025
+ "@openmrs/esm-config": ^5.1.1-pre.1025
+ "@openmrs/esm-dynamic-loading": ^5.1.1-pre.1025
+ "@openmrs/esm-error-handling": ^5.1.1-pre.1025
+ "@openmrs/esm-extensions": ^5.1.1-pre.1025
+ "@openmrs/esm-feature-flags": ^5.1.1-pre.1025
+ "@openmrs/esm-globals": ^5.1.1-pre.1025
+ "@openmrs/esm-offline": ^5.1.1-pre.1025
+ "@openmrs/esm-react-utils": ^5.1.1-pre.1025
+ "@openmrs/esm-state": ^5.1.1-pre.1025
+ "@openmrs/esm-styleguide": ^5.1.1-pre.1025
+ "@openmrs/esm-utils": ^5.1.1-pre.1025
dayjs: ^1.10.7
peerDependencies:
dayjs: 1.x
@@ -3712,22 +3827,22 @@ __metadata:
react-i18next: 11.x
rxjs: 6.x
single-spa: 5.x
- checksum: 2140dc6d36e82bb3faf6b8adae6c5d563b595670e11e70a19fbfc2548bc3bf65bff6d4a0d6ab2f635ef3fd1368c6f50184068eef53e1336b4d53def06b2c9cc3
+ checksum: 5638354a653755b342ce906b0c013f6572dbbe67130eec5f485b926d6d48226328a642f35d7cae79a028c0589729c2b6358df183b95684f722553bd19852f2a4
languageName: node
linkType: hard
-"@openmrs/esm-globals@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-globals@npm:5.1.1-pre.922"
+"@openmrs/esm-globals@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-globals@npm:5.1.1-pre.1025"
peerDependencies:
single-spa: 5.x
- checksum: 4f86ae423f3e6e1a0cdab712e0f46942c638d395681ebacda8c72b4305439c85d38fecdea4d2d681c49429a4bae9567aa1e528114b2166acc31e04f54ccf5a22
+ checksum: 475c421296daf4080de80b2d36477c1ef1fb79c0606c49bdd1f14ac0be0aea7c38649c04438ecb90b2bce8d185474b5a8f42d51abbd2e2d8318eb3003d29469f
languageName: node
linkType: hard
-"@openmrs/esm-offline@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-offline@npm:5.1.1-pre.922"
+"@openmrs/esm-offline@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-offline@npm:5.1.1-pre.1025"
dependencies:
dexie: ^3.0.3
lodash-es: ^4.17.21
@@ -3739,7 +3854,7 @@ __metadata:
"@openmrs/esm-state": 5.x
"@openmrs/esm-styleguide": 5.x
rxjs: 6.x
- checksum: 55650559828e64eebe84b67de1218b822b64f0a119faf9414fd5017a0a2361772070f33ebf98c914a24915c1c886d12a941602a53acb2238010042fa85c5cb62
+ checksum: de5b75ff5952139137031092ac06eae1e3ec1ebb43301df4507ccd3c4257c5d69daacd7e463dde00a5d1156bd49e1484e42c4f7131c1573f65de46e357a95088
languageName: node
linkType: hard
@@ -3857,9 +3972,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-react-utils@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-react-utils@npm:5.1.1-pre.922"
+"@openmrs/esm-react-utils@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-react-utils@npm:5.1.1-pre.1025"
dependencies:
lodash-es: ^4.17.21
single-spa-react: ~5.0.0
@@ -3875,7 +3990,7 @@ __metadata:
react: 18.x
react-dom: 18.x
react-i18next: 11.x
- checksum: 5031672d9d4431f873ac3cf19709ee5fca2a195e3c1581ccae58927ff5d6649a852b568ca408b777d631b5868b3d54f630a785c952d0298451ddef7f78032f5a
+ checksum: ce1d9958a3b00b08ff2c8b7a38f11351b0182e3a6e0eb4537529f17116980698ec25b2c8eace42f69147a42d24a85d08ab192f46b761f5426ed4c0233097b815
languageName: node
linkType: hard
@@ -3894,48 +4009,56 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-state@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-state@npm:5.1.1-pre.922"
+"@openmrs/esm-state@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-state@npm:5.1.1-pre.1025"
dependencies:
zustand: ^4.3.6
- checksum: bea9adbecfd8a6b1b7296cce21612ebf70d0423dceee040be15da82106c10b93f9218e7c8886e72be1b13b2c8f6730e16c255d63bb3a05e417b620648b3ec6b1
+ peerDependencies:
+ "@openmrs/esm-globals": 5.x
+ checksum: dc1dd77780491f31fb877ed28aa41a4ffad416b95d6c9827e849f654e332fdcd457366abcddcd155263bbd3aaf1e6706bb4c7cc0c27d3d5d427c27d759f74a9a
languageName: node
linkType: hard
-"@openmrs/esm-styleguide@npm:5.1.1-pre.922, @openmrs/esm-styleguide@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-styleguide@npm:5.1.1-pre.922"
+"@openmrs/esm-styleguide@npm:5.1.1-pre.1025, @openmrs/esm-styleguide@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-styleguide@npm:5.1.1-pre.1025"
dependencies:
"@carbon/charts": ^1.6.3
"@carbon/react": ^1.12.0
+ "@internationalized/date": ^3.2.0
+ "@react-spectrum/datepicker": ^3.5.0
+ "@react-spectrum/provider": ^3.7.1
+ "@react-spectrum/theme-default": ^3.5.1
d3: ^7.8.0
lodash-es: ^4.17.21
peerDependencies:
- "@openmrs/esm-framework": 5.x
+ "@openmrs/esm-extensions": 5.x
+ "@openmrs/esm-react-utils": 5.x
+ "@openmrs/esm-state": 5.x
react: 18.x
react-dom: 18.x
rxjs: 6.x
- checksum: bc83f1d28bcb8aa62f79e0e1425ec4b2c976e89da20938049fa340a99183d645e5719d647cc8e6e58de7a6a10f5eb98b9d89ec2c73caa41db5e97ac5e1a90d31
+ checksum: d7b95a8cd6907c038fe633b9cf22423fc018233bfcddc6e4721a65d3492c8cde35ac996f9ab142d6dfcf5e20149cebb20c2558a1510c0c59bb2b91329fbee7de
languageName: node
linkType: hard
-"@openmrs/esm-utils@npm:^5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/esm-utils@npm:5.1.1-pre.922"
+"@openmrs/esm-utils@npm:^5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/esm-utils@npm:5.1.1-pre.1025"
dependencies:
semver: 7.3.2
peerDependencies:
dayjs: 1.x
i18next: 19.x
rxjs: 6.x
- checksum: f1077c5db3299b27b4f79c78ebe9fe8417a8f367b56fa8a8432c5cec0ddba3cbbfc4729ad490c422490bfdb1160cbe05e6c6240a846922e92111878ee694d814
+ checksum: b5b3fcec2143b3c64c5a75772355bb5885da641f4b779cb46ab320775e25352325634838060f705b18bdecba73c51d85c771c3f5ed1bc16e05f40b82b5e7d541
languageName: node
linkType: hard
-"@openmrs/webpack-config@npm:5.1.1-pre.922":
- version: 5.1.1-pre.922
- resolution: "@openmrs/webpack-config@npm:5.1.1-pre.922"
+"@openmrs/webpack-config@npm:5.1.1-pre.1025":
+ version: 5.1.1-pre.1025
+ resolution: "@openmrs/webpack-config@npm:5.1.1-pre.1025"
dependencies:
"@swc/core": ^1.3.58
babel-preset-minify: ^0.5.1
@@ -3944,7 +4067,7 @@ __metadata:
css-loader: ^5.2.4
fork-ts-checker-webpack-plugin: ^6.5.0
lodash: ^4.17.21
- sass: ^1.44.0
+ sass: ">=1.45.0 <1.65.0"
sass-loader: ^12.3.0
style-loader: ^3.3.1
swc-loader: ^0.2.3
@@ -3953,7 +4076,7 @@ __metadata:
webpack-stats-plugin: ^1.0.3
peerDependencies:
webpack: 5.x
- checksum: 9b0f87a9a76d0df15e80186e95b68c462b26b8145f6c324b9bd2e7af7449b6c69569c3e3fd6a046704917fec1471aff41115c0097bb83d2401b71e36b13ba80b
+ checksum: e8a240172d0111f6580fc8ff58f7337d9b397828c3b442786c55b1622ac2bf6afd183d1de1df6bb108a2a4e0850ea44ce1c8dcd3535837b407a7e9f5a71e77a4
languageName: node
linkType: hard
@@ -4007,6 +4130,858 @@ __metadata:
languageName: node
linkType: hard
+"@react-aria/button@npm:^3.8.2":
+ version: 3.8.2
+ resolution: "@react-aria/button@npm:3.8.2"
+ dependencies:
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-stately/toggle": ^3.6.2
+ "@react-types/button": ^3.8.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 69fe712649c1e52a27d1d470a2d620825a19dc813102a8f944f7eed10855569a4253128a713ffed93dd86f6b9f6b5866f9abcc4409c2935e5ac2ce5363782a42
+ languageName: node
+ linkType: hard
+
+"@react-aria/calendar@npm:^3.5.0":
+ version: 3.5.0
+ resolution: "@react-aria/calendar@npm:3.5.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/live-announcer": ^3.3.1
+ "@react-aria/utils": ^3.20.0
+ "@react-stately/calendar": ^3.4.0
+ "@react-types/button": ^3.8.0
+ "@react-types/calendar": ^3.4.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 3bcbbebc151d41c9791d394efe7e21ba00f5a130bbb4b03999096b3f56ab023a01fd1bf6b766f60e86c9a28fc47ad1256df8c4717ad427881714442513dd86d0
+ languageName: node
+ linkType: hard
+
+"@react-aria/datepicker@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "@react-aria/datepicker@npm:3.7.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@internationalized/number": ^3.2.1
+ "@internationalized/string": ^3.1.1
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/label": ^3.7.0
+ "@react-aria/spinbutton": ^3.5.2
+ "@react-aria/utils": ^3.20.0
+ "@react-stately/datepicker": ^3.7.0
+ "@react-types/button": ^3.8.0
+ "@react-types/calendar": ^3.4.0
+ "@react-types/datepicker": ^3.6.0
+ "@react-types/dialog": ^3.5.5
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: a0e179deee3d3fbab4d00b9a9e9dcb1f358f588473cf0ea855f071e6e7168773e8a2e674c54f4ad4615878175718ad43eeb391a9be5fd6ba2a1c8eafeb9d2ad5
+ languageName: node
+ linkType: hard
+
+"@react-aria/dialog@npm:^3.5.5":
+ version: 3.5.5
+ resolution: "@react-aria/dialog@npm:3.5.5"
+ dependencies:
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/overlays": ^3.17.0
+ "@react-aria/utils": ^3.20.0
+ "@react-stately/overlays": ^3.6.2
+ "@react-types/dialog": ^3.5.5
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 3a21e2ff8db06de08971a026a23dc804bafcb583d606526c3afa2e644540464e672aa397c6da4ac383d2941dde4b63c31c7a662eeabd8b57a354a2c853fb13c9
+ languageName: node
+ linkType: hard
+
+"@react-aria/focus@npm:^3.14.1":
+ version: 3.14.1
+ resolution: "@react-aria/focus@npm:3.14.1"
+ dependencies:
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: c2bcacac922ef3adb1f4f81a15ee120362cbd4e733c8370eb73b43472cf26ac30c9d5c4981f22aee5bdf0e5818459fff2d735b6500ef3b2bbe378df57306f92f
+ languageName: node
+ linkType: hard
+
+"@react-aria/i18n@npm:^3.8.2":
+ version: 3.8.2
+ resolution: "@react-aria/i18n@npm:3.8.2"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@internationalized/message": ^3.1.1
+ "@internationalized/number": ^3.2.1
+ "@internationalized/string": ^3.1.1
+ "@react-aria/ssr": ^3.8.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 36074f83392e9de5e696d9a1a2fe2e033c7a176f24c4d2fd40fe602be239f4bb5ef8488670bf496b9e0a07f43efb938d7655795b68092a0cb465685d23344246
+ languageName: node
+ linkType: hard
+
+"@react-aria/interactions@npm:^3.18.0":
+ version: 3.18.0
+ resolution: "@react-aria/interactions@npm:3.18.0"
+ dependencies:
+ "@react-aria/ssr": ^3.8.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 820a33ed7b6994387c4e0dcd818f6a9c8be0531a9c5231fc5ca8be5c2f1ad334e3060c67c896f317b5246f4cdf60fa8ba007c820d37813fb3a254c5e4704989c
+ languageName: node
+ linkType: hard
+
+"@react-aria/label@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "@react-aria/label@npm:3.7.0"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-types/label": ^3.8.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: ba841ed5e9f1858394eda0a8f6d532217383607373ae1d6cc9073a3f46b5859b7419f0e77adf6edee7ba14dfc9f6915cecead5445bde81ef05999f711a129594
+ languageName: node
+ linkType: hard
+
+"@react-aria/live-announcer@npm:^3.3.1":
+ version: 3.3.1
+ resolution: "@react-aria/live-announcer@npm:3.3.1"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ checksum: df4e161247c87038eabf3f623a3ce18ef486f6c8a3e136b9c91bf3585312f48759cbd5d8ba6d0236231ee3070343798b9865a15a07afd9dabebafc0249a1fda7
+ languageName: node
+ linkType: hard
+
+"@react-aria/overlays@npm:^3.17.0":
+ version: 3.17.0
+ resolution: "@react-aria/overlays@npm:3.17.0"
+ dependencies:
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/ssr": ^3.8.0
+ "@react-aria/utils": ^3.20.0
+ "@react-aria/visually-hidden": ^3.8.4
+ "@react-stately/overlays": ^3.6.2
+ "@react-types/button": ^3.8.0
+ "@react-types/overlays": ^3.8.2
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 720f535ae8cc1eaccf0032ad430b86166582615b88fe89c9c71f7bb4accd60921f0da50d88a74b01034334a279ec38006789f8dca581b0965ac31e796ffa6dc3
+ languageName: node
+ linkType: hard
+
+"@react-aria/progress@npm:^3.4.5":
+ version: 3.4.5
+ resolution: "@react-aria/progress@npm:3.4.5"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/label": ^3.7.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/progress": ^3.4.3
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: c74a920d6f46b61b59e791c19cbc01eb4da1d4f0ea4b77c59d2dcbb550e34a9876e57ea47d78e419ff690b029158318d2b69607c048ec7ae285086fbde82719f
+ languageName: node
+ linkType: hard
+
+"@react-aria/separator@npm:^3.3.5":
+ version: 3.3.5
+ resolution: "@react-aria/separator@npm:3.3.5"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: f2a3064566dca0bfb045c74372891c786948cd562a3c9ff9cb1891159c6d097a287cbbb48cfaf8805b940eac6dc66ff52dff7fa4340174baff5ef1997eed3146
+ languageName: node
+ linkType: hard
+
+"@react-aria/spinbutton@npm:^3.5.2":
+ version: 3.5.2
+ resolution: "@react-aria/spinbutton@npm:3.5.2"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/live-announcer": ^3.3.1
+ "@react-aria/utils": ^3.20.0
+ "@react-types/button": ^3.8.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: f293b0bd1d9a19b46d7dc8672170f7dc5cc197259eb648b252092a14373d958afae32cd1f89cc99923020615c35ec781dea2509e6f785028a6dc903f95c0a1cb
+ languageName: node
+ linkType: hard
+
+"@react-aria/ssr@npm:^3.8.0":
+ version: 3.8.0
+ resolution: "@react-aria/ssr@npm:3.8.0"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: bdcd16da76d9af75dab0c44907963d9367562bc3261c6871a8ee15754e92f929dcd886e5553e08d6193ddb174d78382c10fb7b9b8c7b0cf470bc18c2ed34b106
+ languageName: node
+ linkType: hard
+
+"@react-aria/utils@npm:^3.20.0":
+ version: 3.20.0
+ resolution: "@react-aria/utils@npm:3.20.0"
+ dependencies:
+ "@react-aria/ssr": ^3.8.0
+ "@react-stately/utils": ^3.7.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: d1bcbca427a43f95ac9d6e0e4d458b5e6fff0ff850ffc8c8fa1074da490a42d637602d9344d90cf1028eff3fdc3d86dd3fc9f3b61f9b556943a3df0d858e68c1
+ languageName: node
+ linkType: hard
+
+"@react-aria/visually-hidden@npm:^3.8.4":
+ version: 3.8.4
+ resolution: "@react-aria/visually-hidden@npm:3.8.4"
+ dependencies:
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: da7e2d701c15864e954d4571c7cb2e2a4f62936551d176103f101f74218c811a9b5deb53001bd0f683acd639853cfff232c4a7ca2d2197d7ef0e2b062c6dc6fc
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/button@npm:^3.13.0":
+ version: 3.13.0
+ resolution: "@react-spectrum/button@npm:3.13.0"
+ dependencies:
+ "@react-aria/button": ^3.8.2
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/progress": ^3.6.2
+ "@react-spectrum/text": ^3.4.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-stately/toggle": ^3.6.2
+ "@react-types/button": ^3.8.0
+ "@react-types/progress": ^3.4.3
+ "@react-types/shared": ^3.20.0
+ "@spectrum-icons/ui": ^3.5.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 4f4d66b446df6e6be496e126aaba8766923b14deb85eb50963df8e304b4e0eeb79daffc1f01096bd7e6bed19fdd67babb92390ea58dc22e22d6cbf7bd0b2f977
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/buttongroup@npm:^3.6.5":
+ version: 3.6.5
+ resolution: "@react-spectrum/buttongroup@npm:3.6.5"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/button": ^3.13.0
+ "@react-spectrum/text": ^3.4.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/buttongroup": ^3.3.4
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: bccbe60c2578cb81a4e83325c92ac9530fa76e64b32de7e83a3d7939027e73b09e444ac3a21df3b90eeac8fc1f6ae5a918a4006215cae837505aeccc27bb1525
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/calendar@npm:^3.4.0":
+ version: 3.4.0
+ resolution: "@react-spectrum/calendar@npm:3.4.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@react-aria/calendar": ^3.5.0
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-aria/visually-hidden": ^3.8.4
+ "@react-spectrum/button": ^3.13.0
+ "@react-spectrum/label": ^3.14.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-stately/calendar": ^3.4.0
+ "@react-types/button": ^3.8.0
+ "@react-types/calendar": ^3.4.0
+ "@react-types/shared": ^3.20.0
+ "@spectrum-icons/ui": ^3.5.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: d6cc90308035b4ff9a99903d37e50178fccdf5bbd1a838e9885a7bcf023220f24f412dcd216a1d11315bb37672ebee07978d00c92b87fe9d4c7c3e89595af1ac
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/datepicker@npm:^3.5.0":
+ version: 3.7.1
+ resolution: "@react-spectrum/datepicker@npm:3.7.1"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@internationalized/number": ^3.2.1
+ "@react-aria/datepicker": ^3.7.0
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/button": ^3.13.0
+ "@react-spectrum/calendar": ^3.4.0
+ "@react-spectrum/dialog": ^3.8.2
+ "@react-spectrum/label": ^3.14.0
+ "@react-spectrum/layout": ^3.5.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-spectrum/view": ^3.6.2
+ "@react-stately/datepicker": ^3.7.0
+ "@react-stately/utils": ^3.7.0
+ "@react-types/datepicker": ^3.6.0
+ "@react-types/shared": ^3.20.0
+ "@spectrum-icons/ui": ^3.5.5
+ "@spectrum-icons/workflow": ^4.2.4
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 5aa6f66c605220ca70b1ea476571db7e520c3174c6cf4a45e657755281a03b278bee7adcf0a2a1f37a064adea1b80fb3b2d62863e5268f950ca519cf0c2a5e92
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/dialog@npm:^3.8.2":
+ version: 3.8.2
+ resolution: "@react-spectrum/dialog@npm:3.8.2"
+ dependencies:
+ "@react-aria/dialog": ^3.5.5
+ "@react-aria/focus": ^3.14.1
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/overlays": ^3.17.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/button": ^3.13.0
+ "@react-spectrum/buttongroup": ^3.6.5
+ "@react-spectrum/divider": ^3.5.5
+ "@react-spectrum/layout": ^3.5.5
+ "@react-spectrum/overlays": ^5.4.0
+ "@react-spectrum/text": ^3.4.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-spectrum/view": ^3.6.2
+ "@react-stately/overlays": ^3.6.2
+ "@react-stately/utils": ^3.7.0
+ "@react-types/button": ^3.8.0
+ "@react-types/dialog": ^3.5.5
+ "@react-types/shared": ^3.20.0
+ "@spectrum-icons/ui": ^3.5.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 4122b7f33051259e339e8e649a52d01360dda4c9ec9e8e0971d4b8c82e21f64b67ee4a15bbb84af88d5aa562b1fc5ac429565cd544e815789f41af5cae8f182d
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/divider@npm:^3.5.5":
+ version: 3.5.5
+ resolution: "@react-spectrum/divider@npm:3.5.5"
+ dependencies:
+ "@react-aria/separator": ^3.3.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/divider": ^3.3.4
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 8309fb59fb9e6cf0816ac41cf6b77fe41541fe6b0467aeeef9896deae5fa3e7fc9ce9e87104831557fe5a7f3deaf64fe5b5936db40a8556401b3165c85540518
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/form@npm:^3.6.5":
+ version: 3.6.5
+ resolution: "@react-spectrum/form@npm:3.6.5"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/form": ^3.5.3
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 0c5f24796d62ceaf9064092040d7d91f1b8e7d7f6545ffc45965d19067a1e14860c01ad120aa20b28edf61c75ae70991480952c3576482e375675a1c8d301143
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/icon@npm:^3.7.5":
+ version: 3.7.5
+ resolution: "@react-spectrum/icon@npm:3.7.5"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: b497cd3b87a698ff2e8c42b27a037e5736aa12b1200bbf344da167eab009e1ecc30fcb466ef67ed2fefe4d04057da309f48df09eb47ba3974042b9cf3a1142c4
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/label@npm:^3.14.0":
+ version: 3.14.0
+ resolution: "@react-spectrum/label@npm:3.14.0"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/label": ^3.7.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/form": ^3.6.5
+ "@react-spectrum/layout": ^3.5.5
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/label": ^3.8.0
+ "@react-types/shared": ^3.20.0
+ "@spectrum-icons/ui": ^3.5.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 721302911fb4ffb2be973195cdbf302323b68f44955e90f0b3ad141628dceb53569e5af45c1593f83192b642512a27b9544783efc4b493002ef7e69864bc0098
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/layout@npm:^3.5.5":
+ version: 3.5.5
+ resolution: "@react-spectrum/layout@npm:3.5.5"
+ dependencies:
+ "@react-aria/ssr": ^3.8.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/layout": ^3.3.10
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 68604d15bd571c03982a348c8cd9c59d1ca32ee6eefb0b079079c76fb634ee01368fc181abe26a7fe71786f63b4b3d8a7844c04309c2c3ff484d710900957c64
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/overlays@npm:^5.4.0":
+ version: 5.4.0
+ resolution: "@react-spectrum/overlays@npm:5.4.0"
+ dependencies:
+ "@react-aria/interactions": ^3.18.0
+ "@react-aria/overlays": ^3.17.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-stately/overlays": ^3.6.2
+ "@react-types/overlays": ^3.8.2
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ react-transition-group: ^4.4.5
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: da886caa4aca96697ea1814aedea74415ea99a48b3df01cb17f58d73b6376309c38fcac467629022406c7e3c411d60bb474520f0a8f0c3f54f386cbec2263cfc
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/progress@npm:^3.6.2":
+ version: 3.6.2
+ resolution: "@react-spectrum/progress@npm:3.6.2"
+ dependencies:
+ "@react-aria/progress": ^3.4.5
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/progress": ^3.4.3
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: b637a34102567bb622a7454563549d9849fe7ca48cec7fed766a694cdd09021d585366081c7554ebdbcf54cbb28ef6aff3468144c5f8c1df5afd42fde21fb2dd
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/provider@npm:^3.7.1":
+ version: 3.8.2
+ resolution: "@react-spectrum/provider@npm:3.8.2"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/overlays": ^3.17.0
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/provider": ^3.6.4
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 22938e576e57c3a87b5f0111b177dcddfdf57df53a807a919e5d949177ac325e6eaf52fe98fcd769ae5c4479f895638ea652e03f15d646917aef3b894baeb7ac
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/text@npm:^3.4.5":
+ version: 3.4.5
+ resolution: "@react-spectrum/text@npm:3.4.5"
+ dependencies:
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/shared": ^3.20.0
+ "@react-types/text": ^3.3.4
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: f460cc33a657a17e38bb00f067eedaa04611a06945d3d01e05f5071c8da8d2cd2c6037cb9f89c160d08c8f41e47f9b6d505490998d477937c35646777c59798c
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/theme-default@npm:^3.5.1":
+ version: 3.5.5
+ resolution: "@react-spectrum/theme-default@npm:3.5.5"
+ dependencies:
+ "@react-types/provider": ^3.6.4
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 65bacec0b79b74b2a319f7840e567443e73ed19e4ea02d1b72c8a37414907bb0fc2b45a067ccade3bb51e6f1fb0f25e38b58a6c4b97cc0a872114a92fbea559b
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/utils@npm:^3.10.2":
+ version: 3.10.2
+ resolution: "@react-spectrum/utils@npm:3.10.2"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/ssr": ^3.8.0
+ "@react-aria/utils": ^3.20.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ clsx: ^1.1.1
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 0969a13bd7eab811533ec6b2fc4d2d3ed56264dd0cb0e87218346576726b19a7ef45ae94e431b95be1dfee36f46b956c9cae0653fffb43104a6047c296eea1ab
+ languageName: node
+ linkType: hard
+
+"@react-spectrum/view@npm:^3.6.2":
+ version: 3.6.2
+ resolution: "@react-spectrum/view@npm:3.6.2"
+ dependencies:
+ "@react-aria/i18n": ^3.8.2
+ "@react-aria/utils": ^3.20.0
+ "@react-spectrum/utils": ^3.10.2
+ "@react-types/shared": ^3.20.0
+ "@react-types/view": ^3.4.4
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 256a978913253eb0c345d00a2e8d1d87f17babf1128d60c1ec2dc308880359cfc5053f45500a6c3e6d3aeac22ec523f181666b00103e8a521ad1d438b9d04860
+ languageName: node
+ linkType: hard
+
+"@react-stately/calendar@npm:^3.4.0":
+ version: 3.4.0
+ resolution: "@react-stately/calendar@npm:3.4.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@react-stately/utils": ^3.7.0
+ "@react-types/calendar": ^3.4.0
+ "@react-types/datepicker": ^3.6.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: e6b88eafe69c4f8d9cb58fe63664a7b69d379129aad5636e59d98c44e681245b6d1bb9e60ceaf8670757af027468076b236c4c45c3d1f91d2e68520051c775ed
+ languageName: node
+ linkType: hard
+
+"@react-stately/datepicker@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "@react-stately/datepicker@npm:3.7.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@internationalized/string": ^3.1.1
+ "@react-stately/overlays": ^3.6.2
+ "@react-stately/utils": ^3.7.0
+ "@react-types/datepicker": ^3.6.0
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: b2ab7377616af5984ee518c13a6e76776586a25dbb2317dd39ff663d55e8b02f18fd6f5a46bfef899fabaa927ea17c4191175fe40eef70538ac9f2b2159ccecb
+ languageName: node
+ linkType: hard
+
+"@react-stately/overlays@npm:^3.6.2":
+ version: 3.6.2
+ resolution: "@react-stately/overlays@npm:3.6.2"
+ dependencies:
+ "@react-stately/utils": ^3.7.0
+ "@react-types/overlays": ^3.8.2
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 50bf5606e74b6cfb0974bcb3434928df189c6dce29ab64202ecc3c4f2c68f3446e816950e6c2a16852cc3a699cdee5d86c6fcaf8ee505b09fce2f16f462c65f8
+ languageName: node
+ linkType: hard
+
+"@react-stately/toggle@npm:^3.6.2":
+ version: 3.6.2
+ resolution: "@react-stately/toggle@npm:3.6.2"
+ dependencies:
+ "@react-stately/utils": ^3.7.0
+ "@react-types/checkbox": ^3.5.1
+ "@react-types/shared": ^3.20.0
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: ed6266f4f0bd565a34c04713f542af694ac8c99788c5dc7404c9f1fed972b4579b77d1bbfff8a4ed98a78704cc416f6e2881d65aa1c7fb62d00abd8e8d329e08
+ languageName: node
+ linkType: hard
+
+"@react-stately/utils@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "@react-stately/utils@npm:3.7.0"
+ dependencies:
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 91feaae770d38a644b9ba3f633afb0560a51fddd153f75c9e486fca86409cb1b6917366859e59d0f62eab3440e530af97452949671e0f90a8a7e5638ba15b263
+ languageName: node
+ linkType: hard
+
+"@react-types/button@npm:^3.8.0":
+ version: 3.8.0
+ resolution: "@react-types/button@npm:3.8.0"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: e720b4759c6135530be7b86c4f733c623a47ee722ed714606c8e0c2c12270c5fa26dbebd4bef56faf0dee8272bf14a280494521fdebe320dcc19ff695a91052b
+ languageName: node
+ linkType: hard
+
+"@react-types/buttongroup@npm:^3.3.4":
+ version: 3.3.4
+ resolution: "@react-types/buttongroup@npm:3.3.4"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 76bbadf6e29d1d337401f05bdd7d226bc9ec8296eb62baf561b7ad736ea571fce2e182be7e549e167d5457da0d7f8079be1060e922e96f304004811ed7e19f87
+ languageName: node
+ linkType: hard
+
+"@react-types/calendar@npm:^3.4.0":
+ version: 3.4.0
+ resolution: "@react-types/calendar@npm:3.4.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: c513b39ccc4c17ffd247591863996ae4beaf643ef55641cb0428cd75a36e7f85dc12c518516e0add52185758e7cd7d3338975ecad1c0d92d7b64bd4ff6913929
+ languageName: node
+ linkType: hard
+
+"@react-types/checkbox@npm:^3.5.1":
+ version: 3.5.1
+ resolution: "@react-types/checkbox@npm:3.5.1"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: b4168f557eac55df4ca58879188c12d1226b2bccee9d9c5e103951fda79c2f3069dd76318ed75f5bf2710884744dc8f480b45d38a34e385805017743c6984023
+ languageName: node
+ linkType: hard
+
+"@react-types/datepicker@npm:^3.6.0":
+ version: 3.6.0
+ resolution: "@react-types/datepicker@npm:3.6.0"
+ dependencies:
+ "@internationalized/date": ^3.5.0
+ "@react-types/calendar": ^3.4.0
+ "@react-types/overlays": ^3.8.2
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 7041ea449fe421ceec558fdadfbd934a1223cf79f5aba40bec0a7964d56ade12a6085b1a76f3624eed7ce028e96ffd768d43ae4cfd406cd3722e3779f30a83c2
+ languageName: node
+ linkType: hard
+
+"@react-types/dialog@npm:^3.5.5":
+ version: 3.5.5
+ resolution: "@react-types/dialog@npm:3.5.5"
+ dependencies:
+ "@react-types/overlays": ^3.8.2
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: c816aa577a81673f483e08cecf55e6aa28127f1d4dc16cc6ba93d2b0526228a92c1a6f24b2320e6522f92f3e6346776280f3e8c9a14edc5216d2a8ee5d7b3ae5
+ languageName: node
+ linkType: hard
+
+"@react-types/divider@npm:^3.3.4":
+ version: 3.3.4
+ resolution: "@react-types/divider@npm:3.3.4"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: f5b9e2bec35b6c1a8d89e18fd855fc86ba9b848176a8df7215db3c851a547b6e61dc85d011860e92ca93427b21be9f21ca5a9f729ad4b1df03568af6a2df5b13
+ languageName: node
+ linkType: hard
+
+"@react-types/form@npm:^3.5.3":
+ version: 3.5.3
+ resolution: "@react-types/form@npm:3.5.3"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: bf5c9a0873881a94f2b3db46616a8763aefbcd34e8e8f9378a45baf2564d48264f527c9dd4c06133db0b03436906752bc193b4ab3ad82f6c0c0bf53d0fb90976
+ languageName: node
+ linkType: hard
+
+"@react-types/label@npm:^3.8.0":
+ version: 3.8.0
+ resolution: "@react-types/label@npm:3.8.0"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: a7c6fe326c18dcbd07d6a8ce900a6aab686a7026188018bfdda0687f5b2aceb42096491ca4f267339bc6c6bfe8cb6f513dc012e08171747a0e2b2d501963365e
+ languageName: node
+ linkType: hard
+
+"@react-types/layout@npm:^3.3.10":
+ version: 3.3.10
+ resolution: "@react-types/layout@npm:3.3.10"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 34679cd4462180ed8a80f180f02c29087d1b683614c39421666b9e83b07fbe1e6365c1b536b39f1c4d6d36b0edbcfe8475c99aeb29275c57d4c03a16e576a6f0
+ languageName: node
+ linkType: hard
+
+"@react-types/overlays@npm:^3.8.2":
+ version: 3.8.2
+ resolution: "@react-types/overlays@npm:3.8.2"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 8d944f4e24c83764abb66cd7b36b9bb75a4ae86fb06afe7a2111c6c23a633e6d9e74b74d1f1014509cbb64cf1e216a2a57cdd4f6c452d162447aa0ad4469c87b
+ languageName: node
+ linkType: hard
+
+"@react-types/progress@npm:^3.4.3":
+ version: 3.4.3
+ resolution: "@react-types/progress@npm:3.4.3"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 3fae795de5d632acbc72f3fce789b36bf95d3d28bb8a6e12bc4c82942aadd9601daf5d5a4eabcc5281c29a3406213a122568392ddd0efdc7602609909147924a
+ languageName: node
+ linkType: hard
+
+"@react-types/provider@npm:^3.6.4":
+ version: 3.6.4
+ resolution: "@react-types/provider@npm:3.6.4"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 8f84adb7feebd29927c7db6450adfc6077e6113f49d7759c6b59f9c9b6861b9f6114cd6f48c022c4e46e0900d14cfafe8e227a2eccc22cdd4da5716cfa833c5a
+ languageName: node
+ linkType: hard
+
+"@react-types/shared@npm:^3.20.0":
+ version: 3.20.0
+ resolution: "@react-types/shared@npm:3.20.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 322aee262aa9155286cbb04dacc470ad819f4f081f4ede7a5bfe0af05b57917e4710be124d46b04d60937584386960437c65e0aa0627685046e5b37afc05802a
+ languageName: node
+ linkType: hard
+
+"@react-types/text@npm:^3.3.4":
+ version: 3.3.4
+ resolution: "@react-types/text@npm:3.3.4"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 988e0882c36808c74b45061333d7a447287998246819c52d54c885e927c71b1f1bafd252fab1c4aec3768bed7dbbb3f1c4f3cfa54b1a34ee096b278e97b4f1a7
+ languageName: node
+ linkType: hard
+
+"@react-types/view@npm:^3.4.4":
+ version: 3.4.4
+ resolution: "@react-types/view@npm:3.4.4"
+ dependencies:
+ "@react-types/shared": ^3.20.0
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 49a54828243bb3c835f0389e72b2565981913fa994a37010de3266a592addd84e7f3c11ac98c2b85490e5f5b89b2a8b6df5e77cef8370e536f31a67c4a484123
+ languageName: node
+ linkType: hard
+
"@remix-run/router@npm:1.0.3":
version: 1.0.3
resolution: "@remix-run/router@npm:1.0.3"
@@ -4097,6 +5072,34 @@ __metadata:
languageName: node
linkType: hard
+"@spectrum-icons/ui@npm:^3.5.5":
+ version: 3.5.5
+ resolution: "@spectrum-icons/ui@npm:3.5.5"
+ dependencies:
+ "@adobe/react-spectrum-ui": 1.2.0
+ "@react-spectrum/icon": ^3.7.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: e5ee0a7a745bce64389a1d8747996d09bd2a91a7cee2f65a1766b31d0064f4bb7268f735cfa7cf2a9294e30a84754a6d620312b8570fbaedc4f4b1f6a2f50739
+ languageName: node
+ linkType: hard
+
+"@spectrum-icons/workflow@npm:^4.2.4":
+ version: 4.2.4
+ resolution: "@spectrum-icons/workflow@npm:4.2.4"
+ dependencies:
+ "@adobe/react-spectrum-workflow": 2.3.4
+ "@react-spectrum/icon": ^3.7.5
+ "@swc/helpers": ^0.5.0
+ peerDependencies:
+ "@react-spectrum/provider": ^3.0.0
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
+ checksum: 75f603d6bc99ffe7c138481092c10145423bb66a8e328323f987393a7773b3562eae2a03bca31fb478ed945e75ed4f574750c66ea997b01fdd1ec647bd7f811b
+ languageName: node
+ linkType: hard
+
"@surma/rollup-plugin-off-main-thread@npm:^2.2.3":
version: 2.2.3
resolution: "@surma/rollup-plugin-off-main-thread@npm:2.2.3"
@@ -4376,6 +5379,15 @@ __metadata:
languageName: node
linkType: hard
+"@swc/helpers@npm:^0.5.0":
+ version: 0.5.2
+ resolution: "@swc/helpers@npm:0.5.2"
+ dependencies:
+ tslib: ^2.4.0
+ checksum: 51d7e3d8bd56818c49d6bfbd715f0dbeedc13cf723af41166e45c03e37f109336bbcb57a1f2020f4015957721aeb21e1a7fff281233d797ff7d3dd1f447fa258
+ languageName: node
+ linkType: hard
+
"@swc/jest@npm:^0.2.20":
version: 0.2.23
resolution: "@swc/jest@npm:0.2.23"
@@ -7280,6 +8292,13 @@ __metadata:
languageName: node
linkType: hard
+"clsx@npm:^1.1.1":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12
+ languageName: node
+ linkType: hard
+
"co@npm:^4.6.0":
version: 4.6.0
resolution: "co@npm:4.6.0"
@@ -8932,6 +9951,16 @@ __metadata:
languageName: node
linkType: hard
+"dom-helpers@npm:^5.0.1":
+ version: 5.2.1
+ resolution: "dom-helpers@npm:5.2.1"
+ dependencies:
+ "@babel/runtime": ^7.8.7
+ csstype: ^3.0.2
+ checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c
+ languageName: node
+ linkType: hard
+
"dom-serializer@npm:^1.0.1":
version: 1.4.1
resolution: "dom-serializer@npm:1.4.1"
@@ -11781,6 +12810,18 @@ __metadata:
languageName: node
linkType: hard
+"intl-messageformat@npm:^10.1.0":
+ version: 10.5.3
+ resolution: "intl-messageformat@npm:10.5.3"
+ dependencies:
+ "@formatjs/ecma402-abstract": 1.17.2
+ "@formatjs/fast-memoize": 2.2.0
+ "@formatjs/icu-messageformat-parser": 2.6.2
+ tslib: ^2.4.0
+ checksum: cc71cfa9b93aacba3f9d8ddcef7fab2bf81125de3edb7ee73b58185d107e86c301d54bd0e7a87141e311f5104ee90182f1ca52d8ee94446a0dfccc5c7db8541f
+ languageName: node
+ linkType: hard
+
"invariant@npm:^2.2.3":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
@@ -15214,11 +16255,11 @@ __metadata:
linkType: hard
"openmrs@npm:next":
- version: 5.1.1-pre.922
- resolution: "openmrs@npm:5.1.1-pre.922"
+ version: 5.1.1-pre.1025
+ resolution: "openmrs@npm:5.1.1-pre.1025"
dependencies:
- "@openmrs/esm-app-shell": 5.1.1-pre.922
- "@openmrs/webpack-config": 5.1.1-pre.922
+ "@openmrs/esm-app-shell": 5.1.1-pre.1025
+ "@openmrs/webpack-config": 5.1.1-pre.1025
"@pnpm/npm-conf": ^2.1.0
"@swc/core": ^1.3.58
autoprefixer: ^10.4.2
@@ -15247,7 +16288,7 @@ __metadata:
yargs: ^17.6.2
bin:
openmrs: dist/cli.js
- checksum: cc174cd477f05b010b7c24ddcc49e628c0397947c462888f44adcd6a1cac1c72e1a58da6483c10eebcde859ece1a0a47865d3cbb4bc2d4f738da871e11c1f4d8
+ checksum: b3ea6328c442a33f9f51038f716409a4019d38d110a983bd85bf6fb9f86d9c728ab096f5fcd0ee1dbd4abdcca7f708f1f7d814442970339617cb6dc2565ddd15
languageName: node
linkType: hard
@@ -16510,7 +17551,7 @@ __metadata:
languageName: node
linkType: hard
-"prop-types@npm:^15.7.2":
+"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -16819,6 +17860,21 @@ __metadata:
languageName: node
linkType: hard
+"react-transition-group@npm:^4.4.5":
+ version: 4.4.5
+ resolution: "react-transition-group@npm:4.4.5"
+ dependencies:
+ "@babel/runtime": ^7.5.5
+ dom-helpers: ^5.0.1
+ loose-envify: ^1.4.0
+ prop-types: ^15.6.2
+ peerDependencies:
+ react: ">=16.6.0"
+ react-dom: ">=16.6.0"
+ checksum: 75602840106aa9c6545149d6d7ae1502fb7b7abadcce70a6954c4b64a438ff1cd16fc77a0a1e5197cdd72da398f39eb929ea06f9005c45b132ed34e056ebdeb1
+ languageName: node
+ linkType: hard
+
"react@npm:^18.1.0":
version: 18.2.0
resolution: "react@npm:18.2.0"
@@ -17076,6 +18132,13 @@ __metadata:
languageName: node
linkType: hard
+"regenerator-runtime@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "regenerator-runtime@npm:0.14.0"
+ checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3
+ languageName: node
+ linkType: hard
+
"regenerator-transform@npm:^0.15.0":
version: 0.15.0
resolution: "regenerator-transform@npm:0.15.0"
@@ -17639,7 +18702,20 @@ __metadata:
languageName: node
linkType: hard
-"sass@npm:^1.29.0, sass@npm:^1.44.0":
+"sass@npm:>=1.45.0 <1.65.0":
+ version: 1.64.2
+ resolution: "sass@npm:1.64.2"
+ dependencies:
+ chokidar: ">=3.0.0 <4.0.0"
+ immutable: ^4.0.0
+ source-map-js: ">=0.6.2 <2.0.0"
+ bin:
+ sass: sass.js
+ checksum: 43a5c9b9b3b6ba27feb5c45eba90edc437b15a30fd443f5d2623bbd59fe4a922f2a6a9990296c6a6c2b5bce7f401922c5049357415f50b745952c2d478bc5526
+ languageName: node
+ linkType: hard
+
+"sass@npm:^1.29.0":
version: 1.55.0
resolution: "sass@npm:1.55.0"
dependencies:
@@ -19362,6 +20438,13 @@ __metadata:
languageName: node
linkType: hard
+"tslib@npm:^2.4.0":
+ version: 2.6.2
+ resolution: "tslib@npm:2.6.2"
+ checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad
+ languageName: node
+ linkType: hard
+
"tsutils@npm:^3.21.0":
version: 3.21.0
resolution: "tsutils@npm:3.21.0"
From baf068dab2b2dc022853a64dad38053e2ca35494 Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Thu, 21 Sep 2023 15:15:20 +0300
Subject: [PATCH 39/43] O3-2383 Add column to denote patient previous queue in
queue table (#815)
---
.../src/active-visits/active-visits-table.component.tsx | 8 ++++----
.../src/active-visits/active-visits-table.resource.ts | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
index f35f707f0..749249131 100644
--- a/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
+++ b/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
@@ -161,8 +161,8 @@ function ActiveVisitsTable() {
},
{
id: 3,
- header: t('locationComingFrom', 'Coming from'),
- key: 'locationComingFrom',
+ header: t('queueComingFrom', 'Coming from'),
+ key: 'queueComingFrom',
},
{
id: 4,
@@ -218,8 +218,8 @@ function ActiveVisitsTable() {
>
),
},
- locationComingFrom: {
- content: {entry?.locationComingFrom},
+ queueComingFrom: {
+ content: {entry?.queueComingFrom},
},
status: {
content: (
diff --git a/packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts b/packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts
index 9b59ff351..22e6e6138 100644
--- a/packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts
+++ b/packages/esm-service-queues-app/src/active-visits/active-visits-table.resource.ts
@@ -71,7 +71,7 @@ export interface VisitQueueEntry {
uuid: string;
visit: Visit;
sortWeight: number;
- locationComingFrom: {
+ queueComingFrom: {
name: string;
};
}
@@ -102,7 +102,7 @@ export interface MappedVisitQueueEntry {
sortWeight: number;
visitQueueNumber: string;
identifiers: Array;
- locationComingFrom: string;
+ queueComingFrom: string;
}
interface UseVisitQueueEntries {
@@ -248,7 +248,7 @@ export function useVisitQueueEntries(currServiceName: string, locationUuid: stri
(e) => e.attributeType.uuid === visitQueueNumberAttributeUuid,
)?.value,
identifiers: visitQueueEntry.queueEntry.patient?.identifiers,
- locationComingFrom: visitQueueEntry.queueEntry?.locationComingFrom?.name,
+ queueComingFrom: visitQueueEntry.queueEntry?.queueComingFrom?.name,
});
let mappedVisitQueueEntries;
@@ -315,7 +315,7 @@ export async function updateQueueEntry(
},
startedAt: toDateObjectStrict(toOmrsIsoString(new Date())),
sortWeight: sortWeight,
- locationComingFrom: previousQueueUuid,
+ queueComingFrom: previousQueueUuid,
},
},
});
From 3a6ebc17a0fbb63d6fedebbdd9ffad1940eb4578 Mon Sep 17 00:00:00 2001
From: CynthiaKamau
Date: Thu, 21 Sep 2023 15:15:48 +0300
Subject: [PATCH 40/43] (fix) Move visit queue number attribute from concepts
to uuid (#816)
---
packages/esm-service-queues-app/src/config-schema.ts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/esm-service-queues-app/src/config-schema.ts b/packages/esm-service-queues-app/src/config-schema.ts
index f0026d9ea..282003b54 100644
--- a/packages/esm-service-queues-app/src/config-schema.ts
+++ b/packages/esm-service-queues-app/src/config-schema.ts
@@ -36,11 +36,6 @@ export const configSchema = {
_description: 'The UUID of the default status for attending a service in the queues eg In Service.',
_default: 'ca7494ae-437f-4fd0-8aae-b88b9a2ba47d',
},
- visitQueueNumberAttributeUuid: {
- _type: Type.ConceptUuid,
- _description: 'The UUID of the visit attribute that contains the visit queue number.',
- _default: 'c61ce16f-272a-41e7-9924-4c555d0932c5',
- },
systolicBloodPressureUuid: {
_type: Type.ConceptUuid,
_default: '5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
@@ -93,6 +88,11 @@ export const configSchema = {
'The Uuids of person attribute-type that captures contact information `e.g Next of kin contact details`',
_default: [],
},
+ visitQueueNumberAttributeUuid: {
+ _type: Type.UUID,
+ _description: 'The UUID of the visit attribute that contains the visit queue number.',
+ _default: 'c61ce16f-272a-41e7-9924-4c555d0932c5',
+ },
vitals: vitalsConfigSchema,
biometrics: biometricsConfigSchema,
showQueueTableTab: {
From 0eb6147ca8c8c1dd5ec848296ffe77ea18ef49af Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Thu, 21 Sep 2023 17:53:14 +0530
Subject: [PATCH 41/43] Add tests for pagination.component.tsx (#804)
Co-authored-by: Anjula Shanaka
---
.../pagination/pagination.test.tsx | 60 +++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 packages/esm-patient-search-app/src/ui-components/pagination/pagination.test.tsx
diff --git a/packages/esm-patient-search-app/src/ui-components/pagination/pagination.test.tsx b/packages/esm-patient-search-app/src/ui-components/pagination/pagination.test.tsx
new file mode 100644
index 000000000..bcb0ec5ac
--- /dev/null
+++ b/packages/esm-patient-search-app/src/ui-components/pagination/pagination.test.tsx
@@ -0,0 +1,60 @@
+import React from 'react';
+import { render, fireEvent, screen } from '@testing-library/react';
+import '@testing-library/jest-dom/extend-expect';
+import Pagination from './pagination.component';
+
+describe('Pagination', () => {
+ it('should render correctly with page numbers', () => {
+ render( {}} hasMore={true} />);
+
+ for (let i = 1; i <= 5; i++) {
+ const pageButtons = screen.getByRole('button', { name: `${i}` });
+ expect(pageButtons).toBeInTheDocument();
+ }
+ });
+
+ it('should disable previous button on first page', () => {
+ render( {}} hasMore={true} />);
+ const previousButton = screen.getByLabelText(/previous page/i);
+ expect(previousButton).toBeDisabled();
+ });
+
+ it('should disable next button on last page when hasMore is false', () => {
+ render( {}} hasMore={false} />);
+ const nextButton = screen.getByLabelText(/next page/i);
+ expect(nextButton).toBeDisabled();
+ });
+
+ it('should increment the page when next button is clicked', () => {
+ const setCurrentPageMock = jest.fn();
+ render();
+
+ const nextButton = screen.getByLabelText(/next page/i);
+ fireEvent.click(nextButton);
+ expect(setCurrentPageMock).toHaveBeenCalledWith(2);
+ });
+
+ it('should decrement the page when previous button is clicked', () => {
+ const setCurrentPageMock = jest.fn();
+ render();
+
+ const previousButton = screen.getByLabelText(/previous page/i);
+ fireEvent.click(previousButton);
+ expect(setCurrentPageMock).toHaveBeenCalledWith(2);
+ });
+
+ it('should call setCurrentPage when page button is clicked', () => {
+ const setCurrentPageMock = jest.fn();
+ render();
+
+ const pageButton = screen.getByRole('button', { name: '4' });
+ fireEvent.click(pageButton);
+ expect(setCurrentPageMock).toHaveBeenCalledWith(4);
+ });
+
+ it('should render empty component when totalPages is 1', () => {
+ render( {}} hasMore={true} />);
+ const pagination = screen.queryByRole('button', { name: 'next page' });
+ expect(pagination).not.toBeInTheDocument();
+ });
+});
From 17a0cb20691121a6366c9845f7e5ef8bd8e0f14f Mon Sep 17 00:00:00 2001
From: Ayush <54752747+ayush-AI@users.noreply.github.com>
Date: Fri, 22 Sep 2023 15:52:46 +0530
Subject: [PATCH 42/43] (test): Add tests for `overflow-menu.component.tsx`
(#786)
Co-authored-by: Dennis Kigen
---
.../banner/patient-banner.component.tsx | 2 +-
.../ui-components/overflow-menu.component.tsx | 12 ++++-----
.../ui-components/overflow-menu.test.tsx | 27 +++++++++++++++++++
3 files changed, 34 insertions(+), 7 deletions(-)
create mode 100644 packages/esm-patient-search-app/src/patient-search-page/patient-banner/ui-components/overflow-menu.test.tsx
diff --git a/packages/esm-patient-search-app/src/patient-search-page/patient-banner/banner/patient-banner.component.tsx b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/banner/patient-banner.component.tsx
index 96b488f0d..b9eb75f9b 100644
--- a/packages/esm-patient-search-app/src/patient-search-page/patient-banner/banner/patient-banner.component.tsx
+++ b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/banner/patient-banner.component.tsx
@@ -131,7 +131,7 @@ const PatientBanner: React.FC = ({
>
}
- dropDownMenu={showDropdown}>
+ dropdownMenu={showDropdown}>
= ({
- dropDownMenu,
+ dropdownMenu,
menuTitle,
children,
isDeceased,
@@ -19,12 +19,12 @@ const CustomOverflowMenuComponent: React.FC =
const wrapperRef = useRef(null);
useEffect(() => {
- if (!dropDownMenu) {
+ if (!dropdownMenu) {
setShowMenu((state) => state);
}
setShowMenu(() => false);
- }, [dropDownMenu]);
+ }, [dropdownMenu]);
const toggleShowMenu = useCallback(() => setShowMenu((state) => !state), []);
useEffect(() => {
@@ -52,7 +52,7 @@ const CustomOverflowMenuComponent: React.FC =
className={`cds--overflow-menu__trigger ${showMenu && 'cds--overflow-menu--open'} ${
isDeceased ? styles.deceased : ''
} ${styles.overflowMenuButton}`}
- aria-haspopup="true"
+ aria-haspopup
aria-expanded={showMenu}
id="custom-actions-overflow-menu-trigger"
aria-controls="custom-actions-overflow-menu"
diff --git a/packages/esm-patient-search-app/src/patient-search-page/patient-banner/ui-components/overflow-menu.test.tsx b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/ui-components/overflow-menu.test.tsx
new file mode 100644
index 000000000..6e1ed3c01
--- /dev/null
+++ b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/ui-components/overflow-menu.test.tsx
@@ -0,0 +1,27 @@
+import React from 'react';
+import { render, fireEvent, screen } from '@testing-library/react';
+import CustomOverflowMenuComponent from './overflow-menu.component';
+
+describe('CustomOverflowMenuComponent', () => {
+ it('should render', () => {
+ render(Option 1} />);
+ expect(screen.getByRole('button', { name: 'Test Menu' })).toBeInTheDocument();
+ });
+
+ it('should toggle menu on trigger button click', () => {
+ render(
+
+ Option 1
+ Option 2
+ ,
+ );
+
+ const triggerButton = screen.getByRole('button', { name: /menu/i });
+
+ fireEvent.click(triggerButton);
+ expect(triggerButton.getAttribute('aria-expanded')).toBe('true');
+
+ fireEvent.click(triggerButton);
+ expect(triggerButton.getAttribute('aria-expanded')).toBe('false');
+ });
+});
From be467428070d54959b70e01a1263506aced33ec7 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Fri, 22 Sep 2023 16:15:35 +0300
Subject: [PATCH 43/43] (fix) Standardize home page dashboard links (#798)
---
.../active-visits-widget/active-visits.scss | 1 -
.../appointments-calendar-view.component.tsx | 2 +-
.../appointments-header.component.tsx | 1 +
.../src/appointments.component.tsx | 15 +---
packages/esm-appointments-app/src/index.ts | 2 +
.../src/root.component.tsx | 28 ++++++
packages/esm-appointments-app/src/routes.json | 13 ++-
.../esm-appointments-app/translations/am.json | 1 +
.../esm-appointments-app/translations/en.json | 1 +
.../esm-appointments-app/translations/es.json | 1 +
.../esm-appointments-app/translations/fr.json | 1 +
.../esm-appointments-app/translations/he.json | 1 +
.../esm-appointments-app/translations/km.json | 1 +
.../patient-list-table.component.tsx | 2 +-
.../src/root.component.tsx | 4 +-
.../esm-patient-list-app/src/root.test.tsx | 11 ---
packages/esm-patient-list-app/src/routes.json | 8 +-
.../patient-registration.test.tsx | 13 ++-
.../src/root.component.tsx | 2 +-
.../src/routes.json | 89 ++++++++++---------
.../compact-patient-banner.scss | 4 +-
.../src/patient-search-icon/index.tsx | 2 +-
.../src/root.component.tsx | 4 +-
.../esm-patient-search-app/src/routes.json | 48 +++++-----
.../active-visits-table.component.tsx | 40 +++++----
.../active-visits/active-visits-table.scss | 2 +
.../src/home.component.tsx | 22 ++---
packages/esm-service-queues-app/src/index.ts | 2 +
.../patient-queue-header.component.tsx | 2 +-
.../queue-screen/queue-screen.component.tsx | 2 +-
.../src/root.component.tsx | 9 +-
.../esm-service-queues-app/src/root.test.tsx | 7 +-
.../esm-service-queues-app/src/routes.json | 22 +----
.../translations/am.json | 4 +-
.../translations/en.json | 4 +-
.../translations/es.json | 4 +-
.../translations/fr.json | 4 +-
.../translations/he.json | 4 +-
.../translations/km.json | 4 +-
39 files changed, 205 insertions(+), 182 deletions(-)
create mode 100644 packages/esm-appointments-app/src/root.component.tsx
delete mode 100644 packages/esm-patient-list-app/src/root.test.tsx
diff --git a/packages/esm-active-visits-app/src/active-visits-widget/active-visits.scss b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.scss
index a00f60cd2..d69cdd819 100644
--- a/packages/esm-active-visits-app/src/active-visits-widget/active-visits.scss
+++ b/packages/esm-active-visits-app/src/active-visits-widget/active-visits.scss
@@ -89,7 +89,6 @@
.tabletHeading {
text-align: left;
text-transform: capitalize;
- margin-bottom: spacing.$spacing-05;
h4 {
@include type.type-style('heading-compact-02');
diff --git a/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx b/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
index 5e0663e76..cf6ebfbad 100644
--- a/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
+++ b/packages/esm-appointments-app/src/appointments-calendar/appointments-calendar-view.component.tsx
@@ -16,7 +16,7 @@ const AppointmentsCalendarView: React.FC = () => {
return (
-
+
= ({ title, onChange
const { currentAppointmentDate } = useAppointmentDate();
const location = session?.sessionLocation?.display;
const { serviceTypes } = useAppointmentServices();
+
return (
diff --git a/packages/esm-appointments-app/src/appointments.component.tsx b/packages/esm-appointments-app/src/appointments.component.tsx
index 9b3454cf5..29604ffc2 100644
--- a/packages/esm-appointments-app/src/appointments.component.tsx
+++ b/packages/esm-appointments-app/src/appointments.component.tsx
@@ -1,28 +1,17 @@
import React, { useState } from 'react';
import { useTranslation } from 'react-i18next';
import AppointmentList from './appointments/appointment-tabs.component';
-import ClinicMetrics from './appointments-metrics/appointments-metrics.component';
import AppointmentsHeader from './appointments-header/appointments-header.component';
+import ClinicMetrics from './appointments-metrics/appointments-metrics.component';
import Overlay from './overlay.component';
-import AppointmentsCalendarListView from './appointments-calendar/appointments-calendar-view.component';
-import CalendarPatientList from './appointments-calendar/patient-list/calendar-patient-list.component';
const ClinicalAppointments: React.FC = () => {
const { t } = useTranslation();
const [appointmentServiceType, setAppointmentServiceType] = useState
('');
- const pathname = window.location.pathname;
-
- if (pathname.includes('calendar')) {
- return ;
- }
-
- if (pathname.includes('list')) {
- return ;
- }
return (
<>
-
+
diff --git a/packages/esm-appointments-app/src/index.ts b/packages/esm-appointments-app/src/index.ts
index 44a1bb204..58083f17b 100644
--- a/packages/esm-appointments-app/src/index.ts
+++ b/packages/esm-appointments-app/src/index.ts
@@ -31,6 +31,8 @@ export function startupApp() {
]);
}
+export const root = getAsyncLifecycle(() => import('./root.component'), options);
+
export const appointmentsDashboardLink = getSyncLifecycle(createDashboardLink(dashboardMeta), options);
export const appointmentsCalendarDashboardLink = getSyncLifecycle(
diff --git a/packages/esm-appointments-app/src/root.component.tsx b/packages/esm-appointments-app/src/root.component.tsx
new file mode 100644
index 000000000..b0772cf56
--- /dev/null
+++ b/packages/esm-appointments-app/src/root.component.tsx
@@ -0,0 +1,28 @@
+import React from 'react';
+import { SWRConfig } from 'swr';
+import { BrowserRouter, Route, Routes } from 'react-router-dom';
+import AppointmentsCalendarView from './appointments-calendar/appointments-calendar-view.component';
+import ClinicalAppointments from './appointments.component';
+
+const swrConfiguration = {
+ errorRetryCount: 3,
+};
+
+const RootComponent: React.FC = () => {
+ const appointmentsBasename = window.getOpenmrsSpaBase() + 'home/appointments';
+
+ return (
+
+
+
+
+ } />
+ } />
+
+
+
+
+ );
+};
+
+export default RootComponent;
diff --git a/packages/esm-appointments-app/src/routes.json b/packages/esm-appointments-app/src/routes.json
index 8b12c12a9..64ebecdc8 100644
--- a/packages/esm-appointments-app/src/routes.json
+++ b/packages/esm-appointments-app/src/routes.json
@@ -20,6 +20,11 @@
"title": "Appointments"
}
},
+ {
+ "component": "root",
+ "name": "clinical-appointments-dashboard",
+ "slot": "clinical-appointments-dashboard-slot"
+ },
{
"name": "appointments-calendar-dashboard-link",
"slot": "calendar-dashboard-slot",
@@ -30,16 +35,10 @@
"slot": "todays-appointment-slot",
"component": "checkInModal"
},
- {
- "name": "clinical-appointments-dashboard",
- "slot": "clinical-appointments-dashboard-slot",
- "component": "appointmentsDashboard"
- },
{
"name": "todays-appointments-dashboard",
"slot": "todays-appointment-slot",
"component": "homeAppointments"
}
- ],
- "pages": []
+ ]
}
\ No newline at end of file
diff --git a/packages/esm-appointments-app/translations/am.json b/packages/esm-appointments-app/translations/am.json
index 586d9179f..e53ac77e4 100644
--- a/packages/esm-appointments-app/translations/am.json
+++ b/packages/esm-appointments-app/translations/am.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "Would you like to get a reminder about this appointment?",
"highestServiceVolume": "High volume service: {time}",
+ "home": "Home",
"honored": "Honored",
"identifier": "Identifier",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-appointments-app/translations/en.json b/packages/esm-appointments-app/translations/en.json
index d3497628c..5c8ae3634 100644
--- a/packages/esm-appointments-app/translations/en.json
+++ b/packages/esm-appointments-app/translations/en.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "Would you like to get a reminder about this appointment?",
"highestServiceVolume": "High volume service: {time}",
+ "home": "Home",
"honored": "Honored",
"identifier": "Identifier",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-appointments-app/translations/es.json b/packages/esm-appointments-app/translations/es.json
index 586d9179f..e53ac77e4 100644
--- a/packages/esm-appointments-app/translations/es.json
+++ b/packages/esm-appointments-app/translations/es.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "Would you like to get a reminder about this appointment?",
"highestServiceVolume": "High volume service: {time}",
+ "home": "Home",
"honored": "Honored",
"identifier": "Identifier",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-appointments-app/translations/fr.json b/packages/esm-appointments-app/translations/fr.json
index 586d9179f..e53ac77e4 100644
--- a/packages/esm-appointments-app/translations/fr.json
+++ b/packages/esm-appointments-app/translations/fr.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "Would you like to get a reminder about this appointment?",
"highestServiceVolume": "High volume service: {time}",
+ "home": "Home",
"honored": "Honored",
"identifier": "Identifier",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-appointments-app/translations/he.json b/packages/esm-appointments-app/translations/he.json
index e151d6df0..2c040c7b5 100644
--- a/packages/esm-appointments-app/translations/he.json
+++ b/packages/esm-appointments-app/translations/he.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "האם ברצונך לקבל תזכורת לתור זה?",
"highestServiceVolume": "נפח שירות גבוה: {time}",
+ "home": "Home",
"honored": "Honored",
"identifier": "מזהה",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-appointments-app/translations/km.json b/packages/esm-appointments-app/translations/km.json
index 0203e0edd..b911e6687 100644
--- a/packages/esm-appointments-app/translations/km.json
+++ b/packages/esm-appointments-app/translations/km.json
@@ -71,6 +71,7 @@
"gender": "Gender",
"getAppointmentReminder": "តើអ្នកចង់ទទួលបានការរំលឹកអំពីការណាត់ជួបនេះទេ?",
"highestServiceVolume": "ចំនួនមកទទួលសេវាកម្មខ្ពស់ {ពេលវេលា}",
+ "home": "Home",
"honored": "Honored",
"identifier": "អ្នកកំណត់អត្តសញ្ញាណ",
"launchFormUpForm": "Follow up",
diff --git a/packages/esm-patient-list-app/src/patient-list-list/patient-list-table.component.tsx b/packages/esm-patient-list-app/src/patient-list-list/patient-list-table.component.tsx
index 3d33b01e7..a5c518d55 100755
--- a/packages/esm-patient-list-app/src/patient-list-list/patient-list-table.component.tsx
+++ b/packages/esm-patient-list-app/src/patient-list-list/patient-list-table.component.tsx
@@ -117,7 +117,7 @@ const PatientListTableContainer: React.FC = ({
compact={isDesktop(layout)}
/>
) : error ? (
-
+
) : !patientLists?.length ? (
) : (
diff --git a/packages/esm-patient-list-app/src/root.component.tsx b/packages/esm-patient-list-app/src/root.component.tsx
index 5b225d518..d6b4891a4 100644
--- a/packages/esm-patient-list-app/src/root.component.tsx
+++ b/packages/esm-patient-list-app/src/root.component.tsx
@@ -4,8 +4,10 @@ import PatientListList from './patient-list-list/patient-list-list.component';
import PatientListDetailComponent from './patient-list-detail/patient-list-detail.component';
const RootComponent: React.FC = () => {
+ const patientListsBasename = window.getOpenmrsSpaBase() + 'home/patient-lists';
+
return (
-
+
} />
} />
diff --git a/packages/esm-patient-list-app/src/root.test.tsx b/packages/esm-patient-list-app/src/root.test.tsx
deleted file mode 100644
index 74790cd1c..000000000
--- a/packages/esm-patient-list-app/src/root.test.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import { render } from '@testing-library/react';
-
-import RootComponent from './root.component';
-window['getOpenmrsSpaBase'] = jest.fn().mockImplementation(() => '/');
-
-describe('RootComponent', () => {
- it('renders without crashing', () => {
- render();
- });
-});
diff --git a/packages/esm-patient-list-app/src/routes.json b/packages/esm-patient-list-app/src/routes.json
index c02ad0e12..069cc39ee 100644
--- a/packages/esm-patient-list-app/src/routes.json
+++ b/packages/esm-patient-list-app/src/routes.json
@@ -3,12 +3,6 @@
"backendDependencies": {
"webservices.rest": "^2.2.0"
},
- "pages": [
- {
- "component": "root",
- "route": "patient-lists"
- }
- ],
"extensions": [
{
"name": "patient-lists-dashboard-link",
@@ -21,8 +15,8 @@
}
},
{
- "name": "patient-lists-dashboard",
"component": "root",
+ "name": "patient-lists-dashboard",
"slot": "patient-lists-dashboard-slot"
},
{
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
index dc4020abc..4c82b8e59 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.test.tsx
@@ -5,7 +5,7 @@ import userEvent from '@testing-library/user-event';
import { showToast, useConfig, usePatient } from '@openmrs/esm-framework';
import { FormManager } from './form-manager';
import { saveEncounter, savePatient } from './patient-registration.resource';
-import { Encounter } from './patient-registration-types';
+import type { Encounter } from './patient-registration.types';
import { Resources, ResourcesContext } from '../offline.resources';
import { PatientRegistration } from './patient-registration.component';
import { RegistrationConfig } from '../config-schema';
@@ -19,6 +19,17 @@ const mockedSaveEncounter = saveEncounter as jest.Mock;
const mockedSavePatient = savePatient as jest.Mock;
const mockedShowToast = showToast as jest.Mock;
+jest.setTimeout(10000);
+
+jest.mock('@openmrs/esm-framework', () => {
+ const originalModule = jest.requireActual('@openmrs/esm-framework');
+
+ return {
+ ...originalModule,
+ validator: jest.fn(),
+ };
+});
+
// Mock field.resource using the manual mock (in __mocks__)
jest.mock('./field/field.resource');
diff --git a/packages/esm-patient-registration-app/src/root.component.tsx b/packages/esm-patient-registration-app/src/root.component.tsx
index 4e6c620fc..d510e5bb3 100644
--- a/packages/esm-patient-registration-app/src/root.component.tsx
+++ b/packages/esm-patient-registration-app/src/root.component.tsx
@@ -43,7 +43,7 @@ export default function Root() {
identifierTypes,
currentSession,
}}>
-
+
{
return (
-
+
} />
diff --git a/packages/esm-patient-search-app/src/root.component.tsx b/packages/esm-patient-search-app/src/root.component.tsx
index 43e4c31ab..a1e75056e 100644
--- a/packages/esm-patient-search-app/src/root.component.tsx
+++ b/packages/esm-patient-search-app/src/root.component.tsx
@@ -4,9 +4,9 @@ import PatientSearchPageComponent from './patient-search-page/patient-search-pag
const PatientSearchRootComponent: React.FC = () => {
return (
-
+
- } />
+ } />
);
diff --git a/packages/esm-patient-search-app/src/routes.json b/packages/esm-patient-search-app/src/routes.json
index f79651220..851460d2e 100644
--- a/packages/esm-patient-search-app/src/routes.json
+++ b/packages/esm-patient-search-app/src/routes.json
@@ -3,24 +3,30 @@
"backendDependencies": {
"webservices.rest": "^2.2.0"
},
- "pages": [{
- "component": "root",
- "route": "search"
- }],
- "extensions": [{
- "name": "patient-search-icon",
- "component": "patientSearchIcon",
- "slot": "top-nav-actions-slot",
- "order": 0
- }, {
- "name": "patient-search-button",
- "component": "patientSearchButton",
- "slot": "patient-search-button-slot",
- "offline": true
- }, {
- "name": "patient-search-bar",
- "component": "patientSearchBar",
- "slot": "patient-search-bar-slot",
- "offline": true
- }]
-}
\ No newline at end of file
+ "pages": [
+ {
+ "component": "root",
+ "route": "search"
+ }
+ ],
+ "extensions": [
+ {
+ "name": "patient-search-icon",
+ "component": "patientSearchIcon",
+ "slot": "top-nav-actions-slot",
+ "order": 0
+ },
+ {
+ "name": "patient-search-button",
+ "component": "patientSearchButton",
+ "slot": "patient-search-button-slot",
+ "offline": true
+ },
+ {
+ "name": "patient-search-bar",
+ "component": "patientSearchBar",
+ "slot": "patient-search-bar-slot",
+ "offline": true
+ }
+ ]
+}
diff --git a/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
index 749249131..6f91d846f 100644
--- a/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
+++ b/packages/esm-service-queues-app/src/active-visits/active-visits-table.component.tsx
@@ -507,25 +507,27 @@ function ActiveVisitsTable() {
) : null}
- {t('noPatientsToDisplay', 'No patients to display')}
- ,
- size: 'sm',
- },
- selectPatientAction: (selectedPatientUuid) => {
- setShowOverlay(true);
- setView(SearchTypes.SCHEDULED_VISITS);
- setViewState({ selectedPatientUuid });
- setOverlayTitle(t('addPatientWithAppointmentToQueue', 'Add patient with appointment to queue'));
- },
- }}
- />
+
+
{t('noPatientsToDisplay', 'No patients to display')}
+
,
+ size: 'sm',
+ },
+ selectPatientAction: (selectedPatientUuid) => {
+ setShowOverlay(true);
+ setView(SearchTypes.SCHEDULED_VISITS);
+ setViewState({ selectedPatientUuid });
+ setOverlayTitle(t('addPatientWithAppointmentToQueue', 'Add patient with appointment to queue'));
+ },
+ }}
+ />
+
{showOverlay && (
diff --git a/packages/esm-service-queues-app/src/active-visits/active-visits-table.scss b/packages/esm-service-queues-app/src/active-visits/active-visits-table.scss
index ef03b8da7..e902d5565 100644
--- a/packages/esm-service-queues-app/src/active-visits/active-visits-table.scss
+++ b/packages/esm-service-queues-app/src/active-visits/active-visits-table.scss
@@ -130,6 +130,7 @@
@include type.type-style('heading-compact-02');
color: $text-02;
margin-bottom: 0.5rem;
+ align-self: center;
}
.helper {
@@ -181,6 +182,7 @@
.tileContent {
display: flex;
flex-direction: column;
+ justify-content: center;
align-items: center;
}
diff --git a/packages/esm-service-queues-app/src/home.component.tsx b/packages/esm-service-queues-app/src/home.component.tsx
index 139818263..0be18f6d5 100644
--- a/packages/esm-service-queues-app/src/home.component.tsx
+++ b/packages/esm-service-queues-app/src/home.component.tsx
@@ -1,28 +1,20 @@
import React from 'react';
+import { ConfigObject, useConfig } from '@openmrs/esm-framework';
import ActiveVisitsTable from './active-visits/active-visits-table.component';
import ActiveVisitsTabs from './active-visits/active-visits-tab.component';
import ClinicMetrics from './patient-queue-metrics/clinic-metrics.component';
-import { ConfigObject, useConfig } from '@openmrs/esm-framework';
import PatientQueueHeader from './patient-queue-header/patient-queue-header.component';
-import QueueScreen from './queue-screen/queue-screen.component';
-
-interface HomeProps {}
-const Home: React.FC = (props) => {
- const config = useConfig() as ConfigObject;
- const useQueueTableTabs = config.showQueueTableTab;
- const pathName = window.location.pathname;
- const activeTicketScreen = pathName.substring(pathName.lastIndexOf('/') + 1);
+const Home: React.FC = () => {
+ const config = useConfig();
+ const useQueueTableTabs: boolean = config.showQueueTableTab;
- if (activeTicketScreen === 'screen') {
- return ;
- }
return (
-
+ <>
- {useQueueTableTabs === true ?
:
}
-
+ {useQueueTableTabs ? : }
+ >
);
};
diff --git a/packages/esm-service-queues-app/src/index.ts b/packages/esm-service-queues-app/src/index.ts
index 9d46146d0..1aab10649 100644
--- a/packages/esm-service-queues-app/src/index.ts
+++ b/packages/esm-service-queues-app/src/index.ts
@@ -12,6 +12,8 @@ const options = {
moduleName,
};
+export const root = getAsyncLifecycle(() => import('./root.component'), options);
+
export const appointmentsList = getAsyncLifecycle(
() => import('./queue-patient-linelists/scheduled-appointments-table.component'),
options,
diff --git a/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
index 93fa9931f..fd2024efb 100644
--- a/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
+++ b/packages/esm-service-queues-app/src/patient-queue-header/patient-queue-header.component.tsx
@@ -15,9 +15,9 @@ import styles from './patient-queue-header.scss';
const PatientQueueHeader: React.FC<{ title?: string }> = ({ title }) => {
const { t } = useTranslation();
+ const { queueLocations } = useQueueLocations();
const userSession = useSession();
const userLocation = userSession?.sessionLocation?.display;
- const { queueLocations } = useQueueLocations();
const currentQueueLocationName = useSelectedQueueLocationName();
const handleQueueLocationChange = ({ selectedItem }) => {
diff --git a/packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx b/packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx
index d0e9321d4..5b68b255d 100644
--- a/packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx
+++ b/packages/esm-service-queues-app/src/queue-screen/queue-screen.component.tsx
@@ -28,7 +28,7 @@ const QueueScreen: React.FC = () => {
return (
-
+
{rowData.map((row) => (
diff --git a/packages/esm-service-queues-app/src/root.component.tsx b/packages/esm-service-queues-app/src/root.component.tsx
index c87f5f8ae..7312845cf 100644
--- a/packages/esm-service-queues-app/src/root.component.tsx
+++ b/packages/esm-service-queues-app/src/root.component.tsx
@@ -1,9 +1,10 @@
import React from 'react';
import { SWRConfig } from 'swr';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
-import { spaBasePath } from './constants';
import AppointmentsTable from './queue-patient-linelists/scheduled-appointments-table.component';
+import Home from './home.component';
import ServicesTable from './queue-patient-linelists/queue-services-table.component';
+import QueueScreen from './queue-screen/queue-screen.component';
const swrConfiguration = {
// Maximum number of retries when the backend returns an error
@@ -11,11 +12,15 @@ const swrConfiguration = {
};
const Root: React.FC = () => {
+ const serviceQueuesBasename = window.getOpenmrsSpaBase() + 'home/service-queues';
+
return (
-
+
+ } />
+ } />
} />
} />
diff --git a/packages/esm-service-queues-app/src/root.test.tsx b/packages/esm-service-queues-app/src/root.test.tsx
index e9ff7aa9c..44a21eb82 100644
--- a/packages/esm-service-queues-app/src/root.test.tsx
+++ b/packages/esm-service-queues-app/src/root.test.tsx
@@ -12,17 +12,16 @@ describe('Root Component', () => {
});
it('renders AppointmentsTable component for "/appointments-list/:value/" route', () => {
- window.history.pushState({}, 'Appointments List', '/spa/home/service-queues/appointments-list/some-value/');
+ window.history.pushState({}, 'Appointments List', '/openmrs/spa/home/service-queues/appointments-list/some-value/');
render();
expect(screen.getByRole('progressbar')).toBeInTheDocument();
});
it('renders ServicesTable component for "/queue-list/:value/" route', () => {
- window.history.pushState({}, 'Queue List', '/spa/home/service-queues/queue-list/some-value/');
+ window.history.pushState({}, 'Queue List', '/openmrs/spa/home/service-queues/queue-list/some-value/');
render();
- const servicesTable = screen.getByText('A list of clients waiting for queue-list');
- expect(servicesTable).toBeInTheDocument();
+ expect(screen.getByRole('progressbar')).toBeInTheDocument();
});
});
diff --git a/packages/esm-service-queues-app/src/routes.json b/packages/esm-service-queues-app/src/routes.json
index b18462510..174980d0c 100644
--- a/packages/esm-service-queues-app/src/routes.json
+++ b/packages/esm-service-queues-app/src/routes.json
@@ -3,20 +3,6 @@
"backendDependencies": {
"webservices.rest": "^2.2.0"
},
- "pages": [
- {
- "component": "appointmentsList",
- "routeRegex": "^appointments-list",
- "online": true,
- "offline": true
- },
- {
- "component": "queueList",
- "routeRegex": "^queue-list",
- "online": true,
- "offline": true
- }
- ],
"extensions": [
{
"name": "outpatient-side-nav-ext",
@@ -38,11 +24,9 @@
"offline": true
},
{
- "name": "home-dashboard",
- "component": "homeDashboard",
- "slot": "service-queues-dashboard-slot",
- "online": true,
- "offline": true
+ "component": "root",
+ "name": "service-queues-dashboard",
+ "slot": "service-queues-dashboard-slot"
},
{
"name": "edit-queue-entry-status-modal",
diff --git a/packages/esm-service-queues-app/translations/am.json b/packages/esm-service-queues-app/translations/am.json
index 3d7fa00fc..f5024630a 100644
--- a/packages/esm-service-queues-app/translations/am.json
+++ b/packages/esm-service-queues-app/translations/am.json
@@ -59,7 +59,6 @@
"discard": "Discard",
"dose": "Dose",
"editPatientDetails": "Edit patient details",
- "encounters": "Encounters",
"encounterType": "Encounter type",
"endAgeRangeInvalid": "End age range is not valid",
"endDate": "End date",
@@ -95,7 +94,6 @@
"lastVisit": "Last visit",
"lastVisitDate": "Date",
"loading": "Loading...",
- "locationComingFrom": "Coming from",
"male": "Male",
"maleLabelText": "Male",
"match": "Match",
@@ -162,6 +160,7 @@
"provider": "Provider",
"quantity": "Quantity",
"queueAddedSuccessfully": "Queue addeded successfully",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "Error adding patient to the queue",
@@ -217,6 +216,7 @@
"servePatient": "Serve patient",
"service": "Service",
"serviceQueue": "Service queue",
+ "serviceQueues": "Service queues",
"sex": "Sex",
"showAllDetails": "Show all details",
"showLess": "Show less",
diff --git a/packages/esm-service-queues-app/translations/en.json b/packages/esm-service-queues-app/translations/en.json
index d00600d2c..d4630664d 100644
--- a/packages/esm-service-queues-app/translations/en.json
+++ b/packages/esm-service-queues-app/translations/en.json
@@ -59,7 +59,6 @@
"discard": "Discard",
"dose": "Dose",
"editPatientDetails": "Edit patient details",
- "encounters": "Encounters",
"encounterType": "Encounter type",
"endAgeRangeInvalid": "End age range is not valid",
"endDate": "End date",
@@ -95,7 +94,6 @@
"lastVisit": "Last Visit",
"lastVisitDate": "Date",
"loading": "Loading...",
- "locationComingFrom": "Coming from",
"male": "Male",
"maleLabelText": "Male",
"match": "Match",
@@ -162,6 +160,7 @@
"provider": "Provider",
"quantity": "Quantity",
"queueAddedSuccessfully": "Queue addeded successfully",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "Error adding patient to the queue",
@@ -217,6 +216,7 @@
"servePatient": "Serve patient",
"service": "Service",
"serviceQueue": "Service queue",
+ "serviceQueues": "Service queues",
"sex": "Sex",
"showAllDetails": "Show all details",
"showLess": "Show less",
diff --git a/packages/esm-service-queues-app/translations/es.json b/packages/esm-service-queues-app/translations/es.json
index 3d7fa00fc..f5024630a 100644
--- a/packages/esm-service-queues-app/translations/es.json
+++ b/packages/esm-service-queues-app/translations/es.json
@@ -59,7 +59,6 @@
"discard": "Discard",
"dose": "Dose",
"editPatientDetails": "Edit patient details",
- "encounters": "Encounters",
"encounterType": "Encounter type",
"endAgeRangeInvalid": "End age range is not valid",
"endDate": "End date",
@@ -95,7 +94,6 @@
"lastVisit": "Last visit",
"lastVisitDate": "Date",
"loading": "Loading...",
- "locationComingFrom": "Coming from",
"male": "Male",
"maleLabelText": "Male",
"match": "Match",
@@ -162,6 +160,7 @@
"provider": "Provider",
"quantity": "Quantity",
"queueAddedSuccessfully": "Queue addeded successfully",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "Error adding patient to the queue",
@@ -217,6 +216,7 @@
"servePatient": "Serve patient",
"service": "Service",
"serviceQueue": "Service queue",
+ "serviceQueues": "Service queues",
"sex": "Sex",
"showAllDetails": "Show all details",
"showLess": "Show less",
diff --git a/packages/esm-service-queues-app/translations/fr.json b/packages/esm-service-queues-app/translations/fr.json
index 3d7fa00fc..f5024630a 100644
--- a/packages/esm-service-queues-app/translations/fr.json
+++ b/packages/esm-service-queues-app/translations/fr.json
@@ -59,7 +59,6 @@
"discard": "Discard",
"dose": "Dose",
"editPatientDetails": "Edit patient details",
- "encounters": "Encounters",
"encounterType": "Encounter type",
"endAgeRangeInvalid": "End age range is not valid",
"endDate": "End date",
@@ -95,7 +94,6 @@
"lastVisit": "Last visit",
"lastVisitDate": "Date",
"loading": "Loading...",
- "locationComingFrom": "Coming from",
"male": "Male",
"maleLabelText": "Male",
"match": "Match",
@@ -162,6 +160,7 @@
"provider": "Provider",
"quantity": "Quantity",
"queueAddedSuccessfully": "Queue addeded successfully",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "Error adding patient to the queue",
@@ -217,6 +216,7 @@
"servePatient": "Serve patient",
"service": "Service",
"serviceQueue": "Service queue",
+ "serviceQueues": "Service queues",
"sex": "Sex",
"showAllDetails": "Show all details",
"showLess": "Show less",
diff --git a/packages/esm-service-queues-app/translations/he.json b/packages/esm-service-queues-app/translations/he.json
index 2f4aaad32..ff47cdf07 100644
--- a/packages/esm-service-queues-app/translations/he.json
+++ b/packages/esm-service-queues-app/translations/he.json
@@ -59,7 +59,6 @@
"discard": "בטל",
"dose": "מינון",
"editPatientDetails": "ערוך פרטי מטופל",
- "encounters": "פגישות",
"encounterType": "סוג הפגישה",
"endAgeRangeInvalid": "טווח גיל סיום אינו תקין",
"endDate": "תאריך סיום",
@@ -97,7 +96,6 @@
"lastVisit": "הביקור האחרון",
"lastVisitDate": "תאריך",
"loading": "טוען...",
- "locationComingFrom": "Coming from",
"male": "זכר",
"maleLabelText": "זכר",
"match": "התאמה",
@@ -164,6 +162,7 @@
"provider": "ספק",
"quantity": "כמות",
"queueAddedSuccessfully": "תור נוסף בהצלחה",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "שגיאה בהוספת המטופל לתור",
@@ -221,6 +220,7 @@
"servePatient": "Serve patient",
"service": "שירות",
"serviceQueue": "תור שירות",
+ "serviceQueues": "Service queues",
"sex": "מין",
"showAllDetails": "הצג את כל הפרטים",
"showLess": "הצג פחות",
diff --git a/packages/esm-service-queues-app/translations/km.json b/packages/esm-service-queues-app/translations/km.json
index 32411922d..3a873217e 100644
--- a/packages/esm-service-queues-app/translations/km.json
+++ b/packages/esm-service-queues-app/translations/km.json
@@ -59,7 +59,6 @@
"discard": "បោះបង់",
"dose": "កំរិតប្រើប្រាស់",
"editPatientDetails": "កែសម្រួលព័ត៌មានលម្អិតអ្នកជំងឺ",
- "encounters": "ការជួបប្រទះ",
"encounterType": "ប្រភេទនៃការជួបប្រទះ",
"endAgeRangeInvalid": "ចន្លោះអាយុចុងក្រោយមិនត្រឹមត្រូវទេ",
"endDate": "កាលបរិច្ឆេទបញ្ចប់",
@@ -94,7 +93,6 @@
"lastVisit": "ការមកពិនិត្យជំងឺចុងក្រោយ",
"lastVisitDate": "កាលបរិច្ឆេទ",
"loading": "កំពុងផ្ទុក...",
- "locationComingFrom": "Coming from",
"male": "ប្រុស",
"maleLabelText": "ប្រុស",
"match": "ធ្វើឱ្យស៊ីគ្នា",
@@ -161,6 +159,7 @@
"provider": "អ្នកផ្តល់សេវា",
"quantity": "បរិមាណ",
"queueAddedSuccessfully": "បានបន្ថែមជួរដោយជោគជ័យ",
+ "queueComingFrom": "Coming from",
"queueEntryAddedSuccessfully": "Queue Entry Added Successfully",
"queueEntryAddFailed": "Error adding queue entry status",
"queueEntryError": "កំហុសក្នុងការបន្ថែមអ្នកជំងឺទៅតាមជួរ",
@@ -215,6 +214,7 @@
"servePatient": "Serve patient",
"service": "សេវា",
"serviceQueue": "ជួរសេវាកម្ម",
+ "serviceQueues": "Service queues",
"sex": "ភេទ",
"showAllDetails": "បង្ហាញព័ត៌មានលម្អិតទាំងអស់",
"showLess": "បង្ហាញតិច",