medos-sdk 1.1.10 → 1.1.12

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 (265) hide show
  1. package/dist/client/MedosClient.d.ts +1 -0
  2. package/dist/client/MedosClient.js +8 -1
  3. package/dist/components/AppointmentCalender.js +19 -22
  4. package/dist/components/AppointmentConfirmationStep.d.ts +1 -0
  5. package/dist/components/AppointmentConfirmationStep.js +34 -42
  6. package/dist/components/AppointmentDateTimeModal.d.ts +1 -0
  7. package/dist/components/AppointmentDateTimeModal.js +201 -168
  8. package/dist/components/AppointmentSummaryStep.d.ts +12 -0
  9. package/dist/components/AppointmentSummaryStep.js +168 -0
  10. package/dist/components/BookingOptionStep.d.ts +14 -0
  11. package/dist/components/BookingOptionStep.js +346 -0
  12. package/dist/components/ContactInformationStep.js +10 -4
  13. package/dist/components/ContactPreferenceStep.js +10 -1
  14. package/dist/components/DoctorSelectModal.js +105 -59
  15. package/dist/components/EnquiryForm.js +81 -69
  16. package/dist/components/Icons/CloseIcon.d.ts +9 -0
  17. package/dist/components/Icons/CloseIcon.js +5 -0
  18. package/dist/components/InquiryDetailsStep.js +5 -1
  19. package/dist/components/PatientDetailsStep.js +17 -12
  20. package/dist/components/PatientSelectionStep.d.ts +12 -0
  21. package/dist/components/PatientSelectionStep.js +254 -0
  22. package/dist/components/PhoneVerificationStep.js +1 -1
  23. package/dist/components/SuccessStep.js +1 -1
  24. package/dist/components/appointment-booking/AppointmentCalender.js +145 -67
  25. package/dist/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  26. package/dist/components/appointment-booking/appointment-modal-styles.js +419 -0
  27. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  28. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.js +107 -0
  29. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  30. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.js +306 -0
  31. package/dist/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  32. package/dist/components/appointment-booking/components/AppointmentSummaryStep.js +194 -0
  33. package/dist/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  34. package/dist/components/appointment-booking/components/BookingOptionStep.js +350 -0
  35. package/dist/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  36. package/dist/components/appointment-booking/components/DoctorSelectModal.js +213 -0
  37. package/dist/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  38. package/dist/components/appointment-booking/components/PatientDetailsStep.js +96 -0
  39. package/dist/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  40. package/dist/components/appointment-booking/components/PatientSelectionStep.js +254 -0
  41. package/dist/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  42. package/dist/components/appointment-booking/components/PhoneVerificationStep.js +49 -0
  43. package/dist/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  44. package/dist/components/appointment-booking/components/SuccessStep.js +9 -0
  45. package/dist/components/appointment-booking/components/index.d.ts +9 -0
  46. package/dist/components/appointment-booking/components/index.js +9 -0
  47. package/dist/components/appointment-booking/hooks/useAppointmentFlow.d.ts +0 -1
  48. package/dist/components/appointment-booking/hooks/useAppointmentFlow.js +111 -25
  49. package/dist/components/appointment-booking/hooks/useAppointmentState.js +32 -0
  50. package/dist/components/appointment-booking/hooks/useInitializeAddresses.js +0 -1
  51. package/dist/components/appointment-booking/index.d.ts +2 -4
  52. package/dist/components/appointment-booking/index.js +2 -2
  53. package/dist/components/appointment-booking/types.d.ts +167 -0
  54. package/dist/components/appointment-booking/types.js +16 -0
  55. package/dist/components/appointment-modal-styles.d.ts +259 -0
  56. package/dist/components/appointment-modal-styles.js +395 -0
  57. package/dist/components/constant.d.ts +2 -0
  58. package/dist/components/constant.js +15 -0
  59. package/dist/components/constants/constant.d.ts +2 -0
  60. package/dist/components/constants/constant.js +15 -0
  61. package/dist/components/constants/index.d.ts +3 -0
  62. package/dist/components/constants/index.js +24 -0
  63. package/dist/components/constants/options.d.ts +13 -0
  64. package/dist/components/constants/options.js +35 -0
  65. package/dist/components/constants/validation.d.ts +6 -0
  66. package/dist/components/constants/validation.js +16 -0
  67. package/dist/components/custom-calendar.js +20 -11
  68. package/dist/components/enquiry-form/EnquiryForm.d.ts +7 -0
  69. package/dist/components/enquiry-form/EnquiryForm.js +238 -0
  70. package/dist/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  71. package/dist/components/enquiry-form/components/ContactInformationStep.js +21 -0
  72. package/dist/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  73. package/dist/components/enquiry-form/components/ContactPreferenceStep.js +20 -0
  74. package/dist/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  75. package/dist/components/enquiry-form/components/InquiryDetailsStep.js +20 -0
  76. package/dist/components/enquiry-form/components/index.d.ts +3 -0
  77. package/dist/components/enquiry-form/components/index.js +3 -0
  78. package/dist/components/enquiry-form/index.d.ts +2 -0
  79. package/dist/components/enquiry-form/index.js +2 -0
  80. package/dist/components/index.d.ts +7 -0
  81. package/dist/components/index.js +7 -0
  82. package/dist/components/shared/icons/Check.d.ts +6 -0
  83. package/dist/components/shared/icons/Check.js +2 -0
  84. package/dist/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  85. package/dist/components/shared/icons/ChevronDownIcon.js +2 -0
  86. package/dist/components/shared/icons/ChevronLeft.d.ts +3 -0
  87. package/dist/components/shared/icons/ChevronLeft.js +3 -0
  88. package/dist/components/shared/icons/ChevronRight.d.ts +3 -0
  89. package/dist/components/shared/icons/ChevronRight.js +3 -0
  90. package/dist/components/shared/icons/CloseIcon.d.ts +9 -0
  91. package/dist/components/shared/icons/CloseIcon.js +5 -0
  92. package/dist/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  93. package/dist/components/shared/icons/ConfirmationCheck.js +9 -0
  94. package/dist/components/shared/icons/ConsultationType.d.ts +1 -0
  95. package/dist/components/shared/icons/ConsultationType.js +2 -0
  96. package/dist/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  97. package/dist/components/shared/icons/Date&TimeIcon.js +2 -0
  98. package/dist/components/shared/icons/MapIcon.d.ts +1 -0
  99. package/dist/components/shared/icons/MapIcon.js +2 -0
  100. package/dist/components/shared/icons/MedosLogo.d.ts +3 -0
  101. package/dist/components/shared/icons/MedosLogo.js +3 -0
  102. package/dist/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  103. package/dist/components/shared/icons/PaymentMethodIcon.js +2 -0
  104. package/dist/components/shared/icons/SuccessIcon.d.ts +8 -0
  105. package/dist/components/shared/icons/SuccessIcon.js +14 -0
  106. package/dist/components/shared/icons/UserIcon.d.ts +1 -0
  107. package/dist/components/shared/icons/UserIcon.js +2 -0
  108. package/dist/components/shared/icons/index.d.ts +13 -0
  109. package/dist/components/shared/icons/index.js +13 -0
  110. package/dist/components/shared/index.d.ts +2 -0
  111. package/dist/components/shared/index.js +2 -0
  112. package/dist/components/shared/ui/Calendar.d.ts +5 -0
  113. package/dist/components/shared/ui/Calendar.js +167 -0
  114. package/dist/components/shared/ui/SelectDropdown.d.ts +41 -0
  115. package/dist/components/shared/ui/SelectDropdown.js +301 -0
  116. package/dist/components/shared/ui/index.d.ts +2 -0
  117. package/dist/components/shared/ui/index.js +2 -0
  118. package/dist/components/styles/appointment.d.ts +4 -0
  119. package/dist/components/styles/appointment.js +220 -0
  120. package/dist/components/styles/enquiry.d.ts +2 -0
  121. package/dist/components/styles/enquiry.js +3 -0
  122. package/dist/components/styles/index.d.ts +2 -0
  123. package/dist/components/styles/index.js +2 -0
  124. package/dist/components/styles/shared.d.ts +3 -0
  125. package/dist/components/styles/shared.js +78 -0
  126. package/dist/components/styles.d.ts +1 -6
  127. package/dist/components/styles.js +1 -257
  128. package/dist/components/theme-styles.d.ts +5 -4
  129. package/dist/components/theme-styles.js +239 -125
  130. package/dist/components/types/appointment.d.ts +42 -0
  131. package/dist/components/types/appointment.js +1 -0
  132. package/dist/components/types/common.d.ts +24 -0
  133. package/dist/components/types/common.js +1 -0
  134. package/dist/components/types/enquiry.d.ts +59 -0
  135. package/dist/components/types/enquiry.js +1 -0
  136. package/dist/components/types/index.d.ts +4 -0
  137. package/dist/components/types/index.js +4 -0
  138. package/dist/components/types.d.ts +1 -52
  139. package/dist/components/types.js +1 -23
  140. package/dist/components/utils/date.d.ts +4 -0
  141. package/dist/components/utils/date.js +65 -0
  142. package/dist/components/utils/formatting.d.ts +4 -0
  143. package/dist/components/utils/formatting.js +9 -0
  144. package/dist/components/utils/index.d.ts +3 -0
  145. package/dist/components/utils/index.js +3 -0
  146. package/dist/components/utils/validation.d.ts +4 -0
  147. package/dist/components/utils/validation.js +37 -0
  148. package/dist/components/utils.d.ts +1 -5
  149. package/dist/components/utils.js +1 -15
  150. package/dist/components/validation.d.ts +1 -2
  151. package/dist/components/validation.js +1 -7
  152. package/dist/constants/index.d.ts +1 -1
  153. package/dist/constants/index.js +1 -1
  154. package/dist/core/theme/index.d.ts +1 -0
  155. package/dist/core/theme/index.js +1 -0
  156. package/dist/core/theme/responsive.d.ts +15 -0
  157. package/dist/core/theme/responsive.js +113 -0
  158. package/dist/core/theme/themes.js +16 -4
  159. package/dist/core/theme/types.d.ts +8 -0
  160. package/dist/index.d.ts +4 -2
  161. package/dist/index.js +2 -1
  162. package/dist/react/ThemeProvider.d.ts +2 -1
  163. package/dist/react/ThemeProvider.js +49 -10
  164. package/dist/react/index.d.ts +3 -3
  165. package/dist/react/index.js +1 -1
  166. package/dist/services/AppointmentService.d.ts +80 -2
  167. package/dist/services/AppointmentService.js +131 -5
  168. package/dist/services/AuthService.js +1 -1
  169. package/dist/services/WorkspaceService.d.ts +58 -3
  170. package/dist/services/WorkspaceService.js +10 -1
  171. package/dist/vanilla/AppointmentCalendarWidget.d.ts +17 -7
  172. package/dist/vanilla/AppointmentCalendarWidget.js +1401 -380
  173. package/dist/vanilla/EnquiryFormWidget.d.ts +1 -0
  174. package/dist/vanilla/EnquiryFormWidget.js +25 -43
  175. package/dist/vanilla/client/MedosClient.d.ts +1 -0
  176. package/dist/vanilla/components/AppointmentConfirmationStep.d.ts +1 -0
  177. package/dist/vanilla/components/AppointmentDateTimeModal.d.ts +1 -0
  178. package/dist/vanilla/components/AppointmentSummaryStep.d.ts +12 -0
  179. package/dist/vanilla/components/BookingOptionStep.d.ts +14 -0
  180. package/dist/vanilla/components/Icons/CloseIcon.d.ts +9 -0
  181. package/dist/vanilla/components/PatientSelectionStep.d.ts +12 -0
  182. package/dist/vanilla/components/VanillaCalendar.js +33 -18
  183. package/dist/vanilla/components/VanillaIcons.d.ts +5 -0
  184. package/dist/vanilla/components/VanillaIcons.js +92 -0
  185. package/dist/vanilla/components/VanillaSelect.d.ts +3 -0
  186. package/dist/vanilla/components/VanillaSelect.js +93 -5
  187. package/dist/vanilla/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  188. package/dist/vanilla/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  189. package/dist/vanilla/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  190. package/dist/vanilla/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  191. package/dist/vanilla/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  192. package/dist/vanilla/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  193. package/dist/vanilla/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  194. package/dist/vanilla/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  195. package/dist/vanilla/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  196. package/dist/vanilla/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  197. package/dist/vanilla/components/appointment-booking/components/index.d.ts +9 -0
  198. package/dist/vanilla/components/appointment-booking/hooks/useAppointmentFlow.d.ts +0 -1
  199. package/dist/vanilla/components/appointment-booking/index.d.ts +2 -4
  200. package/dist/vanilla/components/appointment-booking/types.d.ts +167 -0
  201. package/dist/vanilla/components/appointment-modal-styles.d.ts +259 -0
  202. package/dist/vanilla/components/constant.d.ts +2 -0
  203. package/dist/vanilla/components/constants/constant.d.ts +2 -0
  204. package/dist/vanilla/components/constants/index.d.ts +3 -0
  205. package/dist/vanilla/components/constants/options.d.ts +13 -0
  206. package/dist/vanilla/components/constants/validation.d.ts +6 -0
  207. package/dist/vanilla/components/enquiry-form/EnquiryForm.d.ts +7 -0
  208. package/dist/vanilla/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  209. package/dist/vanilla/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  210. package/dist/vanilla/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  211. package/dist/vanilla/components/enquiry-form/components/index.d.ts +3 -0
  212. package/dist/vanilla/components/enquiry-form/index.d.ts +2 -0
  213. package/dist/vanilla/components/index.d.ts +7 -3
  214. package/dist/vanilla/components/shared/icons/Check.d.ts +6 -0
  215. package/dist/vanilla/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  216. package/dist/vanilla/components/shared/icons/ChevronLeft.d.ts +3 -0
  217. package/dist/vanilla/components/shared/icons/ChevronRight.d.ts +3 -0
  218. package/dist/vanilla/components/shared/icons/CloseIcon.d.ts +9 -0
  219. package/dist/vanilla/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  220. package/dist/vanilla/components/shared/icons/ConsultationType.d.ts +1 -0
  221. package/dist/vanilla/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  222. package/dist/vanilla/components/shared/icons/MapIcon.d.ts +1 -0
  223. package/dist/vanilla/components/shared/icons/MedosLogo.d.ts +3 -0
  224. package/dist/vanilla/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  225. package/dist/vanilla/components/shared/icons/SuccessIcon.d.ts +8 -0
  226. package/dist/vanilla/components/shared/icons/UserIcon.d.ts +1 -0
  227. package/dist/vanilla/components/shared/icons/index.d.ts +13 -0
  228. package/dist/vanilla/components/shared/index.d.ts +2 -0
  229. package/dist/vanilla/components/shared/ui/Calendar.d.ts +5 -0
  230. package/dist/vanilla/components/shared/ui/SelectDropdown.d.ts +41 -0
  231. package/dist/vanilla/components/shared/ui/index.d.ts +2 -0
  232. package/dist/vanilla/components/styles/appointment.d.ts +4 -0
  233. package/dist/vanilla/components/styles/enquiry.d.ts +2 -0
  234. package/dist/vanilla/components/styles/index.d.ts +2 -0
  235. package/dist/vanilla/components/styles/shared.d.ts +3 -0
  236. package/dist/vanilla/components/styles.d.ts +1 -6
  237. package/dist/vanilla/components/theme-styles.d.ts +5 -4
  238. package/dist/vanilla/components/types/appointment.d.ts +42 -0
  239. package/dist/vanilla/components/types/common.d.ts +24 -0
  240. package/dist/vanilla/components/types/enquiry.d.ts +59 -0
  241. package/dist/vanilla/components/types/index.d.ts +4 -0
  242. package/dist/vanilla/components/types.d.ts +1 -52
  243. package/dist/vanilla/components/utils/date.d.ts +4 -0
  244. package/dist/vanilla/components/utils/formatting.d.ts +4 -0
  245. package/dist/vanilla/components/utils/index.d.ts +3 -0
  246. package/dist/vanilla/components/utils/validation.d.ts +4 -0
  247. package/dist/vanilla/components/utils.d.ts +1 -5
  248. package/dist/vanilla/components/validation.d.ts +1 -2
  249. package/dist/vanilla/constants/index.d.ts +1 -1
  250. package/dist/vanilla/core/theme/index.d.ts +1 -0
  251. package/dist/vanilla/core/theme/responsive.d.ts +15 -0
  252. package/dist/vanilla/core/theme/types.d.ts +8 -0
  253. package/dist/vanilla/enquiry-widget.js +3632 -90
  254. package/dist/vanilla/index.d.ts +4 -2
  255. package/dist/vanilla/react/ThemeProvider.d.ts +2 -1
  256. package/dist/vanilla/react/index.d.ts +3 -3
  257. package/dist/vanilla/services/AppointmentService.d.ts +80 -2
  258. package/dist/vanilla/services/WorkspaceService.d.ts +58 -3
  259. package/dist/vanilla/vanilla/AppointmentCalendarWidget.d.ts +17 -7
  260. package/dist/vanilla/vanilla/EnquiryFormWidget.d.ts +1 -0
  261. package/dist/vanilla/vanilla/components/VanillaIcons.d.ts +5 -0
  262. package/dist/vanilla/vanilla/components/VanillaSelect.d.ts +3 -0
  263. package/dist/vanilla/widget.css +1045 -205
  264. package/dist/vanilla/widget.js +10365 -5737
  265. package/package.json +2 -2
@@ -3847,33 +3847,3218 @@
3847
3847
  mergeConfig
3848
3848
  } = axios;
3849
3849
 
3850
+ function getDefaultExportFromCjs (x) {
3851
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
3852
+ }
3853
+
3854
+ var jsxRuntime = {exports: {}};
3855
+
3856
+ var reactJsxRuntime_production = {};
3857
+
3858
+ /**
3859
+ * @license React
3860
+ * react-jsx-runtime.production.js
3861
+ *
3862
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3863
+ *
3864
+ * This source code is licensed under the MIT license found in the
3865
+ * LICENSE file in the root directory of this source tree.
3866
+ */
3867
+
3868
+ var hasRequiredReactJsxRuntime_production;
3869
+
3870
+ function requireReactJsxRuntime_production () {
3871
+ if (hasRequiredReactJsxRuntime_production) return reactJsxRuntime_production;
3872
+ hasRequiredReactJsxRuntime_production = 1;
3873
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
3874
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
3875
+ function jsxProd(type, config, maybeKey) {
3876
+ var key = null;
3877
+ void 0 !== maybeKey && (key = "" + maybeKey);
3878
+ void 0 !== config.key && (key = "" + config.key);
3879
+ if ("key" in config) {
3880
+ maybeKey = {};
3881
+ for (var propName in config)
3882
+ "key" !== propName && (maybeKey[propName] = config[propName]);
3883
+ } else maybeKey = config;
3884
+ config = maybeKey.ref;
3885
+ return {
3886
+ $$typeof: REACT_ELEMENT_TYPE,
3887
+ type: type,
3888
+ key: key,
3889
+ ref: void 0 !== config ? config : null,
3890
+ props: maybeKey
3891
+ };
3892
+ }
3893
+ reactJsxRuntime_production.Fragment = REACT_FRAGMENT_TYPE;
3894
+ reactJsxRuntime_production.jsx = jsxProd;
3895
+ reactJsxRuntime_production.jsxs = jsxProd;
3896
+ return reactJsxRuntime_production;
3897
+ }
3898
+
3899
+ var reactJsxRuntime_development = {};
3900
+
3901
+ var react = {exports: {}};
3902
+
3903
+ var react_production = {};
3904
+
3905
+ /**
3906
+ * @license React
3907
+ * react.production.js
3908
+ *
3909
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3910
+ *
3911
+ * This source code is licensed under the MIT license found in the
3912
+ * LICENSE file in the root directory of this source tree.
3913
+ */
3914
+
3915
+ var hasRequiredReact_production;
3916
+
3917
+ function requireReact_production () {
3918
+ if (hasRequiredReact_production) return react_production;
3919
+ hasRequiredReact_production = 1;
3920
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
3921
+ REACT_PORTAL_TYPE = Symbol.for("react.portal"),
3922
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
3923
+ REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
3924
+ REACT_PROFILER_TYPE = Symbol.for("react.profiler"),
3925
+ REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
3926
+ REACT_CONTEXT_TYPE = Symbol.for("react.context"),
3927
+ REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
3928
+ REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
3929
+ REACT_MEMO_TYPE = Symbol.for("react.memo"),
3930
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
3931
+ REACT_ACTIVITY_TYPE = Symbol.for("react.activity"),
3932
+ MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
3933
+ function getIteratorFn(maybeIterable) {
3934
+ if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
3935
+ maybeIterable =
3936
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
3937
+ maybeIterable["@@iterator"];
3938
+ return "function" === typeof maybeIterable ? maybeIterable : null;
3939
+ }
3940
+ var ReactNoopUpdateQueue = {
3941
+ isMounted: function () {
3942
+ return false;
3943
+ },
3944
+ enqueueForceUpdate: function () {},
3945
+ enqueueReplaceState: function () {},
3946
+ enqueueSetState: function () {}
3947
+ },
3948
+ assign = Object.assign,
3949
+ emptyObject = {};
3950
+ function Component(props, context, updater) {
3951
+ this.props = props;
3952
+ this.context = context;
3953
+ this.refs = emptyObject;
3954
+ this.updater = updater || ReactNoopUpdateQueue;
3955
+ }
3956
+ Component.prototype.isReactComponent = {};
3957
+ Component.prototype.setState = function (partialState, callback) {
3958
+ if (
3959
+ "object" !== typeof partialState &&
3960
+ "function" !== typeof partialState &&
3961
+ null != partialState
3962
+ )
3963
+ throw Error(
3964
+ "takes an object of state variables to update or a function which returns an object of state variables."
3965
+ );
3966
+ this.updater.enqueueSetState(this, partialState, callback, "setState");
3967
+ };
3968
+ Component.prototype.forceUpdate = function (callback) {
3969
+ this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
3970
+ };
3971
+ function ComponentDummy() {}
3972
+ ComponentDummy.prototype = Component.prototype;
3973
+ function PureComponent(props, context, updater) {
3974
+ this.props = props;
3975
+ this.context = context;
3976
+ this.refs = emptyObject;
3977
+ this.updater = updater || ReactNoopUpdateQueue;
3978
+ }
3979
+ var pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());
3980
+ pureComponentPrototype.constructor = PureComponent;
3981
+ assign(pureComponentPrototype, Component.prototype);
3982
+ pureComponentPrototype.isPureReactComponent = true;
3983
+ var isArrayImpl = Array.isArray;
3984
+ function noop() {}
3985
+ var ReactSharedInternals = { H: null, A: null, T: null, S: null },
3986
+ hasOwnProperty = Object.prototype.hasOwnProperty;
3987
+ function ReactElement(type, key, props) {
3988
+ var refProp = props.ref;
3989
+ return {
3990
+ $$typeof: REACT_ELEMENT_TYPE,
3991
+ type: type,
3992
+ key: key,
3993
+ ref: void 0 !== refProp ? refProp : null,
3994
+ props: props
3995
+ };
3996
+ }
3997
+ function cloneAndReplaceKey(oldElement, newKey) {
3998
+ return ReactElement(oldElement.type, newKey, oldElement.props);
3999
+ }
4000
+ function isValidElement(object) {
4001
+ return (
4002
+ "object" === typeof object &&
4003
+ null !== object &&
4004
+ object.$$typeof === REACT_ELEMENT_TYPE
4005
+ );
4006
+ }
4007
+ function escape(key) {
4008
+ var escaperLookup = { "=": "=0", ":": "=2" };
4009
+ return (
4010
+ "$" +
4011
+ key.replace(/[=:]/g, function (match) {
4012
+ return escaperLookup[match];
4013
+ })
4014
+ );
4015
+ }
4016
+ var userProvidedKeyEscapeRegex = /\/+/g;
4017
+ function getElementKey(element, index) {
4018
+ return "object" === typeof element && null !== element && null != element.key
4019
+ ? escape("" + element.key)
4020
+ : index.toString(36);
4021
+ }
4022
+ function resolveThenable(thenable) {
4023
+ switch (thenable.status) {
4024
+ case "fulfilled":
4025
+ return thenable.value;
4026
+ case "rejected":
4027
+ throw thenable.reason;
4028
+ default:
4029
+ switch (
4030
+ ("string" === typeof thenable.status
4031
+ ? thenable.then(noop, noop)
4032
+ : ((thenable.status = "pending"),
4033
+ thenable.then(
4034
+ function (fulfilledValue) {
4035
+ "pending" === thenable.status &&
4036
+ ((thenable.status = "fulfilled"),
4037
+ (thenable.value = fulfilledValue));
4038
+ },
4039
+ function (error) {
4040
+ "pending" === thenable.status &&
4041
+ ((thenable.status = "rejected"), (thenable.reason = error));
4042
+ }
4043
+ )),
4044
+ thenable.status)
4045
+ ) {
4046
+ case "fulfilled":
4047
+ return thenable.value;
4048
+ case "rejected":
4049
+ throw thenable.reason;
4050
+ }
4051
+ }
4052
+ throw thenable;
4053
+ }
4054
+ function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
4055
+ var type = typeof children;
4056
+ if ("undefined" === type || "boolean" === type) children = null;
4057
+ var invokeCallback = false;
4058
+ if (null === children) invokeCallback = true;
4059
+ else
4060
+ switch (type) {
4061
+ case "bigint":
4062
+ case "string":
4063
+ case "number":
4064
+ invokeCallback = true;
4065
+ break;
4066
+ case "object":
4067
+ switch (children.$$typeof) {
4068
+ case REACT_ELEMENT_TYPE:
4069
+ case REACT_PORTAL_TYPE:
4070
+ invokeCallback = true;
4071
+ break;
4072
+ case REACT_LAZY_TYPE:
4073
+ return (
4074
+ (invokeCallback = children._init),
4075
+ mapIntoArray(
4076
+ invokeCallback(children._payload),
4077
+ array,
4078
+ escapedPrefix,
4079
+ nameSoFar,
4080
+ callback
4081
+ )
4082
+ );
4083
+ }
4084
+ }
4085
+ if (invokeCallback)
4086
+ return (
4087
+ (callback = callback(children)),
4088
+ (invokeCallback =
4089
+ "" === nameSoFar ? "." + getElementKey(children, 0) : nameSoFar),
4090
+ isArrayImpl(callback)
4091
+ ? ((escapedPrefix = ""),
4092
+ null != invokeCallback &&
4093
+ (escapedPrefix =
4094
+ invokeCallback.replace(userProvidedKeyEscapeRegex, "$&/") + "/"),
4095
+ mapIntoArray(callback, array, escapedPrefix, "", function (c) {
4096
+ return c;
4097
+ }))
4098
+ : null != callback &&
4099
+ (isValidElement(callback) &&
4100
+ (callback = cloneAndReplaceKey(
4101
+ callback,
4102
+ escapedPrefix +
4103
+ (null == callback.key ||
4104
+ (children && children.key === callback.key)
4105
+ ? ""
4106
+ : ("" + callback.key).replace(
4107
+ userProvidedKeyEscapeRegex,
4108
+ "$&/"
4109
+ ) + "/") +
4110
+ invokeCallback
4111
+ )),
4112
+ array.push(callback)),
4113
+ 1
4114
+ );
4115
+ invokeCallback = 0;
4116
+ var nextNamePrefix = "" === nameSoFar ? "." : nameSoFar + ":";
4117
+ if (isArrayImpl(children))
4118
+ for (var i = 0; i < children.length; i++)
4119
+ (nameSoFar = children[i]),
4120
+ (type = nextNamePrefix + getElementKey(nameSoFar, i)),
4121
+ (invokeCallback += mapIntoArray(
4122
+ nameSoFar,
4123
+ array,
4124
+ escapedPrefix,
4125
+ type,
4126
+ callback
4127
+ ));
4128
+ else if (((i = getIteratorFn(children)), "function" === typeof i))
4129
+ for (
4130
+ children = i.call(children), i = 0;
4131
+ !(nameSoFar = children.next()).done;
4132
+
4133
+ )
4134
+ (nameSoFar = nameSoFar.value),
4135
+ (type = nextNamePrefix + getElementKey(nameSoFar, i++)),
4136
+ (invokeCallback += mapIntoArray(
4137
+ nameSoFar,
4138
+ array,
4139
+ escapedPrefix,
4140
+ type,
4141
+ callback
4142
+ ));
4143
+ else if ("object" === type) {
4144
+ if ("function" === typeof children.then)
4145
+ return mapIntoArray(
4146
+ resolveThenable(children),
4147
+ array,
4148
+ escapedPrefix,
4149
+ nameSoFar,
4150
+ callback
4151
+ );
4152
+ array = String(children);
4153
+ throw Error(
4154
+ "Objects are not valid as a React child (found: " +
4155
+ ("[object Object]" === array
4156
+ ? "object with keys {" + Object.keys(children).join(", ") + "}"
4157
+ : array) +
4158
+ "). If you meant to render a collection of children, use an array instead."
4159
+ );
4160
+ }
4161
+ return invokeCallback;
4162
+ }
4163
+ function mapChildren(children, func, context) {
4164
+ if (null == children) return children;
4165
+ var result = [],
4166
+ count = 0;
4167
+ mapIntoArray(children, result, "", "", function (child) {
4168
+ return func.call(context, child, count++);
4169
+ });
4170
+ return result;
4171
+ }
4172
+ function lazyInitializer(payload) {
4173
+ if (-1 === payload._status) {
4174
+ var ctor = payload._result;
4175
+ ctor = ctor();
4176
+ ctor.then(
4177
+ function (moduleObject) {
4178
+ if (0 === payload._status || -1 === payload._status)
4179
+ (payload._status = 1), (payload._result = moduleObject);
4180
+ },
4181
+ function (error) {
4182
+ if (0 === payload._status || -1 === payload._status)
4183
+ (payload._status = 2), (payload._result = error);
4184
+ }
4185
+ );
4186
+ -1 === payload._status && ((payload._status = 0), (payload._result = ctor));
4187
+ }
4188
+ if (1 === payload._status) return payload._result.default;
4189
+ throw payload._result;
4190
+ }
4191
+ var reportGlobalError =
4192
+ "function" === typeof reportError
4193
+ ? reportError
4194
+ : function (error) {
4195
+ if (
4196
+ "object" === typeof window &&
4197
+ "function" === typeof window.ErrorEvent
4198
+ ) {
4199
+ var event = new window.ErrorEvent("error", {
4200
+ bubbles: true,
4201
+ cancelable: true,
4202
+ message:
4203
+ "object" === typeof error &&
4204
+ null !== error &&
4205
+ "string" === typeof error.message
4206
+ ? String(error.message)
4207
+ : String(error),
4208
+ error: error
4209
+ });
4210
+ if (!window.dispatchEvent(event)) return;
4211
+ } else if (
4212
+ "object" === typeof process &&
4213
+ "function" === typeof process.emit
4214
+ ) {
4215
+ process.emit("uncaughtException", error);
4216
+ return;
4217
+ }
4218
+ console.error(error);
4219
+ },
4220
+ Children = {
4221
+ map: mapChildren,
4222
+ forEach: function (children, forEachFunc, forEachContext) {
4223
+ mapChildren(
4224
+ children,
4225
+ function () {
4226
+ forEachFunc.apply(this, arguments);
4227
+ },
4228
+ forEachContext
4229
+ );
4230
+ },
4231
+ count: function (children) {
4232
+ var n = 0;
4233
+ mapChildren(children, function () {
4234
+ n++;
4235
+ });
4236
+ return n;
4237
+ },
4238
+ toArray: function (children) {
4239
+ return (
4240
+ mapChildren(children, function (child) {
4241
+ return child;
4242
+ }) || []
4243
+ );
4244
+ },
4245
+ only: function (children) {
4246
+ if (!isValidElement(children))
4247
+ throw Error(
4248
+ "React.Children.only expected to receive a single React element child."
4249
+ );
4250
+ return children;
4251
+ }
4252
+ };
4253
+ react_production.Activity = REACT_ACTIVITY_TYPE;
4254
+ react_production.Children = Children;
4255
+ react_production.Component = Component;
4256
+ react_production.Fragment = REACT_FRAGMENT_TYPE;
4257
+ react_production.Profiler = REACT_PROFILER_TYPE;
4258
+ react_production.PureComponent = PureComponent;
4259
+ react_production.StrictMode = REACT_STRICT_MODE_TYPE;
4260
+ react_production.Suspense = REACT_SUSPENSE_TYPE;
4261
+ react_production.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =
4262
+ ReactSharedInternals;
4263
+ react_production.__COMPILER_RUNTIME = {
4264
+ __proto__: null,
4265
+ c: function (size) {
4266
+ return ReactSharedInternals.H.useMemoCache(size);
4267
+ }
4268
+ };
4269
+ react_production.cache = function (fn) {
4270
+ return function () {
4271
+ return fn.apply(null, arguments);
4272
+ };
4273
+ };
4274
+ react_production.cacheSignal = function () {
4275
+ return null;
4276
+ };
4277
+ react_production.cloneElement = function (element, config, children) {
4278
+ if (null === element || void 0 === element)
4279
+ throw Error(
4280
+ "The argument must be a React element, but you passed " + element + "."
4281
+ );
4282
+ var props = assign({}, element.props),
4283
+ key = element.key;
4284
+ if (null != config)
4285
+ for (propName in (void 0 !== config.key && (key = "" + config.key), config))
4286
+ !hasOwnProperty.call(config, propName) ||
4287
+ "key" === propName ||
4288
+ "__self" === propName ||
4289
+ "__source" === propName ||
4290
+ ("ref" === propName && void 0 === config.ref) ||
4291
+ (props[propName] = config[propName]);
4292
+ var propName = arguments.length - 2;
4293
+ if (1 === propName) props.children = children;
4294
+ else if (1 < propName) {
4295
+ for (var childArray = Array(propName), i = 0; i < propName; i++)
4296
+ childArray[i] = arguments[i + 2];
4297
+ props.children = childArray;
4298
+ }
4299
+ return ReactElement(element.type, key, props);
4300
+ };
4301
+ react_production.createContext = function (defaultValue) {
4302
+ defaultValue = {
4303
+ $$typeof: REACT_CONTEXT_TYPE,
4304
+ _currentValue: defaultValue,
4305
+ _currentValue2: defaultValue,
4306
+ _threadCount: 0,
4307
+ Provider: null,
4308
+ Consumer: null
4309
+ };
4310
+ defaultValue.Provider = defaultValue;
4311
+ defaultValue.Consumer = {
4312
+ $$typeof: REACT_CONSUMER_TYPE,
4313
+ _context: defaultValue
4314
+ };
4315
+ return defaultValue;
4316
+ };
4317
+ react_production.createElement = function (type, config, children) {
4318
+ var propName,
4319
+ props = {},
4320
+ key = null;
4321
+ if (null != config)
4322
+ for (propName in (void 0 !== config.key && (key = "" + config.key), config))
4323
+ hasOwnProperty.call(config, propName) &&
4324
+ "key" !== propName &&
4325
+ "__self" !== propName &&
4326
+ "__source" !== propName &&
4327
+ (props[propName] = config[propName]);
4328
+ var childrenLength = arguments.length - 2;
4329
+ if (1 === childrenLength) props.children = children;
4330
+ else if (1 < childrenLength) {
4331
+ for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)
4332
+ childArray[i] = arguments[i + 2];
4333
+ props.children = childArray;
4334
+ }
4335
+ if (type && type.defaultProps)
4336
+ for (propName in ((childrenLength = type.defaultProps), childrenLength))
4337
+ void 0 === props[propName] &&
4338
+ (props[propName] = childrenLength[propName]);
4339
+ return ReactElement(type, key, props);
4340
+ };
4341
+ react_production.createRef = function () {
4342
+ return { current: null };
4343
+ };
4344
+ react_production.forwardRef = function (render) {
4345
+ return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };
4346
+ };
4347
+ react_production.isValidElement = isValidElement;
4348
+ react_production.lazy = function (ctor) {
4349
+ return {
4350
+ $$typeof: REACT_LAZY_TYPE,
4351
+ _payload: { _status: -1, _result: ctor },
4352
+ _init: lazyInitializer
4353
+ };
4354
+ };
4355
+ react_production.memo = function (type, compare) {
4356
+ return {
4357
+ $$typeof: REACT_MEMO_TYPE,
4358
+ type: type,
4359
+ compare: void 0 === compare ? null : compare
4360
+ };
4361
+ };
4362
+ react_production.startTransition = function (scope) {
4363
+ var prevTransition = ReactSharedInternals.T,
4364
+ currentTransition = {};
4365
+ ReactSharedInternals.T = currentTransition;
4366
+ try {
4367
+ var returnValue = scope(),
4368
+ onStartTransitionFinish = ReactSharedInternals.S;
4369
+ null !== onStartTransitionFinish &&
4370
+ onStartTransitionFinish(currentTransition, returnValue);
4371
+ "object" === typeof returnValue &&
4372
+ null !== returnValue &&
4373
+ "function" === typeof returnValue.then &&
4374
+ returnValue.then(noop, reportGlobalError);
4375
+ } catch (error) {
4376
+ reportGlobalError(error);
4377
+ } finally {
4378
+ null !== prevTransition &&
4379
+ null !== currentTransition.types &&
4380
+ (prevTransition.types = currentTransition.types),
4381
+ (ReactSharedInternals.T = prevTransition);
4382
+ }
4383
+ };
4384
+ react_production.unstable_useCacheRefresh = function () {
4385
+ return ReactSharedInternals.H.useCacheRefresh();
4386
+ };
4387
+ react_production.use = function (usable) {
4388
+ return ReactSharedInternals.H.use(usable);
4389
+ };
4390
+ react_production.useActionState = function (action, initialState, permalink) {
4391
+ return ReactSharedInternals.H.useActionState(action, initialState, permalink);
4392
+ };
4393
+ react_production.useCallback = function (callback, deps) {
4394
+ return ReactSharedInternals.H.useCallback(callback, deps);
4395
+ };
4396
+ react_production.useContext = function (Context) {
4397
+ return ReactSharedInternals.H.useContext(Context);
4398
+ };
4399
+ react_production.useDebugValue = function () {};
4400
+ react_production.useDeferredValue = function (value, initialValue) {
4401
+ return ReactSharedInternals.H.useDeferredValue(value, initialValue);
4402
+ };
4403
+ react_production.useEffect = function (create, deps) {
4404
+ return ReactSharedInternals.H.useEffect(create, deps);
4405
+ };
4406
+ react_production.useEffectEvent = function (callback) {
4407
+ return ReactSharedInternals.H.useEffectEvent(callback);
4408
+ };
4409
+ react_production.useId = function () {
4410
+ return ReactSharedInternals.H.useId();
4411
+ };
4412
+ react_production.useImperativeHandle = function (ref, create, deps) {
4413
+ return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);
4414
+ };
4415
+ react_production.useInsertionEffect = function (create, deps) {
4416
+ return ReactSharedInternals.H.useInsertionEffect(create, deps);
4417
+ };
4418
+ react_production.useLayoutEffect = function (create, deps) {
4419
+ return ReactSharedInternals.H.useLayoutEffect(create, deps);
4420
+ };
4421
+ react_production.useMemo = function (create, deps) {
4422
+ return ReactSharedInternals.H.useMemo(create, deps);
4423
+ };
4424
+ react_production.useOptimistic = function (passthrough, reducer) {
4425
+ return ReactSharedInternals.H.useOptimistic(passthrough, reducer);
4426
+ };
4427
+ react_production.useReducer = function (reducer, initialArg, init) {
4428
+ return ReactSharedInternals.H.useReducer(reducer, initialArg, init);
4429
+ };
4430
+ react_production.useRef = function (initialValue) {
4431
+ return ReactSharedInternals.H.useRef(initialValue);
4432
+ };
4433
+ react_production.useState = function (initialState) {
4434
+ return ReactSharedInternals.H.useState(initialState);
4435
+ };
4436
+ react_production.useSyncExternalStore = function (
4437
+ subscribe,
4438
+ getSnapshot,
4439
+ getServerSnapshot
4440
+ ) {
4441
+ return ReactSharedInternals.H.useSyncExternalStore(
4442
+ subscribe,
4443
+ getSnapshot,
4444
+ getServerSnapshot
4445
+ );
4446
+ };
4447
+ react_production.useTransition = function () {
4448
+ return ReactSharedInternals.H.useTransition();
4449
+ };
4450
+ react_production.version = "19.2.0";
4451
+ return react_production;
4452
+ }
4453
+
4454
+ var react_development = {exports: {}};
4455
+
4456
+ /**
4457
+ * @license React
4458
+ * react.development.js
4459
+ *
4460
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4461
+ *
4462
+ * This source code is licensed under the MIT license found in the
4463
+ * LICENSE file in the root directory of this source tree.
4464
+ */
4465
+ react_development.exports;
4466
+
4467
+ var hasRequiredReact_development;
4468
+
4469
+ function requireReact_development () {
4470
+ if (hasRequiredReact_development) return react_development.exports;
4471
+ hasRequiredReact_development = 1;
4472
+ (function (module, exports$1) {
4473
+ "production" !== process.env.NODE_ENV &&
4474
+ (function () {
4475
+ function defineDeprecationWarning(methodName, info) {
4476
+ Object.defineProperty(Component.prototype, methodName, {
4477
+ get: function () {
4478
+ console.warn(
4479
+ "%s(...) is deprecated in plain JavaScript React classes. %s",
4480
+ info[0],
4481
+ info[1]
4482
+ );
4483
+ }
4484
+ });
4485
+ }
4486
+ function getIteratorFn(maybeIterable) {
4487
+ if (null === maybeIterable || "object" !== typeof maybeIterable)
4488
+ return null;
4489
+ maybeIterable =
4490
+ (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||
4491
+ maybeIterable["@@iterator"];
4492
+ return "function" === typeof maybeIterable ? maybeIterable : null;
4493
+ }
4494
+ function warnNoop(publicInstance, callerName) {
4495
+ publicInstance =
4496
+ ((publicInstance = publicInstance.constructor) &&
4497
+ (publicInstance.displayName || publicInstance.name)) ||
4498
+ "ReactClass";
4499
+ var warningKey = publicInstance + "." + callerName;
4500
+ didWarnStateUpdateForUnmountedComponent[warningKey] ||
4501
+ (console.error(
4502
+ "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",
4503
+ callerName,
4504
+ publicInstance
4505
+ ),
4506
+ (didWarnStateUpdateForUnmountedComponent[warningKey] = true));
4507
+ }
4508
+ function Component(props, context, updater) {
4509
+ this.props = props;
4510
+ this.context = context;
4511
+ this.refs = emptyObject;
4512
+ this.updater = updater || ReactNoopUpdateQueue;
4513
+ }
4514
+ function ComponentDummy() {}
4515
+ function PureComponent(props, context, updater) {
4516
+ this.props = props;
4517
+ this.context = context;
4518
+ this.refs = emptyObject;
4519
+ this.updater = updater || ReactNoopUpdateQueue;
4520
+ }
4521
+ function noop() {}
4522
+ function testStringCoercion(value) {
4523
+ return "" + value;
4524
+ }
4525
+ function checkKeyStringCoercion(value) {
4526
+ try {
4527
+ testStringCoercion(value);
4528
+ var JSCompiler_inline_result = !1;
4529
+ } catch (e) {
4530
+ JSCompiler_inline_result = true;
4531
+ }
4532
+ if (JSCompiler_inline_result) {
4533
+ JSCompiler_inline_result = console;
4534
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
4535
+ var JSCompiler_inline_result$jscomp$0 =
4536
+ ("function" === typeof Symbol &&
4537
+ Symbol.toStringTag &&
4538
+ value[Symbol.toStringTag]) ||
4539
+ value.constructor.name ||
4540
+ "Object";
4541
+ JSCompiler_temp_const.call(
4542
+ JSCompiler_inline_result,
4543
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
4544
+ JSCompiler_inline_result$jscomp$0
4545
+ );
4546
+ return testStringCoercion(value);
4547
+ }
4548
+ }
4549
+ function getComponentNameFromType(type) {
4550
+ if (null == type) return null;
4551
+ if ("function" === typeof type)
4552
+ return type.$$typeof === REACT_CLIENT_REFERENCE
4553
+ ? null
4554
+ : type.displayName || type.name || null;
4555
+ if ("string" === typeof type) return type;
4556
+ switch (type) {
4557
+ case REACT_FRAGMENT_TYPE:
4558
+ return "Fragment";
4559
+ case REACT_PROFILER_TYPE:
4560
+ return "Profiler";
4561
+ case REACT_STRICT_MODE_TYPE:
4562
+ return "StrictMode";
4563
+ case REACT_SUSPENSE_TYPE:
4564
+ return "Suspense";
4565
+ case REACT_SUSPENSE_LIST_TYPE:
4566
+ return "SuspenseList";
4567
+ case REACT_ACTIVITY_TYPE:
4568
+ return "Activity";
4569
+ }
4570
+ if ("object" === typeof type)
4571
+ switch (
4572
+ ("number" === typeof type.tag &&
4573
+ console.error(
4574
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
4575
+ ),
4576
+ type.$$typeof)
4577
+ ) {
4578
+ case REACT_PORTAL_TYPE:
4579
+ return "Portal";
4580
+ case REACT_CONTEXT_TYPE:
4581
+ return type.displayName || "Context";
4582
+ case REACT_CONSUMER_TYPE:
4583
+ return (type._context.displayName || "Context") + ".Consumer";
4584
+ case REACT_FORWARD_REF_TYPE:
4585
+ var innerType = type.render;
4586
+ type = type.displayName;
4587
+ type ||
4588
+ ((type = innerType.displayName || innerType.name || ""),
4589
+ (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"));
4590
+ return type;
4591
+ case REACT_MEMO_TYPE:
4592
+ return (
4593
+ (innerType = type.displayName || null),
4594
+ null !== innerType
4595
+ ? innerType
4596
+ : getComponentNameFromType(type.type) || "Memo"
4597
+ );
4598
+ case REACT_LAZY_TYPE:
4599
+ innerType = type._payload;
4600
+ type = type._init;
4601
+ try {
4602
+ return getComponentNameFromType(type(innerType));
4603
+ } catch (x) {}
4604
+ }
4605
+ return null;
4606
+ }
4607
+ function getTaskName(type) {
4608
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
4609
+ if (
4610
+ "object" === typeof type &&
4611
+ null !== type &&
4612
+ type.$$typeof === REACT_LAZY_TYPE
4613
+ )
4614
+ return "<...>";
4615
+ try {
4616
+ var name = getComponentNameFromType(type);
4617
+ return name ? "<" + name + ">" : "<...>";
4618
+ } catch (x) {
4619
+ return "<...>";
4620
+ }
4621
+ }
4622
+ function getOwner() {
4623
+ var dispatcher = ReactSharedInternals.A;
4624
+ return null === dispatcher ? null : dispatcher.getOwner();
4625
+ }
4626
+ function UnknownOwner() {
4627
+ return Error("react-stack-top-frame");
4628
+ }
4629
+ function hasValidKey(config) {
4630
+ if (hasOwnProperty.call(config, "key")) {
4631
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
4632
+ if (getter && getter.isReactWarning) return false;
4633
+ }
4634
+ return void 0 !== config.key;
4635
+ }
4636
+ function defineKeyPropWarningGetter(props, displayName) {
4637
+ function warnAboutAccessingKey() {
4638
+ specialPropKeyWarningShown ||
4639
+ ((specialPropKeyWarningShown = true),
4640
+ console.error(
4641
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
4642
+ displayName
4643
+ ));
4644
+ }
4645
+ warnAboutAccessingKey.isReactWarning = true;
4646
+ Object.defineProperty(props, "key", {
4647
+ get: warnAboutAccessingKey,
4648
+ configurable: true
4649
+ });
4650
+ }
4651
+ function elementRefGetterWithDeprecationWarning() {
4652
+ var componentName = getComponentNameFromType(this.type);
4653
+ didWarnAboutElementRef[componentName] ||
4654
+ ((didWarnAboutElementRef[componentName] = true),
4655
+ console.error(
4656
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
4657
+ ));
4658
+ componentName = this.props.ref;
4659
+ return void 0 !== componentName ? componentName : null;
4660
+ }
4661
+ function ReactElement(type, key, props, owner, debugStack, debugTask) {
4662
+ var refProp = props.ref;
4663
+ type = {
4664
+ $$typeof: REACT_ELEMENT_TYPE,
4665
+ type: type,
4666
+ key: key,
4667
+ props: props,
4668
+ _owner: owner
4669
+ };
4670
+ null !== (void 0 !== refProp ? refProp : null)
4671
+ ? Object.defineProperty(type, "ref", {
4672
+ enumerable: false,
4673
+ get: elementRefGetterWithDeprecationWarning
4674
+ })
4675
+ : Object.defineProperty(type, "ref", { enumerable: false, value: null });
4676
+ type._store = {};
4677
+ Object.defineProperty(type._store, "validated", {
4678
+ configurable: false,
4679
+ enumerable: false,
4680
+ writable: true,
4681
+ value: 0
4682
+ });
4683
+ Object.defineProperty(type, "_debugInfo", {
4684
+ configurable: false,
4685
+ enumerable: false,
4686
+ writable: true,
4687
+ value: null
4688
+ });
4689
+ Object.defineProperty(type, "_debugStack", {
4690
+ configurable: false,
4691
+ enumerable: false,
4692
+ writable: true,
4693
+ value: debugStack
4694
+ });
4695
+ Object.defineProperty(type, "_debugTask", {
4696
+ configurable: false,
4697
+ enumerable: false,
4698
+ writable: true,
4699
+ value: debugTask
4700
+ });
4701
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
4702
+ return type;
4703
+ }
4704
+ function cloneAndReplaceKey(oldElement, newKey) {
4705
+ newKey = ReactElement(
4706
+ oldElement.type,
4707
+ newKey,
4708
+ oldElement.props,
4709
+ oldElement._owner,
4710
+ oldElement._debugStack,
4711
+ oldElement._debugTask
4712
+ );
4713
+ oldElement._store &&
4714
+ (newKey._store.validated = oldElement._store.validated);
4715
+ return newKey;
4716
+ }
4717
+ function validateChildKeys(node) {
4718
+ isValidElement(node)
4719
+ ? node._store && (node._store.validated = 1)
4720
+ : "object" === typeof node &&
4721
+ null !== node &&
4722
+ node.$$typeof === REACT_LAZY_TYPE &&
4723
+ ("fulfilled" === node._payload.status
4724
+ ? isValidElement(node._payload.value) &&
4725
+ node._payload.value._store &&
4726
+ (node._payload.value._store.validated = 1)
4727
+ : node._store && (node._store.validated = 1));
4728
+ }
4729
+ function isValidElement(object) {
4730
+ return (
4731
+ "object" === typeof object &&
4732
+ null !== object &&
4733
+ object.$$typeof === REACT_ELEMENT_TYPE
4734
+ );
4735
+ }
4736
+ function escape(key) {
4737
+ var escaperLookup = { "=": "=0", ":": "=2" };
4738
+ return (
4739
+ "$" +
4740
+ key.replace(/[=:]/g, function (match) {
4741
+ return escaperLookup[match];
4742
+ })
4743
+ );
4744
+ }
4745
+ function getElementKey(element, index) {
4746
+ return "object" === typeof element &&
4747
+ null !== element &&
4748
+ null != element.key
4749
+ ? (checkKeyStringCoercion(element.key), escape("" + element.key))
4750
+ : index.toString(36);
4751
+ }
4752
+ function resolveThenable(thenable) {
4753
+ switch (thenable.status) {
4754
+ case "fulfilled":
4755
+ return thenable.value;
4756
+ case "rejected":
4757
+ throw thenable.reason;
4758
+ default:
4759
+ switch (
4760
+ ("string" === typeof thenable.status
4761
+ ? thenable.then(noop, noop)
4762
+ : ((thenable.status = "pending"),
4763
+ thenable.then(
4764
+ function (fulfilledValue) {
4765
+ "pending" === thenable.status &&
4766
+ ((thenable.status = "fulfilled"),
4767
+ (thenable.value = fulfilledValue));
4768
+ },
4769
+ function (error) {
4770
+ "pending" === thenable.status &&
4771
+ ((thenable.status = "rejected"),
4772
+ (thenable.reason = error));
4773
+ }
4774
+ )),
4775
+ thenable.status)
4776
+ ) {
4777
+ case "fulfilled":
4778
+ return thenable.value;
4779
+ case "rejected":
4780
+ throw thenable.reason;
4781
+ }
4782
+ }
4783
+ throw thenable;
4784
+ }
4785
+ function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {
4786
+ var type = typeof children;
4787
+ if ("undefined" === type || "boolean" === type) children = null;
4788
+ var invokeCallback = false;
4789
+ if (null === children) invokeCallback = true;
4790
+ else
4791
+ switch (type) {
4792
+ case "bigint":
4793
+ case "string":
4794
+ case "number":
4795
+ invokeCallback = true;
4796
+ break;
4797
+ case "object":
4798
+ switch (children.$$typeof) {
4799
+ case REACT_ELEMENT_TYPE:
4800
+ case REACT_PORTAL_TYPE:
4801
+ invokeCallback = true;
4802
+ break;
4803
+ case REACT_LAZY_TYPE:
4804
+ return (
4805
+ (invokeCallback = children._init),
4806
+ mapIntoArray(
4807
+ invokeCallback(children._payload),
4808
+ array,
4809
+ escapedPrefix,
4810
+ nameSoFar,
4811
+ callback
4812
+ )
4813
+ );
4814
+ }
4815
+ }
4816
+ if (invokeCallback) {
4817
+ invokeCallback = children;
4818
+ callback = callback(invokeCallback);
4819
+ var childKey =
4820
+ "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar;
4821
+ isArrayImpl(callback)
4822
+ ? ((escapedPrefix = ""),
4823
+ null != childKey &&
4824
+ (escapedPrefix =
4825
+ childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"),
4826
+ mapIntoArray(callback, array, escapedPrefix, "", function (c) {
4827
+ return c;
4828
+ }))
4829
+ : null != callback &&
4830
+ (isValidElement(callback) &&
4831
+ (null != callback.key &&
4832
+ ((invokeCallback && invokeCallback.key === callback.key) ||
4833
+ checkKeyStringCoercion(callback.key)),
4834
+ (escapedPrefix = cloneAndReplaceKey(
4835
+ callback,
4836
+ escapedPrefix +
4837
+ (null == callback.key ||
4838
+ (invokeCallback && invokeCallback.key === callback.key)
4839
+ ? ""
4840
+ : ("" + callback.key).replace(
4841
+ userProvidedKeyEscapeRegex,
4842
+ "$&/"
4843
+ ) + "/") +
4844
+ childKey
4845
+ )),
4846
+ "" !== nameSoFar &&
4847
+ null != invokeCallback &&
4848
+ isValidElement(invokeCallback) &&
4849
+ null == invokeCallback.key &&
4850
+ invokeCallback._store &&
4851
+ !invokeCallback._store.validated &&
4852
+ (escapedPrefix._store.validated = 2),
4853
+ (callback = escapedPrefix)),
4854
+ array.push(callback));
4855
+ return 1;
4856
+ }
4857
+ invokeCallback = 0;
4858
+ childKey = "" === nameSoFar ? "." : nameSoFar + ":";
4859
+ if (isArrayImpl(children))
4860
+ for (var i = 0; i < children.length; i++)
4861
+ (nameSoFar = children[i]),
4862
+ (type = childKey + getElementKey(nameSoFar, i)),
4863
+ (invokeCallback += mapIntoArray(
4864
+ nameSoFar,
4865
+ array,
4866
+ escapedPrefix,
4867
+ type,
4868
+ callback
4869
+ ));
4870
+ else if (((i = getIteratorFn(children)), "function" === typeof i))
4871
+ for (
4872
+ i === children.entries &&
4873
+ (didWarnAboutMaps ||
4874
+ console.warn(
4875
+ "Using Maps as children is not supported. Use an array of keyed ReactElements instead."
4876
+ ),
4877
+ (didWarnAboutMaps = true)),
4878
+ children = i.call(children),
4879
+ i = 0;
4880
+ !(nameSoFar = children.next()).done;
4881
+
4882
+ )
4883
+ (nameSoFar = nameSoFar.value),
4884
+ (type = childKey + getElementKey(nameSoFar, i++)),
4885
+ (invokeCallback += mapIntoArray(
4886
+ nameSoFar,
4887
+ array,
4888
+ escapedPrefix,
4889
+ type,
4890
+ callback
4891
+ ));
4892
+ else if ("object" === type) {
4893
+ if ("function" === typeof children.then)
4894
+ return mapIntoArray(
4895
+ resolveThenable(children),
4896
+ array,
4897
+ escapedPrefix,
4898
+ nameSoFar,
4899
+ callback
4900
+ );
4901
+ array = String(children);
4902
+ throw Error(
4903
+ "Objects are not valid as a React child (found: " +
4904
+ ("[object Object]" === array
4905
+ ? "object with keys {" + Object.keys(children).join(", ") + "}"
4906
+ : array) +
4907
+ "). If you meant to render a collection of children, use an array instead."
4908
+ );
4909
+ }
4910
+ return invokeCallback;
4911
+ }
4912
+ function mapChildren(children, func, context) {
4913
+ if (null == children) return children;
4914
+ var result = [],
4915
+ count = 0;
4916
+ mapIntoArray(children, result, "", "", function (child) {
4917
+ return func.call(context, child, count++);
4918
+ });
4919
+ return result;
4920
+ }
4921
+ function lazyInitializer(payload) {
4922
+ if (-1 === payload._status) {
4923
+ var ioInfo = payload._ioInfo;
4924
+ null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());
4925
+ ioInfo = payload._result;
4926
+ var thenable = ioInfo();
4927
+ thenable.then(
4928
+ function (moduleObject) {
4929
+ if (0 === payload._status || -1 === payload._status) {
4930
+ payload._status = 1;
4931
+ payload._result = moduleObject;
4932
+ var _ioInfo = payload._ioInfo;
4933
+ null != _ioInfo && (_ioInfo.end = performance.now());
4934
+ void 0 === thenable.status &&
4935
+ ((thenable.status = "fulfilled"),
4936
+ (thenable.value = moduleObject));
4937
+ }
4938
+ },
4939
+ function (error) {
4940
+ if (0 === payload._status || -1 === payload._status) {
4941
+ payload._status = 2;
4942
+ payload._result = error;
4943
+ var _ioInfo2 = payload._ioInfo;
4944
+ null != _ioInfo2 && (_ioInfo2.end = performance.now());
4945
+ void 0 === thenable.status &&
4946
+ ((thenable.status = "rejected"), (thenable.reason = error));
4947
+ }
4948
+ }
4949
+ );
4950
+ ioInfo = payload._ioInfo;
4951
+ if (null != ioInfo) {
4952
+ ioInfo.value = thenable;
4953
+ var displayName = thenable.displayName;
4954
+ "string" === typeof displayName && (ioInfo.name = displayName);
4955
+ }
4956
+ -1 === payload._status &&
4957
+ ((payload._status = 0), (payload._result = thenable));
4958
+ }
4959
+ if (1 === payload._status)
4960
+ return (
4961
+ (ioInfo = payload._result),
4962
+ void 0 === ioInfo &&
4963
+ console.error(
4964
+ "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?",
4965
+ ioInfo
4966
+ ),
4967
+ "default" in ioInfo ||
4968
+ console.error(
4969
+ "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))",
4970
+ ioInfo
4971
+ ),
4972
+ ioInfo.default
4973
+ );
4974
+ throw payload._result;
4975
+ }
4976
+ function resolveDispatcher() {
4977
+ var dispatcher = ReactSharedInternals.H;
4978
+ null === dispatcher &&
4979
+ console.error(
4980
+ "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."
4981
+ );
4982
+ return dispatcher;
4983
+ }
4984
+ function releaseAsyncTransition() {
4985
+ ReactSharedInternals.asyncTransitions--;
4986
+ }
4987
+ function enqueueTask(task) {
4988
+ if (null === enqueueTaskImpl)
4989
+ try {
4990
+ var requireString = ("require" + Math.random()).slice(0, 7);
4991
+ enqueueTaskImpl = (module && module[requireString]).call(
4992
+ module,
4993
+ "timers"
4994
+ ).setImmediate;
4995
+ } catch (_err) {
4996
+ enqueueTaskImpl = function (callback) {
4997
+ false === didWarnAboutMessageChannel &&
4998
+ ((didWarnAboutMessageChannel = true),
4999
+ "undefined" === typeof MessageChannel &&
5000
+ console.error(
5001
+ "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."
5002
+ ));
5003
+ var channel = new MessageChannel();
5004
+ channel.port1.onmessage = callback;
5005
+ channel.port2.postMessage(void 0);
5006
+ };
5007
+ }
5008
+ return enqueueTaskImpl(task);
5009
+ }
5010
+ function aggregateErrors(errors) {
5011
+ return 1 < errors.length && "function" === typeof AggregateError
5012
+ ? new AggregateError(errors)
5013
+ : errors[0];
5014
+ }
5015
+ function popActScope(prevActQueue, prevActScopeDepth) {
5016
+ prevActScopeDepth !== actScopeDepth - 1 &&
5017
+ console.error(
5018
+ "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "
5019
+ );
5020
+ actScopeDepth = prevActScopeDepth;
5021
+ }
5022
+ function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {
5023
+ var queue = ReactSharedInternals.actQueue;
5024
+ if (null !== queue)
5025
+ if (0 !== queue.length)
5026
+ try {
5027
+ flushActQueue(queue);
5028
+ enqueueTask(function () {
5029
+ return recursivelyFlushAsyncActWork(returnValue, resolve, reject);
5030
+ });
5031
+ return;
5032
+ } catch (error) {
5033
+ ReactSharedInternals.thrownErrors.push(error);
5034
+ }
5035
+ else ReactSharedInternals.actQueue = null;
5036
+ 0 < ReactSharedInternals.thrownErrors.length
5037
+ ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),
5038
+ (ReactSharedInternals.thrownErrors.length = 0),
5039
+ reject(queue))
5040
+ : resolve(returnValue);
5041
+ }
5042
+ function flushActQueue(queue) {
5043
+ if (!isFlushing) {
5044
+ isFlushing = true;
5045
+ var i = 0;
5046
+ try {
5047
+ for (; i < queue.length; i++) {
5048
+ var callback = queue[i];
5049
+ do {
5050
+ ReactSharedInternals.didUsePromise = !1;
5051
+ var continuation = callback(!1);
5052
+ if (null !== continuation) {
5053
+ if (ReactSharedInternals.didUsePromise) {
5054
+ queue[i] = callback;
5055
+ queue.splice(0, i);
5056
+ return;
5057
+ }
5058
+ callback = continuation;
5059
+ } else break;
5060
+ } while (1);
5061
+ }
5062
+ queue.length = 0;
5063
+ } catch (error) {
5064
+ queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);
5065
+ } finally {
5066
+ isFlushing = false;
5067
+ }
5068
+ }
5069
+ }
5070
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
5071
+ "function" ===
5072
+ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&
5073
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
5074
+ var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
5075
+ REACT_PORTAL_TYPE = Symbol.for("react.portal"),
5076
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
5077
+ REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
5078
+ REACT_PROFILER_TYPE = Symbol.for("react.profiler"),
5079
+ REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
5080
+ REACT_CONTEXT_TYPE = Symbol.for("react.context"),
5081
+ REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
5082
+ REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
5083
+ REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"),
5084
+ REACT_MEMO_TYPE = Symbol.for("react.memo"),
5085
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
5086
+ REACT_ACTIVITY_TYPE = Symbol.for("react.activity"),
5087
+ MAYBE_ITERATOR_SYMBOL = Symbol.iterator,
5088
+ didWarnStateUpdateForUnmountedComponent = {},
5089
+ ReactNoopUpdateQueue = {
5090
+ isMounted: function () {
5091
+ return false;
5092
+ },
5093
+ enqueueForceUpdate: function (publicInstance) {
5094
+ warnNoop(publicInstance, "forceUpdate");
5095
+ },
5096
+ enqueueReplaceState: function (publicInstance) {
5097
+ warnNoop(publicInstance, "replaceState");
5098
+ },
5099
+ enqueueSetState: function (publicInstance) {
5100
+ warnNoop(publicInstance, "setState");
5101
+ }
5102
+ },
5103
+ assign = Object.assign,
5104
+ emptyObject = {};
5105
+ Object.freeze(emptyObject);
5106
+ Component.prototype.isReactComponent = {};
5107
+ Component.prototype.setState = function (partialState, callback) {
5108
+ if (
5109
+ "object" !== typeof partialState &&
5110
+ "function" !== typeof partialState &&
5111
+ null != partialState
5112
+ )
5113
+ throw Error(
5114
+ "takes an object of state variables to update or a function which returns an object of state variables."
5115
+ );
5116
+ this.updater.enqueueSetState(this, partialState, callback, "setState");
5117
+ };
5118
+ Component.prototype.forceUpdate = function (callback) {
5119
+ this.updater.enqueueForceUpdate(this, callback, "forceUpdate");
5120
+ };
5121
+ var deprecatedAPIs = {
5122
+ isMounted: [
5123
+ "isMounted",
5124
+ "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."
5125
+ ],
5126
+ replaceState: [
5127
+ "replaceState",
5128
+ "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."
5129
+ ]
5130
+ };
5131
+ for (fnName in deprecatedAPIs)
5132
+ deprecatedAPIs.hasOwnProperty(fnName) &&
5133
+ defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
5134
+ ComponentDummy.prototype = Component.prototype;
5135
+ deprecatedAPIs = PureComponent.prototype = new ComponentDummy();
5136
+ deprecatedAPIs.constructor = PureComponent;
5137
+ assign(deprecatedAPIs, Component.prototype);
5138
+ deprecatedAPIs.isPureReactComponent = true;
5139
+ var isArrayImpl = Array.isArray,
5140
+ REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"),
5141
+ ReactSharedInternals = {
5142
+ H: null,
5143
+ A: null,
5144
+ T: null,
5145
+ S: null,
5146
+ actQueue: null,
5147
+ asyncTransitions: 0,
5148
+ isBatchingLegacy: false,
5149
+ didScheduleLegacyUpdate: false,
5150
+ didUsePromise: false,
5151
+ thrownErrors: [],
5152
+ getCurrentStack: null,
5153
+ recentlyCreatedOwnerStacks: 0
5154
+ },
5155
+ hasOwnProperty = Object.prototype.hasOwnProperty,
5156
+ createTask = console.createTask
5157
+ ? console.createTask
5158
+ : function () {
5159
+ return null;
5160
+ };
5161
+ deprecatedAPIs = {
5162
+ react_stack_bottom_frame: function (callStackForError) {
5163
+ return callStackForError();
5164
+ }
5165
+ };
5166
+ var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;
5167
+ var didWarnAboutElementRef = {};
5168
+ var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(
5169
+ deprecatedAPIs,
5170
+ UnknownOwner
5171
+ )();
5172
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
5173
+ var didWarnAboutMaps = false,
5174
+ userProvidedKeyEscapeRegex = /\/+/g,
5175
+ reportGlobalError =
5176
+ "function" === typeof reportError
5177
+ ? reportError
5178
+ : function (error) {
5179
+ if (
5180
+ "object" === typeof window &&
5181
+ "function" === typeof window.ErrorEvent
5182
+ ) {
5183
+ var event = new window.ErrorEvent("error", {
5184
+ bubbles: true,
5185
+ cancelable: true,
5186
+ message:
5187
+ "object" === typeof error &&
5188
+ null !== error &&
5189
+ "string" === typeof error.message
5190
+ ? String(error.message)
5191
+ : String(error),
5192
+ error: error
5193
+ });
5194
+ if (!window.dispatchEvent(event)) return;
5195
+ } else if (
5196
+ "object" === typeof process &&
5197
+ "function" === typeof process.emit
5198
+ ) {
5199
+ process.emit("uncaughtException", error);
5200
+ return;
5201
+ }
5202
+ console.error(error);
5203
+ },
5204
+ didWarnAboutMessageChannel = false,
5205
+ enqueueTaskImpl = null,
5206
+ actScopeDepth = 0,
5207
+ didWarnNoAwaitAct = false,
5208
+ isFlushing = false,
5209
+ queueSeveralMicrotasks =
5210
+ "function" === typeof queueMicrotask
5211
+ ? function (callback) {
5212
+ queueMicrotask(function () {
5213
+ return queueMicrotask(callback);
5214
+ });
5215
+ }
5216
+ : enqueueTask;
5217
+ deprecatedAPIs = Object.freeze({
5218
+ __proto__: null,
5219
+ c: function (size) {
5220
+ return resolveDispatcher().useMemoCache(size);
5221
+ }
5222
+ });
5223
+ var fnName = {
5224
+ map: mapChildren,
5225
+ forEach: function (children, forEachFunc, forEachContext) {
5226
+ mapChildren(
5227
+ children,
5228
+ function () {
5229
+ forEachFunc.apply(this, arguments);
5230
+ },
5231
+ forEachContext
5232
+ );
5233
+ },
5234
+ count: function (children) {
5235
+ var n = 0;
5236
+ mapChildren(children, function () {
5237
+ n++;
5238
+ });
5239
+ return n;
5240
+ },
5241
+ toArray: function (children) {
5242
+ return (
5243
+ mapChildren(children, function (child) {
5244
+ return child;
5245
+ }) || []
5246
+ );
5247
+ },
5248
+ only: function (children) {
5249
+ if (!isValidElement(children))
5250
+ throw Error(
5251
+ "React.Children.only expected to receive a single React element child."
5252
+ );
5253
+ return children;
5254
+ }
5255
+ };
5256
+ exports$1.Activity = REACT_ACTIVITY_TYPE;
5257
+ exports$1.Children = fnName;
5258
+ exports$1.Component = Component;
5259
+ exports$1.Fragment = REACT_FRAGMENT_TYPE;
5260
+ exports$1.Profiler = REACT_PROFILER_TYPE;
5261
+ exports$1.PureComponent = PureComponent;
5262
+ exports$1.StrictMode = REACT_STRICT_MODE_TYPE;
5263
+ exports$1.Suspense = REACT_SUSPENSE_TYPE;
5264
+ exports$1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =
5265
+ ReactSharedInternals;
5266
+ exports$1.__COMPILER_RUNTIME = deprecatedAPIs;
5267
+ exports$1.act = function (callback) {
5268
+ var prevActQueue = ReactSharedInternals.actQueue,
5269
+ prevActScopeDepth = actScopeDepth;
5270
+ actScopeDepth++;
5271
+ var queue = (ReactSharedInternals.actQueue =
5272
+ null !== prevActQueue ? prevActQueue : []),
5273
+ didAwaitActCall = false;
5274
+ try {
5275
+ var result = callback();
5276
+ } catch (error) {
5277
+ ReactSharedInternals.thrownErrors.push(error);
5278
+ }
5279
+ if (0 < ReactSharedInternals.thrownErrors.length)
5280
+ throw (
5281
+ (popActScope(prevActQueue, prevActScopeDepth),
5282
+ (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),
5283
+ (ReactSharedInternals.thrownErrors.length = 0),
5284
+ callback)
5285
+ );
5286
+ if (
5287
+ null !== result &&
5288
+ "object" === typeof result &&
5289
+ "function" === typeof result.then
5290
+ ) {
5291
+ var thenable = result;
5292
+ queueSeveralMicrotasks(function () {
5293
+ didAwaitActCall ||
5294
+ didWarnNoAwaitAct ||
5295
+ ((didWarnNoAwaitAct = true),
5296
+ console.error(
5297
+ "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"
5298
+ ));
5299
+ });
5300
+ return {
5301
+ then: function (resolve, reject) {
5302
+ didAwaitActCall = true;
5303
+ thenable.then(
5304
+ function (returnValue) {
5305
+ popActScope(prevActQueue, prevActScopeDepth);
5306
+ if (0 === prevActScopeDepth) {
5307
+ try {
5308
+ flushActQueue(queue),
5309
+ enqueueTask(function () {
5310
+ return recursivelyFlushAsyncActWork(
5311
+ returnValue,
5312
+ resolve,
5313
+ reject
5314
+ );
5315
+ });
5316
+ } catch (error$0) {
5317
+ ReactSharedInternals.thrownErrors.push(error$0);
5318
+ }
5319
+ if (0 < ReactSharedInternals.thrownErrors.length) {
5320
+ var _thrownError = aggregateErrors(
5321
+ ReactSharedInternals.thrownErrors
5322
+ );
5323
+ ReactSharedInternals.thrownErrors.length = 0;
5324
+ reject(_thrownError);
5325
+ }
5326
+ } else resolve(returnValue);
5327
+ },
5328
+ function (error) {
5329
+ popActScope(prevActQueue, prevActScopeDepth);
5330
+ 0 < ReactSharedInternals.thrownErrors.length
5331
+ ? ((error = aggregateErrors(
5332
+ ReactSharedInternals.thrownErrors
5333
+ )),
5334
+ (ReactSharedInternals.thrownErrors.length = 0),
5335
+ reject(error))
5336
+ : reject(error);
5337
+ }
5338
+ );
5339
+ }
5340
+ };
5341
+ }
5342
+ var returnValue$jscomp$0 = result;
5343
+ popActScope(prevActQueue, prevActScopeDepth);
5344
+ 0 === prevActScopeDepth &&
5345
+ (flushActQueue(queue),
5346
+ 0 !== queue.length &&
5347
+ queueSeveralMicrotasks(function () {
5348
+ didAwaitActCall ||
5349
+ didWarnNoAwaitAct ||
5350
+ ((didWarnNoAwaitAct = true),
5351
+ console.error(
5352
+ "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"
5353
+ ));
5354
+ }),
5355
+ (ReactSharedInternals.actQueue = null));
5356
+ if (0 < ReactSharedInternals.thrownErrors.length)
5357
+ throw (
5358
+ ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),
5359
+ (ReactSharedInternals.thrownErrors.length = 0),
5360
+ callback)
5361
+ );
5362
+ return {
5363
+ then: function (resolve, reject) {
5364
+ didAwaitActCall = true;
5365
+ 0 === prevActScopeDepth
5366
+ ? ((ReactSharedInternals.actQueue = queue),
5367
+ enqueueTask(function () {
5368
+ return recursivelyFlushAsyncActWork(
5369
+ returnValue$jscomp$0,
5370
+ resolve,
5371
+ reject
5372
+ );
5373
+ }))
5374
+ : resolve(returnValue$jscomp$0);
5375
+ }
5376
+ };
5377
+ };
5378
+ exports$1.cache = function (fn) {
5379
+ return function () {
5380
+ return fn.apply(null, arguments);
5381
+ };
5382
+ };
5383
+ exports$1.cacheSignal = function () {
5384
+ return null;
5385
+ };
5386
+ exports$1.captureOwnerStack = function () {
5387
+ var getCurrentStack = ReactSharedInternals.getCurrentStack;
5388
+ return null === getCurrentStack ? null : getCurrentStack();
5389
+ };
5390
+ exports$1.cloneElement = function (element, config, children) {
5391
+ if (null === element || void 0 === element)
5392
+ throw Error(
5393
+ "The argument must be a React element, but you passed " +
5394
+ element +
5395
+ "."
5396
+ );
5397
+ var props = assign({}, element.props),
5398
+ key = element.key,
5399
+ owner = element._owner;
5400
+ if (null != config) {
5401
+ var JSCompiler_inline_result;
5402
+ a: {
5403
+ if (
5404
+ hasOwnProperty.call(config, "ref") &&
5405
+ (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(
5406
+ config,
5407
+ "ref"
5408
+ ).get) &&
5409
+ JSCompiler_inline_result.isReactWarning
5410
+ ) {
5411
+ JSCompiler_inline_result = false;
5412
+ break a;
5413
+ }
5414
+ JSCompiler_inline_result = void 0 !== config.ref;
5415
+ }
5416
+ JSCompiler_inline_result && (owner = getOwner());
5417
+ hasValidKey(config) &&
5418
+ (checkKeyStringCoercion(config.key), (key = "" + config.key));
5419
+ for (propName in config)
5420
+ !hasOwnProperty.call(config, propName) ||
5421
+ "key" === propName ||
5422
+ "__self" === propName ||
5423
+ "__source" === propName ||
5424
+ ("ref" === propName && void 0 === config.ref) ||
5425
+ (props[propName] = config[propName]);
5426
+ }
5427
+ var propName = arguments.length - 2;
5428
+ if (1 === propName) props.children = children;
5429
+ else if (1 < propName) {
5430
+ JSCompiler_inline_result = Array(propName);
5431
+ for (var i = 0; i < propName; i++)
5432
+ JSCompiler_inline_result[i] = arguments[i + 2];
5433
+ props.children = JSCompiler_inline_result;
5434
+ }
5435
+ props = ReactElement(
5436
+ element.type,
5437
+ key,
5438
+ props,
5439
+ owner,
5440
+ element._debugStack,
5441
+ element._debugTask
5442
+ );
5443
+ for (key = 2; key < arguments.length; key++)
5444
+ validateChildKeys(arguments[key]);
5445
+ return props;
5446
+ };
5447
+ exports$1.createContext = function (defaultValue) {
5448
+ defaultValue = {
5449
+ $$typeof: REACT_CONTEXT_TYPE,
5450
+ _currentValue: defaultValue,
5451
+ _currentValue2: defaultValue,
5452
+ _threadCount: 0,
5453
+ Provider: null,
5454
+ Consumer: null
5455
+ };
5456
+ defaultValue.Provider = defaultValue;
5457
+ defaultValue.Consumer = {
5458
+ $$typeof: REACT_CONSUMER_TYPE,
5459
+ _context: defaultValue
5460
+ };
5461
+ defaultValue._currentRenderer = null;
5462
+ defaultValue._currentRenderer2 = null;
5463
+ return defaultValue;
5464
+ };
5465
+ exports$1.createElement = function (type, config, children) {
5466
+ for (var i = 2; i < arguments.length; i++)
5467
+ validateChildKeys(arguments[i]);
5468
+ i = {};
5469
+ var key = null;
5470
+ if (null != config)
5471
+ for (propName in (didWarnAboutOldJSXRuntime ||
5472
+ !("__self" in config) ||
5473
+ "key" in config ||
5474
+ ((didWarnAboutOldJSXRuntime = true),
5475
+ console.warn(
5476
+ "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform"
5477
+ )),
5478
+ hasValidKey(config) &&
5479
+ (checkKeyStringCoercion(config.key), (key = "" + config.key)),
5480
+ config))
5481
+ hasOwnProperty.call(config, propName) &&
5482
+ "key" !== propName &&
5483
+ "__self" !== propName &&
5484
+ "__source" !== propName &&
5485
+ (i[propName] = config[propName]);
5486
+ var childrenLength = arguments.length - 2;
5487
+ if (1 === childrenLength) i.children = children;
5488
+ else if (1 < childrenLength) {
5489
+ for (
5490
+ var childArray = Array(childrenLength), _i = 0;
5491
+ _i < childrenLength;
5492
+ _i++
5493
+ )
5494
+ childArray[_i] = arguments[_i + 2];
5495
+ Object.freeze && Object.freeze(childArray);
5496
+ i.children = childArray;
5497
+ }
5498
+ if (type && type.defaultProps)
5499
+ for (propName in ((childrenLength = type.defaultProps), childrenLength))
5500
+ void 0 === i[propName] && (i[propName] = childrenLength[propName]);
5501
+ key &&
5502
+ defineKeyPropWarningGetter(
5503
+ i,
5504
+ "function" === typeof type
5505
+ ? type.displayName || type.name || "Unknown"
5506
+ : type
5507
+ );
5508
+ var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
5509
+ return ReactElement(
5510
+ type,
5511
+ key,
5512
+ i,
5513
+ getOwner(),
5514
+ propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
5515
+ propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask
5516
+ );
5517
+ };
5518
+ exports$1.createRef = function () {
5519
+ var refObject = { current: null };
5520
+ Object.seal(refObject);
5521
+ return refObject;
5522
+ };
5523
+ exports$1.forwardRef = function (render) {
5524
+ null != render && render.$$typeof === REACT_MEMO_TYPE
5525
+ ? console.error(
5526
+ "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."
5527
+ )
5528
+ : "function" !== typeof render
5529
+ ? console.error(
5530
+ "forwardRef requires a render function but was given %s.",
5531
+ null === render ? "null" : typeof render
5532
+ )
5533
+ : 0 !== render.length &&
5534
+ 2 !== render.length &&
5535
+ console.error(
5536
+ "forwardRef render functions accept exactly two parameters: props and ref. %s",
5537
+ 1 === render.length
5538
+ ? "Did you forget to use the ref parameter?"
5539
+ : "Any additional parameter will be undefined."
5540
+ );
5541
+ null != render &&
5542
+ null != render.defaultProps &&
5543
+ console.error(
5544
+ "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?"
5545
+ );
5546
+ var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },
5547
+ ownName;
5548
+ Object.defineProperty(elementType, "displayName", {
5549
+ enumerable: false,
5550
+ configurable: true,
5551
+ get: function () {
5552
+ return ownName;
5553
+ },
5554
+ set: function (name) {
5555
+ ownName = name;
5556
+ render.name ||
5557
+ render.displayName ||
5558
+ (Object.defineProperty(render, "name", { value: name }),
5559
+ (render.displayName = name));
5560
+ }
5561
+ });
5562
+ return elementType;
5563
+ };
5564
+ exports$1.isValidElement = isValidElement;
5565
+ exports$1.lazy = function (ctor) {
5566
+ ctor = { _status: -1, _result: ctor };
5567
+ var lazyType = {
5568
+ $$typeof: REACT_LAZY_TYPE,
5569
+ _payload: ctor,
5570
+ _init: lazyInitializer
5571
+ },
5572
+ ioInfo = {
5573
+ name: "lazy",
5574
+ start: -1,
5575
+ end: -1,
5576
+ value: null,
5577
+ owner: null,
5578
+ debugStack: Error("react-stack-top-frame"),
5579
+ debugTask: console.createTask ? console.createTask("lazy()") : null
5580
+ };
5581
+ ctor._ioInfo = ioInfo;
5582
+ lazyType._debugInfo = [{ awaited: ioInfo }];
5583
+ return lazyType;
5584
+ };
5585
+ exports$1.memo = function (type, compare) {
5586
+ null == type &&
5587
+ console.error(
5588
+ "memo: The first argument must be a component. Instead received: %s",
5589
+ null === type ? "null" : typeof type
5590
+ );
5591
+ compare = {
5592
+ $$typeof: REACT_MEMO_TYPE,
5593
+ type: type,
5594
+ compare: void 0 === compare ? null : compare
5595
+ };
5596
+ var ownName;
5597
+ Object.defineProperty(compare, "displayName", {
5598
+ enumerable: false,
5599
+ configurable: true,
5600
+ get: function () {
5601
+ return ownName;
5602
+ },
5603
+ set: function (name) {
5604
+ ownName = name;
5605
+ type.name ||
5606
+ type.displayName ||
5607
+ (Object.defineProperty(type, "name", { value: name }),
5608
+ (type.displayName = name));
5609
+ }
5610
+ });
5611
+ return compare;
5612
+ };
5613
+ exports$1.startTransition = function (scope) {
5614
+ var prevTransition = ReactSharedInternals.T,
5615
+ currentTransition = {};
5616
+ currentTransition._updatedFibers = new Set();
5617
+ ReactSharedInternals.T = currentTransition;
5618
+ try {
5619
+ var returnValue = scope(),
5620
+ onStartTransitionFinish = ReactSharedInternals.S;
5621
+ null !== onStartTransitionFinish &&
5622
+ onStartTransitionFinish(currentTransition, returnValue);
5623
+ "object" === typeof returnValue &&
5624
+ null !== returnValue &&
5625
+ "function" === typeof returnValue.then &&
5626
+ (ReactSharedInternals.asyncTransitions++,
5627
+ returnValue.then(releaseAsyncTransition, releaseAsyncTransition),
5628
+ returnValue.then(noop, reportGlobalError));
5629
+ } catch (error) {
5630
+ reportGlobalError(error);
5631
+ } finally {
5632
+ null === prevTransition &&
5633
+ currentTransition._updatedFibers &&
5634
+ ((scope = currentTransition._updatedFibers.size),
5635
+ currentTransition._updatedFibers.clear(),
5636
+ 10 < scope &&
5637
+ console.warn(
5638
+ "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."
5639
+ )),
5640
+ null !== prevTransition &&
5641
+ null !== currentTransition.types &&
5642
+ (null !== prevTransition.types &&
5643
+ prevTransition.types !== currentTransition.types &&
5644
+ console.error(
5645
+ "We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."
5646
+ ),
5647
+ (prevTransition.types = currentTransition.types)),
5648
+ (ReactSharedInternals.T = prevTransition);
5649
+ }
5650
+ };
5651
+ exports$1.unstable_useCacheRefresh = function () {
5652
+ return resolveDispatcher().useCacheRefresh();
5653
+ };
5654
+ exports$1.use = function (usable) {
5655
+ return resolveDispatcher().use(usable);
5656
+ };
5657
+ exports$1.useActionState = function (action, initialState, permalink) {
5658
+ return resolveDispatcher().useActionState(
5659
+ action,
5660
+ initialState,
5661
+ permalink
5662
+ );
5663
+ };
5664
+ exports$1.useCallback = function (callback, deps) {
5665
+ return resolveDispatcher().useCallback(callback, deps);
5666
+ };
5667
+ exports$1.useContext = function (Context) {
5668
+ var dispatcher = resolveDispatcher();
5669
+ Context.$$typeof === REACT_CONSUMER_TYPE &&
5670
+ console.error(
5671
+ "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"
5672
+ );
5673
+ return dispatcher.useContext(Context);
5674
+ };
5675
+ exports$1.useDebugValue = function (value, formatterFn) {
5676
+ return resolveDispatcher().useDebugValue(value, formatterFn);
5677
+ };
5678
+ exports$1.useDeferredValue = function (value, initialValue) {
5679
+ return resolveDispatcher().useDeferredValue(value, initialValue);
5680
+ };
5681
+ exports$1.useEffect = function (create, deps) {
5682
+ null == create &&
5683
+ console.warn(
5684
+ "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?"
5685
+ );
5686
+ return resolveDispatcher().useEffect(create, deps);
5687
+ };
5688
+ exports$1.useEffectEvent = function (callback) {
5689
+ return resolveDispatcher().useEffectEvent(callback);
5690
+ };
5691
+ exports$1.useId = function () {
5692
+ return resolveDispatcher().useId();
5693
+ };
5694
+ exports$1.useImperativeHandle = function (ref, create, deps) {
5695
+ return resolveDispatcher().useImperativeHandle(ref, create, deps);
5696
+ };
5697
+ exports$1.useInsertionEffect = function (create, deps) {
5698
+ null == create &&
5699
+ console.warn(
5700
+ "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"
5701
+ );
5702
+ return resolveDispatcher().useInsertionEffect(create, deps);
5703
+ };
5704
+ exports$1.useLayoutEffect = function (create, deps) {
5705
+ null == create &&
5706
+ console.warn(
5707
+ "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"
5708
+ );
5709
+ return resolveDispatcher().useLayoutEffect(create, deps);
5710
+ };
5711
+ exports$1.useMemo = function (create, deps) {
5712
+ return resolveDispatcher().useMemo(create, deps);
5713
+ };
5714
+ exports$1.useOptimistic = function (passthrough, reducer) {
5715
+ return resolveDispatcher().useOptimistic(passthrough, reducer);
5716
+ };
5717
+ exports$1.useReducer = function (reducer, initialArg, init) {
5718
+ return resolveDispatcher().useReducer(reducer, initialArg, init);
5719
+ };
5720
+ exports$1.useRef = function (initialValue) {
5721
+ return resolveDispatcher().useRef(initialValue);
5722
+ };
5723
+ exports$1.useState = function (initialState) {
5724
+ return resolveDispatcher().useState(initialState);
5725
+ };
5726
+ exports$1.useSyncExternalStore = function (
5727
+ subscribe,
5728
+ getSnapshot,
5729
+ getServerSnapshot
5730
+ ) {
5731
+ return resolveDispatcher().useSyncExternalStore(
5732
+ subscribe,
5733
+ getSnapshot,
5734
+ getServerSnapshot
5735
+ );
5736
+ };
5737
+ exports$1.useTransition = function () {
5738
+ return resolveDispatcher().useTransition();
5739
+ };
5740
+ exports$1.version = "19.2.0";
5741
+ "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
5742
+ "function" ===
5743
+ typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
5744
+ __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
5745
+ })();
5746
+ } (react_development, react_development.exports));
5747
+ return react_development.exports;
5748
+ }
5749
+
5750
+ var hasRequiredReact;
5751
+
5752
+ function requireReact () {
5753
+ if (hasRequiredReact) return react.exports;
5754
+ hasRequiredReact = 1;
5755
+
5756
+ if (process.env.NODE_ENV === 'production') {
5757
+ react.exports = requireReact_production();
5758
+ } else {
5759
+ react.exports = requireReact_development();
5760
+ }
5761
+ return react.exports;
5762
+ }
5763
+
5764
+ /**
5765
+ * @license React
5766
+ * react-jsx-runtime.development.js
5767
+ *
5768
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
5769
+ *
5770
+ * This source code is licensed under the MIT license found in the
5771
+ * LICENSE file in the root directory of this source tree.
5772
+ */
5773
+
5774
+ var hasRequiredReactJsxRuntime_development;
5775
+
5776
+ function requireReactJsxRuntime_development () {
5777
+ if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development;
5778
+ hasRequiredReactJsxRuntime_development = 1;
5779
+ "production" !== process.env.NODE_ENV &&
5780
+ (function () {
5781
+ function getComponentNameFromType(type) {
5782
+ if (null == type) return null;
5783
+ if ("function" === typeof type)
5784
+ return type.$$typeof === REACT_CLIENT_REFERENCE
5785
+ ? null
5786
+ : type.displayName || type.name || null;
5787
+ if ("string" === typeof type) return type;
5788
+ switch (type) {
5789
+ case REACT_FRAGMENT_TYPE:
5790
+ return "Fragment";
5791
+ case REACT_PROFILER_TYPE:
5792
+ return "Profiler";
5793
+ case REACT_STRICT_MODE_TYPE:
5794
+ return "StrictMode";
5795
+ case REACT_SUSPENSE_TYPE:
5796
+ return "Suspense";
5797
+ case REACT_SUSPENSE_LIST_TYPE:
5798
+ return "SuspenseList";
5799
+ case REACT_ACTIVITY_TYPE:
5800
+ return "Activity";
5801
+ }
5802
+ if ("object" === typeof type)
5803
+ switch (
5804
+ ("number" === typeof type.tag &&
5805
+ console.error(
5806
+ "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
5807
+ ),
5808
+ type.$$typeof)
5809
+ ) {
5810
+ case REACT_PORTAL_TYPE:
5811
+ return "Portal";
5812
+ case REACT_CONTEXT_TYPE:
5813
+ return type.displayName || "Context";
5814
+ case REACT_CONSUMER_TYPE:
5815
+ return (type._context.displayName || "Context") + ".Consumer";
5816
+ case REACT_FORWARD_REF_TYPE:
5817
+ var innerType = type.render;
5818
+ type = type.displayName;
5819
+ type ||
5820
+ ((type = innerType.displayName || innerType.name || ""),
5821
+ (type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"));
5822
+ return type;
5823
+ case REACT_MEMO_TYPE:
5824
+ return (
5825
+ (innerType = type.displayName || null),
5826
+ null !== innerType
5827
+ ? innerType
5828
+ : getComponentNameFromType(type.type) || "Memo"
5829
+ );
5830
+ case REACT_LAZY_TYPE:
5831
+ innerType = type._payload;
5832
+ type = type._init;
5833
+ try {
5834
+ return getComponentNameFromType(type(innerType));
5835
+ } catch (x) {}
5836
+ }
5837
+ return null;
5838
+ }
5839
+ function testStringCoercion(value) {
5840
+ return "" + value;
5841
+ }
5842
+ function checkKeyStringCoercion(value) {
5843
+ try {
5844
+ testStringCoercion(value);
5845
+ var JSCompiler_inline_result = !1;
5846
+ } catch (e) {
5847
+ JSCompiler_inline_result = true;
5848
+ }
5849
+ if (JSCompiler_inline_result) {
5850
+ JSCompiler_inline_result = console;
5851
+ var JSCompiler_temp_const = JSCompiler_inline_result.error;
5852
+ var JSCompiler_inline_result$jscomp$0 =
5853
+ ("function" === typeof Symbol &&
5854
+ Symbol.toStringTag &&
5855
+ value[Symbol.toStringTag]) ||
5856
+ value.constructor.name ||
5857
+ "Object";
5858
+ JSCompiler_temp_const.call(
5859
+ JSCompiler_inline_result,
5860
+ "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
5861
+ JSCompiler_inline_result$jscomp$0
5862
+ );
5863
+ return testStringCoercion(value);
5864
+ }
5865
+ }
5866
+ function getTaskName(type) {
5867
+ if (type === REACT_FRAGMENT_TYPE) return "<>";
5868
+ if (
5869
+ "object" === typeof type &&
5870
+ null !== type &&
5871
+ type.$$typeof === REACT_LAZY_TYPE
5872
+ )
5873
+ return "<...>";
5874
+ try {
5875
+ var name = getComponentNameFromType(type);
5876
+ return name ? "<" + name + ">" : "<...>";
5877
+ } catch (x) {
5878
+ return "<...>";
5879
+ }
5880
+ }
5881
+ function getOwner() {
5882
+ var dispatcher = ReactSharedInternals.A;
5883
+ return null === dispatcher ? null : dispatcher.getOwner();
5884
+ }
5885
+ function UnknownOwner() {
5886
+ return Error("react-stack-top-frame");
5887
+ }
5888
+ function hasValidKey(config) {
5889
+ if (hasOwnProperty.call(config, "key")) {
5890
+ var getter = Object.getOwnPropertyDescriptor(config, "key").get;
5891
+ if (getter && getter.isReactWarning) return false;
5892
+ }
5893
+ return void 0 !== config.key;
5894
+ }
5895
+ function defineKeyPropWarningGetter(props, displayName) {
5896
+ function warnAboutAccessingKey() {
5897
+ specialPropKeyWarningShown ||
5898
+ ((specialPropKeyWarningShown = true),
5899
+ console.error(
5900
+ "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
5901
+ displayName
5902
+ ));
5903
+ }
5904
+ warnAboutAccessingKey.isReactWarning = true;
5905
+ Object.defineProperty(props, "key", {
5906
+ get: warnAboutAccessingKey,
5907
+ configurable: true
5908
+ });
5909
+ }
5910
+ function elementRefGetterWithDeprecationWarning() {
5911
+ var componentName = getComponentNameFromType(this.type);
5912
+ didWarnAboutElementRef[componentName] ||
5913
+ ((didWarnAboutElementRef[componentName] = true),
5914
+ console.error(
5915
+ "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
5916
+ ));
5917
+ componentName = this.props.ref;
5918
+ return void 0 !== componentName ? componentName : null;
5919
+ }
5920
+ function ReactElement(type, key, props, owner, debugStack, debugTask) {
5921
+ var refProp = props.ref;
5922
+ type = {
5923
+ $$typeof: REACT_ELEMENT_TYPE,
5924
+ type: type,
5925
+ key: key,
5926
+ props: props,
5927
+ _owner: owner
5928
+ };
5929
+ null !== (void 0 !== refProp ? refProp : null)
5930
+ ? Object.defineProperty(type, "ref", {
5931
+ enumerable: false,
5932
+ get: elementRefGetterWithDeprecationWarning
5933
+ })
5934
+ : Object.defineProperty(type, "ref", { enumerable: false, value: null });
5935
+ type._store = {};
5936
+ Object.defineProperty(type._store, "validated", {
5937
+ configurable: false,
5938
+ enumerable: false,
5939
+ writable: true,
5940
+ value: 0
5941
+ });
5942
+ Object.defineProperty(type, "_debugInfo", {
5943
+ configurable: false,
5944
+ enumerable: false,
5945
+ writable: true,
5946
+ value: null
5947
+ });
5948
+ Object.defineProperty(type, "_debugStack", {
5949
+ configurable: false,
5950
+ enumerable: false,
5951
+ writable: true,
5952
+ value: debugStack
5953
+ });
5954
+ Object.defineProperty(type, "_debugTask", {
5955
+ configurable: false,
5956
+ enumerable: false,
5957
+ writable: true,
5958
+ value: debugTask
5959
+ });
5960
+ Object.freeze && (Object.freeze(type.props), Object.freeze(type));
5961
+ return type;
5962
+ }
5963
+ function jsxDEVImpl(
5964
+ type,
5965
+ config,
5966
+ maybeKey,
5967
+ isStaticChildren,
5968
+ debugStack,
5969
+ debugTask
5970
+ ) {
5971
+ var children = config.children;
5972
+ if (void 0 !== children)
5973
+ if (isStaticChildren)
5974
+ if (isArrayImpl(children)) {
5975
+ for (
5976
+ isStaticChildren = 0;
5977
+ isStaticChildren < children.length;
5978
+ isStaticChildren++
5979
+ )
5980
+ validateChildKeys(children[isStaticChildren]);
5981
+ Object.freeze && Object.freeze(children);
5982
+ } else
5983
+ console.error(
5984
+ "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
5985
+ );
5986
+ else validateChildKeys(children);
5987
+ if (hasOwnProperty.call(config, "key")) {
5988
+ children = getComponentNameFromType(type);
5989
+ var keys = Object.keys(config).filter(function (k) {
5990
+ return "key" !== k;
5991
+ });
5992
+ isStaticChildren =
5993
+ 0 < keys.length
5994
+ ? "{key: someKey, " + keys.join(": ..., ") + ": ...}"
5995
+ : "{key: someKey}";
5996
+ didWarnAboutKeySpread[children + isStaticChildren] ||
5997
+ ((keys =
5998
+ 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}"),
5999
+ console.error(
6000
+ 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
6001
+ isStaticChildren,
6002
+ children,
6003
+ keys,
6004
+ children
6005
+ ),
6006
+ (didWarnAboutKeySpread[children + isStaticChildren] = true));
6007
+ }
6008
+ children = null;
6009
+ void 0 !== maybeKey &&
6010
+ (checkKeyStringCoercion(maybeKey), (children = "" + maybeKey));
6011
+ hasValidKey(config) &&
6012
+ (checkKeyStringCoercion(config.key), (children = "" + config.key));
6013
+ if ("key" in config) {
6014
+ maybeKey = {};
6015
+ for (var propName in config)
6016
+ "key" !== propName && (maybeKey[propName] = config[propName]);
6017
+ } else maybeKey = config;
6018
+ children &&
6019
+ defineKeyPropWarningGetter(
6020
+ maybeKey,
6021
+ "function" === typeof type
6022
+ ? type.displayName || type.name || "Unknown"
6023
+ : type
6024
+ );
6025
+ return ReactElement(
6026
+ type,
6027
+ children,
6028
+ maybeKey,
6029
+ getOwner(),
6030
+ debugStack,
6031
+ debugTask
6032
+ );
6033
+ }
6034
+ function validateChildKeys(node) {
6035
+ isValidElement(node)
6036
+ ? node._store && (node._store.validated = 1)
6037
+ : "object" === typeof node &&
6038
+ null !== node &&
6039
+ node.$$typeof === REACT_LAZY_TYPE &&
6040
+ ("fulfilled" === node._payload.status
6041
+ ? isValidElement(node._payload.value) &&
6042
+ node._payload.value._store &&
6043
+ (node._payload.value._store.validated = 1)
6044
+ : node._store && (node._store.validated = 1));
6045
+ }
6046
+ function isValidElement(object) {
6047
+ return (
6048
+ "object" === typeof object &&
6049
+ null !== object &&
6050
+ object.$$typeof === REACT_ELEMENT_TYPE
6051
+ );
6052
+ }
6053
+ var React = requireReact(),
6054
+ REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"),
6055
+ REACT_PORTAL_TYPE = Symbol.for("react.portal"),
6056
+ REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"),
6057
+ REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"),
6058
+ REACT_PROFILER_TYPE = Symbol.for("react.profiler"),
6059
+ REACT_CONSUMER_TYPE = Symbol.for("react.consumer"),
6060
+ REACT_CONTEXT_TYPE = Symbol.for("react.context"),
6061
+ REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"),
6062
+ REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"),
6063
+ REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"),
6064
+ REACT_MEMO_TYPE = Symbol.for("react.memo"),
6065
+ REACT_LAZY_TYPE = Symbol.for("react.lazy"),
6066
+ REACT_ACTIVITY_TYPE = Symbol.for("react.activity"),
6067
+ REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"),
6068
+ ReactSharedInternals =
6069
+ React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
6070
+ hasOwnProperty = Object.prototype.hasOwnProperty,
6071
+ isArrayImpl = Array.isArray,
6072
+ createTask = console.createTask
6073
+ ? console.createTask
6074
+ : function () {
6075
+ return null;
6076
+ };
6077
+ React = {
6078
+ react_stack_bottom_frame: function (callStackForError) {
6079
+ return callStackForError();
6080
+ }
6081
+ };
6082
+ var specialPropKeyWarningShown;
6083
+ var didWarnAboutElementRef = {};
6084
+ var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(
6085
+ React,
6086
+ UnknownOwner
6087
+ )();
6088
+ var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
6089
+ var didWarnAboutKeySpread = {};
6090
+ reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
6091
+ reactJsxRuntime_development.jsx = function (type, config, maybeKey) {
6092
+ var trackActualOwner =
6093
+ 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
6094
+ return jsxDEVImpl(
6095
+ type,
6096
+ config,
6097
+ maybeKey,
6098
+ false,
6099
+ trackActualOwner
6100
+ ? Error("react-stack-top-frame")
6101
+ : unknownOwnerDebugStack,
6102
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
6103
+ );
6104
+ };
6105
+ reactJsxRuntime_development.jsxs = function (type, config, maybeKey) {
6106
+ var trackActualOwner =
6107
+ 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
6108
+ return jsxDEVImpl(
6109
+ type,
6110
+ config,
6111
+ maybeKey,
6112
+ true,
6113
+ trackActualOwner
6114
+ ? Error("react-stack-top-frame")
6115
+ : unknownOwnerDebugStack,
6116
+ trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
6117
+ );
6118
+ };
6119
+ })();
6120
+ return reactJsxRuntime_development;
6121
+ }
6122
+
6123
+ var hasRequiredJsxRuntime;
6124
+
6125
+ function requireJsxRuntime () {
6126
+ if (hasRequiredJsxRuntime) return jsxRuntime.exports;
6127
+ hasRequiredJsxRuntime = 1;
6128
+
6129
+ if (process.env.NODE_ENV === 'production') {
6130
+ jsxRuntime.exports = requireReactJsxRuntime_production();
6131
+ } else {
6132
+ jsxRuntime.exports = requireReactJsxRuntime_development();
6133
+ }
6134
+ return jsxRuntime.exports;
6135
+ }
6136
+
6137
+ var jsxRuntimeExports = requireJsxRuntime();
6138
+
6139
+ const mapBloodGroupToApi = (uiBloodGroup) => {
6140
+ const bloodGroupMap = {
6141
+ "A+": "A_POSITIVE",
6142
+ "A-": "A_NEGATIVE",
6143
+ "B+": "B_POSITIVE",
6144
+ "B-": "B_NEGATIVE",
6145
+ "AB+": "AB_POSITIVE",
6146
+ "AB-": "AB_NEGATIVE",
6147
+ "O+": "O_POSITIVE",
6148
+ "O-": "O_NEGATIVE",
6149
+ };
6150
+ return bloodGroupMap[uiBloodGroup];
6151
+ };
6152
+
6153
+ var reactExports = requireReact();
6154
+ var React = /*@__PURE__*/getDefaultExportFromCjs(reactExports);
6155
+
6156
+ const defaultTheme = {
6157
+ name: "default",
6158
+ colors: {
6159
+ primary: "#27903F",
6160
+ primaryHover: "#218838",
6161
+ primaryActive: "#1e7835",
6162
+ secondary: "#009b4d",
6163
+ secondaryHover: "#008840",
6164
+ accent: "#10b981",
6165
+ accentHover: "#059669",
6166
+ background: "#f6f8fa",
6167
+ backgroundSecondary: "#f9fafb",
6168
+ backgroundTertiary: "#fff",
6169
+ surface: "#fff",
6170
+ surfaceHover: "#f9fafb",
6171
+ border: "#e5e7eb",
6172
+ borderHover: "#d1d5db",
6173
+ borderFocus: "#27903F",
6174
+ text: "#111827",
6175
+ textSecondary: "#374151",
6176
+ textTertiary: "#4E8F50",
6177
+ textDisabled: "#9ca3af",
6178
+ textOnPrimary: "#fff",
6179
+ textOnSecondary: "#fff",
6180
+ success: "#4E8F50",
6181
+ successBackground: "#ecfdf5",
6182
+ successBorder: "#6ee7b7",
6183
+ error: "#ef4444",
6184
+ errorBackground: "#fee2e2",
6185
+ errorBorder: "#fca5a5",
6186
+ warning: "#f59e0b",
6187
+ warningBackground: "#fef3c7",
6188
+ warningBorder: "#fcd34d",
6189
+ info: "#3b82f6",
6190
+ infoBackground: "#dbeafe",
6191
+ infoBorder: "#93c5fd",
6192
+ },
6193
+ typography: {
6194
+ fontFamily: "'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
6195
+ fontFamilyHeading: "'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
6196
+ fontSizeXs: "12px",
6197
+ fontSizeSm: "14px",
6198
+ fontSizeMd: "16px",
6199
+ fontSizeLg: "18px",
6200
+ fontSizeXl: "20px",
6201
+ fontSize2xl: "24px",
6202
+ fontSize3xl: "30px",
6203
+ fontWeightNormal: "400",
6204
+ fontWeightMedium: "500",
6205
+ fontWeightSemibold: "600",
6206
+ fontWeightBold: "700",
6207
+ lineHeightTight: "1.25",
6208
+ lineHeightNormal: "1.5",
6209
+ lineHeightRelaxed: "1.75",
6210
+ },
6211
+ spacing: {
6212
+ xs: "4px",
6213
+ sm: "8px",
6214
+ md: "12px",
6215
+ lg: "16px",
6216
+ xl: "20px",
6217
+ "2xl": "24px",
6218
+ "3xl": "32px",
6219
+ "4xl": "40px",
6220
+ },
6221
+ shadows: {
6222
+ none: "none",
6223
+ sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
6224
+ md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
6225
+ lg: "0 8px 24px rgba(16, 24, 40, 0.08)",
6226
+ xl: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
6227
+ "2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
6228
+ },
6229
+ radii: {
6230
+ none: "0",
6231
+ sm: "4px",
6232
+ md: "8px",
6233
+ lg: "12px",
6234
+ xl: "16px",
6235
+ full: "9999px",
6236
+ },
6237
+ transitions: {
6238
+ fast: "150ms cubic-bezier(0.4, 0, 0.2, 1)",
6239
+ normal: "200ms cubic-bezier(0.4, 0, 0.2, 1)",
6240
+ slow: "300ms cubic-bezier(0.4, 0, 0.2, 1)",
6241
+ },
6242
+ breakpoints: {
6243
+ mobile: "320px",
6244
+ tablet: "768px",
6245
+ desktop: "1024px",
6246
+ wide: "1280px",
6247
+ },
6248
+ };
6249
+
6250
+ const ThemeContext = reactExports.createContext(undefined);
6251
+ function useTheme() {
6252
+ const context = React.useContext(ThemeContext);
6253
+ return context?.theme || defaultTheme;
6254
+ }
6255
+
6256
+ function getContainerStyles(theme, prefix = "medos", breakpoint) {
6257
+ const isMobile = breakpoint === "mobile";
6258
+ const isTablet = breakpoint === "tablet";
6259
+ return {
6260
+ container: {
6261
+ display: "flex",
6262
+ justifyContent: "center",
6263
+ padding: isMobile ? "16px" : "20px",
6264
+ fontFamily: theme.typography.fontFamily,
6265
+ background: theme.colors.background,
6266
+ },
6267
+ card: {
6268
+ width: "100%",
6269
+ maxWidth: isMobile || isTablet ? "100%" : 720,
6270
+ background: theme.colors.surface,
6271
+ borderRadius: "12px",
6272
+ boxShadow: "0 4px 12px rgba(0, 0, 0, 0.08)",
6273
+ padding: isMobile ? "20px" : "24px",
6274
+ boxSizing: "border-box",
6275
+ },
6276
+ header: {
6277
+ display: "flex",
6278
+ alignItems: "center",
6279
+ justifyContent: "space-between",
6280
+ marginBottom: "20px",
6281
+ flexWrap: isMobile ? "wrap" : "nowrap",
6282
+ },
6283
+ title: {
6284
+ marginLeft: isMobile ? 0 : 10,
6285
+ fontSize: isMobile ? "18px" : "20px",
6286
+ fontWeight: 600,
6287
+ color: theme.colors.text,
6288
+ margin: 0,
6289
+ },
6290
+ section: {
6291
+ marginTop: "16px",
6292
+ },
6293
+ errorMessage: {
6294
+ marginBottom: "16px",
6295
+ padding: "12px 16px",
6296
+ borderRadius: "8px",
6297
+ backgroundColor: theme.colors.errorBackground,
6298
+ color: theme.colors.error,
6299
+ fontWeight: 500,
6300
+ fontSize: "14px",
6301
+ border: `1px solid ${theme.colors.error}20`,
6302
+ },
6303
+ content: {
6304
+ padding: isMobile ? "16px 0 16px 0" : "24px 0 24px 0",
6305
+ },
6306
+ actions: {
6307
+ display: "flex",
6308
+ gap: "12px",
6309
+ marginTop: "24px",
6310
+ paddingTop: "20px",
6311
+ borderTop: `1px solid ${theme.colors.border}`,
6312
+ justifyContent: isMobile ? "stretch" : "flex-end",
6313
+ flexDirection: isMobile ? "column" : "row",
6314
+ },
6315
+ branding: {
6316
+ display: "flex",
6317
+ alignItems: "center",
6318
+ justifyContent: "center",
6319
+ gap: "8px",
6320
+ marginTop: isMobile ? "16px" : "24px",
6321
+ paddingTop: isMobile ? "12px" : "16px",
6322
+ borderTop: `1px solid ${theme.colors.border}`,
6323
+ opacity: 0.8,
6324
+ },
6325
+ poweredBy: {
6326
+ fontSize: "12px",
6327
+ color: theme.colors.textSecondary,
6328
+ fontWeight: 500,
6329
+ },
6330
+ };
6331
+ }
6332
+ function getButtonStyles(theme, prefix = "medos", breakpoint) {
6333
+ const isMobile = breakpoint === "mobile";
6334
+ const minHeight = isMobile ? "44px" : "40px";
6335
+ const basePadding = isMobile ? "12px 20px" : "10px 20px";
6336
+ const borderRadius = "8px";
6337
+ return {
6338
+ primary: {
6339
+ background: theme.colors.secondary,
6340
+ color: theme.colors.textOnSecondary,
6341
+ border: "none",
6342
+ padding: basePadding,
6343
+ borderRadius,
6344
+ cursor: "pointer",
6345
+ fontWeight: 600,
6346
+ fontSize: "14px",
6347
+ transition: "all 0.2s ease",
6348
+ minHeight,
6349
+ width: isMobile ? "100%" : "auto",
6350
+ boxShadow: "0 1px 2px rgba(0, 0, 0, 0.05)",
6351
+ lineHeight: "1.5",
6352
+ },
6353
+ primaryHover: {
6354
+ background: theme.colors.secondaryHover,
6355
+ boxShadow: "0 2px 4px rgba(0, 0, 0, 0.1)",
6356
+ },
6357
+ primaryDisabled: {
6358
+ opacity: 0.6,
6359
+ cursor: "not-allowed",
6360
+ },
6361
+ secondary: {
6362
+ background: theme.colors.surface,
6363
+ color: theme.colors.primary,
6364
+ border: `1px solid ${theme.colors.border}`,
6365
+ padding: basePadding,
6366
+ borderRadius,
6367
+ cursor: "pointer",
6368
+ fontWeight: 600,
6369
+ fontSize: "14px",
6370
+ transition: "all 0.2s ease",
6371
+ minHeight,
6372
+ width: isMobile ? "100%" : "auto",
6373
+ lineHeight: "1.5",
6374
+ },
6375
+ secondaryHover: {
6376
+ background: theme.colors.surfaceHover,
6377
+ borderColor: theme.colors.borderHover,
6378
+ },
6379
+ outline: {
6380
+ background: "transparent",
6381
+ color: theme.colors.text,
6382
+ border: `1px solid ${theme.colors.border}`,
6383
+ padding: basePadding,
6384
+ borderRadius,
6385
+ cursor: "pointer",
6386
+ fontWeight: 500,
6387
+ fontSize: "14px",
6388
+ transition: "all 0.2s ease",
6389
+ minHeight,
6390
+ width: isMobile ? "100%" : "auto",
6391
+ lineHeight: "1.5",
6392
+ },
6393
+ outlineHover: {
6394
+ background: theme.colors.backgroundSecondary,
6395
+ borderColor: theme.colors.borderHover,
6396
+ },
6397
+ ghost: {
6398
+ background: "transparent",
6399
+ color: theme.colors.primary,
6400
+ border: "none",
6401
+ padding: basePadding,
6402
+ borderRadius,
6403
+ cursor: "pointer",
6404
+ fontWeight: 500,
6405
+ fontSize: "14px",
6406
+ transition: "all 0.2s ease",
6407
+ minHeight,
6408
+ width: isMobile ? "100%" : "auto",
6409
+ lineHeight: "1.5",
6410
+ },
6411
+ ghostHover: {
6412
+ background: `${theme.colors.primary}10`,
6413
+ },
6414
+ };
6415
+ }
6416
+ function getPhoneVerifyStyles(theme, prefix = "medos", breakpoint) {
6417
+ const isMobile = breakpoint === "mobile";
6418
+ const borderRadius = "12px";
6419
+ const cardBorder = `1px solid ${theme.colors.border}`;
6420
+ return {
6421
+ container: {
6422
+ border: cardBorder,
6423
+ borderRadius,
6424
+ overflow: "hidden",
6425
+ backgroundColor: theme.colors.surface,
6426
+ boxShadow: "0 1px 3px rgba(0, 0, 0, 0.04)",
6427
+ },
6428
+ header: {
6429
+ padding: isMobile ? "16px 20px" : "18px 24px",
6430
+ borderBottom: cardBorder,
6431
+ backgroundColor: theme.colors.primary,
6432
+ color: theme.colors.textOnPrimary,
6433
+ },
6434
+ title: {
6435
+ fontSize: isMobile ? "16px" : "18px",
6436
+ fontWeight: 600,
6437
+ margin: 0,
6438
+ color: theme.colors.textOnPrimary,
6439
+ },
6440
+ content: {
6441
+ padding: isMobile ? "20px" : "24px",
6442
+ },
6443
+ label: {
6444
+ display: "block",
6445
+ fontSize: "14px",
6446
+ fontWeight: 500,
6447
+ color: theme.colors.text,
6448
+ marginBottom: "8px",
6449
+ },
6450
+ phoneInputContainer: {
6451
+ display: "flex",
6452
+ gap: "10px",
6453
+ flexDirection: isMobile ? "column" : "row",
6454
+ },
6455
+ phoneInput: {
6456
+ flex: 1,
6457
+ width: "100%",
6458
+ padding: "10px 14px",
6459
+ borderRadius: "8px",
6460
+ border: `1px solid ${theme.colors.border}`,
6461
+ fontSize: "14px",
6462
+ outline: "none",
6463
+ color: theme.colors.text,
6464
+ boxSizing: "border-box",
6465
+ transition: "border-color 0.2s ease, box-shadow 0.2s ease",
6466
+ minHeight: isMobile ? "44px" : "40px",
6467
+ backgroundColor: theme.colors.surface,
6468
+ },
6469
+ phoneInputFocus: {
6470
+ borderColor: theme.colors.primary,
6471
+ boxShadow: `0 0 0 3px ${theme.colors.primary}15`,
6472
+ },
6473
+ phoneDisplay: {
6474
+ padding: "10px 14px",
6475
+ background: theme.colors.backgroundSecondary,
6476
+ borderRadius: "8px",
6477
+ fontSize: "14px",
6478
+ color: theme.colors.text,
6479
+ fontWeight: 500,
6480
+ border: `1px solid ${theme.colors.border}`,
6481
+ },
6482
+ otpInput: {
6483
+ width: "100%",
6484
+ padding: "10px 14px",
6485
+ border: `1px solid ${theme.colors.border}`,
6486
+ borderRadius: "8px",
6487
+ fontSize: "14px",
6488
+ outline: "none",
6489
+ color: theme.colors.text,
6490
+ boxSizing: "border-box",
6491
+ transition: "border-color 0.2s ease, box-shadow 0.2s ease",
6492
+ backgroundColor: theme.colors.surface,
6493
+ },
6494
+ otpInputFocus: {
6495
+ borderColor: theme.colors.primary,
6496
+ boxShadow: `0 0 0 3px ${theme.colors.primary}15`,
6497
+ },
6498
+ otpHint: {
6499
+ marginTop: "8px",
6500
+ fontSize: "12px",
6501
+ color: theme.colors.textSecondary,
6502
+ },
6503
+ successMessage: {
6504
+ marginTop: "20px",
6505
+ padding: "16px",
6506
+ borderRadius: "8px",
6507
+ backgroundColor: theme.colors.successBackground,
6508
+ border: `1px solid ${theme.colors.success}`,
6509
+ display: "flex",
6510
+ alignItems: "center",
6511
+ gap: "12px",
6512
+ },
6513
+ successIcon: {
6514
+ fontSize: "24px",
6515
+ color: theme.colors.success,
6516
+ },
6517
+ successTitle: {
6518
+ fontSize: "14px",
6519
+ fontWeight: 600,
6520
+ color: theme.colors.success,
6521
+ },
6522
+ successSubtitle: {
6523
+ fontSize: "12px",
6524
+ color: theme.colors.textSecondary,
6525
+ marginTop: "2px",
6526
+ },
6527
+ footer: {
6528
+ padding: isMobile ? "16px 20px" : "18px 24px",
6529
+ borderTop: `1px solid ${theme.colors.border}`,
6530
+ backgroundColor: theme.colors.surface,
6531
+ display: "flex",
6532
+ gap: "12px",
6533
+ justifyContent: isMobile ? "stretch" : "flex-end",
6534
+ flexDirection: isMobile ? "column" : "row",
6535
+ },
6536
+ };
6537
+ }
6538
+ function getPatientDetailsStyles(theme, prefix = "medos", breakpoint) {
6539
+ const borderRadius = "12px";
6540
+ const cardBorder = `1px solid ${theme.colors.border}`;
6541
+ return {
6542
+ sectionCard: {
6543
+ border: cardBorder,
6544
+ borderRadius,
6545
+ marginBottom: "24px",
6546
+ overflow: "visible",
6547
+ boxShadow: "0 1px 3px rgba(0, 0, 0, 0.04)",
6548
+ },
6549
+ sectionHeader: {
6550
+ backgroundColor: theme.colors.primary,
6551
+ padding: "18px 24px",
6552
+ display: "flex",
6553
+ alignItems: "center",
6554
+ gap: "12px",
6555
+ borderBottom: cardBorder,
6556
+ color: theme.colors.textOnPrimary,
6557
+ },
6558
+ sectionTitle: {
6559
+ fontSize: "18px",
6560
+ fontWeight: 600,
6561
+ margin: 0,
6562
+ color: theme.colors.textOnPrimary,
6563
+ },
6564
+ sectionBody: {
6565
+ padding: "24px",
6566
+ },
6567
+ gridRow: {
6568
+ display: "grid",
6569
+ gridTemplateColumns: "1fr 1fr",
6570
+ gap: "20px",
6571
+ marginTop: "20px",
6572
+ },
6573
+ label: {
6574
+ display: "block",
6575
+ fontSize: "14px",
6576
+ marginBottom: "8px",
6577
+ color: theme.colors.text,
6578
+ fontWeight: 500,
6579
+ },
6580
+ input: {
6581
+ width: "100%",
6582
+ padding: "10px 14px",
6583
+ borderRadius: "8px",
6584
+ border: cardBorder,
6585
+ outline: "none",
6586
+ fontSize: "14px",
6587
+ boxSizing: "border-box",
6588
+ color: theme.colors.text,
6589
+ transition: "border-color 0.2s ease, box-shadow 0.2s ease",
6590
+ minHeight: "40px",
6591
+ backgroundColor: theme.colors.surface,
6592
+ },
6593
+ inputFocus: {
6594
+ borderColor: theme.colors.primary,
6595
+ boxShadow: `0 0 0 3px ${theme.colors.primary}15`,
6596
+ },
6597
+ phoneDisplay: {
6598
+ display: "flex",
6599
+ gap: "10px",
6600
+ flexDirection: "row",
6601
+ },
6602
+ phoneCode: {
6603
+ width: "100px",
6604
+ padding: "10px 14px",
6605
+ borderRadius: "8px",
6606
+ border: cardBorder,
6607
+ backgroundColor: theme.colors.backgroundSecondary,
6608
+ fontSize: "14px",
6609
+ boxSizing: "border-box",
6610
+ color: theme.colors.textSecondary,
6611
+ },
6612
+ phoneNumber: {
6613
+ flex: 1,
6614
+ padding: "10px 14px",
6615
+ borderRadius: "8px",
6616
+ border: cardBorder,
6617
+ backgroundColor: theme.colors.backgroundSecondary,
6618
+ fontSize: "14px",
6619
+ boxSizing: "border-box",
6620
+ color: theme.colors.textSecondary,
6621
+ },
6622
+ };
6623
+ }
6624
+ function getSuccessStyles(theme, prefix = "medos") {
6625
+ return {
6626
+ container: {
6627
+ display: "flex",
6628
+ flexDirection: "column",
6629
+ alignItems: "center",
6630
+ padding: "32px 24px",
6631
+ textAlign: "center",
6632
+ },
6633
+ header: {
6634
+ marginBottom: "24px",
6635
+ },
6636
+ iconContainer: {
6637
+ display: "flex",
6638
+ alignItems: "center",
6639
+ justifyContent: "center",
6640
+ width: "72px",
6641
+ height: "72px",
6642
+ borderRadius: "50%",
6643
+ backgroundColor: theme.colors.successBackground,
6644
+ marginBottom: "20px",
6645
+ },
6646
+ detailsContainer: {
6647
+ display: "flex",
6648
+ flexDirection: "column",
6649
+ alignItems: "center",
6650
+ gap: "12px",
6651
+ textAlign: "center",
6652
+ },
6653
+ detailsTitle: {
6654
+ fontWeight: 600,
6655
+ fontSize: "18px",
6656
+ color: theme.colors.success,
6657
+ margin: 0,
6658
+ },
6659
+ detailsList: {
6660
+ display: "flex",
6661
+ flexDirection: "column",
6662
+ gap: "4px",
6663
+ fontSize: "14px",
6664
+ width: "100%",
6665
+ maxWidth: "400px",
6666
+ textAlign: "center",
6667
+ color: theme.colors.textSecondary,
6668
+ },
6669
+ confirmationNote: {
6670
+ marginTop: "12px",
6671
+ fontSize: "14px",
6672
+ color: theme.colors.textSecondary,
6673
+ lineHeight: "1.5",
6674
+ },
6675
+ actionContainer: {
6676
+ marginTop: "32px",
6677
+ display: "flex",
6678
+ justifyContent: "center",
6679
+ },
6680
+ };
6681
+ }
6682
+ getContainerStyles(defaultTheme);
6683
+ getButtonStyles(defaultTheme);
6684
+ getPhoneVerifyStyles(defaultTheme);
6685
+ getPatientDetailsStyles(defaultTheme);
6686
+ getSuccessStyles(defaultTheme);
6687
+
6688
+ const Check = ({ className, size = 16 }) => (jsxRuntimeExports.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: jsxRuntimeExports.jsx("polyline", { points: "20 6 9 17 4 12" }) }));
6689
+
6690
+ const ChevronDownIcon = ({ className }) => (jsxRuntimeExports.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: jsxRuntimeExports.jsx("polyline", { points: "6 9 12 15 18 9" }) }));
6691
+
6692
+ const cn = (...classes) => {
6693
+ return classes.filter(Boolean).join(" ");
6694
+ };
6695
+ if (typeof document !== "undefined") {
6696
+ const styleId = "custom-select-styles";
6697
+ if (!document.getElementById(styleId)) {
6698
+ const styleElement = document.createElement("style");
6699
+ styleElement.id = styleId;
6700
+ styleElement.innerHTML = `
6701
+ /* Container */
6702
+ .select-container {
6703
+ position: relative;
6704
+ display: inline-block;
6705
+ width: 100%;
6706
+ }
6707
+
6708
+ /* Trigger Button */
6709
+ .select-trigger {
6710
+ display: flex;
6711
+ height: 40px;
6712
+ width: 100%;
6713
+ align-items: center;
6714
+ justify-content: space-between;
6715
+ white-space: nowrap;
6716
+ border-radius: 6px;
6717
+ border: 1px solid #e2e8f0;
6718
+ background-color: #fff;
6719
+ padding: 8px 12px;
6720
+ font-size: 14px;
6721
+ line-height: 1.5;
6722
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
6723
+ transition: all 0.15s ease-in-out;
6724
+ cursor: pointer;
6725
+ outline: none;
6726
+ font-family: inherit;
6727
+ text-align: left;
6728
+ }
6729
+
6730
+ .select-trigger:hover:not(:disabled) {
6731
+ background-color: #f8fafc;
6732
+ border-color: #cbd5e1;
6733
+ }
6734
+
6735
+ .select-trigger:focus:not(:disabled) {
6736
+ border-color: #94a3b8;
6737
+ box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.2);
6738
+ }
6739
+
6740
+ .select-trigger:disabled {
6741
+ cursor: not-allowed;
6742
+ opacity: 0.5;
6743
+ background-color: #f9fafb;
6744
+ }
6745
+
6746
+ .select-trigger-error {
6747
+ border-color: #ef4444;
6748
+ }
6749
+
6750
+ .select-trigger-error:focus {
6751
+ border-color: #ef4444;
6752
+ box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2);
6753
+ }
6754
+
6755
+ /* Select Value */
6756
+ .select-value {
6757
+ flex: 1;
6758
+ overflow: hidden;
6759
+ text-overflow: ellipsis;
6760
+ white-space: nowrap;
6761
+ color: #1e293b;
6762
+ }
6763
+
6764
+ .select-placeholder {
6765
+ color: #94a3b8;
6766
+ }
6767
+
6768
+ /* Select Icon */
6769
+ .select-icon {
6770
+ height: 16px;
6771
+ width: 16px;
6772
+ opacity: 0.5;
6773
+ flex-shrink: 0;
6774
+ margin-left: 8px;
6775
+ transition: transform 0.2s;
6776
+ }
6777
+
6778
+ .select-trigger[aria-expanded="true"] .select-icon {
6779
+ transform: rotate(180deg);
6780
+ }
6781
+
6782
+ .select-icon-error {
6783
+ color: #ef4444;
6784
+ }
6785
+
6786
+ /* Content Dropdown */
6787
+ .select-content {
6788
+ position: absolute;
6789
+ top: 100%;
6790
+ left: 0;
6791
+ right: 0;
6792
+ z-index: 1050;
6793
+ margin-top: 4px;
6794
+ overflow: hidden;
6795
+ border-radius: 6px;
6796
+ border: 1px solid #e2e8f0;
6797
+ background-color: #ffffff;
6798
+ color: #1e293b;
6799
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
6800
+ animation: select-show 0.15s ease-out;
6801
+ }
6802
+
6803
+ @keyframes select-show {
6804
+ from {
6805
+ opacity: 0;
6806
+ transform: translateY(-4px);
6807
+ }
6808
+ to {
6809
+ opacity: 1;
6810
+ transform: translateY(0);
6811
+ }
6812
+ }
6813
+
6814
+ /* Viewport */
6815
+ .select-viewport {
6816
+ padding: 4px;
6817
+ max-height: 256px;
6818
+ overflow-y: auto;
6819
+ }
6820
+
6821
+ /* Select Item */
6822
+ .select-item {
6823
+ position: relative;
6824
+ display: flex;
6825
+ width: 100%;
6826
+ cursor: pointer;
6827
+ user-select: none;
6828
+ align-items: center;
6829
+ border-radius: 4px;
6830
+ padding: 8px 8px 8px 32px;
6831
+ font-size: 14px;
6832
+ outline: none;
6833
+ transition: background-color 0.1s ease;
6834
+ }
6835
+
6836
+ .select-item:hover:not(.select-item-disabled) {
6837
+ background-color: #f1f5f9;
6838
+ }
6839
+
6840
+ .select-item:focus {
6841
+ background-color: #f1f5f9;
6842
+ }
6843
+
6844
+ .select-item-selected {
6845
+ background-color: #f3f4f6;
6846
+ }
6847
+
6848
+ .select-item-disabled {
6849
+ pointer-events: none;
6850
+ opacity: 0.5;
6851
+ cursor: not-allowed;
6852
+ }
6853
+
6854
+ /* Item Indicator */
6855
+ .select-item-indicator {
6856
+ position: absolute;
6857
+ left: 8px;
6858
+ display: flex;
6859
+ height: 14px;
6860
+ width: 14px;
6861
+ align-items: center;
6862
+ justify-content: center;
6863
+ }
6864
+
6865
+ /* Item Text */
6866
+ .select-item-text {
6867
+ flex: 1;
6868
+ }
6869
+
6870
+ /* Select Group */
6871
+ .select-group {
6872
+ padding: 2px 0;
6873
+ }
6874
+
6875
+ /* Select Label */
6876
+ .select-label {
6877
+ padding: 8px 8px 6px;
6878
+ font-size: 12px;
6879
+ font-weight: 600;
6880
+ color: #64748b;
6881
+ }
6882
+
6883
+ /* Select Separator */
6884
+ .select-separator {
6885
+ margin: 4px 0;
6886
+ height: 1px;
6887
+ background-color: #e2e8f0;
6888
+ }
6889
+
6890
+ /* Scrollbar styling */
6891
+ .select-viewport::-webkit-scrollbar {
6892
+ width: 8px;
6893
+ }
6894
+
6895
+ .select-viewport::-webkit-scrollbar-track {
6896
+ background: #f1f5f9;
6897
+ border-radius: 4px;
6898
+ }
6899
+
6900
+ .select-viewport::-webkit-scrollbar-thumb {
6901
+ background: #cbd5e1;
6902
+ border-radius: 4px;
6903
+ }
6904
+
6905
+ .select-viewport::-webkit-scrollbar-thumb:hover {
6906
+ background: #94a3b8;
6907
+ }
6908
+ `;
6909
+ document.head.appendChild(styleElement);
6910
+ }
6911
+ }
6912
+ const SelectContext = reactExports.createContext(undefined);
6913
+ const useSelectContext = () => {
6914
+ const context = reactExports.useContext(SelectContext);
6915
+ if (!context) {
6916
+ throw new Error("Select components must be used within a Select");
6917
+ }
6918
+ return context;
6919
+ };
6920
+ const Select = ({ children, value, onValueChange, defaultValue, disabled = false, }) => {
6921
+ const [isOpen, setIsOpen] = reactExports.useState(false);
6922
+ const [selectedValue, setSelectedValue] = reactExports.useState(value || defaultValue || "");
6923
+ const [selectedLabel, setSelectedLabel] = reactExports.useState("");
6924
+ const triggerRef = reactExports.useRef(null);
6925
+ const contentRef = reactExports.useRef(null);
6926
+ reactExports.useEffect(() => {
6927
+ if (value !== undefined) {
6928
+ setSelectedValue(value);
6929
+ }
6930
+ }, [value]);
6931
+ reactExports.useEffect(() => {
6932
+ const handleClickOutside = (event) => {
6933
+ if (triggerRef.current &&
6934
+ contentRef.current &&
6935
+ !triggerRef.current.contains(event.target) &&
6936
+ !contentRef.current.contains(event.target)) {
6937
+ setIsOpen(false);
6938
+ }
6939
+ };
6940
+ if (isOpen) {
6941
+ document.addEventListener("mousedown", handleClickOutside);
6942
+ return () => document.removeEventListener("mousedown", handleClickOutside);
6943
+ }
6944
+ }, [isOpen]);
6945
+ const handleSelect = (value, label) => {
6946
+ setSelectedValue(value);
6947
+ setSelectedLabel(label);
6948
+ if (onValueChange) {
6949
+ onValueChange(value);
6950
+ }
6951
+ setIsOpen(false);
6952
+ };
6953
+ return (jsxRuntimeExports.jsx(SelectContext.Provider, { value: {
6954
+ isOpen,
6955
+ setIsOpen,
6956
+ selectedValue,
6957
+ selectedLabel,
6958
+ handleSelect,
6959
+ triggerRef,
6960
+ contentRef,
6961
+ disabled,
6962
+ }, children: jsxRuntimeExports.jsx("div", { className: "select-container", children: children }) }));
6963
+ };
6964
+ const SelectTrigger = reactExports.forwardRef(({ children, className, error = false, ...props }, ref) => {
6965
+ const { isOpen, setIsOpen, triggerRef, disabled } = useSelectContext();
6966
+ return (jsxRuntimeExports.jsxs("button", { ref: triggerRef, type: "button", className: cn("select-trigger", error && "select-trigger-error", className), onClick: () => !disabled && setIsOpen(!isOpen), disabled: disabled, "aria-expanded": isOpen, "aria-haspopup": "listbox", ...props, children: [children, jsxRuntimeExports.jsx(ChevronDownIcon, { className: cn("select-icon", error && "select-icon-error") })] }));
6967
+ });
6968
+ SelectTrigger.displayName = "SelectTrigger";
6969
+ const SelectValue = ({ placeholder = "Select...", }) => {
6970
+ const { selectedLabel, selectedValue } = useSelectContext();
6971
+ return (jsxRuntimeExports.jsx("span", { className: cn("select-value", !selectedValue && "select-placeholder"), children: selectedLabel || placeholder }));
6972
+ };
6973
+ const SelectContent = reactExports.forwardRef(({ children, className, ...props }, ref) => {
6974
+ const { isOpen, contentRef } = useSelectContext();
6975
+ if (!isOpen)
6976
+ return null;
6977
+ return (jsxRuntimeExports.jsx("div", { ref: contentRef, className: cn("select-content", className), role: "listbox", ...props, children: jsxRuntimeExports.jsx("div", { className: "select-viewport", children: children }) }));
6978
+ });
6979
+ SelectContent.displayName = "SelectContent";
6980
+ const SelectItem = reactExports.forwardRef(({ children, value, className, disabled = false, ...props }, ref) => {
6981
+ const { selectedValue, handleSelect } = useSelectContext();
6982
+ const isSelected = selectedValue === value;
6983
+ return (jsxRuntimeExports.jsxs("div", { ref: ref, className: cn("select-item", isSelected && "select-item-selected", disabled && "select-item-disabled", className), onClick: () => !disabled && handleSelect(value, children), role: "option", "aria-selected": isSelected, "data-disabled": disabled, ...props, children: [isSelected && (jsxRuntimeExports.jsx("span", { className: "select-item-indicator", children: jsxRuntimeExports.jsx(Check, {}) })), jsxRuntimeExports.jsx("span", { className: "select-item-text", children: children })] }));
6984
+ });
6985
+ SelectItem.displayName = "SelectItem";
6986
+
6987
+ function useMediaQuery(query) {
6988
+ const [matches, setMatches] = reactExports.useState(false);
6989
+ reactExports.useEffect(() => {
6990
+ const mediaQuery = window.matchMedia(query);
6991
+ setMatches(mediaQuery.matches);
6992
+ const handler = (event) => {
6993
+ setMatches(event.matches);
6994
+ };
6995
+ if (mediaQuery.addEventListener) {
6996
+ mediaQuery.addEventListener("change", handler);
6997
+ return () => mediaQuery.removeEventListener("change", handler);
6998
+ }
6999
+ else {
7000
+ mediaQuery.addListener(handler);
7001
+ return () => mediaQuery.removeListener(handler);
7002
+ }
7003
+ }, [query]);
7004
+ return matches;
7005
+ }
7006
+ function useBreakpoint(theme) {
7007
+ const isWide = useMediaQuery(`(min-width: ${theme.breakpoints.wide})`);
7008
+ const isDesktop = useMediaQuery(`(min-width: ${theme.breakpoints.desktop})`);
7009
+ const isTablet = useMediaQuery(`(min-width: ${theme.breakpoints.tablet})`);
7010
+ if (isWide)
7011
+ return "wide";
7012
+ if (isDesktop)
7013
+ return "desktop";
7014
+ if (isTablet)
7015
+ return "tablet";
7016
+ return "mobile";
7017
+ }
7018
+
3850
7019
  const API_BASE_URL = "https://api.medos.one/v1";
3851
7020
 
3852
- let sessionToken = null;
3853
- const AuthService = {
3854
- async init(apiKey) {
7021
+ const WorkspaceService = {
7022
+ async fetchWorkspace() {
3855
7023
  try {
3856
- const res = await axios.post(`${API_BASE_URL}/auth/session?api_key=${apiKey}`, {});
3857
- const token = res.data?.access_token;
3858
- if (!token || typeof token !== "string") {
3859
- throw new Error("Invalid session token response");
7024
+ const client = await MedosClient.ensureInitialized();
7025
+ const res = await client.get("/workspaces");
7026
+ if (!res.data || typeof res.data.workspaceId !== "number") {
7027
+ throw new Error("Invalid workspace response");
3860
7028
  }
3861
- sessionToken = token;
3862
- return token;
7029
+ return res.data;
3863
7030
  }
3864
- catch (e) {
3865
- throw new Error(`Failed to initialize session: ${e.message}`);
7031
+ catch (error) {
7032
+ throw new Error(`Failed to fetch workspace: ${error.message}`);
3866
7033
  }
3867
7034
  },
3868
- getToken() {
3869
- return sessionToken;
3870
- },
3871
- clear() {
3872
- sessionToken = null;
7035
+ async fetchTheme() {
7036
+ try {
7037
+ const workspace = await this.fetchWorkspace();
7038
+ return workspace.theme;
7039
+ }
7040
+ catch (error) {
7041
+ throw new Error(`Failed to fetch workspace theme: ${error.message}`);
7042
+ }
3873
7043
  },
3874
7044
  };
3875
7045
 
7046
+ var WorkspaceService$1 = /*#__PURE__*/Object.freeze({
7047
+ __proto__: null,
7048
+ WorkspaceService: WorkspaceService
7049
+ });
7050
+
3876
7051
  const AppointmentService = {
7052
+ async arePackagesConfigured() {
7053
+ try {
7054
+ const workspace = await WorkspaceService.fetchWorkspace();
7055
+ return workspace.arePackagesConfigured === true;
7056
+ }
7057
+ catch (error) {
7058
+ console.warn("Failed to check package configuration, defaulting to legacy endpoint:", error);
7059
+ return false;
7060
+ }
7061
+ },
3877
7062
  async getAddresses() {
3878
7063
  const client = await MedosClient.ensureInitialized();
3879
7064
  const res = await client.get("/workspaces");
@@ -3947,16 +7132,99 @@
3947
7132
  }
3948
7133
  return [];
3949
7134
  },
3950
- async createAppointment(payload) {
7135
+ transformToUnifiedPayload(payload) {
7136
+ const bookingType = payload.bookingType || "ONE_TIME_APPOINTMENT";
7137
+ if (bookingType === "PACKAGE_PURCHASE" ||
7138
+ bookingType === "USE_ACTIVE_PACKAGE") {
7139
+ if (!payload.packageConfigId) {
7140
+ throw new Error("packageConfigId is required when bookingType is PACKAGE_PURCHASE");
7141
+ }
7142
+ if (!payload.packageAmount) {
7143
+ throw new Error("packageAmount is required when bookingType is PACKAGE_PURCHASE");
7144
+ }
7145
+ }
7146
+ let consultationCharge;
7147
+ if (bookingType === "PACKAGE_PURCHASE" ||
7148
+ bookingType === "USE_ACTIVE_PACKAGE") {
7149
+ consultationCharge = 0;
7150
+ }
7151
+ else {
7152
+ consultationCharge =
7153
+ typeof payload.consultationCharge === "string"
7154
+ ? Number.parseFloat(payload.consultationCharge) || 0
7155
+ : payload.consultationCharge || 0;
7156
+ }
7157
+ const completeAddress = [
7158
+ payload.patientAddress.addressLine1,
7159
+ payload.patientAddress.addressLine2,
7160
+ payload.patientAddress.city,
7161
+ payload.patientAddress.state,
7162
+ payload.patientAddress.country,
7163
+ payload.patientAddress.zipcode,
7164
+ ]
7165
+ .filter(Boolean)
7166
+ .join(", ");
7167
+ const unifiedPayload = {
7168
+ workspaceId: Number(payload.workspaceId || 0),
7169
+ workspaceAddressId: Number(payload.workspaceAddressId),
7170
+ doctorId: Number(payload.doctorId),
7171
+ mode: (payload.mode || "OFFLINE"),
7172
+ appointmentDate: payload.appointmentDate,
7173
+ fromDateTimeTs: payload.fromDateTimeTs,
7174
+ toDateTimeTs: payload.toDateTimeTs,
7175
+ bookingType,
7176
+ consultationCharge,
7177
+ paymentMode: payload.paymentMode || "CASH",
7178
+ type: payload.type || "CONSULTATION",
7179
+ source: payload.source || "SDK_POWERED_WEBSITE",
7180
+ patientPayload: {
7181
+ id: payload.patientPayload.id,
7182
+ firstName: payload.patientPayload.firstName,
7183
+ lastName: payload.patientPayload.lastName,
7184
+ email: payload.patientPayload.email || "",
7185
+ countryCode: payload.patientPayload.countryCode,
7186
+ phoneNumber: payload.patientPayload.phoneNumber,
7187
+ dob: payload.patientPayload.dob || "",
7188
+ age: payload.patientPayload.age || 0,
7189
+ gender: (payload.patientPayload.gender || "OTHER"),
7190
+ bloodGroup: payload.patientPayload.bloodGroup
7191
+ ? mapBloodGroupToApi(payload.patientPayload.bloodGroup)
7192
+ : "UNKNOWN",
7193
+ },
7194
+ patientAddress: {
7195
+ completeAddress,
7196
+ addressLine1: payload.patientAddress.addressLine1,
7197
+ addressLine2: payload.patientAddress.addressLine2,
7198
+ city: payload.patientAddress.city,
7199
+ state: payload.patientAddress.state,
7200
+ country: payload.patientAddress.country,
7201
+ zipcode: payload.patientAddress.zipcode,
7202
+ landmark: payload.patientAddress.landmark,
7203
+ countryCode: payload.patientAddress.countryCode || "",
7204
+ phoneNumber: payload.patientAddress.phoneNumber || "",
7205
+ patientId: payload.patientAddress.patientId || 0,
7206
+ },
7207
+ };
7208
+ if (bookingType === "PACKAGE_PURCHASE" ||
7209
+ bookingType === "USE_ACTIVE_PACKAGE") {
7210
+ unifiedPayload.packageConfigId = payload.packageConfigId;
7211
+ unifiedPayload.packageAmount = payload.packageAmount;
7212
+ }
7213
+ if (payload.patientPackageId) {
7214
+ unifiedPayload.patientPackageId = payload.patientPackageId;
7215
+ }
7216
+ return unifiedPayload;
7217
+ },
7218
+ async createLegacyAppointment(payload) {
3951
7219
  const client = await MedosClient.ensureInitialized();
3952
- const appointmentData = {
7220
+ const legacyPayload = {
3953
7221
  workspaceAddressId: payload.workspaceAddressId,
3954
7222
  doctorId: payload.doctorId,
3955
7223
  mode: payload.mode || "OFFLINE",
3956
7224
  appointmentDate: payload.appointmentDate,
3957
7225
  fromDateTimeTs: payload.fromDateTimeTs,
3958
7226
  toDateTimeTs: payload.toDateTimeTs,
3959
- consultationCharge: payload.consultationCharge || "0",
7227
+ consultationCharge: payload.consultationCharge,
3960
7228
  type: payload.type || "CONSULTATION",
3961
7229
  source: payload.source || "SDK_POWERED_WEBSITE",
3962
7230
  patientPayload: payload.patientPayload,
@@ -3964,7 +7232,7 @@
3964
7232
  };
3965
7233
  if (payload.attachments && payload.attachments.length > 0) {
3966
7234
  const formData = new FormData();
3967
- const payloadString = JSON.stringify(appointmentData);
7235
+ const payloadString = JSON.stringify(legacyPayload);
3968
7236
  formData.append("payload", payloadString);
3969
7237
  payload.attachments.forEach((file) => {
3970
7238
  formData.append("attachments", file);
@@ -3973,7 +7241,38 @@
3973
7241
  return res.data;
3974
7242
  }
3975
7243
  else {
3976
- const res = await client.post("/appointments/book-appointment", appointmentData, {
7244
+ const res = await client.post("/appointments/book-appointment", legacyPayload, {
7245
+ headers: {
7246
+ "Content-Type": "application/json",
7247
+ },
7248
+ });
7249
+ return res.data;
7250
+ }
7251
+ },
7252
+ async createAppointment(payload) {
7253
+ const packagesConfigured = await this.arePackagesConfigured();
7254
+ if (packagesConfigured) {
7255
+ return this.createUnifiedAppointment(payload);
7256
+ }
7257
+ else {
7258
+ return this.createLegacyAppointment(payload);
7259
+ }
7260
+ },
7261
+ async createUnifiedAppointment(payload) {
7262
+ const client = await MedosClient.ensureInitialized();
7263
+ const unifiedPayload = this.transformToUnifiedPayload(payload);
7264
+ if (payload.attachments && payload.attachments.length > 0) {
7265
+ const formData = new FormData();
7266
+ const payloadString = JSON.stringify(unifiedPayload);
7267
+ formData.append("payload", payloadString);
7268
+ payload.attachments.forEach((file) => {
7269
+ formData.append("attachments", file);
7270
+ });
7271
+ const res = await client.post("/appointments/book-appointment-unified", formData);
7272
+ return res.data;
7273
+ }
7274
+ else {
7275
+ const res = await client.post("/appointments/book-appointment-unified", unifiedPayload, {
3977
7276
  headers: {
3978
7277
  "Content-Type": "application/json",
3979
7278
  },
@@ -3996,6 +7295,102 @@
3996
7295
  },
3997
7296
  };
3998
7297
 
7298
+ const validateName = (name) => {
7299
+ return name.trim().length > 0;
7300
+ };
7301
+ const validateEmail = (email) => {
7302
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
7303
+ return emailRegex.test(email);
7304
+ };
7305
+ const validatePhoneNumber = (phone) => {
7306
+ const cleaned = phone.replace(/\D/g, "");
7307
+ return cleaned.length >= 7 && cleaned.length <= 15;
7308
+ };
7309
+ const validateSubject = (subject) => {
7310
+ return subject.trim().length > 0;
7311
+ };
7312
+ const validateMessage = (message) => {
7313
+ const trimmed = message.trim();
7314
+ return trimmed.length > 0;
7315
+ };
7316
+ const validateCountryCode = (code) => {
7317
+ return /^\+[1-9]\d{0,3}$/.test(code);
7318
+ };
7319
+
7320
+ React.memo(({ patientName, patientEmail, countryCode, patientPhone, onNameChange, onEmailChange, onCountryCodeChange, onPhoneChange, onNext, }) => {
7321
+ const theme = useTheme();
7322
+ const breakpoint = useBreakpoint(theme);
7323
+ const PHONE_VERIFY_STYLES = React.useMemo(() => getPhoneVerifyStyles(theme, "medos", breakpoint), [theme, breakpoint]);
7324
+ const BUTTON_STYLES = React.useMemo(() => getButtonStyles(theme, "medos", breakpoint), [theme, breakpoint]);
7325
+ const CONTAINER_STYLES = React.useMemo(() => getContainerStyles(theme, "medos", breakpoint), [theme, breakpoint]);
7326
+ const styles = getStyles$1(theme);
7327
+ return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsxs("label", { style: PHONE_VERIFY_STYLES.label, children: ["Name", jsxRuntimeExports.jsx("span", { style: styles.mandatory, children: "*" })] }), jsxRuntimeExports.jsx("input", { type: "text", value: patientName, onChange: (e) => onNameChange(e.target.value), placeholder: "Enter your full name", style: PHONE_VERIFY_STYLES.phoneInput })] }), jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsx("label", { style: PHONE_VERIFY_STYLES.label, children: "Email" }), jsxRuntimeExports.jsx("input", { type: "email", value: patientEmail, onChange: (e) => onEmailChange(e.target.value), placeholder: "Enter your email", style: PHONE_VERIFY_STYLES.phoneInput })] }), jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsxs("label", { style: PHONE_VERIFY_STYLES.label, children: ["Phone Number", jsxRuntimeExports.jsx("span", { style: styles.mandatory, children: "*" })] }), jsxRuntimeExports.jsxs("div", { style: PHONE_VERIFY_STYLES.phoneInputContainer, children: [jsxRuntimeExports.jsx("input", { type: "text", value: countryCode, onChange: (e) => onCountryCodeChange(e.target.value), placeholder: "+91", style: {
7328
+ ...PHONE_VERIFY_STYLES.phoneInput,
7329
+ width: "80px",
7330
+ flex: "none",
7331
+ } }), jsxRuntimeExports.jsx("input", { type: "tel", value: patientPhone, onChange: (e) => onPhoneChange(e.target.value), placeholder: "Enter phone number", style: PHONE_VERIFY_STYLES.phoneInput })] })] }), jsxRuntimeExports.jsx("div", { style: CONTAINER_STYLES.actions, children: jsxRuntimeExports.jsx("button", { onClick: onNext, style: BUTTON_STYLES.primary, children: "Next" }) })] }));
7332
+ });
7333
+ const getStyles$1 = (theme) => ({
7334
+ mandatory: { color: theme.colors.error, marginLeft: 4 },
7335
+ });
7336
+
7337
+ React.memo(({ inquirySubject, inquiryMessage, onSubjectChange, onMessageChange, onBack, onNext, }) => {
7338
+ const theme = useTheme();
7339
+ const PHONE_VERIFY_STYLES = React.useMemo(() => getPhoneVerifyStyles(theme), [theme]);
7340
+ const BUTTON_STYLES = React.useMemo(() => getButtonStyles(theme), [theme]);
7341
+ const CONTAINER_STYLES = React.useMemo(() => getContainerStyles(theme), [theme]);
7342
+ const styles = getStyles(theme);
7343
+ return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsxs("label", { style: PHONE_VERIFY_STYLES.label, children: ["Subject", jsxRuntimeExports.jsx("span", { style: styles.mandatory, children: "*" })] }), jsxRuntimeExports.jsx("input", { type: "text", value: inquirySubject, onChange: (e) => onSubjectChange(e.target.value), placeholder: "Enter inquiry subject", style: PHONE_VERIFY_STYLES.phoneInput })] }), jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsxs("label", { style: PHONE_VERIFY_STYLES.label, children: ["Message", jsxRuntimeExports.jsx("span", { style: styles.mandatory, children: "*" })] }), jsxRuntimeExports.jsx("textarea", { value: inquiryMessage, onChange: (e) => onMessageChange(e.target.value), placeholder: "Enter your inquiry message", rows: 5, style: {
7344
+ ...PHONE_VERIFY_STYLES.otpInput,
7345
+ minHeight: "120px",
7346
+ resize: "vertical",
7347
+ fontFamily: "inherit",
7348
+ } })] }), jsxRuntimeExports.jsxs("div", { style: CONTAINER_STYLES.actions, children: [jsxRuntimeExports.jsx("button", { onClick: onBack, style: BUTTON_STYLES.secondary, children: "Back" }), jsxRuntimeExports.jsx("button", { onClick: onNext, style: BUTTON_STYLES.primary, children: "Next" })] })] }));
7349
+ });
7350
+ const getStyles = (theme) => ({
7351
+ mandatory: { color: theme.colors.error, marginLeft: 4 },
7352
+ });
7353
+
7354
+ React.memo(({ preferredContactMethod, onContactMethodChange, onBack, onSubmit, isLoading = false, }) => {
7355
+ const theme = useTheme();
7356
+ const PHONE_VERIFY_STYLES = React.useMemo(() => getPhoneVerifyStyles(theme), [theme]);
7357
+ const BUTTON_STYLES = React.useMemo(() => getButtonStyles(theme), [theme]);
7358
+ const CONTAINER_STYLES = React.useMemo(() => getContainerStyles(theme), [theme]);
7359
+ const contactOptions = [
7360
+ { value: "PHONE", label: "Phone" },
7361
+ { value: "EMAIL", label: "Email" },
7362
+ { value: "BOTH", label: "Both" },
7363
+ ];
7364
+ const handleContactMethodSelect = (value) => {
7365
+ onContactMethodChange(value);
7366
+ };
7367
+ return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsxs("div", { style: { marginBottom: "16px" }, children: [jsxRuntimeExports.jsx("label", { style: PHONE_VERIFY_STYLES.label, children: "Preferred Contact Method" }), jsxRuntimeExports.jsx("div", { style: { marginTop: "8px" }, children: jsxRuntimeExports.jsxs(Select, { value: preferredContactMethod, onValueChange: handleContactMethodSelect, children: [jsxRuntimeExports.jsx(SelectTrigger, { style: { width: "100%" }, children: jsxRuntimeExports.jsx(SelectValue, { placeholder: "Select contact method" }) }), jsxRuntimeExports.jsx(SelectContent, { children: contactOptions.map((option) => (jsxRuntimeExports.jsx(SelectItem, { value: option.value, children: option.label }, option.value))) })] }) })] }), jsxRuntimeExports.jsxs("div", { style: CONTAINER_STYLES.actions, children: [jsxRuntimeExports.jsx("button", { onClick: onBack, style: BUTTON_STYLES.secondary, children: "Back" }), jsxRuntimeExports.jsx("button", { onClick: onSubmit, style: BUTTON_STYLES.primary, children: isLoading ? "Submitting..." : "Submit" })] })] }));
7368
+ });
7369
+
7370
+ let sessionToken = null;
7371
+ const AuthService = {
7372
+ async init(apiKey) {
7373
+ try {
7374
+ const res = await axios.post(`${API_BASE_URL}/auth/session?api_key=${apiKey}`, {});
7375
+ const token = res.data?.access_token;
7376
+ if (!token || typeof token !== "string") {
7377
+ throw new Error("Invalid session token response");
7378
+ }
7379
+ sessionToken = token;
7380
+ return token;
7381
+ }
7382
+ catch (e) {
7383
+ throw new Error(`Failed to initialize session: ${e.message}`);
7384
+ }
7385
+ },
7386
+ getToken() {
7387
+ return sessionToken;
7388
+ },
7389
+ clear() {
7390
+ sessionToken = null;
7391
+ },
7392
+ };
7393
+
3999
7394
  class MedosClient {
4000
7395
  static async init({ apiKey }) {
4001
7396
  if (!apiKey) {
@@ -4127,6 +7522,13 @@
4127
7522
  }
4128
7523
  return PatientService.verifyPhoneVerificationOtp(payload);
4129
7524
  }
7525
+ static async fetchTheme() {
7526
+ if (!this.instance) {
7527
+ throw new Error("MedosClient not initialized. Call MedosClient.init() first.");
7528
+ }
7529
+ const { WorkspaceService } = await Promise.resolve().then(function () { return WorkspaceService$1; });
7530
+ return WorkspaceService.fetchTheme();
7531
+ }
4130
7532
  static get client() {
4131
7533
  if (!this.instance && !this.initPromise) {
4132
7534
  throw new Error("MedosClient not initialized. Call MedosClient.init() or MedosClient.initWithSession() first.");
@@ -4202,28 +7604,6 @@
4202
7604
  },
4203
7605
  };
4204
7606
 
4205
- const validateName = (name) => {
4206
- return name.trim().length > 0;
4207
- };
4208
- const validateEmail = (email) => {
4209
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
4210
- return emailRegex.test(email);
4211
- };
4212
- const validatePhoneNumber = (phone) => {
4213
- const cleaned = phone.replace(/\D/g, "");
4214
- return cleaned.length >= 7 && cleaned.length <= 15;
4215
- };
4216
- const validateSubject = (subject) => {
4217
- return subject.trim().length > 0;
4218
- };
4219
- const validateMessage = (message) => {
4220
- const trimmed = message.trim();
4221
- return trimmed.length > 0;
4222
- };
4223
- const validateCountryCode = (code) => {
4224
- return /^\+[1-9]\d{0,3}$/.test(code);
4225
- };
4226
-
4227
7607
  const VanillaIcons = {
4228
7608
  chevronLeft: (size = 20, className = "") => `
4229
7609
  <svg
@@ -4429,6 +7809,98 @@
4429
7809
  <circle cx="12" cy="12" r="10"></circle>
4430
7810
  <polyline points="12 6 12 12 16 14"></polyline>
4431
7811
  </svg>
7812
+ `,
7813
+ calendar: (size = 20) => `
7814
+ <svg
7815
+ xmlns="http://www.w3.org/2000/svg"
7816
+ width="${size}"
7817
+ height="${size}"
7818
+ viewBox="0 0 24 24"
7819
+ fill="none"
7820
+ stroke="currentColor"
7821
+ stroke-width="2"
7822
+ stroke-linecap="round"
7823
+ stroke-linejoin="round"
7824
+ class="medos-icon medos-icon-calendar"
7825
+ >
7826
+ <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
7827
+ <line x1="16" y1="2" x2="16" y2="6"></line>
7828
+ <line x1="8" y1="2" x2="8" y2="6"></line>
7829
+ <line x1="3" y1="10" x2="21" y2="10"></line>
7830
+ </svg>
7831
+ `,
7832
+ giftBox: (size = 20) => `
7833
+ <svg
7834
+ xmlns="http://www.w3.org/2000/svg"
7835
+ width="${size}"
7836
+ height="${size}"
7837
+ viewBox="0 0 24 24"
7838
+ fill="none"
7839
+ stroke="currentColor"
7840
+ stroke-width="2"
7841
+ stroke-linecap="round"
7842
+ stroke-linejoin="round"
7843
+ class="medos-icon medos-icon-gift"
7844
+ >
7845
+ <polyline points="20 12 20 22 4 22 4 12"></polyline>
7846
+ <rect x="2" y="7" width="20" height="5"></rect>
7847
+ <line x1="12" y1="22" x2="12" y2="7"></line>
7848
+ <path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path>
7849
+ <path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>
7850
+ </svg>
7851
+ `,
7852
+ arrowLeft: (size = 20) => `
7853
+ <svg
7854
+ xmlns="http://www.w3.org/2000/svg"
7855
+ width="${size}"
7856
+ height="${size}"
7857
+ viewBox="0 0 24 24"
7858
+ fill="none"
7859
+ stroke="currentColor"
7860
+ stroke-width="2"
7861
+ stroke-linecap="round"
7862
+ stroke-linejoin="round"
7863
+ class="medos-icon medos-icon-arrow-left"
7864
+ >
7865
+ <line x1="19" y1="12" x2="5" y2="12"></line>
7866
+ <polyline points="12 19 5 12 12 5"></polyline>
7867
+ </svg>
7868
+ `,
7869
+ users: (size = 20) => `
7870
+ <svg
7871
+ xmlns="http://www.w3.org/2000/svg"
7872
+ width="${size}"
7873
+ height="${size}"
7874
+ viewBox="0 0 24 24"
7875
+ fill="none"
7876
+ stroke="currentColor"
7877
+ stroke-width="2"
7878
+ stroke-linecap="round"
7879
+ stroke-linejoin="round"
7880
+ class="medos-icon medos-icon-users"
7881
+ >
7882
+ <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
7883
+ <circle cx="9" cy="7" r="4"></circle>
7884
+ <path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
7885
+ <path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
7886
+ </svg>
7887
+ `,
7888
+ plus: (size = 20) => `
7889
+ <svg
7890
+ xmlns="http://www.w3.org/2000/svg"
7891
+ width="${size}"
7892
+ height="${size}"
7893
+ viewBox="0 0 24 24"
7894
+ fill="none"
7895
+ stroke="currentColor"
7896
+ stroke-width="2"
7897
+ stroke-linecap="round"
7898
+ stroke-linejoin="round"
7899
+ class="medos-icon medos-icon-plus"
7900
+ >
7901
+ <line x1="12" y1="5" x2="12" y2="19"></line>
7902
+ <line x1="5" y1="12" x2="19" y2="12"></line>
7903
+ </svg>
4432
7904
  `,
4433
7905
  medosLogo: (width = 120, height = 114) => `
4434
7906
  <svg
@@ -4529,10 +8001,12 @@
4529
8001
  text-align: left;
4530
8002
  box-sizing: border-box;
4531
8003
  color: var(--medos-color-text, #111827);
8004
+ min-height: 40px;
4532
8005
  }
4533
8006
 
4534
8007
  .medos-select-trigger:hover:not(:disabled) {
4535
8008
  border-color: var(--medos-color-border-hover, #d1d5db);
8009
+ background-color: #f8fafc;
4536
8010
  }
4537
8011
 
4538
8012
  .medos-select-trigger:focus:not(:disabled) {
@@ -4566,6 +8040,8 @@
4566
8040
  overflow: hidden;
4567
8041
  text-overflow: ellipsis;
4568
8042
  white-space: nowrap;
8043
+ display: flex;
8044
+ align-items: center;
4569
8045
  }
4570
8046
 
4571
8047
  .medos-select-placeholder {
@@ -4605,6 +8081,7 @@
4605
8081
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
4606
8082
  animation: medos-select-show 0.15s ease-out;
4607
8083
  box-sizing: border-box;
8084
+ min-width: 180px;
4608
8085
  }
4609
8086
 
4610
8087
  @keyframes medos-select-show {
@@ -4640,6 +8117,7 @@
4640
8117
  transition: background-color 0.1s ease;
4641
8118
  box-sizing: border-box;
4642
8119
  color: #1e293b;
8120
+ min-height: 36px;
4643
8121
  }
4644
8122
 
4645
8123
  .medos-select-item:hover:not(.medos-select-item-disabled) {
@@ -4652,6 +8130,7 @@
4652
8130
 
4653
8131
  .medos-select-item-selected {
4654
8132
  background-color: #f3f4f6;
8133
+ font-weight: 500;
4655
8134
  }
4656
8135
 
4657
8136
  .medos-select-item-disabled {
@@ -4675,6 +8154,8 @@
4675
8154
  /* Item Text */
4676
8155
  .medos-select-item-text {
4677
8156
  flex: 1;
8157
+ display: flex;
8158
+ align-items: center;
4678
8159
  }
4679
8160
 
4680
8161
  /* Scrollbar styling */
@@ -4695,6 +8176,24 @@
4695
8176
  .medos-select-viewport::-webkit-scrollbar-thumb:hover {
4696
8177
  background: #94a3b8;
4697
8178
  }
8179
+
8180
+ /* Label styling for forms */
8181
+ .medos-form-label {
8182
+ display: block;
8183
+ font-size: 14px;
8184
+ font-weight: 500;
8185
+ margin-bottom: 6px;
8186
+ color: #374151;
8187
+ }
8188
+
8189
+ .medos-form-group {
8190
+ margin-bottom: 16px;
8191
+ }
8192
+
8193
+ /* Contact method specific styling */
8194
+ .medos-contact-method-container {
8195
+ margin-top: 8px;
8196
+ }
4698
8197
  `;
4699
8198
  document.head.appendChild(styleElement);
4700
8199
  }
@@ -4738,6 +8237,7 @@
4738
8237
  button.className = `medos-select-trigger ${this.config.error ? "medos-select-trigger-error" : ""}`;
4739
8238
  button.setAttribute("aria-expanded", this.isOpen.toString());
4740
8239
  button.setAttribute("aria-haspopup", "listbox");
8240
+ button.setAttribute("aria-label", "Select option");
4741
8241
  if (this.config.disabled) {
4742
8242
  button.disabled = true;
4743
8243
  }
@@ -4769,6 +8269,10 @@
4769
8269
  e.preventDefault();
4770
8270
  this.open();
4771
8271
  }
8272
+ else if (e.key === "ArrowUp") {
8273
+ e.preventDefault();
8274
+ this.open();
8275
+ }
4772
8276
  });
4773
8277
  }
4774
8278
  toggleOpen() {
@@ -4816,9 +8320,17 @@
4816
8320
  this.contentElement = document.createElement("div");
4817
8321
  this.contentElement.className = "medos-select-content";
4818
8322
  this.contentElement.setAttribute("role", "listbox");
4819
- this.contentElement.style.top = `${rect.bottom + scrollTop + 4}px`;
8323
+ this.contentElement.setAttribute("aria-label", "Options");
8324
+ const spaceBelow = window.innerHeight - rect.bottom;
8325
+ const spaceAbove = rect.top;
8326
+ const dropdownHeight = Math.min(256, this.options.length * 36 + 8);
8327
+ let top = rect.bottom + scrollTop + 4;
8328
+ if (spaceBelow < dropdownHeight && spaceAbove > dropdownHeight) {
8329
+ top = rect.top + scrollTop - dropdownHeight - 4;
8330
+ }
8331
+ this.contentElement.style.top = `${top}px`;
4820
8332
  this.contentElement.style.left = `${rect.left + scrollLeft}px`;
4821
- this.contentElement.style.width = `${rect.width}px`;
8333
+ this.contentElement.style.width = `${Math.max(rect.width, 180)}px`;
4822
8334
  this.contentElement.innerHTML = `
4823
8335
  <div class="medos-select-viewport">
4824
8336
  ${this.options
@@ -4833,6 +8345,7 @@
4833
8345
  data-label="${this.escapeHtml(option.label)}"
4834
8346
  ${option.disabled ? 'data-disabled="true"' : ""}
4835
8347
  tabindex="${option.disabled ? "-1" : "0"}"
8348
+ aria-label="${this.escapeHtml(option.label)}"
4836
8349
  >
4837
8350
  ${this.selectedValue === option.value
4838
8351
  ? `
@@ -4859,9 +8372,16 @@
4859
8372
  const rect = this.triggerElement.getBoundingClientRect();
4860
8373
  const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
4861
8374
  const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
4862
- this.contentElement.style.top = `${rect.bottom + scrollTop + 4}px`;
8375
+ const spaceBelow = window.innerHeight - rect.bottom;
8376
+ const spaceAbove = rect.top;
8377
+ const dropdownHeight = Math.min(256, this.options.length * 36 + 8);
8378
+ let top = rect.bottom + scrollTop + 4;
8379
+ if (spaceBelow < dropdownHeight && spaceAbove > dropdownHeight) {
8380
+ top = rect.top + scrollTop - dropdownHeight - 4;
8381
+ }
8382
+ this.contentElement.style.top = `${top}px`;
4863
8383
  this.contentElement.style.left = `${rect.left + scrollLeft}px`;
4864
- this.contentElement.style.width = `${rect.width}px`;
8384
+ this.contentElement.style.width = `${Math.max(rect.width, 180)}px`;
4865
8385
  }
4866
8386
  attachPortalEvents() {
4867
8387
  this.handleDocumentClick = (e) => {
@@ -4912,6 +8432,14 @@
4912
8432
  this.selectValue(value, label);
4913
8433
  }
4914
8434
  }
8435
+ else if (e.key === "Home") {
8436
+ e.preventDefault();
8437
+ this.focusFirstItem();
8438
+ }
8439
+ else if (e.key === "End") {
8440
+ e.preventDefault();
8441
+ this.focusLastItem();
8442
+ }
4915
8443
  });
4916
8444
  }
4917
8445
  }
@@ -4937,6 +8465,11 @@
4937
8465
  return;
4938
8466
  const currentFocused = document.activeElement;
4939
8467
  let currentIndex = items.indexOf(currentFocused);
8468
+ if (currentIndex === -1) {
8469
+ const targetIndex = direction > 0 ? 0 : items.length - 1;
8470
+ items[targetIndex]?.focus();
8471
+ return;
8472
+ }
4940
8473
  let nextIndex = currentIndex + direction;
4941
8474
  if (nextIndex < 0)
4942
8475
  nextIndex = items.length - 1;
@@ -4944,6 +8477,19 @@
4944
8477
  nextIndex = 0;
4945
8478
  items[nextIndex]?.focus();
4946
8479
  }
8480
+ focusFirstItem() {
8481
+ if (!this.contentElement)
8482
+ return;
8483
+ const firstItem = this.contentElement.querySelector(".medos-select-item:not(.medos-select-item-disabled)");
8484
+ firstItem?.focus();
8485
+ }
8486
+ focusLastItem() {
8487
+ if (!this.contentElement)
8488
+ return;
8489
+ const items = this.contentElement.querySelectorAll(".medos-select-item:not(.medos-select-item-disabled)");
8490
+ const lastItem = items[items.length - 1];
8491
+ lastItem?.focus();
8492
+ }
4947
8493
  selectValue(value, label) {
4948
8494
  this.selectedValue = value;
4949
8495
  this.selectedLabel = label;
@@ -4973,7 +8519,6 @@
4973
8519
  setDisabled(disabled) {
4974
8520
  this.config.disabled = disabled;
4975
8521
  this.renderTrigger();
4976
- this.attachTriggerEvents();
4977
8522
  }
4978
8523
  setError(error) {
4979
8524
  this.config.error = error;
@@ -4989,6 +8534,21 @@
4989
8534
  return div.innerHTML;
4990
8535
  }
4991
8536
  }
8537
+ function createContactMethodSelect(container, currentValue = "PHONE", onValueChange) {
8538
+ const contactOptions = [
8539
+ { value: "PHONE", label: "Phone" },
8540
+ { value: "EMAIL", label: "Email" },
8541
+ { value: "BOTH", label: "Both" },
8542
+ ];
8543
+ const select = new VanillaSelect(container, contactOptions, {
8544
+ placeholder: "Select contact method",
8545
+ onValueChange: (value) => {
8546
+ onValueChange?.(value);
8547
+ },
8548
+ });
8549
+ select.setValue(currentValue);
8550
+ return select;
8551
+ }
4992
8552
 
4993
8553
  function injectThemedStyles() {
4994
8554
  if (typeof document === "undefined")
@@ -5449,6 +9009,7 @@
5449
9009
  constructor(container, options) {
5450
9010
  this.mounted = true;
5451
9011
  this.countryCodeSelect = null;
9012
+ this.contactMethodSelect = null;
5452
9013
  injectThemedStyles();
5453
9014
  if (typeof container === "string") {
5454
9015
  const el = document.getElementById(container);
@@ -5498,7 +9059,7 @@
5498
9059
  this.setState({ error: "Please enter a valid name." });
5499
9060
  return false;
5500
9061
  }
5501
- if (!validateEmail(this.state.patientEmail)) {
9062
+ if (this.state.patientEmail && !validateEmail(this.state.patientEmail)) {
5502
9063
  this.setState({ error: "Please enter a valid email address." });
5503
9064
  return false;
5504
9065
  }
@@ -5614,7 +9175,7 @@
5614
9175
  ? `
5615
9176
  <div class="medos-enquiry-header">
5616
9177
  <h2 class="medos-enquiry-title">Submit Inquiry</h2>
5617
- <p class="medos-enquiry-step-indicator">Step ${this.state.step + 1} of 4</p>
9178
+ <p class="medos-enquiry-step-indicator">Step ${this.state.step + 1} of 3</p>
5618
9179
  </div>
5619
9180
 
5620
9181
  ${this.state.loading
@@ -5648,6 +9209,14 @@
5648
9209
  }
5649
9210
  }
5650
9211
  }
9212
+ if (this.state.step === 2) {
9213
+ const contactMethodContainer = this.container.querySelector("#medos-enquiry-contact-method-container");
9214
+ if (contactMethodContainer) {
9215
+ this.contactMethodSelect = createContactMethodSelect(contactMethodContainer, this.state.preferredContactMethod, (value) => {
9216
+ this.state.preferredContactMethod = value;
9217
+ });
9218
+ }
9219
+ }
5651
9220
  }
5652
9221
  renderStep() {
5653
9222
  switch (this.state.step) {
@@ -5683,7 +9252,7 @@
5683
9252
  </div>
5684
9253
 
5685
9254
  <div class="medos-form-group">
5686
- <label class="medos-label">Email Address <span class="medos-required">*</span></label>
9255
+ <label class="medos-label">Email Address</label>
5687
9256
  <input
5688
9257
  type="email"
5689
9258
  class="medos-input"
@@ -5767,37 +9336,9 @@
5767
9336
  </div>
5768
9337
  <div class="medos-section-body">
5769
9338
  <p class="medos-section-description">How would you prefer to be contacted?</p>
5770
- <div class="medos-contact-options">
5771
- <label class="medos-radio-option ${this.state.preferredContactMethod === "PHONE" ? "selected" : ""}">
5772
- <input
5773
- type="radio"
5774
- name="contact-method"
5775
- value="PHONE"
5776
- ${this.state.preferredContactMethod === "PHONE" ? "checked" : ""}
5777
- class="medos-radio-input"
5778
- />
5779
- <span class="medos-radio-label">Phone</span>
5780
- </label>
5781
- <label class="medos-radio-option ${this.state.preferredContactMethod === "EMAIL" ? "selected" : ""}">
5782
- <input
5783
- type="radio"
5784
- name="contact-method"
5785
- value="EMAIL"
5786
- ${this.state.preferredContactMethod === "EMAIL" ? "checked" : ""}
5787
- class="medos-radio-input"
5788
- />
5789
- <span class="medos-radio-label">Email</span>
5790
- </label>
5791
- <label class="medos-radio-option ${this.state.preferredContactMethod === "BOTH" ? "selected" : ""}">
5792
- <input
5793
- type="radio"
5794
- name="contact-method"
5795
- value="BOTH"
5796
- ${this.state.preferredContactMethod === "BOTH" ? "checked" : ""}
5797
- class="medos-radio-input"
5798
- />
5799
- <span class="medos-radio-label">Both</span>
5800
- </label>
9339
+ <div class="medos-form-group">
9340
+ <label class="medos-label">Preferred Contact Method</label>
9341
+ <div class="medos-contact-method-container" id="medos-enquiry-contact-method-container"></div>
5801
9342
  </div>
5802
9343
  </div>
5803
9344
  </div>
@@ -5860,7 +9401,7 @@
5860
9401
  <div style="position: relative; display: inline-block;">
5861
9402
  <svg width="64" height="64" viewBox="0 0 41 41" fill="none">
5862
9403
  <path
5863
- d="M31.1309 4.90254C32.388 4.98797 33.0166 5.03069 33.5247 5.25288C34.2598 5.57438 34.8467 6.16126 35.1682 6.8964C35.3904 7.40445 35.4331 8.03302 35.5185 9.29016L35.7135 12.159C35.748 12.6674 35.7653 12.9217 35.8206 13.1645C35.9004 13.5154 36.0391 13.8503 36.2308 14.1549C36.3634 14.3657 36.531 14.5576 36.8661 14.9416L38.7568 17.108C39.5853 18.0574 39.9996 18.532 40.2017 19.0484C40.4942 19.7955 40.4942 20.6255 40.2017 21.3727C39.9996 21.889 39.5853 22.3637 38.7568 23.313L36.8661 25.4795C36.531 25.8634 36.3634 26.0554 36.2308 26.2662C36.0391 26.5708 35.9004 26.9056 35.8206 27.2566C35.7653 27.4994 35.748 27.7536 35.7135 28.2621L35.5185 31.1309C35.4331 32.388 35.3904 33.0166 35.1682 33.5247C34.8467 34.2598 34.2598 34.8467 33.5247 35.1682C33.0166 35.3904 32.388 35.4331 31.1309 35.5185L28.2621 35.7135C27.7536 35.748 27.4994 35.7653 27.2566 35.8206C26.9056 35.9004 26.5708 36.0391 26.2662 36.2308C26.0554 36.3634 25.8634 36.531 25.4795 36.8661L23.313 38.7568C22.3637 39.5853 21.889 39.9996 21.3727 40.2017C20.6255 40.4942 19.7955 40.4942 19.0484 40.2017C18.532 39.9996 18.0574 39.5853 17.108 38.7568L14.9416 36.8661C14.5576 36.531 14.3657 36.3634 14.1549 36.2308C13.8503 36.0391 13.5154 35.9004 13.1645 35.8206C12.9217 35.7653 12.6674 35.748 12.159 35.7135L9.29016 35.5185C8.03302 35.4331 7.40445 35.3904 6.8964 35.1682C6.16126 34.8467 5.57438 34.2598 5.25288 33.5247C5.03069 33.0166 4.98797 32.388 4.90254 31.1309L4.70759 28.2621C4.67304 27.7536 4.65576 27.4994 4.60049 27.2566C4.52063 26.9056 4.38193 26.5708 4.19028 26.2662C4.05764 26.0554 3.89009 25.8634 3.555 25.4795L1.66428 23.313C0.83576 22.3637 0.421499 21.889 0.219363 21.3727C-0.073121 20.6255 -0.0731209 19.7955 0.219363 19.0484C0.421499 18.532 0.83576 18.0574 1.66428 17.108L3.555 14.9416C3.89009 14.5576 4.05764 14.3657 4.19027 14.1549C4.38193 13.8503 4.52063 13.5154 4.60049 13.1645C4.65576 12.9217 4.67304 12.6674 4.70759 12.159L4.90254 9.29016C4.98797 8.03302 5.03069 7.40445 5.25288 6.8964C5.57438 6.16126 6.16126 5.57438 6.8964 5.25288C7.40445 5.03069 8.03302 4.98797 9.29016 4.90254L12.159 4.70759C12.6674 4.67304 12.9217 4.65577 13.1645 4.6005C13.5154 4.52063 13.8503 4.38193 14.1549 4.19028C14.3657 4.05764 14.5576 3.89009 14.9416 3.555L17.108 1.66428C18.0574 0.83576 18.532 0.421499 19.0484 0.219363C19.7955 -0.073121 20.6255 -0.073121 21.3727 0.219363C21.889 0.421499 22.3637 0.83576 23.313 1.66428L25.4795 3.555C25.8634 3.89009 26.0554 4.05764 26.2662 4.19028C26.5708 4.38193 26.9056 4.52063 27.2566 4.6005C27.4994 4.65577 27.7536 4.67304 28.2621 4.70759L31.1309 4.90254Z"
9404
+ d="M31.1309 4.90254C32.388 4.98797 33.0166 5.03069 33.5247 5.25288 C34.2598 5.57438 34.8467 6.16126 35.1682 6.8964C35.3904 7.40445 35.4331 8.03302 35.5185 9.29016L35.7135 12.159C35.748 12.6674 35.7653 12.9217 35.8206 13.1645C35.9004 13.5154 36.0391 13.8503 36.2308 14.1549C36.3634 14.3657 36.531 14.5576 36.8661 14.9416L38.7568 17.108C39.5853 18.0574 39.9996 18.532 40.2017 19.0484C40.4942 19.7955 40.4942 20.6255 40.2017 21.3727C39.9996 21.889 39.5853 22.3637 38.7568 23.313L36.8661 25.4795C36.531 25.8634 36.3634 26.0554 36.2308 26.2662C36.0391 26.5708 35.9004 26.9056 35.8206 27.2566C35.7653 27.4994 35.748 27.7536 35.7135 28.2621L35.5185 31.1309C35.4331 32.388 35.3904 33.0166 35.1682 33.5247C34.8467 34.2598 34.2598 34.8467 33.5247 35.1682C33.0166 35.3904 32.388 35.4331 31.1309 35.5185L28.2621 35.7135C27.7536 35.748 27.4994 35.7653 27.2566 35.8206C26.9056 35.9004 26.5708 36.0391 26.2662 36.2308C26.0554 36.3634 25.8634 36.531 25.4795 36.8661L23.313 38.7568C22.3637 39.5853 21.889 39.9996 21.3727 40.2017C20.6255 40.4942 19.7955 40.4942 19.0484 40.2017C18.532 39.9996 18.0574 39.5853 17.108 38.7568L14.9416 36.8661C14.5576 36.531 14.3657 36.3634 14.1549 36.2308C13.8503 36.0391 13.5154 35.9004 13.1645 35.8206C12.9217 35.7653 12.6674 35.748 12.159 35.7135L9.29016 35.5185C8.03302 35.4331 7.40445 35.3904 6.8964 35.1682C6.16126 34.8467 5.57438 34.2598 5.25288 33.5247C5.03069 33.0166 4.98797 32.388 4.90254 31.1309L4.70759 28.2621C4.67304 27.7536 4.65576 27.4994 4.60049 27.2566C4.52063 26.9056 4.38193 26.5708 4.19028 26.2662C4.05764 26.0554 3.89009 25.8634 3.555 25.4795L1.66428 23.313C0.83576 22.3637 0.421499 21.889 0.219363 21.3727C-0.073121 20.6255 -0.0731209 19.7955 0.219363 19.0484C0.421499 18.532 0.83576 18.0574 1.66428 17.108L3.555 14.9416C3.89009 14.5576 4.05764 14.3657 4.19027 14.1549C4.38193 13.8503 4.52063 13.5154 4.60049 13.1645C4.65576 12.9217 4.67304 12.6674 4.70759 12.159L4.90254 9.29016C4.98797 8.03302 5.03069 7.40445 5.25288 6.8964C5.57438 6.16126 6.16126 5.57438 6.8964 5.25288C7.40445 5.03069 8.03302 4.98797 9.29016 4.90254L12.159 4.70759C12.6674 4.67304 12.9217 4.65577 13.1645 4.6005C13.5154 4.52063 13.8503 4.38193 14.1549 4.19028C14.3657 4.05764 14.5576 3.89009 14.9416 3.555L17.108 1.66428C18.0574 0.83576 18.532 0.421499 19.0484 0.219363C19.7955 -0.073121 20.6255 -0.073121 21.3727 0.219363C21.889 0.421499 22.3637 0.83576 23.313 1.66428L25.4795 3.555C25.8634 3.89009 26.0554 4.05764 26.2662 4.19028C26.5708 4.38193 26.9056 4.52063 27.2566 4.6005C27.4994 4.65577 27.7536 4.67304 28.2621 4.70759L31.1309 4.90254Z"
5864
9405
  fill="#006E0F"
5865
9406
  />
5866
9407
  </svg>
@@ -5924,13 +9465,6 @@
5924
9465
  this.render();
5925
9466
  });
5926
9467
  }
5927
- const contactMethodRadios = this.container.querySelectorAll('input[name="contact-method"]');
5928
- contactMethodRadios.forEach((radio) => {
5929
- radio.addEventListener("change", (e) => {
5930
- const target = e.target;
5931
- this.state.preferredContactMethod = target.value;
5932
- });
5933
- });
5934
9468
  const nextBtn = this.container.querySelector("#medos-enquiry-btn-next");
5935
9469
  if (nextBtn) {
5936
9470
  nextBtn.addEventListener("click", () => this.goToNext());
@@ -5955,6 +9489,14 @@
5955
9489
  }
5956
9490
  destroy() {
5957
9491
  this.mounted = false;
9492
+ if (this.countryCodeSelect) {
9493
+ this.countryCodeSelect.destroy();
9494
+ this.countryCodeSelect = null;
9495
+ }
9496
+ if (this.contactMethodSelect) {
9497
+ this.contactMethodSelect.destroy();
9498
+ this.contactMethodSelect = null;
9499
+ }
5958
9500
  this.container.innerHTML = "";
5959
9501
  }
5960
9502
  }