@openmrs/esm-appointments-app 9.2.1-pre.7296 → 9.2.1-pre.7315

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/dist/1431.js +1 -1
  3. package/dist/1431.js.map +1 -1
  4. package/dist/1559.js +1 -1
  5. package/dist/1559.js.map +1 -1
  6. package/dist/2265.js +1 -0
  7. package/dist/2265.js.map +1 -0
  8. package/dist/{5160.js → 4036.js} +1 -1
  9. package/dist/{5160.js.map → 4036.js.map} +1 -1
  10. package/dist/449.js +1 -1
  11. package/dist/449.js.map +1 -1
  12. package/dist/4515.js +1 -0
  13. package/dist/4515.js.map +1 -0
  14. package/dist/4745.js +1 -1
  15. package/dist/4745.js.map +1 -1
  16. package/dist/4889.js +1 -1
  17. package/dist/4889.js.map +1 -1
  18. package/dist/525.js +1 -1
  19. package/dist/525.js.map +1 -1
  20. package/dist/5666.js +1 -1
  21. package/dist/5666.js.map +1 -1
  22. package/dist/5755.js +1 -1
  23. package/dist/5755.js.map +1 -1
  24. package/dist/592.js +1 -1
  25. package/dist/592.js.map +1 -1
  26. package/dist/6467.js +1 -1
  27. package/dist/6467.js.map +1 -1
  28. package/dist/6886.js +1 -1
  29. package/dist/6886.js.map +1 -1
  30. package/dist/{7565.js → 7294.js} +1 -1
  31. package/dist/7294.js.map +1 -0
  32. package/dist/9712.js +1 -1
  33. package/dist/9712.js.map +1 -1
  34. package/dist/main.js +1 -1
  35. package/dist/main.js.map +1 -1
  36. package/dist/openmrs-esm-appointments-app.js.buildmanifest.json +121 -120
  37. package/dist/routes.json +1 -1
  38. package/package.json +1 -1
  39. package/src/appointments/common-components/appointments-table.component.tsx +3 -5
  40. package/src/constants.ts +1 -0
  41. package/src/form/appointments-form.resource.ts +1 -0
  42. package/src/form/appointments-form.test.tsx +136 -117
  43. package/src/form/appointments-form.workspace.tsx +43 -50
  44. package/src/form/exported-appointments-form.workspace.tsx +24 -0
  45. package/src/helpers/functions.ts +72 -25
  46. package/src/index.ts +5 -3
  47. package/src/metrics/metrics-cards/highest-volume-service.extension.tsx +1 -1
  48. package/src/metrics/metrics-cards/metrics-card.component.tsx +1 -1
  49. package/src/metrics/metrics-header.component.tsx +9 -24
  50. package/src/patient-appointments/patient-appointments-action-menu.component.tsx +1 -5
  51. package/src/patient-appointments/patient-appointments-detailed-summary.extension.tsx +176 -15
  52. package/src/patient-appointments/{patient-appointments-base.test.tsx → patient-appointments-detailed-summary.test.tsx} +14 -22
  53. package/src/patient-appointments/patient-appointments-overview.component.tsx +15 -18
  54. package/src/routes.json +18 -14
  55. package/dist/3092.js +0 -1
  56. package/dist/3092.js.map +0 -1
  57. package/dist/7026.js +0 -1
  58. package/dist/7026.js.map +0 -1
  59. package/dist/7565.js.map +0 -1
  60. package/src/hooks/patient-appointment-context.ts +0 -18
  61. package/src/patient-appointments/patient-appointments-base.component.tsx +0 -178
  62. package/src/patient-search/patient-search.component.tsx +0 -33
  63. package/src/patient-search/patient-search.scss +0 -24
  64. /package/src/patient-appointments/{patient-appointments-base.scss → patient-appointments-detailed-summary.scss} +0 -0
@@ -1,23 +1,184 @@
1
- import React from 'react';
2
- import PatientAppointmentsBase from './patient-appointments-base.component';
3
- import {
4
- PatientAppointmentContextProvider,
5
- PatientAppointmentContextTypes,
6
- } from '../hooks/patient-appointment-context';
7
-
8
- interface PatientAppointmentsDetailedSummaryProps {
1
+ import React, { useState, useMemo } from 'react';
2
+ import dayjs from 'dayjs';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { Button, ContentSwitcher, DataTableSkeleton, InlineLoading, Layer, Switch, Tile } from '@carbon/react';
5
+ import { Add } from '@carbon/react/icons';
6
+ import { launchWorkspace2, useLayoutType } from '@openmrs/esm-framework';
7
+ import { CardHeader, EmptyDataIllustration, ErrorState } from '@openmrs/esm-patient-common-lib';
8
+ import { type Appointment } from '../types';
9
+ import { usePatientAppointments } from './patient-appointments.resource';
10
+ import PatientAppointmentsTable from './patient-appointments-table.component';
11
+ import styles from './patient-appointments-detailed-summary.scss';
12
+
13
+ interface PatientAppointmentsDetailProps {
9
14
  patientUuid: string;
15
+
16
+ /**
17
+ * Optional callback to launch the appropriate appointments form workspace, depending
18
+ * on which app is using this extension. If not provided, uses the default implementation
19
+ * for patient chart context.
20
+ */
21
+ launchAppointmentForm?(patientUuid: string, appointment?: Appointment): void;
22
+ }
23
+
24
+ enum AppointmentTypes {
25
+ UPCOMING = 0,
26
+ TODAY = 1,
27
+ PAST = 2,
10
28
  }
29
+
11
30
  /**
12
- * This component is wired in as an extension to render the patient appointments view (all appointments for a single patient) within of the context of the patient chart.
13
- * It uses the PatientAppointmentsBase component to render the actual appointments data.
31
+ * This extension displays a detailed summary of appointments for a single patient.
32
+ * Note that this extension can be used both in the patient chart and in the appointments app.
33
+ * Accordingly, the `launchAppointmentForm` callback is passed in to allow the app to define
34
+ * how the appointments form workspace is launched.
14
35
  */
15
- const PatientAppointmentsDetailedSummary: React.FC<PatientAppointmentsDetailedSummaryProps> = ({ patientUuid }) => {
16
- return (
17
- <PatientAppointmentContextProvider value={PatientAppointmentContextTypes.PATIENT_CHART}>
18
- <PatientAppointmentsBase patientUuid={patientUuid} />
19
- </PatientAppointmentContextProvider>
36
+ const PatientAppointmentsDetailedSummary: React.FC<PatientAppointmentsDetailProps> = ({
37
+ patientUuid,
38
+ launchAppointmentForm,
39
+ }) => {
40
+ const { t } = useTranslation();
41
+ const headerTitle = t('appointments', 'Appointments');
42
+ const isTablet = useLayoutType() === 'tablet';
43
+ const [switchedView, setSwitchedView] = useState(false);
44
+
45
+ // Default implementation for patient chart context
46
+ const defaultLaunchAppointmentForm = (patientUuid: string, appointment?: Appointment) => {
47
+ launchWorkspace2('appointments-form-workspace', { patientUuid, appointment });
48
+ };
49
+
50
+ const handleLaunchAppointmentForm = launchAppointmentForm || defaultLaunchAppointmentForm;
51
+
52
+ const [contentSwitcherValue, setContentSwitcherValue] = useState(0);
53
+ const startDate = useMemo(() => dayjs().subtract(6, 'month').toISOString(), []);
54
+ const {
55
+ data: appointmentsData,
56
+ error,
57
+ isLoading,
58
+ isValidating,
59
+ } = usePatientAppointments(
60
+ patientUuid,
61
+ startDate,
62
+ useMemo(() => new AbortController(), []),
20
63
  );
64
+
65
+ if (isLoading) {
66
+ return <DataTableSkeleton role="progressbar" compact={!isTablet} zebra />;
67
+ }
68
+
69
+ if (error) {
70
+ return <ErrorState headerTitle={headerTitle} error={error} />;
71
+ }
72
+
73
+ if (appointmentsData && Object.keys(appointmentsData)?.length) {
74
+ return (
75
+ <div className={styles.widgetCard}>
76
+ <CardHeader title={headerTitle}>
77
+ {isValidating ? (
78
+ <span>
79
+ <InlineLoading />
80
+ </span>
81
+ ) : null}
82
+ <div className={styles.contentSwitcherWrapper}>
83
+ <ContentSwitcher
84
+ size={isTablet ? 'md' : 'sm'}
85
+ onChange={({ index }) => {
86
+ setContentSwitcherValue(index);
87
+ setSwitchedView(true);
88
+ }}>
89
+ <Switch name={'upcoming'} text={t('upcoming', 'Upcoming')} />
90
+ <Switch name={'today'} text={t('today', 'Today')} />
91
+ <Switch name={'past'} text={t('past', 'Past')} />
92
+ </ContentSwitcher>
93
+ <div className={styles.divider}>|</div>
94
+ <Button
95
+ kind="ghost"
96
+ renderIcon={(props) => <Add size={16} {...props} />}
97
+ iconDescription="Add Appointments"
98
+ onClick={() => handleLaunchAppointmentForm(patientUuid)}>
99
+ {t('add', 'Add')}
100
+ </Button>
101
+ </div>
102
+ </CardHeader>
103
+ {(() => {
104
+ if (contentSwitcherValue === AppointmentTypes.UPCOMING) {
105
+ if (appointmentsData.upcomingAppointments?.length) {
106
+ return (
107
+ <PatientAppointmentsTable
108
+ patientAppointments={appointmentsData?.upcomingAppointments}
109
+ switchedView={switchedView}
110
+ setSwitchedView={setSwitchedView}
111
+ patientUuid={patientUuid}
112
+ />
113
+ );
114
+ }
115
+ return (
116
+ <Layer>
117
+ <Tile className={styles.tile}>
118
+ <EmptyDataIllustration />
119
+ <p className={styles.content}>
120
+ {t(
121
+ 'noUpcomingAppointmentsForPatient',
122
+ 'There are no upcoming appointments to display for this patient',
123
+ )}
124
+ </p>
125
+ </Tile>
126
+ </Layer>
127
+ );
128
+ }
129
+
130
+ if (contentSwitcherValue === AppointmentTypes.TODAY) {
131
+ if (appointmentsData.todaysAppointments?.length) {
132
+ return (
133
+ <PatientAppointmentsTable
134
+ patientAppointments={appointmentsData?.todaysAppointments}
135
+ switchedView={switchedView}
136
+ setSwitchedView={setSwitchedView}
137
+ patientUuid={patientUuid}
138
+ />
139
+ );
140
+ }
141
+ return (
142
+ <Layer>
143
+ <Tile className={styles.tile}>
144
+ <EmptyDataIllustration />
145
+ <p className={styles.content}>
146
+ {t(
147
+ 'noCurrentAppointments',
148
+ 'There are no appointments scheduled for today to display for this patient',
149
+ )}
150
+ </p>
151
+ </Tile>
152
+ </Layer>
153
+ );
154
+ }
155
+
156
+ if (contentSwitcherValue === AppointmentTypes.PAST) {
157
+ if (appointmentsData.pastAppointments?.length) {
158
+ return (
159
+ <PatientAppointmentsTable
160
+ patientAppointments={appointmentsData?.pastAppointments}
161
+ switchedView={switchedView}
162
+ setSwitchedView={setSwitchedView}
163
+ patientUuid={patientUuid}
164
+ />
165
+ );
166
+ }
167
+ return (
168
+ <Layer>
169
+ <Tile className={styles.tile}>
170
+ <EmptyDataIllustration />
171
+ <p className={styles.content}>
172
+ {t('noPastAppointments', 'There are no past appointments to display for this patient')}
173
+ </p>
174
+ </Tile>
175
+ </Layer>
176
+ );
177
+ }
178
+ })()}
179
+ </div>
180
+ );
181
+ }
21
182
  };
22
183
 
23
184
  export default PatientAppointmentsDetailedSummary;
@@ -3,32 +3,32 @@ import { screen } from '@testing-library/react';
3
3
  import userEvent from '@testing-library/user-event';
4
4
  import { type FetchResponse, openmrsFetch } from '@openmrs/esm-framework';
5
5
  import { mockAppointmentsData } from '__mocks__';
6
- import { mockPatient, patientChartBasePath, renderWithContext, waitForLoadingToFinish, withSwr } from 'tools';
7
- import { type AppointmentsFetchResponse } from '../types';
8
6
  import {
9
- PatientAppointmentContextProvider,
10
- PatientAppointmentContextTypes,
11
- } from '../hooks/patient-appointment-context';
12
- import AppointmentsBase from './patient-appointments-base.component';
7
+ mockPatient,
8
+ patientChartBasePath,
9
+ renderWithContext,
10
+ renderWithSwr,
11
+ waitForLoadingToFinish,
12
+ withSwr,
13
+ } from 'tools';
14
+ import { type AppointmentsFetchResponse } from '../types';
15
+ import AppointmentsDetailedSummary from './patient-appointments-detailed-summary.extension';
13
16
 
14
17
  const testProps = {
15
18
  basePath: patientChartBasePath,
16
19
  patientUuid: mockPatient.id,
20
+ launchAppointmentForm: jest.fn(),
17
21
  };
18
22
 
19
23
  const mockOpenmrsFetch = jest.mocked(openmrsFetch);
20
24
 
21
- describe('AppointmentsOverview', () => {
25
+ describe('AppointmentsDetailedSummary', () => {
22
26
  it('renders an empty state if appointments data is unavailable', async () => {
23
27
  mockOpenmrsFetch.mockResolvedValueOnce({
24
28
  data: [],
25
29
  } as unknown as FetchResponse<AppointmentsFetchResponse>);
26
30
 
27
- renderWithContext(
28
- withSwr(<AppointmentsBase {...testProps} />),
29
- PatientAppointmentContextProvider,
30
- PatientAppointmentContextTypes.APPOINTMENTS_APP,
31
- );
31
+ renderWithSwr(<AppointmentsDetailedSummary {...testProps} />);
32
32
 
33
33
  await waitForLoadingToFinish();
34
34
 
@@ -48,11 +48,7 @@ describe('AppointmentsOverview', () => {
48
48
 
49
49
  mockOpenmrsFetch.mockRejectedValueOnce(error);
50
50
 
51
- renderWithContext(
52
- withSwr(<AppointmentsBase {...testProps} />),
53
- PatientAppointmentContextProvider,
54
- PatientAppointmentContextTypes.APPOINTMENTS_APP,
55
- );
51
+ renderWithSwr(<AppointmentsDetailedSummary {...testProps} />);
56
52
 
57
53
  await waitForLoadingToFinish();
58
54
 
@@ -71,11 +67,7 @@ describe('AppointmentsOverview', () => {
71
67
  ...mockAppointmentsData,
72
68
  } as unknown as FetchResponse<AppointmentsFetchResponse>);
73
69
 
74
- renderWithContext(
75
- withSwr(<AppointmentsBase {...testProps} />),
76
- PatientAppointmentContextProvider,
77
- PatientAppointmentContextTypes.APPOINTMENTS_APP,
78
- );
70
+ renderWithSwr(<AppointmentsDetailedSummary {...testProps} />);
79
71
 
80
72
  await waitForLoadingToFinish();
81
73
 
@@ -1,12 +1,8 @@
1
1
  import React from 'react';
2
2
  import { DataTableSkeleton } from '@carbon/react';
3
3
  import { useParams } from 'react-router-dom';
4
- import { usePatient, useLayoutType, isDesktop, WorkspaceContainer } from '@openmrs/esm-framework';
5
- import {
6
- PatientAppointmentContextProvider,
7
- PatientAppointmentContextTypes,
8
- } from '../hooks/patient-appointment-context';
9
- import PatientAppointmentsBase from './patient-appointments-base.component';
4
+ import { usePatient, useLayoutType, isDesktop, WorkspaceContainer, launchWorkspace2 } from '@openmrs/esm-framework';
5
+ import PatientAppointmentsDetailedSummary from './patient-appointments-detailed-summary.extension';
10
6
  import PatientAppointmentsHeader from './patient-appointments-header.component';
11
7
  import styles from './patient-appointments-overview.scss';
12
8
 
@@ -22,18 +18,19 @@ const PatientAppointmentsOverview: React.FC = () => {
22
18
  const response = usePatient(params.patientUuid);
23
19
  const layout = useLayoutType();
24
20
 
25
- return (
26
- <PatientAppointmentContextProvider value={PatientAppointmentContextTypes.APPOINTMENTS_APP}>
27
- {response.isLoading ? (
28
- <DataTableSkeleton role="progressbar" compact={isDesktop(layout)} zebra />
29
- ) : (
30
- <div className={styles.patientAppointmentsOverview}>
31
- <PatientAppointmentsHeader patient={response.patient} />
32
- <PatientAppointmentsBase patientUuid={response.patient.id} />
33
- <WorkspaceContainer overlay contextKey={`patient/${params.patientUuid}`} />
34
- </div>
35
- )}
36
- </PatientAppointmentContextProvider>
21
+ return response.isLoading ? (
22
+ <DataTableSkeleton role="progressbar" compact={isDesktop(layout)} zebra />
23
+ ) : (
24
+ <div className={styles.patientAppointmentsOverview}>
25
+ <PatientAppointmentsHeader patient={response.patient} />
26
+ <PatientAppointmentsDetailedSummary
27
+ patientUuid={response.patient.id}
28
+ launchAppointmentForm={(patientUuid, appointment) => {
29
+ launchWorkspace2('appointments-form-workspace', { patientUuid, appointment });
30
+ }}
31
+ />
32
+ <WorkspaceContainer overlay contextKey={`patient/${params.patientUuid}`} />
33
+ </div>
37
34
  );
38
35
  };
39
36
 
package/src/routes.json CHANGED
@@ -97,10 +97,6 @@
97
97
  "component": "patientUpcomingAppointmentsWidget",
98
98
  "slot": "visit-form-top-slot"
99
99
  },
100
- {
101
- "name": "search-patient",
102
- "component": "searchPatient"
103
- },
104
100
  {
105
101
  "name": "home-appointments-tile",
106
102
  "slot": "home-metrics-tiles-slot",
@@ -135,23 +131,31 @@
135
131
  "component": "cancelAppointmentModal"
136
132
  }
137
133
  ],
138
- "workspaces2": [
139
- {
140
- "name": "appointments-form-workspace",
141
- "component": "appointmentsFormWorkspace",
142
- "window": "appointments-form-window"
134
+ "workspaceGroups2": [{
135
+ "name": "appointments-group"
143
136
  }
144
137
  ],
145
138
  "workspaceWindows2": [
146
139
  {
147
- "name": "appointments-form-window",
148
- "group": "appointmentsFormWorkspaceGroup"
140
+ "name": "appointments-window",
141
+ "group": "appointments-group"
149
142
  }
150
143
  ],
151
- "workspaceGroups2": [
144
+ "workspaces2": [
145
+ {
146
+ "name": "appointments-form-workspace",
147
+ "component": "appointmentsFormWorkspace",
148
+ "window": "appointments-window"
149
+ },
150
+ {
151
+ "name": "appointments-patient-search-workspace",
152
+ "component": "@openmrs/esm-patient-search-app#patientSearchWorkspace2",
153
+ "window": "appointments-window"
154
+ },
152
155
  {
153
- "name": "appointmentsFormWorkspaceGroup",
154
- "overlay": false
156
+ "name": "appointments-patient-search-start-visit-workspace",
157
+ "component": "@openmrs/esm-patient-chart-app#exportedVisitForm",
158
+ "window": "appointments-window"
155
159
  }
156
160
  ]
157
161
  }
package/dist/3092.js DELETED
@@ -1 +0,0 @@
1
- (globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[]).push([[3092],{6986:(e,n,t)=>{"use strict";t.d(n,{bf:()=>l,hf:()=>i,vk:()=>r});var a=t(1343),r=function(e){return e[e.PATIENT_CHART=0]="PATIENT_CHART",e[e.APPOINTMENTS_APP=1]="APPOINTMENTS_APP",e}({}),o=(0,a.createContext)(0),i=o.Provider,l=function(){return(0,a.useContext)(o)}},30493:(e,n,t)=>{"use strict";t.d(n,{D:()=>d,y:()=>f});var a=t(23464),r=t.n(a),o=t(71123),i=t(54440),l=t(85602),s=t.n(l);function p(e,n,t,a,r,o,i){try{var l=e[o](i),s=l.value}catch(e){return void t(e)}l.done?n(s):Promise.resolve(s).then(a,r)}r().extend(s());var c="".concat(i.restBaseUrl,"/appointments/search");function d(e,n,t){var a,l,s,p,d,f,u,h=(0,o.Ay)(c,function(){return(0,i.openmrsFetch)(c,{method:"POST",signal:t.signal,headers:{"Content-Type":"application/json"},body:{patientUuid:e,startDate:n}})}),g=h.data,b=h.error,m=h.isLoading,y=h.isValidating,$=h.mutate,v=(null==g||null===(a=g.data)||void 0===a?void 0:a.length)?g.data:null,A=null==v||null===(s=v.sort(function(e,n){return n.startDateTime>e.startDateTime?1:-1}))||void 0===s||null===(l=s.filter(function(e){return"Cancelled"!==e.status}))||void 0===l?void 0:l.filter(function(e){var n=e.startDateTime;return r()(new Date(n).toISOString()).isBefore((new Date).setHours(0,0,0,0))}),w=null==v||null===(d=v.sort(function(e,n){return e.startDateTime>n.startDateTime?1:-1}))||void 0===d||null===(p=d.filter(function(e){return"Cancelled"!==e.status}))||void 0===p?void 0:p.filter(function(e){var n=e.startDateTime;return r()(new Date(n).toISOString()).isAfter(new Date)}),_=null==v||null===(u=v.sort(function(e,n){return e.startDateTime>n.startDateTime?1:-1}))||void 0===u||null===(f=u.filter(function(e){return"Cancelled"!==e.status}))||void 0===f?void 0:f.filter(function(e){var n=e.startDateTime;return r()(new Date(n).toISOString()).isToday()});return{data:g?{pastAppointments:A,upcomingAppointments:w,todaysAppointments:_}:null,error:b,isLoading:m,isValidating:y,mutate:$}}var f=function(e,n){return(t=function(){var t,a,o;return function(e,n){var t,a,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=l(0),i.throw=l(1),i.return=l(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(l){return function(s){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,l[0]&&(o=0)),o;)try{if(t=1,a&&(r=2&l[0]?a.return:l[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,l[1])).done)return r;switch(a=0,r&&(l=[2&l[0],r.value]),l[0]){case 0:case 1:r=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,a=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!r||l[1]>r[0]&&l[1]<r[3])){o.label=l[1];break}if(6===l[0]&&o.label<r[1]){o.label=r[1],r=l;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(l);break}r[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],a=0}finally{t=r=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,s])}}}(this,function(l){switch(l.label){case 0:return t=Intl.DateTimeFormat().resolvedOptions().timeZone,a=r()(new Date).format("YYYY-MM-DDTHH:mm:ss.SSSZZ"),o="".concat(i.restBaseUrl,"/appointments/").concat(n,"/status-change"),[4,(0,i.openmrsFetch)(o,{body:{toStatus:e,onDate:a,timeZone:t},method:"POST",headers:{"Content-Type":"application/json"}})];case 1:return[2,l.sent()]}})},function(){var e=this,n=arguments;return new Promise(function(a,r){var o=t.apply(e,n);function i(e){p(o,a,r,i,l,"next",e)}function l(e){p(o,a,r,i,l,"throw",e)}i(void 0)})})();var t}},57657:function(e){e.exports=function(){"use strict";var e="minute",n=/[+-]\d\d(?::?\d\d)?/g,t=/([+-]|\d\d)/g;return function(a,r,o){var i=r.prototype;o.utc=function(e){return new r({date:e,utc:!0,args:arguments})},i.utc=function(n){var t=o(this.toDate(),{locale:this.$L,utc:!0});return n?t.add(this.utcOffset(),e):t},i.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var l=i.parse;i.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),l.call(this,e)};var s=i.init;i.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else s.call(this)};var p=i.utcOffset;i.utcOffset=function(a,r){var o=this.$utils().u;if(o(a))return this.$u?0:o(this.$offset)?p.call(this):this.$offset;if("string"==typeof a&&(a=function(e){void 0===e&&(e="");var a=e.match(n);if(!a)return null;var r=(""+a[0]).match(t)||["-",0,0],o=r[0],i=60*+r[1]+ +r[2];return 0===i?0:"+"===o?i:-i}(a),null===a))return this;var i=Math.abs(a)<=16?60*a:a,l=this;if(r)return l.$offset=i,l.$u=0===a,l;if(0!==a){var s=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(l=this.local().add(i+s,e)).$offset=i,l.$x.$localOffset=s}else l=this.utc();return l};var c=i.format;i.format=function(e){var n=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,n)},i.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},i.isUTC=function(){return!!this.$u},i.toISOString=function(){return this.toDate().toISOString()},i.toString=function(){return this.toDate().toUTCString()};var d=i.toDate;i.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var f=i.diff;i.diff=function(e,n,t){if(e&&this.$u===e.$u)return f.call(this,e,n,t);var a=this.local(),r=o(e).local();return f.call(a,r,n,t)}}}()},63092:(e,n,t)=>{"use strict";t.d(n,{A:()=>Z});var a=t(1343),r=t.n(a),o=t(23464),i=t.n(o),l=t(72339),s=t(35257),p=t(85848),c=t(54440),d=t(97999),f=t(30493),u=t(6986),h=t(53373),g=t.n(h),b=t(72591),m=t.n(b),y=t(1740),$=t.n(y),v=t(88128),A=t.n(v),w=t(30855),_=t.n(w),x=t(93051),k=t.n(x),C=t(73656),z=t.n(C),E=t(84317),M={};M.styleTagTransform=z(),M.setAttributes=_(),M.insert=A().bind(null,"head"),M.domAPI=$(),M.insertStyleElement=k(),m()(E.A,M);const T=E.A&&E.A.locals?E.A.locals:void 0;var S=function(e){var n=e.appointment,t=e.patientUuid,a=(0,l.useTranslation)().t,o="tablet"===(0,c.useLayoutType)();return r().createElement(s.Wdr,{className:T.layer},r().createElement(s.obU,{"aria-label":"Edit or delete appointment",size:o?"lg":"sm",flipped:!0,align:"left"},r().createElement(s.XSD,{className:T.menuItem,id:"editAppointment",itemText:a("edit","Edit"),onClick:function(){(0,c.launchWorkspace2)("appointments-form-workspace",{appointment:n,context:"editing",patientUuid:t})}}),r().createElement(s.XSD,{className:T.menuItem,hasDivider:!0,id:"cancelAppointment",isDelete:!0,itemText:a("cancel","Cancel"),onClick:function(){var e=(0,c.showModal)("cancel-appointment-modal",{closeCancelModal:function(){return e()},appointmentUuid:n.uuid,patientUuid:t})}})))},D=t(92427),O={};O.styleTagTransform=z(),O.setAttributes=_(),O.insert=A().bind(null,"head"),O.domAPI=$(),O.insertStyleElement=k(),m()(D.A,O);const B=D.A&&D.A.locals?D.A.locals:void 0;function I(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function N(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.forEach(function(n){I(e,n,t[n])})}return e}var W=t(57657);i().extend(W);const F=function(e){var n=e.patientAppointments,t=e.patientUuid,o=e.switchedView,i=e.setSwitchedView,p=(0,l.useTranslation)().t,f=(0,c.usePagination)(n,10),u=f.results,h=f.currentPage,b=f.goTo,m="tablet"===(0,c.useLayoutType)();(0,a.useEffect)(function(){o&&1!==h&&b(1)},[o,b,h]);var y=(0,a.useMemo)(function(){return[{key:"date",header:p("date","Date")},{key:"location",header:p("location","Location")},{key:"service",header:p("service","Service")},{key:"status",header:p("status","Status")},{key:"type",header:p("type","Type")},{key:"notes",header:p("notes","Notes")}]},[p]),$=(0,a.useMemo)(function(){return null==u?void 0:u.map(function(e){var n,t;return{id:e.uuid,date:(0,c.formatDatetime)((0,c.parseDate)(e.startDateTime),{mode:"wide"}),location:(null==e||null===(n=e.location)||void 0===n?void 0:n.name)?null==e||null===(t=e.location)||void 0===t?void 0:t.name:"——",service:e.service.name,status:e.status,type:e.appointmentKind?e.appointmentKind:"——",notes:e.comments?e.comments:"——"}})},[u]);return r().createElement("div",null,r().createElement(s.bQt,{rows:$,headers:y,isSortable:!0,size:m?"lg":"sm",useZebraStyles:!0},function(e){var n=e.rows,a=e.headers,o=e.getHeaderProps,i=e.getTableProps;return r().createElement(s.K3K,null,r().createElement(s.XIK,N({className:B.table},i()),r().createElement(s.ndF,null,r().createElement(s.Hjg,null,a.map(function(e){var n,t;return r().createElement(s.A0N,N({className:g()(B.productiveHeading01,B.text02)},o({header:e,isSortable:e.isSortable})),null!==(t=null===(n=e.header)||void 0===n?void 0:n.content)&&void 0!==t?t:e.header)}),r().createElement(s.A0N,null))),r().createElement(s.BFY,null,n.map(function(e,n){return r().createElement(s.Hjg,{key:e.id},e.cells.map(function(e){var n,t;return r().createElement(s.nA6,{key:e.id},null!==(t=null===(n=e.value)||void 0===n?void 0:n.content)&&void 0!==t?t:e.value)}),r().createElement(s.nA6,{className:"cds--table-column-menu"},r().createElement(S,{appointment:u[n],patientUuid:t})))}))))}),r().createElement(d.PatientChartPagination,{currentItems:u.length,totalItems:n.length,onPageNumberChange:function(e){var n=e.page;i(!1),b(n)},pageNumber:h,pageSize:10}))};var P=t(87352),G={};G.styleTagTransform=z(),G.setAttributes=_(),G.insert=A().bind(null,"head"),G.domAPI=$(),G.insertStyleElement=k(),m()(P.A,G);const H=P.A&&P.A.locals?P.A.locals:void 0;function U(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}function j(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function q(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,o=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(a=t.next()).done)&&(o.push(a.value),!n||o.length!==n);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw r}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return U(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?U(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const Z=function(e){var n,t,o,h,g=e.patientUuid,b=(0,l.useTranslation)().t,m=b("appointments","Appointments"),y="tablet"===(0,c.useLayoutType)(),$=((0,u.bf)(),q((0,a.useState)(!1),2)),v=$[0],A=$[1],w=q((0,a.useState)(0),2),_=w[0],x=w[1],k=(0,a.useMemo)(function(){return i()().subtract(6,"month").toISOString()},[]),C=(0,f.D)(g,k,(0,a.useMemo)(function(){return new AbortController},[])),z=C.data,E=C.error,M=C.isLoading,T=C.isValidating;return M?r().createElement(s.OOb,{role:"progressbar",compact:!y,zebra:!0}):E?r().createElement(d.ErrorState,{headerTitle:m,error:E}):z&&(null===(n=Object.keys(z))||void 0===n?void 0:n.length)?r().createElement("div",{className:H.widgetCard},r().createElement(d.CardHeader,{title:m},T?r().createElement("span",null,r().createElement(s.OuH,null)):null,r().createElement("div",{className:H.contentSwitcherWrapper},r().createElement(s.Tps,{size:y?"md":"sm",onChange:function(e){var n=e.index;x(n),A(!0)}},r().createElement(s.dOG,{name:"upcoming",text:b("upcoming","Upcoming")}),r().createElement(s.dOG,{name:"today",text:b("today","Today")}),r().createElement(s.dOG,{name:"past",text:b("past","Past")})),r().createElement("div",{className:H.divider},"|"),r().createElement(s.$nd,{kind:"ghost",renderIcon:function(e){return r().createElement(p.OM,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.forEach(function(n){j(e,n,t[n])})}return e}({size:16},e))},iconDescription:"Add Appointments",onClick:function(){u.vk.PATIENT_CHART,(0,c.launchWorkspace2)("appointments-form-workspace",{context:"creating",patientUuid:g})}},b("add","Add")))),0===_?(null===(t=z.upcomingAppointments)||void 0===t?void 0:t.length)?r().createElement(F,{patientAppointments:null==z?void 0:z.upcomingAppointments,switchedView:v,setSwitchedView:A,patientUuid:g}):r().createElement(s.Wdr,null,r().createElement(s.FAs,{className:H.tile},r().createElement(d.EmptyDataIllustration,null),r().createElement("p",{className:H.content},b("noUpcomingAppointmentsForPatient","There are no upcoming appointments to display for this patient")))):1===_?(null===(o=z.todaysAppointments)||void 0===o?void 0:o.length)?r().createElement(F,{patientAppointments:null==z?void 0:z.todaysAppointments,switchedView:v,setSwitchedView:A,patientUuid:g}):r().createElement(s.Wdr,null,r().createElement(s.FAs,{className:H.tile},r().createElement(d.EmptyDataIllustration,null),r().createElement("p",{className:H.content},b("noCurrentAppointments","There are no appointments scheduled for today to display for this patient")))):2===_?(null===(h=z.pastAppointments)||void 0===h?void 0:h.length)?r().createElement(F,{patientAppointments:null==z?void 0:z.pastAppointments,switchedView:v,setSwitchedView:A,patientUuid:g}):r().createElement(s.Wdr,null,r().createElement(s.FAs,{className:H.tile},r().createElement(d.EmptyDataIllustration,null),r().createElement("p",{className:H.content},b("noPastAppointments","There are no past appointments to display for this patient")))):void 0):void 0}},84317:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var a=t(30977),r=t.n(a),o=t(95924),i=t.n(o)()(r());i.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-appointments__patient-appointments-action-menu__layer___MNH1H{height:100%}.-esm-appointments__patient-appointments-action-menu__menuItem___FJjza{max-width:none}.-esm-appointments__patient-appointments-action-menu__text02___WFt5A{color:#525252}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/patient-appointments/patient-appointments-action-menu.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC3DF,oEACE,WAAA,CAGF,uEACE,cAAA,CAGF,qEACE,aDJQ",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.layer {\n height: 100%;\n}\n\n.menuItem {\n max-width: none;\n}\n\n.text02 {\n color: $text-02;\n}\n"],sourceRoot:""}]),i.locals={layer:"-esm-appointments__patient-appointments-action-menu__layer___MNH1H",menuItem:"-esm-appointments__patient-appointments-action-menu__menuItem___FJjza",text02:"-esm-appointments__patient-appointments-action-menu__text02___WFt5A"};const l=i},87352:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var a=t(30977),r=t.n(a),o=t(95924),i=t.n(o)()(r());i.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-appointments__patient-appointments-base__widgetCard___kgLgy{border:1px solid #e0e0e0}.-esm-appointments__patient-appointments-base__productiveHeading01___3G7S7{font-size:var(--cds-heading-compact-01-font-size, 0.875rem);font-weight:var(--cds-heading-compact-01-font-weight, 600);line-height:var(--cds-heading-compact-01-line-height, 1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing, 0.16px)}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z{display:flex;justify-content:flex-end;align-items:center;width:60%}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button{background-color:#fff}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div button:first-child{border-top:1px solid #a6c8ff;border-bottom:1px solid #a6c8ff;border-left:1px solid #a6c8ff;border-right:none;border-radius:.25rem 0 0px .25rem}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div button:last-child{border-top:1px solid #a6c8ff;border-bottom:1px solid #a6c8ff;border-right:1px solid #a6c8ff;border-left:none;border-radius:0px .25rem .25rem 0px}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button[aria-selected=true],.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button[aria-selected=true]:first-child{background-color:#edf5ff;color:#0f62fe;border-color:#0f62fe;border-right:1px solid #0f62fe}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button[aria-selected=true],.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button[aria-selected=true]:last-child{background-color:#edf5ff;color:#0f62fe;border-color:#0f62fe;border-left:1px solid #0f62fe}.-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z>div>button[aria-selected=true]:focus{box-shadow:none}.-esm-appointments__patient-appointments-base__divider___yKZvk{width:1px;height:1rem;color:#e0e0e0;margin:0 1rem}.-esm-appointments__patient-appointments-base__content___muGEY{font-size:var(--cds-heading-compact-01-font-size, 0.875rem);font-weight:var(--cds-heading-compact-01-font-weight, 600);line-height:var(--cds-heading-compact-01-line-height, 1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing, 0.16px);color:#525252;margin-top:1rem;margin-bottom:.5rem}.-esm-appointments__patient-appointments-base__tile___lPD0O{text-align:center}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/patient-appointments/patient-appointments-base.scss","webpack://./../../node_modules/@carbon/type/scss/_styles.scss","webpack://./../../node_modules/@carbon/colors/index.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCxDF,kEACE,wBAAA,CAGF,2ECy1BI,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CDr1BJ,8EACE,YAAA,CACA,wBAAA,CACA,kBAAA,CACA,SAAA,CAGF,yFACE,qBDlBM,CCqBR,qGACE,4BAAA,CACA,+BAAA,CACA,6BAAA,CACA,iBAAA,CACA,iCAAA,CAGF,oGACE,4BAAA,CACA,+BAAA,CACA,8BAAA,CACA,gBAAA,CACA,mCAAA,CAGF,sOAEE,wBE9BQ,CF+BR,aE1BQ,CF2BR,oBE3BQ,CF4BR,8BAAA,CAGF,qOAEE,wBEtCQ,CFuCR,aElCQ,CFmCR,oBEnCQ,CFoCR,6BAAA,CAGF,mHACE,eAAA,CAGF,+DACE,SAAA,CACA,WG/BW,CHgCX,aEpBQ,CFqBR,aAAA,CAGF,+DC+xBI,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CD7xBF,aD9DQ,CC+DR,eGvCW,CHwCX,mBGlDW,CHqDb,4DACE,iBAAA",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/colors';\n@use '@carbon/layout';\n@use '@carbon/type';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.widgetCard {\n border: 1px solid $ui-03;\n}\n\n.productiveHeading01 {\n @include type.type-style('heading-compact-01');\n}\n\n.contentSwitcherWrapper {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n width: 60%;\n}\n\n.contentSwitcherWrapper > div > button {\n background-color: $ui-02;\n}\n\n.contentSwitcherWrapper > div button:first-child {\n border-top: 1px solid colors.$blue-30;\n border-bottom: 1px solid colors.$blue-30;\n border-left: 1px solid colors.$blue-30;\n border-right: none;\n border-radius: layout.$spacing-02 0 0px layout.$spacing-02;\n}\n\n.contentSwitcherWrapper > div button:last-child {\n border-top: 1px solid colors.$blue-30;\n border-bottom: 1px solid colors.$blue-30;\n border-right: 1px solid colors.$blue-30;\n border-left: none;\n border-radius: 0px layout.$spacing-02 layout.$spacing-02 0px;\n}\n\n.contentSwitcherWrapper > div > button[aria-selected='true'],\n.contentSwitcherWrapper > div > button[aria-selected='true']:first-child {\n background-color: colors.$blue-10;\n color: colors.$blue-60;\n border-color: colors.$blue-60;\n border-right: 1px solid colors.$blue-60;\n}\n\n.contentSwitcherWrapper > div > button[aria-selected='true'],\n.contentSwitcherWrapper > div > button[aria-selected='true']:last-child {\n background-color: colors.$blue-10;\n color: colors.$blue-60;\n border-color: colors.$blue-60;\n border-left: 1px solid colors.$blue-60;\n}\n\n.contentSwitcherWrapper > div > button[aria-selected='true']:focus {\n box-shadow: none;\n}\n\n.divider {\n width: 1px;\n height: layout.$spacing-05;\n color: colors.$gray-20;\n margin: 0 layout.$spacing-05;\n}\n\n.content {\n @include type.type-style('heading-compact-01');\n color: $text-02;\n margin-top: layout.$spacing-05;\n margin-bottom: layout.$spacing-03;\n}\n\n.tile {\n text-align: center;\n}\n","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),i.locals={widgetCard:"-esm-appointments__patient-appointments-base__widgetCard___kgLgy",productiveHeading01:"-esm-appointments__patient-appointments-base__productiveHeading01___3G7S7",contentSwitcherWrapper:"-esm-appointments__patient-appointments-base__contentSwitcherWrapper___hoO-Z",divider:"-esm-appointments__patient-appointments-base__divider___yKZvk",content:"-esm-appointments__patient-appointments-base__content___muGEY",tile:"-esm-appointments__patient-appointments-base__tile___lPD0O"};const l=i},92427:(e,n,t)=>{"use strict";t.d(n,{A:()=>l});var a=t(30977),r=t.n(a),o=t(95924),i=t.n(o)()(r());i.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-appointments__patient-appointments-table__layer___evcTc{height:100%}.-esm-appointments__patient-appointments-table__menuItem___FWNWm{max-width:none}.-esm-appointments__patient-appointments-table__text02___uPXhC{color:#525252}.-esm-appointments__patient-appointments-table__table___Nb4uK tr td{border-bottom:none !important}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/patient-appointments/patient-appointments-table.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC3DF,8DACE,WAAA,CAGF,iEACE,cAAA,CAGF,+DACE,aDJQ,CCSN,oEACE,6BAAA",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.layer {\n height: 100%;\n}\n\n.menuItem {\n max-width: none;\n}\n\n.text02 {\n color: $text-02;\n}\n\n.table {\n tr {\n td {\n border-bottom: none !important;\n }\n }\n}\n"],sourceRoot:""}]),i.locals={layer:"-esm-appointments__patient-appointments-table__layer___evcTc",menuItem:"-esm-appointments__patient-appointments-table__menuItem___FWNWm",text02:"-esm-appointments__patient-appointments-table__text02___uPXhC",table:"-esm-appointments__patient-appointments-table__table___Nb4uK"};const l=i}}]);
package/dist/3092.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"3092.js","mappings":"4MAMO,WAAKA,G,uFAAAA,C,CAAL,C,IAKMC,GAA4BC,EAAAA,EAAAA,eAAaA,GAIzCC,EAAoCF,EAA0BG,SAE9DC,EAA+B,W,OAAMC,EAAAA,EAAAA,YAAWL,E,oPCZ7DM,IAAAA,OAAaC,KAEb,IAAMC,EAAwB,GAAe,OAAZC,EAAAA,YAAY,wBAEtC,SAASC,EAAuBC,EAAqBC,EAAmBC,G,IAuBxDC,EAEIC,EAAAA,EAOIA,EAAAA,EAKFA,EAAAA,EAnB8BC,GAAAA,EAAAA,EAAAA,IACvDR,EAdc,W,OACdS,EAAAA,EAAAA,cAAaT,EAAuB,CAClCU,OAAQ,OACRC,OAAQN,EAAgBM,OACxBC,QAAS,CACP,eAAgB,oBAElBC,KAAM,CACJV,YAAaA,EACbC,UAAWA,I,GAITE,EAAiDE,EAAjDF,KAAMQ,EAA2CN,EAA3CM,MAAOC,EAAoCP,EAApCO,UAAWC,EAAyBR,EAAzBQ,aAAcC,EAAWT,EAAXS,OAKxCV,GAAeD,SAAU,QAAVA,EAAAA,EAAMA,YAANA,IAAAA,OAAAA,EAAAA,EAAYY,QAASZ,EAAKA,KAAO,KAEhDa,EAAmBZ,S,QAAAA,EAAAA,EACrBa,KAAK,SAACC,EAAGC,G,OAAOA,EAAEC,cAAgBF,EAAEE,cAAgB,GAAK,C,UADpChB,IAAAA,G,QAAAA,EAAAA,EAErBiB,OAAO,Y,MAA2B,cAAxBC,EAAAA,M,UAFWlB,IAAAA,OAAAA,EAAAA,EAGrBiB,OAAO,Y,IAAGD,EAAAA,EAAAA,c,OACVzB,IAAM,IAAI4B,KAAKH,GAAeI,eAAeC,UAAS,IAAIF,MAAOG,SAAS,EAAG,EAAG,EAAG,G,GAGjFC,EAAuBvB,S,QAAAA,EAAAA,EACzBa,KAAK,SAACC,EAAGC,G,OAAOD,EAAEE,cAAgBD,EAAEC,cAAgB,GAAK,C,UADhChB,IAAAA,G,QAAAA,EAAAA,EAEzBiB,OAAO,Y,MAA2B,cAAxBC,EAAAA,M,UAFelB,IAAAA,OAAAA,EAAAA,EAGzBiB,OAAO,Y,IAAGD,EAAAA,EAAAA,c,OAAoBzB,IAAM,IAAI4B,KAAKH,GAAeI,eAAeI,QAAQ,IAAIL,K,GAErFM,EAAqBzB,S,QAAAA,EAAAA,EACvBa,KAAK,SAACC,EAAGC,G,OAAOD,EAAEE,cAAgBD,EAAEC,cAAgB,GAAK,C,UADlChB,IAAAA,G,QAAAA,EAAAA,EAEvBiB,OAAO,Y,MAA2B,cAAxBC,EAAAA,M,UAFalB,IAAAA,OAAAA,EAAAA,EAGvBiB,OAAO,Y,IAAGD,EAAAA,EAAAA,c,OAAoBzB,IAAM,IAAI4B,KAAKH,GAAeI,eAAe5B,S,GAE/E,MAAO,CACLO,KAAMA,EAAO,CAAEa,iBAAAA,EAAkBW,qBAAAA,EAAsBE,mBAAAA,GAAuB,KAC9ElB,MAAAA,EACAC,UAAAA,EACAC,aAAAA,EACAC,OAAAA,EAEJ,CAGO,IAAMgB,EAA0B,SAAOC,EAAkBC,G,wBAExDC,EACAC,EACAC,E,krCACC,OAHDF,EAAWG,KAAKC,iBAAiBC,kBAAkBL,SACnDC,EAAmBvC,IAAM,IAAI4B,MAAQgB,OAFpB,6BAGjBJ,EAAM,GAA+BH,OAA5BlC,EAAAA,YAAY,kBAAgC,OAAhBkC,EAAgB,kBACpD,C,GAAM1B,EAAAA,EAAAA,cAAa6B,EAAK,CAC7BzB,KAAM,CAAEqB,SAAAA,EAAUS,OAAQN,EAAkBD,SAAUA,GACtD1B,OAAQ,OACRE,QAAS,CAAE,eAAgB,uB,OAH7B,MAAO,C,EAAA,U,EAKT,E,yMCvEoEgC,EAAOC,QAA6I,WAAY,aAAa,IAAIC,EAAE,SAASC,EAAE,uBAAuBC,EAAE,eAAe,OAAO,SAASC,EAAEC,EAAEC,GAAG,IAAIC,EAAEF,EAAEG,UAAUF,EAAEG,IAAI,SAASR,GAAwC,OAAO,IAAII,EAA1C,CAACK,KAAKT,EAAEQ,KAAI,EAAGE,KAAKC,WAA0B,EAAEL,EAAEE,IAAI,SAASP,GAAG,IAAIC,EAAEG,EAAEO,KAAKC,SAAS,CAACC,OAAOF,KAAKG,GAAGP,KAAI,IAAK,OAAOP,EAAEC,EAAEc,IAAIJ,KAAKK,YAAYjB,GAAGE,CAAC,EAAEI,EAAEY,MAAM,WAAW,OAAOb,EAAEO,KAAKC,SAAS,CAACC,OAAOF,KAAKG,GAAGP,KAAI,GAAI,EAAE,IAAIW,EAAEb,EAAEc,MAAMd,EAAEc,MAAM,SAASpB,GAAGA,EAAEQ,MAAMI,KAAKS,IAAG,GAAIT,KAAKU,SAAShB,EAAEN,EAAEuB,WAAWX,KAAKW,QAAQvB,EAAEuB,SAASJ,EAAEK,KAAKZ,KAAKZ,EAAE,EAAE,IAAIyB,EAAEnB,EAAEoB,KAAKpB,EAAEoB,KAAK,WAAW,GAAGd,KAAKS,GAAG,CAAC,IAAIrB,EAAEY,KAAKe,GAAGf,KAAKgB,GAAG5B,EAAE6B,iBAAiBjB,KAAKkB,GAAG9B,EAAE+B,cAAcnB,KAAKoB,GAAGhC,EAAEiC,aAAarB,KAAKsB,GAAGlC,EAAEmC,YAAYvB,KAAKwB,GAAGpC,EAAEqC,cAAczB,KAAK0B,GAAGtC,EAAEuC,gBAAgB3B,KAAK4B,GAAGxC,EAAEyC,gBAAgB7B,KAAK8B,IAAI1C,EAAE2C,oBAAoB,MAAMlB,EAAED,KAAKZ,KAAK,EAAE,IAAIrC,EAAE+B,EAAEW,UAAUX,EAAEW,UAAU,SAASd,EAAEC,GAAG,IAAIC,EAAEO,KAAKU,SAAShB,EAAE,GAAGD,EAAEF,GAAG,OAAOS,KAAKS,GAAG,EAAEhB,EAAEO,KAAKW,SAAShD,EAAEiD,KAAKZ,MAAMA,KAAKW,QAAQ,GAAG,iBAAiBpB,IAAIA,EAAE,SAASH,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIG,EAAEH,EAAE4C,MAAM3C,GAAG,IAAIE,EAAE,OAAO,KAAK,IAAIC,GAAG,GAAGD,EAAE,IAAIyC,MAAM1C,IAAI,CAAC,IAAI,EAAE,GAAGG,EAAED,EAAE,GAAGE,EAAE,IAAIF,EAAE,KAAKA,EAAE,GAAG,OAAO,IAAIE,EAAE,EAAE,MAAMD,EAAEC,GAAGA,CAAC,CAA1J,CAA4JH,GAAG,OAAOA,GAAG,OAAOS,KAAK,IAAIN,EAAEuC,KAAKC,IAAI3C,IAAI,GAAG,GAAGA,EAAEA,EAAEgB,EAAEP,KAAK,GAAGR,EAAE,OAAOe,EAAEI,QAAQjB,EAAEa,EAAEE,GAAG,IAAIlB,EAAEgB,EAAE,GAAG,IAAIhB,EAAE,CAAC,IAAIsB,EAAEb,KAAKS,GAAGT,KAAKC,SAASkC,qBAAqB,EAAEnC,KAAKK,aAAaE,EAAEP,KAAKM,QAAQF,IAAIV,EAAEmB,EAAEzB,IAAIuB,QAAQjB,EAAEa,EAAE6B,GAAGC,aAAaxB,CAAC,MAAMN,EAAEP,KAAKJ,MAAM,OAAOW,CAAC,EAAE,IAAI+B,EAAE5C,EAAEV,OAAOU,EAAEV,OAAO,SAASI,GAAG,IAAIC,EAAED,IAAIY,KAAKS,GAAG,yBAAyB,IAAI,OAAO6B,EAAE1B,KAAKZ,KAAKX,EAAE,EAAEK,EAAE6C,QAAQ,WAAW,IAAInD,EAAEY,KAAKU,SAAShB,EAAEM,KAAKW,SAAS,EAAEX,KAAKW,SAASX,KAAKoC,GAAGC,cAAcrC,KAAKe,GAAGoB,qBAAqB,OAAOnC,KAAKe,GAAGwB,UAAU,IAAInD,CAAC,EAAEM,EAAE8C,MAAM,WAAW,QAAQxC,KAAKS,EAAE,EAAEf,EAAEzB,YAAY,WAAW,OAAO+B,KAAKC,SAAShC,aAAa,EAAEyB,EAAE+C,SAAS,WAAW,OAAOzC,KAAKC,SAASyC,aAAa,EAAE,IAAIC,EAAEjD,EAAEO,OAAOP,EAAEO,OAAO,SAASb,GAAG,MAAM,MAAMA,GAAGY,KAAKW,QAAQlB,EAAEO,KAAKhB,OAAO,4BAA4BiB,SAAS0C,EAAE/B,KAAKZ,KAAK,EAAE,IAAI4C,EAAElD,EAAEmD,KAAKnD,EAAEmD,KAAK,SAASzD,EAAEC,EAAEC,GAAG,GAAGF,GAAGY,KAAKS,KAAKrB,EAAEqB,GAAG,OAAOmC,EAAEhC,KAAKZ,KAAKZ,EAAEC,EAAEC,GAAG,IAAIC,EAAES,KAAKM,QAAQd,EAAEC,EAAEL,GAAGkB,QAAQ,OAAOsC,EAAEhC,KAAKrB,EAAEC,EAAEH,EAAEC,EAAE,CAAC,CAAE,CAAvnED,E,6TCW/EyD,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQM,OAAS,IAAQA,YAASC,ECd5D,IAAMC,EAAgC,Y,IAAGC,EAAAA,EAAAA,YAAa9G,EAAAA,EAAAA,YACrD,GAAQ+G,EAAAA,EAAAA,kBAANpE,EACFqE,EAA+B,YAApBC,EAAAA,EAAAA,iBAkBjB,OACE,kBAACC,EAAAA,IAAKA,CAACC,UAAWC,EAAOC,OACvB,kBAACC,EAAAA,IAAYA,CAACC,aAAW,6BAA6BC,KAAMR,EAAW,KAAO,KAAMS,SAAAA,EAAQC,MAAM,QAChG,kBAACC,EAAAA,IAAgBA,CACfR,UAAWC,EAAOQ,SAClBC,GAAG,kBACHC,SAAUnF,EAAE,OAAQ,QACpBoF,QAvBgC,YACtCC,EAAAA,EAAAA,kBAAiB,8BAA+B,CAC9ClB,YAAAA,EACAmB,QAAS,UACTjI,YAAAA,GAEJ,IAmBM,kBAAC2H,EAAAA,IAAgBA,CACfR,UAAWC,EAAOQ,SAClBM,YAAAA,EACAL,GAAG,oBACHM,UAAU,EACVL,SAAUnF,EAAE,SAAU,UACtBoF,QAvBmC,WACzC,IAAMK,GAAUC,EAAAA,EAAAA,WAAU,2BAA4B,CACpDC,iBAAkB,W,OAAMF,G,EACxBpG,gBAAiB8E,EAAYyB,KAC7BvI,YAAAA,GAEJ,KAsBF,E,WCzCI,EAAU,CAAC,EAEf,EAAQsG,kBAAoB,IAC5B,EAAQC,cAAgB,IAElB,EAAQC,OAAS,SAAc,KAAM,QAE3C,EAAQC,OAAS,IACjB,EAAQC,mBAAqB,IAEhB,IAAI,IAAS,GAKnB,QAAe,KAAW,IAAQC,OAAS,IAAQA,YAASC,E,4bCvBnE,IAAMzD,EAAMqF,EAAQ,OACpB7I,IAAAA,OAAawD,GA2Hb,QA/FkE,Y,IAChEsF,EAAAA,EAAAA,oBACAzI,EAAAA,EAAAA,YACA0I,EAAAA,EAAAA,aACAC,EAAAA,EAAAA,gBAEM,GAAQ5B,EAAAA,EAAAA,kBAANpE,EACsDiG,GAAAA,EAAAA,EAAAA,eAAcH,EAhB7D,IAgBPI,EAAsDD,EAAtDC,QAAgCC,EAAsBF,EAAtBE,YAAaC,EAASH,EAATG,KAC/C/B,EAA+B,YAApBC,EAAAA,EAAAA,kBAEjB+B,EAAAA,EAAAA,WAAU,WACJN,GAAgC,IAAhBI,GAClBC,EAAK,EAET,EAAG,CAACL,EAAcK,EAAMD,IAExB,IAAMG,GAA8CC,EAAAA,EAAAA,SAClD,W,MAAM,CACJ,CAAEC,IAAK,OAAQC,OAAQzG,EAAE,OAAQ,SACjC,CAAEwG,IAAK,WAAYC,OAAQzG,EAAE,WAAY,aACzC,CAAEwG,IAAK,UAAWC,OAAQzG,EAAE,UAAW,YACvC,CAAEwG,IAAK,SAAUC,OAAQzG,EAAE,SAAU,WACrC,CAAEwG,IAAK,OAAQC,OAAQzG,EAAE,OAAQ,SACjC,CAAEwG,IAAK,QAASC,OAAQzG,EAAE,QAAS,U,EAErC,CAACA,IAGG0G,GAAYH,EAAAA,EAAAA,SAChB,W,OACEI,aAAAA,EAAAA,EAAuBC,IAAI,SAACzC,G,IAIdA,EAA8BA,EAH1C,MAAO,CACLe,GAAIf,EAAYyB,KAChBnF,MAAMoG,EAAAA,EAAAA,iBAAeC,EAAAA,EAAAA,WAAU3C,EAAY1F,eAAgB,CAAEsI,KAAM,SACnEC,UAAU7C,SAAqB,QAArBA,EAAAA,EAAa6C,gBAAb7C,IAAAA,OAAAA,EAAAA,EAAuB8C,MAAO9C,SAAqB,QAArBA,EAAAA,EAAa6C,gBAAb7C,IAAAA,OAAAA,EAAAA,EAAuB8C,KAAO,KACtEC,QAAS/C,EAAY+C,QAAQD,KAC7BtI,OAAQwF,EAAYxF,OACpBwI,KAAMhD,EAAYiD,gBAAkBjD,EAAYiD,gBAAkB,KAClEC,MAAOlD,EAAYmD,SAAWnD,EAAYmD,SAAW,KAEzD,E,EACF,CAACX,IAGH,OACE,kBAACY,MAAAA,KACC,kBAACC,EAAAA,IAASA,CAACC,KAAMf,EAAW5I,QAASwI,EAAcoB,YAAAA,EAAW7C,KAAMR,EAAW,KAAO,KAAMsD,gBAAAA,GACzF,Y,IAAGF,EAAAA,EAAAA,KAAM3J,EAAAA,EAAAA,QAAS8J,EAAAA,EAAAA,eAAgBC,EAAAA,EAAAA,c,OACjC,kBAACC,EAAAA,IAAcA,KACb,kBAACC,EAAAA,IAAKA,EAAAA,CAACvD,UAAWC,EAAOuD,OAAWH,KAClC,kBAACI,EAAAA,IAASA,KACR,kBAACC,EAAAA,IAAQA,KACNpK,EAAQ8I,IAAI,SAACH,G,IAOTA,EAAAA,E,OANH,kBAAC0B,EAAAA,IAAWA,EAAAA,CACV3D,UAAW4D,IAAW3D,EAAO4D,oBAAqB5D,EAAO6D,SACrDV,EAAe,CACjBnB,OAAAA,EACAiB,WAAYjB,EAAOiB,cAEE,QAAtBjB,EAAa,QAAbA,EAAAA,EAAOA,cAAPA,IAAAA,OAAAA,EAAAA,EAAe8B,eAAf9B,IAAAA,EAAAA,EAA0BA,EAAOA,O,GAGtC,kBAAC0B,EAAAA,IAAWA,QAGhB,kBAACK,EAAAA,IAASA,KACPf,EAAKb,IAAI,SAAC6B,EAAKxI,G,OACd,kBAACiI,EAAAA,IAAQA,CAAC1B,IAAKiC,EAAIvD,IAChBuD,EAAIC,MAAM9B,IAAI,SAAC+B,G,IACYA,EAAAA,E,OAA1B,kBAACC,EAAAA,IAASA,CAACpC,IAAKmC,EAAKzD,IAAwB,QAAnByD,EAAU,QAAVA,EAAAA,EAAKE,aAALF,IAAAA,OAAAA,EAAAA,EAAYJ,eAAZI,IAAAA,EAAAA,EAAuBA,EAAKE,M,GAExD,kBAACD,EAAAA,IAASA,CAACpE,UAAU,0BACnB,kBAACN,EAA6BA,CAACC,YAAawC,EAAsB1G,GAAI5C,YAAaA,K,QASnG,kBAACyL,EAAAA,uBAAsBA,CACrBC,aAAcpC,EAAsBvI,OACpC4K,WAAYlD,EAAoB1H,OAChC6K,mBAAoB,Y,IAAGC,EAAAA,EAAAA,KACrBlD,GAAgB,GAChBI,EAAK8C,EACP,EACAC,WAAYhD,EACZiD,SAlGS,KAsGjB,E,eClHI,EAAU,CAAC,EAEf,EAAQzF,kBAAoB,IAC5B,EAAQC,cAAgB,IAElB,EAAQC,OAAS,SAAc,KAAM,QAE3C,EAAQC,OAAS,IACjB,EAAQC,mBAAqB,IAEhB,IAAI,IAAS,GAKnB,QAAe,KAAW,IAAQC,OAAS,IAAQA,YAASC,E,ujCCuJnE,QA3JwE,Y,IA4C9CoF,EAgCVC,EA0BAA,EA0BAA,EAhI2DjM,EAAAA,EAAAA,YACnE,GAAQ+G,EAAAA,EAAAA,kBAANpE,EACFuJ,EAAcvJ,EAAE,eAAgB,gBAChCqE,EAA+B,YAApBC,EAAAA,EAAAA,iBAEuBkF,IADN1M,EAAAA,EAAAA,MACM0M,GAAAA,EAAAA,EAAAA,WAAS,OAA1CzD,EAAiCyD,EAAAA,GAAnBxD,EAAmBwD,EAAAA,GAEgBA,EAAAA,GAAAA,EAAAA,EAAAA,UAAS,MAA1DC,EAAiDD,EAAAA,GAA3BE,EAA2BF,EAAAA,GAClDlM,GAAYiJ,EAAAA,EAAAA,SAAQ,W,OAAMvJ,MAAQ2M,SAAS,EAAG,SAAS9K,a,EAAe,IAMxEzB,GAAAA,EAAAA,EAAAA,GACFC,EACAC,GACAiJ,EAAAA,EAAAA,SAAQ,W,OAAM,IAAIqD,e,EAAmB,KAPrCpM,EAIEJ,EAJFI,KACAQ,EAGEZ,EAHFY,MACAC,EAEEb,EAFFa,UACAC,EACEd,EADFc,aAuBF,OAAID,EACK,kBAAC4L,EAAAA,IAAiBA,CAACC,KAAK,cAAcC,SAAU1F,EAAU2F,OAAAA,IAG/DhM,EACK,kBAACiM,EAAAA,WAAUA,CAACV,YAAaA,EAAavL,MAAOA,IAGlDsL,IAAgCA,QAAZD,EAAAA,OAAOa,KAAKZ,UAAZD,IAAAA,OAAAA,EAAAA,EAA+BjL,QAEnD,kBAACmJ,MAAAA,CAAI/C,UAAWC,EAAO0F,YACrB,kBAACC,EAAAA,WAAUA,CAACC,MAAOd,GAChBrL,EACC,kBAACoM,OAAAA,KACC,kBAACC,EAAAA,IAAaA,OAEd,KACJ,kBAAChD,MAAAA,CAAI/C,UAAWC,EAAO+F,wBACrB,kBAACC,EAAAA,IAAeA,CACd5F,KAAMR,EAAW,KAAO,KACxBqG,SAAU,Y,IAAGC,EAAAA,EAAAA,MACXjB,EAAwBiB,GACxB3E,GAAgB,EAClB,GACA,kBAAC4E,EAAAA,IAAMA,CAAC3D,KAAM,WAAY4D,KAAM7K,EAAE,WAAY,cAC9C,kBAAC4K,EAAAA,IAAMA,CAAC3D,KAAM,QAAS4D,KAAM7K,EAAE,QAAS,WACxC,kBAAC4K,EAAAA,IAAMA,CAAC3D,KAAM,OAAQ4D,KAAM7K,EAAE,OAAQ,WAExC,kBAACuH,MAAAA,CAAI/C,UAAWC,EAAOqG,SAAS,KAChC,kBAACC,EAAAA,IAAMA,CACLC,KAAK,QACLC,WAAY,SAACC,G,OAAU,kBAACC,EAAAA,G,kUAAGA,CAAAA,CAACtG,KAAM,IAAQqG,G,EAC1CE,gBAAgB,mBAChBhG,QAjDyB,WAEiC3I,EAAAA,GAA+B4O,eAEjGhG,EAAAA,EAAAA,kBAAiB,8BAA+B,CAC9CC,QAAS,WACTjI,YAAAA,GAQN,GAoCa2C,EAAE,MAAO,UAKe,IAAzByJ,GACuC,QAArCH,EAAAA,EAAiBtK,4BAAjBsK,IAAAA,OAAAA,EAAAA,EAAuClL,QAEvC,kBAACkN,EAAwBA,CACvBxF,oBAAqBwD,aAAAA,EAAAA,EAAkBtK,qBACvC+G,aAAcA,EACdC,gBAAiBA,EACjB3I,YAAaA,IAKjB,kBAACkH,EAAAA,IAAKA,KACJ,kBAACgH,EAAAA,IAAIA,CAAC/G,UAAWC,EAAO+G,MACtB,kBAACC,EAAAA,sBAAqBA,MACtB,kBAACC,IAAAA,CAAElH,UAAWC,EAAO8D,SAClBvI,EACC,mCACA,qEAQiB,IAAzByJ,GACqC,QAAnCH,EAAAA,EAAiBpK,0BAAjBoK,IAAAA,OAAAA,EAAAA,EAAqClL,QAErC,kBAACkN,EAAwBA,CACvBxF,oBAAqBwD,aAAAA,EAAAA,EAAkBpK,mBACvC6G,aAAcA,EACdC,gBAAiBA,EACjB3I,YAAaA,IAKjB,kBAACkH,EAAAA,IAAKA,KACJ,kBAACgH,EAAAA,IAAIA,CAAC/G,UAAWC,EAAO+G,MACtB,kBAACC,EAAAA,sBAAqBA,MACtB,kBAACC,IAAAA,CAAElH,UAAWC,EAAO8D,SAClBvI,EACC,wBACA,gFAQiB,IAAzByJ,GACmC,QAAjCH,EAAAA,EAAiBjL,wBAAjBiL,IAAAA,OAAAA,EAAAA,EAAmClL,QAEnC,kBAACkN,EAAwBA,CACvBxF,oBAAqBwD,aAAAA,EAAAA,EAAkBjL,iBACvC0H,aAAcA,EACdC,gBAAiBA,EACjB3I,YAAaA,IAKjB,kBAACkH,EAAAA,IAAKA,KACJ,kBAACgH,EAAAA,IAAIA,CAAC/G,UAAWC,EAAO+G,MACtB,kBAACC,EAAAA,sBAAqBA,MACtB,kBAACC,IAAAA,CAAElH,UAAWC,EAAO8D,SAClBvI,EAAE,qBAAsB,sEAhBnC,QAnFR,CA6GF,C,mFC5KI2L,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC9L,EAAOoF,GAAI,ykBAA0kB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,8EAA8E,MAAQ,GAAG,SAAW,sIAAsI,eAAiB,CAAC,g/DAAg/D,6JAA6J,WAAa,MAE5mGyG,EAAwB3H,OAAS,CAChC,MAAS,qEACT,SAAY,wEACZ,OAAU,uEAEX,S,mFCTI2H,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC9L,EAAOoF,GAAI,swFAAuwF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,sEAAsE,gEAAgE,2DAA2D,8EAA8E,MAAQ,GAAG,SAAW,snBAAsnB,eAAiB,CAAC,g/DAAg/D,47DAA47D,u8uBAAu8uB,g1VAAg1V,25DAA25D,WAAa,MAE363CyG,EAAwB3H,OAAS,CAChC,WAAc,mEACd,oBAAuB,4EACvB,uBAA0B,+EAC1B,QAAW,gEACX,QAAW,gEACX,KAAQ,8DAET,S,mFCZI2H,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAAC9L,EAAOoF,GAAI,ypBAA0pB,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,wEAAwE,MAAQ,GAAG,SAAW,uJAAuJ,eAAiB,CAAC,g/DAAg/D,iPAAiP,WAAa,MAE3xGyG,EAAwB3H,OAAS,CAChC,MAAS,+DACT,SAAY,kEACZ,OAAU,gEACV,MAAS,gEAEV,S","sources":["webpack://@openmrs/esm-appointments-app/./src/hooks/patient-appointment-context.ts","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments.resource.ts","webpack://@openmrs/esm-appointments-app/../../node_modules/dayjs/plugin/utc.js","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-action-menu.scss?e9d5","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-action-menu.component.tsx","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-table.scss?cbcd","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-table.component.tsx","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-base.scss?46f2","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-base.component.tsx","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-action-menu.scss","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-base.scss","webpack://@openmrs/esm-appointments-app/./src/patient-appointments/patient-appointments-table.scss"],"names":["PatientAppointmentContextTypes","PatientAppointmentContext","createContext","PatientAppointmentContextProvider","Provider","usePatientAppointmentContext","useContext","dayjs","isToday","appointmentsSearchUrl","restBaseUrl","usePatientAppointments","patientUuid","startDate","abortController","data","appointments","useSWR","openmrsFetch","method","signal","headers","body","error","isLoading","isValidating","mutate","length","pastAppointments","sort","a","b","startDateTime","filter","status","Date","toISOString","isBefore","setHours","upcomingAppointments","isAfter","todaysAppointments","changeAppointmentStatus","toStatus","appointmentUuid","timeZone","statusChangeTime","url","Intl","DateTimeFormat","resolvedOptions","format","onDate","module","exports","t","i","e","s","f","n","u","prototype","utc","date","args","arguments","this","toDate","locale","$L","add","utcOffset","local","o","parse","$u","$utils","$offset","call","r","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","match","Math","abs","getTimezoneOffset","$x","$localOffset","h","valueOf","isUTC","toString","toUTCString","l","c","diff","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","PatientAppointmentsActionMenu","appointment","useTranslation","isTablet","useLayoutType","Layer","className","styles","layer","OverflowMenu","aria-label","size","flipped","align","OverflowMenuItem","menuItem","id","itemText","onClick","launchWorkspace2","context","hasDivider","isDelete","dispose","showModal","closeCancelModal","uuid","require","patientAppointments","switchedView","setSwitchedView","usePagination","results","currentPage","goTo","useEffect","tableHeaders","useMemo","key","header","tableRows","paginatedAppointments","map","formatDatetime","parseDate","mode","location","name","service","type","appointmentKind","notes","comments","div","DataTable","rows","isSortable","useZebraStyles","getHeaderProps","getTableProps","TableContainer","Table","table","TableHead","TableRow","TableHeader","classNames","productiveHeading01","text02","content","TableBody","row","cells","cell","TableCell","value","PatientChartPagination","currentItems","totalItems","onPageNumberChange","page","pageNumber","pageSize","Object","appointmentsData","headerTitle","useState","contentSwitcherValue","setContentSwitcherValue","subtract","AbortController","DataTableSkeleton","role","compact","zebra","ErrorState","keys","widgetCard","CardHeader","title","span","InlineLoading","contentSwitcherWrapper","ContentSwitcher","onChange","index","Switch","text","divider","Button","kind","renderIcon","props","Add","iconDescription","PATIENT_CHART","PatientAppointmentsTable","Tile","tile","EmptyDataIllustration","p","___CSS_LOADER_EXPORT___","push"],"sourceRoot":""}
package/dist/7026.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[]).push([[7026],{1740:n=>{n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=n.insertStyleElement(n);return{update:function(r){!function(n,e,r){var a="";r.supports&&(a+="@supports (".concat(r.supports,") {")),r.media&&(a+="@media ".concat(r.media," {"));var t=void 0!==r.layer;t&&(a+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),a+=r.css,t&&(a+="}"),r.media&&(a+="}"),r.supports&&(a+="}");var o=r.sourceMap;o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleTagTransform(a,n,e.options)}(e,n,r)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},21322:(n,e,r)=>{r.d(e,{A:()=>i});var a=r(30977),t=r.n(a),o=r(95924),c=r.n(o)()(t());c.push([n.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-appointments__patient-search__padded___Il91D{padding:1rem}.-esm-appointments__patient-search__searchBarWrapper___IvTMF [data-extension-id=patient-search-bar]>div{width:100%}.-esm-appointments__patient-search__searchBarWrapper___IvTMF [data-extension-id=patient-search-bar]>div input{background-color:#fff;border-bottom:none;min-height:3rem}.-esm-appointments__patient-search__searchBarWrapper___IvTMF [data-extension-id=patient-search-bar]>div button{height:3rem}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/patient-search/patient-search.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC1DF,mDACE,YC2BW,CDtBT,wGACE,UAAA,CAEA,8GACE,qBDVA,CCWA,kBAAA,CACA,eCoCK,CDjCP,+GACE,WCgCK",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/layout';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.padded {\n padding: layout.$spacing-05;\n}\n\n.searchBarWrapper {\n [data-extension-id='patient-search-bar'] {\n & > div {\n width: 100%;\n\n & input {\n background-color: $ui-02;\n border-bottom: none;\n min-height: layout.$spacing-09;\n }\n\n & button {\n height: layout.$spacing-09;\n }\n }\n }\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),c.locals={padded:"-esm-appointments__patient-search__padded___Il91D",searchBarWrapper:"-esm-appointments__patient-search__searchBarWrapper___IvTMF"};const i=c},30855:(n,e,r)=>{n.exports=function(n){var e=r.nc;e&&n.setAttribute("nonce",e)}},30977:n=>{function e(n,e){(null==e||e>n.length)&&(e=n.length);for(var r=0,a=new Array(e);r<e;r++)a[r]=n[r];return a}n.exports=function(n){var r,a,t=(a=4,function(n){if(Array.isArray(n))return n}(r=n)||function(n,e){var r=n&&("undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"]);if(null!=r){var a,t,o=[],c=!0,i=!1;try{for(r=r.call(n);!(c=(a=r.next()).done)&&(o.push(a.value),!e||o.length!==e);c=!0);}catch(n){i=!0,t=n}finally{try{c||null==r.return||r.return()}finally{if(i)throw t}}return o}}(r,a)||function(n,r){if(n){if("string"==typeof n)return e(n,r);var a=Object.prototype.toString.call(n).slice(8,-1);return"Object"===a&&n.constructor&&(a=n.constructor.name),"Map"===a||"Set"===a?Array.from(n):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?e(n,r):void 0}}(r,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=t[1],c=t[3];if(!c)return o;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(c)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),p="/*# ".concat(s," */"),u=c.sources.map(function(n){return"/*# sourceURL=".concat(c.sourceRoot||"").concat(n," */")});return[o].concat(u).concat([p]).join("\n")}return[o].join("\n")}},47026:(n,e,r)=>{r.r(e),r.d(e,{default:()=>_});var a=r(1343),t=r.n(a),o=r(54440),c=r(72591),i=r.n(c),s=r(1740),p=r.n(s),u=r(88128),l=r.n(u),d=r(30855),b=r.n(d),f=r(93051),m=r.n(f),g=r(73656),h=r.n(g),y=r(21322),v={};v.styleTagTransform=h(),v.setAttributes=b(),v.insert=l().bind(null,"head"),v.domAPI=p(),v.insertStyleElement=m(),i()(y.A,v);const $=y.A&&y.A.locals?y.A.locals:void 0;function A(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}const _=function(){return t().createElement("div",{className:"omrs-main-content"},t().createElement("span",{className:$.searchBarWrapper},t().createElement(o.ExtensionSlot,{name:"patient-search-bar-slot",state:{selectPatientAction:function(n){var e={patientUuid:n.uuid,context:"creating",mutate:function(){}};(0,o.launchWorkspace2)("appointments-form-workspace",function(n){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable}))),a.forEach(function(e){A(n,e,r[e])})}return n}({},e))},buttonProps:{kind:"primary"}}})))}},72591:n=>{var e=[];function r(n){for(var r=-1,a=0;a<e.length;a++)if(e[a].identifier===n){r=a;break}return r}function a(n,a){for(var o={},c=[],i=0;i<n.length;i++){var s=n[i],p=a.base?s[0]+a.base:s[0],u=o[p]||0,l="".concat(p," ").concat(u);o[p]=u+1;var d=r(l),b={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==d)e[d].references++,e[d].updater(b);else{var f=t(b,a);a.byIndex=i,e.splice(i,0,{identifier:l,updater:f,references:1})}c.push(l)}return c}function t(n,e){var r=e.domAPI(e);return r.update(n),function(e){if(e){if(e.css===n.css&&e.media===n.media&&e.sourceMap===n.sourceMap&&e.supports===n.supports&&e.layer===n.layer)return;r.update(n=e)}else r.remove()}}n.exports=function(n,t){var o=a(n=n||[],t=t||{});return function(n){n=n||[];for(var c=0;c<o.length;c++){var i=r(o[c]);e[i].references--}for(var s=a(n,t),p=0;p<o.length;p++){var u=r(o[p]);0===e[u].references&&(e[u].updater(),e.splice(u,1))}o=s}}},73656:n=>{n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},88128:n=>{var e={};n.exports=function(n,r){var a=function(n){if(void 0===e[n]){var r=document.querySelector(n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(n){r=null}e[n]=r}return e[n]}(n);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(r)}},93051:n=>{n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},95924:n=>{n.exports=function(n){var e=[];return e.toString=function(){return this.map(function(e){var r=n(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r}).join("")},e.i=function(n,r,a){"string"==typeof n&&(n=[[null,n,""]]);var t={};if(a)for(var o=0;o<this.length;o++){var c=this[o][0];null!=c&&(t[c]=!0)}for(var i=0;i<n.length;i++){var s=[].concat(n[i]);a&&t[s[0]]||(r&&(s[2]?s[2]="".concat(r," and ").concat(s[2]):s[2]=r),e.push(s))}},e}}}]);