@kenyaemr/esm-express-workflow-app 5.4.4-pre.299 → 5.4.4-pre.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/.turbo/turbo-build.log +3 -3
  2. package/dist/126.js +1 -0
  3. package/dist/126.js.map +1 -0
  4. package/dist/2024.js +1 -1
  5. package/dist/2024.js.map +1 -1
  6. package/dist/2225.js +1 -1
  7. package/dist/2225.js.map +1 -1
  8. package/dist/2386.js +1 -0
  9. package/dist/2386.js.map +1 -0
  10. package/dist/2438.js +1 -1
  11. package/dist/2438.js.map +1 -1
  12. package/dist/4504.js +1 -0
  13. package/dist/4504.js.map +1 -0
  14. package/dist/4670.js +1 -0
  15. package/dist/4670.js.map +1 -0
  16. package/dist/4682.js +1 -1
  17. package/dist/4682.js.map +1 -1
  18. package/dist/5047.js +1 -0
  19. package/dist/5047.js.map +1 -0
  20. package/dist/586.js.map +1 -1
  21. package/dist/5986.js +1 -1
  22. package/dist/5986.js.map +1 -1
  23. package/dist/6075.js +1 -0
  24. package/dist/6075.js.map +1 -0
  25. package/dist/6328.js +1 -1
  26. package/dist/6328.js.map +1 -1
  27. package/dist/64.js +1 -0
  28. package/dist/64.js.map +1 -0
  29. package/dist/6456.js +1 -1
  30. package/dist/6720.js +1 -0
  31. package/dist/6720.js.map +1 -0
  32. package/dist/7607.js +1 -1
  33. package/dist/8566.js +1 -0
  34. package/dist/8566.js.map +1 -0
  35. package/dist/8727.js +1 -1
  36. package/dist/8799.js +1 -0
  37. package/dist/8799.js.map +1 -0
  38. package/dist/8911.js +1 -1
  39. package/dist/8911.js.map +1 -1
  40. package/dist/9157.js +1 -1
  41. package/dist/9157.js.map +1 -1
  42. package/dist/9161.js +1 -0
  43. package/dist/9161.js.map +1 -0
  44. package/dist/9182.js +1 -1
  45. package/dist/9343.js +1 -0
  46. package/dist/9343.js.map +1 -0
  47. package/dist/9535.js +1 -1
  48. package/dist/9535.js.map +1 -1
  49. package/dist/9834.js +1 -0
  50. package/dist/{4432.js.map → 9834.js.map} +1 -1
  51. package/dist/kenyaemr-esm-express-workflow-app.js +2 -2
  52. package/dist/kenyaemr-esm-express-workflow-app.js.buildmanifest.json +294 -151
  53. package/dist/kenyaemr-esm-express-workflow-app.js.map +1 -1
  54. package/dist/main.js +2 -2
  55. package/dist/main.js.map +1 -1
  56. package/dist/routes.json +1 -1
  57. package/package.json +1 -1
  58. package/src/components/admissions/index.tsx +0 -1
  59. package/src/components/anaesthetic/anaesthetic.component.tsx +10 -4
  60. package/src/components/anaesthetic/forms/interoperative-record-drug-given-form.component.tsx +2 -26
  61. package/src/components/anaesthetic/graphs/interoperative-record-drug-given-graph-wrapper.component.tsx +66 -25
  62. package/src/components/anaesthetic/resources/anaesthetic.resource.ts +2 -2
  63. package/src/components/consultation/clinical-encounter/clinical-encounter.component.tsx +4 -20
  64. package/src/components/consultation/index.ts +1 -1
  65. package/src/components/consultation/tabs/index.ts +67 -0
  66. package/src/components/facility-dashboard/components/header/home-header.component.tsx +8 -13
  67. package/src/components/laboratory/index.ts +11 -0
  68. package/src/components/laboratory/lab-table.component.tsx +25 -12
  69. package/src/components/laboratory/laboratory-tabs.component.tsx +3 -17
  70. package/src/components/pharmacy/index.ts +1 -1
  71. package/src/components/pharmacy/pharmacy-tabs.component.tsx +4 -20
  72. package/src/components/pharmacy/tabs/index.ts +21 -0
  73. package/src/components/procedures/index.ts +16 -0
  74. package/src/components/procedures/procedures-table.component.tsx +33 -15
  75. package/src/components/procedures/procedures-tabs.component.tsx +3 -22
  76. package/src/components/radiology-and-imaging/index.ts +11 -0
  77. package/src/components/radiology-and-imaging/radiology-and-imaging-table.component.tsx +35 -15
  78. package/src/components/radiology-and-imaging/radiology-and-imaging.component.tsx +3 -19
  79. package/src/components/registration/card/Local-card/local-card.component.tsx +3 -3
  80. package/src/components/registration/dependants/dependants.component.tsx +6 -1
  81. package/src/components/registration/end-visit-modal/end-visit-dialog.modal.tsx +320 -0
  82. package/src/components/registration/end-visit-modal/end-visit-dialog.scss +12 -0
  83. package/src/components/registration/end-visit-modal/end-visit.resource.tsx +59 -0
  84. package/src/components/registration/end-visit-modal/sha-end-visit.resource.ts +285 -0
  85. package/src/components/registration/start-visit-form/overflow-menu-extension/custom-end-active-visit.extension.tsx +44 -0
  86. package/src/components/registration/start-visit-form/start-visit-workspace/exported-visit-form.workspace.tsx +16 -11
  87. package/src/components/registration/type/index.ts +101 -0
  88. package/src/config-schema.ts +23 -1
  89. package/src/index.ts +36 -17
  90. package/src/routes.json +205 -12
  91. package/src/shared/otp-verification/index.ts +3 -0
  92. package/src/shared/otp-verification/otp-verification.modal.tsx +51 -17
  93. package/src/shared/patient-chart/patient-summary-dashboard/patient-summary-dashboard.component.tsx +5 -73
  94. package/src/shared/tabs/create-tab-extension.tsx +33 -0
  95. package/src/shared/tabs/extension-tabs.component.tsx +51 -33
  96. package/src/shared/utils/index.ts +6 -6
  97. package/translations/am.json +32 -24
  98. package/translations/en.json +23 -16
  99. package/translations/fr.json +23 -16
  100. package/translations/sw.json +23 -21
  101. package/Failed to delete encounter/am.json +0 -4
  102. package/Failed to delete encounter/en.json +0 -4
  103. package/Failed to delete encounter/fr.json +0 -4
  104. package/Failed to delete encounter/sw.json +0 -4
  105. package/dist/2332.js +0 -1
  106. package/dist/2332.js.map +0 -1
  107. package/dist/4432.js +0 -1
  108. package/dist/4666.js +0 -1
  109. package/dist/4666.js.map +0 -1
  110. package/dist/5733.js +0 -1
  111. package/dist/5733.js.map +0 -1
  112. package/dist/644.js +0 -1
  113. package/dist/644.js.map +0 -1
  114. package/dist/655.js +0 -1
  115. package/dist/655.js.map +0 -1
  116. package/dist/70.js +0 -1
  117. package/dist/70.js.map +0 -1
  118. package/dist/9387.js +0 -1
  119. package/dist/9387.js.map +0 -1
  120. package/src/components/admissions/admission-medication-summary.tsx +0 -302
  121. package/src/components/admissions/admissions-dashboard.utils.test.ts +0 -48
  122. package/src/components/admissions/admissions-dashboard.utils.tsx +0 -63
  123. package/src/shared/orders/OrdersTabs.tsx +0 -76
  124. /package/src/shared/{patient-chart/patient-summary-dashboard → tabs}/patient-summary-dashboard.scss +0 -0
package/dist/6328.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_express_workflow_app=globalThis.webpackChunk_kenyaemr_esm_express_workflow_app||[]).push([["6328"],{20517:function(e,n,t){t.d(n,{Z:()=>s});var r=t(49130),i=t.n(r),a=t(22577),o=t.n(a)()(i());o.push([e.id,".-esm-express-workflow__card__buttonCol___TAG4Y{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-end;align-items:center}.-esm-express-workflow__card__actionButtons___mb2pR{display:flex;flex-direction:row;align-items:center}.-esm-express-workflow__card__patientInfo___CLlxt{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center}.-esm-express-workflow__card__patientAvatar___6blxO{margin-top:1.5rem}.-esm-express-workflow__card__dependentsSection___vQoZp{width:100%;margin-top:1rem;border-top:1px solid #e0e0e0;padding-top:1rem}.-esm-express-workflow__card__noDependents___PlsWQ{padding-bottom:1rem}","",{version:3,sources:["webpack://./src/components/registration/card/card.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAIA,gDACE,gBAAA,CACA,UAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CAGF,oDACE,YAAA,CACA,kBAAA,CACA,kBAAA,CAGF,kDACE,gBAAA,CACA,UAAA,CACA,YAAA,CACA,8BAAA,CACA,UCGW,CDFX,kBAAA,CAEF,oDACE,iBCSW,CDNb,wDACE,UAAA,CACA,eAAA,CACA,4BAAA,CACA,gBAAA,CAGF,mDACE,mBAAA",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.buttonCol {\n grid-column: 1 / -1;\n grid-row: 2;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n\n.actionButtons {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.patientInfo {\n grid-column: 1 / -1;\n grid-row: 1;\n display: grid;\n grid-template-columns: auto 1fr;\n gap: layout.$spacing-04;\n align-items: center;\n}\n.patientAvatar {\n margin-top: layout.$spacing-06;\n}\n\n.dependentsSection {\n width: 100%;\n margin-top: 1rem;\n border-top: 1px solid colors.$gray-20;\n padding-top: 1rem;\n}\n\n.noDependents {\n padding-bottom: 1rem;\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),o.locals={buttonCol:"-esm-express-workflow__card__buttonCol___TAG4Y",actionButtons:"-esm-express-workflow__card__actionButtons___mb2pR",patientInfo:"-esm-express-workflow__card__patientInfo___CLlxt",patientAvatar:"-esm-express-workflow__card__patientAvatar___6blxO",dependentsSection:"-esm-express-workflow__card__dependentsSection___vQoZp",noDependents:"-esm-express-workflow__card__noDependents___PlsWQ"};let s=o},93975:function(e,n,t){t.d(n,{Z:()=>s});var r=t(49130),i=t.n(r),a=t(22577),o=t.n(a)()(i());o.push([e.id,'.-esm-express-workflow__dependants__dependentsTitle___QapOR{display:flex;font-size:.75rem;align-items:center;justify-content:space-between;row-gap:1.5rem;position:relative;margin-bottom:1.5rem}.-esm-express-workflow__dependants__dependentsTitle___QapOR::after{content:"";display:block;width:2rem;border-bottom:.375rem solid var(--brand-03);position:absolute;bottom:-0.75rem;left:0}.-esm-express-workflow__dependants__dependentsTitle___QapOR>span{font-size:var(--cds-body-01-font-size, 0.875rem);font-weight:var(--cds-body-01-font-weight, 400);line-height:var(--cds-body-01-line-height, 1.42857);letter-spacing:var(--cds-body-01-letter-spacing, 0.16px)}',"",{version:3,sources:["webpack://./src/components/registration/dependants/dependants.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./../../node_modules/@carbon/type/scss/_styles.scss"],names:[],mappings:"AAIA,4DACE,YAAA,CACA,gBCoBW,CDlBX,kBAAA,CACA,6BAAA,CACA,cC0BW,CDzBX,iBAAA,CACA,oBCwBW,CDtBX,mEACE,UAAA,CACA,aAAA,CACA,UCwBS,CDvBT,2CAAA,CACA,iBAAA,CACA,eAAA,CACA,MAAA,CAGF,iEE00BE,gDAAA,CAAA,+CAAA,CAAA,mDAAA,CAAA,wDAAA",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.dependentsTitle {\n display: flex;\n font-size: layout.$spacing-04;\n\n align-items: center;\n justify-content: space-between;\n row-gap: layout.$spacing-06;\n position: relative;\n margin-bottom: layout.$spacing-06;\n\n &::after {\n content: '';\n display: block;\n width: layout.$spacing-07;\n border-bottom: 0.375rem solid var(--brand-03);\n position: absolute;\n bottom: -0.75rem;\n left: 0;\n }\n\n & > span {\n @include type.type-style('body-01');\n }\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"],sourceRoot:""}]),o.locals={dependentsTitle:"-esm-express-workflow__dependants__dependentsTitle___QapOR"};let s=o},86699:function(e,n,t){t.d(n,{Z:()=>m});var r=t(46062),i=t.n(r),a=t(44036),o=t.n(a),s=t(96793),l=t.n(s),c=t(17892),u=t.n(c),p=t(11173),f=t.n(p),d=t(42464),h=t.n(d),y=t(20517),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=l().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=f(),i()(y.Z,g);let m=y.Z&&y.Z.locals?y.Z.locals:void 0},46432:function(e,n,t){t.d(n,{Z:()=>P});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(83238),l=t(49994),c=t(16709),u=t.n(c),p=t(86699),f=t(34674),d=t(96637),h=t(84786),y=t(50184),g=t(68281),m=t(88805),b=t(75922),v=t(17219),w=t(63624);function k(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function $(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function x(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){$(a,r,i,o,s,"next",e)}function s(e){$(a,r,i,o,s,"throw",e)}o(void 0)})}}function A(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function S(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return k(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let P=function(e){var n,t=e.bundle,c=e.bundleIndex,k=e.searchedNationalId,$=e.otpExpiryMinutes,P=void 0===$?5:$,O=e.localSearchResults,E=void 0===O?null:O,C=e.eligibilityResponse,M=e.isEligibilityLoading,_=void 0!==M&&M,z=(0,l.useTranslation)().t,N=S((0,r.useState)(new Set),2),I=N[0],D=N[1],R=S((0,r.useState)(new Set),2),j=R[0],q=R[1],L=S((0,r.useState)(new Set),2),V=L[0],F=L[1],B=S((0,r.useState)(new Map),2),U=B[0],Z=B[1],H=S((0,r.useState)(new Set),2),W=H[0],G=H[1],K=(0,b.at)(),X=K.otpSource,Q=K.isLoading;K.error,(0,r.useEffect)(function(){X&&b.De.setOtpSource(X)},[X]),(0,r.useEffect)(function(){return function(){(0,b.cM)()}},[]);var Y=(0,r.useMemo)(function(){var e;return(null==(e=t.entry)?void 0:e.map(function(e){var n=U.get(e.resource.id);return(null==n?void 0:n.uuid)||null}).filter(Boolean))||[]},[t.entry,U]),J=(0,v.l0)(Y);(0,r.useEffect)(function(){var e;(e=x(function(){return T(this,function(e){switch(e.label){case 0:var n;if(!t.entry)return[2];return[4,Promise.all(t.entry.map((n=x(function(e){var n,t,r;return T(this,function(i){switch(i.label){case 0:if(t=(n=e.resource).id,U.has(t))return[2];G(function(e){return new Set(e.add(t))}),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,(0,g.Zp)(n,!1)];case 2:return r=i.sent(),Z(function(e){return new Map(e.set(t,r))}),[3,5];case 3:return i.sent(),Z(function(e){return new Map(e.set(t,null))}),[3,5];case 4:return G(function(e){var n=new Set(e);return n.delete(t),n}),[7];case 5:return[2]}})}),function(e){return n.apply(this,arguments)})))];case 1:return e.sent(),[2]}})}),function(){return e.apply(this,arguments)})()},[t.entry,U]);var ee=function(e){D(function(n){var t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t})},en=function(e){var n=null==(r=e.telecom)?void 0:r.find(function(e){return"phone"===e.system||"mobile"===e.use});if(null==n?void 0:n.value)return(0,w.jc)(n.value);var t=U.get(e.id);if(t){var r,i,a=null==(i=t.attributes)?void 0:i.find(function(e){var n,t,r,i,a,o;return(null==(t=e.attributeType)||null==(n=t.display)?void 0:n.toLowerCase().includes("phone"))||(null==(i=e.attributeType)||null==(r=i.display)?void 0:r.toLowerCase().includes("mobile"))||(null==(o=e.attributeType)||null==(a=o.display)?void 0:a.toLowerCase().includes("telephone"))});if(null==a?void 0:a.value)return(0,w.jc)(a.value)}return"254700000000"},et=(n=x(function(e,n){return T(this,function(t){switch(t.label){case 0:return[4,(0,h.launchWorkspaceGroup2)("ewf-patient-chart",{patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}})];case 1:return t.sent(),(0,h.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},null),[2]}})}),function(e,t){return n.apply(this,arguments)}),er=function(e){F(function(n){return new Set(n).add(e)})},ei=function(e){q(function(n){return new Set(n).add(e)}),F(function(n){var t=new Set(n);return t.delete(e),t})},ea=function(e,n){var t=(0,h.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},eo=function(e,n,t){var r,i;return{onRequestOtp:(r=x(function(t){var r;return T(this,function(i){switch(i.label){case 0:r=(0,w.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!X)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(X),[4,b.De.requestOTP(r,n,P,k,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=x(function(n,r){var i;return T(this,function(r){switch(r.label){case 0:i=(0,w.jc)(t),r.label=1;case 1:if(r.trys.push([1,3,,4]),!X)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(X),[4,b.De.verifyOTP(i,n,e)];case 2:if(!r.sent())throw Error("OTP verification failed");return[3,4];case 3:throw r.sent();case 4:return[2]}})}),function(e,n){return i.apply(this,arguments)}),cleanup:function(){b.De.cleanupExpiredOTPs()}}};return t.entry&&0!==t.entry.length?i().createElement(i().Fragment,null,t.entry.map(function(e,n){var t,r,l,b,v,w,k,$,S,O=e.resource,M=(null==(r=O.name)||null==(t=r[0])?void 0:t.text)||"".concat((null==(v=O.name)||null==(b=v[0])||null==(l=b.given)?void 0:l.join(" "))||""," ").concat((null==(k=O.name)||null==(w=k[0])?void 0:w.family)||"").trim()||"Unknown Patient",N=O.id,D="".concat(c,"-").concat(n),R=I.has(D),q=(0,d.eE)(O),L=j.has(N),F=V.has(N),B=U.get(N),Z=!!B,H=W.has(N),G=Y.findIndex(function(e){return e===(null==B?void 0:B.uuid)}),K=-1!==G?null==($=J[G])?void 0:$.activeVisit:null,es=!!K,el=en(O),ec=eo(N,M,el),eu=ec.onRequestOtp,ep=ec.onVerify,ef=ec.cleanup;return i().createElement(i().Fragment,{key:D},i().createElement("div",{className:u()(p.Z.container,(A(S={},p.Z.verifiedPatient,L),A(S,p.Z.activeVisitPatient,es),S)),role:"banner"},i().createElement("div",{className:p.Z.patientInfo},i().createElement("div",{className:p.Z.patientAvatar,role:"img"},i().createElement(h.PatientPhoto,{patientUuid:N,patientName:M})),i().createElement(y.N,{crNumber:null==O?void 0:O.id,patient:O,renderedFrom:"hie-search",eligibilityData:C,isEligibilityLoading:_})),i().createElement("div",{className:p.Z.buttonCol},i().createElement("div",{className:p.Z.actionButtons},!L&&!F&&i().createElement(a.zxk,{kind:"primary",size:"sm",renderIcon:o.H3,disabled:H||Q||!X,onClick:function(){er(N),(0,m.L)({otpLength:5,obscureText:!1,phoneNumber:el,expiryMinutes:P,onRequestOtp:eu,onVerify:ep,onVerificationSuccess:function(){return ei(N)},onCleanup:ef})}},H?z("checking","Checking..."):Q?z("loadingOtpConfig","Loading..."):z("sendOtp","Send OTP")),F&&!L&&i().createElement(a.zxk,{kind:"ghost",size:"sm",onClick:function(){(0,m.L)({otpLength:5,obscureText:!1,phoneNumber:el,expiryMinutes:P,onRequestOtp:eu,onVerify:ep,onVerificationSuccess:function(){return ei(N)},onCleanup:ef})}},z("enterOtp","Enter OTP")),L&&i().createElement(i().Fragment,null,Z&&!es&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return et(B,B.uuid)}},z("checkIn","Check In")),Z&&es&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return ea(K,B.uuid)}},z("queuePatient","Queue Patient")),!Z&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:x(function(){var e;return T(this,function(n){switch(n.label){case 0:return[4,(0,g.BH)(O,z)];case 1:return[4,et(e=n.sent(),e.uuid)];case 2:return n.sent(),[2]}})})},z("checkIn","Check In")),q&&i().createElement(a.zxk,{iconDescription:R?"Hide dependents":"Show dependents",kind:"tertiary",size:"sm",onClick:function(){return ee(D)},renderIcon:R?s.Kh:s._M},R?z("hideDependents","Hide dependents"):z("showDependents","Show dependents")))))),L&&R&&q&&i().createElement("div",{className:p.Z.dependentsSection},i().createElement("div",{className:p.Z.dependentsContainer},i().createElement(f.Z,{patient:O,localSearchResults:E,otpExpiryMinutes:P}))))})):null}},75922:function(e,n,t){t.d(n,{De:()=>D,at:()=>C,cM:()=>R});var r=t(84786),i=t(22827);function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function o(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){s(a,r,i,o,l,"next",e)}function l(e){s(a,r,i,o,l,"throw",e)}o(void 0)})}}function c(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function u(e,n,t){return(u=w()?Reflect.construct:function(e,n,t){var r=[null];r.push.apply(r,n);var i=new(Function.bind.apply(e,r));return t&&m(i,t.prototype),i}).apply(null,arguments)}function p(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,n,t){return n&&p(e.prototype,n),t&&p(e,t),e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&m(e,n)}function g(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function m(e,n){return(m=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function b(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return a(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var n="function"==typeof Map?new Map:void 0;return(v=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return u(e,arguments,h(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),m(t,e)})(e)}function w(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function k(e){var n=w();return function(){var t,r,i=h(e);return r=n?Reflect.construct(i,arguments,h(this).constructor):i.apply(this,arguments),r&&("object"==((t=r)&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof r)?r:o(this)}}function $(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var x=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return c(this,t),d(o(i=n.call(this,e)),"status",void 0),d(o(i),"isRetryable",void 0),i.status=r,i.isRetryable=a,i.name="OTPNetworkError",i}return t}(v(Error)),A=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return c(this,t),d(o(i=n.call(this,e)),"details",void 0),d(o(i),"isRetryable",void 0),i.details=r,i.isRetryable=a,i.name="OTPServerError",i}return t}(v(Error)),S=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return c(this,t),d(o(i=n.call(this,e)),"rawResponse",void 0),d(o(i),"isRetryable",void 0),i.rawResponse=r,i.isRetryable=a,i.name="OTPParseError",i}return t}(v(Error)),T=function(e){y(t,e);var n=k(t);function t(e,r){var i;return c(this,t),d(o(i=n.call(this,e)),"remainingAttempts",void 0),i.remainingAttempts=r,i.name="OTPValidationError",i}return t}(v(Error));function P(e,n){if(!(null==n?void 0:n.trim()))throw Error("Template must be a non-empty string");return n.replace(/\{\{([^{}]+)\}\}/g,function(n,t){var r=t.trim();return r in e?String(e[r]):n})}function O(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=encodeURIComponent(e),a="".concat(r.restBaseUrl,"/kenyaemr/send-kenyaemr-sms?message=").concat(i,"&phone=").concat(n);return(null==t?void 0:t.trim())&&(a+="&nationalId=".concat(encodeURIComponent(t))),a}function E(e,n){if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new T("Missing required parameters: receiver or patientName");if(!/^[0-9+]{10,15}$/.test(e.replace(/\s/g,"")))throw new T("Invalid phone number format")}var C=function(){var e,n="".concat(r.restBaseUrl,"/kenyaemr/checkotpsource"),t=(0,i.default)(n,r.openmrsFetch),a=t.data,o=t.error,s=t.isLoading;return{otpSource:null==a||null==(e=a.data)?void 0:e.otpSource,data:a,error:o,isLoading:s}};function M(){return(M=l(function(e,n,t){var i,a,o,s,l,c,u,p,f=arguments;return $(this,function(d){switch(d.label){case 0:i=f.length>3&&void 0!==f[3]?f[3]:5,a=f.length>4&&void 0!==f[4]?f[4]:null,E(n,t),o={otp:e,patient_name:t,expiry_time:i},s="Dear {{patient_name}}, Your OTP to access your Shared Health Records is {{otp}}. By entering this code, you consent to accessing your records. Valid for {{expiry_time}} minutes.",d.label=1;case 1:return d.trys.push([1,3,,4]),l=O(P(o,s),n,a),[4,(0,r.openmrsFetch)(l,{method:"POST",redirect:"follow"})];case 2:if(!(c=d.sent()).ok)if(c.status>=500)throw new x("SMS service temporarily unavailable. Please try again.",c.status);else if(429===c.status)throw new x("Too many SMS requests. Please wait a moment.",c.status,!1);else throw new x("Failed to send SMS (".concat(c.status,")"),c.status);return[3,4];case 3:if(g(u=d.sent(),x)||g(u,T))throw u;throw p=g(u,Error)?u.message:"Unknown error occurred",new x("Failed to send OTP: ".concat(p));case 4:return[2]}})})).apply(this,arguments)}function _(){return(_=l(function(e,n){var t,i,a,o,s,l,c,u,p,f,d,h,y,m,b,v,w,k=arguments;return $(this,function($){switch($.label){case 0:t=k.length>2&&void 0!==k[2]?k[2]:5,i=k.length>3&&void 0!==k[3]?k[3]:null,E(e,n),a={otp:"{{OTP}}",patient_name:n,expiry_time:t},o="Dear {{patient_name}}, Your OTP to access your Shared Health Records is {{otp}}. By entering this code, you consent to accessing your records. Valid for {{expiry_time}} minutes.",$.label=1;case 1:return $.trys.push([1,7,,8]),c=O(P(a,o),e,i),[4,(0,r.openmrsFetch)(c,{method:"POST",redirect:"follow"})];case 2:if(!(s=$.sent()).ok)switch(u=s.statusText||"Unknown error",s.status){case 400:throw new x("Invalid request. Please check the phone number and try again.",s.status,!1);case 401:case 403:throw new x("Authentication failed. Please contact your administrator.",s.status,!1);case 404:throw new x("OTP service not configured. Please contact your administrator.",s.status,!1);case 429:throw new x("Too many requests. Please wait 1 minute before trying again.",s.status,!0);case 500:case 502:case 503:case 504:throw new x("Server temporarily unavailable. Please try again in a moment.",s.status,!0);default:throw new x("Request failed: ".concat(u," (").concat(s.status,")"),s.status,s.status<500)}$.label=3;case 3:return $.trys.push([3,5,,6]),[4,s.text()];case 4:return l=$.sent(),[3,6];case 5:throw $.sent(),new S("Unable to read server response. Please try again.");case 6:if(!l||""===l.trim())throw new S("Server returned an empty response. Please try again.");try{f=JSON.parse(l),p="string"==typeof f?f:l}catch(e){p=l}if((d=p.toLowerCase()).includes("failed to send sms")||d.includes("sms sending failed")||d.includes("sms delivery failed")||d.includes("error")&&!d.includes("{"))throw new A(p.trim().replace(/^["']|["']$/g,"").substring(0,200)||"Failed to send SMS. Please try again.",p,!0);if(!(h=p.match(RegExp("\\{.*\\}","s")))){if(p&&p.trim().length>0)throw new A(p.trim().replace(/^["']|["']$/g,"").substring(0,200)||"Failed to send SMS. Please try again.",p,!0);throw new S("Failed to send SMS. Please try again.",p.substring(0,200))}try{y=JSON.parse(h[0])}catch(e){throw new S("Unable to parse server response. Please try again.",h[0].substring(0,200))}if(!y||"object"!=typeof y)throw new A("Invalid response structure from server",y);if("error"===y.status||"fail"===y.status||"failed"===y.status)throw m=y.message||y.error||"OTP request failed",b=!1!==y.retryable&&"fail"!==y.status,new A(m,y,b);if("success"===y.status){if(!y.id)throw new A("Server error: No OTP reference ID returned. Please try again.",y,!0);return[2,{id:y.id,message:y.message||"OTP sent successfully"}]}throw new A("OTP request failed",y,!0);case 7:if(g(v=$.sent(),x)||g(v,A)||g(v,S)||g(v,T))throw v;if(g(v,TypeError)&&v.message.toLowerCase().includes("fetch"))throw new x("Network connection failed. Please check your internet connection.",void 0,!0);if(g(v,Error)&&("AbortError"===v.name||"TimeoutError"===v.name))throw new x("Request timed out. Please check your connection and try again.",void 0,!0);if(g(v,Error)&&v.message.includes("Template"))throw new A("Configuration error: ".concat(v.message),void 0,!1);throw w=g(v,Error)?v.message:"An unexpected error occurred",new A("Failed to send OTP: ".concat(w),v,!0);case 8:return[2]}})})).apply(this,arguments)}function z(){return(z=l(function(e,n){var t,i,a,o,s,l;return $(this,function(c){switch(c.label){case 0:if(!(null==e?void 0:e.trim()))throw new T("Invalid OTP session. Please request a new OTP.");if(!(null==n?void 0:n.trim()))throw new T("Please enter the OTP code.");if(5!==n.trim().length)throw new T("OTP must be 5 digits.");c.label=1;case 1:return c.trys.push([1,4,,5]),t="".concat(r.restBaseUrl,"/kenyaemr/validate-otp"),[4,(0,r.openmrsFetch)(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,otp:n.trim()})})];case 2:if(!(i=c.sent()).ok)if(400===i.status)throw new T("Invalid verification request. Please request a new OTP.");else if(404===i.status)throw new T("OTP session not found or expired. Please request a new OTP.");else if(i.status>=500)throw new x("Verification service temporarily unavailable. Please try again.",i.status,!0);else throw new x("Verification failed (".concat(i.status,")"),i.status);return[4,i.text()];case 3:a=c.sent();try{o=JSON.parse(a)}catch(e){throw new S("Invalid response from verification service. Please try again.")}if(s=o,o.response&&"string"==typeof o.response)try{s=JSON.parse(o.response)}catch(e){throw new S("Invalid response format. Please try again.")}if("success"===s.status||!0===s.valid)return[2,!0];if(!0===s.expired||"expired"===s.status)throw new T("OTP has expired. Please request a new OTP.");if(!0===s.locked||"locked"===s.status)throw new T("Too many failed attempts. Please request a new OTP.");throw new T(s.message||s.error||"Invalid OTP code",s.remainingAttempts);case 4:if(g(l=c.sent(),T)||g(l,x)||g(l,S))throw l;if(g(l,TypeError)&&l.message.toLowerCase().includes("fetch"))throw new x("Network connection failed. Please check your internet.",void 0,!0);if(g(l,Error)&&("AbortError"===l.name||"TimeoutError"===l.name))throw new x("Verification timed out. Please try again.",void 0,!0);throw new A(g(l,Error)?l.message:"Verification failed",l,!0);case 5:return[2]}})})).apply(this,arguments)}var N=function(){function e(){c(this,e),d(this,"otpStore",new Map),d(this,"MAX_ATTEMPTS",3)}return f(e,[{key:"createSessionKey",value:function(e,n){return n?"".concat(e,"::").concat(n):e}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){var o,s,l,c,u;return $(this,function(p){switch(p.label){case 0:a.cleanupExpiredOTPs(),o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,n="0123456789",t="",r=n.length,i=0;i<e;i++)t+=n[Math.floor(Math.random()*r)];return t}(5),s=60*t*1e3,l=a.createSessionKey(e,i),c={otp:o,timestamp:Date.now(),attempts:0,expiryTime:s,patientId:i},a.otpStore.set(l,c),p.label=1;case 1:return p.trys.push([1,3,,4]),[4,function(e,n,t){return M.apply(this,arguments)}(o,e,n,t,r)];case 2:return p.sent(),[3,4];case 3:throw u=p.sent(),a.otpStore.delete(l),u;case 4:return[2]}})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){var i,a,o;return $(this,function(s){if(r.cleanupExpiredOTPs(),i=r.createSessionKey(e,t),!(a=r.otpStore.get(i)))throw new T("No OTP found for this phone number. Please request a new OTP.");if(Date.now()-a.timestamp>a.expiryTime)throw r.otpStore.delete(i),new T("OTP has expired. Please request a new OTP.");if(a.attempts++,a.attempts>r.MAX_ATTEMPTS)throw r.otpStore.delete(i),new T("Maximum OTP attempts exceeded. Please request a new OTP.");if(a.otp===n.trim())return r.otpStore.delete(i),[2,!0];throw r.otpStore.set(i,a),o=r.MAX_ATTEMPTS-a.attempts,new T("Invalid OTP. ".concat(o," attempt").concat(1!==o?"s":""," remaining."),o)})})()}},{key:"cleanupExpiredOTPs",value:function(){var e=Date.now(),n=!0,t=!1,r=void 0;try{for(var i,a=this.otpStore.entries()[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=b(i.value,2),s=o[0],l=o[1];e-l.timestamp>l.expiryTime&&this.otpStore.delete(s)}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}},{key:"hasValidOTP",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);return!!r&&Date.now()-r.timestamp<=r.expiryTime}},{key:"getRemainingTimeMinutes",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);if(!r)return 0;var i=Date.now()-r.timestamp;return Math.ceil(Math.max(0,r.expiryTime-i)/6e4)}},{key:"getRemainingAttempts",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);return r?Math.max(0,this.MAX_ATTEMPTS-r.attempts):0}},{key:"hasActiveOTPs",value:function(){return this.otpStore.size>0}},{key:"clearOTPForPatient",value:function(e,n){var t=this.createSessionKey(e,n);this.otpStore.delete(t)}}]),e}(),I=function(){function e(){c(this,e),d(this,"otpSessions",new Map),d(this,"MAX_ATTEMPTS",3)}return f(e,[{key:"createSessionKey",value:function(e,n){return n?"".concat(e,"::").concat(n):e}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){var o,s,l,c,u,p;return $(this,function(f){switch(f.label){case 0:a.cleanupExpiredOTPs(),o=60*t*1e3,s=a.createSessionKey(e,i),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,function(e,n){return _.apply(this,arguments)}(e,n,t,r)];case 2:return c=(l=f.sent()).id,l.message,u={otpId:c,timestamp:Date.now(),attempts:0,expiryTime:o,nationalId:r,phoneNumber:e,patientId:i},a.otpSessions.set(s,u),[3,4];case 3:throw p=f.sent(),a.otpSessions.delete(s),p;case 4:return[2]}})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){var i,a,o,s,l,c;return $(this,function(u){switch(u.label){case 0:if(r.cleanupExpiredOTPs(),i=r.createSessionKey(e,t),!(a=r.otpSessions.get(i)))throw new T("No OTP session found for this phone number. Please request a new OTP.");if(Date.now()-a.timestamp>a.expiryTime)throw r.otpSessions.delete(i),new T("OTP has expired. Please request a new OTP.");if(a.attempts++,a.attempts>r.MAX_ATTEMPTS)throw r.otpSessions.delete(i),new T("Maximum OTP attempts exceeded. Please request a new OTP.");u.label=1;case 1:return u.trys.push([1,3,,4]),[4,function(e,n){return z.apply(this,arguments)}(a.otpId,n)];case 2:if(u.sent())return r.otpSessions.delete(i),[2,!0];throw r.otpSessions.set(i,a),o=r.MAX_ATTEMPTS-a.attempts,new T("Invalid OTP. ".concat(o," attempt").concat(1!==o?"s":""," remaining."),o);case 3:if(s=u.sent(),a.attempts>=r.MAX_ATTEMPTS?r.otpSessions.delete(i):r.otpSessions.set(i,a),g(s,T))throw s;if(l=g(s,Error)?s.message:"Invalid OTP",(c=r.MAX_ATTEMPTS-a.attempts)>0)throw new T("".concat(l," ").concat(c," attempt").concat(1!==c?"s":""," remaining."),c);throw new T("Maximum OTP attempts exceeded. Please request a new OTP.");case 4:return[2]}})})()}},{key:"cleanupExpiredOTPs",value:function(){var e=Date.now(),n=!0,t=!1,r=void 0;try{for(var i,a=this.otpSessions.entries()[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=b(i.value,2),s=o[0],l=o[1];e-l.timestamp>l.expiryTime&&this.otpSessions.delete(s)}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}},{key:"hasValidOTP",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);return!!r&&Date.now()-r.timestamp<=r.expiryTime}},{key:"getRemainingTimeMinutes",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);if(!r)return 0;var i=Date.now()-r.timestamp;return Math.ceil(Math.max(0,r.expiryTime-i)/6e4)}},{key:"getRemainingAttempts",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);return r?Math.max(0,this.MAX_ATTEMPTS-r.attempts):0}},{key:"hasActiveOTPs",value:function(){return this.otpSessions.size>0}},{key:"clearOTPForPatient",value:function(e,n){var t=this.createSessionKey(e,n);this.otpSessions.delete(t)}}]),e}(),D=new(function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"kehmis";c(this,e),d(this,"kehmisManager",void 0),d(this,"hieManager",void 0),d(this,"currentSource",void 0),this.kehmisManager=new N,this.hieManager=new I,this.currentSource=n}return f(e,[{key:"setOtpSource",value:function(e){if("kehmis"!==e&&"hie"!==e)throw Error("Invalid OTP source: ".concat(e,". Must be 'kehmis' or 'hie'"));this.currentSource=e}},{key:"getOtpSource",value:function(){return this.currentSource}},{key:"getManager",value:function(){if("hie"===this.currentSource)return this.hieManager;if("kehmis"===this.currentSource)return this.kehmisManager;throw Error("Invalid OTP source: ".concat(this.currentSource))}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){return $(this,function(o){if(a.cleanupExpiredOTPs(),!a.currentSource)throw Error("OTP source not configured. Please contact your administrator.");return[2,a.getManager().requestOTP(e,n,t,r,i)]})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){return $(this,function(i){if(r.cleanupExpiredOTPs(),!r.currentSource)throw Error("OTP source not configured. Please contact your administrator.");return[2,r.getManager().verifyOTP(e,n,t)]})})()}},{key:"cleanupExpiredOTPs",value:function(){this.kehmisManager.cleanupExpiredOTPs(),this.hieManager.cleanupExpiredOTPs()}},{key:"hasValidOTP",value:function(e,n){return this.getManager().hasValidOTP(e,n)}},{key:"getRemainingTimeMinutes",value:function(e,n){return this.getManager().getRemainingTimeMinutes(e,n)}},{key:"getRemainingAttempts",value:function(e,n){return this.getManager().getRemainingAttempts(e,n)}},{key:"hasActiveOTPs",value:function(){return this.kehmisManager.hasActiveOTPs()||this.hieManager.hasActiveOTPs()}},{key:"clearOTPForPatient",value:function(e,n){this.kehmisManager.clearOTPForPatient(e,n),this.hieManager.clearOTPForPatient(e,n)}}]),e}()),R=function(){D.cleanupExpiredOTPs()}},71746:function(e,n,t){t.d(n,{Z:()=>T});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(83238),l=t(49994),c=t(16709),u=t.n(c),p=t(86699),f=t(84786),d=t(50184),h=t(96637),y=t(88805),g=t(34674),m=t(17219),b=t(75922),v=t(63624);function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function k(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function $(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){k(a,r,i,o,s,"next",e)}function s(e){k(a,r,i,o,s,"throw",e)}o(void 0)})}}function x(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function A(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let T=function(e){var n,t=e.localSearchResults,c=(e.syncedPatients,e.searchedNationalId),w=e.otpExpiryMinutes,k=void 0===w?5:w,T=e.hieSearchResults,P=void 0===T?null:T,O=e.eligibilityResponse,E=e.isEligibilityLoading,C=void 0!==E&&E,M=(0,l.useTranslation)().t,_=A((0,r.useState)(new Set),2),z=_[0],N=_[1],I=A((0,r.useState)(new Set),2),D=I[0],R=I[1],j=A((0,r.useState)(new Map),2),q=(j[0],j[1]),L=A((0,r.useState)(new Set),2),V=L[0],F=L[1],B=(0,b.at)(),U=B.otpSource,Z=B.isLoading;B.error,(0,r.useEffect)(function(){U&&b.De.setOtpSource(U)},[U]),(0,r.useEffect)(function(){return function(){(0,b.cM)()}},[]);var H=(0,r.useMemo)(function(){return(null==t?void 0:t.map(function(e){return e.uuid}))||[]},[t]),W=(0,m.l0)(H),G=(0,r.useCallback)(function(e){if(!P||!Array.isArray(P))return null;var n=(0,h.FJ)(e),t=(0,h.Sc)(n);if(!t)return null;var r=!0,i=!1,a=void 0;try{for(var o,s=P[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var l=o.value;if(l.entry){var c=!0,u=!1,p=void 0;try{for(var f,d=l.entry[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var y=f.value;if((0,h.Sc)(y.resource)===t)return y.resource}}catch(e){u=!0,p=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw p}}}}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return null},[P]),K=(0,r.useCallback)(function(e){F(function(n){var t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t})},[]),X=(0,r.useCallback)(function(e){var n,t=null==(n=e.attributes)?void 0:n.find(function(e){var n,t,r,i,a,o;return(null==(t=e.attributeType)||null==(n=t.display)?void 0:n.toLowerCase().includes("phone"))||(null==(i=e.attributeType)||null==(r=i.display)?void 0:r.toLowerCase().includes("mobile"))||(null==(o=e.attributeType)||null==(a=o.display)?void 0:a.toLowerCase().includes("telephone"))});return(null==t?void 0:t.value)?(0,v.jc)(t.value):"254700000000"},[]),Q=(n=$(function(e,n){return S(this,function(t){switch(t.label){case 0:return[4,(0,f.launchWorkspaceGroup2)("ewf-patient-chart",{patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}})];case 1:return t.sent(),(0,f.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},null),[2]}})}),function(e,t){return n.apply(this,arguments)}),Y=(0,r.useCallback)(function(e){R(function(n){return new Set(n).add(e)})},[]),J=(0,r.useCallback)(function(e){N(function(n){return new Set(n).add(e)}),R(function(n){var t=new Set(n);return t.delete(e),t}),q(function(n){var t=new Map(n);return t.delete(e),t})},[]),ee=(0,r.useCallback)(function(e,n,t){var r,i;return{onRequestOtp:(r=$(function(t){var r;return S(this,function(i){switch(i.label){case 0:r=(0,v.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!U)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(U),[4,b.De.requestOTP(r,n,k,c,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=$(function(n,r){var i;return S(this,function(r){switch(r.label){case 0:i=(0,v.jc)(t),r.label=1;case 1:if(r.trys.push([1,3,,4]),!U)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(U),[4,b.De.verifyOTP(i,n,e)];case 2:if(!r.sent())throw Error("OTP verification failed");return[3,4];case 3:throw r.sent();case 4:return[2]}})}),function(e,n){return i.apply(this,arguments)}),cleanup:function(){b.De.cleanupExpiredOTPs()}}},[k,c,U]),en=(0,r.useCallback)(function(e,n){var t=(0,f.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},[]);return t&&0!==t.length?i().createElement(i().Fragment,null,t.map(function(e,n){var t,r,l,c,m,b,v,w,$,A,S=(0,h.FJ)(e),T=(null==e||null==(r=e.person)||null==(t=r.personName)?void 0:t.display)||"".concat((null==e||null==(c=e.person)||null==(l=c.personName)?void 0:l.givenName)||""," ").concat((null==e||null==(b=e.person)||null==(m=b.personName)?void 0:m.middleName)||""," ").concat((null==e||null==(w=e.person)||null==(v=w.personName)?void 0:v.familyName)||"").trim()||"Unknown Patient",P=e.uuid,E=z.has(P),_=D.has(P),N=(null==($=W[n])?void 0:$.activeVisit)||null,I=!!N,R=G(e),j=!!R&&(0,h.eE)(R),q=V.has(P),L=X(e),F=ee(P,T,L),B=F.onRequestOtp,H=F.onVerify,et=F.cleanup;return i().createElement(i().Fragment,{key:"local-".concat(n)},i().createElement("div",{className:u()(p.Z.container,p.Z.localPatient,(x(A={},p.Z.verifiedPatient,E),x(A,p.Z.activeVisitPatient,I),A)),role:"banner"},i().createElement("div",{className:p.Z.patientInfo},i().createElement("div",{className:p.Z.patientAvatar,role:"img"},i().createElement(f.PatientPhoto,{patientUuid:P,patientName:T})),i().createElement(d.N,{patient:S,renderedFrom:"local-search",eligibilityData:O,isEligibilityLoading:C,crNumber:null==R?void 0:R.id})),i().createElement("div",{className:p.Z.buttonCol},i().createElement("div",{className:p.Z.actionButtons},!E&&!_&&i().createElement(a.zxk,{kind:"primary",size:"sm",renderIcon:o.H3,disabled:Z||!U,onClick:function(){Y(P),(0,y.L)({otpLength:5,obscureText:!1,phoneNumber:L,expiryMinutes:k,onRequestOtp:B,onVerify:H,onVerificationSuccess:function(){return J(P)},onCleanup:et})}},Z?M("loadingOtpConfig","Loading..."):M("sendOtp","Send OTP")),_&&!E&&i().createElement(a.zxk,{kind:"ghost",size:"sm",onClick:function(){(0,y.L)({otpLength:5,obscureText:!1,phoneNumber:L,expiryMinutes:k,onRequestOtp:B,onVerify:H,onVerificationSuccess:function(){return J(P)},onCleanup:et})}},M("enterOtp","Enter OTP")),E&&i().createElement(i().Fragment,null,!I&&i().createElement(a.zxk,{kind:"primary",size:"sm",onClick:function(){return Q(e,P)}},M("checkIn","Check In")),I&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return en(N,P)}},M("queuePatient","Queue Patient")),j&&R&&i().createElement(a.zxk,{iconDescription:q?"Hide dependents":"Show dependents",kind:"tertiary",size:"sm",onClick:function(){return K(P)},renderIcon:q?s.Kh:s._M},q?M("hideDependents","Hide dependents"):M("showDependents","Show dependents")))))),E&&q&&R&&i().createElement("div",{className:p.Z.dependentsSection},i().createElement("div",{className:p.Z.dependentsContainer},i().createElement(g.Z,{patient:R,otpExpiryMinutes:k}))))})):null}},9515:function(e,n,t){t.d(n,{$P:()=>d,A8:()=>o,EW:()=>s,Kl:()=>i,ON:()=>r,_R:()=>f,eR:()=>l,hq:()=>h,iw:()=>u,lz:()=>a,nZ:()=>c,yX:()=>p});var r="NO_API_CREDENNTIALS",i="RESOURCE_NOT_FOUND",a="UNKNOWN",o="PATIENT_NOT_FOUND",s="HIE_CONFIGURATION_MISSING",l="dfacd928-0370-4315-99d7-6ec1c9f7ae76",c="fb034aac-2353-4940-abe2-7bc94e7c1e71",u="52c3c0c3-05b8-4b26-930e-2a6a54e14c90",p="49af6cdc-7968-4abb-bf46-de10d7f4859f",f="be9beef6-aacc-4e1f-ac4e-5babeaa1e303",d="68449e5a-8829-44dd-bfef-c9c8cf2cb9b2",h="24aedd37-b5be-4e08-8311-3721b8d5100d"},34674:function(e,n,t){t.d(n,{Z:()=>L});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(49994),l=t(84786),c=t(82108),u=t.n(c),p=t(46062),f=t.n(p),d=t(44036),h=t.n(d),y=t(96793),g=t.n(y),m=t(17892),b=t.n(m),v=t(11173),w=t.n(v),k=t(42464),$=t.n(k),x=t(93975),A={};A.styleTagTransform=$(),A.setAttributes=b(),A.insert=g().bind(null,"head"),A.domAPI=h(),A.insertStyleElement=w(),f()(x.Z,A);let S=x.Z&&x.Z.locals?x.Z.locals:void 0;var T=t(96637),P=t(68281),O=t(17219),E=t(75922),C=t(88805),M=t(63624);function _(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function z(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function N(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){z(a,r,i,o,s,"next",e)}function s(e){z(a,r,i,o,s,"throw",e)}o(void 0)})}}function I(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function D(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){I(e,n,t[n])})}return e}function R(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function j(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return _(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let L=function(e){var n,t=e.patient,c=(e.localSearchResults,e.otpExpiryMinutes),p=void 0===c?5:c,f=(0,s.useTranslation)().t,d=j((0,r.useState)({}),2),h=d[0],y=d[1],g=j((0,r.useState)({}),2),m=g[0],b=g[1],v=j((0,r.useState)(new Map),2),w=v[0],k=v[1],$=j((0,r.useState)(new Set),2),x=$[0],A=$[1],_=j((0,r.useState)(new Set),2),z=_[0],L=_[1],V=j((0,r.useState)(new Map),2),F=V[0],B=V[1],U=(0,E.at)(),Z=U.otpSource,H=U.isLoading;(0,r.useEffect)(function(){Z&&E.De.setOtpSource(Z)},[Z]),(0,r.useEffect)(function(){return function(){(0,E.cM)()}},[]);var W=(0,r.useMemo)(function(){try{return(0,O.lY)(t)}catch(e){return[]}},[t]),G=(0,r.useMemo)(function(){return W.map(function(e){var n=w.get(e.id);return(null==n?void 0:n.uuid)||null})},[W,w]),K=(0,O.l0)(G),X=(0,r.useCallback)(function(e,n){var t=(0,l.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},[]),Q=(0,r.useCallback)(function(e){if("contact"in e&&e.contact&&Array.isArray(e.contact)){var n=!0,t=!1,r=void 0;try{for(var i,a=e.contact[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=i.value;if(o.telecom&&Array.isArray(o.telecom)){var s=o.telecom.find(function(e){return"phone"===e.system&&e.value&&"N/A"!==e.value&&""!==e.value.trim()});if(s)return(0,M.jc)(s.value)}}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}var l=w.get(e.id);if((null==l?void 0:l.attributes)&&Array.isArray(l.attributes)){var c=l.attributes.find(function(e){var n;return(null==(n=e.attributeType)?void 0:n.uuid)==="b2c38640-2603-4629-aebd-3b54f33f1e3a"&&e.value&&""!==e.value.trim()&&e.value.trim().length>0});if(null==c?void 0:c.value)return(0,M.jc)(c.value)}if("phoneNumber"in e&&"string"==typeof e.phoneNumber){var u=e.phoneNumber.trim();if(u&&"N/A"!==u&&u.length>0)return(0,M.jc)(u)}if("contactData"in e&&e.contactData&&"telecom"in e.contactData&&Array.isArray(e.contactData.telecom)){var p=e.contactData.telecom.find(function(e){return"phone"===e.system&&e.value&&"N/A"!==e.value&&""!==e.value.trim()});if(null==p?void 0:p.value)return(0,M.jc)(p.value)}return"254700000000"},[w]),Y=(0,r.useCallback)(function(e){L(function(n){return new Set(n).add(e)})},[]),J=(0,r.useCallback)(function(e){A(function(n){return new Set(n).add(e)}),L(function(n){var t=new Set(n);return t.delete(e),t}),B(function(n){var t=new Map(n);return t.delete(e),t})},[]),ee=(0,r.useCallback)(function(e,n,t){var r,i;return{onRequestOtp:(r=N(function(t){var r;return q(this,function(i){switch(i.label){case 0:r=(0,M.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!Z)throw Error("OTP source not configured. Please contact your administrator.");return E.De.setOtpSource(Z),B(function(n){return new Map(n.set(e,r))}),[4,E.De.requestOTP(r,n,p,null,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=N(function(n){var r,i;return q(this,function(a){switch(a.label){case 0:if(a.trys.push([0,2,,3]),!Z)throw Error("OTP source not configured. Please contact your administrator.");return E.De.setOtpSource(Z),r=F.get(e)||t,i=(0,M.jc)(r),[4,E.De.verifyOTP(i,n,e)];case 1:if(!a.sent())throw Error("OTP verification failed");return[3,3];case 2:throw a.sent();case 3:return[2]}})}),function(e){return i.apply(this,arguments)}),cleanup:function(){E.De.cleanupExpiredOTPs()}}},[F,p,Z]),en=(0,r.useCallback)((n=N(function(e){var n,t,r,i;return q(this,function(a){switch(a.label){case 0:if(n=w.get(e.id),t="spouse"===e.relationship.toLowerCase(),r=x.has(e.id),t&&!r&&!n)return(0,l.showSnackbar)({title:f("verificationRequired","Verification Required"),subtitle:f("spouseVerificationRequired","Please verify the spouse with OTP before registering"),kind:"warning",isLowContrast:!1}),[2];if(!n)return[3,2];return[4,(0,l.launchWorkspaceGroup2)("ewf-patient-chart",{patient:n,patientUuid:n.uuid,visitContext:null,mutateVisitContext:function(){}})];case 1:return a.sent(),(0,l.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"dependants-check-in",showPatientHeader:!1},{},null),[3,7];case 2:y(function(n){return R(D({},n),I({},e.id,!0))}),a.label=3;case 3:return a.trys.push([3,5,6,7]),[4,(0,P.to)(e,f)];case 4:return a.sent(),[3,7];case 5:return i=a.sent(),(0,l.showSnackbar)({title:f("dependentRegistrationError","Error registering dependent"),subtitle:f("dependentRegistrationErrorSubtitle","Error registering dependent: {{error}}",{error:i.message}),kind:"error",isLowContrast:!1}),[3,7];case 6:return y(function(n){return R(D({},n),I({},e.id,!1))}),[7];case 7:return[2]}})}),function(e){return n.apply(this,arguments)}),[w,x,f]),et=(0,r.useMemo)(function(){return[{key:"name",header:f("name","Name")},{key:"relationship",header:f("relationship","Relationship")},{key:"gender",header:f("gender","Gender")},{key:"birthDate",header:f("birthDate","Birth Date")},{key:"identifiers",header:f("identifiers","Identifiers")},{key:"status",header:f("status","Status")},{key:"actions",header:f("actions","Actions")}]},[f]),er=(0,r.useMemo)(function(){return W.map(function(e,n){var t=w.get(e.id),r=!!t,s=h[e.id],l=m[e.id],c=K[n]||{activeVisit:null,isLoading:!1},d=c.activeVisit,y=c.isLoading,g=!!d,b="spouse"===e.relationship.toLowerCase(),v=x.has(e.id),k=z.has(e.id),$=e.id&&"N/A"!==e.id?"CR Number: ".concat(e.id):"N/A",A=Q(e),P=ee(e.id,e.name,A),O=P.onRequestOtp,E=P.onVerify,M=P.cleanup;return{id:e.id,name:T.u3?(0,T.u3)(u()(e.name.toLowerCase())):u()(e.name.toLowerCase()),relationship:i().createElement("div",null,u()(e.relationship.toLowerCase())),gender:u()(e.gender),birthDate:"Unknown"!==e.birthDate?e.birthDate:"N/A",status:i().createElement("div",null,g&&i().createElement(a.Vp9,{type:"blue",size:"md"},f("checkedIn","Checked In")),!g&&!y&&i().createElement(a.Vp9,{type:"gray",size:"md"},f("notCheckedIn","Not Checked In"))),identifiers:$,actions:i().createElement("div",{className:S.actionButtons},b&&!v&&!k&&i().createElement(a.zxk,{size:"sm",kind:"primary",renderIcon:o.H3,disabled:H||!Z,onClick:function(){Y(e.id),(0,C.L)({otpLength:5,obscureText:!1,phoneNumber:A,expiryMinutes:p,onRequestOtp:O,onVerify:E,onVerificationSuccess:function(){return J(e.id)},onCleanup:M})}},H?f("loadingOtpConfig","Loading..."):f("sendOtp","Send OTP")),b&&!v&&k&&i().createElement(a.zxk,{size:"sm",kind:"ghost",renderIcon:o.H3,onClick:function(){(0,C.L)({otpLength:5,obscureText:!1,phoneNumber:A,expiryMinutes:p,onRequestOtp:O,onVerify:E,onVerificationSuccess:function(){return J(e.id)},onCleanup:M})}},f("enterOtp","Enter OTP")),(!b||v)&&i().createElement(i().Fragment,null,!r&&i().createElement(a.zxk,{size:"sm",kind:"ghost",onClick:function(){return en(e)},disabled:s||l},s?f("processing","Processing..."):l?f("searching","Searching..."):f("checkIn","Check In Dependent")),r&&!g&&i().createElement(a.zxk,{size:"sm",kind:"secondary",onClick:function(){return en(e)},disabled:s||l||y},y?f("searching","Searching..."):f("checkIn","Check In")),r&&g&&i().createElement(a.zxk,{size:"sm",kind:"secondary",onClick:function(){return X(d,t.uuid)},disabled:s||l||y},f("queuePatient","Queue Patient"))))}})},[W,w,h,m,K,x,z,H,Z,Q,ee,Y,J,en,X,p,f]);return((0,r.useEffect)(function(){if(0!==W.length){var e;(e=N(function(){return q(this,function(e){switch(e.label){case 0:var n;return[4,Promise.all(W.map((n=N(function(e){var n,t;return q(this,function(r){switch(r.label){case 0:if(w.has(e.id))return[2];b(function(n){return R(D({},n),I({},e.id,!0))}),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,(0,P.Zp)(e.contactData,!0)];case 2:return n=r.sent(),k(function(t){return new Map(t.set(e.id,n))}),[3,5];case 3:return t=r.sent(),console.warn("Error searching for dependent ".concat(e.id,":"),t),k(function(n){return new Map(n.set(e.id,null))}),[3,5];case 4:return b(function(n){return R(D({},n),I({},e.id,!1))}),[7];case 5:return[2]}})}),function(e){return n.apply(this,arguments)})))];case 1:return e.sent(),[2]}})}),function(){return e.apply(this,arguments)})()}},[W,w]),0===W.length)?i().createElement("div",null,f("noDependentsFound","No dependents found for this patient")):i().createElement("div",null,i().createElement("span",{className:S.dependentsTitle},f("dependents","Dependent(s)")," (",W.length,")"),i().createElement(a.wQF,{size:"xs",useZebraStyles:!0,rows:er,headers:et},function(e){var n=e.rows,t=e.headers,r=e.getTableProps,o=e.getHeaderProps,s=e.getRowProps;return i().createElement(a.iA_,r(),i().createElement(a.ssF,null,i().createElement(a.SCH,null,t.map(function(e){return i().createElement(a.xDH,o({header:e}),e.header)}))),i().createElement(a.RMI,null,n.map(function(e){return i().createElement(a.SCH,s({row:e}),e.cells.map(function(e){return i().createElement(a.pj1,{key:e.id},e.value)}))})))}))}},17219:function(e,n,t){t.d(n,{dk:()=>g,l0:()=>k,lY:()=>w,r5:()=>b});var r=t(84786),i=t(96637),a=t(9515),o=t(91111);function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function l(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function c(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){l(a,r,i,o,s,"next",e)}function s(e){l(a,r,i,o,s,"throw",e)}o(void 0)})}}function u(e,n){if(e){if("string"==typeof e)return s(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(e,n)}}function p(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function f(e,n){return d.apply(this,arguments)}function d(){return(d=c(function(e,n){var t,o,l,c,f,d,h,y,g,m,b,v,w,k,$,x,A,S,T,P,O,E,C,M,_,z,N,I,D,R,j,q,L,V,F,B,U,Z,H,W,G,K,X,Q,Y,J,ee,en,et;return p(this,function(p){switch(p.label){case 0:return p.trys.push([0,8,,9]),t=e.patientData,o=e.type,l=e.gender,c=e.birthDate,[4,(0,r.getSessionLocation)()];case 1:var er;h=null!=(d=null==(f=p.sent())?void 0:f.uuid)?d:"",y=[],g="",m="",b="",v=c,w=l,k=[],"hie-patient"===o?((y=(null==($=(S=t).identifier)?void 0:$.map(function(e){return{identifier:e.value,identifierType:(0,i.s2)(e.type.coding[0].code),location:h,preferred:!1}}).filter(function(e){return e.identifierType}))||[]).push({identifier:null==S?void 0:S.id,identifierType:(0,i.s2)("sha-id-number"),location:h,preferred:!1}),(T=null==(x=S.name)?void 0:x[0])&&(g=(null==(P=T.given)?void 0:P[0])||"",m=(null==(O=T.given)?void 0:O.slice(1).join(" "))||"",b=T.family||"",g||b||!T.text||(g=(E=T.text.trim().split(" "))[0]||"",m=E.slice(1,-1).join(" "),b=E[E.length-1]||"")),v=S.birthDate,w=S.gender,k=(null==(A=S.address)?void 0:A.map(function(e){return{address1:"",address2:"",cityVillage:e.city||"",country:e.country||"",postalCode:"",stateProvince:"",countyDistrict:""}}))||[]):"dependent"===o&&((y=(null==(C=(R=t).extension)?void 0:C.filter(function(e){return"identifiers"===e.url&&e.valueIdentifier}).map(function(e){return{identifier:e.valueIdentifier.value,identifierType:(0,i.s2)(e.valueIdentifier.type.coding[0].code),location:h,preferred:!1}}).filter(function(e){return e.identifierType}))||[]).push({identifier:null==R?void 0:R.id,identifierType:(0,i.s2)("sha-id-number"),location:h,preferred:!1}),j=null==(_=R.extension)||null==(M=_.find(function(e){return"https://ts.kenya-hie.health/fhir/StructureDefinition/date_of_birth"===e.url}))?void 0:M.valueString,q=(null==(z=R.name)?void 0:z.given)||[],b=(null==(N=R.name)?void 0:N.family)||"",q.length>0?(g=q[0],m=q.slice(1).join(" ")):(null==(I=R.name)?void 0:I.text)&&(g=(L=R.name.text.trim().split(" "))[0]||"",m=L.slice(1,-1).join(" "),!b&&L.length>1&&(b=L[L.length-1])),v=j,w=R.gender,k=[{address1:"",cityVillage:"",country:(null==(D=R.address)?void 0:D.country)||"",postalCode:"",stateProvince:""}]),y.length>0&&(y[0].preferred=!0),V=[],"hie-patient"===o&&(null==(B=null==(F=t.telecom)?void 0:F.find(function(e){return"phone"===e.system}))?void 0:B.value)&&V.push({attributeType:"b2c38640-2603-4629-aebd-3b54f33f1e3a",value:B.value}),U={address1:"",cityVillage:"",country:"",postalCode:"",stateProvince:""},Z={person:{names:[{preferred:!0,givenName:(0,i.qI)(g)||"Unknown",middleName:(0,i.qI)(m)||"",familyName:(0,i.qI)(b)||"Unknown"}],gender:(null==w?void 0:w.charAt(0).toUpperCase())||"U",birthdate:v||null,birthdateEstimated:!v,attributes:V,addresses:k.length>0?k:[U]},identifiers:function(e){if(Array.isArray(e))return s(e)}(er=y)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(er)||u(er)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},p.label=2;case 2:return p.trys.push([2,5,,6]),[4,(0,i.fX)(a.nZ)];case 3:return H=p.sent(),[4,(0,r.getSessionLocation)()];case 4:if(!(null==(W=p.sent())?void 0:W.uuid))throw Error("Could not determine session location");return G={identifier:H.data.identifier,identifierType:a.eR,location:W.uuid,preferred:0===y.length},Z.identifiers.push(G),y.length>0&&(Z.identifiers.forEach(function(e){e.identifierType!==a.eR&&(e.preferred=!1)}),G.preferred=!0),[3,6];case 5:throw p.sent(),Error("Failed to generate OpenMRS identifier");case 6:if(0===Z.identifiers.length)throw Error("No valid identifiers found for the patient");return[4,(0,r.openmrsFetch)("".concat(r.restBaseUrl,"/patient"),{method:"POST",headers:{"Content-Type":"application/json"},body:Z})];case 7:return K=p.sent(),X="hie-patient"===o?"patient":"dependent",(0,r.showSnackbar)({title:n("".concat(X,"RegisteredSuccessfully"),"".concat(X," registered successfully")),subtitle:n("".concat(X,"RegisteredSuccessfullySubtitle"),"You can now start a visit for the ".concat(X)),kind:"success",isLowContrast:!0}),[2,K.data];case 8:throw console.error("Error creating patient:",Q=p.sent()),en="hie-patient"===e.type?"Patient":"Dependent",et=n("".concat(en.toLowerCase(),"RegistrationFailedSubtitle"),"Please try again or contact support"),(null==Q||null==(ee=Q.response)||null==(J=ee.data)||null==(Y=J.error)?void 0:Y.message)?et=Q.response.data.error.message:(null==Q?void 0:Q.message)&&(et=Q.message),(0,r.showSnackbar)({title:n("".concat(en.toLowerCase(),"RegistrationFailed"),"".concat(en," registration failed")),subtitle:et,kind:"error",isLowContrast:!0}),Q;case 9:return[2]}})})).apply(this,arguments)}function h(e,n){return y.apply(this,arguments)}function y(){return(y=c(function(e,n){return p(this,function(t){switch(t.label){case 0:return[4,(0,r.launchWorkspaceGroup2)("ewf-patient-chart",{patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}})];case 1:return t.sent(),(0,r.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},null),[2]}})})).apply(this,arguments)}function g(e,n){return m.apply(this,arguments)}function m(){return(m=c(function(e,n){var t;return p(this,function(r){switch(r.label){case 0:return[4,f({name:e.name,gender:e.gender,patientData:e.dependentInfo,type:"dependent"},n)];case 1:return[4,h(t=r.sent(),t.uuid)];case 2:return r.sent(),[2,t]}})})).apply(this,arguments)}function b(e,n){return v.apply(this,arguments)}function v(){return(v=c(function(e,n){var t,r,i,a,o,s,l,c;return p(this,function(u){switch(u.label){case 0:return[4,f({name:(null==(r=e.name)||null==(t=r[0])?void 0:t.text)||"".concat((null==(o=e.name)||null==(a=o[0])||null==(i=a.given)?void 0:i.join(" "))||""," ").concat((null==(l=e.name)||null==(s=l[0])?void 0:s.family)||"").trim()||"Unknown Patient",gender:e.gender,birthDate:e.birthDate,patientData:e,type:"hie-patient"},n)];case 1:return[4,h(c=u.sent(),c.uuid)];case 2:return u.sent(),[2,c]}})})).apply(this,arguments)}var w=function(e){return(null==e?void 0:e.contact)?e.contact.map(function(e,n){var t,r,i,a,o,s,l,c,u,p,f,d,h,y,g,m,b,v,w,k,$,x=(null==(a=e.relationship)||null==(i=a[0])||null==(r=i.coding)||null==(t=r[0])?void 0:t.display)||"Unknown",A=(null==(s=e.name)||null==(o=s.text)?void 0:o.trim())||"".concat((null==(c=e.name)||null==(l=c.given)?void 0:l.join(" "))||""," ").concat((null==(u=e.name)?void 0:u.family)||"").trim()||"Unknown",S=null==(p=e.telecom)?void 0:p.find(function(e){return"phone"===e.system}),T=(null==S?void 0:S.value)||"N/A",P=null==(f=e.telecom)?void 0:f.find(function(e){return"email"===e.system}),O=(null==P?void 0:P.value)||"N/A",E=e.gender||"Unknown",C=null==(d=e.extension)?void 0:d.find(function(e){return"https://ts.kenya-hie.health/fhir/StructureDefinition/date_of_birth"===e.url}),M=(null==C?void 0:C.valueString)||"Unknown",_=(null==(h=e.extension)?void 0:h.filter(function(e){return"identifiers"===e.url}))||[],z=null==(g=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="sha-number"}))||null==(y=g.valueIdentifier)?void 0:y.value,N=null==(b=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="sha-id-number"}))||null==(m=b.valueIdentifier)?void 0:m.value,I=null==(w=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="national-id"}))||null==(v=w.valueIdentifier)?void 0:v.value,D=null==($=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="birth-certificate"}))||null==(k=$.valueIdentifier)?void 0:k.value;return{id:e.id||"contact-".concat(n),name:A,relationship:x,phoneNumber:T,email:O,gender:E,birthDate:M,shaNumber:z,nationalId:I,birthCertificate:D,contactData:e,shaIdNumber:N}}):[]},k=function(e){var n,t=(n=(0,o.useState)([]),function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(n,2)||u(n,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],i=t[1];return(0,o.useEffect)(function(){var n,t=(n=c(function(){return p(this,function(n){switch(n.label){case 0:var t;return[4,Promise.all(e.map((t=c(function(e){var n,t,r,i;return p(this,function(a){switch(a.label){case 0:if(!e)return[2,{activeVisit:null,isLoading:!1}];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch("/openmrs/ws/rest/v1/visit?patient=".concat(e,"&includeInactive=false&v=default"))];case 2:if(!(n=a.sent()).ok)throw Error("HTTP error! status: ".concat(n.status));return[4,n.json()];case 3:return[2,{activeVisit:(r=(null==(t=a.sent())?void 0:t.results)||[]).length>0?r[0]:null,isLoading:!1}];case 4:return i=a.sent(),console.warn("Error fetching active visit for patient ".concat(e,":"),i),[2,{activeVisit:null,isLoading:!1}];case 5:return[2]}})}),function(e){return t.apply(this,arguments)})))];case 1:return i(n.sent()),[2]}})}),function(){return n.apply(this,arguments)});e.length>0?(i(e.map(function(){return{activeVisit:null,isLoading:!0}})),t()):i([])},[e]),r}}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_express_workflow_app=globalThis.webpackChunk_kenyaemr_esm_express_workflow_app||[]).push([["6328"],{20517:function(e,n,t){t.d(n,{Z:()=>s});var r=t(49130),i=t.n(r),a=t(22577),o=t.n(a)()(i());o.push([e.id,".-esm-express-workflow__card__buttonCol___TAG4Y{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-end;align-items:center}.-esm-express-workflow__card__actionButtons___mb2pR{display:flex;flex-direction:row;align-items:center}.-esm-express-workflow__card__patientInfo___CLlxt{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center}.-esm-express-workflow__card__patientAvatar___6blxO{margin-top:1.5rem}.-esm-express-workflow__card__dependentsSection___vQoZp{width:100%;margin-top:1rem;border-top:1px solid #e0e0e0;padding-top:1rem}.-esm-express-workflow__card__noDependents___PlsWQ{padding-bottom:1rem}","",{version:3,sources:["webpack://./src/components/registration/card/card.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAIA,gDACE,gBAAA,CACA,UAAA,CACA,YAAA,CACA,wBAAA,CACA,kBAAA,CAGF,oDACE,YAAA,CACA,kBAAA,CACA,kBAAA,CAGF,kDACE,gBAAA,CACA,UAAA,CACA,YAAA,CACA,8BAAA,CACA,UCGW,CDFX,kBAAA,CAEF,oDACE,iBCSW,CDNb,wDACE,UAAA,CACA,eAAA,CACA,4BAAA,CACA,gBAAA,CAGF,mDACE,mBAAA",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.buttonCol {\n grid-column: 1 / -1;\n grid-row: 2;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n\n.actionButtons {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.patientInfo {\n grid-column: 1 / -1;\n grid-row: 1;\n display: grid;\n grid-template-columns: auto 1fr;\n gap: layout.$spacing-04;\n align-items: center;\n}\n.patientAvatar {\n margin-top: layout.$spacing-06;\n}\n\n.dependentsSection {\n width: 100%;\n margin-top: 1rem;\n border-top: 1px solid colors.$gray-20;\n padding-top: 1rem;\n}\n\n.noDependents {\n padding-bottom: 1rem;\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),o.locals={buttonCol:"-esm-express-workflow__card__buttonCol___TAG4Y",actionButtons:"-esm-express-workflow__card__actionButtons___mb2pR",patientInfo:"-esm-express-workflow__card__patientInfo___CLlxt",patientAvatar:"-esm-express-workflow__card__patientAvatar___6blxO",dependentsSection:"-esm-express-workflow__card__dependentsSection___vQoZp",noDependents:"-esm-express-workflow__card__noDependents___PlsWQ"};let s=o},93975:function(e,n,t){t.d(n,{Z:()=>s});var r=t(49130),i=t.n(r),a=t(22577),o=t.n(a)()(i());o.push([e.id,'.-esm-express-workflow__dependants__dependentsTitle___QapOR{display:flex;font-size:.75rem;align-items:center;justify-content:space-between;row-gap:1.5rem;position:relative;margin-bottom:1.5rem}.-esm-express-workflow__dependants__dependentsTitle___QapOR::after{content:"";display:block;width:2rem;border-bottom:.375rem solid var(--brand-03);position:absolute;bottom:-0.75rem;left:0}.-esm-express-workflow__dependants__dependentsTitle___QapOR>span{font-size:var(--cds-body-01-font-size, 0.875rem);font-weight:var(--cds-body-01-font-weight, 400);line-height:var(--cds-body-01-line-height, 1.42857);letter-spacing:var(--cds-body-01-letter-spacing, 0.16px)}',"",{version:3,sources:["webpack://./src/components/registration/dependants/dependants.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./../../node_modules/@carbon/type/scss/_styles.scss"],names:[],mappings:"AAIA,4DACE,YAAA,CACA,gBCoBW,CDlBX,kBAAA,CACA,6BAAA,CACA,cC0BW,CDzBX,iBAAA,CACA,oBCwBW,CDtBX,mEACE,UAAA,CACA,aAAA,CACA,UCwBS,CDvBT,2CAAA,CACA,iBAAA,CACA,eAAA,CACA,MAAA,CAGF,iEE00BE,gDAAA,CAAA,+CAAA,CAAA,mDAAA,CAAA,wDAAA",sourcesContent:["@use '@carbon/layout';\n@use '@carbon/type';\n@use '@carbon/colors';\n\n.dependentsTitle {\n display: flex;\n font-size: layout.$spacing-04;\n\n align-items: center;\n justify-content: space-between;\n row-gap: layout.$spacing-06;\n position: relative;\n margin-bottom: layout.$spacing-06;\n\n &::after {\n content: '';\n display: block;\n width: layout.$spacing-07;\n border-bottom: 0.375rem solid var(--brand-03);\n position: absolute;\n bottom: -0.75rem;\n left: 0;\n }\n\n & > span {\n @include type.type-style('body-01');\n }\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"],sourceRoot:""}]),o.locals={dependentsTitle:"-esm-express-workflow__dependants__dependentsTitle___QapOR"};let s=o},86699:function(e,n,t){t.d(n,{Z:()=>m});var r=t(46062),i=t.n(r),a=t(44036),o=t.n(a),s=t(96793),l=t.n(s),c=t(17892),u=t.n(c),p=t(11173),f=t.n(p),d=t(42464),h=t.n(d),y=t(20517),g={};g.styleTagTransform=h(),g.setAttributes=u(),g.insert=l().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=f(),i()(y.Z,g);let m=y.Z&&y.Z.locals?y.Z.locals:void 0},46432:function(e,n,t){t.d(n,{Z:()=>P});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(83238),l=t(49994),c=t(16709),u=t.n(c),p=t(86699),f=t(34674),d=t(96637),h=t(84786),y=t(50184),g=t(68281),m=t(88805),b=t(75922),v=t(17219),w=t(63624);function k(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function $(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function x(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){$(a,r,i,o,s,"next",e)}function s(e){$(a,r,i,o,s,"throw",e)}o(void 0)})}}function A(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function S(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return k(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let P=function(e){var n,t=e.bundle,c=e.bundleIndex,k=e.searchedNationalId,$=e.otpExpiryMinutes,P=void 0===$?5:$,O=e.localSearchResults,E=void 0===O?null:O,C=e.eligibilityResponse,M=e.isEligibilityLoading,_=void 0!==M&&M,z=(0,l.useTranslation)().t,N=S((0,r.useState)(new Set),2),I=N[0],D=N[1],R=S((0,r.useState)(new Set),2),j=R[0],q=R[1],L=S((0,r.useState)(new Set),2),V=L[0],F=L[1],B=S((0,r.useState)(new Map),2),U=B[0],Z=B[1],H=S((0,r.useState)(new Set),2),W=H[0],G=H[1],K=(0,b.at)(),X=K.otpSource,Q=K.isLoading;K.error,(0,r.useEffect)(function(){X&&b.De.setOtpSource(X)},[X]),(0,r.useEffect)(function(){return function(){(0,b.cM)()}},[]);var Y=(0,r.useMemo)(function(){var e;return(null==(e=t.entry)?void 0:e.map(function(e){var n=U.get(e.resource.id);return(null==n?void 0:n.uuid)||null}).filter(Boolean))||[]},[t.entry,U]),J=(0,v.l0)(Y);(0,r.useEffect)(function(){var e;(e=x(function(){return T(this,function(e){switch(e.label){case 0:var n;if(!t.entry)return[2];return[4,Promise.all(t.entry.map((n=x(function(e){var n,t,r;return T(this,function(i){switch(i.label){case 0:if(t=(n=e.resource).id,U.has(t))return[2];G(function(e){return new Set(e.add(t))}),i.label=1;case 1:return i.trys.push([1,3,4,5]),[4,(0,g.Zp)(n,!1)];case 2:return r=i.sent(),Z(function(e){return new Map(e.set(t,r))}),[3,5];case 3:return i.sent(),Z(function(e){return new Map(e.set(t,null))}),[3,5];case 4:return G(function(e){var n=new Set(e);return n.delete(t),n}),[7];case 5:return[2]}})}),function(e){return n.apply(this,arguments)})))];case 1:return e.sent(),[2]}})}),function(){return e.apply(this,arguments)})()},[t.entry,U]);var ee=function(e){D(function(n){var t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t})},en=function(e){var n=null==(r=e.telecom)?void 0:r.find(function(e){return"phone"===e.system||"mobile"===e.use});if(null==n?void 0:n.value)return(0,w.jc)(n.value);var t=U.get(e.id);if(t){var r,i,a=null==(i=t.attributes)?void 0:i.find(function(e){var n,t,r,i,a,o;return(null==(t=e.attributeType)||null==(n=t.display)?void 0:n.toLowerCase().includes("phone"))||(null==(i=e.attributeType)||null==(r=i.display)?void 0:r.toLowerCase().includes("mobile"))||(null==(o=e.attributeType)||null==(a=o.display)?void 0:a.toLowerCase().includes("telephone"))});if(null==a?void 0:a.value)return(0,w.jc)(a.value)}return"254700000000"},et=(n=x(function(e,n){return T(this,function(t){switch(t.label){case 0:return[4,(0,h.launchWorkspaceGroup2)("ewf-patient-chart",{patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}})];case 1:return t.sent(),(0,h.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},null),[2]}})}),function(e,t){return n.apply(this,arguments)}),er=function(e){F(function(n){return new Set(n).add(e)})},ei=function(e){q(function(n){return new Set(n).add(e)}),F(function(n){var t=new Set(n);return t.delete(e),t})},ea=function(e,n){var t=(0,h.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},eo=function(e,n,t){var r,i;return{onRequestOtp:(r=x(function(t){var r;return T(this,function(i){switch(i.label){case 0:r=(0,w.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!X)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(X),[4,b.De.requestOTP(r,n,P,k,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=x(function(n,r){var i;return T(this,function(r){switch(r.label){case 0:i=(0,w.jc)(t),r.label=1;case 1:if(r.trys.push([1,3,,4]),!X)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(X),[4,b.De.verifyOTP(i,n,e)];case 2:if(!r.sent())throw Error("OTP verification failed");return[3,4];case 3:throw r.sent();case 4:return[2]}})}),function(e,n){return i.apply(this,arguments)}),cleanup:function(){b.De.cleanupExpiredOTPs()}}};return t.entry&&0!==t.entry.length?i().createElement(i().Fragment,null,t.entry.map(function(e,n){var t,r,l,b,v,w,k,$,S,O=e.resource,M=(null==(r=O.name)||null==(t=r[0])?void 0:t.text)||"".concat((null==(v=O.name)||null==(b=v[0])||null==(l=b.given)?void 0:l.join(" "))||""," ").concat((null==(k=O.name)||null==(w=k[0])?void 0:w.family)||"").trim()||"Unknown Patient",N=O.id,D="".concat(c,"-").concat(n),R=I.has(D),q=(0,d.eE)(O),L=j.has(N),F=V.has(N),B=U.get(N),Z=!!B,H=W.has(N),G=Y.findIndex(function(e){return e===(null==B?void 0:B.uuid)}),K=-1!==G?null==($=J[G])?void 0:$.activeVisit:null,es=!!K,el=en(O),ec=eo(N,M,el),eu=ec.onRequestOtp,ep=ec.onVerify,ef=ec.cleanup;return i().createElement(i().Fragment,{key:D},i().createElement("div",{className:u()(p.Z.container,(A(S={},p.Z.verifiedPatient,L),A(S,p.Z.activeVisitPatient,es),S)),role:"banner"},i().createElement("div",{className:p.Z.patientInfo},i().createElement("div",{className:p.Z.patientAvatar,role:"img"},i().createElement(h.PatientPhoto,{patientUuid:N,patientName:M})),i().createElement(y.N,{crNumber:null==O?void 0:O.id,patient:O,renderedFrom:"hie-search",eligibilityData:C,isEligibilityLoading:_})),i().createElement("div",{className:p.Z.buttonCol},i().createElement("div",{className:p.Z.actionButtons},!L&&!F&&i().createElement(a.zxk,{kind:"primary",size:"sm",renderIcon:o.H3,disabled:H||Q||!X,onClick:function(){er(N),(0,m.L)({otpLength:5,obscureText:!1,phoneNumber:el,expiryMinutes:P,onRequestOtp:eu,onVerify:ep,onVerificationSuccess:function(){return ei(N)},onCleanup:ef})}},H?z("checking","Checking..."):Q?z("loadingOtpConfig","Loading..."):z("sendOtp","Send OTP")),F&&!L&&i().createElement(a.zxk,{kind:"ghost",size:"sm",onClick:function(){(0,m.L)({otpLength:5,obscureText:!1,phoneNumber:el,expiryMinutes:P,onRequestOtp:eu,onVerify:ep,onVerificationSuccess:function(){return ei(N)},onCleanup:ef})}},z("enterOtp","Enter OTP")),L&&i().createElement(i().Fragment,null,Z&&!es&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return et(B,B.uuid)}},z("checkIn","Check In")),Z&&es&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return ea(K,B.uuid)}},z("queuePatient","Queue Patient")),!Z&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:x(function(){var e;return T(this,function(n){switch(n.label){case 0:return[4,(0,g.BH)(O,z)];case 1:return[4,et(e=n.sent(),e.uuid)];case 2:return n.sent(),[2]}})})},z("checkIn","Check In")),q&&i().createElement(a.zxk,{iconDescription:R?"Hide dependents":"Show dependents",kind:"tertiary",size:"sm",onClick:function(){return ee(D)},renderIcon:R?s.Kh:s._M},R?z("hideDependents","Hide dependents"):z("showDependents","Show dependents")))))),L&&R&&q&&i().createElement("div",{className:p.Z.dependentsSection},i().createElement("div",{className:p.Z.dependentsContainer},i().createElement(f.Z,{patient:O,localSearchResults:E,otpExpiryMinutes:P}))))})):null}},75922:function(e,n,t){t.d(n,{De:()=>D,at:()=>C,cM:()=>R});var r=t(84786),i=t(22827);function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function o(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){s(a,r,i,o,l,"next",e)}function l(e){s(a,r,i,o,l,"throw",e)}o(void 0)})}}function c(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function u(e,n,t){return(u=w()?Reflect.construct:function(e,n,t){var r=[null];r.push.apply(r,n);var i=new(Function.bind.apply(e,r));return t&&m(i,t.prototype),i}).apply(null,arguments)}function p(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,n,t){return n&&p(e.prototype,n),t&&p(e,t),e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&m(e,n)}function g(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function m(e,n){return(m=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function b(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return a(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var n="function"==typeof Map?new Map:void 0;return(v=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return u(e,arguments,h(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),m(t,e)})(e)}function w(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function k(e){var n=w();return function(){var t,r,i=h(e);return r=n?Reflect.construct(i,arguments,h(this).constructor):i.apply(this,arguments),r&&("object"==((t=r)&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof r)?r:o(this)}}function $(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var x=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return c(this,t),d(o(i=n.call(this,e)),"status",void 0),d(o(i),"isRetryable",void 0),i.status=r,i.isRetryable=a,i.name="OTPNetworkError",i}return t}(v(Error)),A=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return c(this,t),d(o(i=n.call(this,e)),"details",void 0),d(o(i),"isRetryable",void 0),i.details=r,i.isRetryable=a,i.name="OTPServerError",i}return t}(v(Error)),S=function(e){y(t,e);var n=k(t);function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return c(this,t),d(o(i=n.call(this,e)),"rawResponse",void 0),d(o(i),"isRetryable",void 0),i.rawResponse=r,i.isRetryable=a,i.name="OTPParseError",i}return t}(v(Error)),T=function(e){y(t,e);var n=k(t);function t(e,r){var i;return c(this,t),d(o(i=n.call(this,e)),"remainingAttempts",void 0),i.remainingAttempts=r,i.name="OTPValidationError",i}return t}(v(Error));function P(e,n){if(!(null==n?void 0:n.trim()))throw Error("Template must be a non-empty string");return n.replace(/\{\{([^{}]+)\}\}/g,function(n,t){var r=t.trim();return r in e?String(e[r]):n})}function O(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=encodeURIComponent(e),a="".concat(r.restBaseUrl,"/kenyaemr/send-kenyaemr-sms?message=").concat(i,"&phone=").concat(n);return(null==t?void 0:t.trim())&&(a+="&nationalId=".concat(encodeURIComponent(t))),a}function E(e,n){if(!(null==e?void 0:e.trim())||!(null==n?void 0:n.trim()))throw new T("Missing required parameters: receiver or patientName");if(!/^[0-9+]{10,15}$/.test(e.replace(/\s/g,"")))throw new T("Invalid phone number format")}var C=function(){var e,n="".concat(r.restBaseUrl,"/kenyaemr/checkotpsource"),t=(0,i.default)(n,r.openmrsFetch),a=t.data,o=t.error,s=t.isLoading;return{otpSource:null==a||null==(e=a.data)?void 0:e.otpSource,data:a,error:o,isLoading:s}};function M(){return(M=l(function(e,n,t){var i,a,o,s,l,c,u,p,f=arguments;return $(this,function(d){switch(d.label){case 0:i=f.length>3&&void 0!==f[3]?f[3]:5,a=f.length>4&&void 0!==f[4]?f[4]:null,E(n,t),o={otp:e,patient_name:t,expiry_time:i},s="Dear {{patient_name}}, Your OTP to access your Shared Health Records is {{otp}}. By entering this code, you consent to accessing your records. Valid for {{expiry_time}} minutes.",d.label=1;case 1:return d.trys.push([1,3,,4]),l=O(P(o,s),n,a),[4,(0,r.openmrsFetch)(l,{method:"POST",redirect:"follow"})];case 2:if(!(c=d.sent()).ok)if(c.status>=500)throw new x("SMS service temporarily unavailable. Please try again.",c.status);else if(429===c.status)throw new x("Too many SMS requests. Please wait a moment.",c.status,!1);else throw new x("Failed to send SMS (".concat(c.status,")"),c.status);return[3,4];case 3:if(g(u=d.sent(),x)||g(u,T))throw u;throw p=g(u,Error)?u.message:"Unknown error occurred",new x("Failed to send OTP: ".concat(p));case 4:return[2]}})})).apply(this,arguments)}function _(){return(_=l(function(e,n){var t,i,a,o,s,l,c,u,p,f,d,h,y,m,b,v,w,k=arguments;return $(this,function($){switch($.label){case 0:t=k.length>2&&void 0!==k[2]?k[2]:5,i=k.length>3&&void 0!==k[3]?k[3]:null,E(e,n),a={otp:"{{OTP}}",patient_name:n,expiry_time:t},o="Dear {{patient_name}}, Your OTP to access your Shared Health Records is {{otp}}. By entering this code, you consent to accessing your records. Valid for {{expiry_time}} minutes.",$.label=1;case 1:return $.trys.push([1,7,,8]),c=O(P(a,o),e,i),[4,(0,r.openmrsFetch)(c,{method:"POST",redirect:"follow"})];case 2:if(!(s=$.sent()).ok)switch(u=s.statusText||"Unknown error",s.status){case 400:throw new x("Invalid request. Please check the phone number and try again.",s.status,!1);case 401:case 403:throw new x("Authentication failed. Please contact your administrator.",s.status,!1);case 404:throw new x("OTP service not configured. Please contact your administrator.",s.status,!1);case 429:throw new x("Too many requests. Please wait 1 minute before trying again.",s.status,!0);case 500:case 502:case 503:case 504:throw new x("Server temporarily unavailable. Please try again in a moment.",s.status,!0);default:throw new x("Request failed: ".concat(u," (").concat(s.status,")"),s.status,s.status<500)}$.label=3;case 3:return $.trys.push([3,5,,6]),[4,s.text()];case 4:return l=$.sent(),[3,6];case 5:throw $.sent(),new S("Unable to read server response. Please try again.");case 6:if(!l||""===l.trim())throw new S("Server returned an empty response. Please try again.");try{f=JSON.parse(l),p="string"==typeof f?f:l}catch(e){p=l}if((d=p.toLowerCase()).includes("failed to send sms")||d.includes("sms sending failed")||d.includes("sms delivery failed")||d.includes("error")&&!d.includes("{"))throw new A(p.trim().replace(/^["']|["']$/g,"").substring(0,200)||"Failed to send SMS. Please try again.",p,!0);if(!(h=p.match(RegExp("\\{.*\\}","s")))){if(p&&p.trim().length>0)throw new A(p.trim().replace(/^["']|["']$/g,"").substring(0,200)||"Failed to send SMS. Please try again.",p,!0);throw new S("Failed to send SMS. Please try again.",p.substring(0,200))}try{y=JSON.parse(h[0])}catch(e){throw new S("Unable to parse server response. Please try again.",h[0].substring(0,200))}if(!y||"object"!=typeof y)throw new A("Invalid response structure from server",y);if("error"===y.status||"fail"===y.status||"failed"===y.status)throw m=y.message||y.error||"OTP request failed",b=!1!==y.retryable&&"fail"!==y.status,new A(m,y,b);if("success"===y.status){if(!y.id)throw new A("Server error: No OTP reference ID returned. Please try again.",y,!0);return[2,{id:y.id,message:y.message||"OTP sent successfully"}]}throw new A("OTP request failed",y,!0);case 7:if(g(v=$.sent(),x)||g(v,A)||g(v,S)||g(v,T))throw v;if(g(v,TypeError)&&v.message.toLowerCase().includes("fetch"))throw new x("Network connection failed. Please check your internet connection.",void 0,!0);if(g(v,Error)&&("AbortError"===v.name||"TimeoutError"===v.name))throw new x("Request timed out. Please check your connection and try again.",void 0,!0);if(g(v,Error)&&v.message.includes("Template"))throw new A("Configuration error: ".concat(v.message),void 0,!1);throw w=g(v,Error)?v.message:"An unexpected error occurred",new A("Failed to send OTP: ".concat(w),v,!0);case 8:return[2]}})})).apply(this,arguments)}function z(){return(z=l(function(e,n){var t,i,a,o,s,l;return $(this,function(c){switch(c.label){case 0:if(!(null==e?void 0:e.trim()))throw new T("Invalid OTP session. Please request a new OTP.");if(!(null==n?void 0:n.trim()))throw new T("Please enter the OTP code.");if(5!==n.trim().length)throw new T("OTP must be 5 digits.");c.label=1;case 1:return c.trys.push([1,4,,5]),t="".concat(r.restBaseUrl,"/kenyaemr/validate-otp"),[4,(0,r.openmrsFetch)(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,otp:n.trim()})})];case 2:if(!(i=c.sent()).ok)if(400===i.status)throw new T("Invalid verification request. Please request a new OTP.");else if(404===i.status)throw new T("OTP session not found or expired. Please request a new OTP.");else if(i.status>=500)throw new x("Verification service temporarily unavailable. Please try again.",i.status,!0);else throw new x("Verification failed (".concat(i.status,")"),i.status);return[4,i.text()];case 3:a=c.sent();try{o=JSON.parse(a)}catch(e){throw new S("Invalid response from verification service. Please try again.")}if(s=o,o.response&&"string"==typeof o.response)try{s=JSON.parse(o.response)}catch(e){throw new S("Invalid response format. Please try again.")}if("success"===s.status||!0===s.valid)return[2,!0];if(!0===s.expired||"expired"===s.status)throw new T("OTP has expired. Please request a new OTP.");if(!0===s.locked||"locked"===s.status)throw new T("Too many failed attempts. Please request a new OTP.");throw new T(s.message||s.error||"Invalid OTP code",s.remainingAttempts);case 4:if(g(l=c.sent(),T)||g(l,x)||g(l,S))throw l;if(g(l,TypeError)&&l.message.toLowerCase().includes("fetch"))throw new x("Network connection failed. Please check your internet.",void 0,!0);if(g(l,Error)&&("AbortError"===l.name||"TimeoutError"===l.name))throw new x("Verification timed out. Please try again.",void 0,!0);throw new A(g(l,Error)?l.message:"Verification failed",l,!0);case 5:return[2]}})})).apply(this,arguments)}var N=function(){function e(){c(this,e),d(this,"otpStore",new Map),d(this,"MAX_ATTEMPTS",3)}return f(e,[{key:"createSessionKey",value:function(e,n){return n?"".concat(e,"::").concat(n):e}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){var o,s,l,c,u;return $(this,function(p){switch(p.label){case 0:a.cleanupExpiredOTPs(),o=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5,n="0123456789",t="",r=n.length,i=0;i<e;i++)t+=n[Math.floor(Math.random()*r)];return t}(5),s=60*t*1e3,l=a.createSessionKey(e,i),c={otp:o,timestamp:Date.now(),attempts:0,expiryTime:s,patientId:i},a.otpStore.set(l,c),p.label=1;case 1:return p.trys.push([1,3,,4]),[4,function(e,n,t){return M.apply(this,arguments)}(o,e,n,t,r)];case 2:return p.sent(),[3,4];case 3:throw u=p.sent(),a.otpStore.delete(l),u;case 4:return[2]}})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){var i,a,o;return $(this,function(s){if(r.cleanupExpiredOTPs(),i=r.createSessionKey(e,t),!(a=r.otpStore.get(i)))throw new T("No OTP found for this phone number. Please request a new OTP.");if(Date.now()-a.timestamp>a.expiryTime)throw r.otpStore.delete(i),new T("OTP has expired. Please request a new OTP.");if(a.attempts++,a.attempts>r.MAX_ATTEMPTS)throw r.otpStore.delete(i),new T("Maximum OTP attempts exceeded. Please request a new OTP.");if(a.otp===n.trim())return r.otpStore.delete(i),[2,!0];throw r.otpStore.set(i,a),o=r.MAX_ATTEMPTS-a.attempts,new T("Invalid OTP. ".concat(o," attempt").concat(1!==o?"s":""," remaining."),o)})})()}},{key:"cleanupExpiredOTPs",value:function(){var e=Date.now(),n=!0,t=!1,r=void 0;try{for(var i,a=this.otpStore.entries()[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=b(i.value,2),s=o[0],l=o[1];e-l.timestamp>l.expiryTime&&this.otpStore.delete(s)}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}},{key:"hasValidOTP",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);return!!r&&Date.now()-r.timestamp<=r.expiryTime}},{key:"getRemainingTimeMinutes",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);if(!r)return 0;var i=Date.now()-r.timestamp;return Math.ceil(Math.max(0,r.expiryTime-i)/6e4)}},{key:"getRemainingAttempts",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpStore.get(t);return r?Math.max(0,this.MAX_ATTEMPTS-r.attempts):0}},{key:"hasActiveOTPs",value:function(){return this.otpStore.size>0}},{key:"clearOTPForPatient",value:function(e,n){var t=this.createSessionKey(e,n);this.otpStore.delete(t)}}]),e}(),I=function(){function e(){c(this,e),d(this,"otpSessions",new Map),d(this,"MAX_ATTEMPTS",3)}return f(e,[{key:"createSessionKey",value:function(e,n){return n?"".concat(e,"::").concat(n):e}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){var o,s,l,c,u,p;return $(this,function(f){switch(f.label){case 0:a.cleanupExpiredOTPs(),o=60*t*1e3,s=a.createSessionKey(e,i),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,function(e,n){return _.apply(this,arguments)}(e,n,t,r)];case 2:return c=(l=f.sent()).id,l.message,u={otpId:c,timestamp:Date.now(),attempts:0,expiryTime:o,nationalId:r,phoneNumber:e,patientId:i},a.otpSessions.set(s,u),[3,4];case 3:throw p=f.sent(),a.otpSessions.delete(s),p;case 4:return[2]}})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){var i,a,o,s,l,c;return $(this,function(u){switch(u.label){case 0:if(r.cleanupExpiredOTPs(),i=r.createSessionKey(e,t),!(a=r.otpSessions.get(i)))throw new T("No OTP session found for this phone number. Please request a new OTP.");if(Date.now()-a.timestamp>a.expiryTime)throw r.otpSessions.delete(i),new T("OTP has expired. Please request a new OTP.");if(a.attempts++,a.attempts>r.MAX_ATTEMPTS)throw r.otpSessions.delete(i),new T("Maximum OTP attempts exceeded. Please request a new OTP.");u.label=1;case 1:return u.trys.push([1,3,,4]),[4,function(e,n){return z.apply(this,arguments)}(a.otpId,n)];case 2:if(u.sent())return r.otpSessions.delete(i),[2,!0];throw r.otpSessions.set(i,a),o=r.MAX_ATTEMPTS-a.attempts,new T("Invalid OTP. ".concat(o," attempt").concat(1!==o?"s":""," remaining."),o);case 3:if(s=u.sent(),a.attempts>=r.MAX_ATTEMPTS?r.otpSessions.delete(i):r.otpSessions.set(i,a),g(s,T))throw s;if(l=g(s,Error)?s.message:"Invalid OTP",(c=r.MAX_ATTEMPTS-a.attempts)>0)throw new T("".concat(l," ").concat(c," attempt").concat(1!==c?"s":""," remaining."),c);throw new T("Maximum OTP attempts exceeded. Please request a new OTP.");case 4:return[2]}})})()}},{key:"cleanupExpiredOTPs",value:function(){var e=Date.now(),n=!0,t=!1,r=void 0;try{for(var i,a=this.otpSessions.entries()[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=b(i.value,2),s=o[0],l=o[1];e-l.timestamp>l.expiryTime&&this.otpSessions.delete(s)}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}},{key:"hasValidOTP",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);return!!r&&Date.now()-r.timestamp<=r.expiryTime}},{key:"getRemainingTimeMinutes",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);if(!r)return 0;var i=Date.now()-r.timestamp;return Math.ceil(Math.max(0,r.expiryTime-i)/6e4)}},{key:"getRemainingAttempts",value:function(e,n){var t=this.createSessionKey(e,n),r=this.otpSessions.get(t);return r?Math.max(0,this.MAX_ATTEMPTS-r.attempts):0}},{key:"hasActiveOTPs",value:function(){return this.otpSessions.size>0}},{key:"clearOTPForPatient",value:function(e,n){var t=this.createSessionKey(e,n);this.otpSessions.delete(t)}}]),e}(),D=new(function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"kehmis";c(this,e),d(this,"kehmisManager",void 0),d(this,"hieManager",void 0),d(this,"currentSource",void 0),this.kehmisManager=new N,this.hieManager=new I,this.currentSource=n}return f(e,[{key:"setOtpSource",value:function(e){if("kehmis"!==e&&"hie"!==e)throw Error("Invalid OTP source: ".concat(e,". Must be 'kehmis' or 'hie'"));this.currentSource=e}},{key:"getOtpSource",value:function(){return this.currentSource}},{key:"getManager",value:function(){if("hie"===this.currentSource)return this.hieManager;if("kehmis"===this.currentSource)return this.kehmisManager;throw Error("Invalid OTP source: ".concat(this.currentSource))}},{key:"requestOTP",value:function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=this;return l(function(){return $(this,function(o){if(a.cleanupExpiredOTPs(),!a.currentSource)throw Error("OTP source not configured. Please contact your administrator.");return[2,a.getManager().requestOTP(e,n,t,r,i)]})})()}},{key:"verifyOTP",value:function(e,n,t){var r=this;return l(function(){return $(this,function(i){if(r.cleanupExpiredOTPs(),!r.currentSource)throw Error("OTP source not configured. Please contact your administrator.");return[2,r.getManager().verifyOTP(e,n,t)]})})()}},{key:"cleanupExpiredOTPs",value:function(){this.kehmisManager.cleanupExpiredOTPs(),this.hieManager.cleanupExpiredOTPs()}},{key:"hasValidOTP",value:function(e,n){return this.getManager().hasValidOTP(e,n)}},{key:"getRemainingTimeMinutes",value:function(e,n){return this.getManager().getRemainingTimeMinutes(e,n)}},{key:"getRemainingAttempts",value:function(e,n){return this.getManager().getRemainingAttempts(e,n)}},{key:"hasActiveOTPs",value:function(){return this.kehmisManager.hasActiveOTPs()||this.hieManager.hasActiveOTPs()}},{key:"clearOTPForPatient",value:function(e,n){this.kehmisManager.clearOTPForPatient(e,n),this.hieManager.clearOTPForPatient(e,n)}}]),e}()),R=function(){D.cleanupExpiredOTPs()}},71746:function(e,n,t){t.d(n,{Z:()=>T});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(83238),l=t(49994),c=t(16709),u=t.n(c),p=t(86699),f=t(84786),d=t(50184),h=t(96637),y=t(88805),g=t(34674),m=t(17219),b=t(75922),v=t(63624);function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function k(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function $(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){k(a,r,i,o,s,"next",e)}function s(e){k(a,r,i,o,s,"throw",e)}o(void 0)})}}function x(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function A(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return w(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let T=function(e){var n,t=e.localSearchResults,c=(e.syncedPatients,e.searchedNationalId),w=e.otpExpiryMinutes,k=void 0===w?5:w,T=e.hieSearchResults,P=void 0===T?null:T,O=e.eligibilityResponse,E=e.isEligibilityLoading,C=void 0!==E&&E,M=(0,l.useTranslation)().t,_=A((0,r.useState)(new Set),2),z=_[0],N=_[1],I=A((0,r.useState)(new Set),2),D=I[0],R=I[1],j=A((0,r.useState)(new Map),2),q=(j[0],j[1]),L=A((0,r.useState)(new Set),2),V=L[0],F=L[1],B=(0,b.at)(),U=B.otpSource,Z=B.isLoading;B.error,(0,r.useEffect)(function(){U&&b.De.setOtpSource(U)},[U]),(0,r.useEffect)(function(){return function(){(0,b.cM)()}},[]);var H=(0,r.useMemo)(function(){return(null==t?void 0:t.map(function(e){return e.uuid}))||[]},[t]),W=(0,m.l0)(H),G=(0,r.useCallback)(function(e){if(!P||!Array.isArray(P))return null;var n=(0,h.FJ)(e),t=(0,h.Sc)(n);if(!t)return null;var r=!0,i=!1,a=void 0;try{for(var o,s=P[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var l=o.value;if(l.entry){var c=!0,u=!1,p=void 0;try{for(var f,d=l.entry[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var y=f.value;if((0,h.Sc)(y.resource)===t)return y.resource}}catch(e){u=!0,p=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw p}}}}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return null},[P]),K=(0,r.useCallback)(function(e){F(function(n){var t=new Set(n);return t.has(e)?t.delete(e):t.add(e),t})},[]),X=(0,r.useCallback)(function(e){var n,t=null==(n=e.attributes)?void 0:n.find(function(e){var n,t,r,i,a,o;return(null==(t=e.attributeType)||null==(n=t.display)?void 0:n.toLowerCase().includes("phone"))||(null==(i=e.attributeType)||null==(r=i.display)?void 0:r.toLowerCase().includes("mobile"))||(null==(o=e.attributeType)||null==(a=o.display)?void 0:a.toLowerCase().includes("telephone"))});return(null==t?void 0:t.value)?(0,v.jc)(t.value):"254700000000"},[]),Q=(n=$(function(e,n){var t;return S(this,function(r){return t={patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}},(0,f.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},t),[2]})}),function(e,t){return n.apply(this,arguments)}),Y=(0,r.useCallback)(function(e){R(function(n){return new Set(n).add(e)})},[]),J=(0,r.useCallback)(function(e){N(function(n){return new Set(n).add(e)}),R(function(n){var t=new Set(n);return t.delete(e),t}),q(function(n){var t=new Map(n);return t.delete(e),t})},[]),ee=(0,r.useCallback)(function(e,n,t){var r,i;return{onRequestOtp:(r=$(function(t){var r;return S(this,function(i){switch(i.label){case 0:r=(0,v.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!U)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(U),[4,b.De.requestOTP(r,n,k,c,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=$(function(n,r){var i;return S(this,function(r){switch(r.label){case 0:i=(0,v.jc)(t),r.label=1;case 1:if(r.trys.push([1,3,,4]),!U)throw Error("OTP source not configured. Please contact your administrator.");return b.De.setOtpSource(U),[4,b.De.verifyOTP(i,n,e)];case 2:if(!r.sent())throw Error("OTP verification failed");return[3,4];case 3:throw r.sent();case 4:return[2]}})}),function(e,n){return i.apply(this,arguments)}),cleanup:function(){b.De.cleanupExpiredOTPs()}}},[k,c,U]),en=(0,r.useCallback)(function(e,n){var t=(0,f.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},[]);return t&&0!==t.length?i().createElement(i().Fragment,null,t.map(function(e,n){var t,r,l,c,m,b,v,w,$,A,S=(0,h.FJ)(e),T=(null==e||null==(r=e.person)||null==(t=r.personName)?void 0:t.display)||"".concat((null==e||null==(c=e.person)||null==(l=c.personName)?void 0:l.givenName)||""," ").concat((null==e||null==(b=e.person)||null==(m=b.personName)?void 0:m.middleName)||""," ").concat((null==e||null==(w=e.person)||null==(v=w.personName)?void 0:v.familyName)||"").trim()||"Unknown Patient",P=e.uuid,E=z.has(P),_=D.has(P),N=(null==($=W[n])?void 0:$.activeVisit)||null,I=!!N,R=G(e),j=!!R&&(0,h.eE)(R),q=V.has(P),L=X(e),F=ee(P,T,L),B=F.onRequestOtp,H=F.onVerify,et=F.cleanup;return i().createElement(i().Fragment,{key:"local-".concat(n)},i().createElement("div",{className:u()(p.Z.container,p.Z.localPatient,(x(A={},p.Z.verifiedPatient,E),x(A,p.Z.activeVisitPatient,I),A)),role:"banner"},i().createElement("div",{className:p.Z.patientInfo},i().createElement("div",{className:p.Z.patientAvatar,role:"img"},i().createElement(f.PatientPhoto,{patientUuid:P,patientName:T})),i().createElement(d.N,{patient:S,renderedFrom:"local-search",eligibilityData:O,isEligibilityLoading:C,crNumber:null==R?void 0:R.id})),i().createElement("div",{className:p.Z.buttonCol},i().createElement("div",{className:p.Z.actionButtons},!E&&!_&&i().createElement(a.zxk,{kind:"primary",size:"sm",renderIcon:o.H3,disabled:Z||!U,onClick:function(){Y(P),(0,y.L)({otpLength:5,obscureText:!1,phoneNumber:L,expiryMinutes:k,onRequestOtp:B,onVerify:H,onVerificationSuccess:function(){return J(P)},onCleanup:et})}},Z?M("loadingOtpConfig","Loading..."):M("sendOtp","Send OTP")),_&&!E&&i().createElement(a.zxk,{kind:"ghost",size:"sm",onClick:function(){(0,y.L)({otpLength:5,obscureText:!1,phoneNumber:L,expiryMinutes:k,onRequestOtp:B,onVerify:H,onVerificationSuccess:function(){return J(P)},onCleanup:et})}},M("enterOtp","Enter OTP")),E&&i().createElement(i().Fragment,null,!I&&i().createElement(a.zxk,{kind:"primary",size:"sm",onClick:function(){return Q(e,P)}},M("checkIn","Check In")),I&&i().createElement(a.zxk,{kind:"secondary",size:"sm",onClick:function(){return en(N,P)}},M("queuePatient","Queue Patient")),j&&R&&i().createElement(a.zxk,{iconDescription:q?"Hide dependents":"Show dependents",kind:"tertiary",size:"sm",onClick:function(){return K(P)},renderIcon:q?s.Kh:s._M},q?M("hideDependents","Hide dependents"):M("showDependents","Show dependents")))))),E&&q&&R&&i().createElement("div",{className:p.Z.dependentsSection},i().createElement("div",{className:p.Z.dependentsContainer},i().createElement(g.Z,{patient:R,otpExpiryMinutes:k}))))})):null}},9515:function(e,n,t){t.d(n,{$P:()=>d,A8:()=>o,EW:()=>s,Kl:()=>i,ON:()=>r,_R:()=>f,eR:()=>l,hq:()=>h,iw:()=>u,lz:()=>a,nZ:()=>c,yX:()=>p});var r="NO_API_CREDENNTIALS",i="RESOURCE_NOT_FOUND",a="UNKNOWN",o="PATIENT_NOT_FOUND",s="HIE_CONFIGURATION_MISSING",l="dfacd928-0370-4315-99d7-6ec1c9f7ae76",c="fb034aac-2353-4940-abe2-7bc94e7c1e71",u="52c3c0c3-05b8-4b26-930e-2a6a54e14c90",p="49af6cdc-7968-4abb-bf46-de10d7f4859f",f="be9beef6-aacc-4e1f-ac4e-5babeaa1e303",d="68449e5a-8829-44dd-bfef-c9c8cf2cb9b2",h="24aedd37-b5be-4e08-8311-3721b8d5100d"},34674:function(e,n,t){t.d(n,{Z:()=>L});var r=t(91111),i=t.n(r),a=t(29952),o=t(27446),s=t(49994),l=t(84786),c=t(82108),u=t.n(c),p=t(46062),f=t.n(p),d=t(44036),h=t.n(d),y=t(96793),g=t.n(y),m=t(17892),b=t.n(m),v=t(11173),w=t.n(v),k=t(42464),$=t.n(k),x=t(93975),A={};A.styleTagTransform=$(),A.setAttributes=b(),A.insert=g().bind(null,"head"),A.domAPI=h(),A.insertStyleElement=w(),f()(x.Z,A);let S=x.Z&&x.Z.locals?x.Z.locals:void 0;var T=t(96637),P=t(68281),O=t(17219),E=t(75922),C=t(88805),M=t(63624);function _(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function z(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function N(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){z(a,r,i,o,s,"next",e)}function s(e){z(a,r,i,o,s,"throw",e)}o(void 0)})}}function I(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function D(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){I(e,n,t[n])})}return e}function R(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):(function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function j(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),!n||a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return _(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}let L=function(e){var n,t=e.patient,c=(e.localSearchResults,e.otpExpiryMinutes),p=void 0===c?5:c,f=(0,s.useTranslation)().t,d=j((0,r.useState)({}),2),h=d[0],y=d[1],g=j((0,r.useState)({}),2),m=g[0],b=g[1],v=j((0,r.useState)(new Map),2),w=v[0],k=v[1],$=j((0,r.useState)(new Set),2),x=$[0],A=$[1],_=j((0,r.useState)(new Set),2),z=_[0],L=_[1],V=j((0,r.useState)(new Map),2),F=V[0],B=V[1],U=(0,E.at)(),Z=U.otpSource,H=U.isLoading;(0,r.useEffect)(function(){Z&&E.De.setOtpSource(Z)},[Z]),(0,r.useEffect)(function(){return function(){(0,E.cM)()}},[]);var W=(0,r.useMemo)(function(){try{return(0,O.lY)(t)}catch(e){return[]}},[t]),G=(0,r.useMemo)(function(){return W.map(function(e){var n=w.get(e.id);return(null==n?void 0:n.uuid)||null})},[W,w]),K=(0,O.l0)(G),X=(0,r.useCallback)(function(e,n){var t=(0,l.showModal)("transition-patient-to-latest-queue-modal",{closeModal:function(){t()},activeVisit:e})},[]),Q=(0,r.useCallback)(function(e){if("contact"in e&&e.contact&&Array.isArray(e.contact)){var n=!0,t=!1,r=void 0;try{for(var i,a=e.contact[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var o=i.value;if(o.telecom&&Array.isArray(o.telecom)){var s=o.telecom.find(function(e){return"phone"===e.system&&e.value&&"N/A"!==e.value&&""!==e.value.trim()});if(s)return(0,M.jc)(s.value)}}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}}var l=w.get(e.id);if((null==l?void 0:l.attributes)&&Array.isArray(l.attributes)){var c=l.attributes.find(function(e){var n;return(null==(n=e.attributeType)?void 0:n.uuid)==="b2c38640-2603-4629-aebd-3b54f33f1e3a"&&e.value&&""!==e.value.trim()&&e.value.trim().length>0});if(null==c?void 0:c.value)return(0,M.jc)(c.value)}if("phoneNumber"in e&&"string"==typeof e.phoneNumber){var u=e.phoneNumber.trim();if(u&&"N/A"!==u&&u.length>0)return(0,M.jc)(u)}if("contactData"in e&&e.contactData&&"telecom"in e.contactData&&Array.isArray(e.contactData.telecom)){var p=e.contactData.telecom.find(function(e){return"phone"===e.system&&e.value&&"N/A"!==e.value&&""!==e.value.trim()});if(null==p?void 0:p.value)return(0,M.jc)(p.value)}return"254700000000"},[w]),Y=(0,r.useCallback)(function(e){L(function(n){return new Set(n).add(e)})},[]),J=(0,r.useCallback)(function(e){A(function(n){return new Set(n).add(e)}),L(function(n){var t=new Set(n);return t.delete(e),t}),B(function(n){var t=new Map(n);return t.delete(e),t})},[]),ee=(0,r.useCallback)(function(e,n,t){var r,i;return{onRequestOtp:(r=N(function(t){var r;return q(this,function(i){switch(i.label){case 0:r=(0,M.jc)(t),i.label=1;case 1:if(i.trys.push([1,3,,4]),!Z)throw Error("OTP source not configured. Please contact your administrator.");return E.De.setOtpSource(Z),B(function(n){return new Map(n.set(e,r))}),[4,E.De.requestOTP(r,n,p,null,e)];case 2:return i.sent(),[3,4];case 3:throw i.sent();case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),onVerify:(i=N(function(n){var r,i;return q(this,function(a){switch(a.label){case 0:if(a.trys.push([0,2,,3]),!Z)throw Error("OTP source not configured. Please contact your administrator.");return E.De.setOtpSource(Z),r=F.get(e)||t,i=(0,M.jc)(r),[4,E.De.verifyOTP(i,n,e)];case 1:if(!a.sent())throw Error("OTP verification failed");return[3,3];case 2:throw a.sent();case 3:return[2]}})}),function(e){return i.apply(this,arguments)}),cleanup:function(){E.De.cleanupExpiredOTPs()}}},[F,p,Z]),en=(0,r.useCallback)((n=N(function(e){var n,t,r,i;return q(this,function(a){switch(a.label){case 0:if(n=w.get(e.id),t="spouse"===e.relationship.toLowerCase(),r=x.has(e.id),t&&!r&&!n)return(0,l.showSnackbar)({title:f("verificationRequired","Verification Required"),subtitle:f("spouseVerificationRequired","Please verify the spouse with OTP before registering"),kind:"warning",isLowContrast:!1}),[2];if(!n)return[3,2];return[4,(0,l.launchWorkspaceGroup2)("ewf-patient-chart",{patient:n,patientUuid:n.uuid,visitContext:null,mutateVisitContext:function(){}})];case 1:return a.sent(),(0,l.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"dependants-check-in",showPatientHeader:!1},{},{patient:n,patientUuid:n.uuid,visitContext:null,mutateVisitContext:function(){}}),[3,7];case 2:y(function(n){return R(D({},n),I({},e.id,!0))}),a.label=3;case 3:return a.trys.push([3,5,6,7]),[4,(0,P.to)(e,f)];case 4:return a.sent(),[3,7];case 5:return i=a.sent(),(0,l.showSnackbar)({title:f("dependentRegistrationError","Error registering dependent"),subtitle:f("dependentRegistrationErrorSubtitle","Error registering dependent: {{error}}",{error:i.message}),kind:"error",isLowContrast:!1}),[3,7];case 6:return y(function(n){return R(D({},n),I({},e.id,!1))}),[7];case 7:return[2]}})}),function(e){return n.apply(this,arguments)}),[w,x,f]),et=(0,r.useMemo)(function(){return[{key:"name",header:f("name","Name")},{key:"relationship",header:f("relationship","Relationship")},{key:"gender",header:f("gender","Gender")},{key:"birthDate",header:f("birthDate","Birth Date")},{key:"identifiers",header:f("identifiers","Identifiers")},{key:"status",header:f("status","Status")},{key:"actions",header:f("actions","Actions")}]},[f]),er=(0,r.useMemo)(function(){return W.map(function(e,n){var t=w.get(e.id),r=!!t,s=h[e.id],l=m[e.id],c=K[n]||{activeVisit:null,isLoading:!1},d=c.activeVisit,y=c.isLoading,g=!!d,b="spouse"===e.relationship.toLowerCase(),v=x.has(e.id),k=z.has(e.id),$=e.id&&"N/A"!==e.id?"CR Number: ".concat(e.id):"N/A",A=Q(e),P=ee(e.id,e.name,A),O=P.onRequestOtp,E=P.onVerify,M=P.cleanup;return{id:e.id,name:T.u3?(0,T.u3)(u()(e.name.toLowerCase())):u()(e.name.toLowerCase()),relationship:i().createElement("div",null,u()(e.relationship.toLowerCase())),gender:u()(e.gender),birthDate:"Unknown"!==e.birthDate?e.birthDate:"N/A",status:i().createElement("div",null,g&&i().createElement(a.Vp9,{type:"blue",size:"md"},f("checkedIn","Checked In")),!g&&!y&&i().createElement(a.Vp9,{type:"gray",size:"md"},f("notCheckedIn","Not Checked In"))),identifiers:$,actions:i().createElement("div",{className:S.actionButtons},b&&!v&&!k&&i().createElement(a.zxk,{size:"sm",kind:"primary",renderIcon:o.H3,disabled:H||!Z,onClick:function(){Y(e.id),(0,C.L)({otpLength:5,obscureText:!1,phoneNumber:A,expiryMinutes:p,onRequestOtp:O,onVerify:E,onVerificationSuccess:function(){return J(e.id)},onCleanup:M})}},H?f("loadingOtpConfig","Loading..."):f("sendOtp","Send OTP")),b&&!v&&k&&i().createElement(a.zxk,{size:"sm",kind:"ghost",renderIcon:o.H3,onClick:function(){(0,C.L)({otpLength:5,obscureText:!1,phoneNumber:A,expiryMinutes:p,onRequestOtp:O,onVerify:E,onVerificationSuccess:function(){return J(e.id)},onCleanup:M})}},f("enterOtp","Enter OTP")),(!b||v)&&i().createElement(i().Fragment,null,!r&&i().createElement(a.zxk,{size:"sm",kind:"ghost",onClick:function(){return en(e)},disabled:s||l},s?f("processing","Processing..."):l?f("searching","Searching..."):f("checkIn","Check In Dependent")),r&&!g&&i().createElement(a.zxk,{size:"sm",kind:"secondary",onClick:function(){return en(e)},disabled:s||l||y},y?f("searching","Searching..."):f("checkIn","Check In")),r&&g&&i().createElement(a.zxk,{size:"sm",kind:"secondary",onClick:function(){return X(d,t.uuid)},disabled:s||l||y},f("queuePatient","Queue Patient"))))}})},[W,w,h,m,K,x,z,H,Z,Q,ee,Y,J,en,X,p,f]);return((0,r.useEffect)(function(){if(0!==W.length){var e;(e=N(function(){return q(this,function(e){switch(e.label){case 0:var n;return[4,Promise.all(W.map((n=N(function(e){var n,t;return q(this,function(r){switch(r.label){case 0:if(w.has(e.id))return[2];b(function(n){return R(D({},n),I({},e.id,!0))}),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,(0,P.Zp)(e.contactData,!0)];case 2:return n=r.sent(),k(function(t){return new Map(t.set(e.id,n))}),[3,5];case 3:return t=r.sent(),console.warn("Error searching for dependent ".concat(e.id,":"),t),k(function(n){return new Map(n.set(e.id,null))}),[3,5];case 4:return b(function(n){return R(D({},n),I({},e.id,!1))}),[7];case 5:return[2]}})}),function(e){return n.apply(this,arguments)})))];case 1:return e.sent(),[2]}})}),function(){return e.apply(this,arguments)})()}},[W,w]),0===W.length)?i().createElement("div",null,f("noDependentsFound","No dependents found for this patient")):i().createElement("div",null,i().createElement("span",{className:S.dependentsTitle},f("dependents","Dependent(s)")," (",W.length,")"),i().createElement(a.wQF,{size:"xs",useZebraStyles:!0,rows:er,headers:et},function(e){var n=e.rows,t=e.headers,r=e.getTableProps,o=e.getHeaderProps,s=e.getRowProps;return i().createElement(a.iA_,r(),i().createElement(a.ssF,null,i().createElement(a.SCH,null,t.map(function(e){return i().createElement(a.xDH,o({header:e}),e.header)}))),i().createElement(a.RMI,null,n.map(function(e){return i().createElement(a.SCH,s({row:e}),e.cells.map(function(e){return i().createElement(a.pj1,{key:e.id},e.value)}))})))}))}},17219:function(e,n,t){t.d(n,{dk:()=>g,l0:()=>k,lY:()=>w,r5:()=>b});var r=t(84786),i=t(96637),a=t(9515),o=t(91111);function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function l(e,n,t,r,i,a,o){try{var s=e[a](o),l=s.value}catch(e){t(e);return}s.done?n(l):Promise.resolve(l).then(r,i)}function c(e){return function(){var n=this,t=arguments;return new Promise(function(r,i){var a=e.apply(n,t);function o(e){l(a,r,i,o,s,"next",e)}function s(e){l(a,r,i,o,s,"throw",e)}o(void 0)})}}function u(e,n){if(e){if("string"==typeof e)return s(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(e,n)}}function p(e,n){var t,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){var l=[a,s];if(t)throw TypeError("Generator is already executing.");for(;o;)try{if(t=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=n.call(e,o)}catch(e){l=[6,e],r=0}finally{t=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function f(e,n){return d.apply(this,arguments)}function d(){return(d=c(function(e,n){var t,o,l,c,f,d,h,y,g,m,b,v,w,k,$,x,A,S,T,P,O,E,C,M,_,z,N,I,D,R,j,q,L,V,F,B,U,Z,H,W,G,K,X,Q,Y,J,ee,en,et;return p(this,function(p){switch(p.label){case 0:return p.trys.push([0,8,,9]),t=e.patientData,o=e.type,l=e.gender,c=e.birthDate,[4,(0,r.getSessionLocation)()];case 1:var er;h=null!=(d=null==(f=p.sent())?void 0:f.uuid)?d:"",y=[],g="",m="",b="",v=c,w=l,k=[],"hie-patient"===o?((y=(null==($=(S=t).identifier)?void 0:$.map(function(e){return{identifier:e.value,identifierType:(0,i.s2)(e.type.coding[0].code),location:h,preferred:!1}}).filter(function(e){return e.identifierType}))||[]).push({identifier:null==S?void 0:S.id,identifierType:(0,i.s2)("sha-id-number"),location:h,preferred:!1}),(T=null==(x=S.name)?void 0:x[0])&&(g=(null==(P=T.given)?void 0:P[0])||"",m=(null==(O=T.given)?void 0:O.slice(1).join(" "))||"",b=T.family||"",g||b||!T.text||(g=(E=T.text.trim().split(" "))[0]||"",m=E.slice(1,-1).join(" "),b=E[E.length-1]||"")),v=S.birthDate,w=S.gender,k=(null==(A=S.address)?void 0:A.map(function(e){return{address1:"",address2:"",cityVillage:e.city||"",country:e.country||"",postalCode:"",stateProvince:"",countyDistrict:""}}))||[]):"dependent"===o&&((y=(null==(C=(R=t).extension)?void 0:C.filter(function(e){return"identifiers"===e.url&&e.valueIdentifier}).map(function(e){return{identifier:e.valueIdentifier.value,identifierType:(0,i.s2)(e.valueIdentifier.type.coding[0].code),location:h,preferred:!1}}).filter(function(e){return e.identifierType}))||[]).push({identifier:null==R?void 0:R.id,identifierType:(0,i.s2)("sha-id-number"),location:h,preferred:!1}),j=null==(_=R.extension)||null==(M=_.find(function(e){return"https://ts.kenya-hie.health/fhir/StructureDefinition/date_of_birth"===e.url}))?void 0:M.valueString,q=(null==(z=R.name)?void 0:z.given)||[],b=(null==(N=R.name)?void 0:N.family)||"",q.length>0?(g=q[0],m=q.slice(1).join(" ")):(null==(I=R.name)?void 0:I.text)&&(g=(L=R.name.text.trim().split(" "))[0]||"",m=L.slice(1,-1).join(" "),!b&&L.length>1&&(b=L[L.length-1])),v=j,w=R.gender,k=[{address1:"",cityVillage:"",country:(null==(D=R.address)?void 0:D.country)||"",postalCode:"",stateProvince:""}]),y.length>0&&(y[0].preferred=!0),V=[],"hie-patient"===o&&(null==(B=null==(F=t.telecom)?void 0:F.find(function(e){return"phone"===e.system}))?void 0:B.value)&&V.push({attributeType:"b2c38640-2603-4629-aebd-3b54f33f1e3a",value:B.value}),U={address1:"",cityVillage:"",country:"",postalCode:"",stateProvince:""},Z={person:{names:[{preferred:!0,givenName:(0,i.qI)(g)||"Unknown",middleName:(0,i.qI)(m)||"",familyName:(0,i.qI)(b)||"Unknown"}],gender:(null==w?void 0:w.charAt(0).toUpperCase())||"U",birthdate:v||null,birthdateEstimated:!v,attributes:V,addresses:k.length>0?k:[U]},identifiers:function(e){if(Array.isArray(e))return s(e)}(er=y)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(er)||u(er)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},p.label=2;case 2:return p.trys.push([2,5,,6]),[4,(0,i.fX)(a.nZ)];case 3:return H=p.sent(),[4,(0,r.getSessionLocation)()];case 4:if(!(null==(W=p.sent())?void 0:W.uuid))throw Error("Could not determine session location");return G={identifier:H.data.identifier,identifierType:a.eR,location:W.uuid,preferred:0===y.length},Z.identifiers.push(G),y.length>0&&(Z.identifiers.forEach(function(e){e.identifierType!==a.eR&&(e.preferred=!1)}),G.preferred=!0),[3,6];case 5:throw p.sent(),Error("Failed to generate OpenMRS identifier");case 6:if(0===Z.identifiers.length)throw Error("No valid identifiers found for the patient");return[4,(0,r.openmrsFetch)("".concat(r.restBaseUrl,"/patient"),{method:"POST",headers:{"Content-Type":"application/json"},body:Z})];case 7:return K=p.sent(),X="hie-patient"===o?"patient":"dependent",(0,r.showSnackbar)({title:n("".concat(X,"RegisteredSuccessfully"),"".concat(X," registered successfully")),subtitle:n("".concat(X,"RegisteredSuccessfullySubtitle"),"You can now start a visit for the ".concat(X)),kind:"success",isLowContrast:!0}),[2,K.data];case 8:throw console.error("Error creating patient:",Q=p.sent()),en="hie-patient"===e.type?"Patient":"Dependent",et=n("".concat(en.toLowerCase(),"RegistrationFailedSubtitle"),"Please try again or contact support"),(null==Q||null==(ee=Q.response)||null==(J=ee.data)||null==(Y=J.error)?void 0:Y.message)?et=Q.response.data.error.message:(null==Q?void 0:Q.message)&&(et=Q.message),(0,r.showSnackbar)({title:n("".concat(en.toLowerCase(),"RegistrationFailed"),"".concat(en," registration failed")),subtitle:et,kind:"error",isLowContrast:!0}),Q;case 9:return[2]}})})).apply(this,arguments)}function h(e,n){return y.apply(this,arguments)}function y(){return(y=c(function(e,n){return p(this,function(t){switch(t.label){case 0:return[4,(0,r.launchWorkspaceGroup2)("ewf-patient-chart",{patient:e,patientUuid:n,visitContext:null,mutateVisitContext:function(){}})];case 1:return t.sent(),(0,r.launchWorkspace2)("custom-start-visit-workspace-form",{openedFrom:"registration-check-in",showPatientHeader:!1},{},null),[2]}})})).apply(this,arguments)}function g(e,n){return m.apply(this,arguments)}function m(){return(m=c(function(e,n){var t;return p(this,function(r){switch(r.label){case 0:return[4,f({name:e.name,gender:e.gender,patientData:e.dependentInfo,type:"dependent"},n)];case 1:return[4,h(t=r.sent(),t.uuid)];case 2:return r.sent(),[2,t]}})})).apply(this,arguments)}function b(e,n){return v.apply(this,arguments)}function v(){return(v=c(function(e,n){var t,r,i,a,o,s,l,c;return p(this,function(u){switch(u.label){case 0:return[4,f({name:(null==(r=e.name)||null==(t=r[0])?void 0:t.text)||"".concat((null==(o=e.name)||null==(a=o[0])||null==(i=a.given)?void 0:i.join(" "))||""," ").concat((null==(l=e.name)||null==(s=l[0])?void 0:s.family)||"").trim()||"Unknown Patient",gender:e.gender,birthDate:e.birthDate,patientData:e,type:"hie-patient"},n)];case 1:return[4,h(c=u.sent(),c.uuid)];case 2:return u.sent(),[2,c]}})})).apply(this,arguments)}var w=function(e){return(null==e?void 0:e.contact)?e.contact.map(function(e,n){var t,r,i,a,o,s,l,c,u,p,f,d,h,y,g,m,b,v,w,k,$,x=(null==(a=e.relationship)||null==(i=a[0])||null==(r=i.coding)||null==(t=r[0])?void 0:t.display)||"Unknown",A=(null==(s=e.name)||null==(o=s.text)?void 0:o.trim())||"".concat((null==(c=e.name)||null==(l=c.given)?void 0:l.join(" "))||""," ").concat((null==(u=e.name)?void 0:u.family)||"").trim()||"Unknown",S=null==(p=e.telecom)?void 0:p.find(function(e){return"phone"===e.system}),T=(null==S?void 0:S.value)||"N/A",P=null==(f=e.telecom)?void 0:f.find(function(e){return"email"===e.system}),O=(null==P?void 0:P.value)||"N/A",E=e.gender||"Unknown",C=null==(d=e.extension)?void 0:d.find(function(e){return"https://ts.kenya-hie.health/fhir/StructureDefinition/date_of_birth"===e.url}),M=(null==C?void 0:C.valueString)||"Unknown",_=(null==(h=e.extension)?void 0:h.filter(function(e){return"identifiers"===e.url}))||[],z=null==(g=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="sha-number"}))||null==(y=g.valueIdentifier)?void 0:y.value,N=null==(b=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="sha-id-number"}))||null==(m=b.valueIdentifier)?void 0:m.value,I=null==(w=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="national-id"}))||null==(v=w.valueIdentifier)?void 0:v.value,D=null==($=_.find(function(e){var n,t,r,i;return(null==(i=e.valueIdentifier)||null==(r=i.type)||null==(t=r.coding)||null==(n=t[0])?void 0:n.code)==="birth-certificate"}))||null==(k=$.valueIdentifier)?void 0:k.value;return{id:e.id||"contact-".concat(n),name:A,relationship:x,phoneNumber:T,email:O,gender:E,birthDate:M,shaNumber:z,nationalId:I,birthCertificate:D,contactData:e,shaIdNumber:N}}):[]},k=function(e){var n,t=(n=(0,o.useState)([]),function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var a=[],o=!0,s=!1;try{for(i=i.call(e);!(o=(t=i.next()).done)&&(a.push(t.value),a.length!==n);o=!0);}catch(e){s=!0,r=e}finally{try{o||null==i.return||i.return()}finally{if(s)throw r}}return a}}(n,2)||u(n,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=t[0],i=t[1];return(0,o.useEffect)(function(){var n,t=(n=c(function(){return p(this,function(n){switch(n.label){case 0:var t;return[4,Promise.all(e.map((t=c(function(e){var n,t,r,i;return p(this,function(a){switch(a.label){case 0:if(!e)return[2,{activeVisit:null,isLoading:!1}];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch("/openmrs/ws/rest/v1/visit?patient=".concat(e,"&includeInactive=false&v=default"))];case 2:if(!(n=a.sent()).ok)throw Error("HTTP error! status: ".concat(n.status));return[4,n.json()];case 3:return[2,{activeVisit:(r=(null==(t=a.sent())?void 0:t.results)||[]).length>0?r[0]:null,isLoading:!1}];case 4:return i=a.sent(),console.warn("Error fetching active visit for patient ".concat(e,":"),i),[2,{activeVisit:null,isLoading:!1}];case 5:return[2]}})}),function(e){return t.apply(this,arguments)})))];case 1:return i(n.sent()),[2]}})}),function(){return n.apply(this,arguments)});e.length>0?(i(e.map(function(){return{activeVisit:null,isLoading:!0}})),t()):i([])},[e]),r}}}]);