@openmrs/esm-appointments-app 5.2.2-pre.2445 → 5.2.2-pre.2449

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 (52) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/dist/{755.js → 799.js} +1 -1
  3. package/dist/799.js.map +1 -0
  4. package/dist/main.js +1 -1
  5. package/dist/main.js.map +1 -1
  6. package/dist/openmrs-esm-appointments-app.js +1 -1
  7. package/dist/openmrs-esm-appointments-app.js.buildmanifest.json +28 -28
  8. package/dist/routes.json +1 -1
  9. package/package.json +1 -1
  10. package/src/admin/appointment-services/appointment-services.component.tsx +1 -1
  11. package/src/appointments/common-components/appointments-actions.component.tsx +4 -2
  12. package/src/appointments/common-components/appointments-actions.test.tsx +1 -1
  13. package/src/appointments/common-components/appointments-table.component.tsx +2 -2
  14. package/src/appointments/common-components/appointments-table.test.tsx +1 -1
  15. package/src/appointments/common-components/checkin-button.component.tsx +1 -1
  16. package/src/appointments/details/appointment-details.component.tsx +1 -1
  17. package/src/appointments/forms/cancel-form/cancel-appointment.component.tsx +1 -1
  18. package/src/appointments/forms/cancel-form/cancel-appointment.test.tsx +2 -2
  19. package/src/appointments/forms/create-edit-form/appointments-form.component.tsx +4 -4
  20. package/src/appointments/forms/create-edit-form/appointments-form.test.tsx +3 -3
  21. package/src/appointments/forms/{useInitialFormValues.tsx → useInitialFormValues.ts} +3 -3
  22. package/src/appointments/unscheduled/unscheduled-appointments.component.tsx +1 -1
  23. package/src/appointments-calendar/calendar-view.component.tsx +1 -1
  24. package/src/appointments-calendar/daily/daily-calendar-view.component.tsx +2 -2
  25. package/src/appointments-calendar/daily/daily-header.component.tsx +2 -2
  26. package/src/appointments-calendar/daily/daily-view-workload.component.tsx +3 -3
  27. package/src/appointments-calendar/daily/daily-view-workload.test.tsx +1 -1
  28. package/src/appointments-calendar/monthly/monthly-calendar-view.component.tsx +2 -2
  29. package/src/appointments-calendar/monthly/monthly-header.module.tsx +3 -5
  30. package/src/appointments-calendar/patient-list/calendar-patient-list.component.tsx +18 -1
  31. package/src/appointments-calendar/weekly/weekly-calendar-view.component.tsx +4 -4
  32. package/src/appointments-calendar/weekly/weekly-header.component.tsx +5 -5
  33. package/src/appointments-calendar/weekly/weekly-view-workload.component.tsx +4 -4
  34. package/src/appointments-calendar/weekly/weekly-view-workload.test.tsx +1 -1
  35. package/src/appointments-metrics/appointments-metrics.test.tsx +1 -1
  36. package/src/createDashboardLink.component.tsx +5 -6
  37. package/src/home-appointments/appointments-list.component.tsx +2 -2
  38. package/src/hooks/{useAppointmentList.tsx → useAppointmentList.ts} +1 -1
  39. package/src/hooks/{useAppointmentService.tsx → useAppointmentService.ts} +1 -1
  40. package/src/hooks/{useAppointments.tsx → useAppointments.ts} +1 -1
  41. package/src/hooks/{useAppointmentsCalendar.tsx → useAppointmentsCalendar.ts} +1 -1
  42. package/src/hooks/{useClinicalMetrics.tsx → useClinicalMetrics.ts} +1 -1
  43. package/src/hooks/{useDefaultLocation.tsx → useDefaultLocation.ts} +1 -1
  44. package/src/hooks/{usePatientAppointmentHistory.tsx → usePatientAppointmentHistory.ts} +1 -1
  45. package/src/hooks/{useProviders.tsx → useProviders.ts} +1 -1
  46. package/src/hooks/{useUnscheduledAppointments.tsx → useUnscheduledAppointments.ts} +2 -2
  47. package/src/hooks/{useVisits.tsx → useVisits.ts} +1 -1
  48. package/src/past-visit/encounter-list.component.tsx +1 -1
  49. package/src/past-visit/past-visit.component.tsx +2 -2
  50. package/src/patient-queue/visit-form/visit-form.component.tsx +3 -3
  51. package/dist/755.js.map +0 -1
  52. /package/src/hooks/{useServiceQueus.tsx → useServiceQueus.ts} +0 -0
@@ -1 +1 @@
1
- var _openmrs_esm_appointments_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,c,h,m={5605:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(255),t.e(549),t.e(268),t.e(325),t.e(755)]).then((()=>()=>t(3755)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},v={};function g(e){var r=v[e];if(void 0!==r)return r.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return m[e].call(t.exports,t,t.exports,g),t.loaded=!0,t.exports}g.m=m,g.c=v,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-appointments-app:",g.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-appointments-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.3.1-pre.1182",(()=>Promise.all([g.e(130),g.e(268)]).then((()=>()=>g(130))))),l("react-i18next","11.18.6",(()=>Promise.all([g.e(268),g.e(610)]).then((()=>()=>g(610))))),l("react-router-dom","6.4.3",(()=>Promise.all([g.e(591),g.e(268)]).then((()=>()=>g(6591))))),l("react","18.2.0",(()=>g.e(784).then((()=>()=>g(2784))))),l("swr/_internal","2.0.1",(()=>Promise.all([g.e(729),g.e(268)]).then((()=>()=>g(4729))))),l("swr/immutable","2.0.1",(()=>Promise.all([g.e(255),g.e(268),g.e(325),g.e(152)]).then((()=>()=>g(2303)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?a(h,r):!c())}return!!c()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||u(l(e,t,o,n)),p(e[t][o])},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=e=>(e.loaded=1,e.get()),f=(e=>function(r,t,n,o){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?s(r,0,t,n):o())),d={},c={268:()=>f("default","react",[1,18],(()=>g.e(784).then((()=>()=>g(2784))))),3325:()=>f("default","swr/_internal",[1,2],(()=>g.e(729).then((()=>()=>g(4729))))),2870:()=>f("default","@openmrs/esm-framework",[1,5],(()=>g.e(130).then((()=>()=>g(130))))),4924:()=>f("default","react-i18next",[1,11],(()=>g.e(469).then((()=>()=>g(610))))),8744:()=>f("default","react-router-dom",[1,6],(()=>g.e(591).then((()=>()=>g(6591))))),9198:()=>f("default","swr/immutable",[1,2],(()=>g.e(303).then((()=>()=>g(2303)))))},h={268:[268],325:[3325],755:[2870,4924,8744,9198]},g.f.consumes=(e,r)=>{g.o(h,e)&&h[e].forEach((e=>{if(g.o(d,e))return r.push(d[e]);var t=r=>{d[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete d[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=c[e]();o.then?r.push(d[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={529:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^(268|325)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);l&&l(g)}for(r&&r(t);s<a.length;s++)o=a[s],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g.nc=void 0;var b=g(5605);_openmrs_esm_appointments_app=b})();
1
+ var _openmrs_esm_appointments_app;(()=>{"use strict";var e,r,t,n,o,a,i,l,s,u,p,f,d,c,h,m={5605:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(255),t.e(549),t.e(268),t.e(325),t.e(799)]).then((()=>()=>t(4799)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},v={};function g(e){var r=v[e];if(void 0!==r)return r.exports;var t=v[e]={id:e,loaded:!1,exports:{}};return m[e].call(t.exports,t,t.exports,g),t.loaded=!0,t.exports}g.m=m,g.c=v,g.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return g.d(r,{a:r}),r},g.d=(e,r)=>{for(var t in r)g.o(r,t)&&!g.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((r,t)=>(g.f[t](e,r),r)),[])),g.u=e=>e+".js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@openmrs/esm-appointments-app:",g.l=(t,n,o,a)=>{if(e[t])e[t].push(n);else{var i,l;if(void 0!==o)for(var s=document.getElementsByTagName("script"),u=0;u<s.length;u++){var p=s[u];if(p.getAttribute("src")==t||p.getAttribute("data-webpack")==r+o){i=p;break}}i||(l=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,g.nc&&i.setAttribute("nonce",g.nc),i.setAttribute("data-webpack",r+o),i.src=t),e[t]=[n];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},g.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{g.S={};var e={},r={};g.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];g.o(g.S,t)||(g.S[t]={});var a=g.S[t],i="@openmrs/esm-appointments-app",l=(e,r,t,n)=>{var o=a[e]=a[e]||{},l=o[r];(!l||!l.loaded&&(!n!=!l.eager?n:i>l.from))&&(o[r]={get:t,from:i,eager:!!n})},s=[];return"default"===t&&(l("@openmrs/esm-framework","5.3.1-pre.1182",(()=>Promise.all([g.e(130),g.e(268)]).then((()=>()=>g(130))))),l("react-i18next","11.18.6",(()=>Promise.all([g.e(268),g.e(610)]).then((()=>()=>g(610))))),l("react-router-dom","6.4.3",(()=>Promise.all([g.e(591),g.e(268)]).then((()=>()=>g(6591))))),l("react","18.2.0",(()=>g.e(784).then((()=>()=>g(2784))))),l("swr/_internal","2.0.1",(()=>Promise.all([g.e(729),g.e(268)]).then((()=>()=>g(4729))))),l("swr/immutable","2.0.1",(()=>Promise.all([g.e(255),g.e(268),g.e(325),g.e(152)]).then((()=>()=>g(2303)))))),e[t]=s.length?Promise.all(s).then((()=>e[t]=1)):1}}})(),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var r=g.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&!e;)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},n=(e,r)=>{e=t(e),r=t(r);for(var n=0;;){if(n>=e.length)return n<r.length&&"u"!=(typeof r[n])[0];var o=e[n],a=(typeof o)[0];if(n>=r.length)return"u"==a;var i=r[n],l=(typeof i)[0];if(a!=l)return"o"==a&&"n"==l||"s"==l||"u"==a;if("o"!=a&&"u"!=a&&o!=i)return o<i;n++}},o=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,t+="u"==(typeof(l=e[a]))[0]?"-":(n>0?".":"")+(n=2,l);return t}var i=[];for(a=1;a<e.length;a++){var l=e[a];i.push(0===l?"not("+s()+")":1===l?"("+s()+" || "+s()+")":2===l?i.pop()+" "+i.pop():o(l))}return s();function s(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var n=e[0],o=n<0;o&&(n=-n-1);for(var i=0,l=1,s=!0;;l++,i++){var u,p,f=l<e.length?(typeof e[l])[0]:"";if(i>=r.length||"o"==(p=(typeof(u=r[i]))[0]))return!s||("u"==f?l>n&&!o:""==f!=o);if("u"==p){if(!s||"u"!=f)return!1}else if(s)if(f==p)if(l<=n){if(u!=e[l])return!1}else{if(o?u>e[l]:u<e[l])return!1;u!=e[l]&&(s=!1)}else if("s"!=f&&"n"!=f){if(o||l<=n)return!1;s=!1,l--}else{if(l<=n||p<f!=o)return!1;s=!1}else"s"!=f&&"n"!=f&&(s=!1,l--)}}var d=[],c=d.pop.bind(d);for(i=1;i<e.length;i++){var h=e[i];d.push(1==h?c()|c():2==h?c()&c():h?a(h,r):!c())}return!!c()},i=(e,r)=>{var t=e[r];return Object.keys(t).reduce(((e,r)=>!e||!t[e].loaded&&n(e,r)?r:e),0)},l=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+o(n)+")",s=(e,r,t,n)=>{var o=i(e,t);return a(n,o)||u(l(e,t,o,n)),p(e[t][o])},u=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=e=>(e.loaded=1,e.get()),f=(e=>function(r,t,n,o){var a=g.I(r);return a&&a.then?a.then(e.bind(e,r,g.S[r],t,n,o)):e(0,g.S[r],t,n,o)})(((e,r,t,n,o)=>r&&g.o(r,t)?s(r,0,t,n):o())),d={},c={268:()=>f("default","react",[1,18],(()=>g.e(784).then((()=>()=>g(2784))))),3325:()=>f("default","swr/_internal",[1,2],(()=>g.e(729).then((()=>()=>g(4729))))),2870:()=>f("default","@openmrs/esm-framework",[1,5],(()=>g.e(130).then((()=>()=>g(130))))),4924:()=>f("default","react-i18next",[1,11],(()=>g.e(469).then((()=>()=>g(610))))),8744:()=>f("default","react-router-dom",[1,6],(()=>g.e(591).then((()=>()=>g(6591))))),9198:()=>f("default","swr/immutable",[1,2],(()=>g.e(303).then((()=>()=>g(2303)))))},h={268:[268],325:[3325],799:[2870,4924,8744,9198]},g.f.consumes=(e,r)=>{g.o(h,e)&&h[e].forEach((e=>{if(g.o(d,e))return r.push(d[e]);var t=r=>{d[e]=0,g.m[e]=t=>{delete g.c[e],t.exports=r()}},n=r=>{delete d[e],g.m[e]=t=>{throw delete g.c[e],r}};try{var o=c[e]();o.then?r.push(d[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}))},(()=>{var e={529:0};g.f.j=(r,t)=>{var n=g.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^(268|325)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=g.p+g.u(r),i=new Error;g.l(a,(t=>{if(g.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,l]=t,s=0;if(a.some((r=>0!==e[r]))){for(n in i)g.o(i,n)&&(g.m[n]=i[n]);l&&l(g)}for(r&&r(t);s<a.length;s++)o=a[s],g.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_appointments_app=globalThis.webpackChunk_openmrs_esm_appointments_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),g.nc=void 0;var b=g(5605);_openmrs_esm_appointments_app=b})();
@@ -80,10 +80,10 @@
80
80
  "initial": true,
81
81
  "entry": true,
82
82
  "recorded": false,
83
- "size": 4539075,
83
+ "size": 4539790,
84
84
  "sizes": {
85
85
  "consume-shared": 252,
86
- "javascript": 4518153,
86
+ "javascript": 4518868,
87
87
  "share-init": 252,
88
88
  "runtime": 20418
89
89
  },
@@ -100,7 +100,7 @@
100
100
  "auxiliaryFiles": [
101
101
  "main.js.map"
102
102
  ],
103
- "hash": "dec2b68504957b7c",
103
+ "hash": "262c8e88d6cd22af",
104
104
  "childrenByOrder": {}
105
105
  },
106
106
  {
@@ -288,7 +288,7 @@
288
288
  "auxiliaryFiles": [
289
289
  "openmrs-esm-appointments-app.js.map"
290
290
  ],
291
- "hash": "65cec1492ef63e70",
291
+ "hash": "56133487e3321f5e",
292
292
  "childrenByOrder": {}
293
293
  },
294
294
  {
@@ -417,30 +417,6 @@
417
417
  "hash": "72c13b51b2b3243a",
418
418
  "childrenByOrder": {}
419
419
  },
420
- {
421
- "rendered": true,
422
- "initial": false,
423
- "entry": false,
424
- "recorded": false,
425
- "size": 480628,
426
- "sizes": {
427
- "javascript": 480460,
428
- "consume-shared": 168
429
- },
430
- "names": [],
431
- "idHints": [],
432
- "runtime": [
433
- "@openmrs/esm-appointments-app"
434
- ],
435
- "files": [
436
- "755.js"
437
- ],
438
- "auxiliaryFiles": [
439
- "755.js.map"
440
- ],
441
- "hash": "d3b687a28836d475",
442
- "childrenByOrder": {}
443
- },
444
420
  {
445
421
  "rendered": true,
446
422
  "initial": false,
@@ -509,6 +485,30 @@
509
485
  "hash": "8586d3ab3d3eed3b",
510
486
  "childrenByOrder": {}
511
487
  },
488
+ {
489
+ "rendered": true,
490
+ "initial": false,
491
+ "entry": false,
492
+ "recorded": false,
493
+ "size": 481343,
494
+ "sizes": {
495
+ "javascript": 481175,
496
+ "consume-shared": 168
497
+ },
498
+ "names": [],
499
+ "idHints": [],
500
+ "runtime": [
501
+ "@openmrs/esm-appointments-app"
502
+ ],
503
+ "files": [
504
+ "799.js"
505
+ ],
506
+ "auxiliaryFiles": [
507
+ "799.js.map"
508
+ ],
509
+ "hash": "5ca82fdf532b5341",
510
+ "childrenByOrder": {}
511
+ },
512
512
  {
513
513
  "rendered": true,
514
514
  "initial": false,
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"}},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"check-in-appointment-modal","slot":"todays-appointment-slot","component":"checkInModal"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"early-appointments-panel","component":"earlyAppointments"}],"version":"5.2.2-pre.2445"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"^2.2.0"},"extensions":[{"name":"home-appointments","slot":"homepage-widgets-slot","component":"homeAppointments","order":1},{"name":"clinical-appointments-dashboard-link","slot":"homepage-dashboard-slot","component":"appointmentsDashboardLink","meta":{"name":"appointments","slot":"clinical-appointments-dashboard-slot","title":"Appointments"}},{"component":"root","name":"clinical-appointments-dashboard","slot":"clinical-appointments-dashboard-slot"},{"name":"appointments-calendar-dashboard-link","slot":"calendar-dashboard-slot","component":"appointmentsCalendarDashboardLink"},{"name":"check-in-appointment-modal","slot":"todays-appointment-slot","component":"checkInModal"},{"name":"todays-appointments-dashboard","slot":"todays-appointment-slot","component":"homeAppointments"},{"name":"expected-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"checked-in-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"completed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"missed-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"cancelled-appointments-panel","slot":"scheduled-appointments-panels-slot","component":"appointmentsByStatus"},{"name":"early-appointments-panel","component":"earlyAppointments"}],"version":"5.2.2-pre.2449"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-appointments-app",
3
- "version": "5.2.2-pre.2445",
3
+ "version": "5.2.2-pre.2449",
4
4
  "description": "Appointments front-end module for the OpenMRS SPA",
5
5
  "browser": "dist/openmrs-esm-appointments-app.js",
6
6
  "main": "src/index.ts",
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button, ButtonSet, Dropdown, Layer, SelectItem, TextInput, TimePicker, TimePickerSelect } from '@carbon/react';
3
3
  import { useTranslation } from 'react-i18next';
4
- import { Form, Formik, FormikHelpers } from 'formik';
4
+ import { Form, Formik, type FormikHelpers } from 'formik';
5
5
  import { validationSchema } from './appointment-services-validation';
6
6
  import { useAppointmentServices } from './appointment-services-hook';
7
7
  import { showNotification, showToast, useLocations } from '@openmrs/esm-framework';
@@ -9,7 +9,7 @@ import { useTranslation } from 'react-i18next';
9
9
  import { launchOverlay } from '../../hooks/useOverlay';
10
10
  import AppointmentForm from '../forms/create-edit-form/appointments-form.component';
11
11
  import CheckInButton from './checkin-button.component';
12
- import { MappedAppointment } from '../../types';
12
+ import { type MappedAppointment } from '../../types';
13
13
  import { showModal } from '@openmrs/esm-framework';
14
14
  import { useVisits } from '../../hooks/useVisits';
15
15
  import DefaulterTracingForm from '../forms/defaulter-tracing-form/default-tracing-form.component';
@@ -70,7 +70,7 @@ const AppointmentActions: React.FC<AppointmentActionsProps> = ({ visits, appoint
70
70
  {t('checkOut', 'Check out')}
71
71
  </Button>
72
72
  );
73
- case isTodayAppointment:
73
+ case isTodayAppointment: {
74
74
  const isAfterNoon = new Date().getHours() > 12;
75
75
 
76
76
  if (scheduleType === 'Pending' && isAfterNoon) {
@@ -82,6 +82,8 @@ const AppointmentActions: React.FC<AppointmentActionsProps> = ({ visits, appoint
82
82
  }
83
83
 
84
84
  return <CheckInButton patientUuid={patientUuid} appointment={appointment} />;
85
+ }
86
+
85
87
  default:
86
88
  if (!isFutureAppointment) {
87
89
  return (
@@ -1,7 +1,7 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import React from 'react';
3
3
  import AppointmentActions from './appointments-actions.component';
4
- import { MappedAppointment } from '../../types';
4
+ import { type MappedAppointment } from '../../types';
5
5
 
6
6
  describe('AppointmentActions', () => {
7
7
  const defaultProps = {
@@ -25,9 +25,9 @@ import { Download } from '@carbon/react/icons';
25
25
  import { EmptyState } from '../../empty-state/empty-state.component';
26
26
  import { downloadAppointmentsAsExcel } from '../../helpers/excel';
27
27
  import { launchOverlay } from '../../hooks/useOverlay';
28
- import { MappedAppointment } from '../../types';
28
+ import { type MappedAppointment } from '../../types';
29
29
  import { getPageSizes, useSearchResults } from '../utils';
30
- import { ConfigObject } from '../../config-schema';
30
+ import { type ConfigObject } from '../../config-schema';
31
31
  import AppointmentDetails from '../details/appointment-details.component';
32
32
  import AppointmentActions from './appointments-actions.component';
33
33
  import PatientSearch from '../../patient-search/patient-search.component';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import userEvent from '@testing-library/user-event';
3
3
  import { render, screen } from '@testing-library/react';
4
- import { MappedAppointment } from '../../types';
4
+ import { type MappedAppointment } from '../../types';
5
5
  import { usePagination } from '@openmrs/esm-framework';
6
6
  import { downloadAppointmentsAsExcel } from '../../helpers/excel';
7
7
  import { launchOverlay } from '../../hooks/useOverlay';
@@ -3,7 +3,7 @@ import { Button } from '@carbon/react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { launchOverlay } from '../../hooks/useOverlay';
5
5
  import VisitForm from '../../patient-queue/visit-form/visit-form.component';
6
- import { MappedAppointment } from '../../types';
6
+ import { type MappedAppointment } from '../../types';
7
7
  import dayjs from 'dayjs';
8
8
  import isToday from 'dayjs/plugin/isToday';
9
9
  import utc from 'dayjs/plugin/utc';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
- import { MappedAppointment } from '../../types/index';
3
+ import { type MappedAppointment } from '../../types/index';
4
4
  import styles from './appointment-details.scss';
5
5
  import { usePatientAppointmentHistory } from '../../hooks/usePatientAppointmentHistory';
6
6
  import { formatDate } from '@openmrs/esm-framework';
@@ -6,7 +6,7 @@ import { cancelAppointment } from '../forms.resource';
6
6
  import { useSWRConfig } from 'swr';
7
7
  import { useAppointmentDate } from '../../../helpers';
8
8
  import { closeOverlay } from '../../../hooks/useOverlay';
9
- import { MappedAppointment } from '../../../types';
9
+ import { type MappedAppointment } from '../../../types';
10
10
  import styles from './cancel-appointment.scss';
11
11
 
12
12
  interface CancelAppointmentProps {
@@ -14,8 +14,8 @@ const mockShowToast = showToast as jest.Mock;
14
14
  const mockCancelAppointment = cancelAppointment as jest.Mock;
15
15
  const mockShowNotification = showNotification as jest.Mock;
16
16
 
17
- jest.mock('../forms.resource.ts', () => {
18
- const originalModule = jest.requireActual('../forms.resource.ts');
17
+ jest.mock('../forms.resource', () => {
18
+ const originalModule = jest.requireActual('../forms.resource');
19
19
 
20
20
  return {
21
21
  ...originalModule,
@@ -28,6 +28,7 @@ import {
28
28
  Toggle,
29
29
  } from '@carbon/react';
30
30
  import {
31
+ type ConfigObject,
31
32
  ExtensionSlot,
32
33
  showNotification,
33
34
  showToast,
@@ -39,7 +40,7 @@ import {
39
40
  } from '@openmrs/esm-framework';
40
41
  import { useAppointmentDate, convertTime12to24 } from '../../../helpers';
41
42
  import { closeOverlay } from '../../../hooks/useOverlay';
42
- import { MappedAppointment, AppointmentPayload } from '../../../types';
43
+ import { type MappedAppointment, type AppointmentPayload } from '../../../types';
43
44
  import {
44
45
  saveAppointment,
45
46
  toAppointmentDateTime,
@@ -47,14 +48,13 @@ import {
47
48
  useProviders,
48
49
  useServices,
49
50
  } from '../forms.resource';
50
- import { useInitialAppointmentFormValue, PatientAppointment } from '../useInitialFormValues';
51
+ import { useAppointmentList } from '../../../hooks/useAppointmentList';
51
52
  import { useCalendarDistribution } from '../workload-helper';
52
53
  import { useDefaultLoginLocation } from '../../../hooks/useDefaultLocation';
54
+ import { useInitialAppointmentFormValue, type PatientAppointment } from '../useInitialFormValues';
53
55
  import LocationSelectOption from '../../common-components/location-select-option.component';
54
56
  import WorkloadCard from '../workload.component';
55
57
  import styles from './appointments-form.scss';
56
- import { useAppointmentList } from '../../../hooks/useAppointmentList';
57
- import { ConfigObject } from '../../../config-schema';
58
58
 
59
59
  interface AppointmentFormProps {
60
60
  appointment?: MappedAppointment;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen, within } from '@testing-library/react';
3
3
  import { useConfig, usePatient } from '@openmrs/esm-framework';
4
4
  import { mockLocations, mockSession, mockPatient, mockServices, mockProviders } from '__mocks__';
5
- import { MappedAppointment } from '../../../types';
5
+ import { type MappedAppointment } from '../../../types';
6
6
  import AppointmentForm from './appointments-form.component';
7
7
 
8
8
  const mockedUseConfig = useConfig as jest.Mock;
@@ -12,8 +12,8 @@ function renderAppointmentsForm(context: string, patientUuid?: string, appointme
12
12
  render(<AppointmentForm patientUuid={patientUuid} context={context} appointment={appointment} />);
13
13
  }
14
14
 
15
- jest.mock('../forms.resource.ts', () => {
16
- const originalModule = jest.requireActual('../forms.resource.ts');
15
+ jest.mock('../forms.resource', () => {
16
+ const originalModule = jest.requireActual('../forms.resource');
17
17
 
18
18
  return {
19
19
  ...originalModule,
@@ -1,7 +1,7 @@
1
- import { OpenmrsResource, useConfig, useSession } from '@openmrs/esm-framework';
1
+ import { type OpenmrsResource, useConfig, useSession } from '@openmrs/esm-framework';
2
2
  import dayjs from 'dayjs';
3
- import { amPm } from '../../helpers';
4
- import { MappedAppointment } from '../../types';
3
+ import { type amPm } from '../../helpers';
4
+ import { type MappedAppointment } from '../../types';
5
5
  import { ConfigObject } from '../../config-schema';
6
6
 
7
7
  export interface PatientAppointment {
@@ -22,7 +22,7 @@ import { useUnscheduledAppointments } from '../../hooks/useUnscheduledAppointmen
22
22
  import { downloadUnscheduledAppointments } from '../../helpers/excel';
23
23
  import { EmptyState } from '../../empty-state/empty-state.component';
24
24
  import { getPageSizes, useSearchResults } from '../utils';
25
- import { ConfigObject } from '../../config-schema';
25
+ import { type ConfigObject } from '../../config-schema';
26
26
 
27
27
  const UnscheduledAppointments: React.FC = () => {
28
28
  const { t } = useTranslation();
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import DailyCalendarView from './daily/daily-calendar-view.component';
3
3
  import MonthlyCalendarView from './monthly/monthly-calendar-view.component';
4
4
  import WeeklyCalendarView from './weekly/weekly-calendar-view.component';
5
- import { CalendarType } from '../types';
5
+ import { type CalendarType } from '../types';
6
6
 
7
7
  const CalendarView: React.FC<{
8
8
  calendarView: CalendarType;
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import dayjs, { Dayjs } from 'dayjs';
2
+ import dayjs, { type Dayjs } from 'dayjs';
3
3
  import isBetween from 'dayjs/plugin/isBetween';
4
4
  import styles from './daily-calendar.scss';
5
- import { CalendarType } from '../../types';
5
+ import { type CalendarType } from '../../types';
6
6
  import { dailyHours } from '../../helpers';
7
7
  import DailyHeader from './daily-header.component';
8
8
  import DailyWorkloadView from './daily-view-workload.component';
@@ -1,9 +1,9 @@
1
1
  import { Button } from '@carbon/react';
2
- import dayjs, { Dayjs } from 'dayjs';
2
+ import dayjs, { type Dayjs } from 'dayjs';
3
3
  import React from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
+ import { type CalendarType } from '../../types';
5
6
  import styles from './daily-header.scss';
6
- import { CalendarType } from '../../types';
7
7
 
8
8
  const Format = {
9
9
  monthly: 'month',
@@ -6,7 +6,7 @@ import { navigate, useLayoutType } from '@openmrs/esm-framework';
6
6
  import { useTranslation } from 'react-i18next';
7
7
  import { spaBasePath } from '../../constants';
8
8
  import { isSameMonth } from '../../helpers';
9
- import { CalendarType } from '../../types';
9
+ import { type CalendarType } from '../../types';
10
10
 
11
11
  interface WeeklyCellProps {
12
12
  type: CalendarType;
@@ -30,8 +30,8 @@ const DailyWorkloadView: React.FC<WeeklyCellProps> = ({ type, dateTime, currentD
30
30
  type === 'daily'
31
31
  ? 'weekly-cell'
32
32
  : isSameMonth(dateTime, currentDate)
33
- ? 'monthly-cell'
34
- : 'monthly-cell-disabled'
33
+ ? 'monthly-cell'
34
+ : 'monthly-cell-disabled'
35
35
  ]
36
36
  }>
37
37
  {type === 'daily' ? (
@@ -4,7 +4,7 @@ import userEvent from '@testing-library/user-event';
4
4
  import { render, screen } from '@testing-library/react';
5
5
  import { navigate } from '@openmrs/esm-framework';
6
6
  import { spaBasePath } from '../../constants';
7
- import { CalendarType } from '../../types';
7
+ import { type CalendarType } from '../../types';
8
8
  import DailyWorkloadView from './daily-view-workload.component';
9
9
 
10
10
  jest.mock('@openmrs/esm-framework', () => ({
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import dayjs, { Dayjs } from 'dayjs';
2
+ import dayjs, { type Dayjs } from 'dayjs';
3
3
  import isBetween from 'dayjs/plugin/isBetween';
4
- import { CalendarType } from '../../types';
4
+ import { type CalendarType } from '../../types';
5
5
  import { monthDays } from '../../helpers/functions';
6
6
  import MonthlyViewWorkload from './monthly-view-workload.component';
7
7
  import MonthlyHeader from './monthly-header.module';
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import dayjs, { Dayjs } from 'dayjs';
2
+ import { type Dayjs } from 'dayjs';
3
3
  import styles from './monthly-header.module.scss';
4
4
  import { Button } from '@carbon/react';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { CalendarType } from '../../types';
6
+ import { type CalendarType } from '../../types';
7
7
  import DaysOfWeekCard from '../daily/days-of-week.component';
8
8
 
9
9
  const Format = {
@@ -38,9 +38,7 @@ function MonthlyHeader({
38
38
  </Button>
39
39
  </div>
40
40
  <div className={styles.workLoadCard}>
41
- {daysInWeek?.map((day, i) => (
42
- <DaysOfWeekCard key={`${day}-${i}`} dayOfWeek={day} />
43
- ))}
41
+ {daysInWeek?.map((day, i) => <DaysOfWeekCard key={`${day}-${i}`} dayOfWeek={day} />)}
44
42
  </div>
45
43
  </>
46
44
  );
@@ -15,8 +15,11 @@ import {
15
15
  TableToolbar,
16
16
  TableToolbarContent,
17
17
  TableToolbarSearch,
18
+ Button,
18
19
  } from '@carbon/react';
19
- import { ExtensionSlot, formatDatetime } from '@openmrs/esm-framework';
20
+ import { ExtensionSlot, formatDate, formatDatetime } from '@openmrs/esm-framework';
21
+ import { downloadAppointmentsAsExcel } from '../../helpers/excel';
22
+ import { Download } from '@carbon/react/icons';
20
23
  import styles from './calenar-patient-list.scss';
21
24
  import { useAppointments } from '../../appointments/appointments-table.resource';
22
25
 
@@ -88,6 +91,20 @@ const CalendarPatientList: React.FC<CalendarPatientListProps> = () => {
88
91
  tabIndex={getBatchActionProps().shouldShowBatchActions ? -1 : 0}
89
92
  onChange={onInputChange}
90
93
  />
94
+ <Button
95
+ size="lg"
96
+ kind="tertiary"
97
+ renderIcon={Download}
98
+ onClick={() =>
99
+ downloadAppointmentsAsExcel(
100
+ appointments,
101
+ `${serviceName} ${formatDate(new Date(appointments[0]?.dateTime), {
102
+ year: true,
103
+ })}`,
104
+ )
105
+ }>
106
+ {t('download', 'Download')}
107
+ </Button>
91
108
  </TableToolbarContent>
92
109
  </TableToolbar>
93
110
  <Table>
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import dayjs, { Dayjs } from 'dayjs';
2
+ import dayjs, { type Dayjs } from 'dayjs';
3
3
  import isBetween from 'dayjs/plugin/isBetween';
4
4
  import styles from './weekly-calendar.scss';
5
- import { CalendarType } from '../../types';
5
+ import { type CalendarType } from '../../types';
6
6
  import { isSameMonth, weekAllDays, weekDays } from '../../helpers';
7
7
  import WeeklyWorkloadView from './weekly-view-workload.component';
8
8
  import WeeklyHeader from './weekly-header.component';
@@ -51,8 +51,8 @@ const WeeklyCalendarView: React.FC<WeeklyCalendarViewProps> = ({
51
51
  type === 'weekly'
52
52
  ? 'weekly-cell'
53
53
  : isSameMonth(dateTime, currentDate)
54
- ? 'monthly-cell'
55
- : 'monthly-cell-disabled'
54
+ ? 'monthly-cell'
55
+ : 'monthly-cell-disabled'
56
56
  ]
57
57
  }>
58
58
  {type === 'weekly' ? (
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Button } from '@carbon/react';
3
- import { Dayjs } from 'dayjs';
3
+ import { type Dayjs } from 'dayjs';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { weekDays } from '../../helpers';
6
6
  import type { CalendarType } from '../../types';
@@ -37,10 +37,10 @@ function WeeklyHeader({
37
37
  {type === 'monthly'
38
38
  ? currentDate.format(monthFormat)
39
39
  : type === 'daily'
40
- ? currentDate.format(dateFormat)
41
- : `${currentDate.startOf('week').format(dateFormat)} - ${currentDate
42
- .endOf('week')
43
- .format(dateFormat)} , ${currentDate.format(yearFormat)}`}
40
+ ? currentDate.format(dateFormat)
41
+ : `${currentDate.startOf('week').format(dateFormat)} - ${currentDate
42
+ .endOf('week')
43
+ .format(dateFormat)} , ${currentDate.format(yearFormat)}`}
44
44
  </span>
45
45
  <Button size="sm" onClick={() => setCurrentDate(currentDate.add(1, Format[type]))} kind="tertiary">
46
46
  {t('next', 'Next')}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import classNames from 'classnames';
3
- import dayjs, { Dayjs } from 'dayjs';
3
+ import dayjs, { type Dayjs } from 'dayjs';
4
4
  import { navigate, useLayoutType } from '@openmrs/esm-framework';
5
5
  import { useTranslation } from 'react-i18next';
6
6
 
7
7
  import { spaBasePath } from '../../constants';
8
8
  import { isSameMonth } from '../../helpers';
9
- import { CalendarType } from '../../types';
9
+ import { type CalendarType } from '../../types';
10
10
  import styles from './weekly-workload-module.scss';
11
11
 
12
12
  interface WeeklyCellProps {
@@ -32,8 +32,8 @@ const WeeklyWorkloadView: React.FC<WeeklyCellProps> = ({ type, dateTime, current
32
32
  type === 'weekly'
33
33
  ? 'weekly-cell'
34
34
  : isSameMonth(dateTime, currentDate)
35
- ? 'monthly-cell'
36
- : 'monthly-cell-disabled'
35
+ ? 'monthly-cell'
36
+ : 'monthly-cell-disabled'
37
37
  ]
38
38
  }>
39
39
  {type === 'weekly' ? (
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import dayjs from 'dayjs';
3
3
  import userEvent from '@testing-library/user-event';
4
4
  import { render, screen } from '@testing-library/react';
5
- import { CalendarType } from '../../types';
5
+ import { type CalendarType } from '../../types';
6
6
  import { spaBasePath } from '../../constants';
7
7
  import { navigate } from '@openmrs/esm-framework';
8
8
  import WeeklyWorkloadView from './weekly-view-workload.component';
@@ -7,7 +7,7 @@ import AppointmentsMetrics from './appointments-metrics.component';
7
7
  const mockedOpenmrsFetch = openmrsFetch as jest.Mock;
8
8
 
9
9
  jest.mock('../hooks/useClinicalMetrics', () => {
10
- const originalModule = jest.requireActual('../hooks/useClinicalMetrics.tsx');
10
+ const originalModule = jest.requireActual('../hooks/useClinicalMetrics');
11
11
 
12
12
  return {
13
13
  ...originalModule,
@@ -32,9 +32,8 @@ function DashboardExtension({ dashboardLinkConfig }: { dashboardLinkConfig: Dash
32
32
  );
33
33
  }
34
34
 
35
- export const createDashboardLink = (dashboardLinkConfig: DashboardLinkConfig) => () =>
36
- (
37
- <BrowserRouter>
38
- <DashboardExtension dashboardLinkConfig={dashboardLinkConfig} />
39
- </BrowserRouter>
40
- );
35
+ export const createDashboardLink = (dashboardLinkConfig: DashboardLinkConfig) => () => (
36
+ <BrowserRouter>
37
+ <DashboardExtension dashboardLinkConfig={dashboardLinkConfig} />
38
+ </BrowserRouter>
39
+ );
@@ -31,10 +31,10 @@ import { ActionsMenu } from './appointment-actions.component';
31
31
  import { EmptyDataIllustration } from './empty-data-illustration.component';
32
32
  import { launchCheckInAppointmentModal, handleComplete } from './common';
33
33
  import { SeeAllAppointmentsLink, AddAppointmentLink, ViewCalendarLink } from './links.component';
34
- import { Appointment, MappedHomeAppointment } from '../types';
34
+ import { type Appointment, type MappedHomeAppointment } from '../types';
35
35
  import { useTodaysAppointments } from './appointments-table.resource';
36
36
  import styles from './appointments-list.scss';
37
- import { ConfigObject } from '../config-schema';
37
+ import { type ConfigObject } from '../config-schema';
38
38
 
39
39
  interface PaginationData {
40
40
  goTo: (page: number) => void;
@@ -1,6 +1,6 @@
1
1
  import useSWR from 'swr';
2
2
  import { openmrsFetch } from '@openmrs/esm-framework';
3
- import { AppointmentService, Identifier, Provider } from '../types';
3
+ import { type AppointmentService, type Identifier, type Provider } from '../types';
4
4
  import { useAppointmentDate } from '../helpers';
5
5
  import dayjs from 'dayjs';
6
6
  import { configSchema } from '../config-schema';
@@ -1,6 +1,6 @@
1
1
  import { openmrsFetch } from '@openmrs/esm-framework';
2
2
  import useSWR from 'swr';
3
- import { AppointmentService } from '../types';
3
+ import { type AppointmentService } from '../types';
4
4
 
5
5
  export function useAppointmentServices() {
6
6
  const { data, error, isLoading } = useSWR<{ data: Array<AppointmentService> }>(