@openmrs/esm-user-onboarding-app 4.1.1-pre.613 → 4.1.1-pre.617
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/7575.js +1 -1
- package/dist/7575.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-user-onboarding-app.js +2 -2
- package/dist/openmrs-esm-user-onboarding-app.js.buildmanifest.json +7 -7
- package/dist/routes.json +1 -1
- package/e2e/commands/index.ts +3 -0
- package/e2e/commands/joyride-operations.ts +21 -0
- package/e2e/commands/patient-operations.ts +70 -0
- package/e2e/commands/visit-operations.ts +31 -0
- package/e2e/pages/home-page.ts +4 -1
- package/e2e/specs/basic-overview.spec.ts +76 -0
- package/e2e/specs/demo-tutorial.spec.ts +109 -0
- package/e2e/specs/find-patient.spec.ts +130 -0
- package/e2e/specs/patient-chart.spec.ts +133 -0
- package/e2e/specs/record-vitals.spec.ts +186 -0
- package/e2e/specs/register-patient.spec.ts +78 -0
- package/e2e/specs/start-patient-visit.spec.ts +144 -0
- package/e2e/support/github/run-e2e-docker-env.sh +5 -1
- package/e2e/types/index.ts +36 -0
- package/package.json +1 -1
- package/src/config-schema.ts +8 -12
- package/e2e/specs/onboarding-test.spec.ts +0 -72
package/dist/7575.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.webpackChunk_openmrs_esm_user_onboarding_app=globalThis.webpackChunk_openmrs_esm_user_onboarding_app||[]).push([["7575"],{4767(t,e,a){var n={"./uk.json":["723","9072"],"./ar.json":["4132","7045"],"./ru_RU.json":["986","8359"],"./uz_UZ.json":["890","7175"],"./fr.json":["4055","6508"],"./sw_KE.json":["8618","903"],"./uz.json":["3584","6377"],"./en.json":["4300","5117"],"./ky.json":["8163","2416"],"./pl.json":["1119","6724"],"./sq.json":["8371","4928"],"./ka.json":["795","1480"],"./si.json":["6859","6904"],"./zh_TW.json":["439","556"],"./de.json":["4944","5145"],"./lg.json":["4618","8695"],"./vi.json":["9214","6371"],"./tr.json":["5241","434"],"./es_MX.json":["8349","1646"],"./tr_TR.json":["9900","1869"],"./zh_CN.json":["9879","5644"],"./en_US.json":["9569","4106"],"./he.json":["4652","2317"],"./id.json":["2690","6047"],"./ku.json":["9895","4348"],"./es.json":["3099","7912"],"./ne.json":["2146","5503"],"./ar_SY.json":["7617","282"],"./uz@Latn.json":["7097","4658"],"./bn.json":["7159","6444"],"./cs.json":["6589","7182"],"./zh.json":["5661","7742"],"./hi_IN.json":["5442","4383"],"./pt_BR.json":["6468","1877"],"./qu.json":["7554","8358"],"./ro_RO.json":["6022","3963"],"./sw.json":["9913","3378"],"./am.json":["1197","9806"],"./pt.json":["6679","5132"],"./it.json":["9538","4111"],"./km.json":["4335","5940"],"./hi.json":["6840","2881"]};function o(t){if(!a.o(n,t))return Promise.resolve().then(function(){var e=Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e});var e=n[t],o=e[0];return a.e(e[1]).then(function(){return a(o)})}o.keys=()=>Object.keys(n),o.id=4767,t.exports=o},9290(t,e,a){"use strict";a.r(e),a.d(e,{tutorial:()=>p,tutorialModal:()=>g,startupApp:()=>d,importTranslation:()=>c,root:()=>u});var n=a(4301),o={showTutorial:{_type:n.Type.Boolean,_default:!1,_description:"Enable or Disable Onboarding Walkthrough"},tutorialData:{_type:n.Type.Array,_description:"List of tutorials to be displayed in the modal",_default:[{title:"Basic Overview",description:"This guide provides a quick look at the essential components that shape the layout and user experience of our homepage.",steps:[{target:'[aria-label="OpenMRS"]',content:"Welcome to OpenMRS! This is the main dashboard where you can navigate to various features of the system."},{target:'[data-tutorial-target="search-patient-icon"]',content:"This is the search icon. Use it to find patients in the system quickly."},{target:'[data-tutorial-target="add-patient"]',content:"This is the add patient icon. Click here to register a new patient into the system."},{target:'[data-tutorial-target="user-settings"]',content:"The user icon. Click here to change your user preferences and settings."}]},{title:"Registering a Patient",description:"Learn how to register a new patient into the system.",steps:[{target:'[data-tutorial-target="add-patient"]',content:"Click here to add a patient to the system.",spotlightClicks:!0,hideCloseButton:!0,hideNextButton:!0,hideFooter:!0,data:{autoNextOn:"#demographics"}},{target:"#demographics",title:"Demographics",content:"This is the Demographics section. Here you can find various fields and information related to the patient.",hideBackButton:!0},{target:"#contact",title:"Contact Details",content:"Here you can update the patient's contact information."},{target:"#relationships",title:"Relationships",content:"In this section, you can manage the patient's relationships."},{target:'button[type="submit"]',content:"Click this button to register the patient's information into the system."}]},{title:"Patient Chart",description:"Patient chart is the main point of interaction between healthcare professionals and patient data, where you can manage everything related to a single patient.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To access the patient chart, first, you need to select a patient. To start, click here to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient you want to go to their patient chart.",spotlightClicks:!0,disableOverlay:!1,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-slot-name="action-menu-patient-chart-items-slot"]'}},{target:"body",title:"Patient Chart",content:"Welcome to the Patient Chart View! Here, you can quickly see everything about your patient's health history, visits, medications, allergies, and test results—all in one place. It's designed to help you provide the best care efficiently.",spotlightClicks:!0,hideBackButton:!0,placement:"center"},{target:'[data-extension-id="patient-banner"]',title:"Patient header",content:'The patient header contains all the key information you need to identify the patient you are currently viewing. You can click on the "Show Details" button to see additional patient information.',spotlightClicks:!0,hideBackButton:!0},{target:'[aria-label="Left navigation"]',title:"Left panel",content:"The left panel shows the sections of the patient chart. Currently, we are on the patient summary page.",spotlightClicks:!0,placement:"right"},{target:'[data-extension-slot-name="patient-chart-summary-dashboard-slot"]',title:"Patient summary widgets",content:"Patient Summary is a personalized view made up of widgets that show essential features and information for quick access."},{target:'[data-extension-slot-name="action-menu-patient-chart-items-slot"]',title:"Siderail",content:"The siderail contains a series of links that take users to different tabs in the Workspace, such as the order basket, visit notes, and clinical forms. Once open, the Workspace is persistent across pages (for example, all pages within the patient chart)."},{target:"body",content:"Great job! You've completed the tutorial. Now, take a moment to explore the Patient Chart View and discover all its features. Feel free to navigate around and get comfortable with the layout. If you need to return to the home page, just click the close button in the top right corner. Happy exploring!",placement:"center"}]},{title:"Finding a Patient",description:"Learn how to find a patient in the system using basic and advanced search features, including the use of filters to refine results.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"Click on the search icon to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name of the patient here. If you know the patient ID, you can use that as well. You will see the results if the patient you entered exists in the system. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"The search container shows only the top results and if they are not the patient you want, or you cannot find the patient by name or the patient ID, you can use advanced search tools to narrow down your search. Click next to learn more about the advanced search options.",spotlightClicks:!1,disableOverlay:!1,hideNextButton:!1,hideBackButton:!0},{target:'button[type="submit"]',content:"The advanced search provides additional search fields like date of birth and phone number to help find the right patient, which comes in helpful in scenarios where multiple patients have the same name. Click here to access the advanced search tool.",spotlightClicks:!0,placement:"bottom",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-openmrs-role="Refine Search"]'}},{target:'[data-openmrs-role="Refine Search"]',title:"Filters section",content:"You can refine your search by applying filters such as date of birth, age, sex, and phone number here.",spotlightClicks:!0,hideBackButton:!0},{target:'[data-openmrs-role="Search Results"]',content:"Here you can see all the patients who match the search criteria. Clicking on a patient will open the patient’s patient chart.",placement:"right"},{target:'[data-tutorial-target="close-search-icon"]',content:"That’s the end of the tutorial. Click on the close button to go back to the home page.",spotlightClicks:!0,placement:"bottom",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-id="page-header"]'}}]},{title:"Patient Lists",description:"This tutorial will guide you through creating and managing patient lists to help organize and track your patients more effectively.",steps:[{target:'[data-extension-id="patient-lists-dashboard-link"]',content:"Creating a patient list is a great way to keep a group of patients organized for easier management. Click here to go to the patient lists view",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-openmrs-role="New List"]'}},{target:'[data-openmrs-role="New List"]',content:"Now, let's try creating a new list. Click here to open the new patient list form.",spotlightClicks:!0,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-list-form"]'}},{target:'[data-tutorial-target="patient-list-form"]',content:'Enter the necessary details and click on "Create List" to create the list.',spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}},{target:'[data-tutorial-target="all-patient-lists-tab"]',content:"Click here to see all the patient lists we have in the system.",hideNextButton:!0,hideBackButton:!0,spotlightClicks:!0,spotlightPadding:20,data:{autoNextOn:'[data-tutorial-target="patient-lists-table"]'}},{target:'[data-tutorial-target="patient-lists-table"]',content:"Great! We have successfully created a new patient list. Find and click on the patient list you created to proceed. You can use the search option at the top right if needed.",disableOverlay:!0,spotlightClicks:!0,spotlightPadding:40,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[data-openmrs-role="Patient Empty tile"]'}},{target:'[data-openmrs-role="Patient Empty tile"]',content:"You can see the patient list is empty since we haven't added any patients to the list yet. Click on Next to Continue",hideBackButton:!0,disableOverlay:!0},{target:'[data-tutorial-target="search-patient-icon"]',content:"To add a patient to the list, we have to go to the respective patient’s chart view. Click here to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient to go to the patient chart, where we can add the patient to our newly created list.",spotlightClicks:!0,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-slot-name="action-menu-patient-chart-items-slot"]'}},{target:'[id^="patient-actions-menu-trigger-"]',content:'Click on "Actions" and select "Add to List" from the drop-down menu.',disableOverlay:!0,placement:"bottom",spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:".cds--modal-container"}},{target:".cds--modal-container",content:"You can see the list of patient lists here. Search for our newly created patient list using the filter, and mark the checkbox beside the patient list name. You can add the patient to multiple lists at once by selecting multiple checkboxes.",disableOverlay:!0,spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}}]},{title:"Recording Vitals",description:"Learn how to record a patient's vitals and biometric data, and review the records through the patient chart.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To capture the vitals of a patient, you need to start by going to the patient chart view of the respective patient. Click on the search icon to open the search box so that you can search for the patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient to go to their patient chart.",placement:"left",spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[data-extension-slot-name="action-menu-patient-chart-items-slot"]'}},{target:'[data-extension-id="patient-vitals-info"] button',content:'Click on the "Record Vitals" button to open the vitals form. If the selected patient doesn\'t have an active visit, you will be prompted to start one. In that case, submit the start visit form in order to proceed to the next step.',disableOverlay:!0,spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[aria-label="Workspace header"]'}},{target:'[data-openmrs-role="Vitals and Biometrics Form"]',title:"Vitals form",content:'In this form, you can enter the vitals and biometrics you have captured. If any value entered is out of the normal range, you will see ↑ (High), ↓ (Low), ↑↑ (Very High) or ↓↓ (Very Low) indicators next to the respective field. After entering all necessary details, click on the "Save and Close" button to submit the data.',disableOverlay:!0,spotlightClicks:!0,placement:"left",hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:".omrs-snackbars-container div"}},{target:'[data-extension-id="patient-vitals-info"]',content:"The latest vitals and biometrics data of the patient can be viewed in this section.",hideBackButton:!0},{target:'[data-extension-id="results-summary-dashboard"]',content:"Click here to go to the Vitals and Biometrics page, where you can view the past records of vitals and biometrics.",hideBackButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]'}},{target:'[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]',content:"These tables display the history of vitals and biometrics. Indicators may be present here to show measurements that are higher or lower than the typical range.",hideBackButton:!0},{target:'[aria-label="Chart view"]',content:'You can click on the "Chart" button for a graphical representation of the vitals history.'},{target:"body",content:"You have now successfully completed the tutorial. You can continue with the rest of the patient visit by recording additional information or performing other necessary actions within the patient chart view, or you can return to the homepage.",placement:"center",hideBackButton:!0}]},{title:"Starting a Patient Visit",description:"Learn how to start a visit for a patient.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To fill out any forms or encounters of a patient, you have to start a visit. To start a patient visit, first you need to go to the patient chart view of the respective patient. Click on the search icon to open the search box so that we can search for the patient. ",disableBeacon:!0,spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:'Click on the patient whose chart you want to access. Make sure to select a patient without the "Active visit" label, as we will start a visit in the next steps of the tutorial.',spotlightClicks:!0,disableOverlay:!1,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-slot-name="action-menu-patient-chart-items-slot"]'}},{target:'[aria-label="Start a visit"]',content:'Welcome to the patient chart view! Here, you can find detailed patient information, records of clinical visits, demographic information, graphs, and medical forms. Click on the "Start Visit" button to open the Start Visit form.',spotlightClicks:!0,hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-openmrs-role="Start Visit Form"]'}},{target:'[data-openmrs-role="Start Visit Form"]',title:"Start Visit Form",content:'Fill out the necessary information here and click on the "Start Visit" button at the bottom of this form to start the visit. You can click on "Discard" if you don\'t want to start a visit at the moment.',disableOverlay:!0,spotlightClicks:!0,hideNextButton:!0,hideBackButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}},{target:"body",content:"That's the end of this tutorial! If you have already started a visit, you will see an \"Active Visit\" tag near the patient's name. After the visit is started, you can do things like capturing vitals, biometrics, and more through this patient chart view.",hideBackButton:!0,placement:"center"}]},{title:"Tutorial for demo purposes",description:"This tutorial is for demo / debugging purposes only",steps:[{target:'[aria-label="OpenMRS"]',content:"Let us walk through the tutorial features together."},{target:'[data-extension-id="clinical-appointments-dashboard-link"]',content:"Click on this link. This step is configured to be automatic and will take you to the next step. Once the given query selector resolves an element on the page, it will proceed automatically.",hideCloseButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-id="clinical-appointments-dashboard"]'}},{target:'[data-extension-id="clinical-appointments-dashboard"]',content:"Congrats! You have reached the clinical appointments dashboard."},{target:'[aria-label="OpenMRS"]',content:'Now, let’s see how this behaves when elements take a bit longer to load. Set your network throttling to "Slow 3G" and hit "Next".',hideBackButton:!0},{target:'[data-extension-id="laboratory-dashboard-link"]',content:'Let\'s navigate to the laboratory page. Our next target is the "Tests Ordered" table. I’ll disappear once you reach the laboratory page and reappear when the table is loaded. See you there!',hideCloseButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-id="laboratory-dashboard"]'}},{target:'[data-extension-id="all-lab-requests-table"] table',content:"It's me again. By default, I'll wait for the element to appear, so you don't have to worry about slow components when writing a new tutorial.",hideBackButton:!0},{target:'[aria-label="OpenMRS"]',content:"Now let's do a fun exercise. Can you find out how to view a patient's allergies on your own? Feel free to turn off network throttling. ;) "},{target:'[data-extension-slot-name="patient-chart-allergies-dashboard-slot"]',content:"Great job! You found the allergies section! This is the end of the tutorial. Feel free to explore the system on your own or check out the other tutorials."}]}]}},i=a(6711),r=a.n(i),s=a(7775),h="@openmrs/esm-user-onboarding-app",l={featureName:"user-onboarding",moduleName:h},c=a(4767);function d(){(0,n.defineConfigSchema)(h,o)}var u=(0,n.getAsyncLifecycle)(function(){return Promise.all([a.e("5098"),a.e("2482"),a.e("5796"),a.e("9178")]).then(a.bind(a,6881))},l),p=(0,n.getSyncLifecycle)(function(){var t=(0,s.useTranslation)().t;return r().createElement("button",{type:"button",onClick:function(){var t=(0,n.showModal)("tutorial-modal",{onClose:function(){return t()},size:"sm"})},style:{all:"unset",cursor:"pointer"}},t("tutorial","Tutorials"))},l),g=(0,n.getAsyncLifecycle)(function(){return Promise.all([a.e("5098"),a.e("2482"),a.e("6461")]).then(a.bind(a,924))},l)}}]);
|
|
1
|
+
(globalThis.webpackChunk_openmrs_esm_user_onboarding_app=globalThis.webpackChunk_openmrs_esm_user_onboarding_app||[]).push([["7575"],{4767(t,e,a){var n={"./uk.json":["723","9072"],"./ar.json":["4132","7045"],"./ru_RU.json":["986","8359"],"./uz_UZ.json":["890","7175"],"./fr.json":["4055","6508"],"./sw_KE.json":["8618","903"],"./uz.json":["3584","6377"],"./en.json":["4300","5117"],"./ky.json":["8163","2416"],"./pl.json":["1119","6724"],"./sq.json":["8371","4928"],"./ka.json":["795","1480"],"./si.json":["6859","6904"],"./zh_TW.json":["439","556"],"./de.json":["4944","5145"],"./lg.json":["4618","8695"],"./vi.json":["9214","6371"],"./tr.json":["5241","434"],"./es_MX.json":["8349","1646"],"./tr_TR.json":["9900","1869"],"./zh_CN.json":["9879","5644"],"./en_US.json":["9569","4106"],"./he.json":["4652","2317"],"./id.json":["2690","6047"],"./ku.json":["9895","4348"],"./es.json":["3099","7912"],"./ne.json":["2146","5503"],"./ar_SY.json":["7617","282"],"./uz@Latn.json":["7097","4658"],"./bn.json":["7159","6444"],"./cs.json":["6589","7182"],"./zh.json":["5661","7742"],"./hi_IN.json":["5442","4383"],"./pt_BR.json":["6468","1877"],"./qu.json":["7554","8358"],"./ro_RO.json":["6022","3963"],"./sw.json":["9913","3378"],"./am.json":["1197","9806"],"./pt.json":["6679","5132"],"./it.json":["9538","4111"],"./km.json":["4335","5940"],"./hi.json":["6840","2881"]};function o(t){if(!a.o(n,t))return Promise.resolve().then(function(){var e=Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e});var e=n[t],o=e[0];return a.e(e[1]).then(function(){return a(o)})}o.keys=()=>Object.keys(n),o.id=4767,t.exports=o},9290(t,e,a){"use strict";a.r(e),a.d(e,{tutorial:()=>p,tutorialModal:()=>g,startupApp:()=>d,importTranslation:()=>c,root:()=>u});var n=a(4301),o={showTutorial:{_type:n.Type.Boolean,_default:!1,_description:"Enable or Disable Onboarding Walkthrough"},tutorialData:{_type:n.Type.Array,_description:"List of tutorials to be displayed in the modal",_default:[{title:"Basic Overview",description:"This guide provides a quick look at the essential components that shape the layout and user experience of our homepage.",steps:[{target:'[aria-label="OpenMRS"]',content:"Welcome to OpenMRS! This is the main dashboard where you can navigate to various features of the system."},{target:'[data-tutorial-target="search-patient-icon"]',content:"This is the search icon. Use it to find patients in the system quickly."},{target:'[data-tutorial-target="add-patient"]',content:"This is the add patient icon. Click here to register a new patient into the system."},{target:'[data-tutorial-target="user-settings"]',content:"The user icon. Click here to change your user preferences and settings."}]},{title:"Registering a Patient",description:"Learn how to register a new patient into the system.",steps:[{target:'[data-tutorial-target="add-patient"]',content:"Click here to add a patient to the system.",spotlightClicks:!0,hideCloseButton:!0,hideNextButton:!0,hideFooter:!0,data:{autoNextOn:"#demographics"}},{target:"#demographics",title:"Demographics",content:"This is the Demographics section. Here you can find various fields and information related to the patient.",hideBackButton:!0},{target:"#contact",title:"Contact Details",content:"Here you can update the patient's contact information."},{target:"#relationships",title:"Relationships",content:"In this section, you can manage the patient's relationships."},{target:'button[type="submit"]',content:"Click this button to register the patient's information into the system."}]},{title:"Patient Chart",description:"Patient chart is the main point of interaction between healthcare professionals and patient data, where you can manage everything related to a single patient.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To access the patient chart, first, you need to select a patient. To start, click here to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient you want to go to their patient chart.",spotlightClicks:!0,disableOverlay:!1,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-id="patient-banner"]'}},{target:"body",title:"Patient Chart",content:"Welcome to the Patient Chart View! Here, you can quickly see everything about your patient's health history, visits, medications, allergies, and test results—all in one place. It's designed to help you provide the best care efficiently.",spotlightClicks:!0,hideBackButton:!0,placement:"center"},{target:'[data-extension-id="patient-banner"]',title:"Patient header",content:'The patient header contains all the key information you need to identify the patient you are currently viewing. You can click on the "Show Details" button to see additional patient information.',spotlightClicks:!0,hideBackButton:!0},{target:'[aria-label="Left navigation"]',title:"Left panel",content:"The left panel shows the sections of the patient chart. Currently, we are on the patient summary page.",spotlightClicks:!0,placement:"right"},{target:'[data-extension-slot-name="patient-chart-summary-dashboard-slot"]',title:"Patient summary widgets",content:"Patient Summary is a personalized view made up of widgets that show essential features and information for quick access."},{target:"body",content:"Great job! You've completed the tutorial. Now, take a moment to explore the Patient Chart View and discover all its features. Feel free to navigate around and get comfortable with the layout. If you need to return to the home page, just click the close button in the top right corner. Happy exploring!",placement:"center"}]},{title:"Finding a Patient",description:"Learn how to find a patient in the system using basic and advanced search features, including the use of filters to refine results.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"Click on the search icon to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name of the patient here. If you know the patient ID, you can use that as well. You will see the results if the patient you entered exists in the system. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"The search container shows only the top results and if they are not the patient you want, or you cannot find the patient by name or the patient ID, you can use advanced search tools to narrow down your search. Click next to learn more about the advanced search options.",spotlightClicks:!1,disableOverlay:!1,hideNextButton:!1,hideBackButton:!0},{target:'button[type="submit"]',content:"The advanced search provides additional search fields like date of birth and phone number to help find the right patient, which comes in helpful in scenarios where multiple patients have the same name. Click here to access the advanced search tool.",spotlightClicks:!0,placement:"bottom",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-openmrs-role="Refine Search"]'}},{target:'[data-openmrs-role="Refine Search"]',title:"Filters section",content:"You can refine your search by applying filters such as date of birth, age, sex, and phone number here.",spotlightClicks:!0,hideBackButton:!0},{target:'[data-openmrs-role="Search Results"]',content:"Here you can see all the patients who match the search criteria. Clicking on a patient will open the patient’s patient chart.",placement:"right"},{target:'[data-tutorial-target="close-search-icon"]',content:"That’s the end of the tutorial. Click on the close button to go back to the home page.",spotlightClicks:!0,placement:"bottom",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-id="page-header"]'}}]},{title:"Patient Lists",description:"This tutorial will guide you through creating and managing patient lists to help organize and track your patients more effectively.",steps:[{target:'[data-extension-id="patient-lists-dashboard-link"]',content:"Creating a patient list is a great way to keep a group of patients organized for easier management. Click here to go to the patient lists view",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-openmrs-role="New List"]'}},{target:'[data-openmrs-role="New List"]',content:"Now, let's try creating a new list. Click here to open the new patient list form.",spotlightClicks:!0,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-list-form"]'}},{target:'[data-tutorial-target="patient-list-form"]',content:'Enter the necessary details and click on "Create List" to create the list.',spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}},{target:'[data-tutorial-target="all-patient-lists-tab"]',content:"Click here to see all the patient lists we have in the system.",hideNextButton:!0,hideBackButton:!0,spotlightClicks:!0,spotlightPadding:20,data:{autoNextOn:'[data-tutorial-target="patient-lists-table"]'}},{target:'[data-tutorial-target="patient-lists-table"]',content:"Great! We have successfully created a new patient list. Find and click on the patient list you created to proceed. You can use the search option at the top right if needed.",disableOverlay:!0,spotlightClicks:!0,spotlightPadding:40,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[data-openmrs-role="Patient Empty tile"]'}},{target:'[data-openmrs-role="Patient Empty tile"]',content:"You can see the patient list is empty since we haven't added any patients to the list yet. Click on Next to Continue",hideBackButton:!0,disableOverlay:!0},{target:'[data-tutorial-target="search-patient-icon"]',content:"To add a patient to the list, we have to go to the respective patient’s chart view. Click here to open the search box so that we can search for a patient.",spotlightClicks:!0,hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient to go to the patient chart, where we can add the patient to our newly created list.",spotlightClicks:!0,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-id="patient-banner"]'}},{target:'[id^="patient-actions-menu-trigger-"]',content:'Click on "Actions" and select "Add to List" from the drop-down menu.',disableOverlay:!0,placement:"bottom",spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:".cds--modal-container"}},{target:".cds--modal-container",content:"You can see the list of patient lists here. Search for our newly created patient list using the filter, and mark the checkbox beside the patient list name. You can add the patient to multiple lists at once by selecting multiple checkboxes.",disableOverlay:!0,spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}}]},{title:"Recording Vitals",description:"Learn how to record a patient's vitals and biometric data, and review the records through the patient chart.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To capture the vitals of a patient, you need to start by going to the patient chart view of the respective patient. Click on the search icon to open the search box so that you can search for the patient.",spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:"Click on the patient to go to their patient chart.",placement:"left",spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[data-extension-id="patient-banner"]'}},{target:'[data-extension-id="patient-vitals-info"] button',content:'Click on the "Record Vitals" button to open the vitals form. If the selected patient doesn\'t have an active visit, you will be prompted to start one. In that case, submit the start visit form in order to proceed to the next step.',disableOverlay:!0,spotlightClicks:!0,hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:'[aria-label="Workspace header"]'}},{target:'[data-openmrs-role="Vitals and Biometrics Form"]',title:"Vitals form",content:'In this form, you can enter the vitals and biometrics you have captured. If any value entered is out of the normal range, you will see ↑ (High), ↓ (Low), ↑↑ (Very High) or ↓↓ (Very Low) indicators next to the respective field. After entering all necessary details, click on the "Save and Close" button to submit the data.',disableOverlay:!0,spotlightClicks:!0,placement:"left",hideBackButton:!0,hideNextButton:!0,data:{autoNextOn:".omrs-snackbars-container div"}},{target:'[data-extension-id="patient-vitals-info"]',content:"The latest vitals and biometrics data of the patient can be viewed in this section.",hideBackButton:!0},{target:'[data-extension-id="results-summary-dashboard"]',content:"Click here to go to the Vitals and Biometrics page, where you can view the past records of vitals and biometrics.",hideBackButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]'}},{target:'[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]',content:"These tables display the history of vitals and biometrics. Indicators may be present here to show measurements that are higher or lower than the typical range.",hideBackButton:!0},{target:'[aria-label="Chart view"]',content:'You can click on the "Chart" button for a graphical representation of the vitals history.'},{target:"body",content:"You have now successfully completed the tutorial. You can continue with the rest of the patient visit by recording additional information or performing other necessary actions within the patient chart view, or you can return to the homepage.",placement:"center",hideBackButton:!0}]},{title:"Starting a Patient Visit",description:"Learn how to start a visit for a patient.",steps:[{target:'[data-tutorial-target="search-patient-icon"]',content:"To fill out any forms or encounters of a patient, you have to start a visit. To start a patient visit, first you need to go to the patient chart view of the respective patient. Click on the search icon to open the search box so that we can search for the patient. ",disableBeacon:!0,spotlightClicks:!0,hideNextButton:!0,data:{autoNextOn:'[data-tutorial-target="patient-search-bar"]'}},{target:'[data-tutorial-target="patient-search-bar"]',content:"Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.",hideNextButton:!1,hideBackButton:!0,spotlightClicks:!0},{target:'[data-tutorial-target="floating-search-results-container"]',content:'Click on the patient whose chart you want to access. Make sure to select a patient without the "Active visit" label, as we will start a visit in the next steps of the tutorial.',spotlightClicks:!0,disableOverlay:!1,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-extension-id="patient-banner"]'}},{target:'[id^="patient-actions-menu-trigger-"]',content:'Welcome to the patient chart view! Here, you can find detailed patient information, records of clinical visits, demographic information, graphs, and medical forms. Click on "Actions" and select "Add visit" from the drop-down menu to open the Start Visit form.',disableOverlay:!0,spotlightClicks:!0,placement:"left",hideNextButton:!0,hideBackButton:!0,data:{autoNextOn:'[data-openmrs-role="Start Visit Form"]'}},{target:'[data-openmrs-role="Start Visit Form"]',title:"Start Visit Form",content:'Fill out the necessary information here and click on the "Start Visit" button at the bottom of this form to start the visit. You can click on "Discard" if you don\'t want to start a visit at the moment.',disableOverlay:!0,spotlightClicks:!0,hideNextButton:!0,hideBackButton:!0,placement:"left",data:{autoNextOn:".omrs-snackbars-container div"}},{target:"body",content:"That's the end of this tutorial! If you have already started a visit, you will see an \"Active Visit\" tag near the patient's name. After the visit is started, you can do things like capturing vitals, biometrics, and more through this patient chart view.",hideBackButton:!0,placement:"center"}]},{title:"Tutorial for demo purposes",description:"This tutorial is for demo / debugging purposes only",steps:[{target:'[aria-label="OpenMRS"]',content:"Let us walk through the tutorial features together."},{target:'[data-extension-id="clinical-appointments-dashboard-link"]',content:"Click on this link. This step is configured to be automatic and will take you to the next step. Once the given query selector resolves an element on the page, it will proceed automatically.",hideCloseButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-id="clinical-appointments-dashboard"]'}},{target:'[data-extension-id="clinical-appointments-dashboard"]',content:"Congrats! You have reached the clinical appointments dashboard."},{target:'[aria-label="OpenMRS"]',content:'Now, let’s see how this behaves when elements take a bit longer to load. Set your network throttling to "Slow 3G" and hit "Next".',hideBackButton:!0},{target:'[data-extension-id="laboratory-dashboard-link"]',content:'Let\'s navigate to the laboratory page. Our next target is the "Tests Ordered" table. I’ll disappear once you reach the laboratory page and reappear when the table is loaded. See you there!',hideCloseButton:!0,hideNextButton:!0,spotlightClicks:!0,data:{autoNextOn:'[data-extension-id="laboratory-dashboard"]'}},{target:'[data-extension-id="all-lab-requests-table"] table',content:"It's me again. By default, I'll wait for the element to appear, so you don't have to worry about slow components when writing a new tutorial.",hideBackButton:!0},{target:'[aria-label="OpenMRS"]',content:"Now let's do a fun exercise. Can you find out how to view a patient's allergies on your own? Feel free to turn off network throttling. ;) "},{target:'[data-extension-slot-name="patient-chart-allergies-dashboard-slot"]',content:"Great job! You found the allergies section! This is the end of the tutorial. Feel free to explore the system on your own or check out the other tutorials."}]}]}},i=a(6711),r=a.n(i),s=a(7775),h="@openmrs/esm-user-onboarding-app",l={featureName:"user-onboarding",moduleName:h},c=a(4767);function d(){(0,n.defineConfigSchema)(h,o)}var u=(0,n.getAsyncLifecycle)(function(){return Promise.all([a.e("5098"),a.e("2482"),a.e("5796"),a.e("9178")]).then(a.bind(a,6881))},l),p=(0,n.getSyncLifecycle)(function(){var t=(0,s.useTranslation)().t;return r().createElement("button",{type:"button",onClick:function(){var t=(0,n.showModal)("tutorial-modal",{onClose:function(){return t()},size:"sm"})},style:{all:"unset",cursor:"pointer"}},t("tutorial","Tutorials"))},l),g=(0,n.getAsyncLifecycle)(function(){return Promise.all([a.e("5098"),a.e("2482"),a.e("6461")]).then(a.bind(a,924))},l)}}]);
|
package/dist/7575.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"7575.js","sources":["webpack://@openmrs/esm-user-onboarding-app/./translations|lazy|nonrecursive|/.json$/","webpack://@openmrs/esm-user-onboarding-app/./src/config-schema.ts","webpack://@openmrs/esm-user-onboarding-app/./src/index.ts","webpack://@openmrs/esm-user-onboarding-app/./src/tutorial/tutorial.component.tsx"],"names":["Promise","e","Error","Object","configSchema","Type","moduleName","options","importTranslation","require","startupApp","defineConfigSchema","root","getAsyncLifecycle","tutorial","getSyncLifecycle","t","useTranslation","dispose","showModal","onClose","tutorialModal"],"mappings":"kJAAA,IAAI,EAAM,CACR,YAAa,CACX,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,MACA,OACD,CACD,eAAgB,CACd,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,MACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,MACA,MACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,MACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,MACD,CACD,iBAAkB,CAChB,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,AACH,EACA,SAAS,EAAuB,CAAG,EACjC,GAAG,CAAC,EAAoB,CAAC,CAAC,EAAK,GAC7B,OAAOA,QAAQ,OAAO,GAAG,IAAI,CAAC,WAC5B,IAAIC,EAAI,AAAIC,MAAM,uBAAyB,EAAM,IAEjD,OADAD,EAAE,IAAI,CAAG,mBACHA,CACR,GAGF,IAAI,EAAM,CAAG,CAAC,EAAI,CAAE,EAAK,CAAG,CAAC,EAAE,CAC/B,OAAO,EAAoB,CAAC,CAAC,CAAG,CAAC,EAAE,EAAE,IAAI,CAAC,WACxC,OAAO,EAAoB,EAC7B,EACF,CAEA,EAAuB,IAAI,CAAG,IAAOE,OAAO,IAAI,CAAC,GACjD,EAAuB,EAAE,CAAG,KAC5B,EAAO,OAAO,CAAG,C,gJCxLJC,EAAe,CAC1B,aAAc,CACZ,MAAOC,EAAAA,IAAAA,CAAAA,OAAY,CACnB,SAAU,GACV,aAAc,0CAChB,EACA,aAAc,CACZ,MAAOA,EAAAA,IAAAA,CAAAA,KAAU,CACjB,aAAc,iDACd,SAAU,CACR,CACE,MAAO,iBACP,YACE,0HACF,MAAO,CACL,CACE,OAAQ,yBACR,QACE,0GACJ,EACA,CACE,OAAQ,+CACR,QAAS,yEACX,EACA,CACE,OAAQ,uCACR,QAAS,qFACX,EACA,CACE,OAAQ,yCACR,QAAS,yEACX,EACD,AACH,EACA,CACE,MAAO,wBACP,YAAa,uDACb,MAAO,CACL,CACE,OAAQ,uCACR,QAAS,6CACT,gBAAiB,GACjB,gBAAiB,GACjB,eAAgB,GAChB,WAAY,GACZ,KAAM,CACJ,WAAY,eACd,CACF,EACA,CACE,OAAQ,gBACR,MAAO,eACP,QACE,6GACF,eAAgB,EAClB,EACA,CACE,OAAQ,WACR,MAAO,kBACP,QAAS,wDACX,EACA,CACE,OAAQ,iBACR,MAAO,gBACP,QAAS,8DACX,EACA,CACE,OAAQ,wBACR,QAAS,0EACX,EACD,AACH,EACA,CACE,MAAO,gBACP,YACE,iKACF,MAAO,CACL,CACE,OAAQ,+CACR,QACE,qJACF,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,gIACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QAAS,8DACT,gBAAiB,GACjB,eAAgB,GAChB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,
|
|
1
|
+
{"version":3,"file":"7575.js","sources":["webpack://@openmrs/esm-user-onboarding-app/./translations|lazy|nonrecursive|/.json$/","webpack://@openmrs/esm-user-onboarding-app/./src/config-schema.ts","webpack://@openmrs/esm-user-onboarding-app/./src/index.ts","webpack://@openmrs/esm-user-onboarding-app/./src/tutorial/tutorial.component.tsx"],"names":["Promise","e","Error","Object","configSchema","Type","moduleName","options","importTranslation","require","startupApp","defineConfigSchema","root","getAsyncLifecycle","tutorial","getSyncLifecycle","t","useTranslation","dispose","showModal","onClose","tutorialModal"],"mappings":"kJAAA,IAAI,EAAM,CACR,YAAa,CACX,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,MACA,OACD,CACD,eAAgB,CACd,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,MACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,MACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,MACA,MACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,MACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,MACD,CACD,iBAAkB,CAChB,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,eAAgB,CACd,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,CACD,YAAa,CACX,OACA,OACD,AACH,EACA,SAAS,EAAuB,CAAG,EACjC,GAAG,CAAC,EAAoB,CAAC,CAAC,EAAK,GAC7B,OAAOA,QAAQ,OAAO,GAAG,IAAI,CAAC,WAC5B,IAAIC,EAAI,AAAIC,MAAM,uBAAyB,EAAM,IAEjD,OADAD,EAAE,IAAI,CAAG,mBACHA,CACR,GAGF,IAAI,EAAM,CAAG,CAAC,EAAI,CAAE,EAAK,CAAG,CAAC,EAAE,CAC/B,OAAO,EAAoB,CAAC,CAAC,CAAG,CAAC,EAAE,EAAE,IAAI,CAAC,WACxC,OAAO,EAAoB,EAC7B,EACF,CAEA,EAAuB,IAAI,CAAG,IAAOE,OAAO,IAAI,CAAC,GACjD,EAAuB,EAAE,CAAG,KAC5B,EAAO,OAAO,CAAG,C,gJCxLJC,EAAe,CAC1B,aAAc,CACZ,MAAOC,EAAAA,IAAAA,CAAAA,OAAY,CACnB,SAAU,GACV,aAAc,0CAChB,EACA,aAAc,CACZ,MAAOA,EAAAA,IAAAA,CAAAA,KAAU,CACjB,aAAc,iDACd,SAAU,CACR,CACE,MAAO,iBACP,YACE,0HACF,MAAO,CACL,CACE,OAAQ,yBACR,QACE,0GACJ,EACA,CACE,OAAQ,+CACR,QAAS,yEACX,EACA,CACE,OAAQ,uCACR,QAAS,qFACX,EACA,CACE,OAAQ,yCACR,QAAS,yEACX,EACD,AACH,EACA,CACE,MAAO,wBACP,YAAa,uDACb,MAAO,CACL,CACE,OAAQ,uCACR,QAAS,6CACT,gBAAiB,GACjB,gBAAiB,GACjB,eAAgB,GAChB,WAAY,GACZ,KAAM,CACJ,WAAY,eACd,CACF,EACA,CACE,OAAQ,gBACR,MAAO,eACP,QACE,6GACF,eAAgB,EAClB,EACA,CACE,OAAQ,WACR,MAAO,kBACP,QAAS,wDACX,EACA,CACE,OAAQ,iBACR,MAAO,gBACP,QAAS,8DACX,EACA,CACE,OAAQ,wBACR,QAAS,0EACX,EACD,AACH,EACA,CACE,MAAO,gBACP,YACE,iKACF,MAAO,CACL,CACE,OAAQ,+CACR,QACE,qJACF,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,gIACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QAAS,8DACT,gBAAiB,GACjB,eAAgB,GAChB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,sCACd,CACF,EACA,CACE,OAAQ,OACR,MAAO,gBACP,QACE,+OACF,gBAAiB,GACjB,eAAgB,GAChB,UAAW,QACb,EACA,CACE,OAAQ,uCACR,MAAO,iBACP,QACE,oMACF,gBAAiB,GACjB,eAAgB,EAClB,EACA,CACE,OAAQ,iCACR,MAAO,aACP,QACE,yGACF,gBAAiB,GACjB,UAAW,OACb,EACA,CACE,OAAQ,oEACR,MAAO,0BACP,QACE,0HACJ,EACA,CACE,OAAQ,OACR,QACE,gTACF,UAAW,QACb,EACD,AACH,EACA,CACE,MAAO,oBACP,YACE,sIACF,MAAO,CACL,CACE,OAAQ,+CACR,QAAS,uFACT,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,sPACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QACE,gRACF,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,eAAgB,EAClB,EACA,CACE,OAAQ,wBACR,QACE,2PACF,gBAAiB,GACjB,UAAW,SACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,qCACd,CACF,EACA,CACE,OAAQ,sCACR,MAAO,kBACP,QACE,yGACF,gBAAiB,GACjB,eAAgB,EAClB,EACA,CACE,OAAQ,uCACR,QACE,gIACF,UAAW,OACb,EACA,CACE,OAAQ,6CACR,QAAS,yFACT,gBAAiB,GACjB,UAAW,SACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,mCACd,CACF,EACD,AACH,EACA,CACE,MAAO,gBACP,YACE,sIACF,MAAO,CACL,CACE,OAAQ,qDACR,QACE,iJACF,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,gCACd,CACF,EACA,CACE,OAAQ,iCACR,QAAS,oFACT,gBAAiB,GACjB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,4CACd,CACF,EACA,CACE,OAAQ,6CACR,QAAS,6EACT,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,UAAW,OACX,KAAM,CACJ,WAAY,+BACd,CACF,EACA,CACE,OAAQ,iDACR,QAAS,iEACT,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,GACjB,iBAAkB,GAClB,KAAM,CACJ,WAAY,8CACd,CACF,EACA,CACE,OAAQ,+CACR,QACE,+KACF,eAAgB,GAChB,gBAAiB,GACjB,iBAAkB,GAClB,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,0CACd,CACF,EACA,CACE,OAAQ,2CACR,QACE,uHACF,eAAgB,GAChB,eAAgB,EAClB,EACA,CACE,OAAQ,+CACR,QACE,6JACF,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,gIACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QACE,2GACF,gBAAiB,GACjB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,sCACd,CACF,EACA,CACE,OAAQ,wCACR,QAAS,uEACT,eAAgB,GAChB,UAAW,SACX,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,uBACd,CACF,EACA,CACE,OAAQ,wBACR,QACE,kPACF,eAAgB,GAChB,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,UAAW,OACX,KAAM,CACJ,WAAY,+BACd,CACF,EACD,AACH,EACA,CACE,MAAO,mBACP,YACE,+GACF,MAAO,CACL,CACE,OAAQ,+CACR,QACE,8MACF,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,2HACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QAAS,qDACT,UAAW,OACX,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,sCACd,CACF,EACA,CACE,OAAQ,mDACR,QACE,yOACF,eAAgB,GAChB,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,iCACd,CACF,EACA,CACE,OAAQ,mDACR,MAAO,cACP,QACE,oUACF,eAAgB,GAChB,gBAAiB,GACjB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,+BACd,CACF,EACA,CACE,OAAQ,4CACR,QAAS,sFACT,eAAgB,EAClB,EACA,CACE,OAAQ,kDACR,QACE,oHACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,GACjB,KAAM,CACJ,WAAY,6EACd,CACF,EACA,CACE,OAAQ,8EACR,QACE,kKACF,eAAgB,EAClB,EACA,CACE,OAAQ,4BACR,QAAS,2FACX,EACA,CACE,OAAQ,OACR,QACE,oPACF,UAAW,SACX,eAAgB,EAClB,EACD,AACH,EACA,CACE,MAAO,2BACP,YAAa,4CACb,MAAO,CACL,CACE,OAAQ,+CACR,QACE,2QACF,cAAe,GACf,gBAAiB,GACjB,eAAgB,GAChB,KAAM,CACJ,WAAY,6CACd,CACF,EACA,CACE,OAAQ,8CACR,QACE,gIACF,eAAgB,GAChB,eAAgB,GAChB,gBAAiB,EACnB,EACA,CACE,OAAQ,6DACR,QACE,mLACF,gBAAiB,GACjB,eAAgB,GAChB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,sCACd,CACF,EACA,CACE,OAAQ,wCACR,QACE,sQACF,eAAgB,GAChB,gBAAiB,GACjB,UAAW,OACX,eAAgB,GAChB,eAAgB,GAChB,KAAM,CACJ,WAAY,wCACd,CACF,EACA,CACE,OAAQ,yCACR,MAAO,mBACP,QACE,6MACF,eAAgB,GAChB,gBAAiB,GACjB,eAAgB,GAChB,eAAgB,GAChB,UAAW,OACX,KAAM,CACJ,WAAY,+BACd,CACF,EACA,CACE,OAAQ,OACR,QACE,iQACF,eAAgB,GAChB,UAAW,QACb,EACD,AACH,EACA,CACE,MAAO,6BACP,YAAa,sDACb,MAAO,CACL,CACE,OAAQ,yBACR,QAAS,qDACX,EACA,CACE,OAAQ,6DACR,QACE,gMACF,gBAAiB,GACjB,eAAgB,GAChB,gBAAiB,GACjB,KAAM,CACJ,WAAY,uDACd,CACF,EACA,CACE,OAAQ,wDACR,QAAS,iEACX,EACA,CACE,OAAQ,yBACR,QACE,oIAEF,eAAgB,EAClB,EACA,CACE,OAAQ,kDACR,QACE,gMACF,gBAAiB,GACjB,eAAgB,GAEhB,gBAAiB,GACjB,KAAM,CACJ,WAAY,4CACd,CACF,EACA,CACE,OAAQ,qDACR,QACE,gJAEF,eAAgB,EAClB,EACA,CACE,OAAQ,yBACR,QACE,4IACJ,EACA,CACE,OAAQ,sEACR,QACE,4JACJ,EACD,AACH,EACD,AACH,CACF,E,6BC3jBMC,EAAa,mCAEbC,EAAU,CACd,YAAa,kBACbD,WAAAA,CACF,EAEaE,EAAoBC,EAAAA,MAE1B,SAASC,IACdC,AAAAA,GAAAA,EAAAA,kBAAAA,AAAAA,EAAmBL,EAAYF,EACjC,CAEO,IAAMQ,EAAOC,AAAAA,GAAAA,EAAAA,iBAAAA,AAAAA,EAAkB,W,OAAM,mF,EAA4BN,GAE3DO,EAAWC,AAAAA,GAAAA,EAAAA,gBAAAA,AAAAA,ECfP,WACf,IAAQC,EAAMC,AAAAA,GAAAA,EAAAA,cAAAA,AAAAA,IAAND,CAAC,CAST,OACE,kBAAC,UAAO,KAAK,SAAS,QARA,WACtB,IAAME,EAAUC,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,iBAAkB,CAC1CC,QAAS,W,OAAMF,G,EACf,KAAM,IACR,EACF,EAGkD,MAAO,CAAE,IAAK,QAAS,OAAQ,SAAU,C,EACtFF,EAAE,WAAY,aAGrB,EDAmDT,GAEtCc,EAAgBR,AAAAA,GAAAA,EAAAA,iBAAAA,AAAAA,EAAkB,W,OAAM,sE,EAAsCN,E"}
|
package/dist/main.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
${n.safeToString(this.remoteInfo)}`),this.remoteEntryExports=e),this.remoteEntryExports}async get(e,t,r,n){let i,{loadFactory:a=!0}=r||{loadFactory:!0},c=await this.getEntry();if(!this.inited){let t=this.host.shareScopeMap,r=Array.isArray(this.remoteInfo.shareScope)?this.remoteInfo.shareScope:[this.remoteInfo.shareScope];r.length||r.push("default"),r.forEach(e=>{t[e]||(t[e]={})});let i=t[r[0]],a=[],s={version:this.remoteInfo.version||"",shareScopeKeys:Array.isArray(this.remoteInfo.shareScope)?r:this.remoteInfo.shareScope||"default"};Object.defineProperty(s,"shareScopeMap",{value:t,enumerable:!1});let u=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:i,remoteEntryInitOptions:s,initScope:a,remoteInfo:this.remoteInfo,origin:this.host});void 0===c?.init&&l(o.getShortErrorMsg(o.RUNTIME_002,o.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName})),await c.init(u.shareScope,u.initScope,u.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...u,id:e,remoteSnapshot:n,remoteEntryExports:c})}this.lib=c,this.inited=!0,(i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:c,expose:t,moduleInfo:this.remoteInfo}))||(i=await c.get(t)),s(i,`${f(this.remoteInfo)} remote don't export ${t}.`);let u=S(this.remoteInfo.name,t),h=this.wraperFactory(i,u);return a?await h():h}wraperFactory(e,t){function r(e,t){e&&"object"==typeof e&&Object.isExtensible(e)&&!Object.getOwnPropertyDescriptor(e,Symbol.for("mf_module_id"))&&Object.defineProperty(e,Symbol.for("mf_module_id"),{value:t,enumerable:!1})}return e instanceof Promise?async()=>{let n=await e();return r(n,t),n}:()=>{let n=e();return r(n,t),n}}}class tu{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){"function"==typeof e&&this.listeners.add(e)}once(e){let t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}}class tf extends tu{emit(...e){let t,r=Array.from(this.listeners);if(r.length>0){let n=0,o=t=>!1!==t&&(n<r.length?Promise.resolve(r[n++].apply(null,e)).then(o):t);t=o()}return Promise.resolve(t)}}function th(e,t){if(!m(t))return!1;if(e!==t){for(let r in e)if(!(r in t))return!1}return!0}class tp extends tu{constructor(e){super(),this.onerror=l,this.type=e}emit(e){for(let t of(m(e)||l(`The data for the "${this.type}" hook should be an object.`),this.listeners))try{let r=t(e);if(th(e,r))e=r;else{this.onerror(`A plugin returned an unacceptable value for the "${this.type}" type.`);break}}catch(e){c(e),this.onerror(e)}return e}}class td extends tu{constructor(e){super(),this.onerror=l,this.type=e}emit(e){m(e)||l(`The response data for the "${this.type}" hook must be an object.`);let t=Array.from(this.listeners);if(t.length>0){let r=0,n=t=>(c(t),this.onerror(t),e),o=i=>{if(th(e,i)){if(e=i,r<t.length)try{return Promise.resolve(t[r++](e)).then(o,n)}catch(e){return n(e)}}else this.onerror(`A plugin returned an incorrect value for the "${this.type}" type.`);return e};return Promise.resolve(o(e))}return Promise.resolve(e)}}class tm{constructor(e){this.registerPlugins={},this.lifecycle=e,this.lifecycleKeys=Object.keys(e)}applyPlugin(e,t){s(g(e),"Plugin configuration is invalid.");let r=e.name;s(r,"A name must be provided by the plugin."),this.registerPlugins[r]||(this.registerPlugins[r]=e,e.apply?.(t),Object.keys(this.lifecycle).forEach(t=>{let r=e[t];r&&this.lifecycle[t].on(r)}))}removePlugin(e){s(e,"A name is required.");let t=this.registerPlugins[e];s(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(e=>{"name"!==e&&this.lifecycle[e].remove(t[e])})}}function ty(e,t){let r=b(t);r.url||l(`The attribute remoteEntry of ${e.name} must not be undefined.`);let o=n.getResourceUrl(t,r.url);n.isBrowserEnv()||o.startsWith("http")||(o=`https:${o}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=o,e.version=t.version,e.buildVersion=t.buildVersion}function tg(){return{name:"snapshot-plugin",async afterResolve(e){let{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:i,id:a}=e;if(!h(t)||!p(t)){let{remoteSnapshot:s,globalSnapshot:l}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:a});ty(i,s);let c={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:c,remoteInfo:i,remote:t,remoteSnapshot:s,globalSnapshot:l});return u&&ts(i,o,u,!1),{...e,remoteSnapshot:s}}return e}}}function t_(e){let t=e.split(":");return 1===t.length?{name:t[0],version:void 0}:2===t.length?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function tE(e,t,r,o,i={},a){let{value:s}=D(e,f(t)),l=a||s;if(l&&!n.isManifestProvider(l)&&(r(l,t,o),l.remotesInfo))for(let t of Object.keys(l.remotesInfo)){if(i[t])continue;i[t]=!0;let n=t_(t),o=l.remotesInfo[t];tE(e,{name:n.name,version:o.matchedVersion},r,!1,i,void 0)}}let tb=(e,t)=>document.querySelector(`${e}[${"link"===e?"href":"src"}="${t}"]`);function tS(e,t,r,o,i){let a=[],s=[],l=[],c=new Set,u=new Set,{options:f}=e,{preloadConfig:h}=t,{depsRemote:p}=h;if(tE(o,r,(t,r,o)=>{let i;if(o)i=h;else if(Array.isArray(p)){let e=p.find(e=>e.nameOrAlias===r.name||e.nameOrAlias===r.alias);if(!e)return;i=to(e)}else{if(!0!==p)return;i=h}let c=n.getResourceUrl(t,b(t).url);c&&l.push({name:r.name,moduleInfo:{name:r.name,entry:c,type:"remoteEntryType"in t?t.remoteEntryType:"global",entryGlobalName:"globalName"in t?t.globalName:r.name,shareScope:"",version:"version"in t?t.version:void 0},url:c});let u="modules"in t?t.modules:[],f=ta(i.exposes);function d(e){let r=e.map(e=>n.getResourceUrl(t,e));return i.filter?r.filter(i.filter):r}if(f.length&&"modules"in t&&(u=t?.modules?.reduce((e,t)=>(f?.indexOf(t.moduleName)!==-1&&e.push(t),e),[])),u){let n=u.length;for(let o=0;o<n;o++){let n=u[o],l=`${r.name}/${n.moduleName}`;e.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({id:"."===n.moduleName?r.name:l,name:r.name,remoteSnapshot:t,preloadConfig:i,remote:r,origin:e}),G(l)||("all"===i.resourceCategory?(a.push(...d(n.assets.css.async)),a.push(...d(n.assets.css.sync)),s.push(...d(n.assets.js.async))):(i.resourceCategory="sync",a.push(...d(n.assets.css.sync))),s.push(...d(n.assets.js.sync)),V(l))}}},!0,{},i),i.shared&&i.shared.length>0){let t=(t,r)=>{let n=eJ(e.shareScopeMap,r.sharedName,t,e.sharedHandler.hooks.lifecycle.resolveShare);n&&"function"==typeof n.lib&&(r.assets.js.sync.forEach(e=>{c.add(e)}),r.assets.css.sync.forEach(e=>{u.add(e)}))};i.shared.forEach(e=>{let r=f.shared?.[e.sharedName];if(!r)return;let n=e.version?r.find(t=>t.version===e.version):r;n&&E(n).forEach(r=>{t(r,e)})})}let d=s.filter(e=>!c.has(e)&&!tb("script",e));return{cssAssets:a.filter(e=>!u.has(e)&&!tb("link",e)),jsAssetsWithoutEntry:d,entryAssets:l.filter(e=>!tb("script",e.url))}}let tv=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){let{origin:t,preloadOptions:r,remoteInfo:o,remote:i,globalSnapshot:a,remoteSnapshot:s}=e;return n.isBrowserEnv()?h(i)&&p(i)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:i.name,url:i.entry,moduleInfo:{name:o.name,entry:i.entry,type:o.type||"global",entryGlobalName:"",shareScope:""}}]}:(ty(o,s),tS(t,r,o,a,s)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};function tI(e,t){let r=L({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&D(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:P(),remoteSnapshot:L({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:P(),remoteSnapshot:L({name:e.name,version:"version"in e?e.version:void 0})}}class tR{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new tm({beforeLoadRemoteSnapshot:new tf("beforeLoadRemoteSnapshot"),loadSnapshot:new td("loadGlobalSnapshot"),loadRemoteSnapshot:new td("loadRemoteSnapshot"),afterLoadSnapshot:new td("afterLoadSnapshot")}),this.manifestLoading=R.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){let i,a,{options:s}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:s,moduleInfo:e});let c=L({name:this.HostInstance.options.name,version:this.HostInstance.options.version});c||(c={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},x({[this.HostInstance.options.name]:c})),c&&"remotesInfo"in c&&!D(c.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(c.remotesInfo={...c?.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});let{hostGlobalSnapshot:u,remoteSnapshot:f,globalSnapshot:p}=this.getGlobalRemoteInfo(e),{remoteSnapshot:d,globalSnapshot:m}=await this.hooks.lifecycle.loadSnapshot.emit({options:s,moduleInfo:e,hostGlobalSnapshot:u,remoteSnapshot:f,globalSnapshot:p});if(d)if(n.isManifestProvider(d)){let t=n.isBrowserEnv()?d.remoteEntry:d.ssrRemoteEntry||d.remoteEntry||"",r=await this.getManifestJson(t,e,{}),o=F({...e,entry:t},r);i=r,a=o}else{let{remoteSnapshot:t}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:d,from:"global"});i=t,a=m}else if(h(e)){let t=await this.getManifestJson(e.entry,e,{}),r=F(e,t),{remoteSnapshot:n}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:t,from:"global"});i=n,a=r}else l(o.getShortErrorMsg(o.RUNTIME_007,o.runtimeDescMap,{hostName:e.name,hostVersion:e.version,globalSnapshot:JSON.stringify(m)}));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:s,moduleInfo:e,remoteSnapshot:i}),{remoteSnapshot:i,globalSnapshot:a}}getGlobalRemoteInfo(e){return tI(e,this.HostInstance)}async getManifestJson(e,t,r){let i=async()=>{let r=this.manifestCache.get(e);if(r)return r;try{let t=await this.loaderHook.lifecycle.fetch.emit(e,{});t&&t instanceof Response||(t=await fetch(e,{})),r=await t.json()}catch(n){(r=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}))||(delete this.manifestLoading[e],l(o.getShortErrorMsg(o.RUNTIME_003,o.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${n}`)))}return s(r.metaData&&r.exposes&&r.shared,`${e} is not a federation manifest`),this.manifestCache.set(e,r),r},a=async()=>{let r=await i(),o=n.generateSnapshotFromManifest(r,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:r,remoteSnapshot:o,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=a().then(e=>e)),this.manifestLoading[e]}}class tN{constructor(e){this.hooks=new tm({afterResolve:new td("afterResolve"),beforeLoadShare:new td("beforeLoadShare"),loadShare:new tf,resolveShare:new tp("resolveShare"),initContainerShareScopeMap:new tp("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){let{shareInfos:r,shared:n}=eV(e,t);return Object.keys(r).forEach(e=>{r[e].forEach(r=>{r.scope.forEach(n=>{this.shareScopeMap[n]?.[e]||this.setShared({pkgName:e,lib:r.lib,get:r.get,loaded:r.loaded||!!r.lib,shared:r,from:t.name})})})}),{shareInfos:r,shared:n}}async loadShare(e,t){let{host:r}=this,n=eQ({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n?.scope&&await Promise.all(n.scope.map(async e=>{await Promise.all(this.initializeSharing(e,{strategy:n.strategy}))}));let{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});s(o,`Cannot find ${e} Share in the ${r.options.name}. Please ensure that the ${e} Share parameters have been injected`);let i=eJ(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare),a=e=>{e.useIn||(e.useIn=[]),u(e.useIn,r.options.name)};if(i&&i.lib)return a(i),i.lib;if(i&&i.loading&&!i.loaded){let e=await i.loading;return i.loaded=!0,i.lib||(i.lib=e),a(i),e}if(i){let t=(async()=>{let e=await i.get();return a(i),i.loaded=!0,i.lib=e,e})();return this.setShared({pkgName:e,loaded:!1,shared:i,from:r.options.name,lib:null,loading:t}),t}{if(t?.customShareInfo)return!1;let n=(async()=>{let t=await o.get();o.lib=t,o.loaded=!0,a(o);let r=eJ(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare);return r&&(r.lib=t,r.loaded=!0,r.from=o.from),t})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:n}),n}}initializeSharing(e=q,t){let{host:r}=this,n=t?.from,o=t?.strategy,i=t?.initScope,a=[];if("build"!==n){let{initTokens:t}=this;i||(i=[]);let r=t[e];if(r||(r=t[e]={from:this.host.name}),i.indexOf(r)>=0)return a;i.push(r)}let s=this.shareScopeMap,l=r.options.name;s[e]||(s[e]={});let c=s[e],u=(e,t)=>{let{version:r,eager:n}=t;c[e]=c[e]||{};let o=c[e],i=o[r],a=!!(i&&(i.eager||i.shareConfig?.eager));(!i||"loaded-first"!==i.strategy&&!i.loaded&&(!n!=!a?n:l>i.from))&&(o[r]=t)},f=t=>t&&t.init&&t.init(s[e],i),h=async e=>{let{module:t}=await r.remoteHandler.getRemoteModuleAndOptions({id:e});if(t.getEntry){let n;try{n=await t.getEntry()}catch(t){n=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:t,from:"runtime",lifecycle:"beforeLoadShare",origin:r})}t.inited||(await f(n),t.inited=!0)}};return Object.keys(r.options.shared).forEach(t=>{r.options.shared[t].forEach(r=>{r.scope.includes(e)&&u(t,r)})}),("version-first"===r.options.shareStrategy||"version-first"===o)&&r.options.remotes.forEach(t=>{t.shareScope===e&&a.push(h(t.name))}),a}loadShareSync(e,t){let{host:r}=this,n=eQ({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n?.scope&&n.scope.forEach(e=>{this.initializeSharing(e,{strategy:n.strategy})});let i=eJ(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare),a=e=>{e.useIn||(e.useIn=[]),u(e.useIn,r.options.name)};if(i){if("function"==typeof i.lib)return a(i),i.loaded||(i.loaded=!0,i.from===r.options.name&&(n.loaded=!0)),i.lib;if("function"==typeof i.get){let t=i.get();if(!(t instanceof Promise))return a(i),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:t,shared:i}),t}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){let i=n.get();if(i instanceof Promise){let n=t?.from==="build"?o.RUNTIME_005:o.RUNTIME_006;throw Error(o.getShortErrorMsg(n,o.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e}))}return n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}throw Error(o.getShortErrorMsg(o.RUNTIME_006,o.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e}))}initShareScopeMap(e,t,r={}){let{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:i,get:a}){let{version:s,scope:l="default",...c}=t;(Array.isArray(l)?l:[l]).forEach(t=>{if(this.shareScopeMap[t]||(this.shareScopeMap[t]={}),this.shareScopeMap[t][e]||(this.shareScopeMap[t][e]={}),!this.shareScopeMap[t][e][s]){this.shareScopeMap[t][e][s]={version:s,scope:[t],...c,lib:n,loaded:i,loading:o},a&&(this.shareScopeMap[t][e][s].get=a);return}let l=this.shareScopeMap[t][e][s];o&&!l.loading&&(l.loading=o),i&&!l.loaded&&(l.loaded=i),r&&l.from!==r&&(l.from=r)})}_setGlobalShareScopeMap(e){let t=eZ(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}}class tM{constructor(e){this.hooks=new tm({beforeRegisterRemote:new tp("beforeRegisterRemote"),registerRemote:new tp("registerRemote"),beforeRequest:new td("beforeRequest"),onLoad:new tf("onLoad"),handlePreloadModule:new tu("handlePreloadModule"),errorLoadRemote:new tf("errorLoadRemote"),beforePreloadRemote:new tf("beforePreloadRemote"),generatePreloadAssets:new tf("generatePreloadAssets"),afterPreloadRemote:new tf,loadEntry:new tf}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((e,t)=>(this.registerRemote(t,e,{force:!1}),e),e.remotes)}setIdToRemoteMap(e,t){let{remote:r,expose:n}=t,{name:o,alias:i}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},i&&e.startsWith(o)){let t=e.replace(o,i);this.idToRemoteMap[t]={name:r.name,expose:n};return}if(i&&e.startsWith(i)){let t=e.replace(i,o);this.idToRemoteMap[t]={name:r.name,expose:n}}}async loadRemote(e,t){let{host:r}=this;try{let{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:i,remoteMatchInfo:a}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:s,remote:l,expose:c,id:u,remoteSnapshot:f}=a,h=await o.get(u,c,t,f),p=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:s,expose:c,exposeModule:n?h:void 0,exposeModuleFactory:n?void 0:h,remote:l,options:i,moduleInstance:o,origin:r});if(this.setIdToRemoteMap(e,a),"function"==typeof p)return p;return h}catch(i){let{from:n="runtime"}=t||{from:"runtime"},o=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:n,lifecycle:"onLoad",origin:r});if(!o)throw i;return o}}async preloadRemote(e){let{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});let r=ti(t.options.remotes,e);await Promise.all(r.map(async e=>{let{remote:r}=e,n=tn(r),{globalSnapshot:o,remoteSnapshot:i}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:r}),a=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:e,remote:r,remoteInfo:n,globalSnapshot:o,remoteSnapshot:i});a&&ts(n,t,a)}))}registerRemotes(e,t){let{host:r}=this;e.forEach(e=>{this.registerRemote(e,r.options.remotes,{force:t?.force})})}async getRemoteModuleAndOptions(e){let t,{host:r}=this,{id:n}=e;try{t=await this.hooks.lifecycle.beforeRequest.emit({id:n,options:r.options,origin:r})}catch(e){if(!(t=await this.hooks.lifecycle.errorLoadRemote.emit({id:n,options:r.options,origin:r,from:"runtime",error:e,lifecycle:"beforeRequest"})))throw e}let{id:i}=t,a=e1(r.options.remotes,i);s(a,o.getShortErrorMsg(o.RUNTIME_004,o.runtimeDescMap,{hostName:r.options.name,requestId:i}));let{remote:l}=a,c=tn(l),u=await r.sharedHandler.hooks.lifecycle.afterResolve.emit({id:i,...a,options:r.options,origin:r,remoteInfo:c}),{remote:f,expose:h}=u;s(f&&h,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${i}.`);let p=r.moduleCache.get(f.name),d={host:r,remoteInfo:c};return p||(p=new tc(d),r.moduleCache.set(f.name,p)),{module:p,moduleOptions:d,remoteMatchInfo:u}}registerRemote(e,t,r){let{host:o}=this,i=()=>{if(e.alias){let r=t.find(t=>e.alias&&(t.name.startsWith(e.alias)||t.alias?.startsWith(e.alias)));s(!r,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${r&&r.name} name or alias`)}"entry"in e&&n.isBrowserEnv()&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=q),e.type||(e.type=B)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:o});let a=t.find(t=>t.name===e.name);if(a){let s=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r?.force&&(this.removeRemote(a),i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o}),n.warn(s.join(" ")))}else i(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:o})}removeRemote(e){try{let{host:t}=this,{name:r}=e,o=t.options.remotes.findIndex(e=>e.name===r);-1!==o&&t.options.remotes.splice(o,1);let i=t.moduleCache.get(e.name);if(i){let r=i.remoteInfo,o=r.entryGlobalName;v[o]&&(Object.getOwnPropertyDescriptor(v,o)?.configurable?delete v[o]:v[o]=void 0);let a=tt(i.remoteInfo);T[a]&&delete T[a],t.snapshotHandler.manifestCache.delete(r.entry);let s=r.buildVersion?n.composeKeyWithSeparator(r.name,r.buildVersion):r.name,l=v.__FEDERATION__.__INSTANCES__.findIndex(e=>r.buildVersion?e.options.id===s:e.name===s);if(-1!==l){let e=v.__FEDERATION__.__INSTANCES__[l];s=e.options.id||s;let t=eZ(),n=!0,o=[];Object.keys(t).forEach(e=>{let i=t[e];i&&Object.keys(i).forEach(t=>{let a=i[t];a&&Object.keys(a).forEach(i=>{let s=a[i];s&&Object.keys(s).forEach(a=>{let l=s[a];l&&"object"==typeof l&&l.from===r.name&&(l.loaded||l.loading?(l.useIn=l.useIn.filter(e=>e!==r.name),l.useIn.length?n=!1:o.push([e,t,i,a])):o.push([e,t,i,a]))})})})}),n&&(e.shareScopeMap={},delete t[s]),o.forEach(([e,r,n,o])=>{delete t[e]?.[r]?.[n]?.[o]}),v.__FEDERATION__.__INSTANCES__.splice(l,1)}let{hostGlobalSnapshot:c}=tI(e,t);if(c){let t=c&&"remotesInfo"in c&&c.remotesInfo&&D(c.remotesInfo,e.name).key;t&&(delete c.remotesInfo[t],R.__FEDERATION__.__MANIFEST_LOADING__[t]&&delete R.__FEDERATION__.__MANIFEST_LOADING__[t])}t.moduleCache.delete(e.name)}}catch(e){a.log("removeRemote fail: ",e)}}}let tT="boolean"!=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN||!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN;class t${constructor(e){this.hooks=new tm({beforeInit:new tp("beforeInit"),init:new tu,beforeInitContainer:new td("beforeInitContainer"),initContainer:new td("initContainer")}),this.version="0.22.0",this.moduleCache=new Map,this.loaderHook=new tm({getModuleInfo:new tu,createScript:new tu,createLink:new tu,fetch:new tf,loadEntryError:new tf,getModuleFactory:new tf}),this.bridgeHook=new tm({beforeBridgeRender:new tu,afterBridgeRender:new tu,beforeBridgeDestroy:new tu,afterBridgeDestroy:new tu});const t=tT?[tg(),tv()]:[],r={id:e0(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:n.isBrowserEnv()};this.name=e.name,this.options=r,this.snapshotHandler=new tR(this),this.sharedHandler=new tN(this),this.remoteHandler=new tM(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){this.registerPlugins(e.plugins);let t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=q,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){let n=new tc({host:this,remoteInfo:tn({name:e,entry:t})});return n.remoteEntryExports=r,this.moduleCache.set(e,n),n}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){let{shared:r}=eV(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),i=this.remoteHandler.formatAndRegisterRemote(o,n),{shared:a}=this.sharedHandler.registerShared(o,n),s=[...o.plugins];n.plugins&&n.plugins.forEach(e=>{s.includes(e)||s.push(e)});let l={...e,...t,plugins:s,remotes:i,shared:a};return this.hooks.lifecycle.init.emit({origin:this,options:l}),l}registerPlugins(e){let t=e9(e,this);this.options.plugins=this.options.plugins.reduce((e,t)=>(t&&e&&!e.find(e=>e.name===t.name)&&e.push(t),e),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}}var tO=Object.freeze({__proto__:null});t.loadScript=n.loadScript,t.loadScriptNode=n.loadScriptNode,t.CurrentGlobal=v,t.Global=R,t.Module=tc,t.ModuleFederation=t$,t.addGlobalSnapshot=x,t.assert=s,t.getGlobalFederationConstructor=A,t.getGlobalSnapshot=P,t.getInfoWithoutType=D,t.getRegisteredShare=eJ,t.getRemoteEntry=tr,t.getRemoteInfo=tn,t.helpers=tl,t.isStaticResourcesEqual=_,t.matchRemoteWithNameAndExpose=e1,t.registerGlobalPlugins=C,t.resetFederationGlobalInfo=O,t.safeWrapper=d,t.satisfy=eU,t.setGlobalFederationConstructor=k,t.setGlobalFederationInstance=w,t.types=tO},8353(e,t,r){"use strict";var n=r(3323),o=r(7874),i=r(410);function a(e){let t=new(n.getGlobalFederationConstructor()||n.ModuleFederation)(e);return n.setGlobalFederationInstance(t),t}let s=null;function l(e){let t=i.getGlobalFederationInstance(e.name,e.version);return t?(t.initOptions(e),s||(s=t),t):s=a(e)}function c(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.loadRemote.apply(s,e)}function u(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.loadShare.apply(s,e)}function f(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.loadShareSync.apply(s,e)}function h(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.preloadRemote.apply(s,e)}function p(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.registerRemotes.apply(s,e)}function d(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.registerPlugins.apply(s,e)}function m(){return s}function y(...e){return n.assert(s,o.getShortErrorMsg(o.RUNTIME_009,o.runtimeDescMap)),s.registerShared.apply(s,e)}n.setGlobalFederationConstructor(n.ModuleFederation),t.Module=n.Module,t.ModuleFederation=n.ModuleFederation,t.getRemoteEntry=n.getRemoteEntry,t.getRemoteInfo=n.getRemoteInfo,t.loadScript=n.loadScript,t.loadScriptNode=n.loadScriptNode,t.registerGlobalPlugins=n.registerGlobalPlugins,t.createInstance=a,t.getInstance=m,t.init=l,t.loadRemote=c,t.loadShare=u,t.loadShareSync=f,t.preloadRemote=h,t.registerPlugins=d,t.registerRemotes=p,t.registerShared=y},410(e,t,r){"use strict";var n=r(3323);function o(){return"u">typeof FEDERATION_BUILD_IDENTIFIER?FEDERATION_BUILD_IDENTIFIER:""}t.getGlobalFederationInstance=function(e,t){let r=o();return n.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&!!t&&n.options.version===t)}},2545(__unused_rspack_module,exports){"use strict";let FederationModuleManifest="federation-manifest.json",MANIFEST_EXT=".json",BROWSER_LOG_KEY="FEDERATION_DEBUG",NameTransformSymbol={AT:"@",HYPHEN:"-",SLASH:"/"},NameTransformMap={[NameTransformSymbol.AT]:"scope_",[NameTransformSymbol.HYPHEN]:"_",[NameTransformSymbol.SLASH]:"__"},EncodedNameTransformMap={[NameTransformMap[NameTransformSymbol.AT]]:NameTransformSymbol.AT,[NameTransformMap[NameTransformSymbol.HYPHEN]]:NameTransformSymbol.HYPHEN,[NameTransformMap[NameTransformSymbol.SLASH]]:NameTransformSymbol.SLASH},SEPARATOR=":",ManifestFileName="mf-manifest.json",StatsFileName="mf-stats.json",MFModuleType={NPM:"npm",APP:"app"},MODULE_DEVTOOL_IDENTIFIER="__MF_DEVTOOLS_MODULE_INFO__",ENCODE_NAME_PREFIX="ENCODE_NAME_PREFIX",TEMP_DIR=".federation",MFPrefetchCommon={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};var ContainerPlugin=Object.freeze({__proto__:null}),ContainerReferencePlugin=Object.freeze({__proto__:null}),ModuleFederationPlugin=Object.freeze({__proto__:null}),SharePlugin=Object.freeze({__proto__:null});function isBrowserEnv(){return"u">typeof window&&void 0!==window.document}function isReactNativeEnv(){return"u">typeof navigator&&navigator?.product==="ReactNative"}function isBrowserDebug(){try{if(isBrowserEnv()&&window.localStorage)return!!localStorage.getItem(BROWSER_LOG_KEY)}catch(e){}return!1}function isDebugMode(){return"u">typeof process&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:!!("u">typeof FEDERATION_DEBUG&&FEDERATION_DEBUG)||isBrowserDebug()}let getProcessEnv=function(){return"u">typeof process&&process.env?process.env:{}},LOG_CATEGORY="[ Federation Runtime ]",parseEntry=(e,t,r=SEPARATOR)=>{let n=e.split(r),o="development"===getProcessEnv().NODE_ENV&&t,i="*",a=e=>e.startsWith("http")||e.includes(MANIFEST_EXT);if(n.length>=2){let[t,...s]=n;e.startsWith(r)&&(t=n.slice(0,2).join(r),s=[o||n.slice(2).join(r)]);let l=o||s.join(r);return a(l)?{name:t,entry:l}:{name:t,version:l||i}}if(1===n.length){let[e]=n;return o&&a(o)?{name:e,entry:o}:{name:e,version:o||i}}throw`Invalid entry value: ${e}`},composeKeyWithSeparator=function(...e){return e.length?e.reduce((e,t)=>t?e?`${e}${SEPARATOR}${t}`:t:e,""):""},encodeName=function(e,t="",r=!1){try{let n=r?".js":"";return`${t}${e.replace(RegExp(`${NameTransformSymbol.AT}`,"g"),NameTransformMap[NameTransformSymbol.AT]).replace(RegExp(`${NameTransformSymbol.HYPHEN}`,"g"),NameTransformMap[NameTransformSymbol.HYPHEN]).replace(RegExp(`${NameTransformSymbol.SLASH}`,"g"),NameTransformMap[NameTransformSymbol.SLASH])}${n}`}catch(e){throw e}},decodeName=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(RegExp(t,"g"),"")}return n=n.replace(RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`,"g"),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(e){throw e}},generateExposeFilename=(e,t)=>{if(!e)return"";let r=e;return"."===r&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),encodeName(r,"__federation_expose_",t)},generateShareFilename=(e,t)=>e?encodeName(e,"__federation_shared_",t):"",getResourceUrl=(e,t)=>{if("getPublicPath"in e){let r;return r=e.getPublicPath.startsWith("function")?Function("return "+e.getPublicPath)()():Function(e.getPublicPath)(),`${r}${t}`}return"publicPath"in e?!isBrowserEnv()&&!isReactNativeEnv()&&"ssrPublicPath"in e?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},assert=(e,t)=>{e||error(t)},error=e=>{throw Error(`${LOG_CATEGORY}: ${e}`)},warn=e=>{console.warn(`${LOG_CATEGORY}: ${e}`)};function safeToString(e){try{return JSON.stringify(e,null,2)}catch(e){return""}}let VERSION_PATTERN_REGEXP=/^([\d^=v<>~]|[*xX]$)/;function isRequiredVersion(e){return VERSION_PATTERN_REGEXP.test(e)}let simpleJoinRemoteEntry=(e,t)=>{if(!e)return t;let r=(e=>{if("."===e)return"";if(e.startsWith("./"))return e.replace("./","");if(e.startsWith("/")){let t=e.slice(1);return t.endsWith("/")?t.slice(0,-1):t}return e})(e);return r?r.endsWith("/")?`${r}${t}`:`${r}/${t}`:t};function inferAutoPublicPath(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function generateSnapshotFromManifest(e,t={}){let r,{remotes:n={},overrides:o={},version:i}=t,a=()=>"publicPath"in e.metaData?"auto"===e.metaData.publicPath&&i?inferAutoPublicPath(i):e.metaData.publicPath:e.metaData.getPublicPath,s=Object.keys(o),l={};Object.keys(n).length||(l=e.remotes?.reduce((e,t)=>{let r,n=t.federationContainerName;return r=s.includes(n)?o[n]:"version"in t?t.version:t.entry,e[n]={matchedVersion:r},e},{})||{}),Object.keys(n).forEach(e=>l[e]={matchedVersion:s.includes(e)?o[e]:n[e]});let{remoteEntry:{path:c,name:u,type:f},types:h={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:p},globalName:d,ssrRemoteEntry:m}=e.metaData,{exposes:y}=e,g={version:i||"",buildVersion:p,globalName:d,remoteEntry:simpleJoinRemoteEntry(c,u),remoteEntryType:f,remoteTypes:simpleJoinRemoteEntry(h.path,h.name),remoteTypesZip:h.zip||"",remoteTypesAPI:h.api||"",remotesInfo:l,shared:e?.shared.map(e=>({assets:e.assets,sharedName:e.name,version:e.version})),modules:y?.map(e=>({moduleName:e.name,modulePath:e.path,assets:e.assets}))};if(e.metaData?.prefetchInterface){let t=e.metaData.prefetchInterface;g={...g,prefetchInterface:t}}if(e.metaData?.prefetchEntry){let{path:t,name:r,type:n}=e.metaData.prefetchEntry;g={...g,prefetchEntry:simpleJoinRemoteEntry(t,r),prefetchEntryType:n}}return r="publicPath"in e.metaData?{...g,publicPath:a(),ssrPublicPath:e.metaData.ssrPublicPath}:{...g,getPublicPath:a()},m&&(r.ssrRemoteEntry=simpleJoinRemoteEntry(m.path,m.name),r.ssrRemoteEntryType=m.type||"commonjs-module"),r}function isManifestProvider(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(MANIFEST_EXT))}function getManifestFileName(e){if(!e)return{statsFileName:StatsFileName,manifestFileName:ManifestFileName};let t="boolean"==typeof e?"":e.filePath||"",r="boolean"==typeof e?"":e.fileName||"",n=".json",o=e=>e.endsWith(n)?e:`${e}${n}`,i=(e,t)=>e.replace(n,`${t}${n}`),a=r?o(r):ManifestFileName;return{statsFileName:simpleJoinRemoteEntry(t,r?i(a,"-stats"):StatsFileName),manifestFileName:simpleJoinRemoteEntry(t,a)}}let PREFIX="[ Module Federation ]",DEFAULT_DELEGATE=console,LOGGER_STACK_SKIP_TOKENS=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function captureStackTrace(){try{let e=Error().stack;if(!e)return;let[,...t]=e.split("\n"),r=t.filter(e=>!LOGGER_STACK_SKIP_TOKENS.some(t=>e.includes(t)));if(!r.length)return;let n=r.slice(0,5).join("\n");return`Stack trace:
|
|
4
4
|
${n}`}catch{return}}class Logger{constructor(e,t=DEFAULT_DELEGATE){this.prefix=e,this.delegate=t??DEFAULT_DELEGATE}setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??DEFAULT_DELEGATE}emit(e,t){let r=this.delegate,n=isDebugMode()?captureStackTrace():void 0,o=n?[...t,n]:t,i=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(let e of i){let t=r[e];if("function"==typeof t)return void t.call(r,this.prefix,...o)}for(let e of i){let t=DEFAULT_DELEGATE[e];if("function"==typeof t)return void t.call(DEFAULT_DELEGATE,this.prefix,...o)}}log(...e){this.emit("log",e)}warn(...e){this.emit("warn",e)}error(...e){this.emit("error",e)}success(...e){this.emit("info",e)}info(...e){this.emit("info",e)}ready(...e){this.emit("info",e)}debug(...e){isDebugMode()&&this.emit("debug",e)}}function createLogger(e){return new Logger(e)}function createInfrastructureLogger(e){let t=new Logger(e);return Object.defineProperty(t,"__mf_infrastructure_logger__",{value:!0,enumerable:!1,configurable:!1}),t}function bindLoggerToCompiler(e,t,r){if(e.__mf_infrastructure_logger__&&t?.getInfrastructureLogger)try{let n=t.getInfrastructureLogger(r);n&&"object"==typeof n&&("function"==typeof n.log||"function"==typeof n.info||"function"==typeof n.warn||"function"==typeof n.error)&&e.setDelegate(n)}catch{e.setDelegate(void 0)}}let logger=createLogger(PREFIX),infrastructureLogger=createInfrastructureLogger(PREFIX);async function safeWrapper(e,t){try{return await e()}catch(e){t||warn(e);return}}function isStaticResourcesEqual(e,t){let r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function createScript(e){let t,r=null,n=!0,o=2e4,i=document.getElementsByTagName("script");for(let t=0;t<i.length;t++){let o=i[t],a=o.getAttribute("src");if(a&&isStaticResourcesEqual(a,e.url)){r=o,n=!1;break}}if(!r){let t,n=e.attrs;(r=document.createElement("script")).type=n?.type==="module"?"module":"text/javascript",e.createScriptHook&&((t=e.createScriptHook(e.url,e.attrs))instanceof HTMLScriptElement?r=t:"object"==typeof t&&("script"in t&&t.script&&(r=t.script),"timeout"in t&&t.timeout&&(o=t.timeout))),r.src||(r.src=e.url),n&&!t&&Object.keys(n).forEach(e=>{r&&("async"===e||"defer"===e?r[e]=n[e]:r.getAttribute(e)||r.setAttribute(e,n[e]))})}let a=async(n,o)=>{clearTimeout(t);let i=()=>{o?.type==="error"?e?.onErrorCallback&&e?.onErrorCallback(o):e?.cb&&e?.cb()};if(r&&(r.onerror=null,r.onload=null,safeWrapper(()=>{let{needDeleteScript:t=!0}=e;t&&r?.parentNode&&r.parentNode.removeChild(r)}),n&&"function"==typeof n)){let e=n(o);if(e instanceof Promise){let t=await e;return i(),t}return i(),e}i()};return r.onerror=a.bind(null,r.onerror),r.onload=a.bind(null,r.onload),t=setTimeout(()=>{a(null,Error(`Remote script "${e.url}" time-outed.`))},o),{script:r,needAttach:n}}function createLink(e){let t=null,r=!0,n=document.getElementsByTagName("link");for(let o=0;o<n.length;o++){let i=n[o],a=i.getAttribute("href"),s=i.getAttribute("rel");if(a&&isStaticResourcesEqual(a,e.url)&&s===e.attrs.rel){t=i,r=!1;break}}if(!t){let r;(t=document.createElement("link")).setAttribute("href",e.url);let n=e.attrs;e.createLinkHook&&(r=e.createLinkHook(e.url,n))instanceof HTMLLinkElement&&(t=r),n&&!r&&Object.keys(n).forEach(e=>{t&&!t.getAttribute(e)&&t.setAttribute(e,n[e])})}let o=(r,n)=>{let o=()=>{n?.type==="error"?e?.onErrorCallback&&e?.onErrorCallback(n):e?.cb&&e?.cb()};if(t&&(t.onerror=null,t.onload=null,safeWrapper(()=>{let{needDeleteLink:r=!0}=e;r&&t?.parentNode&&t.parentNode.removeChild(t)}),r)){let e=r(n);return o(),e}o()};return t.onerror=o.bind(null,t.onerror),t.onload=o.bind(null,t.onload),{link:t,needAttach:r}}function loadScript(e,t){let{attrs:r={},createScriptHook:n}=t;return new Promise((t,o)=>{let{script:i,needAttach:a}=createScript({url:e,cb:t,onErrorCallback:o,attrs:{fetchpriority:"high",...r},createScriptHook:n,needDeleteScript:!0});a&&document.head.appendChild(i)})}let sdkImportCache=new Map;function importNodeModule(e){if(!e)throw Error("import specifier is required");if(sdkImportCache.has(e))return sdkImportCache.get(e);let t=Function("name","return import(name)")(e).then(e=>e).catch(t=>{throw console.error(`Error importing module ${e}:`,t),sdkImportCache.delete(e),t});return sdkImportCache.set(e,t),t}let loadNodeFetch=async()=>{let e=await importNodeModule("node-fetch");return e.default||e},lazyLoaderHookFetch=async(e,t,r)=>{let n=(e,t)=>r.lifecycle.fetch.emit(e,t),o=await n(e,t||{});return o&&o instanceof Response?o:("u"<typeof fetch?await loadNodeFetch():fetch)(e,t||{})},createScriptNode="u"<typeof ENV_TARGET||"web"!==ENV_TARGET?(url,cb,attrs,loaderHook)=>{let urlObj;if(loaderHook?.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&"object"==typeof hookResult&&"url"in hookResult&&(url=hookResult.url)}try{urlObj=new URL(url)}catch(e){console.error("Error constructing URL:",e),cb(Error(`Invalid URL: ${e}`));return}let getFetch=async()=>loaderHook?.fetch?(e,t)=>lazyLoaderHookFetch(e,t,loaderHook):"u"<typeof fetch?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj)=>{try{let res=await f(urlObj.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule("path"),importNodeModule("vm")]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj.pathname.split("/").slice(0,-1).join("/"),filename=path.basename(urlObj.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}
|
|
5
5
|
})`,{filename,importModuleDynamically:vm.constants?.USE_MAIN_CONTEXT_DEFAULT_LOADER??importNodeModule});script.runInThisContext()(scriptContext.exports,scriptContext.module,eval("require"),urlDirname,filename);let exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName){let container=exportedInterface[attrs.globalName]||exportedInterface;cb(void 0,container);return}cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async e=>{if(attrs?.type==="esm"||attrs?.type==="module")return loadModule(urlObj.href,{fetch:e,vm:await importNodeModule("vm")}).then(async e=>{await e.evaluate(),cb(void 0,e.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(e,urlObj)}).catch(e=>{cb(e)})}:(e,t,r,n)=>{t(Error("createScriptNode is disabled in non-Node.js environment"))},loadScriptNode="u"<typeof ENV_TARGET||"web"!==ENV_TARGET?(e,t)=>new Promise((r,n)=>{createScriptNode(e,(e,o)=>{if(e)n(e);else{let e=t?.attrs?.globalName||`__FEDERATION_${t?.attrs?.name}:custom__`;r(globalThis[e]=o)}},t.attrs,t.loaderHook)}):(e,t)=>{throw Error("loadScriptNode is disabled in non-Node.js environment")},esmModuleCache=new Map;async function loadModule(e,t){if(esmModuleCache.has(e))return esmModuleCache.get(e);let{fetch:r,vm:n}=t,o=await r(e),i=await o.text(),a=new n.SourceTextModule(i,{importModuleDynamically:async(r,n)=>loadModule(new URL(r,e).href,t)});return esmModuleCache.set(e,a),await a.link(async r=>{let n=new URL(r,e).href;return await loadModule(n,t)}),a}function normalizeOptions(e,t,r){return function(n){if(!1===n)return!1;if(void 0===n)if(e)return t;else return!1;if(!0===n)return t;if(n&&"object"==typeof n)return{...t,...n};throw Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof n}`)}}let createModuleFederationConfig=e=>e;exports.BROWSER_LOG_KEY=BROWSER_LOG_KEY,exports.ENCODE_NAME_PREFIX=ENCODE_NAME_PREFIX,exports.EncodedNameTransformMap=EncodedNameTransformMap,exports.FederationModuleManifest=FederationModuleManifest,exports.MANIFEST_EXT=MANIFEST_EXT,exports.MFModuleType=MFModuleType,exports.MFPrefetchCommon=MFPrefetchCommon,exports.MODULE_DEVTOOL_IDENTIFIER=MODULE_DEVTOOL_IDENTIFIER,exports.ManifestFileName=ManifestFileName,exports.NameTransformMap=NameTransformMap,exports.NameTransformSymbol=NameTransformSymbol,exports.SEPARATOR=SEPARATOR,exports.StatsFileName=StatsFileName,exports.TEMP_DIR=TEMP_DIR,exports.assert=assert,exports.bindLoggerToCompiler=bindLoggerToCompiler,exports.composeKeyWithSeparator=composeKeyWithSeparator,exports.containerPlugin=ContainerPlugin,exports.containerReferencePlugin=ContainerReferencePlugin,exports.createInfrastructureLogger=createInfrastructureLogger,exports.createLink=createLink,exports.createLogger=createLogger,exports.createModuleFederationConfig=createModuleFederationConfig,exports.createScript=createScript,exports.createScriptNode=createScriptNode,exports.decodeName=decodeName,exports.encodeName=encodeName,exports.error=error,exports.generateExposeFilename=generateExposeFilename,exports.generateShareFilename=generateShareFilename,exports.generateSnapshotFromManifest=generateSnapshotFromManifest,exports.getManifestFileName=getManifestFileName,exports.getProcessEnv=getProcessEnv,exports.getResourceUrl=getResourceUrl,exports.inferAutoPublicPath=inferAutoPublicPath,exports.infrastructureLogger=infrastructureLogger,exports.isBrowserEnv=isBrowserEnv,exports.isDebugMode=isDebugMode,exports.isManifestProvider=isManifestProvider,exports.isReactNativeEnv=isReactNativeEnv,exports.isRequiredVersion=isRequiredVersion,exports.isStaticResourcesEqual=isStaticResourcesEqual,exports.loadScript=loadScript,exports.loadScriptNode=loadScriptNode,exports.logger=logger,exports.moduleFederationPlugin=ModuleFederationPlugin,exports.normalizeOptions=normalizeOptions,exports.parseEntry=parseEntry,exports.safeToString=safeToString,exports.safeWrapper=safeWrapper,exports.sharePlugin=SharePlugin,exports.simpleJoinRemoteEntry=simpleJoinRemoteEntry,exports.warn=warn},5944(e,t){"use strict";t.FEDERATION_SUPPORTED_TYPES=["script"]},3416(e,t,r){"use strict";var n=r(8353),o=r(5944),i=r(2545);function a(e){e.S&&!e.federation.hasAttachShareScopeMap&&e.federation.instance&&e.federation.instance.shareScopeMap&&(e.S=e.federation.instance.shareScopeMap,e.federation.hasAttachShareScopeMap=!0)}function s(e){let{webpackRequire:t,moduleToHandlerMapping:r}=e,{consumesLoadingData:n,initializeSharingData:o}=t;if(n&&!n._updated){let{moduleIdToConsumeDataMapping:t={},initialConsumes:o=[],chunkMapping:i={}}=n;if(Object.entries(t).forEach(([e,t])=>{r[e]||(r[e]={getter:t.fallback,shareInfo:{shareConfig:{requiredVersion:t.requiredVersion,strictVersion:t.strictVersion,singleton:t.singleton,eager:t.eager,layer:t.layer},scope:Array.isArray(t.shareScope)?t.shareScope:[t.shareScope||"default"]},shareKey:t.shareKey})}),"initialConsumes"in e){let{initialConsumes:t=[]}=e;o.forEach(e=>{t.includes(e)||t.push(e)})}if("chunkMapping"in e){let{chunkMapping:t={}}=e;Object.entries(i).forEach(([e,r])=>{t[e]||(t[e]=[]),r.forEach(r=>{t[e].includes(r)||t[e].push(r)})})}n._updated=1}if(o&&!o._updated){let{federation:e}=t;if(!e.instance||!o.scopeToSharingDataMapping)return;let r={};for(let[e,t]of Object.entries(o.scopeToSharingDataMapping))for(let n of t)if("object"==typeof n&&null!==n){let{name:t,version:o,factory:i,eager:a,singleton:s,requiredVersion:l,strictVersion:c}=n,u={requiredVersion:`^${o}`},f=function(e){return void 0!==e};f(s)&&(u.singleton=s),f(l)&&(u.requiredVersion=l),f(a)&&(u.eager=a),f(c)&&(u.strictVersion=c);let h={version:o,scope:[e],shareConfig:u,get:i};r[t]?r[t].push(h):r[t]=[h]}e.instance.registerShared(r),o._updated=1}}function l(e){let{webpackRequire:t,idToExternalAndNameMapping:r={},idToRemoteMap:n={},chunkMapping:o={}}=e,{remotesLoadingData:i}=t,a=t.federation?.bundlerRuntimeOptions?.remotes?.remoteInfos;if(!i||i._updated||!a)return;let{chunkMapping:s,moduleIdToRemoteDataMapping:l}=i;if(s&&l){for(let[e,t]of Object.entries(l))if(r[e]||(r[e]=[t.shareScope,t.name,t.externalModuleId]),!n[e]&&a[t.remoteName]){let r=a[t.remoteName];n[e]||=[],r.forEach(t=>{n[e].includes(t)||n[e].push(t)})}o&&Object.entries(s).forEach(([e,t])=>{o[e]||(o[e]=[]),t.forEach(t=>{o[e].includes(t)||o[e].push(t)})}),i._updated=1}}function c(e){l(e);let{chunkId:t,promises:r,webpackRequire:n,chunkMapping:s,idToExternalAndNameMapping:c,idToRemoteMap:u}=e;a(n),n.o(s,t)&&s[t].forEach(e=>{let t=n.R;t||(t=[]);let a=c[e],s=u[e]||[];if(t.indexOf(a)>=0)return;if(t.push(a),a.p)return r.push(a.p);let l=t=>{t||(t=Error("Container missing")),"string"==typeof t.message&&(t.message+=`
|
|
6
|
-
while loading "${a[1]}" from ${a[2]}`),n.m[e]=()=>{throw t},a.p=0},f=(e,t,n,o,i,s)=>{try{let c=e(t,n);if(!c||!c.then)return i(c,o,s);{let e=c.then(e=>i(e,o),l);if(!s)return e;r.push(a.p=e)}}catch(e){l(e)}},h=(e,t,r)=>e?f(n.I,a[0],0,e,p,r):l();var p=(e,r,n)=>f(r.get,a[1],t,0,d,n),d=t=>{a.p=1,n.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=i.decodeName(s[0].name,i.ENCODE_NAME_PREFIX)+a[1].slice(1),t=n.federation.instance,r=()=>n.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy)return Promise.all(t.sharedHandler.initializeSharing(a[0])).then(()=>r());return r()}catch(e){l(e)}};1===s.length&&o.FEDERATION_SUPPORTED_TYPES.includes(s[0].externalType)&&s[0].name?f(m,a[2],0,0,d,1):f(n,a[2],0,0,h,1)})}function u(e){s(e);let{chunkId:t,promises:r,installedModules:n,webpackRequire:o,chunkMapping:i,moduleToHandlerMapping:l}=e;a(o),o.o(i,t)&&i[t].forEach(e=>{if(o.o(n,e))return r.push(n[e]);let t=t=>{n[e]=0,o.m[e]=r=>{delete o.c[e];let n=t(),{shareInfo:i}=l[e];if(i?.shareConfig?.layer&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=i.shareConfig.layer)}catch(e){}r.exports=n}},i=t=>{delete n[e],o.m[e]=r=>{throw delete o.c[e],t}};try{let a=o.federation.instance;if(!a)throw Error("Federation instance not found!");let{shareKey:s,getter:c,shareInfo:u}=l[e],f=a.loadShare(s,{customShareInfo:u}).then(e=>!1===e?c():e);f.then?r.push(n[e]=f.then(t).catch(i)):t(f)}catch(e){i(e)}})}function f({shareScopeName:e,webpackRequire:t,initPromises:r,initTokens:n,initScope:i}){let s=Array.isArray(e)?e:[e];var l=[],c=function(s){i||(i=[]);let l=t.federation.instance;var c=n[s];if(c||(c=n[s]={from:l.name}),i.indexOf(c)>=0)return;i.push(c);let u=r[s];if(u)return u;var f=e=>"u">typeof console&&console.warn&&console.warn(e),h=r=>{var n=e=>f("Initialization of sharing external failed: "+e);try{var o=t(r);if(!o)return;var a=r=>r&&r.init&&r.init(t.S[s],i,{shareScopeMap:t.S||{},shareScopeKeys:e});if(o.then)return p.push(o.then(a,n));var l=a(o);if(l&&"boolean"!=typeof l&&l.then)return p.push(l.catch(n))}catch(e){n(e)}};let p=l.initializeSharing(s,{strategy:l.options.shareStrategy,initScope:i,from:"build"});a(t);let d=t.federation.bundlerRuntimeOptions.remotes;return(d&&Object.keys(d.idToRemoteMap).forEach(e=>{let t=d.idToRemoteMap[e],r=d.idToExternalAndNameMapping[e][2];if(t.length>1)h(r);else if(1===t.length){let e=t[0];o.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||h(r)}}),p.length)?r[s]=Promise.all(p).then(()=>r[s]=!0):r[s]=!0};return s.forEach(e=>{l.push(c(e))}),Promise.all(l).then(()=>!0)}function h(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:n}=e,o=n.federation.instance;if(!o)throw Error("Federation instance not found!");let{shareKey:i,shareInfo:a}=r[t];try{return o.loadShareSync(i,{customShareInfo:a})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}function p(e){let{webpackRequire:t}=e;s(e);let{initialConsumes:r,moduleToHandlerMapping:n,installedModules:o}=e;r.forEach(e=>{t.m[e]=r=>{o[e]=0,delete t.c[e];let i=h({moduleId:e,moduleToHandlerMapping:n,webpackRequire:t});if("function"!=typeof i)throw Error(`Shared module is not available for eager consumption: ${e}`);let a=i(),{shareInfo:s}=n[e];if(s?.shareConfig?.layer&&a&&"object"==typeof a)try{a.hasOwnProperty("layer")&&void 0!==a.layer||(a.layer=s.shareConfig.layer)}catch(e){}r.exports=a}})}function d(e){let{webpackRequire:t,shareScope:r,initScope:n,shareScopeKey:o,remoteEntryInitOptions:i}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let a=t.federation.instance;a.initOptions({name:t.federation.initOptions.name,remotes:[],...i});let s=i?.shareScopeKeys,l=i?.shareScopeMap;if(o&&"string"!=typeof o)o.forEach(e=>{if(!s||!l)return void a.initShareScopeMap(e,r,{hostShareScopeMap:i?.shareScopeMap||{}});l[e]||(l[e]={});let t=l[e];a.initShareScopeMap(e,t,{hostShareScopeMap:i?.shareScopeMap||{}})});else{let e=o||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];a.initShareScopeMap(e,t,{hostShareScopeMap:i?.shareScopeMap||{}})}):a.initShareScopeMap(e,r,{hostShareScopeMap:i?.shareScopeMap||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(o))?t.federation.initOptions.shared?t.I(o,n):Promise.all(o.map(e=>t.I(e,n))).then(()=>!0):t.I(o||"default",n)}e.exports={runtime:function(e){var t=Object.create(null);if(e)for(var r in e)t[r]=e[r];return t.default=e,Object.freeze(t)}(n),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:c,consumes:u,I:f,S:{},installInitialConsumes:p,initContainerEntry:d},attachShareScopeMap:a,bundlerRuntimeOptions:{}}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(9290),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1700|618|7196)$/.test(e)},rootOutputDir:""})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,n){if(1&n&&(r=this(r)),8&n||"object"==typeof r&&r&&(4&n&&r.__esModule||16&n&&"function"==typeof r.then))return r;var o=Object.create(null);__webpack_require__.r(o);var i={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&r;("object"==typeof a||"function"==typeof a)&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach(e=>{i[e]=()=>r[e]});return i.default=()=>r,__webpack_require__.d(o,i),o}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".js"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="@openmrs/esm-user-onboarding-app:";__webpack_require__.l=function(r,n,o,i){if(e[r])return void e[r].push(n);if(void 0!==o)for(var a,s,l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var u=l[c];if(u.getAttribute("src")==r||u.getAttribute("data-rspack")==t+o){a=u;break}}a||(s=!0,(a=document.createElement("script")).timeout=120,__webpack_require__.nc&&a.setAttribute("nonce",__webpack_require__.nc),a.setAttribute("data-rspack",t+o),a.src=r),e[r]=[n];var f=function(t,n){a.onerror=a.onload=null,clearTimeout(h);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach(function(e){return e(n)}),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload),s&&document.head.appendChild(a)}})(),(()=>{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nc=void 0})(),(()=>{__webpack_require__.rv=()=>"1.7.9"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@openmrs/esm-framework",version:"10.0.1-pre.4915",factory:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("2482"),__webpack_require__.e("5995"),__webpack_require__.e("7196"),__webpack_require__.e("618"),__webpack_require__.e("1700")]).then(()=>()=>__webpack_require__(8438)),eager:0,singleton:1,requiredVersion:"10.x",strictVersion:0},{name:"dayjs",version:"1.11.13",factory:()=>__webpack_require__.e("2538").then(()=>()=>__webpack_require__(4353)),eager:0,singleton:1,requiredVersion:"1.x",strictVersion:0},{name:"react-i18next",version:"11.18.6",factory:()=>Promise.all([__webpack_require__.e("154"),__webpack_require__.e("7196")]).then(()=>()=>__webpack_require__(4609)),eager:0,singleton:1,requiredVersion:"16.x",strictVersion:0},{name:"react-router-dom",version:"6.25.1",factory:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("749"),__webpack_require__.e("7196")]).then(()=>()=>__webpack_require__(6204)),eager:0,singleton:1,requiredVersion:"6.x",strictVersion:0},{name:"react",version:"18.3.1",factory:()=>__webpack_require__.e("6237").then(()=>()=>__webpack_require__(6540)),eager:0,singleton:1,requiredVersion:"18.x",strictVersion:0},{name:"rxjs",version:"6.6.7",factory:()=>__webpack_require__.e("2997").then(()=>()=>__webpack_require__(5908)),eager:0,singleton:1,requiredVersion:"6.x",strictVersion:0}]},uniqueName:"@openmrs/esm-user-onboarding-app"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var e,t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");__webpack_require__.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{1700:["7775"],1889:["6711","7775","4301"],7196:["6711"],618:["4898","4006","4691"]},moduleIdToConsumeDataMapping:{4301:{shareScope:"default",shareKey:"@openmrs/esm-framework",import:"@openmrs/esm-framework",requiredVersion:"10.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("2482"),__webpack_require__.e("5995"),__webpack_require__.e("618")]).then(()=>()=>__webpack_require__(8438))},4006:{shareScope:"default",shareKey:"dayjs",import:"dayjs",requiredVersion:"1.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("2538").then(()=>()=>__webpack_require__(4353))},4691:{shareScope:"default",shareKey:"react-router-dom",import:"react-router-dom",requiredVersion:"6.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(6204))},4898:{shareScope:"default",shareKey:"rxjs",import:"rxjs",requiredVersion:"6.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("2997").then(()=>()=>__webpack_require__(5908))},6711:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("6237").then(()=>()=>__webpack_require__(6540))},7775:{shareScope:"default",shareKey:"react-i18next",import:"react-i18next",requiredVersion:"16.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("154").then(()=>()=>__webpack_require__(4609))}},initialConsumes:["6711","7775","4301"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={1889:0};__webpack_require__.f.j=function(t,r){var n=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1700|618|7196)$/.test(t))e[t]=0;else{var o=new Promise((r,o)=>n=e[t]=[r,o]);r.push(n[2]=o);var i=__webpack_require__.p+__webpack_require__.u(t),a=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}};__webpack_require__.l(i,s,"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[i,a,s]=r,l=0;if(i.some(t=>0!==e[t])){for(n in a)__webpack_require__.o(a,n)&&(__webpack_require__.m[n]=a[n]);s&&s(__webpack_require__)}for(t&&t(r);l<i.length;l++)o=i[l],__webpack_require__.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=globalThis.webpackChunk_openmrs_esm_user_onboarding_app=globalThis.webpackChunk_openmrs_esm_user_onboarding_app||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{__webpack_require__.ruid="bundler=rspack@1.7.9"})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(6441)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
|
|
6
|
+
while loading "${a[1]}" from ${a[2]}`),n.m[e]=()=>{throw t},a.p=0},f=(e,t,n,o,i,s)=>{try{let c=e(t,n);if(!c||!c.then)return i(c,o,s);{let e=c.then(e=>i(e,o),l);if(!s)return e;r.push(a.p=e)}}catch(e){l(e)}},h=(e,t,r)=>e?f(n.I,a[0],0,e,p,r):l();var p=(e,r,n)=>f(r.get,a[1],t,0,d,n),d=t=>{a.p=1,n.m[e]=e=>{e.exports=t()}};let m=()=>{try{let e=i.decodeName(s[0].name,i.ENCODE_NAME_PREFIX)+a[1].slice(1),t=n.federation.instance,r=()=>n.federation.instance.loadRemote(e,{loadFactory:!1,from:"build"});if("version-first"===t.options.shareStrategy)return Promise.all(t.sharedHandler.initializeSharing(a[0])).then(()=>r());return r()}catch(e){l(e)}};1===s.length&&o.FEDERATION_SUPPORTED_TYPES.includes(s[0].externalType)&&s[0].name?f(m,a[2],0,0,d,1):f(n,a[2],0,0,h,1)})}function u(e){s(e);let{chunkId:t,promises:r,installedModules:n,webpackRequire:o,chunkMapping:i,moduleToHandlerMapping:l}=e;a(o),o.o(i,t)&&i[t].forEach(e=>{if(o.o(n,e))return r.push(n[e]);let t=t=>{n[e]=0,o.m[e]=r=>{delete o.c[e];let n=t(),{shareInfo:i}=l[e];if(i?.shareConfig?.layer&&n&&"object"==typeof n)try{n.hasOwnProperty("layer")&&void 0!==n.layer||(n.layer=i.shareConfig.layer)}catch(e){}r.exports=n}},i=t=>{delete n[e],o.m[e]=r=>{throw delete o.c[e],t}};try{let a=o.federation.instance;if(!a)throw Error("Federation instance not found!");let{shareKey:s,getter:c,shareInfo:u}=l[e],f=a.loadShare(s,{customShareInfo:u}).then(e=>!1===e?c():e);f.then?r.push(n[e]=f.then(t).catch(i)):t(f)}catch(e){i(e)}})}function f({shareScopeName:e,webpackRequire:t,initPromises:r,initTokens:n,initScope:i}){let s=Array.isArray(e)?e:[e];var l=[],c=function(s){i||(i=[]);let l=t.federation.instance;var c=n[s];if(c||(c=n[s]={from:l.name}),i.indexOf(c)>=0)return;i.push(c);let u=r[s];if(u)return u;var f=e=>"u">typeof console&&console.warn&&console.warn(e),h=r=>{var n=e=>f("Initialization of sharing external failed: "+e);try{var o=t(r);if(!o)return;var a=r=>r&&r.init&&r.init(t.S[s],i,{shareScopeMap:t.S||{},shareScopeKeys:e});if(o.then)return p.push(o.then(a,n));var l=a(o);if(l&&"boolean"!=typeof l&&l.then)return p.push(l.catch(n))}catch(e){n(e)}};let p=l.initializeSharing(s,{strategy:l.options.shareStrategy,initScope:i,from:"build"});a(t);let d=t.federation.bundlerRuntimeOptions.remotes;return(d&&Object.keys(d.idToRemoteMap).forEach(e=>{let t=d.idToRemoteMap[e],r=d.idToExternalAndNameMapping[e][2];if(t.length>1)h(r);else if(1===t.length){let e=t[0];o.FEDERATION_SUPPORTED_TYPES.includes(e.externalType)||h(r)}}),p.length)?r[s]=Promise.all(p).then(()=>r[s]=!0):r[s]=!0};return s.forEach(e=>{l.push(c(e))}),Promise.all(l).then(()=>!0)}function h(e){let{moduleId:t,moduleToHandlerMapping:r,webpackRequire:n}=e,o=n.federation.instance;if(!o)throw Error("Federation instance not found!");let{shareKey:i,shareInfo:a}=r[t];try{return o.loadShareSync(i,{customShareInfo:a})}catch(e){throw console.error('loadShareSync failed! The function should not be called unless you set "eager:true". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.'),console.error("The original error message is as follows: "),e}}function p(e){let{webpackRequire:t}=e;s(e);let{initialConsumes:r,moduleToHandlerMapping:n,installedModules:o}=e;r.forEach(e=>{t.m[e]=r=>{o[e]=0,delete t.c[e];let i=h({moduleId:e,moduleToHandlerMapping:n,webpackRequire:t});if("function"!=typeof i)throw Error(`Shared module is not available for eager consumption: ${e}`);let a=i(),{shareInfo:s}=n[e];if(s?.shareConfig?.layer&&a&&"object"==typeof a)try{a.hasOwnProperty("layer")&&void 0!==a.layer||(a.layer=s.shareConfig.layer)}catch(e){}r.exports=a}})}function d(e){let{webpackRequire:t,shareScope:r,initScope:n,shareScopeKey:o,remoteEntryInitOptions:i}=e;if(!t.S||!t.federation||!t.federation.instance||!t.federation.initOptions)return;let a=t.federation.instance;a.initOptions({name:t.federation.initOptions.name,remotes:[],...i});let s=i?.shareScopeKeys,l=i?.shareScopeMap;if(o&&"string"!=typeof o)o.forEach(e=>{if(!s||!l)return void a.initShareScopeMap(e,r,{hostShareScopeMap:i?.shareScopeMap||{}});l[e]||(l[e]={});let t=l[e];a.initShareScopeMap(e,t,{hostShareScopeMap:i?.shareScopeMap||{}})});else{let e=o||"default";Array.isArray(s)?s.forEach(e=>{l[e]||(l[e]={});let t=l[e];a.initShareScopeMap(e,t,{hostShareScopeMap:i?.shareScopeMap||{}})}):a.initShareScopeMap(e,r,{hostShareScopeMap:i?.shareScopeMap||{}})}return(t.federation.attachShareScopeMap&&t.federation.attachShareScopeMap(t),"function"==typeof t.federation.prefetch&&t.federation.prefetch(),Array.isArray(o))?t.federation.initOptions.shared?t.I(o,n):Promise.all(o.map(e=>t.I(e,n))).then(()=>!0):t.I(o||"default",n)}e.exports={runtime:function(e){var t=Object.create(null);if(e)for(var r in e)t[r]=e[r];return t.default=e,Object.freeze(t)}(n),instance:void 0,initOptions:void 0,bundlerRuntime:{remotes:c,consumes:u,I:f,S:{},installInitialConsumes:p,initContainerEntry:d},attachShareScopeMap:a,bundlerRuntimeOptions:{}}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.c=__webpack_module_cache__,__webpack_require__.x=()=>__webpack_require__(9290),(()=>{__webpack_require__.federation||(__webpack_require__.federation={chunkMatcher:function(e){return!/^(1700|618|7196)$/.test(e)},rootOutputDir:""})})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,n){if(1&n&&(r=this(r)),8&n||"object"==typeof r&&r&&(4&n&&r.__esModule||16&n&&"function"==typeof r.then))return r;var o=Object.create(null);__webpack_require__.r(o);var i={};e=e||[null,t({}),t([]),t(t)];for(var a=2&n&&r;("object"==typeof a||"function"==typeof a)&&!~e.indexOf(a);a=t(a))Object.getOwnPropertyNames(a).forEach(e=>{i[e]=()=>r[e]});return i.default=()=>r,__webpack_require__.d(o,i),o}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,r)=>(__webpack_require__.f[r](e,t),t),[]))})(),(()=>{__webpack_require__.u=e=>""+e+".js"})(),(()=>{__webpack_require__.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})()})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="@openmrs/esm-user-onboarding-app:";__webpack_require__.l=function(r,n,o,i){if(e[r])return void e[r].push(n);if(void 0!==o)for(var a,s,l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var u=l[c];if(u.getAttribute("src")==r||u.getAttribute("data-rspack")==t+o){a=u;break}}a||(s=!0,(a=document.createElement("script")).timeout=120,__webpack_require__.nc&&a.setAttribute("nonce",__webpack_require__.nc),a.setAttribute("data-rspack",t+o),a.src=r),e[r]=[n];var f=function(t,n){a.onerror=a.onload=null,clearTimeout(h);var o=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach(function(e){return e(n)}),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=f.bind(null,a.onerror),a.onload=f.bind(null,a.onload),s&&document.head.appendChild(a)}})(),(()=>{__webpack_require__.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.nc=void 0})(),(()=>{__webpack_require__.rv=()=>"1.7.9"})(),(()=>{__webpack_require__.S={},__webpack_require__.initializeSharingData={scopeToSharingDataMapping:{default:[{name:"@openmrs/esm-framework",version:"10.0.1-pre.4917",factory:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("2482"),__webpack_require__.e("5995"),__webpack_require__.e("7196"),__webpack_require__.e("618"),__webpack_require__.e("1700")]).then(()=>()=>__webpack_require__(8438)),eager:0,singleton:1,requiredVersion:"10.x",strictVersion:0},{name:"dayjs",version:"1.11.13",factory:()=>__webpack_require__.e("2538").then(()=>()=>__webpack_require__(4353)),eager:0,singleton:1,requiredVersion:"1.x",strictVersion:0},{name:"react-i18next",version:"11.18.6",factory:()=>Promise.all([__webpack_require__.e("154"),__webpack_require__.e("7196")]).then(()=>()=>__webpack_require__(4609)),eager:0,singleton:1,requiredVersion:"16.x",strictVersion:0},{name:"react-router-dom",version:"6.25.1",factory:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("749"),__webpack_require__.e("7196")]).then(()=>()=>__webpack_require__(6204)),eager:0,singleton:1,requiredVersion:"6.x",strictVersion:0},{name:"react",version:"18.3.1",factory:()=>__webpack_require__.e("6237").then(()=>()=>__webpack_require__(6540)),eager:0,singleton:1,requiredVersion:"18.x",strictVersion:0},{name:"rxjs",version:"6.6.7",factory:()=>__webpack_require__.e("2997").then(()=>()=>__webpack_require__(5908)),eager:0,singleton:1,requiredVersion:"6.x",strictVersion:0}]},uniqueName:"@openmrs/esm-user-onboarding-app"},__webpack_require__.I=__webpack_require__.I||function(){throw Error("should have __webpack_require__.I")}})(),(()=>{__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var e,t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");__webpack_require__.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{__webpack_require__.consumesLoadingData={chunkMapping:{1700:["7775"],1889:["6711","7775","4301"],7196:["6711"],618:["4898","4006","4691"]},moduleIdToConsumeDataMapping:{4301:{shareScope:"default",shareKey:"@openmrs/esm-framework",import:"@openmrs/esm-framework",requiredVersion:"10.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>Promise.all([__webpack_require__.e("5098"),__webpack_require__.e("2482"),__webpack_require__.e("5995"),__webpack_require__.e("618")]).then(()=>()=>__webpack_require__(8438))},4006:{shareScope:"default",shareKey:"dayjs",import:"dayjs",requiredVersion:"1.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("2538").then(()=>()=>__webpack_require__(4353))},4691:{shareScope:"default",shareKey:"react-router-dom",import:"react-router-dom",requiredVersion:"6.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("749").then(()=>()=>__webpack_require__(6204))},4898:{shareScope:"default",shareKey:"rxjs",import:"rxjs",requiredVersion:"6.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("2997").then(()=>()=>__webpack_require__(5908))},6711:{shareScope:"default",shareKey:"react",import:"react",requiredVersion:"18.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("6237").then(()=>()=>__webpack_require__(6540))},7775:{shareScope:"default",shareKey:"react-i18next",import:"react-i18next",requiredVersion:"16.x",strictVersion:!1,singleton:!0,eager:!1,fallback:()=>__webpack_require__.e("154").then(()=>()=>__webpack_require__(4609))}},initialConsumes:["6711","7775","4301"]},__webpack_require__.f.consumes=__webpack_require__.f.consumes||function(){throw Error("should have __webpack_require__.f.consumes")}})(),(()=>{var e={1889:0};__webpack_require__.f.j=function(t,r){var n=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1700|618|7196)$/.test(t))e[t]=0;else{var o=new Promise((r,o)=>n=e[t]=[r,o]);r.push(n[2]=o);var i=__webpack_require__.p+__webpack_require__.u(t),a=Error(),s=function(r){if(__webpack_require__.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),i=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed.\n("+o+": "+i+")",a.name="ChunkLoadError",a.type=o,a.request=i,n[1](a)}};__webpack_require__.l(i,s,"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[i,a,s]=r,l=0;if(i.some(t=>0!==e[t])){for(n in a)__webpack_require__.o(a,n)&&(__webpack_require__.m[n]=a[n]);s&&s(__webpack_require__)}for(t&&t(r);l<i.length;l++)o=i[l],__webpack_require__.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=globalThis.webpackChunk_openmrs_esm_user_onboarding_app=globalThis.webpackChunk_openmrs_esm_user_onboarding_app||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{__webpack_require__.ruid="bundler=rspack@1.7.9"})(),(()=>{var e=__webpack_require__.x,t=!1;__webpack_require__.x=function(){if(t||(t=!0,__webpack_require__(6441)),"function"==typeof e)return e();console.warn("[MF] Invalid prevStartup")}})();var __webpack_exports__=__webpack_require__.x()})();
|