@kenyaemr/esm-appointments-app 8.1.2-pre.183 → 8.1.2-pre.186

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.turbo/turbo-build.log +30 -26
  2. package/dist/111.js +2 -0
  3. package/dist/111.js.LICENSE.txt +15 -0
  4. package/dist/111.js.map +1 -0
  5. package/dist/123.js +2 -0
  6. package/dist/{457.js.LICENSE.txt → 123.js.LICENSE.txt} +24 -11
  7. package/dist/123.js.map +1 -0
  8. package/dist/130.js +2 -0
  9. package/dist/130.js.map +1 -0
  10. package/dist/171.js +1 -0
  11. package/dist/171.js.map +1 -0
  12. package/dist/174.js +1 -0
  13. package/dist/174.js.map +1 -0
  14. package/dist/2.js +2 -0
  15. package/dist/{216.js.LICENSE.txt → 2.js.LICENSE.txt} +2 -2
  16. package/dist/2.js.map +1 -0
  17. package/dist/{241.js → 228.js} +1 -1
  18. package/dist/{723.js → 236.js} +1 -1
  19. package/dist/{146.js → 240.js} +1 -1
  20. package/dist/{173.js → 261.js} +1 -1
  21. package/dist/269.js +1 -0
  22. package/dist/269.js.map +1 -0
  23. package/dist/{879.js → 271.js} +1 -1
  24. package/dist/{294.js → 272.js} +1 -1
  25. package/dist/319.js +1 -0
  26. package/dist/325.js +1 -0
  27. package/dist/325.js.map +1 -0
  28. package/dist/336.js +1 -0
  29. package/dist/372.js +1 -0
  30. package/dist/372.js.map +1 -0
  31. package/dist/{679.js → 378.js} +1 -1
  32. package/dist/443.js +1 -0
  33. package/dist/443.js.map +1 -0
  34. package/dist/{132.js → 460.js} +1 -1
  35. package/dist/529.js +1 -0
  36. package/dist/{712.js.map → 529.js.map} +1 -1
  37. package/dist/539.js +1 -0
  38. package/dist/{468.js → 566.js} +1 -1
  39. package/dist/574.js +1 -0
  40. package/dist/581.js +1 -0
  41. package/dist/581.js.map +1 -0
  42. package/dist/591.js +2 -0
  43. package/dist/{913.js.LICENSE.txt → 591.js.LICENSE.txt} +3 -3
  44. package/dist/591.js.map +1 -0
  45. package/dist/{661.js → 644.js} +1 -1
  46. package/dist/652.js +1 -1
  47. package/dist/673.js +1 -0
  48. package/dist/705.js +1 -0
  49. package/dist/711.js +1 -0
  50. package/dist/711.js.map +1 -0
  51. package/dist/727.js +1 -0
  52. package/dist/737.js +1 -0
  53. package/dist/744.js +1 -0
  54. package/dist/757.js +1 -0
  55. package/dist/784.js +2 -0
  56. package/dist/784.js.map +1 -0
  57. package/dist/{197.js → 788.js} +1 -1
  58. package/dist/{335.js → 807.js} +1 -1
  59. package/dist/833.js +1 -1
  60. package/dist/899.js +1 -0
  61. package/dist/923.js +1 -0
  62. package/dist/923.js.map +1 -0
  63. package/dist/kenyaemr-esm-appointments-app.js +1 -1
  64. package/dist/kenyaemr-esm-appointments-app.js.buildmanifest.json +286 -313
  65. package/dist/kenyaemr-esm-appointments-app.js.map +1 -1
  66. package/dist/main.js +1 -1
  67. package/dist/main.js.LICENSE.txt +2 -7
  68. package/dist/main.js.map +1 -1
  69. package/dist/routes.json +1 -1
  70. package/package.json +1 -1
  71. package/src/dashboard.meta.ts +3 -1
  72. package/src/index.ts +3 -1
  73. package/dist/144.js +0 -2
  74. package/dist/144.js.LICENSE.txt +0 -19
  75. package/dist/144.js.map +0 -1
  76. package/dist/167.js +0 -1
  77. package/dist/167.js.map +0 -1
  78. package/dist/214.js +0 -1
  79. package/dist/214.js.map +0 -1
  80. package/dist/216.js +0 -2
  81. package/dist/216.js.map +0 -1
  82. package/dist/300.js +0 -1
  83. package/dist/323.js +0 -1
  84. package/dist/323.js.map +0 -1
  85. package/dist/41.js +0 -2
  86. package/dist/41.js.map +0 -1
  87. package/dist/442.js +0 -1
  88. package/dist/449.js +0 -1
  89. package/dist/449.js.map +0 -1
  90. package/dist/457.js +0 -2
  91. package/dist/457.js.map +0 -1
  92. package/dist/495.js +0 -1
  93. package/dist/495.js.map +0 -1
  94. package/dist/538.js +0 -1
  95. package/dist/55.js +0 -1
  96. package/dist/618.js +0 -1
  97. package/dist/651.js +0 -1
  98. package/dist/651.js.map +0 -1
  99. package/dist/690.js +0 -1
  100. package/dist/712.js +0 -1
  101. package/dist/745.js +0 -1
  102. package/dist/745.js.map +0 -1
  103. package/dist/753.js +0 -2
  104. package/dist/753.js.LICENSE.txt +0 -3
  105. package/dist/753.js.map +0 -1
  106. package/dist/830.js +0 -1
  107. package/dist/830.js.map +0 -1
  108. package/dist/831.js +0 -2
  109. package/dist/831.js.map +0 -1
  110. package/dist/84.js +0 -1
  111. package/dist/84.js.map +0 -1
  112. package/dist/840.js +0 -1
  113. package/dist/859.js +0 -1
  114. package/dist/876.js +0 -1
  115. package/dist/876.js.map +0 -1
  116. package/dist/900.js +0 -1
  117. package/dist/913.js +0 -2
  118. package/dist/913.js.map +0 -1
  119. package/dist/944.js +0 -1
  120. package/dist/99.js +0 -1
  121. /package/dist/{831.js.LICENSE.txt → 130.js.LICENSE.txt} +0 -0
  122. /package/dist/{41.js.LICENSE.txt → 784.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[132],{4132:e=>{e.exports=JSON.parse('{"action":"الإجراء","actions":"الإجراءات","add":"إضافة","age":"العمر","allDay":"كل اليوم","appointmentCancelError":"خطأ في إلغاء الموعد","appointmentCancelled":"تم إلغاء الموعد","appointmentCancelledSuccessfully":"تم إلغاء الموعد بنجاح","appointmentCheckedIn":"Appointment Checked In","appointmentColor":"لون الموعد","appointmentConflict":"تعارض بالمواعيد","appointmentEdited":"تم تعديل الموعد","appointmentEditError":"خطأ في تعديل الموعد","appointmentEnded":"انتهى الموعد","appointmentEndedAndVisitClosedSuccessfully":"انتهى الموعد والزيارة بنجاح","appointmentEndedButVisitNotClosedError":"انتهى الموعد, يوجد خطأ في الزيارة","appointmentEndedSuccessfully":"انتهى الموعد بنجاح","appointmentEndError":"خطأ في انهاء الموعد","appointmentFormError":"خطأ في جدولة الموعد","appointmentHistory":"تاريخ الموعد","appointmentMarkedChecked":"Appointment marked as Checked In","appointmentMetrics":"مقاييس الموعد","appointmentMetricsLoadError":"","appointmentNoteLabel":"كتابة ملاحظة اضافية","appointmentNotePlaceholder":"اضف نقاط اضافية هنا","appointmentNotes":"ملاحظات الموعد","appointmentNowVisible":"أصبح مرئيًا الآن في صفحة المواعيد","appointments":"موعد","Appointments":"المواعيد","appointments_lower":"مواعيد","appointmentsCalendar":"جدول المواعيد","appointmentScheduled":"تم جدولة الموعد","appointmentService":"خدمة الموعد","appointmentServiceCreate":"تم إنشاء خدمة الموعد بنجاح","appointmentServiceName":"اسم خدمة الموعد","appointmentsScheduledForToday":"المواعيد المقررة لهذا اليوم","appointmentsTable":"جدول المواعيد","appointmentStatus":"Appointment status","appointmentToFulfill":"Select appointment to fulfill","appointmentType":"نوع الموعد","appointmentType_title":"نوع الموعد","back":"رجوع","calendar":"تقويم","cameEarly":"جاء مبكرًا","cancel":"إلغاء","cancelAppointment":"إلغاء الموعد","cancelAppointmentModalConfirmationText":"هل أنت متأكد أنك تريد إلغاء هذا الموعد؟","cancelled":"تم الإلغاء","checkedIn":"تم تسجيل الوصول","checkedOut":"تم تسجيل الخروج","checkFilters":"Check the filters above","checkIn":"تسجيل الوصول","checkOut":"تسجيل الخروج","chooseAppointmentType":"Choose appointment type","chooseLocation":"Choose a location","chooseProvider":"Choose a provider","chooseService":"اختر الخدمة","completed":"مكتمل","Contact":"Contact {{index}}","countMore_one":"{{count}} more","countMore_other":"{{count}} more","createAppointmentService":"إنشاء خدمة موعد","createNewAppointment":"إنشاء موعد جديد","date":"تاريخ","date&Time":"Date & time","dateAppointmentIssuedCannotBeAfterAppointmentDate":"Date appointment issued cannot be after the appointment date","dateOfBirth":"تاريخ الميلاد","dateScheduled":"Date appointment issued","dateScheduledDetail":"Date appointment issued","dateTime":"Date & Time","day":"Day","daysOfWeek":"Days of the week","discard":"تجاهل","download":"تحميل","durationErrorMessage":"Duration should be greater than zero","durationInMinutes":"Duration (minutes)","durationMins":"المدة بالدقائق","edit":"Edit","editAppointment":"تعديل الموعد","editAppointments":"تعديل الموعد","emptyStateText":"There are no <1>{{displayText}}</1> to display","encounters":"اللقاءات","encounterType":"نوع اللقاء","endAppointmentAndVisitConfirmationMessage":"Checking the patient out will mark the appointment as complete, and close out the active visit for this patient.","endAppointmentConfirmation":"Are you sure you want to check the patient out for this appointment?","endAppointmentConfirmationMessage":"Checking the patient out will mark the appointment as complete.","endDate":"End date","endTime":"وقت الانتهاء","errorCreatingAppointmentService":"Error creating appointment service","expected":"Expected","filterTable":"Filter table","gender":"الجنس","highestServiceVolume":"Highest volume service: {{time}}","identifier":"معرف","invalidNumber":"Number is not valid","isRecurringAppointment":"Is this a recurring appointment?","itemsPerPage":"العناصر لكل صفحة","loading":"Loading","location":"الموقع","medications":"الأدوية","missed":"فائت","next":"Next","nextMonth":"Next month","nextPage":"Next page","no":"لا","noAppointmentsToDisplay":"لا توجد مواعيد لعرضها","noContent":"No Content","noCurrentAppointments":"لا توجد مواعيد مجدولة لهذا المريض اليوم","noEncountersFound":"لم يتم العثور على لقاءات","noPastAppointments":"لا توجد مواعيد سابقة لعرضها لهذا المريض\\"","noPreviousVisitFound":"لم يتم العثور على زيارة سابقة","notArrived":"لم يصل","note":"Note","notes":"ملاحظات","noUpcomingAppointments":"لم يتم العثور على مواعيد قادمة","noUpcomingAppointmentsForPatient":"لا توجد مواعيد قادمة لعرضها لهذا المريض","pageNumber":"Page number","past":"الماضي","patientDetails":"تفاصيل المريض","patientDoubleBooking":"Patient already booked for an appointment at this time","patientName":"اسم المريض","patients":"المرضى","period":"Period","prev":"Prev","previousMonth":"Previous month","previousPage":"Previous page","provider":"مقدم الخدمة","providers":"مقدمي الخدمة","providersBooked":"Providers booked: {{time}}","recurringAppointment":"Recurring Appointment","recurringAppointmentShouldHaveEndDate":"A recurring appointment should have an end date","repeatEvery":"Repeat every","save":"حفظ","saveAndClose":"حفظ وإغلاق","scheduled":"مجدول","scheduledAppointments":"المواعيد المجدولة","scheduledForToday":"مجدول لليوم","selectALocation":"Select a location","selectAppointmentStatus":"اختر الحالة","selectAppointmentType":"اختر نوع الموعد","selectLocation":"اختر الموقع","selectOption":"اختر خيارًا","selectProvider":"Select a provider","selectService":"اختر الخدمة","selectServiceType":"اختر نوع الخدمة","service":"خدمة","serviceName":"اسم الخدمة","serviceType":"نوع الخدمة","serviceUnavailable":"Appointment time is outside of service hours","startDate":"Start date","startTime":"وقت البدء","status":"Status","time":"الوقت","today":"اليوم","todays":"Today\'s","type":"Type","unscheduled":"غير مجدول","unscheduledAppointments":"المواعيد غير المجدولة","unscheduledAppointments_lower":"مواعيد غير مجدولة","upcoming":"القادمة","upcomingAppointments":"المواعيد القادمة","updateError":"Error updating upcoming appointment","view":"عرض","vitals":"العلامات الحيوية","week":"Week","yes":"نعم"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[460],{4460:e=>{e.exports=JSON.parse('{"action":"الإجراء","actions":"الإجراءات","add":"إضافة","age":"العمر","allDay":"كل اليوم","appointmentCancelError":"خطأ في إلغاء الموعد","appointmentCancelled":"تم إلغاء الموعد","appointmentCancelledSuccessfully":"تم إلغاء الموعد بنجاح","appointmentCheckedIn":"Appointment Checked In","appointmentColor":"لون الموعد","appointmentConflict":"تعارض بالمواعيد","appointmentEdited":"تم تعديل الموعد","appointmentEditError":"خطأ في تعديل الموعد","appointmentEnded":"انتهى الموعد","appointmentEndedAndVisitClosedSuccessfully":"انتهى الموعد والزيارة بنجاح","appointmentEndedButVisitNotClosedError":"انتهى الموعد, يوجد خطأ في الزيارة","appointmentEndedSuccessfully":"انتهى الموعد بنجاح","appointmentEndError":"خطأ في انهاء الموعد","appointmentFormError":"خطأ في جدولة الموعد","appointmentHistory":"تاريخ الموعد","appointmentMarkedChecked":"Appointment marked as Checked In","appointmentMetrics":"مقاييس الموعد","appointmentMetricsLoadError":"","appointmentNoteLabel":"كتابة ملاحظة اضافية","appointmentNotePlaceholder":"اضف نقاط اضافية هنا","appointmentNotes":"ملاحظات الموعد","appointmentNowVisible":"أصبح مرئيًا الآن في صفحة المواعيد","appointments":"موعد","Appointments":"المواعيد","appointments_lower":"مواعيد","appointmentsCalendar":"جدول المواعيد","appointmentScheduled":"تم جدولة الموعد","appointmentService":"خدمة الموعد","appointmentServiceCreate":"تم إنشاء خدمة الموعد بنجاح","appointmentServiceName":"اسم خدمة الموعد","appointmentsScheduledForToday":"المواعيد المقررة لهذا اليوم","appointmentsTable":"جدول المواعيد","appointmentStatus":"Appointment status","appointmentToFulfill":"Select appointment to fulfill","appointmentType":"نوع الموعد","appointmentType_title":"نوع الموعد","back":"رجوع","calendar":"تقويم","cameEarly":"جاء مبكرًا","cancel":"إلغاء","cancelAppointment":"إلغاء الموعد","cancelAppointmentModalConfirmationText":"هل أنت متأكد أنك تريد إلغاء هذا الموعد؟","cancelled":"تم الإلغاء","checkedIn":"تم تسجيل الوصول","checkedOut":"تم تسجيل الخروج","checkFilters":"Check the filters above","checkIn":"تسجيل الوصول","checkOut":"تسجيل الخروج","chooseAppointmentType":"Choose appointment type","chooseLocation":"Choose a location","chooseProvider":"Choose a provider","chooseService":"اختر الخدمة","completed":"مكتمل","Contact":"Contact {{index}}","countMore_one":"{{count}} more","countMore_other":"{{count}} more","createAppointmentService":"إنشاء خدمة موعد","createNewAppointment":"إنشاء موعد جديد","date":"تاريخ","date&Time":"Date & time","dateAppointmentIssuedCannotBeAfterAppointmentDate":"Date appointment issued cannot be after the appointment date","dateOfBirth":"تاريخ الميلاد","dateScheduled":"Date appointment issued","dateScheduledDetail":"Date appointment issued","dateTime":"Date & Time","day":"Day","daysOfWeek":"Days of the week","discard":"تجاهل","download":"تحميل","durationErrorMessage":"Duration should be greater than zero","durationInMinutes":"Duration (minutes)","durationMins":"المدة بالدقائق","edit":"Edit","editAppointment":"تعديل الموعد","editAppointments":"تعديل الموعد","emptyStateText":"There are no <1>{{displayText}}</1> to display","encounters":"اللقاءات","encounterType":"نوع اللقاء","endAppointmentAndVisitConfirmationMessage":"Checking the patient out will mark the appointment as complete, and close out the active visit for this patient.","endAppointmentConfirmation":"Are you sure you want to check the patient out for this appointment?","endAppointmentConfirmationMessage":"Checking the patient out will mark the appointment as complete.","endDate":"End date","endTime":"وقت الانتهاء","errorCreatingAppointmentService":"Error creating appointment service","expected":"Expected","filterTable":"Filter table","gender":"الجنس","highestServiceVolume":"Highest volume service: {{time}}","identifier":"معرف","invalidNumber":"Number is not valid","isRecurringAppointment":"Is this a recurring appointment?","itemsPerPage":"العناصر لكل صفحة","loading":"Loading","location":"الموقع","medications":"الأدوية","missed":"فائت","next":"Next","nextMonth":"Next month","nextPage":"Next page","no":"لا","noAppointmentsToDisplay":"لا توجد مواعيد لعرضها","noContent":"No Content","noCurrentAppointments":"لا توجد مواعيد مجدولة لهذا المريض اليوم","noEncountersFound":"لم يتم العثور على لقاءات","noPastAppointments":"لا توجد مواعيد سابقة لعرضها لهذا المريض\\"","noPreviousVisitFound":"لم يتم العثور على زيارة سابقة","notArrived":"لم يصل","note":"Note","notes":"ملاحظات","noUpcomingAppointments":"لم يتم العثور على مواعيد قادمة","noUpcomingAppointmentsForPatient":"لا توجد مواعيد قادمة لعرضها لهذا المريض","pageNumber":"Page number","past":"الماضي","patientDetails":"تفاصيل المريض","patientDoubleBooking":"Patient already booked for an appointment at this time","patientName":"اسم المريض","patients":"المرضى","period":"Period","prev":"Prev","previousMonth":"Previous month","previousPage":"Previous page","provider":"مقدم الخدمة","providers":"مقدمي الخدمة","providersBooked":"Providers booked: {{time}}","recurringAppointment":"Recurring Appointment","recurringAppointmentShouldHaveEndDate":"A recurring appointment should have an end date","repeatEvery":"Repeat every","save":"حفظ","saveAndClose":"حفظ وإغلاق","scheduled":"مجدول","scheduledAppointments":"المواعيد المجدولة","scheduledForToday":"مجدول لليوم","selectALocation":"Select a location","selectAppointmentStatus":"اختر الحالة","selectAppointmentType":"اختر نوع الموعد","selectLocation":"اختر الموقع","selectOption":"اختر خيارًا","selectProvider":"Select a provider","selectService":"اختر الخدمة","selectServiceType":"اختر نوع الخدمة","service":"خدمة","serviceName":"اسم الخدمة","serviceType":"نوع الخدمة","serviceUnavailable":"Appointment time is outside of service hours","startDate":"Start date","startTime":"وقت البدء","status":"Status","time":"الوقت","today":"اليوم","todays":"Today\'s","type":"Type","unscheduled":"غير مجدول","unscheduledAppointments":"المواعيد غير المجدولة","unscheduledAppointments_lower":"مواعيد غير مجدولة","upcoming":"القادمة","upcomingAppointments":"المواعيد القادمة","updateError":"Error updating upcoming appointment","view":"عرض","vitals":"العلامات الحيوية","week":"Week","yes":"نعم"}')}}]);
package/dist/529.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[529],{529:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});var i=n(268),o=n.n(i),a=n(4924),s=n(3531),l=n(7234),c=n(8527),p=n(3291);const r=function(e){var t=e.patientUuid,n=e.appointmentUuid,r=e.closeModal,u=(0,a.useTranslation)().t,d=(0,l.useVisit)(t),m=d.activeVisit,h=d.mutate,k=(0,p.EJ)().mutateAppointments,f=(0,i.useCallback)((function(){(0,c.q)("Completed",n).then((function(){if(k(),m){var e=new AbortController,t={stopDatetime:new Date};return(0,l.updateVisit)(m.uuid,t,e).then((function(){(0,l.showSnackbar)({title:u("appointmentEnded","Appointment ended"),subtitle:u("appointmentEndedAndVisitClosedSuccessfully","Appointment successfully ended and visit successfully closed"),isLowContrast:!0,kind:"success"}),h()})).catch((function(e){var t;(0,l.showSnackbar)({title:u("appointmentEndedButVisitNotClosedError","Appointment ended successfully, but there was an error closing the visit."),subtitle:null===(t=e)||void 0===t?void 0:t.message,kind:"error",isLowContrast:!0})}))}(0,l.showSnackbar)({title:u("appointmentEnded","Appointment ended"),subtitle:u("appointmentEndedSuccessfully","Appointment successfully ended."),isLowContrast:!0,kind:"success"})})).catch((function(e){var t;(0,l.showSnackbar)({title:u("appointmentEndError","Error ending appointment"),subtitle:null===(t=e)||void 0===t?void 0:t.message,kind:"error",isLowContrast:!0})})).finally((function(){r()}))}),[m,n,r,h,k,u]);return o().createElement("div",null,o().createElement(s.xBx,{closeModal:r,title:u("endAppointmentConfirmation","Are you sure you want to check the patient out for this appointment?")}),o().createElement(s.fef,null,o().createElement("p",null,m?u("endAppointmentAndVisitConfirmationMessage","Checking the patient out will mark the appointment as complete and close out the active visit for this patient."):u("endAppointmentConfirmationMessage","Checking the patient out will mark the appointment as complete."))),o().createElement(s.mzw,null,o().createElement(s.zxk,{kind:"secondary",onClick:r},u("cancel","Cancel")),o().createElement(s.zxk,{kind:"danger",onClick:f},u("checkOut","Check out"))))}}}]);
@@ -1 +1 @@
1
- {"version":3,"file":"712.js","mappings":"iQAoGA,QAvFgE,Y,IAAGA,EAAAA,EAAAA,YAAaC,EAAAA,EAAAA,gBAAiBC,EAAAA,EAAAA,WACzF,GAAQC,EAAAA,EAAAA,kBAANC,EACwBC,GAAAA,EAAAA,EAAAA,UAASL,GAAjCM,EAAwBD,EAAxBC,YAAaC,EAAWF,EAAXE,OACf,GAAyBC,EAAAA,EAAAA,MAAvBC,mBAEFC,GAAuBC,EAAAA,EAAAA,cAAY,YACvCC,EAAAA,EAAAA,GAAwB,YAAaX,GAClCY,MAAK,WAEJ,GADAJ,IACIH,EAAa,CACf,IAAMQ,EAAkB,IAAIC,gBACtBC,EAAkB,CAAEC,aAAc,IAAIC,MAE5C,OAAOC,EAAAA,EAAAA,aAAYb,EAAYc,KAAMJ,EAAiBF,GACnDD,MAAK,YACJQ,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,mBAAoB,qBAC7BmB,SAAUnB,EACR,6CACA,gEAEFoB,eAAe,EACfC,KAAM,YAERlB,GACF,IACCmB,OAAM,SAACC,IACNN,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EACL,yCACA,6EAEFmB,SAAUI,aAAAA,EAAAA,EAAOC,QACjBH,KAAM,QACND,eAAe,GAEnB,GACJ,EACEH,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,mBAAoB,qBAC7BmB,SAAUnB,EAAE,+BAAgC,mCAC5CoB,eAAe,EACfC,KAAM,WAGZ,IACCC,OAAM,SAACC,IACNN,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,sBAAuB,4BAChCmB,SAAUI,aAAAA,EAAAA,EAAOC,QACjBH,KAAM,QACND,eAAe,GAEnB,IACCK,SAAQ,WACP3B,GACF,GACJ,GAAG,CAACI,EAAaL,EAAiBC,EAAYK,EAAQE,EAAoBL,IAE1E,OACE,kBAAC0B,MAAAA,KACC,kBAACC,EAAAA,IAAWA,CACV7B,WAAYA,EACZoB,MAAOlB,EAAE,6BAA8B,0EAEzC,kBAAC4B,EAAAA,IAASA,KACR,kBAACC,IAAAA,KACE3B,EACGF,EACE,4CACA,mHAEFA,EAAE,oCAAqC,qEAG/C,kBAAC8B,EAAAA,IAAWA,KACV,kBAACC,EAAAA,IAAMA,CAACV,KAAK,YAAYW,QAASlC,GAC/BE,EAAE,SAAU,WAEf,kBAAC+B,EAAAA,IAAMA,CAACV,KAAK,SAASW,QAAS1B,GAC5BN,EAAE,WAAY,eAKzB,C","sources":["webpack://@kenyaemr/esm-appointments-app/./src/appointments/common-components/end-appointment.modal.tsx"],"names":["patientUuid","appointmentUuid","closeModal","useTranslation","t","useVisit","activeVisit","mutate","useMutateAppointments","mutateAppointments","handleEndAppointment","useCallback","changeAppointmentStatus","then","abortController","AbortController","endVisitPayload","stopDatetime","Date","updateVisit","uuid","showSnackbar","title","subtitle","isLowContrast","kind","catch","error","message","finally","div","ModalHeader","ModalBody","p","ModalFooter","Button","onClick"],"sourceRoot":""}
1
+ {"version":3,"file":"529.js","mappings":"gQAoGA,QAvFgE,Y,IAAGA,EAAAA,EAAAA,YAAaC,EAAAA,EAAAA,gBAAiBC,EAAAA,EAAAA,WACzF,GAAQC,EAAAA,EAAAA,kBAANC,EACwBC,GAAAA,EAAAA,EAAAA,UAASL,GAAjCM,EAAwBD,EAAxBC,YAAaC,EAAWF,EAAXE,OACf,GAAyBC,EAAAA,EAAAA,MAAvBC,mBAEFC,GAAuBC,EAAAA,EAAAA,cAAY,YACvCC,EAAAA,EAAAA,GAAwB,YAAaX,GAClCY,MAAK,WAEJ,GADAJ,IACIH,EAAa,CACf,IAAMQ,EAAkB,IAAIC,gBACtBC,EAAkB,CAAEC,aAAc,IAAIC,MAE5C,OAAOC,EAAAA,EAAAA,aAAYb,EAAYc,KAAMJ,EAAiBF,GACnDD,MAAK,YACJQ,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,mBAAoB,qBAC7BmB,SAAUnB,EACR,6CACA,gEAEFoB,eAAe,EACfC,KAAM,YAERlB,GACF,IACCmB,OAAM,SAACC,G,IAMMA,GALZN,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EACL,yCACA,6EAEFmB,SAAUI,QAAAA,EAAAA,SAAAA,IAAAA,OAAAA,EAAAA,EAAOC,QACjBH,KAAM,QACND,eAAe,GAEnB,GACJ,EACEH,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,mBAAoB,qBAC7BmB,SAAUnB,EAAE,+BAAgC,mCAC5CoB,eAAe,EACfC,KAAM,WAGZ,IACCC,OAAM,SAACC,G,IAGMA,GAFZN,EAAAA,EAAAA,cAAa,CACXC,MAAOlB,EAAE,sBAAuB,4BAChCmB,SAAUI,QAAAA,EAAAA,SAAAA,IAAAA,OAAAA,EAAAA,EAAOC,QACjBH,KAAM,QACND,eAAe,GAEnB,IACCK,SAAQ,WACP3B,GACF,GACJ,GAAG,CAACI,EAAaL,EAAiBC,EAAYK,EAAQE,EAAoBL,IAE1E,OACE,kBAAC0B,MAAAA,KACC,kBAACC,EAAAA,IAAWA,CACV7B,WAAYA,EACZoB,MAAOlB,EAAE,6BAA8B,0EAEzC,kBAAC4B,EAAAA,IAASA,KACR,kBAACC,IAAAA,KACE3B,EACGF,EACE,4CACA,mHAEFA,EAAE,oCAAqC,qEAG/C,kBAAC8B,EAAAA,IAAWA,KACV,kBAACC,EAAAA,IAAMA,CAACV,KAAK,YAAYW,QAASlC,GAC/BE,EAAE,SAAU,WAEf,kBAAC+B,EAAAA,IAAMA,CAACV,KAAK,SAASW,QAAS1B,GAC5BN,EAAE,WAAY,eAKzB,C","sources":["webpack://@kenyaemr/esm-appointments-app/./src/appointments/common-components/end-appointment.modal.tsx"],"names":["patientUuid","appointmentUuid","closeModal","useTranslation","t","useVisit","activeVisit","mutate","useMutateAppointments","mutateAppointments","handleEndAppointment","useCallback","changeAppointmentStatus","then","abortController","AbortController","endVisitPayload","stopDatetime","Date","updateVisit","uuid","showSnackbar","title","subtitle","isLowContrast","kind","catch","error","message","finally","div","ModalHeader","ModalBody","p","ModalFooter","Button","onClick"],"sourceRoot":""}
package/dist/539.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[539],{539:e=>{e.exports=JSON.parse('{"action":"Action","actions":"Actions","add":"Add","age":"Age","allDay":"All day","appointmentCancelError":"Error cancelling appointment","appointmentCancelled":"Appointment Cancelled","appointmentCancelledSuccessfully":"Appointment cancelled successfully","appointmentCheckedIn":"Appointment Checked In","appointmentColor":"Appointment color","appointmentConflict":"Appointment conflict","appointmentEdited":"Appointment edited","appointmentEditError":"Error editing appointment","appointmentEnded":"Appointment ended","appointmentEndedAndVisitClosedSuccessfully":"Appointment successfully ended and visit successfully closed","appointmentEndedButVisitNotClosedError":"Appointment ended, but error closing visit","appointmentEndedSuccessfully":"Appointment successfully ended.","appointmentEndError":"Error ending appointment","appointmentFormError":"Error scheduling appointment","appointmentHistory":"Appointment History","appointmentMarkedChecked":"Appointment marked as Checked In","appointmentMetrics":"Appointment metrics","appointmentMetricsLoadError":"","appointmentNoteLabel":"Write an additional note","appointmentNotePlaceholder":"Write any additional points here","appointmentNotes":"Appointment Notes","appointmentNowVisible":"It is now visible on the Appointments page","appointments":"Appointments","Appointments":"Appointments","appointments_lower":"appointments","appointmentsCalendar":"Appointments calendar","appointmentScheduled":"Appointment scheduled","appointmentService":"Appointment service","appointmentServiceCreate":"Appointment service created successfully","appointmentServiceName":"Appointment service name","appointmentsScheduledForToday":"appointments scheduled for today","appointmentsTable":"Appointments table","appointmentStatus":"Appointment status","appointmentToFulfill":"Select appointment to fulfill","appointmentType":"Appointment type","appointmentType_title":"Appointment Type","back":"Back","calendar":"Calendar","cameEarly":"Came Early","cancel":"Cancel","cancelAppointment":"Cancel Appointment","cancelAppointmentModalConfirmationText":"Are you sure you want to cancel this appointment?","cancelled":"Cancelled","checkedIn":"Checked in","checkedOut":"Checked out","checkFilters":"Check the filters above","checkIn":"Check In","checkOut":"Check out","chooseAppointmentType":"Choose appointment type","chooseLocation":"Choose a location","chooseProvider":"Choose a provider","chooseService":"Select service","completed":"Completed","Contact":"Contact {{index}}","countMore_one":"{{count}} more","countMore_other":"{{count}} more","createAppointmentService":"Create appointment services","createNewAppointment":"Create new appointment","date":"Date","date&Time":"Date & time","dateAppointmentIssuedCannotBeAfterAppointmentDate":"Date appointment issued cannot be after the appointment date","dateOfBirth":"Date of birth","dateScheduled":"Date appointment issued","dateScheduledDetail":"Date appointment issued","dateTime":"Date & Time","day":"Day","daysOfWeek":"Days of the week","discard":"Discard","download":"Download","durationErrorMessage":"Duration should be greater than zero","durationInMinutes":"Duration (minutes)","durationMins":"Duration min","edit":"Edit","editAppointment":"Edit Appointment","editAppointments":"Edit Appointment","emptyStateText":"There are no <1>{{displayText}}</1> to display","encounters":"Encounters","encounterType":"Encounter type","endAppointmentAndVisitConfirmationMessage":"Checking the patient out will mark the appointment as complete, and close out the active visit for this patient.","endAppointmentConfirmation":"Are you sure you want to check the patient out for this appointment?","endAppointmentConfirmationMessage":"Checking the patient out will mark the appointment as complete.","endDate":"End date","endTime":"End Time","errorCreatingAppointmentService":"Error creating appointment service","expected":"Expected","filterTable":"Filter table","gender":"Gender","highestServiceVolume":"Highest volume service: {{time}}","identifier":"Identifier","invalidNumber":"Number is not valid","isRecurringAppointment":"Is this a recurring appointment?","itemsPerPage":"Items per page","loading":"Loading","location":"Location","medications":"Medications","missed":"Missed","next":"Next","nextMonth":"Next month","nextPage":"Next page","no":"No","noAppointmentsToDisplay":"No appointments to display","noContent":"No Content","noCurrentAppointments":"There are no appointments scheduled for today to display for this patient","noEncountersFound":"No encounters found","noPastAppointments":"There are no past appointments to display for this patient","noPreviousVisitFound":"No previous visit found","notArrived":"Not arrived","note":"Note","notes":"Notes","noUpcomingAppointments":"No upcoming appointments found","noUpcomingAppointmentsForPatient":"There are no upcoming appointments to display for this patient","pageNumber":"Page number","past":"Past","patientDetails":"Patient Details","patientDoubleBooking":"Patient already booked for an appointment at this time","patientName":"Patient name","patients":"Patients","period":"Period","prev":"Prev","previousMonth":"Previous month","previousPage":"Previous page","provider":"Provider","providers":"Providers","providersBooked":"Providers booked: {{time}}","recurringAppointment":"Recurring Appointment","recurringAppointmentShouldHaveEndDate":"A recurring appointment should have an end date","repeatEvery":"Repeat every","save":"Save","saveAndClose":"Save and close","scheduled":"Scheduled","scheduledAppointments":"Scheduled appointments","scheduledForToday":"Scheduled For Today","selectALocation":"Select a location","selectAppointmentStatus":"Select status","selectAppointmentType":"Select an appointment type","selectLocation":"Select location","selectOption":"Select an option","selectProvider":"Select a provider","selectService":"Select a service","selectServiceType":"Select service type","service":"Service","serviceName":"Service name","serviceType":"Service Type","serviceUnavailable":"Appointment time is outside of service hours","startDate":"Start date","startTime":"Start Time","status":"Status","time":"Time","today":"Today","todays":"Today\'s","type":"Type","unscheduled":"Unscheduled","unscheduledAppointments":"Unscheduled appointments","unscheduledAppointments_lower":"unscheduled appointments","upcoming":"Upcoming","upcomingAppointments":"Upcoming appointments","updateError":"Error updating upcoming appointment","view":"View","vitals":"Vitals","week":"Week","yes":"Yes"}')}}]);
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[468],{4087:e=>{e.exports=JSON.parse('{"action":"Ação","actions":"Ações","add":"Adicionar","age":"Idade","allDay":"Todo o dia","appointmentCancelError":"Erro ao cancelar consulta","appointmentCancelled":"Consulta cancelada","appointmentCancelledSuccessfully":"Consulta cancelado com sucesso","appointmentCheckedIn":"Check-in da Consulta Realizado","appointmentColor":"Cor da Consulta","appointmentConflict":"Conflito de Agendamento","appointmentEdited":"Agendamento editado","appointmentEditError":"Erro ao editar Consulta","appointmentEnded":"Consulta concluída","appointmentEndedAndVisitClosedSuccessfully":"Consulta concluída com sucesso e visita fechada com sucesso","appointmentEndedButVisitNotClosedError":"Consulta concluída, porém erro ao fechar visita","appointmentEndedSuccessfully":"Consulta concluída com sucesso.","appointmentEndError":"Erro ao encerrar consulta","appointmentFormError":"Erro ao marcar consulta","appointmentHistory":"Histórico de consulta","appointmentMarkedChecked":"Check-in da Consulta realizado","appointmentMetrics":"Métricas da consulta","appointmentMetricsLoadError":"","appointmentNoteLabel":"Escrever uma nota adicional","appointmentNotePlaceholder":"Escreva pontos adicionais aqui","appointmentNotes":"Notas de Consulta","appointmentNowVisible":"Está agora visível na página de Consultas","appointments":"Consultas","Appointments":"Consultas","appointments_lower":"consultas","appointmentsCalendar":"Calendário de marcação","appointmentScheduled":"Consulta agendada","appointmentService":"Serviço de Consulta","appointmentServiceCreate":"Serviço de COnsulta criado com sucesso","appointmentServiceName":"Nome do serviço de agendamento","appointmentsScheduledForToday":"Consultas agendadas para hoje","appointmentsTable":"Tabela de Consultas","appointmentStatus":"Status da Consulta","appointmentToFulfill":"Selecione uma consulta para realizar","appointmentType":"Tipo de consulta","appointmentType_title":"Tipo de COnsulta","back":"Voltar","calendar":"rio","cameEarly":"Chegou Cedo","cancel":"Cancelar","cancelAppointment":"ncelar Consulta","cancelAppointmentModalConfirmationText":"Tem certeza que deseja cancelar essa consulta?","cancelled":"elado","checkedIn":"Realizado Check-In","checkedOut":"Realizado Check-out","checkFilters":"Verifique os filtros acima","checkIn":"Check-In","checkOut":"Check-Out","chooseAppointmentType":"Escolha um tipo de consulta","chooseLocation":"Escolha um lugar","chooseProvider":"Escolha um profissional","chooseService":"Selecione um serviço","completed":"Concluído","Contact":"Contato {{index}}","countMore_one":"{{count}} mais","countMore_other":"{{count}} mais","createAppointmentService":"Criar serviço de Consulta","createNewAppointment":"Criar nova consulta","date":"Data","date&Time":"Data e hora","dateAppointmentIssuedCannotBeAfterAppointmentDate":"A data da emissão da consulta não pode ser posterior à data da consulta","dateOfBirth":"Data de nascimento","dateScheduled":"Data da emissão da consulta","dateScheduledDetail":"Data da emissão da consulta","dateTime":"Data & Hora","day":"Dia","daysOfWeek":"Dias da semana","discard":"Descartar","download":"Baixar","durationErrorMessage":"A duração deve ser maior que zero","durationInMinutes":"Duração (minutos)","durationMins":"Duração mínima","edit":"Editar","editAppointment":"Editar Consulta","editAppointments":"Editar Consulta","emptyStateText":"Não tem <1> {{displayText}} </1> para mostrar","encounters":"Consultas","encounterType":"Tipo de consulta","endAppointmentAndVisitConfirmationMessage":"Encerrar o atendimento do paciente marcará a consulta como concluída e encerrará a visita ativa deste paciente.","endAppointmentConfirmation":"Tem certeza de que deseja retirar o paciente desta consulta?","endAppointmentConfirmationMessage":"A retirada do paciente marcará a consulta como concluída.","endDate":"Data de término","endTime":"Hora de término","errorCreatingAppointmentService":"Erro ao criar serviço de consulta","expected":"Esperado","filterTable":"Filtrar tabela","gender":"Sexo","highestServiceVolume":"Serviço de maior volume: {{time}}","identifier":"Identificador","invalidNumber":"Número não é válido","isRecurringAppointment":"Esta é uma consulta recorrente?","itemsPerPage":"Itens por página","loading":"Carregando","location":"Localização","medications":"Medicações","missed":"Perdido","next":"Próximo","nextMonth":"Próximo mês","nextPage":"Próxima página","no":"Não","noAppointmentsToDisplay":"Nenhuma consulta para mostrar","noContent":"Sem Conteúdo","noCurrentAppointments":"Não há consultas marcadas para hoje para esse paciente para mostrar","noEncountersFound":"Nenhuma consulta encontrada","noPastAppointments":"Não há consultas anteriores por mostrar deste paciente","noPreviousVisitFound":"Nenhuma visita anterior encontrada","notArrived":"Não chegou","note":"Nota","notes":"Notas","noUpcomingAppointments":"Nenhuma consulta futura encontrada","noUpcomingAppointmentsForPatient":"Não há consultas futuras deste paciente para mostrar","pageNumber":"Número da página","past":"Passado","patientDetails":"Detalhes do Paciente","patientDoubleBooking":"Paciente já tem uma consulta marcada nesta hora","patientName":"Nome do Paciente","patients":"Pacientes","period":"Período","prev":"Anterior","previousMonth":"Mês anterior","previousPage":"Página anterior","provider":"Profissional","providers":"Profissionais","providersBooked":"Profissionais reservados: {{time}}","recurringAppointment":"Consulta recorrente","recurringAppointmentShouldHaveEndDate":"Uma consulta recorrente deve ter uma data de término","repeatEvery":"Repetir a cada","save":"Salvar","saveAndClose":"Salvar e fechar","scheduled":"Marcado","scheduledAppointments":"Consultas marcadas","scheduledForToday":"Marcada para hoje","selectALocation":"Selecione um local","selectAppointmentStatus":"Selecione o status","selectAppointmentType":"Escolha um tipo de consulta","selectLocation":"Selecione o local","selectOption":"Selecione uma opção","selectProvider":"Selecione um profissional","selectService":"Selecione um serviço","selectServiceType":"Selecione o tipo de serviço","service":"Serviço","serviceName":"Nome do serviço","serviceType":"Tipo de Serviço","serviceUnavailable":"O horário da consulta está fora do horário de atendimento","startDate":"Data inicial","startTime":"Hora inicial","status":"Status","time":"Hora","today":"Hoje","todays":"De hoje","type":"Tipo","unscheduled":"Não marcada","unscheduledAppointments":"Consultas não marcadas","unscheduledAppointments_lower":"consultas não marcadas","upcoming":"Por vir","upcomingAppointments":"Próximas consultas","updateError":"Erro ao atualizar próxima consulta agendada","view":"Visualizar","vitals":"Sinais Vitais","week":"Semana","yes":"Sim"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[566],{6566:e=>{e.exports=JSON.parse('{"action":"Ação","actions":"Ações","add":"Adicionar","age":"Idade","allDay":"Todo o dia","appointmentCancelError":"Erro ao cancelar consulta","appointmentCancelled":"Consulta cancelada","appointmentCancelledSuccessfully":"Consulta cancelado com sucesso","appointmentCheckedIn":"Check-in da Consulta Realizado","appointmentColor":"Cor da Consulta","appointmentConflict":"Conflito de Agendamento","appointmentEdited":"Agendamento editado","appointmentEditError":"Erro ao editar Consulta","appointmentEnded":"Consulta concluída","appointmentEndedAndVisitClosedSuccessfully":"Consulta concluída com sucesso e visita fechada com sucesso","appointmentEndedButVisitNotClosedError":"Consulta concluída, porém erro ao fechar visita","appointmentEndedSuccessfully":"Consulta concluída com sucesso.","appointmentEndError":"Erro ao encerrar consulta","appointmentFormError":"Erro ao marcar consulta","appointmentHistory":"Histórico de consulta","appointmentMarkedChecked":"Check-in da Consulta realizado","appointmentMetrics":"Métricas da consulta","appointmentMetricsLoadError":"","appointmentNoteLabel":"Escrever uma nota adicional","appointmentNotePlaceholder":"Escreva pontos adicionais aqui","appointmentNotes":"Notas de Consulta","appointmentNowVisible":"Está agora visível na página de Consultas","appointments":"Consultas","Appointments":"Consultas","appointments_lower":"consultas","appointmentsCalendar":"Calendário de marcação","appointmentScheduled":"Consulta agendada","appointmentService":"Serviço de Consulta","appointmentServiceCreate":"Serviço de COnsulta criado com sucesso","appointmentServiceName":"Nome do serviço de agendamento","appointmentsScheduledForToday":"Consultas agendadas para hoje","appointmentsTable":"Tabela de Consultas","appointmentStatus":"Status da Consulta","appointmentToFulfill":"Selecione uma consulta para realizar","appointmentType":"Tipo de consulta","appointmentType_title":"Tipo de COnsulta","back":"Voltar","calendar":"rio","cameEarly":"Chegou Cedo","cancel":"Cancelar","cancelAppointment":"ncelar Consulta","cancelAppointmentModalConfirmationText":"Tem certeza que deseja cancelar essa consulta?","cancelled":"elado","checkedIn":"Realizado Check-In","checkedOut":"Realizado Check-out","checkFilters":"Verifique os filtros acima","checkIn":"Check-In","checkOut":"Check-Out","chooseAppointmentType":"Escolha um tipo de consulta","chooseLocation":"Escolha um lugar","chooseProvider":"Escolha um profissional","chooseService":"Selecione um serviço","completed":"Concluído","Contact":"Contato {{index}}","countMore_one":"{{count}} mais","countMore_other":"{{count}} mais","createAppointmentService":"Criar serviço de Consulta","createNewAppointment":"Criar nova consulta","date":"Data","date&Time":"Data e hora","dateAppointmentIssuedCannotBeAfterAppointmentDate":"A data da emissão da consulta não pode ser posterior à data da consulta","dateOfBirth":"Data de nascimento","dateScheduled":"Data da emissão da consulta","dateScheduledDetail":"Data da emissão da consulta","dateTime":"Data & Hora","day":"Dia","daysOfWeek":"Dias da semana","discard":"Descartar","download":"Baixar","durationErrorMessage":"A duração deve ser maior que zero","durationInMinutes":"Duração (minutos)","durationMins":"Duração mínima","edit":"Editar","editAppointment":"Editar Consulta","editAppointments":"Editar Consulta","emptyStateText":"Não tem <1> {{displayText}} </1> para mostrar","encounters":"Consultas","encounterType":"Tipo de consulta","endAppointmentAndVisitConfirmationMessage":"Encerrar o atendimento do paciente marcará a consulta como concluída e encerrará a visita ativa deste paciente.","endAppointmentConfirmation":"Tem certeza de que deseja retirar o paciente desta consulta?","endAppointmentConfirmationMessage":"A retirada do paciente marcará a consulta como concluída.","endDate":"Data de término","endTime":"Hora de término","errorCreatingAppointmentService":"Erro ao criar serviço de consulta","expected":"Esperado","filterTable":"Filtrar tabela","gender":"Sexo","highestServiceVolume":"Serviço de maior volume: {{time}}","identifier":"Identificador","invalidNumber":"Número não é válido","isRecurringAppointment":"Esta é uma consulta recorrente?","itemsPerPage":"Itens por página","loading":"Carregando","location":"Localização","medications":"Medicações","missed":"Perdido","next":"Próximo","nextMonth":"Próximo mês","nextPage":"Próxima página","no":"Não","noAppointmentsToDisplay":"Nenhuma consulta para mostrar","noContent":"Sem Conteúdo","noCurrentAppointments":"Não há consultas marcadas para hoje para esse paciente para mostrar","noEncountersFound":"Nenhuma consulta encontrada","noPastAppointments":"Não há consultas anteriores por mostrar deste paciente","noPreviousVisitFound":"Nenhuma visita anterior encontrada","notArrived":"Não chegou","note":"Nota","notes":"Notas","noUpcomingAppointments":"Nenhuma consulta futura encontrada","noUpcomingAppointmentsForPatient":"Não há consultas futuras deste paciente para mostrar","pageNumber":"Número da página","past":"Passado","patientDetails":"Detalhes do Paciente","patientDoubleBooking":"Paciente já tem uma consulta marcada nesta hora","patientName":"Nome do Paciente","patients":"Pacientes","period":"Período","prev":"Anterior","previousMonth":"Mês anterior","previousPage":"Página anterior","provider":"Profissional","providers":"Profissionais","providersBooked":"Profissionais reservados: {{time}}","recurringAppointment":"Consulta recorrente","recurringAppointmentShouldHaveEndDate":"Uma consulta recorrente deve ter uma data de término","repeatEvery":"Repetir a cada","save":"Salvar","saveAndClose":"Salvar e fechar","scheduled":"Marcado","scheduledAppointments":"Consultas marcadas","scheduledForToday":"Marcada para hoje","selectALocation":"Selecione um local","selectAppointmentStatus":"Selecione o status","selectAppointmentType":"Escolha um tipo de consulta","selectLocation":"Selecione o local","selectOption":"Selecione uma opção","selectProvider":"Selecione um profissional","selectService":"Selecione um serviço","selectServiceType":"Selecione o tipo de serviço","service":"Serviço","serviceName":"Nome do serviço","serviceType":"Tipo de Serviço","serviceUnavailable":"O horário da consulta está fora do horário de atendimento","startDate":"Data inicial","startTime":"Hora inicial","status":"Status","time":"Hora","today":"Hoje","todays":"De hoje","type":"Tipo","unscheduled":"Não marcada","unscheduledAppointments":"Consultas não marcadas","unscheduledAppointments_lower":"consultas não marcadas","upcoming":"Por vir","upcomingAppointments":"Próximas consultas","updateError":"Erro ao atualizar próxima consulta agendada","view":"Visualizar","vitals":"Sinais Vitais","week":"Semana","yes":"Sim"}')}}]);
package/dist/574.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[574],{3574:e=>{e.exports=JSON.parse('{"action":"Action","actions":"Actions","add":"Add","age":"Age","allDay":"All day","appointmentCancelError":"Error cancelling appointment","appointmentCancelled":"Appointment Cancelled","appointmentCancelledSuccessfully":"Appointment cancelled successfully","appointmentCheckedIn":"Appointment Checked In","appointmentColor":"Appointment color","appointmentConflict":"Appointment conflict","appointmentEdited":"Appointment edited","appointmentEditError":"Error editing appointment","appointmentEnded":"Appointment ended","appointmentEndedAndVisitClosedSuccessfully":"Appointment successfully ended and visit successfully closed","appointmentEndedButVisitNotClosedError":"Appointment ended, but error closing visit","appointmentEndedSuccessfully":"Appointment successfully ended.","appointmentEndError":"Error ending appointment","appointmentFormError":"Error scheduling appointment","appointmentHistory":"Appointment History","appointmentMarkedChecked":"Appointment marked as Checked In","appointmentMetrics":"Appointment metrics","appointmentMetricsLoadError":"","appointmentNoteLabel":"Write an additional note","appointmentNotePlaceholder":"Write any additional points here","appointmentNotes":"Appointment Notes","appointmentNowVisible":"It is now visible on the Appointments page","appointments":"Appointments","Appointments":"Appointments","appointments_lower":"appointments","appointmentsCalendar":"Appointments calendar","appointmentScheduled":"Appointment scheduled","appointmentService":"Appointment service","appointmentServiceCreate":"Appointment service created successfully","appointmentServiceName":"Appointment service name","appointmentsScheduledForToday":"appointments scheduled for today","appointmentsTable":"Appointments table","appointmentStatus":"Appointment status","appointmentToFulfill":"Select appointment to fulfill","appointmentType":"Appointment type","appointmentType_title":"Appointment Type","back":"Back","calendar":"Calendar","cameEarly":"Came Early","cancel":"Cancel","cancelAppointment":"Cancel Appointment","cancelAppointmentModalConfirmationText":"Are you sure you want to cancel this appointment?","cancelled":"Cancelled","checkedIn":"Checked in","checkedOut":"Checked out","checkFilters":"Check the filters above","checkIn":"Check In","checkOut":"Check out","chooseAppointmentType":"Choose appointment type","chooseLocation":"Choose a location","chooseProvider":"Choose a provider","chooseService":"Select service","completed":"Completed","Contact":"Contact {{index}}","countMore_one":"{{count}} more","countMore_other":"{{count}} more","createAppointmentService":"Create appointment services","createNewAppointment":"Create new appointment","date":"Date","date&Time":"Date & time","dateAppointmentIssuedCannotBeAfterAppointmentDate":"Date appointment issued cannot be after the appointment date","dateOfBirth":"Date of birth","dateScheduled":"Date appointment issued","dateScheduledDetail":"Date appointment issued","dateTime":"Date & Time","day":"Day","daysOfWeek":"Days of the week","discard":"Discard","download":"Download","durationErrorMessage":"Duration should be greater than zero","durationInMinutes":"Duration (minutes)","durationMins":"Duration min","edit":"Edit","editAppointment":"Edit Appointment","editAppointments":"Edit Appointment","emptyStateText":"There are no <1>{{displayText}}</1> to display","encounters":"Encounters","encounterType":"Encounter type","endAppointmentAndVisitConfirmationMessage":"Checking the patient out will mark the appointment as complete, and close out the active visit for this patient.","endAppointmentConfirmation":"Are you sure you want to check the patient out for this appointment?","endAppointmentConfirmationMessage":"Checking the patient out will mark the appointment as complete.","endDate":"End date","endTime":"End Time","errorCreatingAppointmentService":"Error creating appointment service","expected":"Expected","filterTable":"Filter table","gender":"Gender","highestServiceVolume":"Highest volume service: {{time}}","identifier":"Identifier","invalidNumber":"Number is not valid","isRecurringAppointment":"Is this a recurring appointment?","itemsPerPage":"Items per page","loading":"Loading","location":"Location","medications":"Medications","missed":"Missed","next":"Next","nextMonth":"Next month","nextPage":"Next page","no":"No","noAppointmentsToDisplay":"No appointments to display","noContent":"No Content","noCurrentAppointments":"There are no appointments scheduled for today to display for this patient","noEncountersFound":"No encounters found","noPastAppointments":"There are no past appointments to display for this patient","noPreviousVisitFound":"No previous visit found","notArrived":"Not arrived","note":"Note","notes":"Notes","noUpcomingAppointments":"No upcoming appointments found","noUpcomingAppointmentsForPatient":"There are no upcoming appointments to display for this patient","pageNumber":"Page number","past":"Past","patientDetails":"Patient Details","patientDoubleBooking":"Patient already booked for an appointment at this time","patientName":"Patient name","patients":"Patients","period":"Period","prev":"Prev","previousMonth":"Previous month","previousPage":"Previous page","provider":"Provider","providers":"Providers","providersBooked":"Providers booked: {{time}}","recurringAppointment":"Recurring Appointment","recurringAppointmentShouldHaveEndDate":"A recurring appointment should have an end date","repeatEvery":"Repeat every","save":"Save","saveAndClose":"Save and close","scheduled":"Scheduled","scheduledAppointments":"Scheduled appointments","scheduledForToday":"Scheduled For Today","selectALocation":"Select a location","selectAppointmentStatus":"Select status","selectAppointmentType":"Select an appointment type","selectLocation":"Select location","selectOption":"Select an option","selectProvider":"Select a provider","selectService":"Select a service","selectServiceType":"Select service type","service":"Service","serviceName":"Service name","serviceType":"Service Type","serviceUnavailable":"Appointment time is outside of service hours","startDate":"Start date","startTime":"Start Time","status":"Status","time":"Time","today":"Today","todays":"Today\'s","type":"Type","unscheduled":"Unscheduled","unscheduledAppointments":"Unscheduled appointments","unscheduledAppointments_lower":"unscheduled appointments","upcoming":"Upcoming","upcomingAppointments":"Upcoming appointments","updateError":"Error updating upcoming appointment","view":"View","vitals":"Vitals","week":"Week","yes":"Yes"}')}}]);
package/dist/581.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[581],{5693:(e,n,a)=>{a.d(n,{Z:()=>r});var t=a(5698),l=a.n(t),i=a(9613),o=a.n(i)()(l());o.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-appointments__appointments-tile__tileContainer___aFXY0{display:flex;flex-direction:column;align-items:space-between;background-color:#fff;border:1px solid #e0e0e0;height:7.875rem;padding:1rem;margin:.5rem}.-esm-appointments__appointments-tile__tileHeader___otjEw{font-size:var(--cds-heading-01-font-size, 0.875rem);font-weight:var(--cds-heading-01-font-weight, 600);line-height:var(--cds-heading-01-line-height, 1.42857);letter-spacing:var(--cds-heading-01-letter-spacing, 0.16px);font-weight:600;line-height:1.28572;letter-spacing:.16px;color:#525252}.-esm-appointments__appointments-tile__displayDetails___OYZXx{margin-top:1.5rem}.-esm-appointments__appointments-tile__displayData___m-\\+br{font-size:1.75rem;font-weight:400;line-height:1.28572;color:#000}.-esm-appointments__appointments-tile__countLabel___vaM-j{font-size:var(--cds-label-01-font-size, 0.75rem);font-weight:var(--cds-label-01-font-weight, 400);line-height:var(--cds-label-01-line-height, 1.33333);letter-spacing:var(--cds-label-01-letter-spacing, 0.32px);color:#525252}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/homepage-tile/appointments-tile.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss","webpack://./../../node_modules/@carbon/type/scss/_styles.scss","webpack://./../../node_modules/@carbon/colors/index.scss"],names:[],mappings:"AAoDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCtDF,6DACE,YAAA,CACA,qBAAA,CACA,yBAAA,CACA,qBAAA,CACA,wBAAA,CACA,eAAA,CACA,YCmBW,CDlBX,YCQW,CDLb,0DEk1BI,mDAAA,CAAA,kDAAA,CAAA,sDAAA,CAAA,2DAAA,CFh1BF,eAAA,CACA,mBAAA,CACA,oBAAA,CACA,aG2BQ,CHxBV,8DACE,iBCWW,CDRb,4DACE,iBAAA,CACA,eAAA,CACA,mBAAA,CACA,UGxBM,CH2BR,0DE+zBI,gDAAA,CAAA,gDAAA,CAAA,oDAAA,CAAA,yDAAA,CF7zBF,aDhCQ",sourcesContent:["$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: 4rem;\n --workspace-header-height: 3rem;\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@openmrs/esm-styleguide/src/vars' as *;\n@use '@carbon/type';\n@use '@carbon/colors';\n@use '@carbon/layout';\n\n.tileContainer {\n display: flex;\n flex-direction: column;\n align-items: space-between;\n background-color: colors.$white;\n border: 1px solid colors.$gray-20;\n height: 7.875rem;\n padding: layout.$spacing-05;\n margin: layout.$spacing-03;\n}\n\n.tileHeader {\n @include type.type-style('heading-01');\n font-weight: 600;\n line-height: 1.28572;\n letter-spacing: 0.16px;\n color: colors.$gray-70;\n}\n\n.displayDetails {\n margin-top: layout.$spacing-06;\n}\n\n.displayData {\n font-size: 1.75rem;\n font-weight: 400;\n line-height: 1.28572;\n color: colors.$black;\n}\n\n.countLabel {\n @include type.type-style('label-01');\n color: $text-02;\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n","//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n// stylelint-disable number-max-precision\n\n@use 'sass:map';\n@use 'sass:math';\n@use '@carbon/grid/scss/config' as gridconfig;\n@use '@carbon/grid/scss/breakpoint' as grid;\n@use 'prefix' as *;\n@use 'font-family';\n@use 'scale';\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$caption-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$label-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-01: (\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$legal-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-01: (\n font-size: scale.type-scale(1),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @deprecated\n/// @group @carbon/type\n$helper-text-02: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-01: $body-short-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-01: $body-long-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-short-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-compact-02: $body-short-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-long-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$body-02: $body-long-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-01: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(1),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.33333,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$code-02: (\n font-family: font-family.font-family('mono'),\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.42857,\n letter-spacing: 0.32px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.42857,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-01: (\n font-size: scale.type-scale(2),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.28572,\n letter-spacing: 0.16px,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-01: $productive-heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.5,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-02: (\n font-size: scale.type-scale(3),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.375,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-compact-02: $productive-heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-03: $productive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-04: $productive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-05: $productive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-06: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n // Extra digit needed for precision in Chrome\n line-height: 1.199,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-06: $productive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$productive-heading-07: (\n font-size: scale.type-scale(12),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$heading-07: $productive-heading-07 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-01: $heading-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-02: $heading-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-03: (\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.4,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(5),\n line-height: 1.4,\n ),\n max: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-03: $expressive-heading-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-04: (\n font-size: scale.type-scale(7),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.28572,\n letter-spacing: 0,\n breakpoints: (\n xlg: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n font-weight: font-family.font-weight('regular'),\n ),\n max: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-04: $expressive-heading-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-05: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n font-weight: font-family.font-weight('light'),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-05: $expressive-heading-05 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-heading-06: (\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-heading-06: $expressive-heading-06 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$expressive-paragraph-01: (\n font-size: scale.type-scale(6),\n font-weight: font-family.font-weight('light'),\n line-height: 1.334,\n letter-spacing: 0,\n breakpoints: (\n lg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n);\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-paragraph-01: $expressive-paragraph-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-01: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(5),\n font-weight: font-family.font-weight('regular'),\n line-height: 1.3,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(5),\n ),\n lg: (\n font-size: scale.type-scale(6),\n line-height: 1.334,\n ),\n xlg: (\n font-size: scale.type-scale(7),\n line-height: 1.28572,\n ),\n max: (\n font-size: scale.type-scale(8),\n line-height: 1.25,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-01: $quotation-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$quotation-02: (\n font-family: font-family.font-family('serif'),\n font-size: scale.type-scale(8),\n font-weight: font-family.font-weight('light'),\n line-height: 1.25,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(9),\n line-height: 1.22,\n ),\n lg: (\n font-size: scale.type-scale(10),\n line-height: 1.19,\n ),\n xlg: (\n font-size: scale.type-scale(11),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(13),\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-quotation-02: $quotation-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-01: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.17,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-01: $display-01 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-02: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('semibold'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(10),\n ),\n lg: (\n font-size: scale.type-scale(12),\n ),\n xlg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n ),\n max: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-02: $display-02 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-03: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(12),\n line-height: 1.18,\n ),\n lg: (\n font-size: scale.type-scale(13),\n line-height: 1.16,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(15),\n line-height: 1.13,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(16),\n line-height: 1.11,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-03: $display-03 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$display-04: (\n font-size: scale.type-scale(10),\n font-weight: font-family.font-weight('light'),\n line-height: 1.19,\n letter-spacing: 0,\n breakpoints: (\n md: (\n font-size: scale.type-scale(14),\n line-height: 1.15,\n ),\n lg: (\n font-size: scale.type-scale(17),\n line-height: 1.11,\n letter-spacing: -0.64px,\n ),\n xlg: (\n font-size: scale.type-scale(20),\n line-height: 1.07,\n letter-spacing: -0.64px,\n ),\n max: (\n font-size: scale.type-scale(23),\n line-height: 1.05,\n letter-spacing: -0.96px,\n ),\n ),\n) !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$fluid-display-04: $display-04 !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/type\n$tokens: (\n caption-01: $caption-01,\n caption-02: $caption-02,\n label-01: $label-01,\n label-02: $label-02,\n helper-text-01: $helper-text-01,\n helper-text-02: $helper-text-02,\n body-short-01: $body-short-01,\n body-short-02: $body-short-02,\n body-long-01: $body-long-01,\n body-long-02: $body-long-02,\n code-01: $code-01,\n code-02: $code-02,\n heading-01: $heading-01,\n heading-02: $heading-02,\n productive-heading-01: $productive-heading-01,\n productive-heading-02: $productive-heading-02,\n productive-heading-03: $productive-heading-03,\n productive-heading-04: $productive-heading-04,\n productive-heading-05: $productive-heading-05,\n productive-heading-06: $productive-heading-06,\n productive-heading-07: $productive-heading-07,\n expressive-paragraph-01: $expressive-paragraph-01,\n expressive-heading-01: $expressive-heading-01,\n expressive-heading-02: $expressive-heading-02,\n expressive-heading-03: $expressive-heading-03,\n expressive-heading-04: $expressive-heading-04,\n expressive-heading-05: $expressive-heading-05,\n expressive-heading-06: $expressive-heading-06,\n quotation-01: $quotation-01,\n quotation-02: $quotation-02,\n display-01: $display-01,\n display-02: $display-02,\n display-03: $display-03,\n display-04: $display-04,\n // V11 Tokens\n legal-01: $legal-01,\n legal-02: $legal-02,\n body-compact-01: $body-compact-01,\n body-compact-02: $body-compact-02,\n heading-compact-01: $heading-compact-01,\n heading-compact-02: $heading-compact-02,\n body-01: $body-01,\n body-02: $body-02,\n heading-03: $heading-03,\n heading-04: $heading-04,\n heading-05: $heading-05,\n heading-06: $heading-06,\n heading-07: $heading-07,\n fluid-heading-03: $fluid-heading-03,\n fluid-heading-04: $fluid-heading-04,\n fluid-heading-05: $fluid-heading-05,\n fluid-heading-06: $fluid-heading-06,\n fluid-paragraph-01: $fluid-paragraph-01,\n fluid-quotation-01: $fluid-quotation-01,\n fluid-quotation-02: $fluid-quotation-02,\n fluid-display-01: $fluid-display-01,\n fluid-display-02: $fluid-display-02,\n fluid-display-03: $fluid-display-03,\n fluid-display-04: $fluid-display-04,\n) !default;\n\n/// @param {Map} $map\n/// @access public\n/// @group @carbon/type\n@mixin properties($map) {\n @each $name, $value in $map {\n #{$name}: $value;\n }\n}\n\n/// @param {Number} $value - Number with units\n/// @return {Number} Without units\n/// @access public\n/// @group @carbon/type\n@function strip-unit($value) {\n @return math.div($value, $value * 0 + 1);\n}\n\n/// This helper includes fluid type styles for the given token value. Fluid type\n/// means that the `font-size` is computed using `calc()` in order to be\n/// determined by the screen size instead of a breakpoint. As a result, fluid\n/// styles should be used with caution in fixed width contexts.\n///\n/// In addition, we make use of %-based line-heights so that the line-height of\n/// each type style is computed correctly due to the dynamic nature of the\n/// `font-size`.\n///\n/// Most of the logic for this work comes from CSS Tricks:\n/// https://css-tricks.com/snippets/css/fluid-typography/\n///\n/// @param {Map} $type-styles - The value of a given type token\n/// @param {Map} $breakpoints [$grid-breakpoints] - Custom breakpoints to use\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type($type-styles, $breakpoints: gridconfig.$grid-breakpoints) {\n // Include the initial styles for the given token by default without any\n // media query guard. This includes `font-size` as a fallback in the case\n // that a browser does not support `calc()`\n @include properties(map.remove($type-styles, breakpoints));\n // We also need to include the `sm` styles by default since they don't\n // appear in the fluid styles for tokens\n @include fluid-type-size($type-styles, sm, $breakpoints);\n\n // Finally, we need to go through all the breakpoints defined in the type\n // token and apply the properties and fluid type size for that given\n // breakpoint\n @each $name, $values in map.get($type-styles, breakpoints) {\n @include grid.breakpoint($name) {\n @include properties($values);\n @include fluid-type-size($type-styles, $name, $breakpoints);\n }\n }\n}\n\n/// Computes the fluid `font-size` for a given type style and breakpoint\n/// @param {Map} $type-styles - The styles for a given token\n/// @param {String} $name - The name of the breakpoint to which we apply the fluid\n/// @param {Map} $breakpoints [$grid-breakpoints] - The breakpoints for the grid system\n/// @access public\n/// @group @carbon/type\n@mixin fluid-type-size(\n $type-styles,\n $name,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n // Get the information about the breakpoint we're currently working in. Useful\n // for getting initial width information\n $breakpoint: map.get($breakpoints, $name);\n\n // Our fluid styles are captured under the 'breakpoints' property in our type\n // styles map. These define what values to treat as `max-` variables below\n $fluid-sizes: map.get($type-styles, breakpoints);\n $fluid-breakpoint: ();\n // Special case for `sm` because the styles for small are on the type style\n // directly\n @if $name == sm {\n $fluid-breakpoint: map.remove($type-styles, breakpoints);\n } @else {\n $fluid-breakpoint: map.get($fluid-sizes, $name);\n }\n\n // Initialize our font-sizes to the default size for the type style\n $max-font-size: map.get($type-styles, font-size);\n $min-font-size: map.get($type-styles, font-size);\n @if map.has-key($fluid-breakpoint, font-size) {\n $min-font-size: map.get($fluid-breakpoint, font-size);\n }\n\n // Initialize our min and max width to the width of the current breakpoint\n $max-vw: map.get($breakpoint, width);\n $min-vw: map.get($breakpoint, width);\n\n // We can use `breakpoint-next` to see if there is another breakpoint we can\n // use to update `max-font-size` and `max-vw` with larger values\n $next-breakpoint-available: grid.breakpoint-next($name, $breakpoints);\n $next-fluid-breakpoint-name: null;\n\n // We need to figure out what the next available fluid breakpoint is for our\n // given $type-styles. In this loop we try and iterate through breakpoints\n // until we either manually set $next-breakpoint-available to null or\n // `breakpoint-next` returns null.\n @while $next-breakpoint-available {\n @if map.has-key($fluid-sizes, $next-breakpoint-available) {\n $next-fluid-breakpoint-name: $next-breakpoint-available;\n $next-breakpoint-available: null;\n } @else {\n $next-breakpoint-available: grid.breakpoint-next(\n $next-breakpoint-available,\n $breakpoints\n );\n }\n }\n\n // If we have found the next available fluid breakpoint name, then we know\n // that we have values that we can use to set max-font-size and max-vw as both\n // values derive from the next breakpoint\n @if $next-fluid-breakpoint-name {\n $next-fluid-breakpoint: map.get($breakpoints, $next-fluid-breakpoint-name);\n $max-font-size: map.get(\n map.get($fluid-sizes, $next-fluid-breakpoint-name),\n font-size\n );\n $max-vw: map.get($next-fluid-breakpoint, width);\n\n // prettier-ignore\n font-size: calc(#{$min-font-size} +\n #{strip-unit($max-font-size - $min-font-size)} *\n ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})\n );\n } @else {\n // Otherwise, just default to setting the font size found from the type\n // style or the given fluid breakpoint in the type style\n font-size: $min-font-size;\n }\n}\n\n// TODO move following variable and `custom-property` mixin into shared file for\n// both `@carbon/type` and `@carbon/themes`\n\n/// @access private\n/// @group @carbon/type\n@mixin custom-properties($name, $value) {\n @each $property, $value in $value {\n #{$property}: var(\n --#{$custom-property-prefix}-#{$name}-#{$property},\n #{$value}\n );\n }\n}\n\n/// Helper mixin to include the styles for a given token in any selector in your\n/// project. Also includes an optional fluid option that will enable fluid\n/// styles for the token if they are defined. Fluid styles will cause the\n/// token's font-size to be computed based on the viewport size. As a result, use\n/// with caution in fixed contexts.\n/// @param {String} $name - The name of the token to get the styles for\n/// @param {Boolean} $fluid [false] - Specify whether to include fluid styles for the\n/// @param {Map} $breakpoints [$grid-breakpoints] - Provide a custom breakpoint map to use\n/// @access public\n/// @group @carbon/type\n@mixin type-style(\n $name,\n $fluid: false,\n $breakpoints: gridconfig.$grid-breakpoints\n) {\n @if not map.has-key($tokens, $name) {\n @error 'Unable to find a token with the name: `#{$name}`';\n }\n\n $token: map.get($tokens, $name);\n\n // If $fluid is set to true and the token has breakpoints defined for fluid\n // styles, delegate to the fluid-type helper for the given token\n @if $fluid == true and map.has-key($token, 'breakpoints') {\n @include fluid-type($token, $breakpoints);\n } @else {\n @include custom-properties($name, $token);\n }\n}\n","// Code generated by @carbon/colors. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n$black: #000000 !default;\n$white: #ffffff !default;\n\n$black-100: #000000 !default;\n$blue-10: #edf5ff !default;\n$blue-20: #d0e2ff !default;\n$blue-30: #a6c8ff !default;\n$blue-40: #78a9ff !default;\n$blue-50: #4589ff !default;\n$blue-60: #0f62fe !default;\n$blue-70: #0043ce !default;\n$blue-80: #002d9c !default;\n$blue-90: #001d6c !default;\n$blue-100: #001141 !default;\n$cool-gray-10: #f2f4f8 !default;\n$cool-gray-20: #dde1e6 !default;\n$cool-gray-30: #c1c7cd !default;\n$cool-gray-40: #a2a9b0 !default;\n$cool-gray-50: #878d96 !default;\n$cool-gray-60: #697077 !default;\n$cool-gray-70: #4d5358 !default;\n$cool-gray-80: #343a3f !default;\n$cool-gray-90: #21272a !default;\n$cool-gray-100: #121619 !default;\n$cyan-10: #e5f6ff !default;\n$cyan-20: #bae6ff !default;\n$cyan-30: #82cfff !default;\n$cyan-40: #33b1ff !default;\n$cyan-50: #1192e8 !default;\n$cyan-60: #0072c3 !default;\n$cyan-70: #00539a !default;\n$cyan-80: #003a6d !default;\n$cyan-90: #012749 !default;\n$cyan-100: #061727 !default;\n$gray-10: #f4f4f4 !default;\n$gray-20: #e0e0e0 !default;\n$gray-30: #c6c6c6 !default;\n$gray-40: #a8a8a8 !default;\n$gray-50: #8d8d8d !default;\n$gray-60: #6f6f6f !default;\n$gray-70: #525252 !default;\n$gray-80: #393939 !default;\n$gray-90: #262626 !default;\n$gray-100: #161616 !default;\n$green-10: #defbe6 !default;\n$green-20: #a7f0ba !default;\n$green-30: #6fdc8c !default;\n$green-40: #42be65 !default;\n$green-50: #24a148 !default;\n$green-60: #198038 !default;\n$green-70: #0e6027 !default;\n$green-80: #044317 !default;\n$green-90: #022d0d !default;\n$green-100: #071908 !default;\n$magenta-10: #fff0f7 !default;\n$magenta-20: #ffd6e8 !default;\n$magenta-30: #ffafd2 !default;\n$magenta-40: #ff7eb6 !default;\n$magenta-50: #ee5396 !default;\n$magenta-60: #d02670 !default;\n$magenta-70: #9f1853 !default;\n$magenta-80: #740937 !default;\n$magenta-90: #510224 !default;\n$magenta-100: #2a0a18 !default;\n$orange-10: #fff2e8 !default;\n$orange-20: #ffd9be !default;\n$orange-30: #ffb784 !default;\n$orange-40: #ff832b !default;\n$orange-50: #eb6200 !default;\n$orange-60: #ba4e00 !default;\n$orange-70: #8a3800 !default;\n$orange-80: #5e2900 !default;\n$orange-90: #3e1a00 !default;\n$orange-100: #231000 !default;\n$purple-10: #f6f2ff !default;\n$purple-20: #e8daff !default;\n$purple-30: #d4bbff !default;\n$purple-40: #be95ff !default;\n$purple-50: #a56eff !default;\n$purple-60: #8a3ffc !default;\n$purple-70: #6929c4 !default;\n$purple-80: #491d8b !default;\n$purple-90: #31135e !default;\n$purple-100: #1c0f30 !default;\n$red-10: #fff1f1 !default;\n$red-20: #ffd7d9 !default;\n$red-30: #ffb3b8 !default;\n$red-40: #ff8389 !default;\n$red-50: #fa4d56 !default;\n$red-60: #da1e28 !default;\n$red-70: #a2191f !default;\n$red-80: #750e13 !default;\n$red-90: #520408 !default;\n$red-100: #2d0709 !default;\n$teal-10: #d9fbfb !default;\n$teal-20: #9ef0f0 !default;\n$teal-30: #3ddbd9 !default;\n$teal-40: #08bdba !default;\n$teal-50: #009d9a !default;\n$teal-60: #007d79 !default;\n$teal-70: #005d5d !default;\n$teal-80: #004144 !default;\n$teal-90: #022b30 !default;\n$teal-100: #081a1c !default;\n$warm-gray-10: #f7f3f2 !default;\n$warm-gray-20: #e5e0df !default;\n$warm-gray-30: #cac5c4 !default;\n$warm-gray-40: #ada8a8 !default;\n$warm-gray-50: #8f8b8b !default;\n$warm-gray-60: #726e6e !default;\n$warm-gray-70: #565151 !default;\n$warm-gray-80: #3c3838 !default;\n$warm-gray-90: #272525 !default;\n$warm-gray-100: #171414 !default;\n$white-0: #ffffff !default;\n$yellow-10: #fcf4d6 !default;\n$yellow-20: #fddc69 !default;\n$yellow-30: #f1c21b !default;\n$yellow-40: #d2a106 !default;\n$yellow-50: #b28600 !default;\n$yellow-60: #8e6a00 !default;\n$yellow-70: #684e00 !default;\n$yellow-80: #483700 !default;\n$yellow-90: #302400 !default;\n$yellow-100: #1c1500 !default;\n\n$white-hover: #e8e8e8 !default;\n$black-hover: #212121 !default;\n$blue-10-hover: #dbebff !default;\n$blue-20-hover: #b8d3ff !default;\n$blue-30-hover: #8ab6ff !default;\n$blue-40-hover: #5c97ff !default;\n$blue-50-hover: #1f70ff !default;\n$blue-60-hover: #0050e6 !default;\n$blue-70-hover: #0053ff !default;\n$blue-80-hover: #0039c7 !default;\n$blue-90-hover: #00258a !default;\n$blue-100-hover: #001f75 !default;\n$cool-gray-10-hover: #e4e9f1 !default;\n$cool-gray-20-hover: #cdd3da !default;\n$cool-gray-30-hover: #adb5bd !default;\n$cool-gray-40-hover: #9199a1 !default;\n$cool-gray-50-hover: #757b85 !default;\n$cool-gray-60-hover: #585e64 !default;\n$cool-gray-70-hover: #5d646a !default;\n$cool-gray-80-hover: #434a51 !default;\n$cool-gray-90-hover: #2b3236 !default;\n$cool-gray-100-hover: #222a2f !default;\n$cyan-10-hover: #cceeff !default;\n$cyan-20-hover: #99daff !default;\n$cyan-30-hover: #57beff !default;\n$cyan-40-hover: #059fff !default;\n$cyan-50-hover: #0f7ec8 !default;\n$cyan-60-hover: #005fa3 !default;\n$cyan-70-hover: #0066bd !default;\n$cyan-80-hover: #00498a !default;\n$cyan-90-hover: #013360 !default;\n$cyan-100-hover: #0b2947 !default;\n$gray-10-hover: #e8e8e8 !default;\n$gray-20-hover: #d1d1d1 !default;\n$gray-30-hover: #b5b5b5 !default;\n$gray-40-hover: #999999 !default;\n$gray-50-hover: #7a7a7a !default;\n$gray-60-hover: #5e5e5e !default;\n$gray-70-hover: #636363 !default;\n$gray-80-hover: #474747 !default;\n$gray-90-hover: #333333 !default;\n$gray-100-hover: #292929 !default;\n$green-10-hover: #b6f6c8 !default;\n$green-20-hover: #74e792 !default;\n$green-30-hover: #36ce5e !default;\n$green-40-hover: #3bab5a !default;\n$green-50-hover: #208e3f !default;\n$green-60-hover: #166f31 !default;\n$green-70-hover: #11742f !default;\n$green-80-hover: #05521c !default;\n$green-90-hover: #033b11 !default;\n$green-100-hover: #0d300f !default;\n$magenta-10-hover: #ffe0ef !default;\n$magenta-20-hover: #ffbdda !default;\n$magenta-30-hover: #ff94c3 !default;\n$magenta-40-hover: #ff57a0 !default;\n$magenta-50-hover: #e3176f !default;\n$magenta-60-hover: #b0215f !default;\n$magenta-70-hover: #bf1d63 !default;\n$magenta-80-hover: #8e0b43 !default;\n$magenta-90-hover: #68032e !default;\n$magenta-100-hover: #53142f !default;\n$orange-10-hover: #ffe2cc !default;\n$orange-20-hover: #ffc69e !default;\n$orange-30-hover: #ff9d57 !default;\n$orange-40-hover: #fa6800 !default;\n$orange-50-hover: #cc5500 !default;\n$orange-60-hover: #9e4200 !default;\n$orange-70-hover: #a84400 !default;\n$orange-80-hover: #753300 !default;\n$orange-90-hover: #522200 !default;\n$orange-100-hover: #421e00 !default;\n$purple-10-hover: #ede5ff !default;\n$purple-20-hover: #dcc7ff !default;\n$purple-30-hover: #c5a3ff !default;\n$purple-40-hover: #ae7aff !default;\n$purple-50-hover: #9352ff !default;\n$purple-60-hover: #7822fb !default;\n$purple-70-hover: #7c3dd6 !default;\n$purple-80-hover: #5b24ad !default;\n$purple-90-hover: #40197b !default;\n$purple-100-hover: #341c59 !default;\n$red-10-hover: #ffe0e0 !default;\n$red-20-hover: #ffc2c5 !default;\n$red-30-hover: #ff99a0 !default;\n$red-40-hover: #ff6168 !default;\n$red-50-hover: #ee0713 !default;\n$red-60-hover: #b81922 !default;\n$red-70-hover: #c21e25 !default;\n$red-80-hover: #921118 !default;\n$red-90-hover: #66050a !default;\n$red-100-hover: #540d11 !default;\n$teal-10-hover: #acf6f6 !default;\n$teal-20-hover: #57e5e5 !default;\n$teal-30-hover: #25cac8 !default;\n$teal-40-hover: #07aba9 !default;\n$teal-50-hover: #008a87 !default;\n$teal-60-hover: #006b68 !default;\n$teal-70-hover: #007070 !default;\n$teal-80-hover: #005357 !default;\n$teal-90-hover: #033940 !default;\n$teal-100-hover: #0f3034 !default;\n$warm-gray-10-hover: #f0e8e6 !default;\n$warm-gray-20-hover: #d8d0cf !default;\n$warm-gray-30-hover: #b9b3b1 !default;\n$warm-gray-40-hover: #9c9696 !default;\n$warm-gray-50-hover: #7f7b7b !default;\n$warm-gray-60-hover: #605d5d !default;\n$warm-gray-70-hover: #696363 !default;\n$warm-gray-80-hover: #4c4848 !default;\n$warm-gray-90-hover: #343232 !default;\n$warm-gray-100-hover: #2c2626 !default;\n$yellow-10-hover: #f8e6a0 !default;\n$yellow-20-hover: #fccd27 !default;\n$yellow-30-hover: #ddb00e !default;\n$yellow-40-hover: #bc9005 !default;\n$yellow-50-hover: #9e7700 !default;\n$yellow-60-hover: #755800 !default;\n$yellow-70-hover: #806000 !default;\n$yellow-80-hover: #5c4600 !default;\n$yellow-90-hover: #3d2e00 !default;\n$yellow-100-hover: #332600 !default;\n\n/// Colors from the IBM Design Language\n/// @access public\n/// @group @carbon/colors\n$colors: (\n black: (\n 100: #000000,\n ),\n blue: (\n 10: #edf5ff,\n 20: #d0e2ff,\n 30: #a6c8ff,\n 40: #78a9ff,\n 50: #4589ff,\n 60: #0f62fe,\n 70: #0043ce,\n 80: #002d9c,\n 90: #001d6c,\n 100: #001141,\n ),\n cool-gray: (\n 10: #f2f4f8,\n 20: #dde1e6,\n 30: #c1c7cd,\n 40: #a2a9b0,\n 50: #878d96,\n 60: #697077,\n 70: #4d5358,\n 80: #343a3f,\n 90: #21272a,\n 100: #121619,\n ),\n cyan: (\n 10: #e5f6ff,\n 20: #bae6ff,\n 30: #82cfff,\n 40: #33b1ff,\n 50: #1192e8,\n 60: #0072c3,\n 70: #00539a,\n 80: #003a6d,\n 90: #012749,\n 100: #061727,\n ),\n gray: (\n 10: #f4f4f4,\n 20: #e0e0e0,\n 30: #c6c6c6,\n 40: #a8a8a8,\n 50: #8d8d8d,\n 60: #6f6f6f,\n 70: #525252,\n 80: #393939,\n 90: #262626,\n 100: #161616,\n ),\n green: (\n 10: #defbe6,\n 20: #a7f0ba,\n 30: #6fdc8c,\n 40: #42be65,\n 50: #24a148,\n 60: #198038,\n 70: #0e6027,\n 80: #044317,\n 90: #022d0d,\n 100: #071908,\n ),\n magenta: (\n 10: #fff0f7,\n 20: #ffd6e8,\n 30: #ffafd2,\n 40: #ff7eb6,\n 50: #ee5396,\n 60: #d02670,\n 70: #9f1853,\n 80: #740937,\n 90: #510224,\n 100: #2a0a18,\n ),\n orange: (\n 10: #fff2e8,\n 20: #ffd9be,\n 30: #ffb784,\n 40: #ff832b,\n 50: #eb6200,\n 60: #ba4e00,\n 70: #8a3800,\n 80: #5e2900,\n 90: #3e1a00,\n 100: #231000,\n ),\n purple: (\n 10: #f6f2ff,\n 20: #e8daff,\n 30: #d4bbff,\n 40: #be95ff,\n 50: #a56eff,\n 60: #8a3ffc,\n 70: #6929c4,\n 80: #491d8b,\n 90: #31135e,\n 100: #1c0f30,\n ),\n red: (\n 10: #fff1f1,\n 20: #ffd7d9,\n 30: #ffb3b8,\n 40: #ff8389,\n 50: #fa4d56,\n 60: #da1e28,\n 70: #a2191f,\n 80: #750e13,\n 90: #520408,\n 100: #2d0709,\n ),\n teal: (\n 10: #d9fbfb,\n 20: #9ef0f0,\n 30: #3ddbd9,\n 40: #08bdba,\n 50: #009d9a,\n 60: #007d79,\n 70: #005d5d,\n 80: #004144,\n 90: #022b30,\n 100: #081a1c,\n ),\n warm-gray: (\n 10: #f7f3f2,\n 20: #e5e0df,\n 30: #cac5c4,\n 40: #ada8a8,\n 50: #8f8b8b,\n 60: #726e6e,\n 70: #565151,\n 80: #3c3838,\n 90: #272525,\n 100: #171414,\n ),\n white: (\n 0: #ffffff,\n ),\n yellow: (\n 10: #fcf4d6,\n 20: #fddc69,\n 30: #f1c21b,\n 40: #d2a106,\n 50: #b28600,\n 60: #8e6a00,\n 70: #684e00,\n 80: #483700,\n 90: #302400,\n 100: #1c1500,\n ),\n) !default;\n"],sourceRoot:""}]),o.locals={tileContainer:"-esm-appointments__appointments-tile__tileContainer___aFXY0",tileHeader:"-esm-appointments__appointments-tile__tileHeader___otjEw",displayDetails:"-esm-appointments__appointments-tile__displayDetails___OYZXx",displayData:"-esm-appointments__appointments-tile__displayData___m-+br",countLabel:"-esm-appointments__appointments-tile__countLabel___vaM-j"};const r=o},3581:(e,n,a)=>{a.r(n),a.d(n,{default:()=>_});var t=a(268),l=a.n(t),i=a(3531),o=a(6062),r=a.n(o),f=a(4036),p=a.n(f),s=a(6793),d=a.n(s),c=a(7892),u=a.n(c),g=a(1173),h=a.n(g),y=a(2464),$=a.n(y),b=a(5693),m={};m.styleTagTransform=$(),m.setAttributes=u(),m.insert=d().bind(null,"head"),m.domAPI=p(),m.insertStyleElement=h(),r()(b.Z,m);const v=b.Z&&b.Z.locals?b.Z.locals:void 0;var w=a(4924),k=a(7234),x=a(3649),A=a(8879),z=a.n(A);const _=function(){var e,n,a,t,o,r,f,p,s,d=(t=z()((new Date).setHours(0,0,0,0)).toISOString(),o="".concat(k.restBaseUrl,"/appointment/all?forDate=").concat(t),r=(0,x.ZP)(o,k.openmrsFetch),f=r.data,p=r.error,s=r.isLoading,{data:null===(a=f)||void 0===a?void 0:a.data,error:p,isLoading:s}).data,c=(0,w.useTranslation)().t;return l().createElement(i.n9L,{className:v.tileContainer},l().createElement("header",{className:v.tileHeader},c("scheduledForToday","Scheduled For Today")),l().createElement("div",{className:v.displayDetails},l().createElement("div",{className:v.countLabel},c("patients","Patients")),l().createElement("div",{className:v.displayData},null!==(n=null===(e=d)||void 0===e?void 0:e.length)&&void 0!==n?n:0)))}}}]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"581.js","mappings":"6MAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,q2CAAs2C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wEAAwE,uDAAuD,6EAA6E,gEAAgE,4DAA4D,MAAQ,GAAG,SAAW,wZAAwZ,eAAiB,CAAC,o7DAAo7D,2xBAA2xB,05DAA05D,u8uBAAu8uB,i1VAAi1V,WAAa,MAEhkyCH,EAAwBI,OAAS,CAChC,cAAiB,8DACjB,WAAc,2DACd,eAAkB,+DAClB,YAAe,4DACf,WAAc,4DAEf,S,2MCHIC,EAAU,CAAC,EAEfA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQD,OAAS,IAAQA,YAASO,E,qDCZnE,MCQA,EAhBmC,W,IAUUC,EAAAA,EDL5BC,EANTC,EAEAC,EAE6BC,EAA3BH,EAAMI,EAAOC,ECFbL,GDFFC,EAAkBK,KAAM,IAAIC,MAAOC,SAAS,EAAG,EAAG,EAAG,IAAIC,cAEzDP,EAAM,GAA0CD,OAAvCS,EAAAA,YAAY,6BAA2C,OAAhBT,GAEnBE,GAAAA,EAAAA,EAAAA,IAA6BD,EAAKS,EAAAA,cAA7DX,EAA2BG,EAA3BH,KAAMI,EAAqBD,EAArBC,MAAOC,EAAcF,EAAdE,UAEd,CAAEL,KAAMA,QAAAA,EAAAA,SAAAA,IAAAA,OAAAA,EAAAA,EAAMA,KAAMI,MAAAA,EAAOC,UAAAA,ICJ1BL,KAEF,GAAQY,EAAAA,EAAAA,kBAANC,EAER,OACE,kBAACC,EAAAA,IAAIA,CAACC,UAAWC,EAAOC,eACtB,kBAACC,SAAAA,CAAOH,UAAWC,EAAOG,YAAaN,EAAE,oBAAqB,wBAC9D,kBAACO,MAAAA,CAAIL,UAAWC,EAAOK,gBACrB,kBAACD,MAAAA,CAAIL,UAAWC,EAAOM,YAAaT,EAAE,WAAY,aAClD,kBAACO,MAAAA,CAAIL,UAAWC,EAAOO,aAAsC,QAAxBxB,EAAAA,QAAAA,EAAAA,SAAAA,IAAAA,OAAAA,EAAAA,EAAkByB,cAAlBzB,IAAAA,EAAAA,EAA4B,IAIzE,C","sources":["webpack://@kenyaemr/esm-appointments-app/./src/homepage-tile/appointments-tile.scss","webpack://@kenyaemr/esm-appointments-app/./src/homepage-tile/appointments-tile.scss?6dfc","webpack://@kenyaemr/esm-appointments-app/./src/homepage-tile/appointments.resource.ts","webpack://@kenyaemr/esm-appointments-app/./src/homepage-tile/appointments-tile.component.tsx"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","appointmentsData","data","appointmentDate","url","useSWR","error","isLoading","dayjs","Date","setHours","toISOString","restBaseUrl","openmrsFetch","useTranslation","t","Tile","className","styles","tileContainer","header","tileHeader","div","displayDetails","countLabel","displayData","length"],"sourceRoot":""}
package/dist/591.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 591.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_appointments_app=globalThis.webpackChunk_kenyaemr_esm_appointments_app||[]).push([[591],{6591:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>J,Await:()=>Ct,BrowserRouter:()=>$t,Form:()=>Vt,HashRouter:()=>Jt,Link:()=>Yt,MemoryRouter:()=>wt,NavLink:()=>qt,Navigate:()=>bt,NavigationType:()=>n,Outlet:()=>Et,Route:()=>Rt,Router:()=>Dt,RouterProvider:()=>yt,Routes:()=>St,ScrollRestoration:()=>Xt,UNSAFE_DataRouterContext:()=>_e,UNSAFE_DataRouterStateContext:()=>Ne,UNSAFE_DataStaticRouterContext:()=>ke,UNSAFE_LocationContext:()=>Be,UNSAFE_NavigationContext:()=>Ie,UNSAFE_RouteContext:()=>He,UNSAFE_enhanceManualRouteObjects:()=>Ot,createBrowserRouter:()=>Kt,createHashRouter:()=>Wt,createMemoryRouter:()=>Tt,createPath:()=>f,createRoutesFromChildren:()=>Lt,createRoutesFromElements:()=>Lt,createSearchParams:()=>Ft,defer:()=>q,generatePath:()=>M,isRouteErrorResponse:()=>X,json:()=>$,matchPath:()=>O,matchRoutes:()=>w,parsePath:()=>p,redirect:()=>V,renderMatches:()=>Mt,resolvePath:()=>_,unstable_HistoryRouter:()=>zt,useActionData:()=>pt,useAsyncError:()=>gt,useAsyncValue:()=>vt,useFetcher:()=>sr,useFetchers:()=>cr,useFormAction:()=>ir,useHref:()=>We,useInRouterContext:()=>$e,useLinkClickHandler:()=>rr,useLoaderData:()=>ht,useLocation:()=>Je,useMatch:()=>Ye,useMatches:()=>dt,useNavigate:()=>qe,useNavigation:()=>ct,useNavigationType:()=>ze,useOutlet:()=>Xe,useOutletContext:()=>Ge,useParams:()=>Qe,useResolvedPath:()=>Ze,useRevalidator:()=>ut,useRouteError:()=>mt,useRouteLoaderData:()=>ft,useRoutes:()=>et,useSearchParams:()=>nr,useSubmit:()=>ar});var n,a=r(268);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const i="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>p(e,"string"==typeof e?null:e.state,0===t?"default":void 0)));let i=c(null==a?t.length-1:a),l=n.Pop,s=null;function c(e){return Math.min(Math.max(e,0),t.length-1)}function d(){return t[i]}function p(e,r,n){void 0===r&&(r=null);let a=h(t?d().pathname:"/",e,r,n);return u("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}return{get index(){return i},get action(){return l},get location(){return d()},createHref:e=>"string"==typeof e?e:f(e),encodeLocation:e=>e,push(e,r){l=n.Push;let a=p(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a})},replace(e,r){l=n.Replace;let a=p(e,r);t[i]=a,o&&s&&s({action:l,location:a})},go(e){l=n.Pop,i=c(i+e),s&&s({action:l,location:d()})},listen:e=>(s=e,()=>{s=null})}}function s(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"==typeof t?t:f(t)}),null,e)}function c(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=p(e.location.hash.substr(1));return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:f(t))}),(function(e,t){u("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function u(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function d(e){return{usr:e.state,key:e.key}}function h(e,t,r,n){return void 0===r&&(r=null),o({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?p(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function f(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function p(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function m(e){let t="undefined"!=typeof window&&void 0!==window.location&&"null"!==window.location.origin?window.location.origin:"unknown://unknown",r="string"==typeof e?e:f(e);return new URL(r,t)}function v(e,t,r,a){void 0===a&&(a={});let{window:l=document.defaultView,v5Compat:s=!1}=a,c=l.history,u=n.Pop,p=null;function v(){u=n.Pop,p&&p({action:u,location:g.location})}let g={get action(){return u},get location(){return e(l,c)},listen(e){if(p)throw new Error("A history only accepts one active listener");return l.addEventListener(i,v),p=e,()=>{l.removeEventListener(i,v),p=null}},createHref:e=>t(l,e),encodeLocation(e){let t=m(f(e));return o({},e,{pathname:t.pathname,search:t.search,hash:t.hash})},push:function(e,t){u=n.Push;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);try{c.pushState(o,"",i)}catch(e){l.location.assign(i)}s&&p&&p({action:u,location:g.location})},replace:function(e,t){u=n.Replace;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);c.replaceState(o,"",i),s&&p&&p({action:u,location:g.location})},go:e=>c.go(e)};return g}var g;function y(e,t,r){return void 0===t&&(t=[]),void 0===r&&(r=new Set),e.map(((e,n)=>{let a=[...t,n],i="string"==typeof e.id?e.id:a.join("-");return j(!0!==e.index||!e.children,"Cannot specify children on an index route"),j(!r.has(i),'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),r.add(i),function(e){return!0===e.index}(e)?o({},e,{id:i}):o({},e,{id:i,children:e.children?y(e.children,a,r):void 0})}))}function w(e,t,r){void 0===r&&(r="/");let n=U(("string"==typeof t?p(t):t).pathname||"/",r);if(null==n)return null;let a=b(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let o=null;for(let e=0;null==o&&e<a.length;++e)o=L(a[e],T(n));return o}function b(e,t,r,n){return void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n=""),e.forEach(((e,a)=>{let o={relativePath:e.path||"",caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(j(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(n.length));let i=B([n,o.relativePath]),l=r.concat(o);e.children&&e.children.length>0&&(j(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),b(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:A(i,e.index),routesMeta:l})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const E=/^:\w+$/,R=3,D=2,S=1,C=10,x=-2,P=e=>"*"===e;function A(e,t){let r=e.split("/"),n=r.length;return r.some(P)&&(n+=x),t&&(n+=D),r.filter((e=>!P(e))).reduce(((e,t)=>e+(E.test(t)?R:""===t?S:C)),n)}function L(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let e=0;e<r.length;++e){let i=r[e],l=e===r.length-1,s="/"===a?t:t.slice(a.length)||"/",c=O({path:i.relativePath,caseSensitive:i.caseSensitive,end:l},s);if(!c)return null;Object.assign(n,c.params);let u=i.route;o.push({params:n,pathname:B([a,c.pathname]),pathnameBase:H(B([a,c.pathnameBase])),route:u}),"/"!==c.pathnameBase&&(a=B([a,c.pathnameBase]))}return o}function M(e,t){return void 0===t&&(t={}),e.replace(/:(\w+)/g,((e,r)=>(j(null!=t[r],'Missing ":'+r+'" param'),t[r]))).replace(/(\/?)\*/,((e,r,n,a)=>null==t["*"]?"/*"===a?"/":"":""+r+t["*"]))}function O(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),k("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,((e,t)=>(n.push(t),"([^\\/]+)")));return e.endsWith("*")?(n.push("*"),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce(((e,t,r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(r){return k(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(l[r]||"",t),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function T(e){try{return decodeURI(e)}catch(t){return k(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function U(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function j(e,t){if(!1===e||null==e)throw new Error(t)}function k(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function _(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"==typeof e?p(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:K(n),hash:W(a)}}function N(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function I(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=p(e):(a=o({},e),j(!a.pathname||!a.pathname.includes("?"),N("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),N("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),N("#","search","hash",a)));let i,l=""===e||""===a.pathname,s=l?"/":a.pathname;if(n||null==s)i=r;else{let e=t.length-1;if(s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let c=_(a,i),u=s&&"/"!==s&&s.endsWith("/"),d=(l||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!u&&!d||(c.pathname+="/"),c}const B=e=>e.join("/").replace(/\/\/+/g,"/"),H=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),K=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",W=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",$=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),o({},r,{headers:n}))};class J extends Error{}class z{constructor(e){let t;this.pendingKeys=new Set,this.subscriber=void 0,j(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,r)=>t=r)),this.controller=new AbortController;let r=()=>t(new J("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",r),this.controller.signal.addEventListener("abort",r),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{})}trackPromise(e,t){if(!(t instanceof Promise))return t;this.pendingKeys.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,null,t)),(t=>this.onSettle(r,e,t)));return r.catch((()=>{})),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof J)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);this.pendingKeys.delete(t),this.done&&this.unlistenAbortSignal();const a=this.subscriber;return r?(Object.defineProperty(e,"_error",{get:()=>r}),a&&a(!1),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),a&&a(!1),n)}subscribe(e){this.subscriber=e}cancel(){this.controller.abort(),this.pendingKeys.forEach(((e,t)=>this.pendingKeys.delete(t)));let e=this.subscriber;e&&e(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise((t=>{this.subscribe((n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)}))}))}return t}get done(){return 0===this.pendingKeys.size}get unwrappedData(){return j(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:Y(n)})}),{})}}function Y(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}function q(e){return new z(e)}const V=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,o({},r,{headers:n}))};class G{constructor(e,t,r){this.status=e,this.statusText=t||"",this.data=r}}function X(e){return e instanceof G}const Q={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Z={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},ee=!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function te(e){j(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=y(e.routes),r=null,a=new Set,i=null,l=null,s=null,c=!1,u=w(t,e.history.location,e.basename),d=null;if(null==u){let{matches:e,route:r,error:n}=pe(t);u=e,d={[r.id]:n}}let f,p,m=!u.some((e=>e.route.loader))||null!=e.hydrationData,v={historyAction:e.history.action,location:e.history.location,matches:u,initialized:m,navigation:Q,restoreScrollPosition:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||d,fetchers:new Map},g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[],C=new Map,x=0,P=-1,A=new Map,L=new Set,M=new Map,O=new Map;function T(e){v=o({},v,e),a.forEach((e=>e(v)))}function U(t,r){var a;T(o({},null!=v.actionData&&null!=v.navigation.formMethod&&"loading"===v.navigation.state&&(null==(a=v.navigation.formAction)?void 0:a.split("?")[0])===t.pathname?{}:{actionData:null},r,r.loaderData?{loaderData:he(v.loaderData,r.loaderData,r.matches||[])}:{},{historyAction:g,location:t,initialized:!0,navigation:Q,revalidation:"idle",restoreScrollPosition:!v.navigation.formData&&z(t,r.matches||v.matches),preventScrollReset:b})),E||g===n.Pop||(g===n.Push?e.history.push(t,t.state):g===n.Replace&&e.history.replace(t,t.state)),g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[]}async function k(r,a,c){p&&p.abort(),p=null,g=r,E=!0===(c&&c.startUninterruptedRevalidation),function(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key;i[n]=s()}}(v.location,v.matches),b=!0===(c&&c.preventScrollReset);let u=c&&c.overrideNavigation,d=w(t,a,e.basename);if(!d){let{matches:e,route:r,error:n}=pe(t);return J(),void U(a,{matches:e,loaderData:{},errors:{[r.id]:n}})}if(y=a,(m=v.location).pathname===y.pathname&&m.search===y.search&&m.hash!==y.hash)return void U(a,{matches:d});var m,y;p=new AbortController;let A,k,_=ce(a,p.signal,c&&c.submission);if(c&&c.pendingError)k={[fe(d).route.id]:c.pendingError};else if(c&&c.submission){let e=await async function(e,t,r,a,i){let l;I(),T({navigation:o({state:"submitting",location:t},r)});let s=Ce(a,t);if(s.route.action){if(l=await se("action",e,s,a,f.basename),e.signal.aborted)return{shortCircuited:!0}}else l=me(t);if(be(l)){let e=o({state:"loading",location:h(v.location,l.location)},r);return await N(l,e,i&&i.replace),{shortCircuited:!0}}if(we(l)){let e=fe(a,s.route.id);return!0!==(i&&i.replace)&&(g=n.Push),{pendingActionError:{[e.route.id]:l.error}}}if(ye(l))throw new Error("defer() is not supported in actions");return{pendingActionData:{[s.route.id]:l.data}}}(_,a,c.submission,d,{replace:c.replace});if(e.shortCircuited)return;A=e.pendingActionData,k=e.pendingActionError,u=o({state:"loading",location:a},c.submission)}let{shortCircuited:B,loaderData:H,errors:K}=await async function(e,t,r,n,a,i,l,s){let c=n;c||(c={state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0});let[u,d]=oe(v,r,a,t,R,D,S,l,s,M);if(J((e=>!(r&&r.some((t=>t.route.id===e)))||u&&u.some((t=>t.route.id===e)))),0===u.length&&0===d.length)return U(t,{matches:r,loaderData:he(v.loaderData,{},r),errors:s||null,actionData:l||null}),{shortCircuited:!0};E||(d.forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n)})),T(o({navigation:c,actionData:l||v.actionData||null},d.length>0?{fetchers:new Map(v.fetchers)}:{}))),P=++x,d.forEach((e=>{let[t]=e;return C.set(t,p)}));let{results:h,loaderResults:f,fetcherResults:m}=await F(v.matches,r,u,d,e);if(e.signal.aborted)return{shortCircuited:!0};d.forEach((e=>{let[t]=e;return C.delete(t)}));let g=ve(h);if(g){let e=ae(v,g);return await N(g,e,i),{shortCircuited:!0}}let{loaderData:y,errors:w}=de(v,r,u,f,s,d,m,O);return O.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&O.delete(t)}))})),function(){let e=[];for(let t of L){let r=v.fetchers.get(t);j(r,"Expected fetcher: "+t),"loading"===r.state&&(L.delete(t),e.push(t))}W(e)}(),o({loaderData:y,errors:w},$(P)||d.length>0?{fetchers:new Map(v.fetchers)}:{})}(_,a,d,u,c&&c.submission,c&&c.replace,A,k);B||(p=null,U(a,{matches:d,loaderData:H,errors:K}))}function _(e){return v.fetchers.get(e)||Z}async function N(e,t,r){e.revalidate&&(R=!0),j(t.location,"Expected a location on the redirect navigation"),p=null;let a=!0===r?n.Replace:n.Push;await k(a,t.location,{overrideNavigation:t})}async function F(e,t,r,n,a){let o=await Promise.all([...r.map((e=>se("loader",a,e,t,f.basename))),...n.map((e=>{let[,t,r,n]=e;return se("loader",ce(t,a.signal),r,n,f.basename)}))]),i=o.slice(0,r.length),l=o.slice(r.length);return await Promise.all([Ee(e,r,i,a.signal,!1,v.loaderData),Ee(e,n.map((e=>{let[,,t]=e;return t})),l,a.signal,!0)]),{results:o,loaderResults:i,fetcherResults:l}}function I(){R=!0,D.push(...J()),M.forEach(((e,t)=>{C.has(t)&&(S.push(t),K(t))}))}function B(e,t,r){let n=fe(v.matches,t);H(e),T({errors:{[n.route.id]:r},fetchers:new Map(v.fetchers)})}function H(e){C.has(e)&&K(e),M.delete(e),A.delete(e),L.delete(e),v.fetchers.delete(e)}function K(e){let t=C.get(e);j(t,"Expected fetch controller: "+e),t.abort(),C.delete(e)}function W(e){for(let t of e){let e={state:"idle",data:_(t).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,e)}}function $(e){let t=[];for(let[r,n]of A)if(n<e){let e=v.fetchers.get(r);j(e,"Expected fetcher: "+r),"loading"===e.state&&(K(r),A.delete(r),t.push(r))}return W(t),t.length>0}function J(e){let t=[];return O.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),O.delete(n))})),t}function z(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key,a=i[n];if("number"==typeof a)return a}return null}return f={get basename(){return e.basename},get state(){return v},get routes(){return t},initialize:function(){return r=e.history.listen((e=>{let{action:t,location:r}=e;return k(t,r)})),v.initialized||k(n.Pop,v.location),f},subscribe:function(e){return a.add(e),()=>a.delete(e)},enableScrollRestoration:function(e,t,r){if(i=e,s=t,l=r||(e=>e.key),!c&&v.navigation===Q){c=!0;let e=z(v.location,v.matches);null!=e&&T({restoreScrollPosition:e})}return()=>{i=null,s=null,l=null}},navigate:async function(t,r){if("number"==typeof t)return void e.history.go(t);let{path:a,submission:o,error:i}=ne(t,r),l=h(v.location,a,r&&r.state);l=e.history.encodeLocation(l);let s=!0===(r&&r.replace)||null!=o?n.Replace:n.Push,c=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0;return await k(s,l,{submission:o,pendingError:i,preventScrollReset:c,replace:r&&r.replace})},fetch:function(r,n,a,i){if(ee)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");C.has(r)&&K(r);let l=w(t,a,e.basename);if(!l)return void B(r,n,new G(404,"Not Found",null));let{path:s,submission:c}=ne(a,i,!0),u=Ce(l,s);c?async function(r,n,a,i,l,s){if(I(),M.delete(r),!i.route.action){let{error:e}=me(a);return void B(r,n,e)}let c=v.fetchers.get(r),u=o({state:"submitting"},s,{data:c&&c.data});v.fetchers.set(r,u),T({fetchers:new Map(v.fetchers)});let d=new AbortController,m=ce(a,d.signal,s);C.set(r,d);let y=await se("action",m,i,l,f.basename);if(m.signal.aborted)return void(C.get(r)===d&&C.delete(r));if(be(y)){C.delete(r),L.add(r);let e=o({state:"loading"},s,{data:void 0});v.fetchers.set(r,e),T({fetchers:new Map(v.fetchers)});let t=o({state:"loading",location:h(v.location,y.location)},s);return void await N(y,t)}if(we(y))return void B(r,n,y.error);ye(y)&&j(!1,"defer() is not supported in actions");let b=v.navigation.location||v.location,E=ce(b,d.signal),k="idle"!==v.navigation.state?w(t,v.navigation.location,e.basename):v.matches;j(k,"Didn't find any matches after fetcher action");let _=++x;A.set(r,_);let H=o({state:"loading",data:y.data},s);v.fetchers.set(r,H);let[K,W]=oe(v,k,s,b,R,D,S,{[i.route.id]:y.data},void 0,M);W.filter((e=>{let[t]=e;return t!==r})).forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n),C.set(t,d)})),T({fetchers:new Map(v.fetchers)});let{results:J,loaderResults:z,fetcherResults:Y}=await F(v.matches,k,K,W,E);if(d.signal.aborted)return;A.delete(r),C.delete(r),W.forEach((e=>{let[t]=e;return C.delete(t)}));let q=ve(J);if(q){let e=ae(v,q);return void await N(q,e)}let{loaderData:V,errors:G}=de(v,v.matches,K,z,void 0,W,Y,O),X={state:"idle",data:y.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(r,X);let Q=$(_);"loading"===v.navigation.state&&_>P?(j(g,"Expected pending action"),p&&p.abort(),U(v.navigation.location,{matches:k,loaderData:V,errors:G,fetchers:new Map(v.fetchers)})):(T(o({errors:G,loaderData:he(v.loaderData,V,k)},Q?{fetchers:new Map(v.fetchers)}:{})),R=!1)}(r,n,s,u,l,c):(M.set(r,[s,u,l]),async function(e,t,r,n,a){let o=v.fetchers.get(e),i={state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,data:o&&o.data};v.fetchers.set(e,i),T({fetchers:new Map(v.fetchers)});let l=new AbortController,s=ce(r,l.signal);C.set(e,l);let c=await se("loader",s,n,a,f.basename);if(ye(c)&&(c=await Re(c,s.signal,!0)||c),C.get(e)===l&&C.delete(e),s.signal.aborted)return;if(be(c)){let e=ae(v,c);return void await N(c,e)}if(we(c)){let r=fe(v.matches,t);return v.fetchers.delete(e),void T({fetchers:new Map(v.fetchers),errors:{[r.route.id]:c.error}})}j(!ye(c),"Unhandled fetcher deferred data");let u={state:"idle",data:c.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(e,u),T({fetchers:new Map(v.fetchers)})}(r,n,s,u,l))},revalidate:function(){I(),T({revalidation:"loading"}),"submitting"!==v.navigation.state&&("idle"!==v.navigation.state?k(g||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation}):k(v.historyAction,v.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),getFetcher:_,deleteFetcher:H,dispose:function(){r&&r(),a.clear(),p&&p.abort(),v.fetchers.forEach(((e,t)=>H(t)))},_internalFetchControllers:C,_internalActiveDeferreds:O},f}const re=new Set(["POST","PUT","PATCH","DELETE"]);function ne(e,t,r){void 0===r&&(r=!1);let n="string"==typeof e?e:f(e);if(!t||!("formMethod"in t)&&!("formData"in t))return{path:n};if(null!=t.formMethod&&"get"!==t.formMethod)return{path:n,submission:{formMethod:t.formMethod,formAction:ge(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData}};if(!t.formData)return{path:n};let a=p(n);try{let e=ue(t.formData);r&&a.search&&De(a.search)&&e.append("index",""),a.search="?"+e}catch(e){return{path:n,error:new G(400,"Bad Request","Cannot submit binary form data using GET")}}return{path:f(a)}}function ae(e,t){let{formMethod:r,formAction:n,formEncType:a,formData:o}=e.navigation;return{state:"loading",location:h(e.location,t.location),formMethod:r||void 0,formAction:n||void 0,formEncType:a||void 0,formData:o||void 0}}function oe(e,t,r,n,a,o,i,l,s,c){let u=s?Object.values(s)[0]:l?Object.values(l)[0]:null,d=function(e,t){let r=e;if(t){let n=e.findIndex((e=>e.route.id===t));n>=0&&(r=e.slice(0,n))}return r}(t,s?Object.keys(s)[0]:void 0).filter(((t,i)=>null!=t.route.loader&&(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(e.loaderData,e.matches[i],t)||o.some((e=>e===t.route.id))||le(e.location,e.matches[i],r,n,t,a,u)))),h=[];return c&&c.forEach(((e,t)=>{let[n,o,l]=e;(i.includes(t)||a&&le(n,o,r,n,o,a,u))&&h.push([t,n,o,l])})),[d,h]}function ie(e,t){let r=e.route.path;return e.pathname!==t.pathname||r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function le(e,t,r,n,a,i,l){let s=m(e),c=t.params,u=m(n),d=a.params,h=ie(t,a)||s.toString()===u.toString()||s.search!==u.search||i;if(a.route.shouldRevalidate){let e=a.route.shouldRevalidate(o({currentUrl:s,currentParams:c,nextUrl:u,nextParams:d},r,{actionResult:l,defaultShouldRevalidate:h}));if("boolean"==typeof e)return e}return h}async function se(e,t,r,n,a,o,i){let l,s,c;void 0===o&&(o=!1),void 0===i&&(i=!1);let u=new Promise(((e,t)=>c=t)),d=()=>c();t.signal.addEventListener("abort",d);try{let n=r.route[e];j(n,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),s=await Promise.race([n({request:t,params:r.params}),u])}catch(e){l=g.error,s=e}finally{t.signal.removeEventListener("abort",d)}if(s instanceof Response){let e,c=s.status;if(c>=300&&c<=399){let e=s.headers.get("Location");j(e,"Redirects returned/thrown from loaders/actions must have a Location header");let i=I(e,F(n.slice(0,n.indexOf(r)+1)).map((e=>e.pathnameBase)),m(t.url).pathname);if(j(f(i),"Unable to resolve redirect location: "+s.headers.get("Location")),a){let e=i.pathname;i.pathname="/"===e?a:B([a,e])}if(e=f(i),o)throw s.headers.set("Location",e),s;return{type:g.redirect,status:c,location:e,revalidate:null!==s.headers.get("X-Remix-Revalidate")}}if(i)throw{type:l||g.data,response:s};let u=s.headers.get("Content-Type");return e=u&&u.startsWith("application/json")?await s.json():await s.text(),l===g.error?{type:l,error:new G(c,s.statusText,e),headers:s.headers}:{type:g.data,data:e,statusCode:s.status,headers:s.headers}}return l===g.error?{type:l,error:s}:s instanceof z?{type:g.deferred,deferredData:s}:{type:g.data,data:s}}function ce(e,t,r){let n=m(ge(e)).toString(),a={signal:t};if(r){let{formMethod:e,formEncType:t,formData:n}=r;a.method=e.toUpperCase(),a.body="application/x-www-form-urlencoded"===t?ue(n):n}return new Request(n,a)}function ue(e){let t=new URLSearchParams;for(let[r,n]of e.entries())j("string"==typeof n,'File inputs are not supported with encType "application/x-www-form-urlencoded", please use "multipart/form-data" instead.'),t.append(r,n);return t}function de(e,t,r,n,a,i,l,s){let{loaderData:c,errors:u}=function(e,t,r,n,a){let o,i={},l=null,s=!1,c={};return r.forEach(((r,u)=>{let d=t[u].route.id;if(j(!be(r),"Cannot handle redirect results in processLoaderData"),we(r)){let t=fe(e,d),a=r.error;n&&(a=Object.values(n)[0],n=void 0),l=Object.assign(l||{},{[t.route.id]:a}),s||(s=!0,o=X(r.error)?r.error.status:500),r.headers&&(c[d]=r.headers)}else ye(r)?(a&&a.set(d,r.deferredData),i[d]=r.deferredData.data):(i[d]=r.data,null==r.statusCode||200===r.statusCode||s||(o=r.statusCode),r.headers&&(c[d]=r.headers))})),n&&(l=n),{loaderData:i,errors:l,statusCode:o||200,loaderHeaders:c}}(t,r,n,a,s);for(let t=0;t<i.length;t++){let[r,,n]=i[t];j(void 0!==l&&void 0!==l[t],"Did not find corresponding fetcher result");let a=l[t];if(we(a)){let t=fe(e.matches,n.route.id);u&&u[t.route.id]||(u=o({},u,{[t.route.id]:a.error})),e.fetchers.delete(r)}else{if(be(a))throw new Error("Unhandled fetcher revalidation redirect");if(ye(a))throw new Error("Unhandled fetcher deferred data");{let t={state:"idle",data:a.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};e.fetchers.set(r,t)}}}return{loaderData:c,errors:u}}function he(e,t,r){let n=o({},t);return r.forEach((r=>{let a=r.route.id;void 0===t[a]&&void 0!==e[a]&&(n[a]=e[a])})),n}function fe(e,t){return(t?e.slice(0,e.findIndex((e=>e.route.id===t))+1):[...e]).reverse().find((e=>!0===e.route.hasErrorBoundary))||e[0]}function pe(e){return function(e,t,r){let n=e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-"+t+"-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n,error:new G(t,r,null)}}(e,404,"Not Found")}function me(e){let t="string"==typeof e?e:f(e);return console.warn("You're trying to submit to a route that does not have an action. To fix this, please add an `action` function to the route for ["+t+"]"),{type:g.error,error:new G(405,"Method Not Allowed","")}}function ve(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(be(r))return r}}function ge(e){return f(o({},"string"==typeof e?p(e):e,{hash:""}))}function ye(e){return e.type===g.deferred}function we(e){return e.type===g.error}function be(e){return(e&&e.type)===g.redirect}async function Ee(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i],c=e.find((e=>e.route.id===s.route.id)),u=null!=c&&!ie(c,s)&&void 0!==(o&&o[s.route.id]);ye(l)&&(a||u)&&await Re(l,n,a).then((e=>{e&&(r[i]=e||r[i])}))}}async function Re(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(e){return{type:g.error,error:e}}return{type:g.data,data:e.deferredData.data}}}function De(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function Se(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function Ce(e,t){let r="string"==typeof t?p(t).search:t.search;if(e[e.length-1].route.index&&De(r||""))return e[e.length-1];let n=F(e);return n[n.length-1]}function xe(){return xe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xe.apply(this,arguments)}new Set(["GET","HEAD",...re]);const Pe="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:Ae,useEffect:Le,useLayoutEffect:Me,useDebugValue:Oe}=a;function Te(e){const t=e.getSnapshot,r=e.value;try{const e=t();return!Pe(r,e)}catch(e){return!0}}const Ue="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t,r){return t()}:function(e,t,r){const n=t(),[{inst:a},o]=Ae({inst:{value:n,getSnapshot:t}});return Me((()=>{a.value=n,a.getSnapshot=t,Te(a)&&o({inst:a})}),[e,n,t]),Le((()=>(Te(a)&&o({inst:a}),e((()=>{Te(a)&&o({inst:a})})))),[e]),Oe(n),n},je="useSyncExternalStore"in a?a.useSyncExternalStore:Ue,ke=a.createContext(null),_e=a.createContext(null),Ne=a.createContext(null),Fe=a.createContext(null),Ie=a.createContext(null),Be=a.createContext(null),He=a.createContext({outlet:null,matches:[]}),Ke=a.createContext(null);function We(e,t){let{relative:r}=void 0===t?{}:t;$e()||j(!1);let{basename:n,navigator:o}=a.useContext(Ie),{hash:i,pathname:l,search:s}=Ze(e,{relative:r}),c=l;return"/"!==n&&(c="/"===l?n:B([n,l])),o.createHref({pathname:c,search:s,hash:i})}function $e(){return null!=a.useContext(Be)}function Je(){return $e()||j(!1),a.useContext(Be).location}function ze(){return a.useContext(Be).navigationType}function Ye(e){$e()||j(!1);let{pathname:t}=Je();return a.useMemo((()=>O(e,t)),[t,e])}function qe(){$e()||j(!1);let{basename:e,navigator:t}=a.useContext(Ie),{matches:r}=a.useContext(He),{pathname:n}=Je(),o=JSON.stringify(F(r).map((e=>e.pathnameBase))),i=a.useRef(!1);return a.useEffect((()=>{i.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!i.current)return;if("number"==typeof r)return void t.go(r);let l=I(r,JSON.parse(o),n,"path"===a.relative);"/"!==e&&(l.pathname="/"===l.pathname?e:B([e,l.pathname])),(a.replace?t.replace:t.push)(l,a.state,a)}),[e,t,o,n])}const Ve=a.createContext(null);function Ge(){return a.useContext(Ve)}function Xe(e){let t=a.useContext(He).outlet;return t?a.createElement(Ve.Provider,{value:e},t):t}function Qe(){let{matches:e}=a.useContext(He),t=e[e.length-1];return t?t.params:{}}function Ze(e,t){let{relative:r}=void 0===t?{}:t,{matches:n}=a.useContext(He),{pathname:o}=Je(),i=JSON.stringify(F(n).map((e=>e.pathnameBase)));return a.useMemo((()=>I(e,JSON.parse(i),o,"path"===r)),[e,i,o,r])}function et(e,t){$e()||j(!1);let r=a.useContext(Ne),{matches:o}=a.useContext(He),i=o[o.length-1],l=i?i.params:{},s=(i&&i.pathname,i?i.pathnameBase:"/");i&&i.route;let c,u=Je();if(t){var d;let e="string"==typeof t?p(t):t;"/"===s||(null==(d=e.pathname)?void 0:d.startsWith(s))||j(!1),c=e}else c=u;let h=c.pathname||"/",f=w(e,{pathname:"/"===s?h:h.slice(s.length)||"/"}),m=at(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:B([s,e.pathname]),pathnameBase:"/"===e.pathnameBase?s:B([s,e.pathnameBase])}))),o,r||void 0);return t&&m?a.createElement(Be.Provider,{value:{location:xe({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:n.Pop}},m):m}function tt(){let e=mt(),t=X(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},i={padding:"2px 4px",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unhandled Thrown Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,a.createElement("p",null,"💿 Hey developer 👋"),a.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",a.createElement("code",{style:i},"errorElement")," props on ",a.createElement("code",{style:i},"<Route>")))}class rt extends a.Component{constructor(e){super(e),this.state={location:e.location,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error?a.createElement(Ke.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}function nt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(ke);return o&&r.route.errorElement&&(o._deepestRenderedBoundaryId=r.route.id),a.createElement(He.Provider,{value:t},n)}function at(e,t,r){if(void 0===t&&(t=[]),null==e){if(null==r||!r.errors)return null;e=r.matches}let n=e,o=null==r?void 0:r.errors;if(null!=o){let e=n.findIndex((e=>e.route.id&&(null==o?void 0:o[e.route.id])));e>=0||j(!1),n=n.slice(0,Math.min(n.length,e+1))}return n.reduceRight(((e,i,l)=>{let s=i.route.id?null==o?void 0:o[i.route.id]:null,c=r?i.route.errorElement||a.createElement(tt,null):null,u=()=>a.createElement(nt,{match:i,routeContext:{outlet:e,matches:t.concat(n.slice(0,l+1))}},s?c:void 0!==i.route.element?i.route.element:e);return r&&(i.route.errorElement||0===l)?a.createElement(rt,{location:r.location,component:c,error:s,children:u()}):u()}),null)}var ot,it,lt;function st(e){let t=a.useContext(Ne);return t||j(!1),t}function ct(){return st(it.UseNavigation).navigation}function ut(){let e=function(e){let t=a.useContext(_e);return t||j(!1),t}(ot.UseRevalidator),t=st(it.UseRevalidator);return{revalidate:e.router.revalidate,state:t.revalidation}}function dt(){let{matches:e,loaderData:t}=st(it.UseMatches);return a.useMemo((()=>e.map((e=>{let{pathname:r,params:n}=e;return{id:e.route.id,pathname:r,params:n,data:t[e.route.id],handle:e.route.handle}}))),[e,t])}function ht(){let e=st(it.UseLoaderData),t=a.useContext(He);t||j(!1);let r=t.matches[t.matches.length-1];return r.route.id||j(!1),e.loaderData[r.route.id]}function ft(e){return st(it.UseRouteLoaderData).loaderData[e]}function pt(){let e=st(it.UseActionData);return a.useContext(He)||j(!1),Object.values((null==e?void 0:e.actionData)||{})[0]}function mt(){var e;let t=a.useContext(Ke),r=st(it.UseRouteError),n=a.useContext(He),o=n.matches[n.matches.length-1];return t||(n||j(!1),o.route.id||j(!1),null==(e=r.errors)?void 0:e[o.route.id])}function vt(){let e=a.useContext(Fe);return null==e?void 0:e._data}function gt(){let e=a.useContext(Fe);return null==e?void 0:e._error}function yt(e){let{fallbackElement:t,router:r}=e,n=je(r.subscribe,(()=>r.state),(()=>r.state)),o=a.useMemo((()=>({createHref:r.createHref,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),i=r.basename||"/";return a.createElement(_e.Provider,{value:{router:r,navigator:o,static:!1,basename:i}},a.createElement(Ne.Provider,{value:n},a.createElement(Dt,{basename:r.basename,location:r.state.location,navigationType:r.state.historyAction,navigator:o},r.state.initialized?a.createElement(St,null):t)))}function wt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o}=e,i=a.useRef();null==i.current&&(i.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let s=i.current,[c,u]=a.useState({action:s.action,location:s.location});return a.useLayoutEffect((()=>s.listen(u)),[s]),a.createElement(Dt,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:s})}function bt(e){let{to:t,replace:r,state:n,relative:o}=e;$e()||j(!1);let i=a.useContext(Ne),l=qe();return a.useEffect((()=>{i&&"idle"!==i.navigation.state||l(t,{replace:r,state:n,relative:o})})),null}function Et(e){return Xe(e.context)}function Rt(e){j(!1)}function Dt(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:l,static:s=!1}=e;$e()&&j(!1);let c=t.replace(/^\/*/,"/"),u=a.useMemo((()=>({basename:c,navigator:l,static:s})),[c,l,s]);"string"==typeof o&&(o=p(o));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=o,g=a.useMemo((()=>{let e=U(d,c);return null==e?null:{pathname:e,search:h,hash:f,state:m,key:v}}),[c,d,h,f,m,v]);return null==g?null:a.createElement(Ie.Provider,{value:u},a.createElement(Be.Provider,{children:r,value:{location:g,navigationType:i}}))}function St(e){let{children:t,location:r}=e,n=a.useContext(_e);return et(n&&!t?n.router.routes:Lt(t),r)}function Ct(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(Pt,{resolve:n,errorElement:r},a.createElement(At,null,t))}!function(e){e.UseRevalidator="useRevalidator"}(ot||(ot={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(it||(it={})),function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(lt||(lt={}));const xt=new Promise((()=>{}));class Pt extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=lt.pending;if(r instanceof Promise)if(this.state.error){o=lt.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o=void 0!==n._error?lt.error:void 0!==n._data?lt.success:lt.pending):(o=lt.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=lt.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===lt.error&&n._error instanceof J)throw xt;if(o===lt.error&&!t)throw n._error;if(o===lt.error)return a.createElement(Fe.Provider,{value:n,children:t});if(o===lt.success)return a.createElement(Fe.Provider,{value:n,children:e});throw n}}function At(e){let{children:t}=e,r=vt();return"function"==typeof t?t(r):a.createElement(a.Fragment,null,t)}function Lt(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;if(e.type===a.Fragment)return void r.push.apply(r,Lt(e.props.children,t));e.type!==Rt&&j(!1),e.props.index&&e.props.children&&j(!1);let o=[...t,n],i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(i.children=Lt(e.props.children,o)),r.push(i)})),r}function Mt(e){return at(e)}function Ot(e){return e.map((e=>{let t=xe({},e);return null==t.hasErrorBoundary&&(t.hasErrorBoundary=null!=t.errorElement),t.children&&(t.children=Ot(t.children)),t}))}function Tt(e,t){return te({basename:null==t?void 0:t.basename,history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:Ot(e)}).initialize()}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ut.apply(this,arguments)}function jt(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const kt="get",_t="application/x-www-form-urlencoded";function Nt(e){return null!=e&&"string"==typeof e.tagName}function Ft(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}const It=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Bt=["aria-current","caseSensitive","className","end","style","to","children"],Ht=["reloadDocument","replace","method","action","onSubmit","fetcherKey","routeId","relative"];function Kt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:s({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function Wt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function $t(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=s({window:n,v5Compat:!0}));let i=o.current,[l,c]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(c)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function Jt(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=c({window:n,v5Compat:!0}));let i=o.current,[l,s]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(s)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function zt(e){let{basename:t,children:r,history:n}=e;const[o,i]=a.useState({action:n.action,location:n.location});return a.useLayoutEffect((()=>n.listen(i)),[n]),a.createElement(Dt,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:n})}const Yt=a.forwardRef((function(e,t){let{onClick:r,relative:n,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:u}=e,d=jt(e,It),h=We(c,{relative:n}),f=rr(c,{replace:i,state:l,target:s,preventScrollReset:u,relative:n});return a.createElement("a",Ut({},d,{href:h,onClick:o?r:function(e){r&&r(e),e.defaultPrevented||f(e)},ref:t,target:s}))})),qt=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:l,to:s,children:c}=e,u=jt(e,Bt),d=Ze(s,{relative:u.relative}),h=Je(),f=a.useContext(Ne),p=d.pathname,m=h.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;n||(m=m.toLowerCase(),v=v?v.toLowerCase():null,p=p.toLowerCase());let g,y=m===p||!i&&m.startsWith(p)&&"/"===m.charAt(p.length),w=null!=v&&(v===p||!i&&v.startsWith(p)&&"/"===v.charAt(p.length)),b=y?r:void 0;g="function"==typeof o?o({isActive:y,isPending:w}):[o,y?"active":null,w?"pending":null].filter(Boolean).join(" ");let E="function"==typeof l?l({isActive:y,isPending:w}):l;return a.createElement(Yt,Ut({},u,{"aria-current":b,className:g,ref:t,style:E,to:s}),"function"==typeof c?c({isActive:y,isPending:w}):c)})),Vt=a.forwardRef(((e,t)=>a.createElement(Gt,Ut({},e,{ref:t})))),Gt=a.forwardRef(((e,t)=>{let{reloadDocument:r,replace:n,method:o=kt,action:i,onSubmit:l,fetcherKey:s,routeId:c,relative:u}=e,d=jt(e,Ht),h=or(s,c),f="get"===o.toLowerCase()?"get":"post",p=ir(i,{relative:u});return a.createElement("form",Ut({ref:t,method:f,action:p,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter;h(t||e.currentTarget,{method:o,replace:n,relative:u})}},d))}));function Xt(e){let{getKey:t,storageKey:r}=e;return function(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=er(Qt.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=tr(Zt.UseScrollRestoration),l=Je(),s=dt(),c=ct();var u;a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),u=a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,s):null)||l.key;dr[e]=window.scrollY}sessionStorage.setItem(r||ur,JSON.stringify(dr)),window.history.scrollRestoration="auto"}),[r,t,c.state,l,s]),a.useEffect((()=>(window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u)})),[u]),a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||ur);e&&(dr=JSON.parse(e))}catch(e){}}),[r]),a.useLayoutEffect((()=>{let e=null==n?void 0:n.enableScrollRestoration(dr,(()=>window.scrollY),t);return()=>e&&e()}),[n,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(l.hash.slice(1));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i])}({getKey:t,storageKey:r}),null}var Qt,Zt;function er(e){let t=a.useContext(_e);return t||j(!1),t}function tr(e){let t=a.useContext(Ne);return t||j(!1),t}function rr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:l}=void 0===t?{}:t,s=qe(),c=Je(),u=Ze(e,{relative:l});return a.useCallback((t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:f(c)===f(u);s(e,{replace:r,state:o,preventScrollReset:i,relative:l})}}),[c,s,u,n,o,r,e,i,l])}function nr(e){let t=a.useRef(Ft(e)),r=Je(),n=a.useMemo((()=>function(e,t){let r=Ft(e);for(let e of t.keys())r.has(e)||t.getAll(e).forEach((t=>{r.append(e,t)}));return r}(r.search,t.current)),[r.search]),o=qe(),i=a.useCallback(((e,t)=>{const r=Ft("function"==typeof e?e(n):e);o("?"+r,t)}),[o,n]);return[n,i]}function ar(){return or()}function or(e,t){let{router:r}=er(Qt.UseSubmitImpl),n=ir();return a.useCallback((function(a,o){if(void 0===o&&(o={}),"undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:l,formData:s,url:c}=function(e,t,r){let n,a,o,i;if(Nt(l=e)&&"form"===l.tagName.toLowerCase()){let l=r.submissionTrigger;n=r.method||e.getAttribute("method")||kt,a=r.action||e.getAttribute("action")||t,o=r.encType||e.getAttribute("enctype")||_t,i=new FormData(e),l&&l.name&&i.append(l.name,l.value)}else if(function(e){return Nt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Nt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let l=e.form;if(null==l)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||l.getAttribute("method")||kt,a=r.action||e.getAttribute("formaction")||l.getAttribute("action")||t,o=r.encType||e.getAttribute("formenctype")||l.getAttribute("enctype")||_t,i=new FormData(l),e.name&&i.append(e.name,e.value)}else{if(Nt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||kt,a=r.action||t,o=r.encType||_t,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[t,r]of e)i.append(t,r);else if(null!=e)for(let t of Object.keys(e))i.append(t,e[t])}var l;let{protocol:s,host:c}=window.location;return{url:new URL(a,s+"//"+c),method:n,encType:o,formData:i}}(a,n,o),u=c.pathname+c.search,d={replace:o.replace,formData:s,formMethod:i,formEncType:l};e?(null==t&&j(!1),r.fetch(e,t,u,d)):r.navigate(u,d)}),[n,r,e,t])}function ir(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(Ie),o=a.useContext(He);o||j(!1);let[i]=o.matches.slice(-1),l=Ut({},Ze(null!=e?e:".",{relative:r})),s=Je();if(null==e&&(l.search=s.search,l.hash=s.hash,i.route.index)){let e=new URLSearchParams(l.search);e.delete("index"),l.search=e.toString()?"?"+e.toString():""}return e&&"."!==e||!i.route.index||(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(l.pathname="/"===l.pathname?n:B([n,l.pathname])),f(l)}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Qt||(Qt={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Zt||(Zt={}));let lr=0;function sr(){var e;let{router:t}=er(Qt.UseFetcher),r=a.useContext(He);r||j(!1);let n=null==(e=r.matches[r.matches.length-1])?void 0:e.route.id;null==n&&j(!1);let[o]=a.useState((()=>String(++lr))),[i]=a.useState((()=>(n||j(!1),function(e,t){return a.forwardRef(((r,n)=>a.createElement(Gt,Ut({},r,{ref:n,fetcherKey:e,routeId:t}))))}(o,n)))),[l]=a.useState((()=>e=>{t||j(!1),n||j(!1),t.fetch(o,n,e)})),s=or(o,n),c=t.getFetcher(o),u=a.useMemo((()=>Ut({Form:i,submit:s,load:l},c)),[c,i,s,l]);return a.useEffect((()=>()=>{t?t.deleteFetcher(o):console.warn("No fetcher available to clean up from useFetcher()")}),[t,o]),u}function cr(){return[...tr(Zt.UseFetchers).fetchers.values()]}const ur="react-router-scroll-positions";let dr={}}}]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @remix-run/router v1.21.0
2
+ * @remix-run/router v1.0.3
3
3
  *
4
4
  * Copyright (c) Remix Software Inc.
5
5
  *
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  /**
13
- * React Router DOM v6.28.1
13
+ * React Router DOM v6.4.3
14
14
  *
15
15
  * Copyright (c) Remix Software Inc.
16
16
  *
@@ -21,7 +21,7 @@
21
21
  */
22
22
 
23
23
  /**
24
- * React Router v6.28.1
24
+ * React Router v6.4.3
25
25
  *
26
26
  * Copyright (c) Remix Software Inc.
27
27
  *