@kenyaemr/esm-version-app 5.4.5-pre.720 → 5.4.5-pre.727

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.
@@ -1,7 +1,7 @@
1
- Wrote version info v5.4.3-368-g50808047-dirty to release-version.js
1
+ Wrote version info v5.4.3-370-g6d7bafc9-dirty to release-version.js
2
2
  WARNING in ⚠ asset size limit: The following asset(s) exceed the recommended size limit (244.141 KiB). This can impact web performance.
3
3
  │ Assets:
4
4
  │ 356.js (350.361 KiB)
5
5
  
6
6
 
7
- Rspack compiled with 1 warning in 15.95 s
7
+ Rspack compiled with 1 warning in 31.16 s
package/dist/3754.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["3754"],{4050(e,n,a){a.d(n,{A:()=>r});var t=a(77827),l=a.n(t),i=a(41798),o=a.n(i)()(l());o.push([e.id,".-esm-version__about__main___ygFSI{display:flex;justify-items:center;flex-direction:column}.-esm-version__about__aboutPage___sinxi{display:flex;justify-content:center;align-items:center;width:100%}.-esm-version__about__container___Q7mqH{display:flex;justify-content:center;margin:1rem;flex-direction:column;align-items:center;border:.5px solid #c6c6c6;width:60rem;padding:1rem}.-esm-version__about__title___LYoZH{display:flex;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:.5px solid #c6c6c6;width:100%;justify-content:center;flex-direction:column;align-items:center}.-esm-version__about__title___LYoZH h3{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);text-align:center;margin:0 0 .25rem}.-esm-version__about__title___LYoZH img{margin-bottom:.5rem;object-fit:contain}.-esm-version__about__tagline___6D1Im{font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px);text-align:center;color:#525252;margin:0;max-width:28rem}.-esm-version__about__contacts___ipiYV{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.5rem 0;margin-bottom:.5rem;border-bottom:.5px solid #c6c6c6;align-items:center}.-esm-version__about__contacts___ipiYV a{color:#0f62fe;text-decoration:none}.-esm-version__about__contacts___ipiYV a:hover{text-decoration:underline}.-esm-version__about__contactItem___BgUeV{display:flex;align-items:center;gap:.25rem;font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px)}.-esm-version__about__contactItem___BgUeV svg{flex-shrink:0;color:#525252}.-esm-version__about__aboutBody___Pv2r4{display:grid;grid-template-columns:1fr 1fr;column-gap:.25rem}.-esm-version__about__aboutBody___Pv2r4 p{font-size:var(--cds-label-01-font-size, 0.75rem);font-weight:var(--cds-label-01-font-weight, 400);line-height:var(--cds-label-01-line-height, 1.33333);letter-spacing:var(--cds-label-01-letter-spacing, 0.32px);margin-bottom:.25rem}.-esm-version__about__frontendModules___aDgUj{width:100%;padding:1rem}","",{version:3,sources:["webpack://./src/about/about.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:"AAKA,mCACE,YAAA,CACA,oBAAA,CACA,qBAAA,CAGF,wCACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CAGF,wCACE,YAAA,CACA,sBAAA,CACA,WAAA,CACA,qBAAA,CACA,kBAAA,CACA,yBAAA,CACA,WAAA,CACA,YCKW,CDFb,oCACE,YAAA,CACA,oBCVW,CDWX,mBCXW,CDYX,gCAAA,CACA,UAAA,CACA,sBAAA,CACA,qBAAA,CACA,kBAAA,CAEA,uCE2zBE,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CFzzBA,iBAAA,CACA,iBAAA,CAGF,wCACE,mBCzBS,CD0BT,kBAAA,CAIJ,sCE+yBI,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CF7yBF,iBAAA,CACA,aGNQ,CHOR,QAAA,CACA,eAAA,CAGF,uCACE,YAAA,CACA,qBAAA,CACA,UC9CW,CD+CX,UAAA,CACA,eAAA,CACA,mBC5CW,CD6CX,gCAAA,CACA,kBAAA,CAEA,yCACE,aGrDM,CHsDN,oBAAA,CAEA,+CACE,yBAAA,CAKN,0CACE,YAAA,CACA,kBAAA,CACA,UClEW,CCk1BT,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CF7wBF,8CACE,aAAA,CACA,aGvCM,CH2CV,wCACE,YAAA,CACA,6BAAA,CACA,iBAAA,CAEA,0CEkwBE,gDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CFhwBA,oBAAA,CAIJ,8CACE,UAAA,CACA,YCzEW",sourcesContent:["@use '@carbon/styles/scss/spacing';\n@use '@carbon/styles/scss/type';\n@use '@carbon/styles/scss/colors';\n@use '@carbon/layout';\n\n.main {\n display: flex;\n justify-items: center;\n flex-direction: column;\n}\n\n.aboutPage {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.container {\n display: flex;\n justify-content: center;\n margin: 1rem;\n flex-direction: column;\n align-items: center;\n border: 0.5px solid colors.$gray-30;\n width: 60rem;\n padding: layout.$spacing-05;\n}\n\n.title {\n display: flex;\n padding-bottom: layout.$spacing-03;\n margin-bottom: layout.$spacing-03;\n border-bottom: 0.5px solid colors.$gray-30;\n width: 100%;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n\n h3 {\n @include type.type-style('heading-compact-01');\n text-align: center;\n margin: 0 0 layout.$spacing-02;\n }\n\n img {\n margin-bottom: layout.$spacing-03;\n object-fit: contain;\n }\n}\n\n.tagline {\n @include type.type-style('body-compact-01');\n text-align: center;\n color: colors.$gray-70;\n margin: 0;\n max-width: 28rem;\n}\n\n.contacts {\n display: flex;\n flex-direction: column;\n gap: layout.$spacing-02;\n width: 100%;\n padding: layout.$spacing-03 0;\n margin-bottom: layout.$spacing-03;\n border-bottom: 0.5px solid colors.$gray-30;\n align-items: center;\n\n a {\n color: colors.$blue-60;\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n.contactItem {\n display: flex;\n align-items: center;\n gap: layout.$spacing-02;\n @include type.type-style('body-compact-01');\n\n svg {\n flex-shrink: 0;\n color: colors.$gray-70;\n }\n}\n\n.aboutBody {\n display: grid;\n grid-template-columns: 1fr 1fr;\n column-gap: 0.25rem;\n\n & p {\n @include type.type-style('label-01');\n margin-bottom: 0.25rem;\n }\n}\n\n.frontendModules {\n width: 100%;\n padding: 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, 2026\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={main:"-esm-version__about__main___ygFSI",aboutPage:"-esm-version__about__aboutPage___sinxi",container:"-esm-version__about__container___Q7mqH",title:"-esm-version__about__title___LYoZH",tagline:"-esm-version__about__tagline___6D1Im",contacts:"-esm-version__about__contacts___ipiYV",contactItem:"-esm-version__about__contactItem___BgUeV",aboutBody:"-esm-version__about__aboutBody___Pv2r4",frontendModules:"-esm-version__about__frontendModules___aDgUj"};let r=o},28084(e,n,a){a.r(n),a.d(n,{VERSION:()=>t});var t={dirty:!0,raw:"v5.4.3-368-g50808047-dirty",hash:"g50808047",distance:368,tag:"v5.4.3",semver:{options:{loose:!1,includePrerelease:!1},loose:!1,raw:"v5.4.3",major:5,minor:4,patch:3,prerelease:[],build:[],version:"5.4.3"},suffix:"368-g50808047-dirty",semverString:"5.4.3+368.g50808047",version:"5.4.5-pre.720",buildDate:"2026-07-25T00:49:16.611Z"}},35233(e,n,a){a.r(n),a.d(n,{default:()=>F,spaRoot:()=>q});var t=a(35400),l=a.n(t),i=a(75721),o=a(58088),r=a(1487),s=a(70438),c=a(95795),f=a(68622),d=a(8680),p=a(54240),u=a(43760),g=a(72591),y=a.n(g),h=a(1740),b=a.n(h),m=a(88128),$=a.n(m),v=a(30855),A=a.n(v),w=a(93051),_=a.n(w),C=a(73656),x=a.n(C),k=a(4050),z={};z.styleTagTransform=x(),z.setAttributes=A(),z.insert=$().bind(null,"head"),z.domAPI=b(),z.insertStyleElement=_(),y()(k.A,z);let E=k.A&&k.A.locals?k.A.locals:void 0;var M=a(29876);let B=function(){var e=(0,o.useTranslation)().t,n=(0,t.useMemo)(function(){var e;return(null!=(e=window.installedModules)?e:[]).filter(function(e){return!!e&&!!e[1]}).map(function(e){return{version:e[1].version,name:e[0].substring(e[0].indexOf("/")+1)}})},[]),a=[{key:"name",header:e("moduleName","Module name")},{key:"version",header:e("version","Version")}],i=(0,t.useMemo)(function(){return n.map(function(n,a){var t;return{id:"module-".concat(a),name:n.name,version:null!=(t=n.version)?t:e("noVersionFound","No version found")}})},[n,e]);return l().createElement(s.DataTable,{rows:i,headers:a,size:"sm",useZebraStyles:!0,"aria-label":e("frontendModules","Frontend modules")},function(e){var n=e.rows,a=e.headers,t=e.getTableProps,i=e.getHeaderProps,o=e.getRowProps;return l().createElement(s.Table,t(),l().createElement(s.TableHead,null,l().createElement(s.TableRow,null,a.map(function(e){return l().createElement(s.TableHeader,i({header:e}),e.header)}))),l().createElement(s.TableBody,null,n.map(function(e){return l().createElement(s.TableRow,o({row:e}),e.cells.map(function(e){return l().createElement(s.TableCell,{key:e.id},e.value)}))})))})};var N=a(28084),D=function(e){var n=e.facilityName,a=e.taglineText,t=e.logoSrc,i=e.titleClassName,o=e.taglineClassName,r=e.logoAlt;return l().createElement("div",{className:i},l().createElement("img",{src:t,alt:r,width:"300",height:"100"}),l().createElement("div",null,l().createElement("h3",null,n),a?l().createElement("p",{className:o},a):null))},T=function(e){var n=e.contacts,a=e.contactsClassName,t=e.contactItemClassName,i=e.t;return n&&(n.tel||n.email||n.emergency||n.address||n.website)?l().createElement("div",{className:a},n.tel&&l().createElement("div",{className:t},l().createElement(c.bc,{size:16}),l().createElement("span",null,n.tel)),n.email&&l().createElement("div",{className:t},l().createElement(f.Ps,{size:16}),l().createElement("a",{href:"mailto:".concat(n.email)},n.email)),n.emergency&&l().createElement("div",{className:t},l().createElement(d.Cp,{size:16}),l().createElement("span",null,i("emergency","Emergency"),": ",n.emergency)),n.address&&l().createElement("div",{className:t},l().createElement(p.aZ,{size:16}),l().createElement("span",null,n.address)),n.website&&l().createElement("div",{className:t},l().createElement(u.qz,{size:16}),l().createElement("a",{href:n.website.startsWith("http")?n.website:"https://".concat(n.website),target:"_blank",rel:"noopener noreferrer"},n.website))):null},I=function(e){var n=e.kenyaEmrVersion,a=e.spaVersion,t=e.buildDate,i=e.aboutBodyClassName,o=e.t;return l().createElement("div",{className:i},l().createElement("p",null,o("mainModuleVersion","Main Module Version")),l().createElement("p",null,"v".concat(null!=n?n:"—")),l().createElement("p",null,o("spaVersion","SPA Version")),l().createElement("p",null,"v".concat(a)),l().createElement("p",null,o("buildDateTime","Build date time")),l().createElement("p",null,(0,r.formatDatetime)(t,{mode:"standard"})))};let S=function(){var e,n,a,i,c,f,d,p,u,g,y,h,b,m=(0,o.useTranslation)().t,$=(i=(a=(0,M.A)("ws/rest/v1/module?v=custom:(uuid,name,version)",r.openmrsFetch)).data,c=a.isLoading,{modules:null!=(e=null==i||null==(n=i.data)?void 0:n.results)?e:[],isLoading:c}).modules,v=(0,r.useConfig)().defaultLogoPath,A=(g=(u=(0,M.A)("/ws/rest/v1/systemsetting?q=".concat("kenyaemr.cashier.receipt.facilityInformation","&v=full"),r.openmrsFetch)).data,y=u.isLoading,{data:null!=(f=null==g||null==(p=g.data)||null==(d=p.results)?void 0:d[0])?f:[],isLoading:y}),w=A.data,_=A.isLoading,C=$.find(function(e){return"kenyaemr"===e.uuid}),x=E.title,k=E.container,z=E.aboutBody,S=E.aboutPage,q=E.tagline,F=E.contacts,V=E.contactItem,Y=N.VERSION,L=(0,t.useMemo)(function(){var e=null==w?void 0:w.value;if(null==e)return null;if((void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e))return e;if("string"==typeof e)try{return JSON.parse(e)}catch(e){}return null},[w]);if(_)return l().createElement(s.InlineLoading,{description:m("loadingFacilityInformation","Loading facility information...")});var P=null==L?void 0:L.contacts,j=null!=(h=null==L?void 0:L.facilityName)?h:"Ministry of Health",W=null==L?void 0:L.tagline,H=null!=(b=null==L?void 0:L.facilityName)?b:m("facilityLogo","Facility logo"),O=Y.version,U=new Date(Y.buildDate),R=null==C?void 0:C.version;return l().createElement("div",{className:E.main},l().createElement("div",{className:S},l().createElement("div",{className:k},l().createElement(D,{facilityName:j,taglineText:W,logoSrc:v,titleClassName:x,taglineClassName:q,logoAlt:H}),l().createElement(T,{contacts:P,contactsClassName:F,contactItemClassName:V,t:m}),l().createElement(I,{kenyaEmrVersion:R,spaVersion:O,buildDate:U,aboutBodyClassName:z,t:m}))),l().createElement("div",{className:E.frontendModules},l().createElement(B,null)))};var q=window.getOpenmrsSpaBase();let F=function(){return l().createElement(i.BrowserRouter,{basename:q},l().createElement(S,null))}}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["3754"],{4050(e,n,a){a.d(n,{A:()=>r});var t=a(77827),l=a.n(t),i=a(41798),o=a.n(i)()(l());o.push([e.id,".-esm-version__about__main___ygFSI{display:flex;justify-items:center;flex-direction:column}.-esm-version__about__aboutPage___sinxi{display:flex;justify-content:center;align-items:center;width:100%}.-esm-version__about__container___Q7mqH{display:flex;justify-content:center;margin:1rem;flex-direction:column;align-items:center;border:.5px solid #c6c6c6;width:60rem;padding:1rem}.-esm-version__about__title___LYoZH{display:flex;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:.5px solid #c6c6c6;width:100%;justify-content:center;flex-direction:column;align-items:center}.-esm-version__about__title___LYoZH h3{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);text-align:center;margin:0 0 .25rem}.-esm-version__about__title___LYoZH img{margin-bottom:.5rem;object-fit:contain}.-esm-version__about__tagline___6D1Im{font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px);text-align:center;color:#525252;margin:0;max-width:28rem}.-esm-version__about__contacts___ipiYV{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.5rem 0;margin-bottom:.5rem;border-bottom:.5px solid #c6c6c6;align-items:center}.-esm-version__about__contacts___ipiYV a{color:#0f62fe;text-decoration:none}.-esm-version__about__contacts___ipiYV a:hover{text-decoration:underline}.-esm-version__about__contactItem___BgUeV{display:flex;align-items:center;gap:.25rem;font-size:var(--cds-body-compact-01-font-size, 0.875rem);font-weight:var(--cds-body-compact-01-font-weight, 400);line-height:var(--cds-body-compact-01-line-height, 1.28572);letter-spacing:var(--cds-body-compact-01-letter-spacing, 0.16px)}.-esm-version__about__contactItem___BgUeV svg{flex-shrink:0;color:#525252}.-esm-version__about__aboutBody___Pv2r4{display:grid;grid-template-columns:1fr 1fr;column-gap:.25rem}.-esm-version__about__aboutBody___Pv2r4 p{font-size:var(--cds-label-01-font-size, 0.75rem);font-weight:var(--cds-label-01-font-weight, 400);line-height:var(--cds-label-01-line-height, 1.33333);letter-spacing:var(--cds-label-01-letter-spacing, 0.32px);margin-bottom:.25rem}.-esm-version__about__frontendModules___aDgUj{width:100%;padding:1rem}","",{version:3,sources:["webpack://./src/about/about.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:"AAKA,mCACE,YAAA,CACA,oBAAA,CACA,qBAAA,CAGF,wCACE,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CAGF,wCACE,YAAA,CACA,sBAAA,CACA,WAAA,CACA,qBAAA,CACA,kBAAA,CACA,yBAAA,CACA,WAAA,CACA,YCKW,CDFb,oCACE,YAAA,CACA,oBCVW,CDWX,mBCXW,CDYX,gCAAA,CACA,UAAA,CACA,sBAAA,CACA,qBAAA,CACA,kBAAA,CAEA,uCE2zBE,2DAAA,CAAA,0DAAA,CAAA,8DAAA,CAAA,mEAAA,CFzzBA,iBAAA,CACA,iBAAA,CAGF,wCACE,mBCzBS,CD0BT,kBAAA,CAIJ,sCE+yBI,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CF7yBF,iBAAA,CACA,aGNQ,CHOR,QAAA,CACA,eAAA,CAGF,uCACE,YAAA,CACA,qBAAA,CACA,UC9CW,CD+CX,UAAA,CACA,eAAA,CACA,mBC5CW,CD6CX,gCAAA,CACA,kBAAA,CAEA,yCACE,aGrDM,CHsDN,oBAAA,CAEA,+CACE,yBAAA,CAKN,0CACE,YAAA,CACA,kBAAA,CACA,UClEW,CCk1BT,wDAAA,CAAA,uDAAA,CAAA,2DAAA,CAAA,gEAAA,CF7wBF,8CACE,aAAA,CACA,aGvCM,CH2CV,wCACE,YAAA,CACA,6BAAA,CACA,iBAAA,CAEA,0CEkwBE,gDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CFhwBA,oBAAA,CAIJ,8CACE,UAAA,CACA,YCzEW",sourcesContent:["@use '@carbon/styles/scss/spacing';\n@use '@carbon/styles/scss/type';\n@use '@carbon/styles/scss/colors';\n@use '@carbon/layout';\n\n.main {\n display: flex;\n justify-items: center;\n flex-direction: column;\n}\n\n.aboutPage {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n}\n\n.container {\n display: flex;\n justify-content: center;\n margin: 1rem;\n flex-direction: column;\n align-items: center;\n border: 0.5px solid colors.$gray-30;\n width: 60rem;\n padding: layout.$spacing-05;\n}\n\n.title {\n display: flex;\n padding-bottom: layout.$spacing-03;\n margin-bottom: layout.$spacing-03;\n border-bottom: 0.5px solid colors.$gray-30;\n width: 100%;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n\n h3 {\n @include type.type-style('heading-compact-01');\n text-align: center;\n margin: 0 0 layout.$spacing-02;\n }\n\n img {\n margin-bottom: layout.$spacing-03;\n object-fit: contain;\n }\n}\n\n.tagline {\n @include type.type-style('body-compact-01');\n text-align: center;\n color: colors.$gray-70;\n margin: 0;\n max-width: 28rem;\n}\n\n.contacts {\n display: flex;\n flex-direction: column;\n gap: layout.$spacing-02;\n width: 100%;\n padding: layout.$spacing-03 0;\n margin-bottom: layout.$spacing-03;\n border-bottom: 0.5px solid colors.$gray-30;\n align-items: center;\n\n a {\n color: colors.$blue-60;\n text-decoration: none;\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n\n.contactItem {\n display: flex;\n align-items: center;\n gap: layout.$spacing-02;\n @include type.type-style('body-compact-01');\n\n svg {\n flex-shrink: 0;\n color: colors.$gray-70;\n }\n}\n\n.aboutBody {\n display: grid;\n grid-template-columns: 1fr 1fr;\n column-gap: 0.25rem;\n\n & p {\n @include type.type-style('label-01');\n margin-bottom: 0.25rem;\n }\n}\n\n.frontendModules {\n width: 100%;\n padding: 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, 2026\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={main:"-esm-version__about__main___ygFSI",aboutPage:"-esm-version__about__aboutPage___sinxi",container:"-esm-version__about__container___Q7mqH",title:"-esm-version__about__title___LYoZH",tagline:"-esm-version__about__tagline___6D1Im",contacts:"-esm-version__about__contacts___ipiYV",contactItem:"-esm-version__about__contactItem___BgUeV",aboutBody:"-esm-version__about__aboutBody___Pv2r4",frontendModules:"-esm-version__about__frontendModules___aDgUj"};let r=o},28084(e,n,a){a.r(n),a.d(n,{VERSION:()=>t});var t={dirty:!0,raw:"v5.4.3-370-g6d7bafc9-dirty",hash:"g6d7bafc9",distance:370,tag:"v5.4.3",semver:{options:{loose:!1,includePrerelease:!1},loose:!1,raw:"v5.4.3",major:5,minor:4,patch:3,prerelease:[],build:[],version:"5.4.3"},suffix:"370-g6d7bafc9-dirty",semverString:"5.4.3+370.g6d7bafc9",version:"5.4.5-pre.727",buildDate:"2026-07-27T08:45:23.842Z"}},35233(e,n,a){a.r(n),a.d(n,{default:()=>F,spaRoot:()=>q});var t=a(35400),l=a.n(t),i=a(75721),o=a(58088),r=a(1487),s=a(70438),c=a(95795),f=a(68622),d=a(8680),p=a(54240),u=a(43760),g=a(72591),y=a.n(g),h=a(1740),b=a.n(h),m=a(88128),$=a.n(m),v=a(30855),A=a.n(v),w=a(93051),_=a.n(w),C=a(73656),x=a.n(C),k=a(4050),z={};z.styleTagTransform=x(),z.setAttributes=A(),z.insert=$().bind(null,"head"),z.domAPI=b(),z.insertStyleElement=_(),y()(k.A,z);let E=k.A&&k.A.locals?k.A.locals:void 0;var M=a(29876);let B=function(){var e=(0,o.useTranslation)().t,n=(0,t.useMemo)(function(){var e;return(null!=(e=window.installedModules)?e:[]).filter(function(e){return!!e&&!!e[1]}).map(function(e){return{version:e[1].version,name:e[0].substring(e[0].indexOf("/")+1)}})},[]),a=[{key:"name",header:e("moduleName","Module name")},{key:"version",header:e("version","Version")}],i=(0,t.useMemo)(function(){return n.map(function(n,a){var t;return{id:"module-".concat(a),name:n.name,version:null!=(t=n.version)?t:e("noVersionFound","No version found")}})},[n,e]);return l().createElement(s.DataTable,{rows:i,headers:a,size:"sm",useZebraStyles:!0,"aria-label":e("frontendModules","Frontend modules")},function(e){var n=e.rows,a=e.headers,t=e.getTableProps,i=e.getHeaderProps,o=e.getRowProps;return l().createElement(s.Table,t(),l().createElement(s.TableHead,null,l().createElement(s.TableRow,null,a.map(function(e){return l().createElement(s.TableHeader,i({header:e}),e.header)}))),l().createElement(s.TableBody,null,n.map(function(e){return l().createElement(s.TableRow,o({row:e}),e.cells.map(function(e){return l().createElement(s.TableCell,{key:e.id},e.value)}))})))})};var N=a(28084),D=function(e){var n=e.facilityName,a=e.taglineText,t=e.logoSrc,i=e.titleClassName,o=e.taglineClassName,r=e.logoAlt;return l().createElement("div",{className:i},l().createElement("img",{src:t,alt:r,width:"300",height:"100"}),l().createElement("div",null,l().createElement("h3",null,n),a?l().createElement("p",{className:o},a):null))},T=function(e){var n=e.contacts,a=e.contactsClassName,t=e.contactItemClassName,i=e.t;return n&&(n.tel||n.email||n.emergency||n.address||n.website)?l().createElement("div",{className:a},n.tel&&l().createElement("div",{className:t},l().createElement(c.bc,{size:16}),l().createElement("span",null,n.tel)),n.email&&l().createElement("div",{className:t},l().createElement(f.Ps,{size:16}),l().createElement("a",{href:"mailto:".concat(n.email)},n.email)),n.emergency&&l().createElement("div",{className:t},l().createElement(d.Cp,{size:16}),l().createElement("span",null,i("emergency","Emergency"),": ",n.emergency)),n.address&&l().createElement("div",{className:t},l().createElement(p.aZ,{size:16}),l().createElement("span",null,n.address)),n.website&&l().createElement("div",{className:t},l().createElement(u.qz,{size:16}),l().createElement("a",{href:n.website.startsWith("http")?n.website:"https://".concat(n.website),target:"_blank",rel:"noopener noreferrer"},n.website))):null},I=function(e){var n=e.kenyaEmrVersion,a=e.spaVersion,t=e.buildDate,i=e.aboutBodyClassName,o=e.t;return l().createElement("div",{className:i},l().createElement("p",null,o("mainModuleVersion","Main Module Version")),l().createElement("p",null,"v".concat(null!=n?n:"—")),l().createElement("p",null,o("spaVersion","SPA Version")),l().createElement("p",null,"v".concat(a)),l().createElement("p",null,o("buildDateTime","Build date time")),l().createElement("p",null,(0,r.formatDatetime)(t,{mode:"standard"})))};let S=function(){var e,n,a,i,c,f,d,p,u,g,y,h,b,m=(0,o.useTranslation)().t,$=(i=(a=(0,M.A)("ws/rest/v1/module?v=custom:(uuid,name,version)",r.openmrsFetch)).data,c=a.isLoading,{modules:null!=(e=null==i||null==(n=i.data)?void 0:n.results)?e:[],isLoading:c}).modules,v=(0,r.useConfig)().defaultLogoPath,A=(g=(u=(0,M.A)("/ws/rest/v1/systemsetting?q=".concat("kenyaemr.cashier.receipt.facilityInformation","&v=full"),r.openmrsFetch)).data,y=u.isLoading,{data:null!=(f=null==g||null==(p=g.data)||null==(d=p.results)?void 0:d[0])?f:[],isLoading:y}),w=A.data,_=A.isLoading,C=$.find(function(e){return"kenyaemr"===e.uuid}),x=E.title,k=E.container,z=E.aboutBody,S=E.aboutPage,q=E.tagline,F=E.contacts,V=E.contactItem,Y=N.VERSION,L=(0,t.useMemo)(function(){var e=null==w?void 0:w.value;if(null==e)return null;if((void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e))return e;if("string"==typeof e)try{return JSON.parse(e)}catch(e){}return null},[w]);if(_)return l().createElement(s.InlineLoading,{description:m("loadingFacilityInformation","Loading facility information...")});var P=null==L?void 0:L.contacts,j=null!=(h=null==L?void 0:L.facilityName)?h:"Ministry of Health",W=null==L?void 0:L.tagline,H=null!=(b=null==L?void 0:L.facilityName)?b:m("facilityLogo","Facility logo"),O=Y.version,U=new Date(Y.buildDate),R=null==C?void 0:C.version;return l().createElement("div",{className:E.main},l().createElement("div",{className:S},l().createElement("div",{className:k},l().createElement(D,{facilityName:j,taglineText:W,logoSrc:v,titleClassName:x,taglineClassName:q,logoAlt:H}),l().createElement(T,{contacts:P,contactsClassName:F,contactItemClassName:V,t:m}),l().createElement(I,{kenyaEmrVersion:R,spaVersion:O,buildDate:U,aboutBodyClassName:z,t:m}))),l().createElement("div",{className:E.frontendModules},l().createElement(B,null)))};var q=window.getOpenmrsSpaBase();let F=function(){return l().createElement(i.BrowserRouter,{basename:q},l().createElement(S,null))}}}]);
package/dist/6508.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["6508"],{94055(e){e.exports=JSON.parse('{"buildDateTime":"Build date time","emergency":"Emergency","facilityLogo":"Facility logo","frontendModules":"Frontend modules","loadingFacilityInformation":"Loading facility information...","mainModuleVersion":"Main Module Version","moduleName":"Module name","noVersionFound":"No version found","spaVersion":"SPA Version","systemInfo":"Informations syst\xe8me","version":"Version"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["6508"],{94055(e){e.exports=JSON.parse('{"buildDateTime":"Construisez l\'heure de date","emergency":"Urgence","facilityLogo":"Logo de l\'installation","frontendModules":"Modules frontaux","loadingFacilityInformation":"Informations sur l\'installation de chargement...","mainModuleVersion":"Version du module principal","moduleName":"Nom du module","noVersionFound":"Aucune version trouv\xe9e","spaVersion":"Version SPA","systemInfo":"Informations syst\xe8me","version":"Version"}')}}]);
package/dist/6508.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"6508.js","sources":["webpack://@kenyaemr/esm-version-app/json|/home/runner/work/kenyaemr-esm-3.x/kenyaemr-esm-3.x/packages/esm-version-app/translations/fr.json"],"names":["JSON"],"mappings":"8IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,gY"}
1
+ {"version":3,"file":"6508.js","sources":["webpack://@kenyaemr/esm-version-app/json|/home/runner/work/kenyaemr-esm-3.x/kenyaemr-esm-3.x/packages/esm-version-app/translations/fr.json"],"names":["JSON"],"mappings":"8IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,0b"}
package/dist/997.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["997"],{89913(e){e.exports=JSON.parse('{"buildDateTime":"Build date time","emergency":"Emergency","facilityLogo":"Facility logo","frontendModules":"Frontend modules","loadingFacilityInformation":"Loading facility information...","mainModuleVersion":"Main Module Version","moduleName":"Module name","noVersionFound":"No version found","spaVersion":"SPA Version","systemInfo":"System Info","version":"Version"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([["997"],{89913(a){a.exports=JSON.parse('{"buildDateTime":"Kujenga tarehe","emergency":"Dharura ya dharura","facilityLogo":"Nembo ya logo","frontendModules":"Moduli za mbele","loadingFacilityInformation":"Taarifa ya Kitengo cha Mawasiliano...","mainModuleVersion":"Tafsiri ya Module","moduleName":"Jina la mfumo","noVersionFound":"Hakuna toleo lililopatikana","spaVersion":"Tafsiri ya SPA","systemInfo":"Mfumo wa Info","version":"Tafsiri ya Version"}')}}]);
package/dist/997.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"997.js","sources":["webpack://@kenyaemr/esm-version-app/json|/home/runner/work/kenyaemr-esm-3.x/kenyaemr-esm-3.x/packages/esm-version-app/translations/sw.json"],"names":["JSON"],"mappings":"6IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,oX"}
1
+ {"version":3,"file":"997.js","sources":["webpack://@kenyaemr/esm-version-app/json|/home/runner/work/kenyaemr-esm-3.x/kenyaemr-esm-3.x/packages/esm-version-app/translations/sw.json"],"names":["JSON"],"mappings":"6IAAA,EAAO,OAAO,CAAGA,KAAK,KAAK,CAAC,4Z"}
@@ -974,7 +974,7 @@
974
974
  "auxiliaryFiles": [
975
975
  "3754.js.map"
976
976
  ],
977
- "hash": "c877e6c353875607",
977
+ "hash": "046b0371153a0822",
978
978
  "childrenByOrder": {}
979
979
  },
980
980
  {
@@ -1842,9 +1842,9 @@
1842
1842
  "rendered": true,
1843
1843
  "initial": false,
1844
1844
  "entry": false,
1845
- "size": 379,
1845
+ "size": 432,
1846
1846
  "sizes": {
1847
- "javascript": 379
1847
+ "javascript": 432
1848
1848
  },
1849
1849
  "names": [],
1850
1850
  "idHints": [],
@@ -1858,7 +1858,7 @@
1858
1858
  "auxiliaryFiles": [
1859
1859
  "6508.js.map"
1860
1860
  ],
1861
- "hash": "953981594ef04fa8",
1861
+ "hash": "df59636702e52a03",
1862
1862
  "childrenByOrder": {}
1863
1863
  },
1864
1864
  {
@@ -2743,9 +2743,9 @@
2743
2743
  "rendered": true,
2744
2744
  "initial": false,
2745
2745
  "entry": false,
2746
- "size": 369,
2746
+ "size": 409,
2747
2747
  "sizes": {
2748
- "javascript": 369
2748
+ "javascript": 409
2749
2749
  },
2750
2750
  "names": [],
2751
2751
  "idHints": [],
@@ -2759,7 +2759,7 @@
2759
2759
  "auxiliaryFiles": [
2760
2760
  "997.js.map"
2761
2761
  ],
2762
- "hash": "3d751e3e6e73ca4a",
2762
+ "hash": "d1d932b8351ca5cb",
2763
2763
  "childrenByOrder": {}
2764
2764
  }
2765
2765
  ]
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[{"component":"about","route":"about","online":true,"offline":true}],"extensions":[],"version":"5.4.5-pre.720"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"kenyaemr":"^19.0.0"},"pages":[{"component":"about","route":"about","online":true,"offline":true}],"extensions":[],"version":"5.4.5-pre.727"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenyaemr/esm-version-app",
3
- "version": "5.4.5-pre.720",
3
+ "version": "5.4.5-pre.727",
4
4
  "description": "Patient flags microfrontend for the OpenMRS SPA",
5
5
  "keywords": [
6
6
  "openmrs"
@@ -0,0 +1,108 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
4
+ import { formatDatetime, openmrsFetch, useConfig } from '@openmrs/esm-framework';
5
+ import { SWRConfig } from 'swr';
6
+
7
+ import About from './about.component';
8
+
9
+ describe('About', () => {
10
+ const useConfigMock = vi.mocked(useConfig);
11
+ const moduleResponse = [{ uuid: 'kenyaemr', name: 'KenyaEMR', version: '3.2.1' }];
12
+
13
+ function renderAbout(facilityValue: unknown, modules = moduleResponse) {
14
+ vi.mocked(openmrsFetch).mockImplementation(async (url) => {
15
+ if (url === 'ws/rest/v1/module?v=custom:(uuid,name,version)') {
16
+ return { data: { results: modules } };
17
+ }
18
+
19
+ if (url === '/ws/rest/v1/systemsetting?q=kenyaemr.cashier.receipt.facilityInformation&v=full') {
20
+ return {
21
+ data: {
22
+ results: facilityValue === undefined ? [] : [{ value: facilityValue }],
23
+ },
24
+ };
25
+ }
26
+
27
+ throw new Error(`Unexpected request: ${url}`);
28
+ });
29
+
30
+ return render(
31
+ <SWRConfig value={{ provider: () => new Map() }}>
32
+ <About />
33
+ </SWRConfig>,
34
+ );
35
+ }
36
+
37
+ beforeEach(() => {
38
+ vi.clearAllMocks();
39
+ useConfigMock.mockReturnValue({ defaultLogoPath: '/default-logo.png' });
40
+ window.installedModules = [];
41
+ });
42
+
43
+ it('shows a loading state while facility information is loading', () => {
44
+ vi.mocked(openmrsFetch).mockImplementation(() => new Promise(() => {}));
45
+
46
+ render(
47
+ <SWRConfig value={{ provider: () => new Map() }}>
48
+ <About />
49
+ </SWRConfig>,
50
+ );
51
+
52
+ expect(screen.getByText('Loading facility information...')).toBeInTheDocument();
53
+ });
54
+
55
+ it('renders configured facility details, contacts, and versions from an object value', async () => {
56
+ const expectedBuildDate = formatDatetime(new Date('2026-06-24T05:31:32.682Z'), { mode: 'standard' });
57
+ renderAbout({
58
+ facilityName: 'Lake Clinic',
59
+ tagline: 'Care close to home',
60
+ contacts: {
61
+ tel: '0700 000 000',
62
+ email: 'hello@lake.test',
63
+ emergency: '0711 111 111',
64
+ address: 'Kisumu',
65
+ website: 'lake.test',
66
+ },
67
+ });
68
+
69
+ expect(await screen.findByRole('heading', { name: 'Lake Clinic' })).toBeInTheDocument();
70
+ expect(screen.getByText('Care close to home')).toBeInTheDocument();
71
+ expect(screen.getByRole('img', { name: 'Lake Clinic' })).toHaveAttribute('src', '/default-logo.png');
72
+ expect(screen.getByText('0700 000 000')).toBeInTheDocument();
73
+ expect(screen.getByRole('link', { name: 'hello@lake.test' })).toHaveAttribute('href', 'mailto:hello@lake.test');
74
+ expect(screen.getByText(/Emergency.*0711 111 111/)).toBeInTheDocument();
75
+ expect(screen.getByText('Kisumu')).toBeInTheDocument();
76
+ expect(screen.getByRole('link', { name: 'lake.test' })).toHaveAttribute('href', 'https://lake.test');
77
+ expect(screen.getByText('v3.2.1')).toBeInTheDocument();
78
+ expect(screen.getByText('v5.4.3')).toBeInTheDocument();
79
+ expect(screen.getByText(expectedBuildDate)).toBeInTheDocument();
80
+ expect(screen.getByRole('columnheader', { name: 'Module name' })).toBeInTheDocument();
81
+ });
82
+
83
+ it('parses string settings and preserves absolute website URLs', async () => {
84
+ renderAbout(
85
+ JSON.stringify({
86
+ facilityName: 'Coast Hospital',
87
+ contacts: { website: 'http://coast.test' },
88
+ }),
89
+ );
90
+
91
+ expect(await screen.findByRole('link', { name: 'http://coast.test' })).toHaveAttribute('href', 'http://coast.test');
92
+ });
93
+
94
+ it.each([undefined, 'not json', 42, []])('uses fallback details for invalid setting value %p', async (value) => {
95
+ renderAbout(value, []);
96
+
97
+ expect(await screen.findByRole('heading', { name: 'Ministry of Health' })).toBeInTheDocument();
98
+ expect(screen.getByRole('img', { name: 'Facility logo' })).toBeInTheDocument();
99
+ expect(screen.getByText('v—')).toBeInTheDocument();
100
+ });
101
+
102
+ it('omits empty optional facility sections', async () => {
103
+ renderAbout({ facilityName: 'Plain Clinic', contacts: {} });
104
+
105
+ expect(await screen.findByRole('heading', { name: 'Plain Clinic' })).toBeInTheDocument();
106
+ expect(screen.queryByText('Emergency')).not.toBeInTheDocument();
107
+ });
108
+ });
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { describe, expect, it } from 'vitest';
4
+
5
+ import AboutLink from './about-link.component';
6
+
7
+ describe('AboutLink', () => {
8
+ it('links to the system information page', () => {
9
+ render(<AboutLink />);
10
+
11
+ expect(screen.getByRole('link', { name: 'System Info' })).toHaveAttribute('href', '/openmrs/spa/about');
12
+ });
13
+ });
@@ -1,23 +1,16 @@
1
1
  import React from 'react';
2
2
  import { render, screen, within } from '@testing-library/react';
3
- import { describe, it, beforeEach, expect, vi } from 'vitest';
3
+ import { describe, it, beforeEach, expect } from 'vitest';
4
4
 
5
5
  import FrontendModule from './frontend-modules.component';
6
- import { useFrontendModules } from '../hooks/useFrontendModules';
7
-
8
- vi.mock('../hooks/useFrontendModules');
9
-
10
- type UseFrontendModulesMock = ReturnType<typeof vi.fn>;
11
6
 
12
7
  describe('FrontendModule', () => {
13
- const useFrontendModulesMock = useFrontendModules as unknown as UseFrontendModulesMock;
14
-
15
8
  beforeEach(() => {
16
- vi.clearAllMocks();
9
+ window.installedModules = [];
17
10
  });
18
11
 
19
12
  it('renders table headers for module name and version', () => {
20
- useFrontendModulesMock.mockReturnValue([{ name: 'Test module', version: '1.0.0' }]);
13
+ window.installedModules = [['@openmrs/test-module', { version: '1.0.0' }]];
21
14
 
22
15
  render(<FrontendModule />);
23
16
 
@@ -27,10 +20,10 @@ describe('FrontendModule', () => {
27
20
  });
28
21
 
29
22
  it('renders a row for each frontend module with name and version', () => {
30
- useFrontendModulesMock.mockReturnValue([
31
- { name: 'Module A', version: '1.0.0' },
32
- { name: 'Module B', version: '2.0.0' },
33
- ]);
23
+ window.installedModules = [
24
+ ['@openmrs/Module A', { version: '1.0.0' }],
25
+ ['@openmrs/Module B', { version: '2.0.0' }],
26
+ ];
34
27
 
35
28
  render(<FrontendModule />);
36
29
 
@@ -49,7 +42,7 @@ describe('FrontendModule', () => {
49
42
  });
50
43
 
51
44
  it('falls back to "No version found" when version is missing', () => {
52
- useFrontendModulesMock.mockReturnValue([{ name: 'No Version Module' }]);
45
+ window.installedModules = [['@openmrs/No Version Module', {}]];
53
46
 
54
47
  render(<FrontendModule />);
55
48
 
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { describe, expect, it } from 'vitest';
4
+
5
+ import Registration from './registration.component';
6
+
7
+ describe('Registration', () => {
8
+ it('renders the registration dashboard and workspace', () => {
9
+ render(<Registration />);
10
+
11
+ expect(screen.getByText('Workspace Container')).toBeInTheDocument();
12
+ });
13
+ });
@@ -3,9 +3,9 @@
3
3
  /* tslint:disable */
4
4
  export const VERSION = {
5
5
  "dirty": true,
6
- "raw": "v5.4.3-368-g50808047-dirty",
7
- "hash": "g50808047",
8
- "distance": 368,
6
+ "raw": "v5.4.3-370-g6d7bafc9-dirty",
7
+ "hash": "g6d7bafc9",
8
+ "distance": 370,
9
9
  "tag": "v5.4.3",
10
10
  "semver": {
11
11
  "options": {
@@ -21,9 +21,9 @@ export const VERSION = {
21
21
  "build": [],
22
22
  "version": "5.4.3"
23
23
  },
24
- "suffix": "368-g50808047-dirty",
25
- "semverString": "5.4.3+368.g50808047",
26
- "version": "5.4.5-pre.720",
27
- "buildDate": "2026-07-25T00:49:16.611Z"
24
+ "suffix": "370-g6d7bafc9-dirty",
25
+ "semverString": "5.4.3+370.g6d7bafc9",
26
+ "version": "5.4.5-pre.727",
27
+ "buildDate": "2026-07-27T08:45:23.842Z"
28
28
  };
29
29
  /* tslint:enable */
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { openmrsFetch, useConfig } from '@openmrs/esm-framework';
4
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { SWRConfig } from 'swr';
6
+
7
+ import Root, { spaRoot } from './root.component';
8
+
9
+ describe('Root', () => {
10
+ beforeEach(() => {
11
+ vi.mocked(useConfig).mockReturnValue({ defaultLogoPath: '/default-logo.png' });
12
+ vi.mocked(openmrsFetch).mockImplementation(async (url) => {
13
+ if (url === 'ws/rest/v1/module?v=custom:(uuid,name,version)') {
14
+ return {
15
+ data: {
16
+ results: [{ uuid: 'kenyaemr', name: 'KenyaEMR', version: '3.2.1' }],
17
+ },
18
+ };
19
+ }
20
+
21
+ if (url === '/ws/rest/v1/systemsetting?q=kenyaemr.cashier.receipt.facilityInformation&v=full') {
22
+ return {
23
+ data: {
24
+ results: [{ value: { facilityName: 'Lake Clinic' } }],
25
+ },
26
+ };
27
+ }
28
+
29
+ throw new Error(`Unexpected request: ${url}`);
30
+ });
31
+ window.installedModules = [];
32
+ window.history.pushState({}, '', spaRoot);
33
+ });
34
+
35
+ it('renders the system information page under the configured SPA base', async () => {
36
+ render(
37
+ <SWRConfig value={{ provider: () => new Map() }}>
38
+ <Root />
39
+ </SWRConfig>,
40
+ );
41
+
42
+ expect(spaRoot).toBe('/openmrs/spa/');
43
+ expect(await screen.findByRole('heading', { name: 'Lake Clinic' })).toBeInTheDocument();
44
+ expect(screen.getByText('Main Module Version')).toBeInTheDocument();
45
+ expect(screen.getByText('v3.2.1')).toBeInTheDocument();
46
+ expect(screen.getByRole('columnheader', { name: 'Module name' })).toBeInTheDocument();
47
+ expect(screen.getByRole('columnheader', { name: 'Version' })).toBeInTheDocument();
48
+ });
49
+ });
@@ -1,13 +1,13 @@
1
1
  {
2
- "buildDateTime": "Build date time",
3
- "emergency": "Emergency",
4
- "facilityLogo": "Facility logo",
5
- "frontendModules": "Frontend modules",
6
- "loadingFacilityInformation": "Loading facility information...",
7
- "mainModuleVersion": "Main Module Version",
8
- "moduleName": "Module name",
9
- "noVersionFound": "No version found",
10
- "spaVersion": "SPA Version",
2
+ "buildDateTime": "Construisez l'heure de date",
3
+ "emergency": "Urgence",
4
+ "facilityLogo": "Logo de l'installation",
5
+ "frontendModules": "Modules frontaux",
6
+ "loadingFacilityInformation": "Informations sur l'installation de chargement...",
7
+ "mainModuleVersion": "Version du module principal",
8
+ "moduleName": "Nom du module",
9
+ "noVersionFound": "Aucune version trouvée",
10
+ "spaVersion": "Version SPA",
11
11
  "systemInfo": "Informations système",
12
12
  "version": "Version"
13
13
  }
@@ -1,13 +1,13 @@
1
1
  {
2
- "buildDateTime": "Build date time",
3
- "emergency": "Emergency",
4
- "facilityLogo": "Facility logo",
5
- "frontendModules": "Frontend modules",
6
- "loadingFacilityInformation": "Loading facility information...",
7
- "mainModuleVersion": "Main Module Version",
8
- "moduleName": "Module name",
9
- "noVersionFound": "No version found",
10
- "spaVersion": "SPA Version",
11
- "systemInfo": "System Info",
12
- "version": "Version"
2
+ "buildDateTime": "Kujenga tarehe",
3
+ "emergency": "Dharura ya dharura",
4
+ "facilityLogo": "Nembo ya logo",
5
+ "frontendModules": "Moduli za mbele",
6
+ "loadingFacilityInformation": "Taarifa ya Kitengo cha Mawasiliano...",
7
+ "mainModuleVersion": "Tafsiri ya Module",
8
+ "moduleName": "Jina la mfumo",
9
+ "noVersionFound": "Hakuna toleo lililopatikana",
10
+ "spaVersion": "Tafsiri ya SPA",
11
+ "systemInfo": "Mfumo wa Info",
12
+ "version": "Tafsiri ya Version"
13
13
  }