@openmrs/esm-billing-app 1.0.2-pre.613 → 1.0.2-pre.619

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +12 -6
  2. package/__mocks__/react-i18next.js +6 -5
  3. package/dist/2352.js +1 -1
  4. package/dist/2352.js.map +1 -1
  5. package/dist/4300.js +1 -1
  6. package/dist/4739.js +1 -1
  7. package/dist/4739.js.map +1 -1
  8. package/dist/7239.js +1 -1
  9. package/dist/7239.js.map +1 -1
  10. package/dist/8638.js +1 -1
  11. package/dist/8638.js.map +1 -1
  12. package/dist/main.js +1 -1
  13. package/dist/main.js.map +1 -1
  14. package/dist/openmrs-esm-billing-app.js +1 -1
  15. package/dist/openmrs-esm-billing-app.js.buildmanifest.json +19 -19
  16. package/dist/routes.json +1 -1
  17. package/e2e/README.md +19 -18
  18. package/package.json +2 -2
  19. package/src/bill-history/bill-history.test.tsx +37 -77
  20. package/src/bill-item-actions/edit-bill-item.component.tsx +7 -3
  21. package/src/bill-item-actions/edit-bill-item.test.tsx +17 -19
  22. package/src/billable-services/bill-waiver/patient-bills.component.tsx +3 -3
  23. package/src/billable-services/billable-service.resource.ts +4 -3
  24. package/src/billable-services/billable-services.component.tsx +5 -4
  25. package/src/billable-services/billable-services.test.tsx +3 -44
  26. package/src/billable-services/cash-point/cash-point-configuration.component.tsx +2 -2
  27. package/src/billable-services/create-edit/add-billable-service.component.tsx +2 -2
  28. package/src/billable-services/create-edit/add-billable-service.test.tsx +6 -6
  29. package/src/billable-services/payyment-modes/payment-modes-config.component.tsx +1 -1
  30. package/src/billing-form/billing-checkin-form.component.tsx +1 -2
  31. package/src/billing-form/billing-checkin-form.test.tsx +0 -2
  32. package/src/billing-form/billing-form.component.tsx +8 -4
  33. package/src/billing.resource.ts +13 -9
  34. package/src/bills-table/bills-table.test.tsx +97 -53
  35. package/src/config-schema.ts +52 -18
  36. package/src/invoice/invoice-table.component.tsx +9 -9
  37. package/src/invoice/invoice-table.scss +1 -5
  38. package/src/invoice/invoice-table.test.tsx +24 -39
  39. package/src/invoice/invoice.component.tsx +8 -6
  40. package/src/invoice/invoice.scss +7 -4
  41. package/src/invoice/invoice.test.tsx +12 -47
  42. package/src/invoice/payments/payment-form/payment-form.test.tsx +8 -10
  43. package/src/invoice/payments/payment-history/payment-history.component.tsx +6 -4
  44. package/src/invoice/payments/payment-history/payment-history.test.tsx +9 -14
  45. package/src/invoice/payments/payments.component.test.tsx +20 -6
  46. package/src/invoice/printable-invoice/print-receipt.component.tsx +1 -1
  47. package/src/invoice/printable-invoice/print-receipt.test.tsx +14 -25
  48. package/src/invoice/printable-invoice/printable-footer.component.tsx +2 -2
  49. package/src/invoice/printable-invoice/printable-footer.test.tsx +4 -13
  50. package/src/invoice/printable-invoice/printable-invoice-header.component.tsx +5 -4
  51. package/src/invoice/printable-invoice/printable-invoice-header.test.tsx +11 -11
  52. package/src/invoice/printable-invoice/printable-invoice.component.tsx +11 -11
  53. package/src/metrics-cards/metrics-cards.test.tsx +18 -5
  54. package/src/modal/require-payment-modal.test.tsx +24 -19
  55. package/translations/en.json +18 -0
package/README.md CHANGED
@@ -11,14 +11,14 @@ The **Billing ESM** is a microfrontend for OpenMRS 3.x designed to manage health
11
11
  - Configure billable services and categories
12
12
  - Integrate with visits and patient dashboards
13
13
 
14
- Dependency: Note that this frontend module depends on the backend module called "Billing Module": https://github.com/openmrs/openmrs-module-billing
14
+ Dependency: Note that this frontend module depends on the backend module called "Billing Module": <https://github.com/openmrs/openmrs-module-billing>
15
15
 
16
16
  For more information, please see the
17
17
  [OpenMRS Frontend Developer Documentation](https://openmrs.atlassian.net/wiki/x/IABBHg).
18
18
 
19
19
  ## Local development
20
20
 
21
- Check out the developer documentation [here](https://openmrs.atlassian.net/wiki/x/IABBHg).
21
+ Check out the developer documentation [in the OpenMRS Wiki](https://openmrs.atlassian.net/wiki/x/IABBHg).
22
22
 
23
23
  This monorepo uses [yarn](https://yarnpkg.com).
24
24
 
@@ -36,8 +36,8 @@ yarn start
36
36
 
37
37
  Once the dev server launches, log in and select a location. You will get redirected to the home page. Once there:
38
38
 
39
- * Go to the Implementers tools, under the feature flags, toggle on the Billing Module feature flag to access billing functionalities.
40
- * For more information on how to navigate and use the billing module, please refer to this [documentation](https://www.notion.so/ucsf-ighs/Billing-User-Manual-7f0427617e714b7db14432312cbb7cad)
39
+ - Go to the Implementers tools, under the feature flags, toggle on the Billing Module feature flag to access billing functionalities.
40
+ - For more information on how to navigate and use the billing module, please refer to this [documentation](https://www.notion.so/ucsf-ighs/Billing-User-Manual-7f0427617e714b7db14432312cbb7cad)
41
41
 
42
42
  ## Running tests
43
43
 
@@ -52,6 +52,7 @@ To run tests in `watch` mode, run:
52
52
  ```bash
53
53
  yarn turbo run test:watch
54
54
  ```
55
+
55
56
  To run a specific test file, run:
56
57
 
57
58
  ```bash
@@ -93,6 +94,7 @@ The Playwright version in the [Bamboo e2e Dockerfile](e2e/support/bamboo/playwri
93
94
  ## ⚙️ Configuration
94
95
 
95
96
  You can customize billing behavior using OpenMRS frontend config overrides.
97
+
96
98
  ### 🔧 Example Config
97
99
 
98
100
  ``` bash
@@ -115,6 +117,7 @@ You can customize billing behavior using OpenMRS frontend config overrides.
115
117
  }
116
118
  }
117
119
  ```
120
+
118
121
  ``` bash
119
122
  📌 Ensure all UUIDs used here exist in your OpenMRS instance.
120
123
  🧩 Configuration can be managed via your MF shell app or import-map-deployer
@@ -129,15 +132,18 @@ If you notice that your local version of the application is not working or that
129
132
  yarn up openmrs@next @openmrs/esm-framework@next
130
133
  ```
131
134
 
132
- ### Reset version specifiers to `next`. Don't commit actual version numbers.
135
+ ### Reset version specifiers to `next`. Don't commit actual version numbers
136
+
133
137
  ```bash
134
138
  git checkout package.json
135
139
  ```
136
140
 
137
141
  ### Run `yarn` to recreate the lockfile
142
+
138
143
  ```bash
139
144
  yarn
140
145
  ```
146
+
141
147
  ## Design Patterns
142
148
 
143
149
  For documentation about our design patterns, please visit our [design system](https://zeroheight.com/23a080e38/p/880723--introduction) documentation website.
@@ -154,4 +160,4 @@ See [Creating a Distribution](https://openmrs.atlassian.net/wiki/x/IABBHg) for i
154
160
 
155
161
  For more information on how to get started, please refer to [OpenMRS Frontend Developer Documentation](https://openmrs.atlassian.net/wiki/x/94ABCQ).
156
162
 
157
- Detailed documentation on Billing Module can be found [here](https://openmrs.atlassian.net/wiki/x/0w2bAQ)
163
+ Detailed documentation on Billing Module can be found [in the OpenMRS Wiki](https://openmrs.atlassian.net/wiki/x/0w2bAQ)
@@ -31,9 +31,11 @@ const renderNodes = (reactNodes) => {
31
31
 
32
32
  const useMock = [(key) => key, {}];
33
33
  useMock.t = (key, defaultValue, options = {}) => {
34
- let translatedString = defaultValue;
35
- Object.keys(options).forEach((key) => {
36
- translatedString = defaultValue.replace(`{{${key}}}`, `${options[key]}`);
34
+ let translatedString = defaultValue || key;
35
+ Object.entries(options).forEach(([k, v]) => {
36
+ if (key !== 'interpolation') {
37
+ translatedString = translatedString.replace(new RegExp(`{{${k}}}`, 'g'), v);
38
+ }
37
39
  });
38
40
 
39
41
  return translatedString;
@@ -43,10 +45,9 @@ useMock.i18n = { language: 'en_US' };
43
45
 
44
46
  module.exports = {
45
47
  // this mock makes sure any components using the translate HoC receive the t function as a prop
46
- Trans: ({ children }) => renderNodes(children),
48
+ Trans: ({ children }) => (Array.isArray(children) ? renderNodes(children) : renderNodes([children])),
47
49
  Translation: ({ children }) => children((k) => k, { i18n: {} }),
48
50
  useTranslation: () => useMock,
49
-
50
51
  // mock if needed
51
52
  I18nextProvider: reactI18next.I18nextProvider,
52
53
  initReactI18next: reactI18next.initReactI18next,
package/dist/2352.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[2352],{24807:(e,n,t)=>{t.d(n,{A:()=>r});var a=t(72996),l=t.n(a),i=t(70159),o=t.n(i)()(l());o.push([e.id,".-esm-billing__bill-item-actions__section___crKLl{margin:.5rem}.-esm-billing__bill-item-actions__sectionTitle___uWG2I{font-size:var(--cds-heading-compact-02-font-size, 1rem);font-weight:var(--cds-heading-compact-02-font-weight, 600);line-height:var(--cds-heading-compact-02-line-height, 1.375);letter-spacing:var(--cds-heading-compact-02-letter-spacing, 0);color:#525252;margin-bottom:.75rem}.-esm-billing__bill-item-actions__modalBody___cSIua{padding-bottom:1rem}.-esm-billing__bill-item-actions__label___gChLf{font-size:var(--cds-heading-compact-01-font-size, 0.875rem);font-weight:var(--cds-heading-compact-01-font-weight, 600);line-height:var(--cds-heading-compact-01-line-height, 1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing, 0.16px);margin-bottom:1rem}.-esm-billing__bill-item-actions__controlField___mi9C-{margin-bottom:1rem}","",{version:3,sources:["webpack://./src/bill-item-actions/bill-item-actions.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./node_modules/@carbon/type/scss/_styles.scss","webpack://./node_modules/@carbon/colors/index.scss"],names:[],mappings:"AAIA,kDACE,YCgBW,CDbb,uDE01BI,uDAAA,CAAA,0DAAA,CAAA,4DAAA,CAAA,8DAAA,CFx1BF,aGsCQ,CHrCR,oBCeW,CDZb,oDACE,mBCgBW,CDbb,gDEg1BI,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CF90BF,kBCWW,CDRb,uDACE,kBCOW",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.section {\n margin: layout.$spacing-03;\n}\n \n.sectionTitle {\n @include type.type-style('heading-compact-02');\n color: colors.$gray-70;\n margin-bottom: layout.$spacing-04;\n}\n\n.modalBody {\n padding-bottom: layout.$spacing-05;\n}\n\n.label {\n @include type.type-style('heading-compact-01');\n margin-bottom: layout.$spacing-05;\n}\n\n.controlField {\n margin-bottom: 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","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n"],sourceRoot:""}]),o.locals={section:"-esm-billing__bill-item-actions__section___crKLl",sectionTitle:"-esm-billing__bill-item-actions__sectionTitle___uWG2I",modalBody:"-esm-billing__bill-item-actions__modalBody___cSIua",label:"-esm-billing__bill-item-actions__label___gChLf",controlField:"-esm-billing__bill-item-actions__controlField___mi9C-"};const r=o},42352:(e,n,t)=>{t.r(n),t.d(n,{default:()=>D});var a=t(16072),l=t.n(a),i=t(92881),o=t(53941),r=t(49785),s=t(27804),c=t(14476),f=t(28871),p=t(15847),u=t(50930),d=t(50654),g=t(54392),h=t(89027),y=t(85072),b=t.n(y),$=t(97825),m=t.n($),v=t(77659),w=t.n(v),k=t(55056),x=t.n(k),z=t(10540),_=t.n(z),M=t(41113),A=t.n(M),C=t(24807),E={};E.styleTagTransform=A(),E.setAttributes=x(),E.insert=w().bind(null,"head"),E.domAPI=m(),E.insertStyleElement=_(),b()(C.A,E);const I=C.A&&C.A.locals?C.A.locals:void 0;function S(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}function O(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function q(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),a.forEach((function(n){O(e,n,t[n])}))}return e}function N(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 t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function T(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,l,i=[],o=!0,r=!1;try{for(t=t.call(e);!(o=(a=t.next()).done)&&(i.push(a.value),!n||i.length!==n);o=!0);}catch(e){r=!0,l=e}finally{try{o||null==t.return||t.return()}finally{if(r)throw l}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return S(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?S(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const D=function(e){var n,t,y=e.bill,b=e.item,$=e.closeModal,m=(0,o.useTranslation)().t,v=(0,h.ly)().billableServices,w=T((0,a.useState)(!1),2),k=w[0],x=w[1],z=T((0,a.useState)(0),2),_=z[0],M=z[1],A=(0,a.useMemo)((function(){return c.z.object({quantity:c.z.string({required_error:m("quantityRequired","Quantity is required")}),price:c.z.string({required_error:m("priceIsRequired","Price is required")})})}),[m]),C=(0,r.mN)({defaultValues:{quantity:b.quantity.toString(),price:b.price.toString()},resolver:(0,f.u)(A)}),E=C.control,S=C.handleSubmit,O=C.formState,D=O.isSubmitting,B=O.errors,j=(O.isDirty,C.watch),P=j("quantity"),F=j("price");return(0,a.useEffect)((function(){var e=parseInt(P)*parseInt(F);M(e)}),[P,F]),0===(null===(n=Object.keys(y))||void 0===n?void 0:n.length)?l().createElement(i.rQ0,{closeModal:$,title:m("billLineItemEmpty","This bill has no line items")}):(null===(t=Object.keys(y))||void 0===t?void 0:t.length)>0?l().createElement("div",null,l().createElement(i.lVW,{onSubmit:S((function(e){var n="".concat(u.B,"bill"),t=N(q({},b),{quantity:parseInt(e.quantity),price:parseInt(null==e?void 0:e.price),billableService:(0,d.e)(v,b.billableService),item:null==b?void 0:b.item}),a=(null==y?void 0:y.lineItems.filter((function(e){return e.uuid!==(null==b?void 0:b.uuid)})).map((function(e){return N(q({},e),{billableService:(0,d.e)(v,b.billableService)})}))).concat(t),l={cashPoint:y.cashPointUuid,cashier:y.cashier.uuid,lineItems:a,patient:y.patientUuid,status:y.status,uuid:y.uuid};(0,g.FR)(l).then((function(e){(0,s.j)((function(e){return"string"==typeof e&&e.startsWith(n)}),void 0,{revalidate:!0}),(0,p.showSnackbar)({title:m("billItems","Save Bill"),subtitle:"Bill processing has been successful",kind:"success",timeoutInMs:3e3}),$()}),(function(e){(0,p.showSnackbar)({title:"Bill processing error",kind:"error",subtitle:null==e?void 0:e.message})}))}),(function(e){e&&x(!0)}))},l().createElement(i.rQ0,{closeModal:$,title:m("editBillLineItem","Edit bill line item?")}),l().createElement(i.cwr,null,l().createElement("div",{className:I.modalBody},l().createElement("h5",null,null==y?void 0:y.patientName,"   ·  ",null==y?void 0:y.cashPointName,"   ·  ",null==y?void 0:y.receiptNumber," ")),l().createElement("section",{className:I.section},l().createElement("p",{className:I.label},m("item","Item")," : ",(null==b?void 0:b.billableService)?null==b?void 0:b.billableService:null==b?void 0:b.item),l().createElement("p",{className:I.label},m("currentPrice","Current price")," : ",null==b?void 0:b.price),l().createElement("p",{className:I.label},m("status","status")," : ",null==b?void 0:b.paymentStatus),l().createElement(r.xI,{name:"quantity",control:E,render:function(e){var n,t,a=e.field,o=a.onChange,r=(a.onBlur,a.value);return l().createElement(i.Q7x,{label:m("quantity","Quantity"),id:"quantityInput",min:0,max:100,value:r,onChange:o,className:I.controlField,invalid:null===(n=B.quantity)||void 0===n?void 0:n.message,invalidText:null===(t=B.quantity)||void 0===t?void 0:t.message})}}),l().createElement(r.xI,{name:"price",control:E,render:function(e){var n=e.field.value;return l().createElement(i.ksK,{id:"priceInput",labelText:m("price","Unit Price"),value:n,readOnly:!0,className:I.controlField,helperText:"This is the unit Price for this item."})}}),l().createElement("p",{className:I.label},m("total","Total")," : ",_," "),k&&l().createElement(i.VPZ,{className:I.errorContainer},l().createElement(i.jeF,{lowContrast:!0,title:m("error","Error"),subtitle:m("pleaseRequiredFields","Please fill all required fields")+".",onClose:function(){return x(!1)}})))),l().createElement(i.jlY,null,l().createElement(i.$nd,{kind:"secondary",onClick:$},m("cancel","Cancel")),l().createElement(i.$nd,{disabled:D,type:"submit"},l().createElement(l().Fragment,null,D?l().createElement("div",{className:I.inline},l().createElement(i.OuH,{status:"active",iconDescription:m("submitting","Submitting"),description:m("submitting","Submitting...")})):m("save","Save")))))):void 0}}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[2352],{24807:(e,n,t)=>{t.d(n,{A:()=>r});var a=t(72996),l=t.n(a),i=t(70159),o=t.n(i)()(l());o.push([e.id,".-esm-billing__bill-item-actions__section___crKLl{margin:.5rem}.-esm-billing__bill-item-actions__sectionTitle___uWG2I{font-size:var(--cds-heading-compact-02-font-size, 1rem);font-weight:var(--cds-heading-compact-02-font-weight, 600);line-height:var(--cds-heading-compact-02-line-height, 1.375);letter-spacing:var(--cds-heading-compact-02-letter-spacing, 0);color:#525252;margin-bottom:.75rem}.-esm-billing__bill-item-actions__modalBody___cSIua{padding-bottom:1rem}.-esm-billing__bill-item-actions__label___gChLf{font-size:var(--cds-heading-compact-01-font-size, 0.875rem);font-weight:var(--cds-heading-compact-01-font-weight, 600);line-height:var(--cds-heading-compact-01-line-height, 1.28572);letter-spacing:var(--cds-heading-compact-01-letter-spacing, 0.16px);margin-bottom:1rem}.-esm-billing__bill-item-actions__controlField___mi9C-{margin-bottom:1rem}","",{version:3,sources:["webpack://./src/bill-item-actions/bill-item-actions.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./node_modules/@carbon/type/scss/_styles.scss","webpack://./node_modules/@carbon/colors/index.scss"],names:[],mappings:"AAIA,kDACE,YCgBW,CDbb,uDE01BI,uDAAA,CAAA,0DAAA,CAAA,4DAAA,CAAA,8DAAA,CFx1BF,aGsCQ,CHrCR,oBCeW,CDZb,oDACE,mBCgBW,CDbb,gDEg1BI,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CF90BF,kBCWW,CDRb,uDACE,kBCOW",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.section {\n margin: layout.$spacing-03;\n}\n \n.sectionTitle {\n @include type.type-style('heading-compact-02');\n color: colors.$gray-70;\n margin-bottom: layout.$spacing-04;\n}\n\n.modalBody {\n padding-bottom: layout.$spacing-05;\n}\n\n.label {\n @include type.type-style('heading-compact-01');\n margin-bottom: layout.$spacing-05;\n}\n\n.controlField {\n margin-bottom: 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","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n"],sourceRoot:""}]),o.locals={section:"-esm-billing__bill-item-actions__section___crKLl",sectionTitle:"-esm-billing__bill-item-actions__sectionTitle___uWG2I",modalBody:"-esm-billing__bill-item-actions__modalBody___cSIua",label:"-esm-billing__bill-item-actions__label___gChLf",controlField:"-esm-billing__bill-item-actions__controlField___mi9C-"};const r=o},42352:(e,n,t)=>{t.r(n),t.d(n,{default:()=>D});var a=t(16072),l=t.n(a),i=t(92881),o=t(53941),r=t(49785),s=t(27804),c=t(14476),f=t(28871),p=t(15847),u=t(50930),d=t(50654),g=t(54392),h=t(89027),y=t(85072),b=t.n(y),$=t(97825),m=t.n($),v=t(77659),w=t.n(v),k=t(55056),x=t.n(k),z=t(10540),_=t.n(z),M=t(41113),A=t.n(M),C=t(24807),E={};E.styleTagTransform=A(),E.setAttributes=x(),E.insert=w().bind(null,"head"),E.domAPI=m(),E.insertStyleElement=_(),b()(C.A,E);const S=C.A&&C.A.locals?C.A.locals:void 0;function I(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=new Array(n);t<n;t++)a[t]=e[t];return a}function O(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function q(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},a=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),a.forEach((function(n){O(e,n,t[n])}))}return e}function N(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 t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function T(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,l,i=[],o=!0,r=!1;try{for(t=t.call(e);!(o=(a=t.next()).done)&&(i.push(a.value),!n||i.length!==n);o=!0);}catch(e){r=!0,l=e}finally{try{o||null==t.return||t.return()}finally{if(r)throw l}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return I(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?I(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const D=function(e){var n,t,y=e.bill,b=e.item,$=e.closeModal,m=(0,o.useTranslation)().t,v=(0,h.ly)().billableServices,w=T((0,a.useState)(!1),2),k=w[0],x=w[1],z=T((0,a.useState)(0),2),_=z[0],M=z[1],A=(0,a.useMemo)((function(){return c.z.object({quantity:c.z.string({required_error:m("quantityRequired","Quantity is required")}),price:c.z.string({required_error:m("priceIsRequired","Price is required")})})}),[m]),C=(0,r.mN)({defaultValues:{quantity:b.quantity.toString(),price:b.price.toString()},resolver:(0,f.u)(A)}),E=C.control,I=C.handleSubmit,O=C.formState,D=O.isSubmitting,B=O.errors,j=(O.isDirty,C.watch),P=j("quantity"),F=j("price");return(0,a.useEffect)((function(){var e=parseInt(P)*parseInt(F);M(e)}),[P,F]),0===(null===(n=Object.keys(y))||void 0===n?void 0:n.length)?l().createElement(i.rQ0,{closeModal:$,title:m("billLineItemEmpty","This bill has no line items")}):(null===(t=Object.keys(y))||void 0===t?void 0:t.length)>0?l().createElement("div",null,l().createElement(i.lVW,{onSubmit:I((function(e){var n="".concat(u.B,"bill"),t=N(q({},b),{quantity:parseInt(e.quantity),price:parseInt(null==e?void 0:e.price),billableService:(0,d.e)(v,b.billableService),item:null==b?void 0:b.item}),a=(null==y?void 0:y.lineItems.filter((function(e){return e.uuid!==(null==b?void 0:b.uuid)})).map((function(e){return N(q({},e),{billableService:(0,d.e)(v,b.billableService)})}))).concat(t),l={cashPoint:y.cashPointUuid,cashier:y.cashier.uuid,lineItems:a,patient:y.patientUuid,status:y.status,uuid:y.uuid};(0,g.FR)(l).then((function(e){(0,s.j)((function(e){return"string"==typeof e&&e.startsWith(n)}),void 0,{revalidate:!0}),(0,p.showSnackbar)({title:m("saveBill","Save Bill"),subtitle:m("billProcessingSuccess","Bill processing has been successful"),kind:"success",timeoutInMs:3e3}),$()}),(function(e){(0,p.showSnackbar)({title:m("billProcessingError","Bill processing error"),kind:"error",subtitle:null==e?void 0:e.message})}))}),(function(e){e&&x(!0)}))},l().createElement(i.rQ0,{closeModal:$,title:m("editBillLineItem","Edit bill line item?")}),l().createElement(i.cwr,null,l().createElement("div",{className:S.modalBody},l().createElement("h5",null,null==y?void 0:y.patientName,"   ·  ",null==y?void 0:y.cashPointName,"   ·  ",null==y?void 0:y.receiptNumber," ")),l().createElement("section",{className:S.section},l().createElement("p",{className:S.label},m("item","Item")," : ",(null==b?void 0:b.billableService)?null==b?void 0:b.billableService:null==b?void 0:b.item),l().createElement("p",{className:S.label},m("currentPrice","Current price")," : ",null==b?void 0:b.price),l().createElement("p",{className:S.label},m("status","status")," : ",null==b?void 0:b.paymentStatus),l().createElement(r.xI,{name:"quantity",control:E,render:function(e){var n,t,a=e.field,o=a.onChange,r=(a.onBlur,a.value);return l().createElement(i.Q7x,{label:m("quantity","Quantity"),id:"quantityInput",min:0,max:100,value:r,onChange:o,className:S.controlField,invalid:null===(n=B.quantity)||void 0===n?void 0:n.message,invalidText:null===(t=B.quantity)||void 0===t?void 0:t.message})}}),l().createElement(r.xI,{name:"price",control:E,render:function(e){var n=e.field.value;return l().createElement(i.ksK,{id:"priceInput",labelText:m("price","Unit Price"),value:n,readOnly:!0,className:S.controlField,helperText:"This is the unit Price for this item."})}}),l().createElement("p",{className:S.label},m("total","Total")," : ",_," "),k&&l().createElement(i.VPZ,{className:S.errorContainer},l().createElement(i.jeF,{lowContrast:!0,title:m("error","Error"),subtitle:m("pleaseRequiredFields","Please fill all required fields")+".",onClose:function(){return x(!1)}})))),l().createElement(i.jlY,null,l().createElement(i.$nd,{kind:"secondary",onClick:$},m("cancel","Cancel")),l().createElement(i.$nd,{disabled:D,type:"submit"},l().createElement(l().Fragment,null,D?l().createElement("div",{className:S.inline},l().createElement(i.OuH,{status:"active",iconDescription:m("submitting","Submitting"),description:m("submitting","Submitting...")})):m("save","Save")))))):void 0}}}]);
package/dist/2352.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"2352.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/bill-item-actions/bill-item-actions.scss","webpack://@openmrs/esm-billing-app/./src/bill-item-actions/bill-item-actions.scss?0727","webpack://@openmrs/esm-billing-app/./src/bill-item-actions/edit-bill-item.component.tsx"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","Object","bill","item","closeModal","useTranslation","t","useBillableServices","billableServices","useState","showErrorNotification","setShowErrorNotification","total","setTotal","schema","useMemo","z","object","quantity","string","required_error","price","useForm","defaultValues","toString","resolver","zodResolver","control","handleSubmit","formState","isSubmitting","errors","watch","isDirty","useEffect","newTotal","parseInt","keys","length","ModalHeader","title","div","Form","onSubmit","data","url","apiBasePath","newItem","billableService","getBillableServiceUuid","updatedLineItems","lineItems","filter","currItem","uuid","map","concat","payload","cashPoint","cashPointUuid","cashier","patient","patientUuid","status","updateBillItems","then","res","mutate","key","startsWith","revalidate","showSnackbar","subtitle","kind","timeoutInMs","error","message","ModalBody","className","styles","modalBody","h5","patientName","cashPointName","receiptNumber","section","p","label","paymentStatus","Controller","name","render","field","onChange","value","onBlur","NumberInput","min","max","controlField","invalid","invalidText","TextInput","labelText","readOnly","helperText","Column","errorContainer","InlineNotification","lowContrast","onClose","ModalFooter","Button","onClick","disabled","type","inline","InlineLoading","iconDescription","description"],"sourceRoot":""}
1
+ {"version":3,"file":"2352.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/bill-item-actions/bill-item-actions.scss","webpack://@openmrs/esm-billing-app/./src/bill-item-actions/bill-item-actions.scss?0727","webpack://@openmrs/esm-billing-app/./src/bill-item-actions/edit-bill-item.component.tsx"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","Object","bill","item","closeModal","useTranslation","t","useBillableServices","billableServices","useState","showErrorNotification","setShowErrorNotification","total","setTotal","schema","useMemo","z","object","quantity","string","required_error","price","useForm","defaultValues","toString","resolver","zodResolver","control","handleSubmit","formState","isSubmitting","errors","watch","isDirty","useEffect","newTotal","parseInt","keys","length","ModalHeader","title","div","Form","onSubmit","data","url","apiBasePath","newItem","billableService","getBillableServiceUuid","updatedLineItems","lineItems","filter","currItem","uuid","map","concat","payload","cashPoint","cashPointUuid","cashier","patient","patientUuid","status","updateBillItems","then","res","mutate","key","startsWith","revalidate","showSnackbar","subtitle","kind","timeoutInMs","error","message","ModalBody","className","styles","modalBody","h5","patientName","cashPointName","receiptNumber","section","p","label","paymentStatus","Controller","name","render","field","onChange","value","onBlur","NumberInput","min","max","controlField","invalid","invalidText","TextInput","labelText","readOnly","helperText","Column","errorContainer","InlineNotification","lowContrast","onClose","ModalFooter","Button","onClick","disabled","type","inline","InlineLoading","iconDescription","description"],"sourceRoot":""}
package/dist/4300.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[4300],{34300:e=>{e.exports=JSON.parse('{"actions":"Actions","addBill":"Add bill item(s)","addBillableServices":"Add Billable Services","addCashPoint":"Add Cash Point","addNewBillableService":"Add new billable service","addNewService":"Add new service","addPaymentMode":"Add Payment Mode","addPaymentOptions":"Add payment option","amount":"Amount","amountDue":"Amount Due","amountToWaiveAriaLabel":"Enter amount to waive","amountToWaiveHelper":"Specify the amount to be deducted from the bill","amountToWaiveLabel":"Amount to Waive","billableService":"Billable service","billableServices":"Billable Services","billedItems":"Billed Items","billedTo":"Billed to","billErrorService":"Bill service error","billing":"Billing","billingForm":"Billing form","billingHistory":"Billing History","billingSettings":"Billing Settings","billItem":"Bill item","billItems":"Bill Items","billLineItemEmpty":"This bill has no line items","billList":"Bill list","billMetrics":"Bill metrics","billName":" {{billName}} ","billPayment":"Bill payment","billPaymentError":"Bill payment error","billPaymentRequiredMessage":"The current patient has pending bill. Advice patient to settle bill before receiving services","billServicesManagement":"Bill services management","billsList":"Bill list","billTotal":"Bill total","billWaiver":"Bill waiver","billWaiverError":"Bill waiver failed {{error}}","billWaiverSuccess":"Bill waiver successful","cancel":"Cancel","cashPointConfig":"Cash Point Config","cashPointHistory":"Cash Point History","cashPointLocation":"Cash Point Location","cashPointName":"Cash Point Name","cashPointNamePlaceholder":"e.g., Pharmacy Cash Point","cashPointSaved":"Cash point was successfully saved.","cashPointUuid":"Cash Point UUID","cashPointUuidPlaceholder":"Enter UUID","checkFilters":"Check the filters above","clearSearchInput":"Clear search input","clientBalance":"Client Balance","confirmDeleteMessage":"Are you sure you want to delete this payment mode? Proceed cautiously.","createdSuccessfully":"Billable service created successfully","currentPrice":"Current price","delete":"Delete","deletePaymentMode":"Delete Payment Mode","description":"Description","descriptionPlaceholder":"e.g., Used for all cash transactions","discard":"Discard","discount":"Discount","duplicateCashPointError":"A cash point with the same name or UUID already exists. Please use a unique name and UUID.","duplicatePaymentModeError":"A payment mode with the same name already exists. Please create another payment mode","editBillableService":"Edit billable service","editBillableServices":"Edit Billable Services","editBillLineItem":"Edit bill line item?","editThisBillItem":"Edit this bill item","enterAmount":"Enter amount","enterConcept":"Associated concept","enterReferenceNumber":"Enter ref. number","error":"Error","errorDeletingPaymentMode":"An error occurred while deleting the payment mode.","errorFetchingCashPoints":"An error occurred while fetching cash points.","errorFetchingLocations":"An error occurred while fetching locations.","errorFetchingPaymentModes":"An error occurred while fetching payment modes.","errorLoadingBillServices":"Error loading bill services","errorLoadingPaymentModes":"Payment modes error","errorSavingCashPoint":"An error occurred while saving the cash point.","errorSavingPaymentMode":"An error occurred while saving the payment mode.","filterBy":"Filter by","filterTable":"Filter table","grandTotal":"Grand total","home":"Home","identifier":"Identifier","inlineLoading":"Loading bill items...","insuranceScheme":"Insurance scheme","invalidWaiverAmount":"Invalid waiver amount","invoice":"Invoice","invoiceError":"Invoice error","item":"Item","itemsToBeBilled":"Items to be billed","launchBillForm":"Launch bill form","lineItems":"Line items","loading":"Loading data...","loadingBillingServices":"Loading billing services...","loadingDescription":"Loading","location":"Select Location","manageBillableServices":"Manage billable services","name":"Name","nextPage":"Next page","noBilltoDisplay":"There are no bills to display for this patient","noMatchingBillsToDisplay":"No matching bills to display","noMatchingItemsToDisplay":"No matching items to display","noMatchingServicesToDisplay":"No matching services to display","noResultsFor":"No results for","noResultsFound":"No results found","noServicesToDisplay":"There are no services to display","ok":"OK","patientBillingAlert":"Patient Billing Alert","patientBills":"Patient bill","patientBillsDescription":"List of patient bills","patientCategory":"Patient category","paymentDetails":"Payment Details","paymentMethod":"Payment method","paymentMethods":"Payment methods","paymentMode":"Payment Mode","paymentModeDeleted":"Payment mode was successfully deleted.","paymentModeHistory":"Payment Mode History","paymentModeName":"Payment Mode Name","paymentModeNamePlaceholder":"e.g., Cash, Credit Card","paymentModeSaved":"Payment mode was successfully saved.","paymentModesConfig":"Payment Modes Config","payments":"Payments","pleaseRequiredFields":"Please fill all required fields","policyNumber":"Policy number","postWaiver":"Post waiver","previousPage":"Previous page","price":"Unit Price","priceIsRequired":"Price is required","prices":"Prices","printBill":"Print bill","printReceipt":"Print receipt","processPayment":"Process Payment","quantity":"Quantity","quantityGreaterThanZero":"Quantity must be greater than zero","quantityRequired":"Quantity is required","referenceNumber":"Reference number","save":"Save","saveAndClose":"Save and close","saving":"Saving","searchConcepts":"Search associated concept","searching":"Searching","searchItems":"Search items and services","searchThisTable":"Search this table","selectBillableService":"Select a billable service...","selectCategory":"Select category","selectPatientCategory":"Select patient category","selectPaymentMethod":"Select payment method","sellingAmount":"Enter selling price","sellingPrice":"Selling Price","service":"Service","serviceMetrics":"Service Metrics","serviceName":"Service Name","serviceNameExceedsLimit":"Service Name exceeds the character limit of {{MAX_NAME_LENGTH}}.","serviceShortName":"Short Name","servicesList":"Services list","serviceType":"Service Type","shortName":"Short Name","shortNameExceedsLimit":"Short Name exceeds the character limit of {{MAX_NAME_LENGTH}}.","status":"Service Status","stockItem":"Stock Item","submitting":"Submitting...","success":"Success","total":"Total","totalAmount":"Total Amount","totalTendered":"Total Tendered","unitPrice":"Unit price","updatedSuccessfully":"Billable service updated successfully","uuid":"UUID","visitTime":"Visit time","waiverForm":"Waiver form"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[4300],{34300:e=>{e.exports=JSON.parse('{"actions":"Actions","addBill":"Add bill item(s)","addBillableServices":"Add Billable Services","addCashPoint":"Add Cash Point","addNewBillableService":"Add new billable service","addNewCashPoint":"Add New Cash Point","addNewPaymentMode":"Add New Payment Mode","addNewService":"Add new service","addPaymentMode":"Add Payment Mode","addPaymentOptions":"Add payment option","amount":"Amount","amountDue":"Amount Due","amountTendered":"Amount Tendered","amountToWaiveAriaLabel":"Enter amount to waive","amountToWaiveHelper":"Specify the amount to be deducted from the bill","amountToWaiveLabel":"Amount to Waive","billableService":"Billable service","billableServices":"Billable Services","billAmount":"Bill amount","billCode":"Bill code","billedItems":"Billed Items","billedTo":"Billed to","billErrorService":"Bill service error","billing":"Billing","billingForm":"Billing form","billingHistory":"Billing History","billingSettings":"Billing Settings","billItem":"Bill item","billItems":"Bill Items","billLineItemEmpty":"This bill has no line items","billList":"Bill list","billMetrics":"Bill metrics","billName":" {{billName}} ","billPayment":"Bill payment","billPaymentError":"Bill payment error","billPaymentRequiredMessage":"The current patient has pending bill. Advice patient to settle bill before receiving services","billProcessingError":"Bill processing error","billProcessingSuccess":"Bill processing has been successful","billServicesManagement":"Bill services management","billsList":"Bill list","billTotal":"Bill total","billWaiver":"Bill waiver","billWaiverError":"Bill waiver failed {{error}}","billWaiverSuccess":"Bill waiver successful","cancel":"Cancel","cashPointConfig":"Cash Point Config","cashPointHistory":"Cash Point History","cashPointLocation":"Cash Point Location","cashPointName":"Cash Point Name","cashPointNamePlaceholder":"e.g., Pharmacy Cash Point","cashPointSaved":"Cash point was successfully saved.","cashPointUuid":"Cash Point UUID","cashPointUuidPlaceholder":"Enter UUID","checkFilters":"Check the filters above","clearSearchInput":"Clear search input","clientBalance":"Client Balance","confirmDeleteMessage":"Are you sure you want to delete this payment mode? Proceed cautiously.","createdSuccessfully":"Billable service created successfully","currentPrice":"Current price","date":"Date","dateOfPayment":"Date of payment","delete":"Delete","deletePaymentMode":"Delete Payment Mode","description":"Description","descriptionPlaceholder":"e.g., Used for all cash transactions","discard":"Discard","discount":"Discount","discountAmount":"Discount Amount","duplicateCashPointError":"A cash point with the same name or UUID already exists. Please use a unique name and UUID.","duplicatePaymentModeError":"A payment mode with the same name already exists. Please create another payment mode","editBillableService":"Edit billable service","editBillableServices":"Edit Billable Services","editBillLineItem":"Edit bill line item?","editThisBillItem":"Edit this bill item","enterAmount":"Enter amount","enterConcept":"Associated concept","enterReferenceNumber":"Enter ref. number","error":"Error","errorDeletingPaymentMode":"An error occurred while deleting the payment mode.","errorFetchingCashPoints":"An error occurred while fetching cash points.","errorFetchingLocations":"An error occurred while fetching locations.","errorFetchingPaymentModes":"An error occurred while fetching payment modes.","errorLoadingBillServices":"Error loading bill services","errorLoadingPaymentModes":"Payment modes error","errorSavingCashPoint":"An error occurred while saving the cash point.","errorSavingPaymentMode":"An error occurred while saving the payment mode.","filterBy":"Filter by","filterTable":"Filter table","grandTotal":"Grand total","home":"Home","identifier":"Identifier","inlineLoading":"Loading bill items...","insuranceScheme":"Insurance scheme","invalidWaiverAmount":"Invalid waiver amount","inventoryItem":"Inventory item","invoice":"Invoice","invoiceDate":"Invoice date","invoiceError":"Invoice error","invoiceNumber":"Invoice #","item":"Item","itemsToBeBilled":"Items to be billed","launchBillForm":"Launch bill form","lineItems":"Line items","loading":"Loading data...","loadingBillingServices":"Loading billing services...","loadingDescription":"Loading","location":"Select Location","manageBillableServices":"Manage billable services","name":"Name","nextPage":"Next page","noBilltoDisplay":"There are no bills to display for this patient","noMatchingBillsToDisplay":"No matching bills to display","noMatchingItemsToDisplay":"No matching items to display","noMatchingServicesToDisplay":"No matching services to display","noResultsFor":"No results for","noResultsFound":"No results found","noServicesToDisplay":"There are no services to display","number":"No","ok":"OK","patientBillingAlert":"Patient Billing Alert","patientBills":"Patient bill","patientBillsDescription":"List of patient bills","patientCategory":"Patient category","paymentDetails":"Payment Details","paymentMethod":"Payment method","paymentMethods":"Payment methods","paymentMode":"Payment Mode","paymentModeDeleted":"Payment mode was successfully deleted.","paymentModeHistory":"Payment Mode History","paymentModeName":"Payment Mode Name","paymentModeNamePlaceholder":"e.g., Cash, Credit Card","paymentModeSaved":"Payment mode was successfully saved.","paymentModesConfig":"Payment Modes Config","payments":"Payments","pleaseRequiredFields":"Please fill all required fields","policyNumber":"Policy number","postWaiver":"Post waiver","previousPage":"Previous page","price":"Unit Price","priceIsRequired":"Price is required","prices":"Prices","printBill":"Print bill","printError":"Error printing invoice","printReceipt":"Print receipt","processPayment":"Process Payment","quantity":"Quantity","quantityGreaterThanZero":"Quantity must be greater than zero","quantityRequired":"Quantity is required","referenceNumber":"Reference number","save":"Save","saveAndClose":"Save and close","saveBill":"Save Bill","saving":"Saving","searchConcepts":"Search associated concept","searching":"Searching","searchItems":"Search items and services","searchThisTable":"Search this table","selectBillableService":"Select a billable service...","selectCategory":"Select category","selectLocation":"Select Location","selectPatientCategory":"Select patient category","selectPaymentMethod":"Select payment method","sellingAmount":"Enter selling price","sellingPrice":"Selling Price","service":"Service","serviceMetrics":"Service Metrics","serviceName":"Service Name","serviceNameExceedsLimit":"Service Name exceeds the character limit of {{MAX_NAME_LENGTH}}.","serviceShortName":"Short Name","servicesList":"Services list","serviceStatus":"Service Status","serviceType":"Service Type","shortName":"Short Name","shortNameExceedsLimit":"Short Name exceeds the character limit of {{MAX_NAME_LENGTH}}.","status":"Service Status","stockItem":"Stock Item","submitting":"Submitting...","success":"Success","total":"Total","totalAmount":"Total Amount","totalTendered":"Total Tendered","unitPrice":"Unit price","updatedSuccessfully":"Billable service updated successfully","uuid":"UUID","visitTime":"Visit time","waiverForm":"Waiver form"}')}}]);
package/dist/4739.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[4739],{12149:(e,n,t)=>{t.d(n,{A:()=>l});var r=t(72996),a=t.n(r),i=t(70159),o=t.n(i)()(a());o.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__billing-form__tablet___depIv{padding:1.5rem 1rem;background-color:#fff}.-esm-billing__billing-form__desktop___XrIGU{padding:0rem}.-esm-billing__billing-form__button___\\+KaHL{height:4rem;display:flex;align-content:flex-start;align-items:baseline;min-width:50%}.-esm-billing__billing-form__button___\\+KaHL .cds--inline-loading{min-height:1rem !important}.-esm-billing__billing-form__button___\\+KaHL .cds--inline-loading__text{font-size:unset !important}.-esm-billing__billing-form__mt2___XSCej{margin-top:2rem}.-esm-billing__billing-form__searchContent___rwtx-{position:absolute;background-color:#fff;min-width:230px;overflow:auto;border:1px solid #ddd;z-index:1;width:92%}.-esm-billing__billing-form__searchItem___gJRX7{border-bottom:.1rem solid;border-bottom-color:silver;cursor:pointer}.-esm-billing__billing-form__invalidInput___-CFhJ{border:2px solid red}.-esm-billing__billing-form__removeButton___JOb\\+t{color:#ee0909;right:20px;cursor:pointer}.-esm-billing__billing-form__form___dOD1L{display:flex;flex-direction:column;justify-content:space-between;height:calc(100vh - 6rem)}.omrs-breakpoint-lt-desktop .-esm-billing__billing-form__form___dOD1L{background-color:#ededed}.omrs-breakpoint-gt-tablet .-esm-billing__billing-form__form___dOD1L{background-color:#fff}.-esm-billing__billing-form__grid___bVIsN{margin:1rem}.-esm-billing__billing-form__row___kfkPE{margin:.5rem 0rem 0rem;display:flex;flex-flow:row wrap;gap:1rem}.-esm-billing__billing-form__spacer___5WyoB{margin-top:1rem}","",{version:3,sources:["webpack://./node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/billing-form/billing-form.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC1DF,4CACE,mBAAA,CACA,qBDFM,CCKR,6CACE,YAAA,CAGF,6CACE,WC2CW,CD1CX,YAAA,CACA,wBAAA,CACA,oBAAA,CACA,aAAA,CAEA,kEACE,0BAAA,CAGF,wEACE,0BAAA,CAIJ,yCACE,eCYW,CDTb,mDACE,iBAAA,CACA,qBAAA,CACA,eAAA,CACA,aAAA,CACA,qBAAA,CACA,SAAA,CACA,SAAA,CAGF,gDACE,yBAAA,CACA,0BAAA,CACA,cAAA,CAGF,kDACE,oBAAA,CAGF,mDACE,aAAA,CACA,UAAA,CACA,cAAA,CAGF,0CACE,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,yBAAA,CAGF,sEACE,wBAAA,CAGF,qEACE,qBDnEM,CCsER,0CACE,WC3CW,CD8Cb,yCACE,sBAAA,CACA,YAAA,CACA,kBAAA,CACA,QClDW,CDqDb,4CACE,eCtDW",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/layout';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.tablet {\n padding: layout.$spacing-06 layout.$spacing-05;\n background-color: $ui-02;\n}\n\n.desktop {\n padding: 0rem;\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 font-size: unset !important;\n }\n}\n\n.mt2 {\n margin-top: layout.$spacing-07;\n}\n\n.searchContent {\n position: absolute;\n background-color: #fff;\n min-width: 230px;\n overflow: auto;\n border: 1px solid #ddd;\n z-index: 1;\n width: 92%;\n}\n\n.searchItem {\n border-bottom: 0.1rem solid;\n border-bottom-color: silver;\n cursor: pointer;\n}\n\n.invalidInput {\n border: 2px solid red;\n}\n\n.removeButton {\n color: #ee0909;\n right: 20px;\n cursor: pointer;\n}\n\n.form {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: calc(100vh - 6rem);\n}\n\n:global(.omrs-breakpoint-lt-desktop) .form {\n background-color: #ededed;\n}\n\n:global(.omrs-breakpoint-gt-tablet) .form {\n background-color: $ui-02;\n}\n\n.grid {\n margin: layout.$spacing-05;\n}\n\n.row {\n margin: layout.$spacing-03 0rem 0rem;\n display: flex;\n flex-flow: row wrap;\n gap: layout.$spacing-05;\n}\n\n.spacer {\n margin-top: 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"],sourceRoot:""}]),o.locals={tablet:"-esm-billing__billing-form__tablet___depIv",desktop:"-esm-billing__billing-form__desktop___XrIGU",button:"-esm-billing__billing-form__button___+KaHL",mt2:"-esm-billing__billing-form__mt2___XSCej",searchContent:"-esm-billing__billing-form__searchContent___rwtx-",searchItem:"-esm-billing__billing-form__searchItem___gJRX7",invalidInput:"-esm-billing__billing-form__invalidInput___-CFhJ",removeButton:"-esm-billing__billing-form__removeButton___JOb+t",form:"-esm-billing__billing-form__form___dOD1L",grid:"-esm-billing__billing-form__grid___bVIsN",row:"-esm-billing__billing-form__row___kfkPE",spacer:"-esm-billing__billing-form__spacer___5WyoB"};const l=o},64739:(e,n,t)=>{t.r(n),t.d(n,{default:()=>G});var r=t(16072),a=t.n(r),i=t(44751),o=t.n(i),l=t(66401),c=t(92881),s=t(13989),u=t(27804),m=t(53941),p=t(14476),d=t(15847),b=t(50930),g=t(14720),f=t(54392),A=t(85072),_=t.n(A),y=t(97825),h=t.n(y),C=t(77659),v=t.n(C),$=t(55056),k=t.n($),E=t(10540),w=t.n(E),I=t(41113),S=t.n(I),x=t(12149),N={};N.styleTagTransform=S(),N.setAttributes=k(),N.insert=v().bind(null,"head"),N.domAPI=h(),N.insertStyleElement=w(),_()(x.A,N);const B=x.A&&x.A.locals?x.A.locals:void 0;function O(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function P(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function T(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){P(e,n,t[n])}))}return e}function D(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 t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function j(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i=[],o=!0,l=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){l=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(l)throw a}}return i}}(e,n)||F(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.")}()}function Q(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,n){if(e){if("string"==typeof e)return O(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?O(e,n):void 0}}const G=function(e){var n=e.patientUuid,t=e.closeWorkspace,i=(0,m.useTranslation)().t,A=(0,d.useConfig)(),_=A.defaultCurrency,y=A.postBilledItems,h="tablet"===(0,d.useLayoutType)(),C=j((0,r.useState)(0),2),v=C[0],$=C[1],k=j((0,r.useState)([]),2),E=k[0],w=k[1],I=j((0,r.useState)([]),2),S=I[0],x=I[1],N=j((0,r.useState)(""),2),O=N[0],P=N[1],F=j((0,r.useState)(!1),2),G=F[0],L=F[1],W=j((0,r.useState)(!1),2),J=W[0],q=W[1],z=j((0,r.useState)([]),2),H=z[0],X=z[1],M=j((0,r.useState)(""),2),U=M[0],K=M[1],R=(0,d.useDebounce)(U),Y=j((0,r.useState)(!0),2),V=Y[0],Z=Y[1],ee=p.z.object({Qnty:p.z.number().min(1,i("quantityGreaterThanZero","Quantity must be at least one for all items."))}),ne=(0,f.u5)(R,O),te=ne.data,re=ne.error,ae=ne.isLoading,ie=(ne.isValidating,(0,r.useMemo)((function(){var e;if(!R||ae||re)return[];var n=te,t=new Set(S.map((function(e){return e.uuid}))),r=null==n||null===(e=n.results)||void 0===e?void 0:e.map((function(e){var n,t;return{uuid:e.uuid||"",Item:e.commonName?e.commonName:e.name,Qnty:1,Price:e.commonName?10:null===(n=e.servicePrices[0])||void 0===n?void 0:n.price,Total:e.commonName?10:null===(t=e.servicePrices[0])||void 0===t?void 0:t.price,category:e.commonName?"StockItem":"Service"}})).filter((function(e){return!t.has(e.uuid)}));return R?o().filter(R,r,{extract:function(e){return"".concat(e.Item)}}).sort((function(e,n){return e.score-n.score})).map((function(e){return e.original})):E}),[R,ae,re,te,S,E]));return(0,r.useEffect)((function(){w(ie)}),[ie]),a().createElement(c.lVW,{className:B.form},a().createElement("div",{className:B.grid},a().createElement(c.BJc,null,a().createElement(c.zWQ,{legendText:i("selectCategory","Select category"),name:"radio-button-group",defaultSelected:"radio-1",className:B.mt2,onChange:function(e){(0,l.A)(e)||Z(!1),P("Stock Item"===e?"Stock Item":"Service")}},a().createElement(c.aaP,{labelText:i("stockItem","Stock Item"),value:"Stock Item",id:"stockItem"}),a().createElement(c.aaP,{labelText:i("service","Service"),value:"Service",id:"service"}))),a().createElement(c.BJc,null,a().createElement(c.vji,{size:"lg",id:"searchField",disabled:V,closeButtonLabelText:i("clearSearchInput","Clear search input"),className:B.mt2,placeholder:i("searchItems","Search items and services"),labelText:i("searchItems","Search items and services"),onKeyUp:function(e){return K(e.target.value)},onClear:function(){w([])}})),a().createElement(c.BJc,null,a().createElement("ul",{className:B.searchContent},(null==E?void 0:E.length)>0&&(null==E?void 0:E.map((function(e){return a().createElement("li",{key:e.uuid,className:B.searchItem},a().createElement(c.$nd,{id:e.uuid,onClick:function(n){return function(e,n,t,r,a){var i,o=S.findIndex((function(e){return e.uuid===n})),l=[];if(o>=0)l=S.map((function(e,n){if(n===o){var t=e.Qnty+1;return D(T({},e),{Qnty:t,Total:t*e.Price})}return e}));else{var c={uuid:n,Item:t,Qnty:1,Price:a,Total:a,category:r};l=Q(S).concat([c]),X(Q(H).concat([c]))}x(l),i=l.reduce((function(e,n){return e+n.Price*n.Qnty}),0),$(i),document.getElementById("searchField").value=""}(0,e.uuid,e.Item,e.category,e.Price)},style:{background:"inherit",color:"black"}},e.Item," Qnty.",e.Qnty," ",_,".",e.Price))}))),0===(null==E?void 0:E.length)&&!ae&&!!R&&a().createElement("p",null,i("noResultsFound","No results found")))),a().createElement(c.BJc,null,a().createElement(c.XIK,{"aria-label":"sample table",className:B.mt2},a().createElement(c.ndF,null,a().createElement(c.Hjg,null,a().createElement(c.A0N,null,"Item"),a().createElement(c.A0N,null,"Quantity"),a().createElement(c.A0N,null,"Price"),a().createElement(c.A0N,null,"Total"),a().createElement(c.A0N,null,"Action"))),a().createElement(c.BFY,null,S&&Array.isArray(S)?S.map((function(e){return a().createElement(c.Hjg,null,a().createElement(c.nA6,null,e.Item),a().createElement(c.nA6,null,a().createElement("input",{type:"number",className:"form-control ".concat(e.Qnty<=0?B.invalidInput:""),id:e.Item,min:0,max:100,value:e.Qnty,onChange:function(n){!function(e,n){var t=parseInt(e.target.value),r=!0;try{ee.parse({Qnty:t})}catch(e){r=!1;var a=JSON.parse(e.message);(0,d.showToast)({title:i("billItems","Save Bill"),kind:"error",description:a[0].message})}var o=S.map((function(e){return e.Item.toLowerCase().includes(n.toLowerCase())?D(T({},e),{Qnty:t,Total:t>0?e.Price*t:0}):e})),l=o.some((function(e){return e.Qnty<=0}));L(!r||l);var c=o.reduce((function(e,n){return e+n.Total}),0);$(c)}(n,e.Item),e.Qnty=n.target.value}})),a().createElement(c.nA6,{id:e.Item+"Price"},e.Price),a().createElement(c.nA6,{id:e.Item+"Total",className:"totalValue"},e.Total),a().createElement(c.nA6,null,a().createElement(s.zH,{onClick:function(){return function(e){var n=S.filter((function(n){return n.uuid!==e}));x(n),X(H.filter((function(n){return n.uuid!==e})));var t=n.reduce((function(e,n){return e+n.Total}),0);$(t)}(e.uuid)},className:B.removeButton})))})):a().createElement("p",null,"Loading..."),a().createElement(c.Hjg,null,a().createElement(c.nA6,{colSpan:3}),a().createElement(c.nA6,{style:{fontWeight:"bold"}},i("grandTotal","Grand total"),":"),a().createElement(c.nA6,{id:"GrandTotalSum"},(0,g.aL)(v,_)))))),a().createElement(c.Te$,{className:h?B.tablet:B.desktop},a().createElement(c.$nd,{className:B.button,kind:"secondary",disabled:J,onClick:t},i("discard","Discard")),a().createElement(c.$nd,{className:B.button,kind:"primary",onClick:function(){q(!0);var e={cashPoint:y.cashPoint,cashier:y.cashier,lineItems:[],payments:[],patient:n,status:"PENDING"};S.forEach((function(n){var t={quantity:parseInt(n.Qnty),price:n.Price,priceName:"Default",priceUuid:y.priceUuid,lineItemOrder:0,paymentStatus:"PENDING"};"StockItem"===n.category?t.item=n.uuid:t.billableService=n.uuid,null==e||e.lineItems.push(t)}));var r="".concat(b.B,"bill");(0,f.Xn)(e).then((function(){q(!1),t(),(0,u.j)((function(e){return"string"==typeof e&&e.startsWith(r)}),void 0,{revalidate:!0}),(0,d.showSnackbar)({title:i("billItems","Save Bill"),subtitle:"Bill processing has been successful",kind:"success",timeoutInMs:3e3})}),(function(e){q(!1),(0,d.showSnackbar)({title:"Bill processing error",kind:"error",subtitle:null==e?void 0:e.message})}))},disabled:J||G,type:"submit"},J?a().createElement(c.OuH,{description:i("saving","Saving")+"..."}):i("saveAndClose","Save and close")))))}}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_billing_app=globalThis.webpackChunk_openmrs_esm_billing_app||[]).push([[4739],{12149:(e,n,t)=>{t.d(n,{A:()=>l});var r=t(72996),a=t.n(r),i=t(70159),o=t.n(i)()(a());o.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__billing-form__tablet___depIv{padding:1.5rem 1rem;background-color:#fff}.-esm-billing__billing-form__desktop___XrIGU{padding:0rem}.-esm-billing__billing-form__button___\\+KaHL{height:4rem;display:flex;align-content:flex-start;align-items:baseline;min-width:50%}.-esm-billing__billing-form__button___\\+KaHL .cds--inline-loading{min-height:1rem !important}.-esm-billing__billing-form__button___\\+KaHL .cds--inline-loading__text{font-size:unset !important}.-esm-billing__billing-form__mt2___XSCej{margin-top:2rem}.-esm-billing__billing-form__searchContent___rwtx-{position:absolute;background-color:#fff;min-width:230px;overflow:auto;border:1px solid #ddd;z-index:1;width:92%}.-esm-billing__billing-form__searchItem___gJRX7{border-bottom:.1rem solid;border-bottom-color:silver;cursor:pointer}.-esm-billing__billing-form__invalidInput___-CFhJ{border:2px solid red}.-esm-billing__billing-form__removeButton___JOb\\+t{color:#ee0909;right:20px;cursor:pointer}.-esm-billing__billing-form__form___dOD1L{display:flex;flex-direction:column;justify-content:space-between;height:calc(100vh - 6rem)}.omrs-breakpoint-lt-desktop .-esm-billing__billing-form__form___dOD1L{background-color:#ededed}.omrs-breakpoint-gt-tablet .-esm-billing__billing-form__form___dOD1L{background-color:#fff}.-esm-billing__billing-form__grid___bVIsN{margin:1rem}.-esm-billing__billing-form__row___kfkPE{margin:.5rem 0rem 0rem;display:flex;flex-flow:row wrap;gap:1rem}.-esm-billing__billing-form__spacer___5WyoB{margin-top:1rem}","",{version:3,sources:["webpack://./node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/billing-form/billing-form.scss","webpack://./node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC1DF,4CACE,mBAAA,CACA,qBDFM,CCKR,6CACE,YAAA,CAGF,6CACE,WC2CW,CD1CX,YAAA,CACA,wBAAA,CACA,oBAAA,CACA,aAAA,CAEA,kEACE,0BAAA,CAGF,wEACE,0BAAA,CAIJ,yCACE,eCYW,CDTb,mDACE,iBAAA,CACA,qBAAA,CACA,eAAA,CACA,aAAA,CACA,qBAAA,CACA,SAAA,CACA,SAAA,CAGF,gDACE,yBAAA,CACA,0BAAA,CACA,cAAA,CAGF,kDACE,oBAAA,CAGF,mDACE,aAAA,CACA,UAAA,CACA,cAAA,CAGF,0CACE,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,yBAAA,CAGF,sEACE,wBAAA,CAGF,qEACE,qBDnEM,CCsER,0CACE,WC3CW,CD8Cb,yCACE,sBAAA,CACA,YAAA,CACA,kBAAA,CACA,QClDW,CDqDb,4CACE,eCtDW",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/layout';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.tablet {\n padding: layout.$spacing-06 layout.$spacing-05;\n background-color: $ui-02;\n}\n\n.desktop {\n padding: 0rem;\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 font-size: unset !important;\n }\n}\n\n.mt2 {\n margin-top: layout.$spacing-07;\n}\n\n.searchContent {\n position: absolute;\n background-color: #fff;\n min-width: 230px;\n overflow: auto;\n border: 1px solid #ddd;\n z-index: 1;\n width: 92%;\n}\n\n.searchItem {\n border-bottom: 0.1rem solid;\n border-bottom-color: silver;\n cursor: pointer;\n}\n\n.invalidInput {\n border: 2px solid red;\n}\n\n.removeButton {\n color: #ee0909;\n right: 20px;\n cursor: pointer;\n}\n\n.form {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n height: calc(100vh - 6rem);\n}\n\n:global(.omrs-breakpoint-lt-desktop) .form {\n background-color: #ededed;\n}\n\n:global(.omrs-breakpoint-gt-tablet) .form {\n background-color: $ui-02;\n}\n\n.grid {\n margin: layout.$spacing-05;\n}\n\n.row {\n margin: layout.$spacing-03 0rem 0rem;\n display: flex;\n flex-flow: row wrap;\n gap: layout.$spacing-05;\n}\n\n.spacer {\n margin-top: 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"],sourceRoot:""}]),o.locals={tablet:"-esm-billing__billing-form__tablet___depIv",desktop:"-esm-billing__billing-form__desktop___XrIGU",button:"-esm-billing__billing-form__button___+KaHL",mt2:"-esm-billing__billing-form__mt2___XSCej",searchContent:"-esm-billing__billing-form__searchContent___rwtx-",searchItem:"-esm-billing__billing-form__searchItem___gJRX7",invalidInput:"-esm-billing__billing-form__invalidInput___-CFhJ",removeButton:"-esm-billing__billing-form__removeButton___JOb+t",form:"-esm-billing__billing-form__form___dOD1L",grid:"-esm-billing__billing-form__grid___bVIsN",row:"-esm-billing__billing-form__row___kfkPE",spacer:"-esm-billing__billing-form__spacer___5WyoB"};const l=o},64739:(e,n,t)=>{t.r(n),t.d(n,{default:()=>G});var r=t(16072),a=t.n(r),i=t(44751),o=t.n(i),l=t(66401),c=t(92881),s=t(13989),u=t(27804),m=t(53941),p=t(14476),d=t(15847),b=t(50930),g=t(14720),f=t(54392),A=t(85072),_=t.n(A),y=t(97825),h=t.n(y),C=t(77659),v=t.n(C),$=t(55056),k=t.n($),E=t(10540),w=t.n(E),I=t(41113),S=t.n(I),x=t(12149),B={};B.styleTagTransform=S(),B.setAttributes=k(),B.insert=v().bind(null,"head"),B.domAPI=h(),B.insertStyleElement=w(),_()(x.A,B);const N=x.A&&x.A.locals?x.A.locals:void 0;function O(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function P(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function T(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){P(e,n,t[n])}))}return e}function D(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 t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function j(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i=[],o=!0,l=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){l=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(l)throw a}}return i}}(e,n)||F(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.")}()}function Q(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(e,n){if(e){if("string"==typeof e)return O(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?O(e,n):void 0}}const G=function(e){var n=e.patientUuid,t=e.closeWorkspace,i=(0,m.useTranslation)().t,A=(0,d.useConfig)(),_=A.defaultCurrency,y=A.postBilledItems,h="tablet"===(0,d.useLayoutType)(),C=j((0,r.useState)(0),2),v=C[0],$=C[1],k=j((0,r.useState)([]),2),E=k[0],w=k[1],I=j((0,r.useState)([]),2),S=I[0],x=I[1],B=j((0,r.useState)(""),2),O=B[0],P=B[1],F=j((0,r.useState)(!1),2),G=F[0],L=F[1],W=j((0,r.useState)(!1),2),J=W[0],q=W[1],z=j((0,r.useState)([]),2),H=z[0],X=z[1],M=j((0,r.useState)(""),2),U=M[0],K=M[1],R=(0,d.useDebounce)(U),Y=j((0,r.useState)(!0),2),V=Y[0],Z=Y[1],ee=p.z.object({Qnty:p.z.number().min(1,i("quantityGreaterThanZero","Quantity must be at least one for all items."))}),ne=(0,f.u5)(R,O),te=ne.data,re=ne.error,ae=ne.isLoading,ie=(ne.isValidating,(0,r.useMemo)((function(){var e;if(!R||ae||re)return[];var n=te,t=new Set(S.map((function(e){return e.uuid}))),r=null==n||null===(e=n.results)||void 0===e?void 0:e.map((function(e){var n,t;return{uuid:e.uuid||"",Item:e.commonName?e.commonName:e.name,Qnty:1,Price:e.commonName?10:null===(n=e.servicePrices[0])||void 0===n?void 0:n.price,Total:e.commonName?10:null===(t=e.servicePrices[0])||void 0===t?void 0:t.price,category:e.commonName?"StockItem":"Service"}})).filter((function(e){return!t.has(e.uuid)}));return R?o().filter(R,r,{extract:function(e){return"".concat(e.Item)}}).sort((function(e,n){return e.score-n.score})).map((function(e){return e.original})):E}),[R,ae,re,te,S,E]));return(0,r.useEffect)((function(){w(ie)}),[ie]),a().createElement(c.lVW,{className:N.form},a().createElement("div",{className:N.grid},a().createElement(c.BJc,null,a().createElement(c.zWQ,{legendText:i("selectCategory","Select category"),name:"radio-button-group",defaultSelected:"radio-1",className:N.mt2,onChange:function(e){(0,l.A)(e)||Z(!1),P("Stock Item"===e?"Stock Item":"Service")}},a().createElement(c.aaP,{labelText:i("stockItem","Stock Item"),value:"Stock Item",id:"stockItem"}),a().createElement(c.aaP,{labelText:i("service","Service"),value:"Service",id:"service"}))),a().createElement(c.BJc,null,a().createElement(c.vji,{size:"lg",id:"searchField",disabled:V,closeButtonLabelText:i("clearSearchInput","Clear search input"),className:N.mt2,placeholder:i("searchItems","Search items and services"),labelText:i("searchItems","Search items and services"),onKeyUp:function(e){return K(e.target.value)},onClear:function(){w([])}})),a().createElement(c.BJc,null,a().createElement("ul",{className:N.searchContent},(null==E?void 0:E.length)>0&&(null==E?void 0:E.map((function(e){return a().createElement("li",{key:e.uuid,className:N.searchItem},a().createElement(c.$nd,{id:e.uuid,onClick:function(n){return function(e,n,t,r,a){var i,o=S.findIndex((function(e){return e.uuid===n})),l=[];if(o>=0)l=S.map((function(e,n){if(n===o){var t=e.Qnty+1;return D(T({},e),{Qnty:t,Total:t*e.Price})}return e}));else{var c={uuid:n,Item:t,Qnty:1,Price:a,Total:a,category:r};l=Q(S).concat([c]),X(Q(H).concat([c]))}x(l),i=l.reduce((function(e,n){return e+n.Price*n.Qnty}),0),$(i),document.getElementById("searchField").value=""}(0,e.uuid,e.Item,e.category,e.Price)},style:{background:"inherit",color:"black"}},e.Item," Qnty.",e.Qnty," ",_,".",e.Price))}))),0===(null==E?void 0:E.length)&&!ae&&!!R&&a().createElement("p",null,i("noResultsFound","No results found")))),a().createElement(c.BJc,null,a().createElement(c.XIK,{"aria-label":"sample table",className:N.mt2},a().createElement(c.ndF,null,a().createElement(c.Hjg,null,a().createElement(c.A0N,null,"Item"),a().createElement(c.A0N,null,"Quantity"),a().createElement(c.A0N,null,"Price"),a().createElement(c.A0N,null,"Total"),a().createElement(c.A0N,null,"Action"))),a().createElement(c.BFY,null,S&&Array.isArray(S)?S.map((function(e){return a().createElement(c.Hjg,null,a().createElement(c.nA6,null,e.Item),a().createElement(c.nA6,null,a().createElement("input",{type:"number",className:"form-control ".concat(e.Qnty<=0?N.invalidInput:""),id:e.Item,min:0,max:100,value:e.Qnty,onChange:function(n){!function(e,n){var t=parseInt(e.target.value),r=!0;try{ee.parse({Qnty:t})}catch(e){r=!1;var a=JSON.parse(e.message);(0,d.showToast)({title:i("saveBill","Save Bill"),kind:"error",description:a[0].message})}var o=S.map((function(e){return e.Item.toLowerCase().includes(n.toLowerCase())?D(T({},e),{Qnty:t,Total:t>0?e.Price*t:0}):e})),l=o.some((function(e){return e.Qnty<=0}));L(!r||l);var c=o.reduce((function(e,n){return e+n.Total}),0);$(c)}(n,e.Item),e.Qnty=n.target.value}})),a().createElement(c.nA6,{id:e.Item+"Price"},e.Price),a().createElement(c.nA6,{id:e.Item+"Total",className:"totalValue"},e.Total),a().createElement(c.nA6,null,a().createElement(s.zH,{onClick:function(){return function(e){var n=S.filter((function(n){return n.uuid!==e}));x(n),X(H.filter((function(n){return n.uuid!==e})));var t=n.reduce((function(e,n){return e+n.Total}),0);$(t)}(e.uuid)},className:N.removeButton})))})):a().createElement("p",null,"Loading..."),a().createElement(c.Hjg,null,a().createElement(c.nA6,{colSpan:3}),a().createElement(c.nA6,{style:{fontWeight:"bold"}},i("grandTotal","Grand total"),":"),a().createElement(c.nA6,{id:"GrandTotalSum"},(0,g.aL)(v,_)))))),a().createElement(c.Te$,{className:h?N.tablet:N.desktop},a().createElement(c.$nd,{className:N.button,kind:"secondary",disabled:J,onClick:t},i("discard","Discard")),a().createElement(c.$nd,{className:N.button,kind:"primary",onClick:function(){q(!0);var e={cashPoint:y.cashPoint,cashier:y.cashier,lineItems:[],payments:[],patient:n,status:"PENDING"};S.forEach((function(n){var t={quantity:parseInt(n.Qnty),price:n.Price,priceName:"Default",priceUuid:y.priceUuid,lineItemOrder:0,paymentStatus:"PENDING"};"StockItem"===n.category?t.item=n.uuid:t.billableService=n.uuid,null==e||e.lineItems.push(t)}));var r="".concat(b.B,"bill");(0,f.Xn)(e).then((function(){q(!1),t(),(0,u.j)((function(e){return"string"==typeof e&&e.startsWith(r)}),void 0,{revalidate:!0}),(0,d.showSnackbar)({title:i("saveBill","Save Bill"),subtitle:i("billProcessingSuccess","Bill processing has been successful"),kind:"success",timeoutInMs:3e3})}),(function(e){q(!1),(0,d.showSnackbar)({title:i("billProcessingError","Bill processing error"),kind:"error",subtitle:null==e?void 0:e.message})}))},disabled:J||G,type:"submit"},J?a().createElement(c.OuH,{description:i("saving","Saving")+"..."}):i("saveAndClose","Save and close")))))}}}]);
package/dist/4739.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"4739.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.scss","webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.scss?df6c","webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.component.tsx"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","patientUuid","closeWorkspace","useTranslation","t","useConfig","defaultCurrency","postBilledItems","isTablet","useLayoutType","useState","grandTotal","setGrandTotal","searchOptions","setSearchOptions","billItems","setBillItems","category","setCategory","saveDisabled","setSaveDisabled","isSubmitting","setIsSubmitting","addedItems","setAddedItems","searchTerm","setSearchTerm","debouncedSearchTerm","useDebounce","disableSearch","setDisableSearch","billItemSchema","z","object","Qnty","number","min","useFetchSearchResults","data","error","isLoading","filterItems","isValidating","useMemo","res","existingItemUuids","Set","map","item","uuid","preprocessedData","results","Item","commonName","name","Price","servicePrices","price","Total","filter","has","fuzzy","extract","o","sort","r1","r2","score","result","original","useEffect","Form","className","styles","form","div","grid","Stack","RadioButtonGroup","legendText","defaultSelected","mt2","onChange","choiceSelected","isEmpty","RadioButton","labelText","value","Search","size","disabled","closeButtonLabelText","placeholder","onKeyUp","e","target","onClear","ul","searchContent","length","row","li","key","searchItem","Button","onClick","event","itemid","itemname","itemcategory","itemPrice","sum","existingItemIndex","findIndex","updatedItems","index","updatedQuantity","newItem","reduce","acc","document","getElementById","addItemToBill","style","background","color","p","Table","aria-label","TableHead","TableRow","TableHeader","TableBody","Array","isArray","TableCell","input","type","invalidInput","max","itemName","quantity","parseInt","isValid","parse","parsedErrorMessage","JSON","message","showToast","title","kind","description","toLowerCase","includes","anyInvalidQuantity","some","updatedGrandTotal","calculateTotal","TrashCan","removeItemFromBill","removeButton","colSpan","fontWeight","convertToCurrency","ButtonSet","tablet","desktop","button","bill","cashPoint","cashier","lineItems","payments","patient","status","forEach","lineItem","priceName","priceUuid","lineItemOrder","paymentStatus","billableService","url","apiBasePath","processBillItems","then","mutate","startsWith","revalidate","showSnackbar","subtitle","timeoutInMs","InlineLoading"],"sourceRoot":""}
1
+ {"version":3,"file":"4739.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.scss","webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.scss?df6c","webpack://@openmrs/esm-billing-app/./src/billing-form/billing-form.component.tsx"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","patientUuid","closeWorkspace","useTranslation","t","useConfig","defaultCurrency","postBilledItems","isTablet","useLayoutType","useState","grandTotal","setGrandTotal","searchOptions","setSearchOptions","billItems","setBillItems","category","setCategory","saveDisabled","setSaveDisabled","isSubmitting","setIsSubmitting","addedItems","setAddedItems","searchTerm","setSearchTerm","debouncedSearchTerm","useDebounce","disableSearch","setDisableSearch","billItemSchema","z","object","Qnty","number","min","useFetchSearchResults","data","error","isLoading","filterItems","isValidating","useMemo","res","existingItemUuids","Set","map","item","uuid","preprocessedData","results","Item","commonName","name","Price","servicePrices","price","Total","filter","has","fuzzy","extract","o","sort","r1","r2","score","result","original","useEffect","Form","className","styles","form","div","grid","Stack","RadioButtonGroup","legendText","defaultSelected","mt2","onChange","choiceSelected","isEmpty","RadioButton","labelText","value","Search","size","disabled","closeButtonLabelText","placeholder","onKeyUp","e","target","onClear","ul","searchContent","length","row","li","key","searchItem","Button","onClick","event","itemid","itemname","itemcategory","itemPrice","sum","existingItemIndex","findIndex","updatedItems","index","updatedQuantity","newItem","reduce","acc","document","getElementById","addItemToBill","style","background","color","p","Table","aria-label","TableHead","TableRow","TableHeader","TableBody","Array","isArray","TableCell","input","type","invalidInput","max","itemName","quantity","parseInt","isValid","parse","parsedErrorMessage","JSON","message","showToast","title","kind","description","toLowerCase","includes","anyInvalidQuantity","some","updatedGrandTotal","calculateTotal","TrashCan","removeItemFromBill","removeButton","colSpan","fontWeight","convertToCurrency","ButtonSet","tablet","desktop","button","bill","cashPoint","cashier","lineItems","payments","patient","status","forEach","lineItem","priceName","priceUuid","lineItemOrder","paymentStatus","billableService","url","apiBasePath","processBillItems","then","mutate","startsWith","revalidate","showSnackbar","subtitle","timeoutInMs","InlineLoading"],"sourceRoot":""}