@openmrs/esm-billing-app 1.0.2-pre.958 → 1.0.2-pre.966
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/1537.js +1 -1
- package/dist/1537.js.map +1 -1
- package/dist/openmrs-esm-billing-app.js.buildmanifest.json +5 -5
- package/dist/routes.json +1 -1
- package/package.json +1 -1
- package/src/billable-services/billable-service-form/billable-service-form.test.tsx +150 -0
- package/src/billable-services/billable-service-form/billable-service-form.workspace.tsx +12 -1
package/dist/1537.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[1537],{1537:(e,n,a)=>{a.r(n),a.d(n,{default:()=>j,normalizePrice:()=>L,transformServiceToFormData:()=>O});var t=a(16072),l=a.n(t),i=a(84280),r=a(49785),o=a(2076),s=a(55576),c=a(92137),p=a(14476),d=a(28871),f=a(15847),u=a(89027),g=a(85072),b=a.n(g),y=a(97825),h=a.n(y),m=a(77659),$=a.n(m),v=a(55056),A=a.n(v),_=a(10540),w=a.n(_),x=a(41113),k=a.n(x),C=a(75440),z={};z.styleTagTransform=k(),z.setAttributes=A(),z.insert=$().bind(null,"head"),z.domAPI=h(),z.insertStyleElement=w(),b()(C.A,z);const M=C.A&&C.A.locals?C.A.locals:void 0;function E(e,n){(null==n||n>e.length)&&(n=e.length);for(var a=0,t=new Array(n);a<n;a++)t[a]=e[a];return t}function N(e,n,a,t,l,i,r){try{var o=e[i](r),s=o.value}catch(e){return void a(e)}o.done?n(s):Promise.resolve(s).then(t,l)}function B(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function S(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},t=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),t.forEach((function(n){B(e,n,a[n])}))}return e}function T(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n.push.apply(n,a)}return n}(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})),e}function D(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var t,l,i=[],r=!0,o=!1;try{for(a=a.call(e);!(r=(t=a.next()).done)&&(i.push(t.value),!n||i.length!==n);r=!0);}catch(e){o=!0,l=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw l}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return E(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?E(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var I={paymentMode:"",price:""},q=255,O=function(e){var n;return e?{name:e.name||"",shortName:e.shortName||"",serviceType:e.serviceType||null,concept:e.concept?{uuid:e.concept.uuid,display:e.concept.display}:null,payment:(null===(n=e.servicePrices)||void 0===n?void 0:n.map((function(e){var n,a;return{paymentMode:(null===(n=e.paymentMode)||void 0===n?void 0:n.uuid)||"",price:null!==(a=e.price)&&void 0!==a?a:""}})))||[I]}:{name:"",shortName:"",serviceType:null,concept:null,payment:[I]}},L=function(e){return"number"==typeof e?e:parseFloat(String(e))};const j=function(e){var n=e.serviceToEdit,a=e.closeWorkspace,g=e.closeWorkspaceWithSavedChanges,b=e.onWorkspaceClose,y=(0,o.useTranslation)().t,h="tablet"===(0,f.useLayoutType)(),m=(0,u.WJ)(),$=m.paymentModes,v=m.isLoadingPaymentModes,A=(0,u.MH)(),_=A.serviceTypes,w=A.isLoadingServiceTypes,x=(0,t.useMemo)((function(){return function(e){var n=p.z.object({paymentMode:p.z.string({required_error:e("paymentModeRequired","Payment mode is required")}).trim().min(1,e("paymentModeRequired","Payment mode is required")),price:p.z.union([p.z.number(),p.z.string(),p.z.undefined()]).superRefine((function(n,a){if(null!=n&&""!==n){var t="number"==typeof n?n:parseFloat(n);(isNaN(t)||t<=0)&&a.addIssue({code:p.z.ZodIssueCode.custom,message:e("priceMustBePositive","Price must be greater than 0")})}else a.addIssue({code:p.z.ZodIssueCode.custom,message:e("priceIsRequired","Price is required")})}))});return p.z.object({name:p.z.string({required_error:e("serviceNameRequired","Service name is required")}).trim().min(1,e("serviceNameRequired","Service name is required")).max(q,e("serviceNameExceedsLimit","Service name cannot exceed {{MAX_NAME_LENGTH}} characters",{MAX_NAME_LENGTH:q})),shortName:p.z.string().max(q,e("shortNameExceedsLimit","Short name cannot exceed {{MAX_NAME_LENGTH}} characters",{MAX_NAME_LENGTH:q})).optional(),serviceType:p.z.object({uuid:p.z.string(),display:p.z.string()}).nullable().refine((function(e){return null!==e}),e("serviceTypeRequired","Service type is required")),concept:p.z.object({uuid:p.z.string(),display:p.z.string()}).nullable().optional(),payment:p.z.array(n).min(1,e("paymentOptionRequired","At least one payment option is required"))})}(y)}),[y]),k=(0,r.mN)({mode:"all",defaultValues:O(n),resolver:(0,d.u)(x)}),C=k.control,z=k.handleSubmit,E=k.formState.errors,B=k.setValue,j=k.reset,W=(0,r.jz)({name:"payment",control:C}),P=W.fields,F=W.remove,G=W.append,R=(0,t.useRef)(null),H=D((0,t.useState)(!1),2),U=H[0],X=H[1],Z=(0,r.FH)({control:C,name:"concept"}),J=D((0,t.useState)(""),2),K=J[0],V=J[1],Y=(0,f.useDebounce)(K.trim()),Q=(0,u.bb)(Y),ee=Q.searchResults,ne=Q.isSearching;(0,t.useEffect)((function(){!n||v||w||j(O(n))}),[n,v,w,j]);var ae=function(){var e=E.payment;return e&&"string"==typeof e.message?e.message:null};return v||w?l().createElement(i.OuH,{status:"active",iconDescription:y("loadingDescription","Loading"),description:y("loading","Loading data")+"..."}):l().createElement(i.lVW,{"aria-label":y("billableServiceForm","Billable service form"),className:M.form,id:"billable-service-form",onSubmit:z((function(e){return(t=function(){var t,l,i;return function(e,n){var a,t,l,i={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=o(0),r.throw=o(1),r.return=o(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function o(o){return function(s){return function(o){if(a)throw new TypeError("Generator is already executing.");for(;r&&(r=0,o[0]&&(i=0)),i;)try{if(a=1,t&&(l=2&o[0]?t.return:o[0]?t.throw||((l=t.return)&&l.call(t),0):t.next)&&!(l=l.call(t,o[1])).done)return l;switch(t=0,l&&(o=[2&o[0],l.value]),o[0]){case 0:case 1:l=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!((l=(l=i.trys).length>0&&l[l.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!l||o[1]>l[0]&&o[1]<l[3])){i.label=o[1];break}if(6===o[0]&&i.label<l[1]){i.label=l[1],l=o;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(o);break}l[2]&&i.ops.pop(),i.trys.pop();continue}o=n.call(e,i)}catch(e){o=[6,e],t=0}finally{a=l=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}(this,(function(r){switch(r.label){case 0:X(!0),l={name:e.name,shortName:e.shortName||"",serviceType:e.serviceType.uuid,servicePrices:e.payment.map((function(e){var n=$.find((function(n){return n.uuid===e.paymentMode}));return{paymentMode:e.paymentMode,name:(null==n?void 0:n.name)||"Unknown",price:L(e.price)}})),serviceStatus:"ENABLED",concept:null===(t=e.concept)||void 0===t?void 0:t.uuid},r.label=1;case 1:return r.trys.push([1,6,7,8]),n?[4,(0,u.OS)(n.uuid,l)]:[3,3];case 2:return r.sent(),[3,5];case 3:return[4,(0,u.j2)(l)];case 4:r.sent(),r.label=5;case 5:return(0,f.showSnackbar)({title:n?y("billableServiceUpdated","Billable service updated"):y("billableServiceCreated","Billable service created"),subtitle:n?y("billableServiceUpdatedSuccessfully","Billable service updated successfully"):y("billableServiceCreatedSuccessfully","Billable service created successfully"),kind:"success"}),b&&b(),g?g():a(),[3,8];case 6:return i=r.sent(),(0,f.showSnackbar)({title:y("billPaymentError","Bill payment error"),kind:"error",subtitle:(o=i,s=Error,(null!=s&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](o):o instanceof s)?i.message:String(i))}),[3,8];case 7:return X(!1),[7];case 8:return[2]}var o,s}))},function(){var e=this,n=arguments;return new Promise((function(a,l){var i=t.apply(e,n);function r(e){N(i,a,l,r,o,"next",e)}function o(e){N(i,a,l,r,o,"throw",e)}r(void 0)}))})();var t}))},l().createElement(i.BJc,{className:M.stack,gap:5},l().createElement(i.gE_,{className:M.formGroup},n?l().createElement(i.lRv,{className:M.serviceNameLabel},n.name):l().createElement(r.xI,{name:"name",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.ksK,T(S({},a),{enableCounter:!0,id:"serviceName",invalid:!!E.name,invalidText:null===(n=E.name)||void 0===n?void 0:n.message,labelText:y("serviceName","Service name"),maxCount:q,placeholder:y("enterServiceName","Enter service name"),type:"text"})))}})),l().createElement(i.gE_,null,l().createElement(r.xI,{name:"shortName",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.ksK,T(S({},a),{enableCounter:!0,id:"serviceShortName",invalid:!!E.shortName,invalidText:null===(n=E.shortName)||void 0===n?void 0:n.message,labelText:y("shortName","Short name"),maxCount:q,placeholder:y("enterServiceShortName","Enter service short name"),type:"text",value:a.value||""})))}})),l().createElement(i.gE_,null,l().createElement(i.lRv,{className:M.conceptLabel},y("associatedConcept","Associated concept")),l().createElement(f.ResponsiveWrapper,null,l().createElement(i.vji,{id:"conceptsSearch",labelText:y("associatedConcept","Associated concept"),onChange:function(e){return V(e.target.value)},onClear:function(){V(""),B("concept",null)},placeholder:y("searchConcepts","Search associated concept"),ref:R,value:(null==Z?void 0:Z.display)||K})),!Y||Z?null:ne?l().createElement(i.OuH,{className:M.loader,description:y("searching","Searching")+"..."}):ee&&ee.length?l().createElement("ul",{className:M.conceptsList},null==ee?void 0:ee.map((function(e){return l().createElement("li",{className:M.service,key:e.concept.uuid,onClick:function(){B("concept",{uuid:e.concept.uuid,display:e.display}),V("")},role:"menuitem"},e.display)}))):l().createElement(i.Wdr,null,l().createElement(i.FAs,{className:M.emptyResults},l().createElement("span",null,y("noResultsFor","No results for {{searchTerm}}",{searchTerm:Y}))))),l().createElement(i.gE_,null,l().createElement(r.xI,{name:"serviceType",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.a32,{id:"serviceType",items:null!=_?_:[],titleText:y("serviceType","Service type"),itemToString:function(e){return(null==e?void 0:e.display)||""},selectedItem:a.value,onChange:function(e){var n=e.selectedItem;a.onChange(n)},placeholder:y("selectServiceType","Select service type"),invalid:!!E.serviceType,invalidText:null===(n=E.serviceType)||void 0===n?void 0:n.message}))}})),l().createElement("section",null,l().createElement("div",null,P.map((function(e,n){return l().createElement("div",{key:e.id,className:M.paymentMethodContainer},l().createElement(r.xI,{control:C,name:"payment.".concat(n,".paymentMode"),render:function(e){var a,t,r,o,s,c=e.field;return l().createElement(i.Wdr,null,l().createElement(i.msM,{id:"paymentMode-".concat(n),invalid:!!(null==E||null===(t=E.payment)||void 0===t||null===(a=t[n])||void 0===a?void 0:a.paymentMode),invalidText:null==E||null===(s=E.payment)||void 0===s||null===(o=s[n])||void 0===o||null===(r=o.paymentMode)||void 0===r?void 0:r.message,items:null!=$?$:[],itemToString:function(e){return e?e.name:""},label:y("selectPaymentMode","Select payment mode"),onChange:function(e){var n=e.selectedItem;return c.onChange(n.uuid)},selectedItem:$.find((function(e){return e.uuid===c.value})),titleText:y("paymentMode","Payment mode")}))}}),l().createElement(r.xI,{control:C,name:"payment.".concat(n,".price"),render:function(e){var a,t,r,o,s,c=e.field;return l().createElement(i.Wdr,null,l().createElement(i.Q7x,{allowEmpty:!0,disableWheel:!0,id:"price-".concat(n),invalid:!!(null==E||null===(t=E.payment)||void 0===t||null===(a=t[n])||void 0===a?void 0:a.price),invalidText:null==E||null===(s=E.payment)||void 0===s||null===(o=s[n])||void 0===o||null===(r=o.price)||void 0===r?void 0:r.message,label:y("sellingPrice","Selling price"),min:0,onChange:function(e,n){var a=n.value;c.onChange(""===a||void 0===a?"":a)},placeholder:y("enterSellingPrice","Enter selling price"),step:.01,value:void 0===c.value||null===c.value?"":c.value}))}}),l().createElement("div",{className:M.removeButtonContainer},l().createElement(s.zH,{onClick:function(){return function(e){return F(e)}(n)},className:M.removeButton,size:20})))})),l().createElement(i.$nd,{className:M.paymentButtons,iconDescription:y("add","Add"),kind:"tertiary",onClick:function(){return G(I)},renderIcon:function(e){return l().createElement(c.OM,S({size:24},e))},type:"button"},y("addPaymentOption","Add payment option")),ae()&&l().createElement("div",{className:M.errorMessage},ae())))),l().createElement(i.Te$,{className:h?M.tablet:M.desktop},l().createElement(i.$nd,{className:M.button,kind:"secondary",disabled:U,onClick:a},(0,f.getCoreTranslation)("cancel")),l().createElement(i.$nd,{className:M.button,kind:"primary",disabled:U,type:"submit"},U?l().createElement(i.OuH,{description:y("saving","Saving")+"..."}):(0,f.getCoreTranslation)("save"))))}},75440:(e,n,a)=>{a.d(n,{A:()=>o});var t=a(72996),l=a.n(t),i=a(70159),r=a.n(i)()(l());r.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-billing__billable-service-form__form___-B-qX{display:flex;flex-direction:column;justify-content:space-between;height:100%}.-esm-billing__billable-service-form__paymentButtons___aE11M{margin:1rem 0}.-esm-billing__billable-service-form__paymentMethodContainer___qaKJw{display:grid;grid-template-columns:repeat(4, minmax(auto, 1fr));align-items:flex-start;column-gap:1rem;margin:.625rem 0;width:100%}.-esm-billing__billable-service-form__removeButtonContainer___ZDZ-G{display:flex;align-self:center;cursor:pointer;margin-left:2rem}.-esm-billing__billable-service-form__removeButton___AwrWs{color:#da1e28}.-esm-billing__billable-service-form__service___vIwn9{padding:1rem .75rem}.-esm-billing__billable-service-form__conceptsList___8BS-f{background-color:#fff;max-height:14rem;overflow-y:auto;border:1px solid #e0e0e0}.-esm-billing__billable-service-form__conceptsList___8BS-f li:hover{background-color:#e0e0e0}.-esm-billing__billable-service-form__emptyResults___Hzh6e{font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px);color:#525252;min-height:1rem;border:1px solid #e0e0e0}.-esm-billing__billable-service-form__conceptLabel___s1Cbm{font-size:var(--cds-label-02-font-size, 0.875rem);font-weight:var(--cds-label-02-font-weight, 400);line-height:var(--cds-label-02-line-height, 1.28572);letter-spacing:var(--cds-label-02-letter-spacing, 0.16px);margin-bottom:1rem}.-esm-billing__billable-service-form__errorMessage___2Z5qy{font-size:var(--cds-label-02-font-size, 0.875rem);font-weight:var(--cds-label-02-font-weight, 400);line-height:var(--cds-label-02-line-height, 1.28572);letter-spacing:var(--cds-label-02-letter-spacing, 0.16px);color:#da1e28;margin-bottom:1rem}.-esm-billing__billable-service-form__loader___RAuS5{padding:.75rem .5rem}.-esm-billing__billable-service-form__serviceNameLabel___qy3NG{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0)}.-esm-billing__billable-service-form__button___IEdML{height:4rem;display:flex;align-content:flex-start;align-items:baseline;min-width:50%}.-esm-billing__billable-service-form__button___IEdML .cds--inline-loading{min-height:1rem !important}.-esm-billing__billable-service-form__button___IEdML .cds--inline-loading__text{font-size:var(--cds-body-01-font-size, 0.875rem);font-weight:var(--cds-body-01-font-weight, 400);line-height:var(--cds-body-01-line-height, 1.42857);letter-spacing:var(--cds-body-01-letter-spacing, 0.16px)}.-esm-billing__billable-service-form__tablet___Usd7m{padding:1.5rem 1rem;background-color:#fff}.-esm-billing__billable-service-form__desktop___hWxKj{padding:0}.-esm-billing__billable-service-form__stack___ypBqT{margin:1rem}","",{version:3,sources:["webpack://./node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/billable-services/billable-service-form/billable-service-form.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./node_modules/@carbon/colors/index.scss","webpack://./node_modules/@carbon/type/scss/_styles.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCxDF,mDACE,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CAGF,6DACE,aAAA,CAGF,qEACE,YAAA,CACA,kDAAA,CACA,sBAAA,CACA,eCWW,CDVX,gBAAA,CACA,UAAA,CAGF,oEACE,YAAA,CACA,iBAAA,CACA,cAAA,CACA,gBCYW,CDTb,2DACE,aEgEO,CF7DT,sDACE,mBAAA,CAGF,2DACE,qBDtCM,CCuCN,gBAAA,CACA,eAAA,CACA,wBAAA,CAEA,oEACE,wBD3CI,CC+CR,2DG+yBI,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CH7yBF,aD9CQ,CC+CR,eCvBW,CDwBX,wBAAA,CAGF,2DGwyBI,iDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CHtyBF,kBC7BW,CDgCb,2DGmyBI,iDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CHjyBF,aD3CO,CC4CP,kBCnCW,CDsCb,qDACE,oBAAA,CAGF,+DGyxBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CHrxBJ,qDACE,WCtBW,CDuBX,YAAA,CACA,wBAAA,CACA,oBAAA,CACA,aAAA,CAEA,0EACE,0BAAA,CAGF,gFG0wBE,gDAAA,CAAA,+CAAA,CAAA,mDAAA,CAAA,wDAAA,CHrwBJ,qDACE,mBAAA,CACA,qBD5FM,CC+FR,sDACE,SAAA,CAGF,oDACE,WCxEW",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/colors';\n@use '@carbon/layout';\n@use '@carbon/type';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.form {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n}\n\n.paymentButtons {\n margin: layout.$spacing-05 0;\n}\n\n.paymentMethodContainer {\n display: grid;\n grid-template-columns: repeat(4, minmax(auto, 1fr));\n align-items: flex-start;\n column-gap: layout.$spacing-05;\n margin: 0.625rem 0;\n width: 100%;\n}\n\n.removeButtonContainer {\n display: flex;\n align-self: center;\n cursor: pointer;\n margin-left: layout.$spacing-07;\n}\n\n.removeButton {\n color: colors.$red-60;\n}\n\n.service {\n padding: layout.$spacing-05 layout.$spacing-04;\n}\n\n.conceptsList {\n background-color: $ui-02;\n max-height: 14rem;\n overflow-y: auto;\n border: 1px solid $ui-03;\n\n li:hover {\n background-color: $ui-03;\n }\n}\n\n.emptyResults {\n @include type.type-style('body-compact-01');\n color: $text-02;\n min-height: layout.$spacing-05;\n border: 1px solid $ui-03;\n}\n\n.conceptLabel {\n @include type.type-style('label-02');\n margin-bottom: layout.$spacing-05;\n}\n\n.errorMessage {\n @include type.type-style('label-02');\n color: $danger;\n margin-bottom: layout.$spacing-05;\n}\n\n.loader {\n padding: layout.$spacing-04 layout.$spacing-03;\n}\n\n.serviceNameLabel {\n @include type.type-style('body-compact-02');\n}\n\n.button {\n height: layout.$spacing-10;\n display: flex;\n align-content: flex-start;\n align-items: baseline;\n min-width: 50%;\n\n :global(.cds--inline-loading) {\n min-height: layout.$spacing-05 !important;\n }\n\n :global(.cds--inline-loading__text) {\n @include type.type-style('body-01');\n }\n}\n\n.tablet {\n padding: layout.$spacing-06 layout.$spacing-05;\n background-color: $ui-02;\n}\n\n.desktop {\n padding: 0;\n}\n\n.stack {\n margin: layout.$spacing-05;\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n"],sourceRoot:""}]),r.locals={form:"-esm-billing__billable-service-form__form___-B-qX",paymentButtons:"-esm-billing__billable-service-form__paymentButtons___aE11M",paymentMethodContainer:"-esm-billing__billable-service-form__paymentMethodContainer___qaKJw",removeButtonContainer:"-esm-billing__billable-service-form__removeButtonContainer___ZDZ-G",removeButton:"-esm-billing__billable-service-form__removeButton___AwrWs",service:"-esm-billing__billable-service-form__service___vIwn9",conceptsList:"-esm-billing__billable-service-form__conceptsList___8BS-f",emptyResults:"-esm-billing__billable-service-form__emptyResults___Hzh6e",conceptLabel:"-esm-billing__billable-service-form__conceptLabel___s1Cbm",errorMessage:"-esm-billing__billable-service-form__errorMessage___2Z5qy",loader:"-esm-billing__billable-service-form__loader___RAuS5",serviceNameLabel:"-esm-billing__billable-service-form__serviceNameLabel___qy3NG",button:"-esm-billing__billable-service-form__button___IEdML",tablet:"-esm-billing__billable-service-form__tablet___Usd7m",desktop:"-esm-billing__billable-service-form__desktop___hWxKj",stack:"-esm-billing__billable-service-form__stack___ypBqT"};const o=r}}]);
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[1537],{1537:(e,n,a)=>{a.r(n),a.d(n,{default:()=>W,getAvailablePaymentModes:()=>j,normalizePrice:()=>L,transformServiceToFormData:()=>O});var t=a(16072),l=a.n(t),i=a(84280),r=a(49785),o=a(2076),s=a(55576),c=a(92137),p=a(14476),d=a(28871),f=a(15847),u=a(89027),g=a(85072),b=a.n(g),y=a(97825),h=a.n(y),m=a(77659),$=a.n(m),v=a(55056),A=a.n(v),_=a(10540),w=a.n(_),x=a(41113),k=a.n(x),C=a(75440),z={};z.styleTagTransform=k(),z.setAttributes=A(),z.insert=$().bind(null,"head"),z.domAPI=h(),z.insertStyleElement=w(),b()(C.A,z);const M=C.A&&C.A.locals?C.A.locals:void 0;function E(e,n){(null==n||n>e.length)&&(n=e.length);for(var a=0,t=new Array(n);a<n;a++)t[a]=e[a];return t}function N(e,n,a,t,l,i,r){try{var o=e[i](r),s=o.value}catch(e){return void a(e)}o.done?n(s):Promise.resolve(s).then(t,l)}function B(e,n,a){return n in e?Object.defineProperty(e,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[n]=a,e}function S(e){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{},t=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),t.forEach((function(n){B(e,n,a[n])}))}return e}function T(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n.push.apply(n,a)}return n}(Object(n)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})),e}function D(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var t,l,i=[],r=!0,o=!1;try{for(a=a.call(e);!(r=(t=a.next()).done)&&(i.push(t.value),!n||i.length!==n);r=!0);}catch(e){o=!0,l=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw l}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return E(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?E(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var I={paymentMode:"",price:""},q=255,O=function(e){var n;return e?{name:e.name||"",shortName:e.shortName||"",serviceType:e.serviceType||null,concept:e.concept?{uuid:e.concept.uuid,display:e.concept.display}:null,payment:(null===(n=e.servicePrices)||void 0===n?void 0:n.map((function(e){var n,a;return{paymentMode:(null===(n=e.paymentMode)||void 0===n?void 0:n.uuid)||"",price:null!==(a=e.price)&&void 0!==a?a:""}})))||[I]}:{name:"",shortName:"",serviceType:null,concept:null,payment:[I]}},L=function(e){return"number"==typeof e?e:parseFloat(String(e))},j=function(e,n,a,t){var l=n.map((function(e,n){return n!==a?e.paymentMode:null})).filter(Boolean);return e.filter((function(e){return!l.includes(e.uuid)||e.uuid===t}))};const W=function(e){var n=e.serviceToEdit,a=e.closeWorkspace,g=e.closeWorkspaceWithSavedChanges,b=e.onWorkspaceClose,y=(0,o.useTranslation)().t,h="tablet"===(0,f.useLayoutType)(),m=(0,u.WJ)(),$=m.paymentModes,v=m.isLoadingPaymentModes,A=(0,u.MH)(),_=A.serviceTypes,w=A.isLoadingServiceTypes,x=(0,t.useMemo)((function(){return function(e){var n=p.z.object({paymentMode:p.z.string({required_error:e("paymentModeRequired","Payment mode is required")}).trim().min(1,e("paymentModeRequired","Payment mode is required")),price:p.z.union([p.z.number(),p.z.string(),p.z.undefined()]).superRefine((function(n,a){if(null!=n&&""!==n){var t="number"==typeof n?n:parseFloat(n);(isNaN(t)||t<=0)&&a.addIssue({code:p.z.ZodIssueCode.custom,message:e("priceMustBePositive","Price must be greater than 0")})}else a.addIssue({code:p.z.ZodIssueCode.custom,message:e("priceIsRequired","Price is required")})}))});return p.z.object({name:p.z.string({required_error:e("serviceNameRequired","Service name is required")}).trim().min(1,e("serviceNameRequired","Service name is required")).max(q,e("serviceNameExceedsLimit","Service name cannot exceed {{MAX_NAME_LENGTH}} characters",{MAX_NAME_LENGTH:q})),shortName:p.z.string().max(q,e("shortNameExceedsLimit","Short name cannot exceed {{MAX_NAME_LENGTH}} characters",{MAX_NAME_LENGTH:q})).optional(),serviceType:p.z.object({uuid:p.z.string(),display:p.z.string()}).nullable().refine((function(e){return null!==e}),e("serviceTypeRequired","Service type is required")),concept:p.z.object({uuid:p.z.string(),display:p.z.string()}).nullable().optional(),payment:p.z.array(n).min(1,e("paymentOptionRequired","At least one payment option is required"))})}(y)}),[y]),k=(0,r.mN)({mode:"all",defaultValues:O(n),resolver:(0,d.u)(x)}),C=k.control,z=k.handleSubmit,E=k.formState.errors,B=k.setValue,W=k.reset,P=(0,r.jz)({name:"payment",control:C}),F=P.fields,G=P.remove,R=P.append,H=(0,t.useRef)(null),U=D((0,t.useState)(!1),2),X=U[0],Z=U[1],J=(0,r.FH)({control:C,name:"concept"}),K=D((0,t.useState)(""),2),V=K[0],Y=K[1],Q=(0,f.useDebounce)(V.trim()),ee=(0,u.bb)(Q),ne=ee.searchResults,ae=ee.isSearching;(0,t.useEffect)((function(){!n||v||w||W(O(n))}),[n,v,w,W]);var te=function(){var e=E.payment;return e&&"string"==typeof e.message?e.message:null};return v||w?l().createElement(i.OuH,{status:"active",iconDescription:y("loadingDescription","Loading"),description:y("loading","Loading data")+"..."}):l().createElement(i.lVW,{"aria-label":y("billableServiceForm","Billable service form"),className:M.form,id:"billable-service-form",onSubmit:z((function(e){return(t=function(){var t,l,i;return function(e,n){var a,t,l,i={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},r=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return r.next=o(0),r.throw=o(1),r.return=o(2),"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function o(o){return function(s){return function(o){if(a)throw new TypeError("Generator is already executing.");for(;r&&(r=0,o[0]&&(i=0)),i;)try{if(a=1,t&&(l=2&o[0]?t.return:o[0]?t.throw||((l=t.return)&&l.call(t),0):t.next)&&!(l=l.call(t,o[1])).done)return l;switch(t=0,l&&(o=[2&o[0],l.value]),o[0]){case 0:case 1:l=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!((l=(l=i.trys).length>0&&l[l.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!l||o[1]>l[0]&&o[1]<l[3])){i.label=o[1];break}if(6===o[0]&&i.label<l[1]){i.label=l[1],l=o;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(o);break}l[2]&&i.ops.pop(),i.trys.pop();continue}o=n.call(e,i)}catch(e){o=[6,e],t=0}finally{a=l=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}(this,(function(r){switch(r.label){case 0:Z(!0),l={name:e.name,shortName:e.shortName||"",serviceType:e.serviceType.uuid,servicePrices:e.payment.map((function(e){var n=$.find((function(n){return n.uuid===e.paymentMode}));return{paymentMode:e.paymentMode,name:(null==n?void 0:n.name)||"Unknown",price:L(e.price)}})),serviceStatus:"ENABLED",concept:null===(t=e.concept)||void 0===t?void 0:t.uuid},r.label=1;case 1:return r.trys.push([1,6,7,8]),n?[4,(0,u.OS)(n.uuid,l)]:[3,3];case 2:return r.sent(),[3,5];case 3:return[4,(0,u.j2)(l)];case 4:r.sent(),r.label=5;case 5:return(0,f.showSnackbar)({title:n?y("billableServiceUpdated","Billable service updated"):y("billableServiceCreated","Billable service created"),subtitle:n?y("billableServiceUpdatedSuccessfully","Billable service updated successfully"):y("billableServiceCreatedSuccessfully","Billable service created successfully"),kind:"success"}),b&&b(),g?g():a(),[3,8];case 6:return i=r.sent(),(0,f.showSnackbar)({title:y("billPaymentError","Bill payment error"),kind:"error",subtitle:(o=i,s=Error,(null!=s&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](o):o instanceof s)?i.message:String(i))}),[3,8];case 7:return Z(!1),[7];case 8:return[2]}var o,s}))},function(){var e=this,n=arguments;return new Promise((function(a,l){var i=t.apply(e,n);function r(e){N(i,a,l,r,o,"next",e)}function o(e){N(i,a,l,r,o,"throw",e)}r(void 0)}))})();var t}))},l().createElement(i.BJc,{className:M.stack,gap:5},l().createElement(i.gE_,{className:M.formGroup},n?l().createElement(i.lRv,{className:M.serviceNameLabel},n.name):l().createElement(r.xI,{name:"name",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.ksK,T(S({},a),{enableCounter:!0,id:"serviceName",invalid:!!E.name,invalidText:null===(n=E.name)||void 0===n?void 0:n.message,labelText:y("serviceName","Service name"),maxCount:q,placeholder:y("enterServiceName","Enter service name"),type:"text"})))}})),l().createElement(i.gE_,null,l().createElement(r.xI,{name:"shortName",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.ksK,T(S({},a),{enableCounter:!0,id:"serviceShortName",invalid:!!E.shortName,invalidText:null===(n=E.shortName)||void 0===n?void 0:n.message,labelText:y("shortName","Short name"),maxCount:q,placeholder:y("enterServiceShortName","Enter service short name"),type:"text",value:a.value||""})))}})),l().createElement(i.gE_,null,l().createElement(i.lRv,{className:M.conceptLabel},y("associatedConcept","Associated concept")),l().createElement(f.ResponsiveWrapper,null,l().createElement(i.vji,{id:"conceptsSearch",labelText:y("associatedConcept","Associated concept"),onChange:function(e){return Y(e.target.value)},onClear:function(){Y(""),B("concept",null)},placeholder:y("searchConcepts","Search associated concept"),ref:H,value:(null==J?void 0:J.display)||V})),!Q||J?null:ae?l().createElement(i.OuH,{className:M.loader,description:y("searching","Searching")+"..."}):ne&&ne.length?l().createElement("ul",{className:M.conceptsList},null==ne?void 0:ne.map((function(e){return l().createElement("li",{className:M.service,key:e.concept.uuid,onClick:function(){B("concept",{uuid:e.concept.uuid,display:e.display}),Y("")},role:"menuitem"},e.display)}))):l().createElement(i.Wdr,null,l().createElement(i.FAs,{className:M.emptyResults},l().createElement("span",null,y("noResultsFor","No results for {{searchTerm}}",{searchTerm:Q}))))),l().createElement(i.gE_,null,l().createElement(r.xI,{name:"serviceType",control:C,render:function(e){var n,a=e.field;return l().createElement(i.Wdr,null,l().createElement(i.a32,{id:"serviceType",items:null!=_?_:[],titleText:y("serviceType","Service type"),itemToString:function(e){return(null==e?void 0:e.display)||""},selectedItem:a.value,onChange:function(e){var n=e.selectedItem;a.onChange(n)},placeholder:y("selectServiceType","Select service type"),invalid:!!E.serviceType,invalidText:null===(n=E.serviceType)||void 0===n?void 0:n.message}))}})),l().createElement("section",null,l().createElement("div",null,F.map((function(e,n){return l().createElement("div",{key:e.id,className:M.paymentMethodContainer},l().createElement(r.xI,{control:C,name:"payment.".concat(n,".paymentMode"),render:function(e){var a,t,r,o,s,c=e.field;return l().createElement(i.Wdr,null,l().createElement(i.msM,{id:"paymentMode-".concat(n),invalid:!!(null==E||null===(t=E.payment)||void 0===t||null===(a=t[n])||void 0===a?void 0:a.paymentMode),invalidText:null==E||null===(s=E.payment)||void 0===s||null===(o=s[n])||void 0===o||null===(r=o.paymentMode)||void 0===r?void 0:r.message,items:j($,F,n,c.value),itemToString:function(e){return e?e.name:""},label:y("selectPaymentMode","Select payment mode"),onChange:function(e){var n=e.selectedItem;return c.onChange(n.uuid)},selectedItem:$.find((function(e){return e.uuid===c.value})),titleText:y("paymentMode","Payment mode")}))}}),l().createElement(r.xI,{control:C,name:"payment.".concat(n,".price"),render:function(e){var a,t,r,o,s,c=e.field;return l().createElement(i.Wdr,null,l().createElement(i.Q7x,{allowEmpty:!0,disableWheel:!0,id:"price-".concat(n),invalid:!!(null==E||null===(t=E.payment)||void 0===t||null===(a=t[n])||void 0===a?void 0:a.price),invalidText:null==E||null===(s=E.payment)||void 0===s||null===(o=s[n])||void 0===o||null===(r=o.price)||void 0===r?void 0:r.message,label:y("sellingPrice","Selling price"),min:0,onChange:function(e,n){var a=n.value;c.onChange(""===a||void 0===a?"":a)},placeholder:y("enterSellingPrice","Enter selling price"),step:.01,value:void 0===c.value||null===c.value?"":c.value}))}}),l().createElement("div",{className:M.removeButtonContainer},l().createElement(s.zH,{onClick:function(){return function(e){return G(e)}(n)},className:M.removeButton,size:20})))})),l().createElement(i.$nd,{className:M.paymentButtons,iconDescription:y("add","Add"),kind:"tertiary",onClick:function(){return R(I)},renderIcon:function(e){return l().createElement(c.OM,S({size:24},e))},type:"button"},y("addPaymentOption","Add payment option")),te()&&l().createElement("div",{className:M.errorMessage},te())))),l().createElement(i.Te$,{className:h?M.tablet:M.desktop},l().createElement(i.$nd,{className:M.button,kind:"secondary",disabled:X,onClick:a},(0,f.getCoreTranslation)("cancel")),l().createElement(i.$nd,{className:M.button,kind:"primary",disabled:X,type:"submit"},X?l().createElement(i.OuH,{description:y("saving","Saving")+"..."}):(0,f.getCoreTranslation)("save"))))}},75440:(e,n,a)=>{a.d(n,{A:()=>o});var t=a(72996),l=a.n(t),i=a(70159),r=a.n(i)()(l());r.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-billing__billable-service-form__form___-B-qX{display:flex;flex-direction:column;justify-content:space-between;height:100%}.-esm-billing__billable-service-form__paymentButtons___aE11M{margin:1rem 0}.-esm-billing__billable-service-form__paymentMethodContainer___qaKJw{display:grid;grid-template-columns:repeat(4, minmax(auto, 1fr));align-items:flex-start;column-gap:1rem;margin:.625rem 0;width:100%}.-esm-billing__billable-service-form__removeButtonContainer___ZDZ-G{display:flex;align-self:center;cursor:pointer;margin-left:2rem}.-esm-billing__billable-service-form__removeButton___AwrWs{color:#da1e28}.-esm-billing__billable-service-form__service___vIwn9{padding:1rem .75rem}.-esm-billing__billable-service-form__conceptsList___8BS-f{background-color:#fff;max-height:14rem;overflow-y:auto;border:1px solid #e0e0e0}.-esm-billing__billable-service-form__conceptsList___8BS-f li:hover{background-color:#e0e0e0}.-esm-billing__billable-service-form__emptyResults___Hzh6e{font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px);color:#525252;min-height:1rem;border:1px solid #e0e0e0}.-esm-billing__billable-service-form__conceptLabel___s1Cbm{font-size:var(--cds-label-02-font-size, 0.875rem);font-weight:var(--cds-label-02-font-weight, 400);line-height:var(--cds-label-02-line-height, 1.28572);letter-spacing:var(--cds-label-02-letter-spacing, 0.16px);margin-bottom:1rem}.-esm-billing__billable-service-form__errorMessage___2Z5qy{font-size:var(--cds-label-02-font-size, 0.875rem);font-weight:var(--cds-label-02-font-weight, 400);line-height:var(--cds-label-02-line-height, 1.28572);letter-spacing:var(--cds-label-02-letter-spacing, 0.16px);color:#da1e28;margin-bottom:1rem}.-esm-billing__billable-service-form__loader___RAuS5{padding:.75rem .5rem}.-esm-billing__billable-service-form__serviceNameLabel___qy3NG{font-size:var(--cds-body-compact-02-font-size, 1rem);font-weight:var(--cds-body-compact-02-font-weight, 400);line-height:var(--cds-body-compact-02-line-height, 1.375);letter-spacing:var(--cds-body-compact-02-letter-spacing, 0)}.-esm-billing__billable-service-form__button___IEdML{height:4rem;display:flex;align-content:flex-start;align-items:baseline;min-width:50%}.-esm-billing__billable-service-form__button___IEdML .cds--inline-loading{min-height:1rem !important}.-esm-billing__billable-service-form__button___IEdML .cds--inline-loading__text{font-size:var(--cds-body-01-font-size, 0.875rem);font-weight:var(--cds-body-01-font-weight, 400);line-height:var(--cds-body-01-line-height, 1.42857);letter-spacing:var(--cds-body-01-letter-spacing, 0.16px)}.-esm-billing__billable-service-form__tablet___Usd7m{padding:1.5rem 1rem;background-color:#fff}.-esm-billing__billable-service-form__desktop___hWxKj{padding:0}.-esm-billing__billable-service-form__stack___ypBqT{margin:1rem}","",{version:3,sources:["webpack://./node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/billable-services/billable-service-form/billable-service-form.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./node_modules/@carbon/colors/index.scss","webpack://./node_modules/@carbon/type/scss/_styles.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCxDF,mDACE,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CAGF,6DACE,aAAA,CAGF,qEACE,YAAA,CACA,kDAAA,CACA,sBAAA,CACA,eCWW,CDVX,gBAAA,CACA,UAAA,CAGF,oEACE,YAAA,CACA,iBAAA,CACA,cAAA,CACA,gBCYW,CDTb,2DACE,aEgEO,CF7DT,sDACE,mBAAA,CAGF,2DACE,qBDtCM,CCuCN,gBAAA,CACA,eAAA,CACA,wBAAA,CAEA,oEACE,wBD3CI,CC+CR,2DG+yBI,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CH7yBF,aD9CQ,CC+CR,eCvBW,CDwBX,wBAAA,CAGF,2DGwyBI,iDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CHtyBF,kBC7BW,CDgCb,2DGmyBI,iDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CHjyBF,aD3CO,CC4CP,kBCnCW,CDsCb,qDACE,oBAAA,CAGF,+DGyxBI,oDAAA,CAAA,uDAAA,CAAA,yDAAA,CAAA,2DAAA,CHrxBJ,qDACE,WCtBW,CDuBX,YAAA,CACA,wBAAA,CACA,oBAAA,CACA,aAAA,CAEA,0EACE,0BAAA,CAGF,gFG0wBE,gDAAA,CAAA,+CAAA,CAAA,mDAAA,CAAA,wDAAA,CHrwBJ,qDACE,mBAAA,CACA,qBD5FM,CC+FR,sDACE,SAAA,CAGF,oDACE,WCxEW",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/colors';\n@use '@carbon/layout';\n@use '@carbon/type';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.form {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: 100%;\n}\n\n.paymentButtons {\n margin: layout.$spacing-05 0;\n}\n\n.paymentMethodContainer {\n display: grid;\n grid-template-columns: repeat(4, minmax(auto, 1fr));\n align-items: flex-start;\n column-gap: layout.$spacing-05;\n margin: 0.625rem 0;\n width: 100%;\n}\n\n.removeButtonContainer {\n display: flex;\n align-self: center;\n cursor: pointer;\n margin-left: layout.$spacing-07;\n}\n\n.removeButton {\n color: colors.$red-60;\n}\n\n.service {\n padding: layout.$spacing-05 layout.$spacing-04;\n}\n\n.conceptsList {\n background-color: $ui-02;\n max-height: 14rem;\n overflow-y: auto;\n border: 1px solid $ui-03;\n\n li:hover {\n background-color: $ui-03;\n }\n}\n\n.emptyResults {\n @include type.type-style('body-compact-01');\n color: $text-02;\n min-height: layout.$spacing-05;\n border: 1px solid $ui-03;\n}\n\n.conceptLabel {\n @include type.type-style('label-02');\n margin-bottom: layout.$spacing-05;\n}\n\n.errorMessage {\n @include type.type-style('label-02');\n color: $danger;\n margin-bottom: layout.$spacing-05;\n}\n\n.loader {\n padding: layout.$spacing-04 layout.$spacing-03;\n}\n\n.serviceNameLabel {\n @include type.type-style('body-compact-02');\n}\n\n.button {\n height: layout.$spacing-10;\n display: flex;\n align-content: flex-start;\n align-items: baseline;\n min-width: 50%;\n\n :global(.cds--inline-loading) {\n min-height: layout.$spacing-05 !important;\n }\n\n :global(.cds--inline-loading__text) {\n @include type.type-style('body-01');\n }\n}\n\n.tablet {\n padding: layout.$spacing-06 layout.$spacing-05;\n background-color: $ui-02;\n}\n\n.desktop {\n padding: 0;\n}\n\n.stack {\n margin: layout.$spacing-05;\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n"],sourceRoot:""}]),r.locals={form:"-esm-billing__billable-service-form__form___-B-qX",paymentButtons:"-esm-billing__billable-service-form__paymentButtons___aE11M",paymentMethodContainer:"-esm-billing__billable-service-form__paymentMethodContainer___qaKJw",removeButtonContainer:"-esm-billing__billable-service-form__removeButtonContainer___ZDZ-G",removeButton:"-esm-billing__billable-service-form__removeButton___AwrWs",service:"-esm-billing__billable-service-form__service___vIwn9",conceptsList:"-esm-billing__billable-service-form__conceptsList___8BS-f",emptyResults:"-esm-billing__billable-service-form__emptyResults___Hzh6e",conceptLabel:"-esm-billing__billable-service-form__conceptLabel___s1Cbm",errorMessage:"-esm-billing__billable-service-form__errorMessage___2Z5qy",loader:"-esm-billing__billable-service-form__loader___RAuS5",serviceNameLabel:"-esm-billing__billable-service-form__serviceNameLabel___qy3NG",button:"-esm-billing__billable-service-form__button___IEdML",tablet:"-esm-billing__billable-service-form__tablet___Usd7m",desktop:"-esm-billing__billable-service-form__desktop___hWxKj",stack:"-esm-billing__billable-service-form__stack___ypBqT"};const o=r}}]);
|
package/dist/1537.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1537.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.scss?bbc4","webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.workspace.tsx","webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.scss"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","DEFAULT_PAYMENT_OPTION","paymentMode","price","MAX_NAME_LENGTH","transformServiceToFormData","service","name","shortName","serviceType","concept","uuid","display","payment","servicePrices","map","servicePrice","normalizePrice","parseFloat","String","serviceToEdit","closeWorkspace","closeWorkspaceWithSavedChanges","onWorkspaceClose","useTranslation","t","isTablet","useLayoutType","usePaymentModes","paymentModes","isLoadingPaymentModes","useServiceTypes","serviceTypes","isLoadingServiceTypes","billableServiceSchema","useMemo","servicePriceSchema","z","object","string","required_error","trim","min","union","number","superRefine","val","ctx","numValue","isNaN","addIssue","code","ZodIssueCode","custom","message","max","optional","nullable","refine","array","createBillableServiceSchema","useForm","mode","defaultValues","resolver","zodResolver","control","handleSubmit","formState","errors","setValue","reset","useFieldArray","fields","remove","append","searchInputRef","useRef","useState","isSubmitting","setIsSubmitting","selectedConcept","useWatch","searchTerm","setSearchTerm","debouncedSearchTerm","useDebounce","useConceptsSearch","searchResults","isSearching","useEffect","getPaymentErrorMessage","paymentError","InlineLoading","status","iconDescription","description","Form","aria-label","className","styles","form","id","onSubmit","data","payload","error","find","m","serviceStatus","updateBillableService","createBillableService","showSnackbar","title","subtitle","kind","Error","Stack","stack","gap","FormGroup","formGroup","FormLabel","serviceNameLabel","Controller","render","field","Layer","TextInput","enableCounter","invalid","invalidText","labelText","maxCount","placeholder","type","value","conceptLabel","ResponsiveWrapper","Search","onChange","e","target","onClear","ref","loader","length","ul","conceptsList","searchResult","li","key","onClick","role","Tile","emptyResults","span","ComboBox","items","titleText","itemToString","item","selectedItem","section","div","index","paymentMethodContainer","Dropdown","label","NumberInput","allowEmpty","disableWheel","_","step","removeButtonContainer","TrashCan","handleRemovePaymentMode","removeButton","size","Button","paymentButtons","renderIcon","props","Add","errorMessage","ButtonSet","tablet","desktop","button","disabled","getCoreTranslation","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"1537.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.scss?bbc4","webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.workspace.tsx","webpack://@openmrs/esm-billing-app/./src/billable-services/billable-service-form/billable-service-form.scss"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","DEFAULT_PAYMENT_OPTION","paymentMode","price","MAX_NAME_LENGTH","transformServiceToFormData","service","name","shortName","serviceType","concept","uuid","display","payment","servicePrices","map","servicePrice","normalizePrice","parseFloat","String","getAvailablePaymentModes","allModes","allFields","currentIndex","currentValue","selectedUUIDs","f","i","filter","Boolean","mode","includes","serviceToEdit","closeWorkspace","closeWorkspaceWithSavedChanges","onWorkspaceClose","useTranslation","t","isTablet","useLayoutType","usePaymentModes","paymentModes","isLoadingPaymentModes","useServiceTypes","serviceTypes","isLoadingServiceTypes","billableServiceSchema","useMemo","servicePriceSchema","z","object","string","required_error","trim","min","union","number","superRefine","val","ctx","numValue","isNaN","addIssue","code","ZodIssueCode","custom","message","max","optional","nullable","refine","array","createBillableServiceSchema","useForm","defaultValues","resolver","zodResolver","control","handleSubmit","formState","errors","setValue","reset","useFieldArray","fields","remove","append","searchInputRef","useRef","useState","isSubmitting","setIsSubmitting","selectedConcept","useWatch","searchTerm","setSearchTerm","debouncedSearchTerm","useDebounce","useConceptsSearch","searchResults","isSearching","useEffect","getPaymentErrorMessage","paymentError","InlineLoading","status","iconDescription","description","Form","aria-label","className","styles","form","id","onSubmit","data","payload","error","find","m","serviceStatus","updateBillableService","createBillableService","showSnackbar","title","subtitle","kind","Error","Stack","stack","gap","FormGroup","formGroup","FormLabel","serviceNameLabel","Controller","render","field","Layer","TextInput","enableCounter","invalid","invalidText","labelText","maxCount","placeholder","type","value","conceptLabel","ResponsiveWrapper","Search","onChange","e","target","onClear","ref","loader","length","ul","conceptsList","searchResult","li","key","onClick","role","Tile","emptyResults","span","ComboBox","items","titleText","itemToString","item","selectedItem","section","div","index","paymentMethodContainer","Dropdown","label","NumberInput","allowEmpty","disableWheel","_","step","removeButtonContainer","TrashCan","handleRemovePaymentMode","removeButton","size","Button","paymentButtons","renderIcon","props","Add","errorMessage","ButtonSet","tablet","desktop","button","disabled","getCoreTranslation","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}
|
|
@@ -191,9 +191,9 @@
|
|
|
191
191
|
"initial": false,
|
|
192
192
|
"entry": false,
|
|
193
193
|
"recorded": false,
|
|
194
|
-
"size":
|
|
194
|
+
"size": 80832,
|
|
195
195
|
"sizes": {
|
|
196
|
-
"javascript":
|
|
196
|
+
"javascript": 80832
|
|
197
197
|
},
|
|
198
198
|
"names": [],
|
|
199
199
|
"idHints": [],
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
"auxiliaryFiles": [
|
|
208
208
|
"1537.js.map"
|
|
209
209
|
],
|
|
210
|
-
"hash": "
|
|
210
|
+
"hash": "e628f3798d6ca47e",
|
|
211
211
|
"childrenByOrder": {}
|
|
212
212
|
},
|
|
213
213
|
{
|
|
@@ -1203,7 +1203,7 @@
|
|
|
1203
1203
|
"auxiliaryFiles": [
|
|
1204
1204
|
"8572.js.map"
|
|
1205
1205
|
],
|
|
1206
|
-
"hash": "
|
|
1206
|
+
"hash": "5370657866b7dc68",
|
|
1207
1207
|
"childrenByOrder": {}
|
|
1208
1208
|
},
|
|
1209
1209
|
{
|
|
@@ -1280,7 +1280,7 @@
|
|
|
1280
1280
|
"auxiliaryFiles": [
|
|
1281
1281
|
"main.js.map"
|
|
1282
1282
|
],
|
|
1283
|
-
"hash": "
|
|
1283
|
+
"hash": "a647972a2f8fae20",
|
|
1284
1284
|
"childrenByOrder": {}
|
|
1285
1285
|
},
|
|
1286
1286
|
{
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0","fhir2":">=1.2"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"bill-waiver-left-panel-link","component":"billWaiverLeftPanelLink","slot":"billable-services-left-panel-slot","order":1},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":2}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"}],"workspaces":[{"name":"billing-form-workspace","title":"billingForm","component":"billingFormWorkspace","type":"form"},{"name":"billable-service-form","title":"billableServiceForm","component":"billableServiceFormWorkspace","type":"form","width":"wider"}],"version":"1.0.2-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.24.0","fhir2":">=1.2"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"bill-waiver-left-panel-link","component":"billWaiverLeftPanelLink","slot":"billable-services-left-panel-slot","order":1},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":2}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"}],"workspaces":[{"name":"billing-form-workspace","title":"billingForm","component":"billingFormWorkspace","type":"form"},{"name":"billable-service-form","title":"billableServiceForm","component":"billableServiceFormWorkspace","type":"form","width":"wider"}],"version":"1.0.2-pre.966"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
import BillableServiceFormWorkspace, {
|
|
14
14
|
transformServiceToFormData,
|
|
15
15
|
normalizePrice,
|
|
16
|
+
getAvailablePaymentModes,
|
|
16
17
|
} from './billable-service-form.workspace';
|
|
17
18
|
import type { BillableService } from '../../types';
|
|
18
19
|
|
|
@@ -653,6 +654,65 @@ describe('BillableServiceFormWorkspace', () => {
|
|
|
653
654
|
expect(priceErrors.length).toBeGreaterThan(0);
|
|
654
655
|
expect(mockCreateBillableService).not.toHaveBeenCalled();
|
|
655
656
|
});
|
|
657
|
+
|
|
658
|
+
test('should allow selecting different payment modes in multiple fields', async () => {
|
|
659
|
+
const user = userEvent.setup();
|
|
660
|
+
renderBillableServicesForm();
|
|
661
|
+
|
|
662
|
+
// Add second and third payment options
|
|
663
|
+
const addButton = screen.getByRole('button', { name: /Add payment option/i });
|
|
664
|
+
await user.click(addButton);
|
|
665
|
+
await user.click(addButton);
|
|
666
|
+
|
|
667
|
+
// Select different payment modes in each field
|
|
668
|
+
const paymentModeDropdowns = screen.getAllByRole('combobox', { name: /Payment mode/i });
|
|
669
|
+
|
|
670
|
+
await user.click(paymentModeDropdowns[0]);
|
|
671
|
+
await user.click(screen.getByRole('option', { name: /Cash/i }));
|
|
672
|
+
|
|
673
|
+
await user.click(paymentModeDropdowns[1]);
|
|
674
|
+
await user.click(screen.getByRole('option', { name: /Insurance/i }));
|
|
675
|
+
|
|
676
|
+
await user.click(paymentModeDropdowns[2]);
|
|
677
|
+
await user.click(screen.getByRole('option', { name: /MPESA/i }));
|
|
678
|
+
|
|
679
|
+
const priceInputs = screen.getAllByRole('spinbutton', { name: /Selling Price/i });
|
|
680
|
+
await user.type(priceInputs[0], '100');
|
|
681
|
+
await user.type(priceInputs[1], '80');
|
|
682
|
+
await user.type(priceInputs[2], '90');
|
|
683
|
+
|
|
684
|
+
// Fill other required fields
|
|
685
|
+
await user.type(screen.getByRole('textbox', { name: /Service name/i }), 'Multi-mode Service');
|
|
686
|
+
await user.type(screen.getByRole('textbox', { name: /Short name/i }), 'MMS');
|
|
687
|
+
await user.click(screen.getByRole('combobox', { name: /Service type/i }));
|
|
688
|
+
await user.click(screen.getByRole('option', { name: /Lab service/i }));
|
|
689
|
+
|
|
690
|
+
mockCreateBillableService.mockResolvedValue({} as FetchResponse<any>);
|
|
691
|
+
await submitForm();
|
|
692
|
+
|
|
693
|
+
// Verify all three payment modes were submitted
|
|
694
|
+
expect(mockCreateBillableService).toHaveBeenCalledWith(
|
|
695
|
+
expect.objectContaining({
|
|
696
|
+
servicePrices: [
|
|
697
|
+
{
|
|
698
|
+
paymentMode: '63eff7a4-6f82-43c4-a333-dbcc58fe9f74',
|
|
699
|
+
price: 100,
|
|
700
|
+
name: 'Cash',
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
paymentMode: 'beac329b-f1dc-4a33-9e7c-d95821a137a6',
|
|
704
|
+
price: 80,
|
|
705
|
+
name: 'Insurance',
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
paymentMode: '28989582-e8c3-46b0-96d0-c249cb06d5c6',
|
|
709
|
+
price: 90,
|
|
710
|
+
name: 'MPESA',
|
|
711
|
+
},
|
|
712
|
+
],
|
|
713
|
+
}),
|
|
714
|
+
);
|
|
715
|
+
});
|
|
656
716
|
});
|
|
657
717
|
|
|
658
718
|
describe('Error Handling', () => {
|
|
@@ -895,4 +955,94 @@ describe('Helper Functions', () => {
|
|
|
895
955
|
expect(normalizePrice('invalid')).toBeNaN();
|
|
896
956
|
});
|
|
897
957
|
});
|
|
958
|
+
|
|
959
|
+
describe('getAvailablePaymentModes', () => {
|
|
960
|
+
const allPaymentModes = [
|
|
961
|
+
{ uuid: 'cash-uuid', name: 'Cash' },
|
|
962
|
+
{ uuid: 'insurance-uuid', name: 'Insurance' },
|
|
963
|
+
{ uuid: 'mpesa-uuid', name: 'MPESA' },
|
|
964
|
+
];
|
|
965
|
+
|
|
966
|
+
test('should return all payment modes when no modes are selected', () => {
|
|
967
|
+
const fields = [{ paymentMode: '', price: '' }];
|
|
968
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 0, '');
|
|
969
|
+
|
|
970
|
+
expect(result).toEqual(allPaymentModes);
|
|
971
|
+
});
|
|
972
|
+
|
|
973
|
+
test('should exclude already-selected payment modes from other fields', () => {
|
|
974
|
+
const fields = [
|
|
975
|
+
{ paymentMode: 'cash-uuid', price: '100' },
|
|
976
|
+
{ paymentMode: '', price: '' },
|
|
977
|
+
];
|
|
978
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 1, '');
|
|
979
|
+
|
|
980
|
+
expect(result).toEqual([
|
|
981
|
+
{ uuid: 'insurance-uuid', name: 'Insurance' },
|
|
982
|
+
{ uuid: 'mpesa-uuid', name: 'MPESA' },
|
|
983
|
+
]);
|
|
984
|
+
expect(result).not.toContainEqual({ uuid: 'cash-uuid', name: 'Cash' });
|
|
985
|
+
});
|
|
986
|
+
|
|
987
|
+
test('should keep current field selection visible even if selected elsewhere', () => {
|
|
988
|
+
const fields = [
|
|
989
|
+
{ paymentMode: 'cash-uuid', price: '100' },
|
|
990
|
+
{ paymentMode: 'insurance-uuid', price: '80' },
|
|
991
|
+
];
|
|
992
|
+
// Field 0 should still see "Cash" as an option
|
|
993
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 0, 'cash-uuid');
|
|
994
|
+
|
|
995
|
+
expect(result).toContainEqual({ uuid: 'cash-uuid', name: 'Cash' });
|
|
996
|
+
expect(result).not.toContainEqual({ uuid: 'insurance-uuid', name: 'Insurance' });
|
|
997
|
+
expect(result).toContainEqual({ uuid: 'mpesa-uuid', name: 'MPESA' });
|
|
998
|
+
});
|
|
999
|
+
|
|
1000
|
+
test('should filter multiple selected payment modes', () => {
|
|
1001
|
+
const fields = [
|
|
1002
|
+
{ paymentMode: 'cash-uuid', price: '100' },
|
|
1003
|
+
{ paymentMode: 'insurance-uuid', price: '80' },
|
|
1004
|
+
{ paymentMode: '', price: '' },
|
|
1005
|
+
];
|
|
1006
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 2, '');
|
|
1007
|
+
|
|
1008
|
+
expect(result).toEqual([{ uuid: 'mpesa-uuid', name: 'MPESA' }]);
|
|
1009
|
+
});
|
|
1010
|
+
|
|
1011
|
+
test('should handle empty payment mode values correctly', () => {
|
|
1012
|
+
const fields = [
|
|
1013
|
+
{ paymentMode: '', price: '' },
|
|
1014
|
+
{ paymentMode: 'cash-uuid', price: '100' },
|
|
1015
|
+
{ paymentMode: '', price: '' },
|
|
1016
|
+
];
|
|
1017
|
+
// Field 0 should see all modes except Cash
|
|
1018
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 0, '');
|
|
1019
|
+
|
|
1020
|
+
expect(result).toEqual([
|
|
1021
|
+
{ uuid: 'insurance-uuid', name: 'Insurance' },
|
|
1022
|
+
{ uuid: 'mpesa-uuid', name: 'MPESA' },
|
|
1023
|
+
]);
|
|
1024
|
+
});
|
|
1025
|
+
|
|
1026
|
+
test('should work with generic types having uuid property', () => {
|
|
1027
|
+
const customModes = [
|
|
1028
|
+
{ uuid: 'a', customProp: 'value1' },
|
|
1029
|
+
{ uuid: 'b', customProp: 'value2' },
|
|
1030
|
+
];
|
|
1031
|
+
const fields = [
|
|
1032
|
+
{ paymentMode: 'a', price: '50' },
|
|
1033
|
+
{ paymentMode: '', price: '' },
|
|
1034
|
+
];
|
|
1035
|
+
|
|
1036
|
+
const result = getAvailablePaymentModes(customModes, fields, 1, '');
|
|
1037
|
+
|
|
1038
|
+
expect(result).toEqual([{ uuid: 'b', customProp: 'value2' }]);
|
|
1039
|
+
});
|
|
1040
|
+
|
|
1041
|
+
test('should return all modes when only current field has a selection', () => {
|
|
1042
|
+
const fields = [{ paymentMode: 'cash-uuid', price: '100' }];
|
|
1043
|
+
const result = getAvailablePaymentModes(allPaymentModes, fields, 0, 'cash-uuid');
|
|
1044
|
+
|
|
1045
|
+
expect(result).toEqual(allPaymentModes);
|
|
1046
|
+
});
|
|
1047
|
+
});
|
|
898
1048
|
});
|
|
@@ -107,6 +107,17 @@ export const normalizePrice = (price: string | number | undefined): number => {
|
|
|
107
107
|
return parseFloat(String(price));
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
+
export const getAvailablePaymentModes = <T extends { uuid: string }>(
|
|
111
|
+
allModes: T[],
|
|
112
|
+
allFields: PaymentModeForm[],
|
|
113
|
+
currentIndex: number,
|
|
114
|
+
currentValue: string,
|
|
115
|
+
): T[] => {
|
|
116
|
+
const selectedUUIDs = allFields.map((f, i) => (i !== currentIndex ? f.paymentMode : null)).filter(Boolean);
|
|
117
|
+
|
|
118
|
+
return allModes.filter((mode) => !selectedUUIDs.includes(mode.uuid) || mode.uuid === currentValue);
|
|
119
|
+
};
|
|
120
|
+
|
|
110
121
|
const createBillableServiceSchema = (t: TFunction) => {
|
|
111
122
|
const servicePriceSchema = z.object({
|
|
112
123
|
paymentMode: z
|
|
@@ -438,7 +449,7 @@ const BillableServiceFormWorkspace: React.FC<BillableServiceFormWorkspaceProps>
|
|
|
438
449
|
id={`paymentMode-${index}`}
|
|
439
450
|
invalid={!!errors?.payment?.[index]?.paymentMode}
|
|
440
451
|
invalidText={errors?.payment?.[index]?.paymentMode?.message}
|
|
441
|
-
items={paymentModes
|
|
452
|
+
items={getAvailablePaymentModes(paymentModes, fields, index, field.value)}
|
|
442
453
|
itemToString={(item) => (item ? item.name : '')}
|
|
443
454
|
label={t('selectPaymentMode', 'Select payment mode')}
|
|
444
455
|
onChange={({ selectedItem }) => field.onChange(selectedItem.uuid)}
|