@openmrs/esm-patient-programs-app 3.0.0-pre.65 → 3.0.0-pre.656
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.
- package/dist/133.openmrs-esm-patient-programs-app.js +3 -0
- package/dist/133.openmrs-esm-patient-programs-app.js.LICENSE.txt +14 -0
- package/dist/133.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/401.openmrs-esm-patient-programs-app.js +3 -0
- package/dist/401.openmrs-esm-patient-programs-app.js.LICENSE.txt +14 -0
- package/dist/401.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/574.openmrs-esm-patient-programs-app.js +1 -0
- package/dist/639.openmrs-esm-patient-programs-app.js +2 -0
- package/dist/639.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/757.openmrs-esm-patient-programs-app.js +1 -0
- package/dist/783.openmrs-esm-patient-programs-app.js +3 -0
- package/dist/783.openmrs-esm-patient-programs-app.js.LICENSE.txt +23 -0
- package/dist/783.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/839.openmrs-esm-patient-programs-app.js +2 -0
- package/dist/839.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/972.openmrs-esm-patient-programs-app.js +2 -0
- package/dist/972.openmrs-esm-patient-programs-app.js.map +1 -0
- package/dist/openmrs-esm-patient-programs-app.js +2 -1
- package/dist/openmrs-esm-patient-programs-app.js.LICENSE.txt +5 -0
- package/dist/openmrs-esm-patient-programs-app.js.buildmanifest.json +220 -0
- package/dist/openmrs-esm-patient-programs-app.js.map +1 -1
- package/package.json +10 -11
- package/src/dashboard.meta.tsx +6 -0
- package/src/declarations.d.tsx +3 -3
- package/src/index.ts +31 -30
- package/src/programs/program-record.component.tsx +29 -48
- package/src/programs/program-record.test.outdated.tsx +30 -34
- package/src/programs/programs-detailed-summary.component.tsx +123 -114
- package/src/programs/programs-detailed-summary.scss +24 -0
- package/src/programs/programs-detailed-summary.test.tsx +71 -0
- package/src/programs/programs-form.component.tsx +257 -473
- package/src/programs/programs-form.scss +20 -0
- package/src/programs/programs-form.test.tsx +206 -0
- package/src/programs/programs-overview.component.tsx +44 -74
- package/src/programs/programs-overview.scss +4 -0
- package/src/programs/programs-overview.test.tsx +70 -0
- package/src/programs/programs.component.test.tsx +21 -0
- package/src/programs/programs.component.tsx +6 -10
- package/src/programs/programs.context.tsx +1 -1
- package/src/programs/programs.resource.tsx +31 -43
- package/translations/en.json +29 -1
- package/webpack.config.js +1 -80
- package/dist/0.openmrs-esm-patient-programs-app.js +0 -22
- package/dist/0.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/1.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/1.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/3.openmrs-esm-patient-programs-app.js +0 -23
- package/dist/3.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/4.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/4.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/5.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/5.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/6.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/6.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/7.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/7.openmrs-esm-patient-programs-app.js.map +0 -1
- package/dist/8.openmrs-esm-patient-programs-app.js +0 -2
- package/dist/8.openmrs-esm-patient-programs-app.js.map +0 -1
- package/src/cards/summary-card.component.tsx +0 -82
- package/src/cards/summary-card.css +0 -65
- package/src/dashboard/dashboard-link.component.tsx +0 -7
- package/src/dashboard/dashboard.meta.tsx +0 -6
- package/src/openmrs-backend-dependencies.ts +0 -4
- package/src/programs/empty-state/empty-data-illustration.component.tsx +0 -53
- package/src/programs/empty-state/empty-state.component.tsx +0 -39
- package/src/programs/empty-state/empty-state.scss +0 -34
- package/src/programs/error-state/error-state.component.tsx +0 -26
- package/src/programs/error-state/error-state.scss +0 -36
- package/src/programs/openWorkspaceTab.tsx +0 -40
- package/src/programs/programs-detailed-summary.css +0 -63
- package/src/programs/programs-detailed-summary.test.outdated.tsx +0 -57
- package/src/programs/programs-form.css +0 -95
- package/src/programs/programs-form.test.outdated.tsx +0 -276
- package/src/programs/programs-overview.test.outdated.tsx +0 -73
- package/src/programs/programs.component.test.outdated.tsx +0 -18
- package/src/set-public-path.ts +0 -3
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp_openmrs_esm_patient_programs_app=window.webpackJsonp_openmrs_esm_patient_programs_app||[]).push([[1],{30:function(e,t,r){"use strict";r.d(t,"c",(function(){return o})),r.d(t,"b",(function(){return s})),r.d(t,"f",(function(){return m})),r.d(t,"a",(function(){return l})),r.d(t,"h",(function(){return i})),r.d(t,"e",(function(){return c})),r.d(t,"d",(function(){return p})),r.d(t,"g",(function(){return d}));var a=r(0),n=r(127);function o(e){return Object(a.openmrsObservableFetch)("/ws/rest/v1/programenrollment?patient="+e).pipe(Object(n.a)(({data:e})=>e.results.sort((e,t)=>t.dateEnrolled>e.dateEnrolled?1:-1)))}function s(e){return Object(a.openmrsObservableFetch)("/ws/rest/v1/programenrollment?patient="+e).pipe(Object(n.a)(({data:e})=>e.results.filter(e=>!e.dateCompleted).sort((e,t)=>t.dateEnrolled>e.dateEnrolled?1:-1)))}function m(e){return Object(a.openmrsObservableFetch)("/ws/rest/v1/programenrollment/"+e).pipe(Object(n.a)(({data:e})=>e))}function l(e,t){if(!e)return null;const{program:r,patient:n,dateEnrolled:o,dateCompleted:s,location:m}=e;return Object(a.openmrsObservableFetch)("/ws/rest/v1/programenrollment",{method:"POST",headers:{"Content-Type":"application/json"},body:{program:r,patient:n,dateEnrolled:o,dateCompleted:s,location:m},signal:t.signal})}function i(e,t){if(!e&&!e.program)return null;const{program:r,dateEnrolled:n,dateCompleted:o,location:s}=e;return Object(a.openmrsObservableFetch)("/ws/rest/v1/programenrollment/"+r,{method:"POST",headers:{"Content-Type":"application/json"},body:{dateEnrolled:n,dateCompleted:o,location:s},signal:t.signal})}function c(){return Object(a.openmrsObservableFetch)("/ws/rest/v1/program?v=custom:(uuid,display,allWorkflows,concept:(uuid,display))").pipe(Object(n.a)(({data:e})=>e.results))}function p(){return Object(a.openmrsObservableFetch)("/ws/rest/v1/location?v=custom:(uuid,display)").pipe(Object(n.a)(({data:e})=>e.results))}function d(e){return Object(a.openmrsFetch)("/ws/rest/v1/appui/session",{signal:e.signal})}},40:function(e,t,r){"use strict";var a=r(6),n=r.n(a),o=r(9),s=r.n(o),m=r(111),l=r(110),i=r(112),c=r(79),p=r.n(c),d=r(41),_=r(10),u=r(8),g=r(0),f=r(30);t.a=({match:e,patientUuid:t,closeComponent:r=(()=>{}),entryCancelled:o=(()=>{}),entryStarted:c=(()=>{})})=>{const b=Object(a.useRef)(null),h=Object(a.useRef)(null),[E,y]=Object(a.useState)(!1),[v,C]=Object(a.useState)(!1),[w,j]=Object(a.useState)(!1),[k,O]=Object(a.useState)(null),[x,N]=Object(a.useState)(null),[D,S]=Object(a.useState)(null),[F,T]=Object(a.useState)(null),[M,z]=Object(a.useState)(""),[B,Y]=Object(a.useState)(""),[I,L]=Object(a.useState)(s()(new Date).format("YYYY-MM-DD")),[K,H]=Object(a.useState)(null),[P,A]=Object(a.useState)(null),[q,V]=Object(a.useState)(!1),X=Object(_.useHistory)(),{t:U}=Object(u.useTranslation)();Object(a.useEffect)(()=>{const{program:t,programUuid:r,enrollmentDate:a,completionDate:n,locationUuid:o}=e.params;t&&a&&(y(!0),z(o),Y(r),H(n),L(a))},[e.params]),Object(a.useEffect)(()=>{if(t&&!E){const e=new AbortController;Object(f.g)(e).then(({data:e})=>{const{sessionLocation:t}=e;t&&t.uuid&&z(t.uuid)})}},[t,E]),Object(a.useEffect)(()=>{if(t){const e=Object(f.d)().subscribe(e=>A(e),Object(g.createErrorHandler)()),r=Object(f.e)().subscribe(e=>N(e),Object(g.createErrorHandler)()),a=Object(f.c)(t).subscribe(e=>T(e.filter(e=>!e.dateCompleted)),Object(g.createErrorHandler)());return()=>{e.unsubscribe(),r.unsubscribe(),a.unsubscribe()}}},[t]),Object(a.useEffect)(()=>{if(E&&t&&e.params){const t=Object(f.f)(e.params.programUuid).subscribe(e=>O(e),Object(g.createErrorHandler)());return()=>t.unsubscribe()}},[E,t,e.params]),Object(a.useEffect)(()=>{x&&F&&S(Object(m.a)(x,e=>!Object(l.a)(Object(i.a)(F,"program.uuid"),e.uuid)))},[x,F]),Object(a.useEffect)(()=>{var e,t;I&&B&&null!=h&&null!==(e=h.current)&&void 0!==e&&null!==(t=e.validity)&&void 0!==t&&t.valid?C(!0):C(!1)},[I,B]),Object(a.useEffect)(()=>{j(!(!E||!q))},[E,q]);const W=r=>{r.preventDefault();const a={program:B,patient:t,dateEnrolled:I,dateCompleted:K,location:M},n=new AbortController;return Object(f.a)(a,n).subscribe(t=>{t.ok&&(e.params.setEnrolledPrograms([...e.params.enrolledPrograms,t.data]),J())}),()=>n.abort()},$=e=>{if(e.preventDefault(),K||I||M){const e={program:B,dateCompleted:K,dateEnrolled:I,location:M},t=new AbortController;return Object(f.h)(e,t).subscribe(e=>200===e.status&&J()),()=>t.abort()}},J=()=>{X.push(`/patient/${t}/chart/programs/care-programs`),r()},R=e=>{let t=!1;q&&(t=confirm("There is ongoing work, are you sure you want to close this tab?")),t&&q?(o(),r()):q||(o(),r())};return n.a.createElement("div",null,E?n.a.createElement(n.a.Fragment,null,k&&n.a.createElement("form",{onChange:()=>(V(!0),c()),onSubmit:$,className:p.a.programsForm,ref:b},n.a.createElement(d.a,{name:U("editProgram","Edit program"),styles:{width:"100%",backgroundColor:"var(--omrs-color-bg-medium-contrast)",height:"auto"}},n.a.createElement("div",{className:p.a.programsContainerWrapper},n.a.createElement("div",{style:{flex:1,margin:"0rem 0.5rem"}},n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"program"},n.a.createElement(u.Trans,{i18nKey:"program"},"Program")),n.a.createElement("span",{id:"program",className:"omrs-medium"},k.display)),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"enrollmentDate"},n.a.createElement(u.Trans,{i18nKey:"dateEnrolled"},"Date enrolled")),n.a.createElement("div",{className:"omrs-datepicker"},n.a.createElement("input",{id:"enrollmentDate",type:"date",name:"enrollmentDate",required:!0,onChange:e=>L(e.target.value),defaultValue:s()(I).format("YYYY-MM-DD")}),n.a.createElement("svg",{className:"omrs-icon",role:"img"},n.a.createElement("use",{xlinkHref:"#omrs-icon-calendar"})))),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"completionDate"},n.a.createElement(u.Trans,{i18nKey:"dateCompleted"},"Date completed")),n.a.createElement("div",{className:"omrs-datepicker"},n.a.createElement("input",{id:"completionDate",type:"date",name:"completionDate",onChange:e=>H(e.target.value),defaultValue:K?s()(K).format("YYYY-MM-DD"):""}),n.a.createElement("svg",{className:"omrs-icon",role:"img"},n.a.createElement("use",{xlinkHref:"#omrs-icon-calendar"})))),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"location"},n.a.createElement(u.Trans,{i18nKey:"enrollmentLocation"},"Enrollment location")),n.a.createElement("select",{id:"location",name:"locations",value:M,onChange:e=>z(e.target.value)},P&&P.map(e=>n.a.createElement("option",{value:e.uuid,key:e.uuid},e.display))))))),n.a.createElement("div",{className:w?p.a.buttonStyles:`${p.a.buttonStyles} ${p.a.buttonStylesBorder}`},n.a.createElement("button",{type:"submit",style:{width:"50%"},className:w?"omrs-btn omrs-filled-action omrs-rounded":"omrs-btn omrs-outlined omrs-rounded",disabled:!w},n.a.createElement(u.Trans,{i18nKey:"save"},"Save")),n.a.createElement("button",{type:"button",className:"omrs-btn omrs-outlined-neutral omrs-rounded",style:{width:"50%"},onClick:R},n.a.createElement(u.Trans,{i18nKey:"cancel"},"Cancel"))))):n.a.createElement("form",{onChange:()=>(V(!0),c()),onSubmit:W,className:p.a.programsForm,ref:b},n.a.createElement(d.a,{name:U("addNewProgram","Add a new program"),styles:{width:"100%",backgroundColor:"var(--omrs-color-bg-medium-contrast)",height:"auto"}},n.a.createElement("div",{className:p.a.programsContainerWrapper},n.a.createElement("div",{style:{flex:1,margin:"0rem 0.5rem"}},n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"program"},n.a.createElement(u.Trans,{i18nKey:"program"},"Program")),n.a.createElement("select",{id:"program",name:"programs",value:B,onChange:e=>Y(e.target.value),required:!0},n.a.createElement("option",null,U("chooseProgram","Choose a program"),":"),D&&D.map(e=>n.a.createElement("option",{value:e.uuid,key:e.uuid},e.display)))),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"enrollmentDate"},n.a.createElement(u.Trans,{i18nKey:"dateEnrolled"},"Date enrolled")),n.a.createElement("div",{className:"omrs-datepicker"},n.a.createElement("input",{ref:h,id:"enrollmentDate",type:"date",name:"enrollmentDate",max:s()((new Date).toUTCString()).format("YYYY-MM-DD"),required:!0,onChange:e=>{L(e.target.value)},defaultValue:s()(new Date).format("YYYY-MM-DD")}),n.a.createElement("svg",{className:"omrs-icon",role:"img"},n.a.createElement("use",{xlinkHref:"#omrs-icon-calendar"}))),h&&!(null!=h&&null!==(Q=h.current)&&void 0!==Q&&null!==(G=Q.validity)&&void 0!==G&&G.valid)&&n.a.createElement("div",{className:p.a.dateError},n.a.createElement("span",null,n.a.createElement("svg",{className:"omrs-icon",role:"img"},n.a.createElement("use",{xlinkHref:"#omrs-icon-important-notification"})),n.a.createElement(u.Trans,{i18nKey:"futureDateErrorMsg"},"Please enter a date that is either on or before today.")))),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"completionDate"},n.a.createElement(u.Trans,{i18nKey:"dateCompleted"},"Date completed")),n.a.createElement("div",{className:"omrs-datepicker"},n.a.createElement("input",{id:"completionDate",type:"date",name:"completionDate",onChange:e=>H(e.target.value)}),n.a.createElement("svg",{className:"omrs-icon",role:"img"},n.a.createElement("use",{xlinkHref:"#omrs-icon-calendar"})))),n.a.createElement("div",{className:p.a.programsInputContainer},n.a.createElement("label",{htmlFor:"location"},n.a.createElement(u.Trans,{i18nKey:"enrollmentLocation"},"Enrollment location")),n.a.createElement("select",{id:"location",name:"locations",value:M,onChange:e=>{z(e.target.value)}},n.a.createElement("option",null,U("chooseLocation","Choose a location"),":"),P&&P.map(e=>n.a.createElement("option",{value:e.uuid,key:e.uuid},e.display))))))),n.a.createElement("div",{className:v?`${p.a.buttonStyles} ${p.a.buttonStylesBorder}`:p.a.buttonStyles},n.a.createElement("button",{type:"button",className:"omrs-btn omrs-outlined-neutral omrs-rounded",style:{width:"50%"},onClick:R},n.a.createElement(u.Trans,{i18nKey:"cancel"},"Cancel")),n.a.createElement("button",{type:"submit",style:{width:"50%"},className:v?"omrs-btn omrs-filled-action omrs-rounded":"omrs-btn omrs-outlined omrs-rounded",disabled:!v},n.a.createElement(u.Trans,{i18nKey:"enroll"},"Enroll")))));var Q,G}},41:function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var a=r(6),n=r.n(a),o=r(81),s=r.n(o),m=r(10),l=r(8);function i(e){return n.a.createElement("div",{style:e.styles,className:`omrs-card ${s.a.card} ${e.className||""}`},n.a.createElement("div",{className:s.a.header},n.a.createElement("div",{className:s.a.headerTitle},e.link?n.a.createElement(m.Link,{to:e.link,className:"omrs-unstyled"},t()):n.a.createElement(n.a.Fragment,null,t())),e.addComponent&&n.a.createElement("div",{className:s.a.headerAdd},n.a.createElement("button",{className:"omrs-unstyled "+s.a.addBtn,onClick:()=>e.showComponent(e.addComponent,e.name)},n.a.createElement(l.Trans,{i18nKey:"add"},"Add"))),e.editComponent&&n.a.createElement("div",{className:s.a.headerEdit},n.a.createElement("button",{className:"omrs-unstyled "+s.a.editBtn,onClick:()=>e.showComponent(e.editComponent,e.name)},n.a.createElement(l.Trans,{i18nKey:"edit"},"Edit"))),e.editBtnUrl&&n.a.createElement("div",{className:s.a.headerEdit},n.a.createElement("button",{className:"omrs-unstyled "+s.a.editBtn},n.a.createElement(m.Link,{className:"omrs-unstyled",to:e.editBtnUrl},n.a.createElement(l.Trans,{i18nKey:"edit"},"Edit"))))),e.children);function t(){return n.a.createElement("div",{className:s.a.title},n.a.createElement("h2",{className:"omrs-margin-0"},e.name),n.a.createElement("svg",{className:"omrs-icon",fill:"rgba(0, 0, 0, 0.54)"},n.a.createElement("use",{xlinkHref:"#omrs-icon-chevron-right"})))}}},47:function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var a=r(0),n=r(93);function o(e,t,r,o=!0){Object(n.a)(a.getStartedVisit.value)&&o?window.dispatchEvent(new CustomEvent("visit-dialog",{detail:{type:"prompt"}})):Object(a.newWorkspaceItem)({component:e,name:t,props:{match:{params:r||{}}},inProgress:!1,validations:t=>t.findIndex(t=>t.component===e)})}},74:function(e,t,r){"use strict";var a=r(6),n=r.n(a),o=r(123),s=r(122);var m=({width:e="61",height:t="59"})=>a.createElement("svg",{width:e,height:t,viewBox:"0 0 61 59"},a.createElement("title",null,"Empty data illustration"),a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M38.133 13.186H21.947c-.768.001-1.39.623-1.39 1.391V50.55l-.186.057-3.97 1.216a.743.743 0 01-.927-.493L3.664 12.751a.742.742 0 01.492-.926l6.118-1.874 17.738-5.43 6.119-1.873a.741.741 0 01.926.492L38.076 13l.057.186z",fill:"#F4F4F4"}),a.createElement("path",{d:"M41.664 13L38.026 1.117A1.576 1.576 0 0036.056.07l-8.601 2.633-17.737 5.43-8.603 2.634a1.578 1.578 0 00-1.046 1.97l12.436 40.616a1.58 1.58 0 001.969 1.046l5.897-1.805.185-.057v-.194l-.185.057-5.952 1.822a1.393 1.393 0 01-1.737-.923L.247 12.682a1.39 1.39 0 01.923-1.738L9.772 8.31 27.51 2.881 36.112.247a1.393 1.393 0 011.737.923L41.47 13l.057.186h.193l-.057-.185z",fill:"#8D8D8D"}),a.createElement("path",{d:"M11.378 11.855a.836.836 0 01-.798-.59L9.385 7.361a.835.835 0 01.554-1.042l16.318-4.996a.836.836 0 011.042.554l1.195 3.902a.836.836 0 01-.554 1.043l-16.318 4.995a.831.831 0 01-.244.037z",fill:"#C6C6C6"}),a.createElement("circle",{fill:"#C6C6C6",cx:17.636,cy:2.314,r:1.855}),a.createElement("circle",{fill:"#FFF",fillRule:"nonzero",cx:17.636,cy:2.314,r:1.175}),a.createElement("path",{d:"M55.893 53.995H24.544a.79.79 0 01-.788-.789V15.644a.79.79 0 01.788-.788h31.349a.79.79 0 01.788.788v37.562a.79.79 0 01-.788.789z",fill:"#F4F4F4"}),a.createElement("path",{d:"M41.47 13H21.948a1.579 1.579 0 00-1.576 1.577V52.4l.185-.057V14.577c.001-.768.623-1.39 1.391-1.39h19.581L41.471 13zm17.02 0H21.947a1.579 1.579 0 00-1.576 1.577v42.478c0 .87.706 1.576 1.576 1.577H58.49a1.579 1.579 0 001.576-1.577V14.577a1.579 1.579 0 00-1.576-1.576zm1.39 44.055c0 .768-.622 1.39-1.39 1.392H21.947c-.768-.001-1.39-.624-1.39-1.392V14.577c0-.768.622-1.39 1.39-1.39H58.49c.768 0 1.39.622 1.39 1.39v42.478z",fill:"#8D8D8D"}),a.createElement("path",{d:"M48.751 17.082H31.686a.836.836 0 01-.835-.835v-4.081c0-.46.374-.834.835-.835H48.75c.461 0 .834.374.835.835v4.08c0 .462-.374.835-.835.836z",fill:"#C6C6C6"}),a.createElement("circle",{fill:"#C6C6C6",cx:40.218,cy:9.755,r:1.855}),a.createElement("circle",{fill:"#FFF",fillRule:"nonzero",cx:40.218,cy:9.755,r:1.13}))),l=r(85),i=r.n(l),c=r(8);t.a=e=>{const{t:t}=Object(c.useTranslation)();return n.a.createElement(s.a,{light:!0,className:i.a.tile},n.a.createElement("h1",{className:i.a.heading},e.headerTitle),n.a.createElement(m,null),n.a.createElement("p",{className:i.a.content},n.a.createElement(c.Trans,{i18nKey:"emptyStateText",values:{displayText:e.displayText.toLowerCase()}},"There are no ",e.displayText.toLowerCase()," to display for this patient")),n.a.createElement("p",{className:i.a.action},n.a.createElement(o.a,{onClick:()=>e.launchForm()},t("record","Record")," ",e.displayText.toLowerCase())))}},79:function(e,t,r){var a=r(20),n=r(80);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);var o={insert:"head",singleton:!1};a(n,o);e.exports=n.locals||{}},80:function(e,t,r){(t=r(21)(!1)).push([e.i,".omrs-breakpoint-gt-phone .esm-patient-programs__programs-form__programsForm___7BPfM {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.omrs-breakpoint-lt-tablet .esm-patient-programs__programs-form__programsForm___7BPfM {\n padding: 0.25rem 0.5rem 0 0.5rem;\n flex-direction: row;\n}\n\n.omrs-breakpoint-lt-tablet .esm-patient-programs__programs-form__programsContainerWrapper___2Fml1 {\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n}\n\n.esm-patient-programs__programs-form__programsContainerWrapper___2Fml1 {\n display: flex;\n margin: 0rem 0rem 0.25rem 0rem;\n flex-wrap: wrap;\n}\n\n.esm-patient-programs__programs-form__programsContainer___3-NCL {\n display: flex;\n margin: 0rem 0rem 0.25rem 0rem;\n}\n\n.esm-patient-programs__programs-form__programsInputContainer___14ejp {\n display: flex;\n flex-direction: column;\n margin: 0.625rem;\n}\n\n.esm-patient-programs__programs-form__programsInputControl___DQB_l + svg {\n padding-right: 0.125rem;\n}\n\n.esm-patient-programs__programs-form__programsInputContainer___14ejp select {\n font-size: 1rem;\n height: 2.625rem;\n color: var(--omrs-color-interaction);\n padding: 0.5rem;\n border: 0.0625rem solid var(--omrs-color-ink-lowest-contrast);\n background-color: var(--omrs-color-ink-white);\n min-width: 50%;\n width: 100%;\n}\n\n.esm-patient-programs__programs-form__programsInputContainer___14ejp label {\n margin: 0.375rem 0rem;\n}\n\n.esm-patient-programs__programs-form__buttonStyles___2rJEi {\n display: flex;\n background: var(--omrs-color-ink-white);\n bottom: 0;\n justify-content: center;\n width: 100%;\n}\n\n.esm-patient-programs__programs-form__buttonStyles___2rJEi button {\n margin: 0.5rem 1rem;\n cursor: pointer;\n}\n\n.esm-patient-programs__programs-form__buttonStyles___2rJEi button:disabled {\n background: var(--omrs-color-ink-lowest-contrast);\n}\n\n.esm-patient-programs__programs-form__buttonStylesBorder___2wtwu {\n border-top: 0.125rem solid var(--omrs-color-interaction);\n}\n\n.esm-patient-programs__programs-form__dateError___3Ib55 {\n flex-direction: row;\n box-sizing: border-box;\n display: flex;\n padding-top: 0.5rem;\n}\n\n.esm-patient-programs__programs-form__dateError___3Ib55 span {\n color: var(--omrs-color-danger);\n line-height: 1.25rem;\n font-size: 0.875rem;\n white-space: normal;\n display: inline;\n}\n\n.esm-patient-programs__programs-form__dateError___3Ib55 svg {\n fill: var(--omrs-color-danger);\n height: 0.8rem;\n width: 1.5rem;\n padding-right: 0.25rem;\n}\n",""]),t.locals={programsForm:"esm-patient-programs__programs-form__programsForm___7BPfM",programsContainerWrapper:"esm-patient-programs__programs-form__programsContainerWrapper___2Fml1",programsContainer:"esm-patient-programs__programs-form__programsContainer___3-NCL",programsInputContainer:"esm-patient-programs__programs-form__programsInputContainer___14ejp",programsInputControl:"esm-patient-programs__programs-form__programsInputControl___DQB_l",buttonStyles:"esm-patient-programs__programs-form__buttonStyles___2rJEi",buttonStylesBorder:"esm-patient-programs__programs-form__buttonStylesBorder___2wtwu",dateError:"esm-patient-programs__programs-form__dateError___3Ib55"},e.exports=t},81:function(e,t,r){var a=r(20),n=r(82);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);var o={insert:"head",singleton:!1};a(n,o);e.exports=n.locals||{}},82:function(e,t,r){(t=r(21)(!1)).push([e.i,'.omrs-breakpoint-lt-desktop .esm-patient-programs__summary-card__card___ejo_z {\n width: 100%;\n box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.08),\n 0rem 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);\n}\n\n.omrs-breakpoint-gt-tablet .esm-patient-programs__summary-card__card___ejo_z {\n box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.08),\n 0rem 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);\n}\n\n.omrs-breakpoint-lt-desktop .esm-patient-programs__summary-card__card___ejo_z {\n margin: 0rem 0rem;\n}\n\n.omrs-card button.esm-patient-programs__summary-card__addBtn___2jkS- {\n color: var(--omrs-color-ink-medium-contrast);\n letter-spacing: 0.0125rem;\n}\n\n.omrs-card button.esm-patient-programs__summary-card__editBtn___1tn_K {\n color: var(--omrs-color-ink-medium-contrast);\n letter-spacing: 0.0125rem;\n}\n\nbutton.esm-patient-programs__summary-card__addBtn___2jkS-:hover {\n color: var(--omrs-color-interaction-plus-one);\n}\n\nbutton.esm-patient-programs__summary-card__editBtn___1tn_K:hover {\n color: var(--omrs-color-interaction-plus-one);\n}\n\n.esm-patient-programs__summary-card__header___3msAE {\n display: grid;\n grid-template-columns: [one] 1fr [two] 4.25rem;\n grid-template-rows: [rowone] 3rem;\n grid-template-areas: "a b";\n background-color: var(--omrs-color-bg-medium-contrast);\n align-items: center;\n border-bottom: 0.0625rem solid var(--omrs-color-bg-low-contrast);\n border-radius: 0.25rem 0.25rem 0 0;\n justify-content: space-between;\n}\n\n.esm-patient-programs__summary-card__headerTitle___126dh {\n grid-area: a;\n}\n\n.esm-patient-programs__summary-card__headerAdd___3Mgld {\n grid-area: b;\n justify-self: center;\n}\n\n.esm-patient-programs__summary-card__headerEdit___20X_Y {\n grid-area: b;\n justify-self: center;\n}\n\n.esm-patient-programs__summary-card__title___1gYrp {\n padding: 0 0 0 1rem;\n display: flex;\n align-items: center;\n height: 3rem;\n}\n',""]),t.locals={card:"esm-patient-programs__summary-card__card___ejo_z",addBtn:"esm-patient-programs__summary-card__addBtn___2jkS-",editBtn:"esm-patient-programs__summary-card__editBtn___1tn_K",header:"esm-patient-programs__summary-card__header___3msAE",headerTitle:"esm-patient-programs__summary-card__headerTitle___126dh",headerAdd:"esm-patient-programs__summary-card__headerAdd___3Mgld",headerEdit:"esm-patient-programs__summary-card__headerEdit___20X_Y",title:"esm-patient-programs__summary-card__title___1gYrp"},e.exports=t},85:function(e,t,r){var a=r(20),n=r(86);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);var o={insert:"head",singleton:!1};a(n,o);e.exports=n.locals||{}},86:function(e,t,r){(t=r(21)(!1)).push([e.i,"html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;font:inherit;font-size:100%;vertical-align:baseline;border:0}button,select,input,textarea{font-family:inherit;border-radius:0}input[type=text]::-ms-clear{display:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}sup{vertical-align:super}sub{vertical-align:sub}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:\"\"}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}button{margin:0}html{font-size:100%}body{font-weight:400;font-family:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace}strong{font-weight:600}@media screen and (-ms-high-contrast: active){svg{fill:ButtonText}}h1{font-size:2.625rem;font-weight:300;line-height:1.199;letter-spacing:0}h2{font-size:2rem;font-weight:400;line-height:1.25;letter-spacing:0}h3{font-size:1.75rem;font-weight:400;line-height:1.29;letter-spacing:0}h4{font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:0}h5{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0}h6{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px}p{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}a{color:#0f62fe}em{font-style:italic}@keyframes esm-patient-programs__empty-state__skeleton___2NA_Y{0%{transform:scaleX(0);transform-origin:left;opacity:.3}20%{transform:scaleX(1);transform-origin:left;opacity:1}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(0);transform-origin:left;opacity:.3}}.esm-patient-programs__empty-state__action___243Er{margin-bottom:.5rem}.esm-patient-programs__empty-state__content___fTawP{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px;color:#525252;margin-top:1rem;margin-bottom:.5rem}.esm-patient-programs__empty-state__heading___22LUM{text-align:left;text-transform:capitalize;margin-bottom:1rem;font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:0;color:#525252}.esm-patient-programs__empty-state__heading___22LUM:after{content:\"\";display:block;width:2rem;padding-top:.188rem;border-bottom:.375rem solid #007d79}.esm-patient-programs__empty-state__tile___3loKo{text-align:center}",""]),t.locals={action:"esm-patient-programs__empty-state__action___243Er",content:"esm-patient-programs__empty-state__content___fTawP",heading:"esm-patient-programs__empty-state__heading___22LUM",tile:"esm-patient-programs__empty-state__tile___3loKo",skeleton:"esm-patient-programs__empty-state__skeleton___2NA_Y"},e.exports=t}}]);
|
|
2
|
-
//# sourceMappingURL=1.openmrs-esm-patient-programs-app.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///./src/programs/programs.resource.tsx","webpack:///./src/programs/programs-form.component.tsx","webpack:///./src/cards/summary-card.component.tsx","webpack:///./src/programs/openWorkspaceTab.tsx","webpack:///./src/programs/empty-state/empty-data-illustration.component.tsx","webpack:///./src/programs/empty-state/empty-state.component.tsx","webpack:///./src/programs/programs-form.css?e22f","webpack:///./src/programs/programs-form.css","webpack:///./src/cards/summary-card.css?be2d","webpack:///./src/cards/summary-card.css","webpack:///./src/programs/empty-state/empty-state.scss?e4fc","webpack:///./src/programs/empty-state/empty-state.scss"],"names":["fetchEnrolledPrograms","patientID","openmrsObservableFetch","pipe","map","data","sort","a","b","dateEnrolled","fetchActiveEnrollments","filter","res","dateCompleted","getPatientProgramByUuid","programUuid","createProgramEnrollment","payload","abortController","program","patient","location","method","headers","body","signal","updateProgramEnrollment","fetchPrograms","fetchLocations","getSession","openmrsFetch","ProgramsForm","match","patientUuid","closeComponent","entryCancelled","entryStarted","formRef","useRef","enrollmentDateRef","viewEditForm","setViewEditForm","useState","enableCreateButtons","setEnableCreateButtons","enableEditButtons","setEnableEditButtons","patientProgram","setPatientProgram","allPrograms","setAllPrograms","eligiblePrograms","setEligiblePrograms","enrolledPrograms","setEnrolledPrograms","setLocation","setProgram","enrollmentDate","setEnrollmentDate","dayjs","Date","format","completionDate","setCompletionDate","locations","setLocations","formChanged","setFormChanged","history","useHistory","t","useTranslation","useEffect","locationUuid","params","AbortController","then","sessionLocation","uuid","sub1","subscribe","createErrorHandler","sub2","programs","sub3","enrolledProgram","unsubscribe","subscription","includes","current","validity","valid","handleCreateSubmit","$event","preventDefault","enrollmentPayload","response","ok","navigate","abort","handleEditSubmit","updatePayload","status","push","closeForm","userConfirmed","confirm","onChange","onSubmit","className","styles","programsForm","ref","name","width","backgroundColor","height","programsContainerWrapper","style","flex","margin","programsInputContainer","htmlFor","i18nKey","id","display","type","required","evt","target","value","defaultValue","role","xlinkHref","key","buttonStyles","buttonStylesBorder","disabled","onClick","max","toUTCString","dateError","SummaryCard","props","card","header","headerTitle","link","to","contents","addComponent","headerAdd","addBtn","showComponent","editComponent","headerEdit","editBtn","editBtnUrl","children","title","fill","openWorkspaceTab","componentToAdd","componentName","requiresVisit","isEmpty","getStartedVisit","window","dispatchEvent","CustomEvent","detail","newWorkspaceItem","component","inProgress","validations","workspaceTabs","findIndex","tab","EmptyDataIllustration","viewBox","fillRule","d","cx","cy","r","EmptyState","Tile","light","tile","heading","content","values","displayText","toLowerCase","action","Link","launchForm","api","__esModule","default","module","i","options","exports","locals","___CSS_LOADER_API_IMPORT___"],"mappings":"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","file":"1.openmrs-esm-patient-programs-app.js","sourcesContent":["import { openmrsObservableFetch, openmrsFetch } from \"@openmrs/esm-framework\";\nimport { map } from \"rxjs/operators\";\nimport { PatientProgram, Program, LocationData, SessionData } from \"../types\";\n\nexport function fetchEnrolledPrograms(patientID: string) {\n return openmrsObservableFetch<PatientProgram>(\n `/ws/rest/v1/programenrollment?patient=${patientID}`\n ).pipe(\n map(({ data }) =>\n data[\"results\"].sort((a, b) => (b.dateEnrolled > a.dateEnrolled ? 1 : -1))\n )\n );\n}\n\nexport function fetchActiveEnrollments(patientID: string) {\n return openmrsObservableFetch<Array<PatientProgram>>(\n `/ws/rest/v1/programenrollment?patient=${patientID}`\n ).pipe(\n map(({ data }) =>\n data[\"results\"]\n .filter((res) => !res.dateCompleted)\n .sort((a, b) => (b.dateEnrolled > a.dateEnrolled ? 1 : -1))\n )\n );\n}\n\nexport function getPatientProgramByUuid(programUuid: string) {\n return openmrsObservableFetch<PatientProgram>(\n `/ws/rest/v1/programenrollment/${programUuid}`\n ).pipe(map(({ data }) => data));\n}\n\nexport function createProgramEnrollment(payload, abortController) {\n if (!payload) {\n return null;\n }\n const { program, patient, dateEnrolled, dateCompleted, location } = payload;\n return openmrsObservableFetch(`/ws/rest/v1/programenrollment`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: { program, patient, dateEnrolled, dateCompleted, location },\n signal: abortController.signal,\n });\n}\n\nexport function updateProgramEnrollment(payload, abortController) {\n if (!payload && !payload.program) {\n return null;\n }\n const { program, dateEnrolled, dateCompleted, location } = payload;\n return openmrsObservableFetch(`/ws/rest/v1/programenrollment/${program}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: { dateEnrolled, dateCompleted, location },\n signal: abortController.signal,\n });\n}\n\nexport function fetchPrograms() {\n return openmrsObservableFetch<Array<Program>>(\n `/ws/rest/v1/program?v=custom:(uuid,display,allWorkflows,concept:(uuid,display))`\n ).pipe(map(({ data }) => data[\"results\"]));\n}\n\nexport function fetchLocations() {\n return openmrsObservableFetch<Array<LocationData>>(\n `/ws/rest/v1/location?v=custom:(uuid,display)`\n ).pipe(map(({ data }) => data[\"results\"]));\n}\n\nexport function getSession(abortController: AbortController) {\n return openmrsFetch<SessionData>(`/ws/rest/v1/appui/session`, {\n signal: abortController.signal,\n });\n}\n","import React, { useEffect, useRef, useState } from \"react\";\nimport dayjs from \"dayjs\";\nimport filter from \"lodash-es/filter\";\nimport includes from \"lodash-es/includes\";\nimport map from \"lodash-es/map\";\nimport styles from \"./programs-form.css\";\nimport SummaryCard from \"../cards/summary-card.component\";\nimport { match, useHistory } from \"react-router-dom\";\nimport { useTranslation, Trans } from \"react-i18next\";\nimport { createErrorHandler } from \"@openmrs/esm-framework\";\nimport {\n createProgramEnrollment,\n fetchPrograms,\n fetchEnrolledPrograms,\n fetchLocations,\n getPatientProgramByUuid,\n getSession,\n updateProgramEnrollment,\n} from \"./programs.resource\";\nimport { DataCaptureComponentProps } from \"../types\";\n\nexport type ProgramsFormProps = DataCaptureComponentProps & {\n match: match<ProgramMatchProps>;\n patientUuid: string;\n};\n\n// exported so we can use this for tests\nexport interface ProgramMatchProps {\n program?: string;\n programUuid?: string;\n enrollmentDate?: string;\n completionDate?: string;\n locationUuid?: string;\n}\n\nexport interface ProgramEnrollment {\n program: string;\n patient?: string;\n dateEnrolled?: string;\n dateCompleted?: string;\n location?: string;\n}\n\nconst ProgramsForm: React.FC<ProgramsFormProps> = ({\n match,\n patientUuid,\n closeComponent = () => {},\n entryCancelled = () => {},\n entryStarted = () => {},\n}) => {\n const formRef = useRef<HTMLFormElement>(null);\n const enrollmentDateRef = useRef<HTMLInputElement>(null);\n const [viewEditForm, setViewEditForm] = useState(false);\n const [enableCreateButtons, setEnableCreateButtons] = useState(false);\n const [enableEditButtons, setEnableEditButtons] = useState(false);\n const [patientProgram, setPatientProgram] = useState(null);\n const [allPrograms, setAllPrograms] = useState(null);\n const [eligiblePrograms, setEligiblePrograms] = useState(null);\n const [enrolledPrograms, setEnrolledPrograms] = useState(null);\n const [location, setLocation] = useState(\"\");\n const [program, setProgram] = useState(\"\");\n const [enrollmentDate, setEnrollmentDate] = useState(\n dayjs(new Date()).format(\"YYYY-MM-DD\")\n );\n const [completionDate, setCompletionDate] = useState(null);\n const [locations, setLocations] = useState(null);\n const [formChanged, setFormChanged] = useState<Boolean>(false);\n const history = useHistory();\n const { t } = useTranslation();\n\n useEffect(() => {\n const {\n program,\n programUuid,\n enrollmentDate,\n completionDate,\n locationUuid,\n } = match.params;\n\n if (program && enrollmentDate) {\n setViewEditForm(true);\n setLocation(locationUuid);\n setProgram(programUuid);\n setCompletionDate(completionDate);\n setEnrollmentDate(enrollmentDate);\n }\n }, [match.params]);\n\n useEffect(() => {\n if (patientUuid && !viewEditForm) {\n const abortController = new AbortController();\n getSession(abortController).then(({ data }) => {\n const { sessionLocation } = data;\n if (sessionLocation && sessionLocation.uuid) {\n setLocation(sessionLocation.uuid);\n }\n });\n }\n }, [patientUuid, viewEditForm]);\n\n useEffect(() => {\n if (patientUuid) {\n const sub1 = fetchLocations().subscribe((locations) => {\n return setLocations(locations);\n }, createErrorHandler());\n const sub2 = fetchPrograms().subscribe(\n (programs) => setAllPrograms(programs),\n createErrorHandler()\n );\n const sub3 = fetchEnrolledPrograms(patientUuid).subscribe(\n (enrolledPrograms) =>\n setEnrolledPrograms(\n enrolledPrograms.filter(\n (enrolledProgram) => !enrolledProgram.dateCompleted\n )\n ),\n createErrorHandler()\n );\n\n return () => {\n sub1.unsubscribe();\n sub2.unsubscribe();\n sub3.unsubscribe();\n };\n }\n }, [patientUuid]);\n\n useEffect(() => {\n if (viewEditForm && patientUuid && match.params) {\n const subscription = getPatientProgramByUuid(\n match.params[\"programUuid\"]\n ).subscribe(\n (program) => setPatientProgram(program),\n createErrorHandler()\n );\n\n return () => subscription.unsubscribe();\n }\n }, [viewEditForm, patientUuid, match.params]);\n\n useEffect(() => {\n if (allPrograms && enrolledPrograms) {\n setEligiblePrograms(\n filter(allPrograms, (program) => {\n return !includes(map(enrolledPrograms, \"program.uuid\"), program.uuid);\n })\n );\n }\n }, [allPrograms, enrolledPrograms]);\n\n useEffect(() => {\n if (\n enrollmentDate &&\n program &&\n enrollmentDateRef?.current?.validity?.valid\n ) {\n setEnableCreateButtons(true);\n } else {\n setEnableCreateButtons(false);\n }\n }, [enrollmentDate, program]);\n\n useEffect(() => {\n if (viewEditForm && formChanged) {\n setEnableEditButtons(true);\n } else {\n setEnableEditButtons(false);\n }\n }, [viewEditForm, formChanged]);\n\n const handleCreateSubmit = ($event) => {\n $event.preventDefault();\n const enrollmentPayload: ProgramEnrollment = {\n program: program,\n patient: patientUuid,\n dateEnrolled: enrollmentDate,\n dateCompleted: completionDate,\n location: location,\n };\n const abortController = new AbortController();\n createProgramEnrollment(enrollmentPayload, abortController).subscribe(\n (response) => {\n if (response.ok) {\n match.params[\"setEnrolledPrograms\"]([\n ...match.params[\"enrolledPrograms\"],\n response.data,\n ]);\n navigate();\n }\n }\n );\n return () => abortController.abort();\n };\n\n const handleEditSubmit = ($event) => {\n $event.preventDefault();\n if (completionDate || enrollmentDate || location) {\n const updatePayload: ProgramEnrollment = {\n program: program,\n dateCompleted: completionDate,\n dateEnrolled: enrollmentDate,\n location: location,\n };\n const abortController = new AbortController();\n updateProgramEnrollment(updatePayload, abortController).subscribe(\n (response) => response.status === 200 && navigate()\n );\n return () => abortController.abort();\n }\n };\n\n const navigate = () => {\n history.push(`/patient/${patientUuid}/chart/programs/care-programs`);\n closeComponent();\n };\n\n const closeForm = ($event) => {\n let userConfirmed: boolean = false;\n if (formChanged) {\n userConfirmed = confirm(\n \"There is ongoing work, are you sure you want to close this tab?\"\n );\n }\n\n if (userConfirmed && formChanged) {\n entryCancelled();\n closeComponent();\n } else if (!formChanged) {\n entryCancelled();\n closeComponent();\n }\n };\n\n function createProgramForm() {\n return (\n <form\n onChange={() => {\n setFormChanged(true);\n return entryStarted();\n }}\n onSubmit={handleCreateSubmit}\n className={styles.programsForm}\n ref={formRef}\n >\n <SummaryCard\n name={t(\"addNewProgram\", \"Add a new program\")}\n styles={{\n width: \"100%\",\n backgroundColor: \"var(--omrs-color-bg-medium-contrast)\",\n height: \"auto\",\n }}\n >\n <div className={styles.programsContainerWrapper}>\n <div style={{ flex: 1, margin: \"0rem 0.5rem\" }}>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"program\">\n <Trans i18nKey=\"program\">Program</Trans>\n </label>\n <select\n id=\"program\"\n name=\"programs\"\n value={program}\n onChange={(evt) => setProgram(evt.target.value)}\n required\n >\n <option>{t(\"chooseProgram\", \"Choose a program\")}:</option>\n {eligiblePrograms &&\n eligiblePrograms.map((program) => (\n <option value={program.uuid} key={program.uuid}>\n {program.display}\n </option>\n ))}\n </select>\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"enrollmentDate\">\n <Trans i18nKey=\"dateEnrolled\">Date enrolled</Trans>\n </label>\n <div className=\"omrs-datepicker\">\n <input\n ref={enrollmentDateRef}\n id=\"enrollmentDate\"\n type=\"date\"\n name=\"enrollmentDate\"\n max={dayjs(new Date().toUTCString()).format(\"YYYY-MM-DD\")}\n required\n onChange={(evt) => {\n setEnrollmentDate(evt.target.value);\n }}\n defaultValue={dayjs(new Date()).format(\"YYYY-MM-DD\")}\n />\n <svg className=\"omrs-icon\" role=\"img\">\n <use xlinkHref=\"#omrs-icon-calendar\"></use>\n </svg>\n </div>\n {enrollmentDateRef &&\n !enrollmentDateRef?.current?.validity?.valid && (\n <div className={styles.dateError}>\n <span>\n <svg className=\"omrs-icon\" role=\"img\">\n <use xlinkHref=\"#omrs-icon-important-notification\"></use>\n </svg>\n <Trans i18nKey=\"futureDateErrorMsg\">\n Please enter a date that is either on or before today.\n </Trans>\n </span>\n </div>\n )}\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"completionDate\">\n <Trans i18nKey=\"dateCompleted\">Date completed</Trans>\n </label>\n <div className=\"omrs-datepicker\">\n <input\n id=\"completionDate\"\n type=\"date\"\n name=\"completionDate\"\n onChange={(evt) => setCompletionDate(evt.target.value)}\n />\n <svg className=\"omrs-icon\" role=\"img\">\n <use xlinkHref=\"#omrs-icon-calendar\"></use>\n </svg>\n </div>\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"location\">\n <Trans i18nKey=\"enrollmentLocation\">\n Enrollment location\n </Trans>\n </label>\n <select\n id=\"location\"\n name=\"locations\"\n value={location}\n onChange={(evt) => {\n setLocation(evt.target.value);\n }}\n >\n <option>{t(\"chooseLocation\", \"Choose a location\")}:</option>\n {locations &&\n locations.map((location) => (\n <option value={location.uuid} key={location.uuid}>\n {location.display}\n </option>\n ))}\n </select>\n </div>\n </div>\n </div>\n </SummaryCard>\n <div\n className={\n enableCreateButtons\n ? `${styles.buttonStyles} ${styles.buttonStylesBorder}`\n : styles.buttonStyles\n }\n >\n <button\n type=\"button\"\n className=\"omrs-btn omrs-outlined-neutral omrs-rounded\"\n style={{ width: \"50%\" }}\n onClick={closeForm}\n >\n <Trans i18nKey=\"cancel\">Cancel</Trans>\n </button>\n <button\n type=\"submit\"\n style={{ width: \"50%\" }}\n className={\n enableCreateButtons\n ? \"omrs-btn omrs-filled-action omrs-rounded\"\n : \"omrs-btn omrs-outlined omrs-rounded\"\n }\n disabled={!enableCreateButtons}\n >\n <Trans i18nKey=\"enroll\">Enroll</Trans>\n </button>\n </div>\n </form>\n );\n }\n\n function editProgramForm() {\n return (\n <>\n {patientProgram && (\n <form\n onChange={() => {\n setFormChanged(true);\n return entryStarted();\n }}\n onSubmit={handleEditSubmit}\n className={styles.programsForm}\n ref={formRef}\n >\n <SummaryCard\n name={t(\"editProgram\", \"Edit program\")}\n styles={{\n width: \"100%\",\n backgroundColor: \"var(--omrs-color-bg-medium-contrast)\",\n height: \"auto\",\n }}\n >\n <div className={styles.programsContainerWrapper}>\n <div style={{ flex: 1, margin: \"0rem 0.5rem\" }}>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"program\">\n <Trans i18nKey=\"program\">Program</Trans>\n </label>\n <span id=\"program\" className=\"omrs-medium\">\n {patientProgram.display}\n </span>\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"enrollmentDate\">\n <Trans i18nKey=\"dateEnrolled\">Date enrolled</Trans>\n </label>\n <div className=\"omrs-datepicker\">\n <input\n id=\"enrollmentDate\"\n type=\"date\"\n name=\"enrollmentDate\"\n required\n onChange={(evt) => setEnrollmentDate(evt.target.value)}\n defaultValue={dayjs(enrollmentDate).format(\n \"YYYY-MM-DD\"\n )}\n />\n <svg className=\"omrs-icon\" role=\"img\">\n <use xlinkHref=\"#omrs-icon-calendar\"></use>\n </svg>\n </div>\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"completionDate\">\n <Trans i18nKey=\"dateCompleted\">Date completed</Trans>\n </label>\n <div className=\"omrs-datepicker\">\n <input\n id=\"completionDate\"\n type=\"date\"\n name=\"completionDate\"\n onChange={(evt) => setCompletionDate(evt.target.value)}\n defaultValue={\n completionDate\n ? dayjs(completionDate).format(\"YYYY-MM-DD\")\n : \"\"\n }\n />\n <svg className=\"omrs-icon\" role=\"img\">\n <use xlinkHref=\"#omrs-icon-calendar\"></use>\n </svg>\n </div>\n </div>\n <div className={styles.programsInputContainer}>\n <label htmlFor=\"location\">\n <Trans i18nKey=\"enrollmentLocation\">\n Enrollment location\n </Trans>\n </label>\n <select\n id=\"location\"\n name=\"locations\"\n value={location}\n onChange={(evt) => setLocation(evt.target.value)}\n >\n {locations &&\n locations.map((location) => (\n <option value={location.uuid} key={location.uuid}>\n {location.display}\n </option>\n ))}\n </select>\n </div>\n </div>\n </div>\n </SummaryCard>\n <div\n className={\n enableEditButtons\n ? styles.buttonStyles\n : `${styles.buttonStyles} ${styles.buttonStylesBorder}`\n }\n >\n <button\n type=\"submit\"\n style={{ width: \"50%\" }}\n className={\n enableEditButtons\n ? \"omrs-btn omrs-filled-action omrs-rounded\"\n : \"omrs-btn omrs-outlined omrs-rounded\"\n }\n disabled={!enableEditButtons}\n >\n <Trans i18nKey=\"save\">Save</Trans>\n </button>\n <button\n type=\"button\"\n className=\"omrs-btn omrs-outlined-neutral omrs-rounded\"\n style={{ width: \"50%\" }}\n onClick={closeForm}\n >\n <Trans i18nKey=\"cancel\">Cancel</Trans>\n </button>\n </div>\n </form>\n )}\n </>\n );\n }\n\n return <div>{viewEditForm ? editProgramForm() : createProgramForm()}</div>;\n};\n\nexport default ProgramsForm;\n","import React from \"react\";\nimport styles from \"./summary-card.css\";\nimport { Link } from \"react-router-dom\";\nimport { Trans } from \"react-i18next\";\n\ninterface SummaryCardProps {\n name: string;\n children: React.ReactNode;\n styles?: React.CSSProperties;\n link?: string;\n addComponent?: string | any;\n editComponent?: string | any;\n editBtnUrl?: string;\n showComponent?: Function;\n className?: string;\n}\n\nexport default function SummaryCard(props: SummaryCardProps) {\n return (\n <div\n style={props.styles}\n className={`omrs-card ${styles.card} ${props.className || \"\"}`}\n >\n <div className={styles.header}>\n <div className={styles.headerTitle}>\n {props.link ? (\n <Link to={props.link} className={`omrs-unstyled`}>\n {contents()}\n </Link>\n ) : (\n <>{contents()}</>\n )}\n </div>\n {props.addComponent && (\n <div className={styles.headerAdd}>\n <button\n className={`omrs-unstyled ${styles.addBtn}`}\n onClick={() =>\n props.showComponent(props.addComponent, props.name)\n }\n >\n <Trans i18nKey=\"add\">Add</Trans>\n </button>\n </div>\n )}\n {props.editComponent && (\n <div className={styles.headerEdit}>\n <button\n className={`omrs-unstyled ${styles.editBtn}`}\n onClick={() =>\n props.showComponent(props.editComponent, props.name)\n }\n >\n <Trans i18nKey=\"edit\">Edit</Trans>\n </button>\n </div>\n )}\n {props.editBtnUrl && (\n <div className={styles.headerEdit}>\n <button className={`omrs-unstyled ${styles.editBtn}`}>\n <Link className=\"omrs-unstyled\" to={props.editBtnUrl}>\n <Trans i18nKey=\"edit\">Edit</Trans>\n </Link>\n </button>\n </div>\n )}\n </div>\n {props.children}\n </div>\n );\n\n function contents() {\n return (\n <div className={styles.title}>\n <h2 className={`omrs-margin-0`}>{props.name}</h2>\n <svg className=\"omrs-icon\" fill=\"rgba(0, 0, 0, 0.54)\">\n <use xlinkHref=\"#omrs-icon-chevron-right\" />\n </svg>\n </div>\n );\n }\n}\n","import { getStartedVisit, newWorkspaceItem } from \"@openmrs/esm-framework\";\nimport isEmpty from \"lodash-es/isEmpty\";\n\nexport interface DataCaptureComponentProps {\n entryStarted: () => void;\n entrySubmitted: () => void;\n entryCancelled: () => void;\n closeComponent: () => void;\n}\n\nexport function openWorkspaceTab<\n TProps = DataCaptureComponentProps,\n TParams = any\n>(\n componentToAdd: React.FC<TProps>,\n componentName: string,\n params?: TParams,\n requiresVisit = true\n): void {\n if (isEmpty(getStartedVisit.value) && requiresVisit) {\n window.dispatchEvent(\n new CustomEvent(\"visit-dialog\", {\n detail: {\n type: \"prompt\",\n },\n })\n );\n } else {\n newWorkspaceItem({\n component: componentToAdd,\n name: componentName,\n props: {\n match: { params: params ? params : {} },\n },\n inProgress: false,\n validations: (workspaceTabs) =>\n workspaceTabs.findIndex((tab) => tab.component === componentToAdd),\n });\n }\n}\n","import * as React from \"react\";\n\nconst EmptyDataIllustration = ({ width = \"61\", height = \"59\" }) => {\n return (\n <svg width={width} height={height} viewBox=\"0 0 61 59\">\n <title>Empty data illustration</title>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M38.133 13.186H21.947c-.768.001-1.39.623-1.39 1.391V50.55l-.186.057-3.97 1.216a.743.743 0 01-.927-.493L3.664 12.751a.742.742 0 01.492-.926l6.118-1.874 17.738-5.43 6.119-1.873a.741.741 0 01.926.492L38.076 13l.057.186z\"\n fill=\"#F4F4F4\"\n />\n <path\n d=\"M41.664 13L38.026 1.117A1.576 1.576 0 0036.056.07l-8.601 2.633-17.737 5.43-8.603 2.634a1.578 1.578 0 00-1.046 1.97l12.436 40.616a1.58 1.58 0 001.969 1.046l5.897-1.805.185-.057v-.194l-.185.057-5.952 1.822a1.393 1.393 0 01-1.737-.923L.247 12.682a1.39 1.39 0 01.923-1.738L9.772 8.31 27.51 2.881 36.112.247a1.393 1.393 0 011.737.923L41.47 13l.057.186h.193l-.057-.185z\"\n fill=\"#8D8D8D\"\n />\n <path\n d=\"M11.378 11.855a.836.836 0 01-.798-.59L9.385 7.361a.835.835 0 01.554-1.042l16.318-4.996a.836.836 0 011.042.554l1.195 3.902a.836.836 0 01-.554 1.043l-16.318 4.995a.831.831 0 01-.244.037z\"\n fill=\"#C6C6C6\"\n />\n <circle fill=\"#C6C6C6\" cx={17.636} cy={2.314} r={1.855} />\n <circle\n fill=\"#FFF\"\n fillRule=\"nonzero\"\n cx={17.636}\n cy={2.314}\n r={1.175}\n />\n <path\n d=\"M55.893 53.995H24.544a.79.79 0 01-.788-.789V15.644a.79.79 0 01.788-.788h31.349a.79.79 0 01.788.788v37.562a.79.79 0 01-.788.789z\"\n fill=\"#F4F4F4\"\n />\n <path\n d=\"M41.47 13H21.948a1.579 1.579 0 00-1.576 1.577V52.4l.185-.057V14.577c.001-.768.623-1.39 1.391-1.39h19.581L41.471 13zm17.02 0H21.947a1.579 1.579 0 00-1.576 1.577v42.478c0 .87.706 1.576 1.576 1.577H58.49a1.579 1.579 0 001.576-1.577V14.577a1.579 1.579 0 00-1.576-1.576zm1.39 44.055c0 .768-.622 1.39-1.39 1.392H21.947c-.768-.001-1.39-.624-1.39-1.392V14.577c0-.768.622-1.39 1.39-1.39H58.49c.768 0 1.39.622 1.39 1.39v42.478z\"\n fill=\"#8D8D8D\"\n />\n <path\n d=\"M48.751 17.082H31.686a.836.836 0 01-.835-.835v-4.081c0-.46.374-.834.835-.835H48.75c.461 0 .834.374.835.835v4.08c0 .462-.374.835-.835.836z\"\n fill=\"#C6C6C6\"\n />\n <circle fill=\"#C6C6C6\" cx={40.218} cy={9.755} r={1.855} />\n <circle\n fill=\"#FFF\"\n fillRule=\"nonzero\"\n cx={40.218}\n cy={9.755}\n r={1.13}\n />\n </g>\n </svg>\n );\n};\n\nexport default EmptyDataIllustration;\n","import React from \"react\";\nimport Link from \"carbon-components-react/es/components/Link\";\nimport { Tile } from \"carbon-components-react/es/components/Tile\";\nimport EmptyDataIllustration from \"./empty-data-illustration.component\";\nimport styles from \"./empty-state.scss\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\ninterface EmptyStateProps {\n headerTitle: string;\n displayText: string;\n launchForm?(): void;\n}\n\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\n const { t } = useTranslation();\n\n return (\n <Tile light className={styles.tile}>\n <h1 className={styles.heading}>{props.headerTitle}</h1>\n <EmptyDataIllustration />\n <p className={styles.content}>\n <Trans\n i18nKey=\"emptyStateText\"\n values={{ displayText: props.displayText.toLowerCase() }}\n >\n There are no {props.displayText.toLowerCase()} to display for this\n patient\n </Trans>\n </p>\n <p className={styles.action}>\n <Link onClick={() => props.launchForm()}>\n {t(\"record\", \"Record\")} {props.displayText.toLowerCase()}\n </Link>\n </p>\n </Tile>\n );\n};\n\nexport default EmptyState;\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--6-1!./programs-form.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".omrs-breakpoint-gt-phone .esm-patient-programs__programs-form__programsForm___7BPfM {\\n display: flex;\\n justify-content: center;\\n flex-wrap: wrap;\\n}\\n\\n.omrs-breakpoint-lt-tablet .esm-patient-programs__programs-form__programsForm___7BPfM {\\n padding: 0.25rem 0.5rem 0 0.5rem;\\n flex-direction: row;\\n}\\n\\n.omrs-breakpoint-lt-tablet .esm-patient-programs__programs-form__programsContainerWrapper___2Fml1 {\\n display: flex;\\n flex-direction: column;\\n flex-wrap: wrap;\\n}\\n\\n.esm-patient-programs__programs-form__programsContainerWrapper___2Fml1 {\\n display: flex;\\n margin: 0rem 0rem 0.25rem 0rem;\\n flex-wrap: wrap;\\n}\\n\\n.esm-patient-programs__programs-form__programsContainer___3-NCL {\\n display: flex;\\n margin: 0rem 0rem 0.25rem 0rem;\\n}\\n\\n.esm-patient-programs__programs-form__programsInputContainer___14ejp {\\n display: flex;\\n flex-direction: column;\\n margin: 0.625rem;\\n}\\n\\n.esm-patient-programs__programs-form__programsInputControl___DQB_l + svg {\\n padding-right: 0.125rem;\\n}\\n\\n.esm-patient-programs__programs-form__programsInputContainer___14ejp select {\\n font-size: 1rem;\\n height: 2.625rem;\\n color: var(--omrs-color-interaction);\\n padding: 0.5rem;\\n border: 0.0625rem solid var(--omrs-color-ink-lowest-contrast);\\n background-color: var(--omrs-color-ink-white);\\n min-width: 50%;\\n width: 100%;\\n}\\n\\n.esm-patient-programs__programs-form__programsInputContainer___14ejp label {\\n margin: 0.375rem 0rem;\\n}\\n\\n.esm-patient-programs__programs-form__buttonStyles___2rJEi {\\n display: flex;\\n background: var(--omrs-color-ink-white);\\n bottom: 0;\\n justify-content: center;\\n width: 100%;\\n}\\n\\n.esm-patient-programs__programs-form__buttonStyles___2rJEi button {\\n margin: 0.5rem 1rem;\\n cursor: pointer;\\n}\\n\\n.esm-patient-programs__programs-form__buttonStyles___2rJEi button:disabled {\\n background: var(--omrs-color-ink-lowest-contrast);\\n}\\n\\n.esm-patient-programs__programs-form__buttonStylesBorder___2wtwu {\\n border-top: 0.125rem solid var(--omrs-color-interaction);\\n}\\n\\n.esm-patient-programs__programs-form__dateError___3Ib55 {\\n flex-direction: row;\\n box-sizing: border-box;\\n display: flex;\\n padding-top: 0.5rem;\\n}\\n\\n.esm-patient-programs__programs-form__dateError___3Ib55 span {\\n color: var(--omrs-color-danger);\\n line-height: 1.25rem;\\n font-size: 0.875rem;\\n white-space: normal;\\n display: inline;\\n}\\n\\n.esm-patient-programs__programs-form__dateError___3Ib55 svg {\\n fill: var(--omrs-color-danger);\\n height: 0.8rem;\\n width: 1.5rem;\\n padding-right: 0.25rem;\\n}\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"programsForm\": \"esm-patient-programs__programs-form__programsForm___7BPfM\",\n\t\"programsContainerWrapper\": \"esm-patient-programs__programs-form__programsContainerWrapper___2Fml1\",\n\t\"programsContainer\": \"esm-patient-programs__programs-form__programsContainer___3-NCL\",\n\t\"programsInputContainer\": \"esm-patient-programs__programs-form__programsInputContainer___14ejp\",\n\t\"programsInputControl\": \"esm-patient-programs__programs-form__programsInputControl___DQB_l\",\n\t\"buttonStyles\": \"esm-patient-programs__programs-form__buttonStyles___2rJEi\",\n\t\"buttonStylesBorder\": \"esm-patient-programs__programs-form__buttonStylesBorder___2wtwu\",\n\t\"dateError\": \"esm-patient-programs__programs-form__dateError___3Ib55\"\n};\nmodule.exports = exports;\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--6-1!./summary-card.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".omrs-breakpoint-lt-desktop .esm-patient-programs__summary-card__card___ejo_z {\\n width: 100%;\\n box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.08),\\n 0rem 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);\\n}\\n\\n.omrs-breakpoint-gt-tablet .esm-patient-programs__summary-card__card___ejo_z {\\n box-shadow: 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.08),\\n 0rem 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);\\n}\\n\\n.omrs-breakpoint-lt-desktop .esm-patient-programs__summary-card__card___ejo_z {\\n margin: 0rem 0rem;\\n}\\n\\n.omrs-card button.esm-patient-programs__summary-card__addBtn___2jkS- {\\n color: var(--omrs-color-ink-medium-contrast);\\n letter-spacing: 0.0125rem;\\n}\\n\\n.omrs-card button.esm-patient-programs__summary-card__editBtn___1tn_K {\\n color: var(--omrs-color-ink-medium-contrast);\\n letter-spacing: 0.0125rem;\\n}\\n\\nbutton.esm-patient-programs__summary-card__addBtn___2jkS-:hover {\\n color: var(--omrs-color-interaction-plus-one);\\n}\\n\\nbutton.esm-patient-programs__summary-card__editBtn___1tn_K:hover {\\n color: var(--omrs-color-interaction-plus-one);\\n}\\n\\n.esm-patient-programs__summary-card__header___3msAE {\\n display: grid;\\n grid-template-columns: [one] 1fr [two] 4.25rem;\\n grid-template-rows: [rowone] 3rem;\\n grid-template-areas: \\\"a b\\\";\\n background-color: var(--omrs-color-bg-medium-contrast);\\n align-items: center;\\n border-bottom: 0.0625rem solid var(--omrs-color-bg-low-contrast);\\n border-radius: 0.25rem 0.25rem 0 0;\\n justify-content: space-between;\\n}\\n\\n.esm-patient-programs__summary-card__headerTitle___126dh {\\n grid-area: a;\\n}\\n\\n.esm-patient-programs__summary-card__headerAdd___3Mgld {\\n grid-area: b;\\n justify-self: center;\\n}\\n\\n.esm-patient-programs__summary-card__headerEdit___20X_Y {\\n grid-area: b;\\n justify-self: center;\\n}\\n\\n.esm-patient-programs__summary-card__title___1gYrp {\\n padding: 0 0 0 1rem;\\n display: flex;\\n align-items: center;\\n height: 3rem;\\n}\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"card\": \"esm-patient-programs__summary-card__card___ejo_z\",\n\t\"addBtn\": \"esm-patient-programs__summary-card__addBtn___2jkS-\",\n\t\"editBtn\": \"esm-patient-programs__summary-card__editBtn___1tn_K\",\n\t\"header\": \"esm-patient-programs__summary-card__header___3msAE\",\n\t\"headerTitle\": \"esm-patient-programs__summary-card__headerTitle___126dh\",\n\t\"headerAdd\": \"esm-patient-programs__summary-card__headerAdd___3Mgld\",\n\t\"headerEdit\": \"esm-patient-programs__summary-card__headerEdit___20X_Y\",\n\t\"title\": \"esm-patient-programs__summary-card__title___1gYrp\"\n};\nmodule.exports = exports;\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-1!../../../../../node_modules/sass-loader/dist/cjs.js!./empty-state.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;font:inherit;font-size:100%;vertical-align:baseline;border:0}button,select,input,textarea{font-family:inherit;border-radius:0}input[type=text]::-ms-clear{display:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}body{line-height:1}sup{vertical-align:super}sub{vertical-align:sub}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:\\\"\\\"}table{border-collapse:collapse;border-spacing:0}*{box-sizing:border-box}button{margin:0}html{font-size:100%}body{font-weight:400;font-family:'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:'IBM Plex Mono', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Courier, monospace}strong{font-weight:600}@media screen and (-ms-high-contrast: active){svg{fill:ButtonText}}h1{font-size:2.625rem;font-weight:300;line-height:1.199;letter-spacing:0}h2{font-size:2rem;font-weight:400;line-height:1.25;letter-spacing:0}h3{font-size:1.75rem;font-weight:400;line-height:1.29;letter-spacing:0}h4{font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:0}h5{font-size:1rem;font-weight:600;line-height:1.375;letter-spacing:0}h6{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px}p{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:0}a{color:#0f62fe}em{font-style:italic}@keyframes esm-patient-programs__empty-state__skeleton___2NA_Y{0%{transform:scaleX(0);transform-origin:left;opacity:.3}20%{transform:scaleX(1);transform-origin:left;opacity:1}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(0);transform-origin:left;opacity:.3}}.esm-patient-programs__empty-state__action___243Er{margin-bottom:.5rem}.esm-patient-programs__empty-state__content___fTawP{font-size:.875rem;font-weight:600;line-height:1.29;letter-spacing:.16px;color:#525252;margin-top:1rem;margin-bottom:.5rem}.esm-patient-programs__empty-state__heading___22LUM{text-align:left;text-transform:capitalize;margin-bottom:1rem;font-size:1.25rem;font-weight:400;line-height:1.4;letter-spacing:0;color:#525252}.esm-patient-programs__empty-state__heading___22LUM:after{content:\\\"\\\";display:block;width:2rem;padding-top:.188rem;border-bottom:.375rem solid #007d79}.esm-patient-programs__empty-state__tile___3loKo{text-align:center}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"action\": \"esm-patient-programs__empty-state__action___243Er\",\n\t\"content\": \"esm-patient-programs__empty-state__content___fTawP\",\n\t\"heading\": \"esm-patient-programs__empty-state__heading___22LUM\",\n\t\"tile\": \"esm-patient-programs__empty-state__tile___3loKo\",\n\t\"skeleton\": \"esm-patient-programs__empty-state__skeleton___2NA_Y\"\n};\nmodule.exports = exports;\n"],"sourceRoot":""}
|