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
@@ -5,8 +5,8 @@ export type { MedosThemeProviderProps } from "./react/ThemeProvider";
5
5
  export { defaultTheme, modernTheme } from "./core/theme/themes";
6
6
  export { useTheme, useThemeContext, useCssVar } from "./react/hooks/useTheme";
7
7
  export { AppointmentCalender } from "./components/appointment-booking";
8
- export { EnquiryForm } from "./components/EnquiryForm";
9
- export type { EnquiryFormProps } from "./components/EnquiryForm";
8
+ export { EnquiryForm } from "./components/enquiry-form";
9
+ export type { EnquiryFormProps } from "./components/types/enquiry";
10
10
  export * from "./appointments/provider";
11
11
  export * from "./appointments/types";
12
12
  export * from "./appointment-calendar/provider";
@@ -14,3 +14,5 @@ export * from "./appointment-calendar/types";
14
14
  export * from "./enquiry-form/provider";
15
15
  export * from "./enquiry-form/types";
16
16
  export { PatientService, SendPhoneVerificationOtpPayload, VerifyPhoneVerificationOtpPayload, } from "./services/PatientService";
17
+ export { WorkspaceService } from "./services/WorkspaceService";
18
+ export type { WorkspaceResponse, Address, ConsultationType, User, Doctor, AddressDoctor, } from "./services/WorkspaceService";
@@ -10,8 +10,9 @@ export interface MedosThemeProviderProps {
10
10
  children: React.ReactNode;
11
11
  theme?: ThemeName | MedosTheme | PartialTheme;
12
12
  cssVariablePrefix?: string;
13
+ onThemeError?: (error: Error) => void;
13
14
  }
14
- export declare function MedosThemeProvider({ children, theme, cssVariablePrefix, }: MedosThemeProviderProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function MedosThemeProvider({ children, theme, cssVariablePrefix, onThemeError, }: Readonly<MedosThemeProviderProps>): import("react/jsx-runtime").JSX.Element;
15
16
  export declare function useThemeContext(): ThemeContextValue;
16
17
  export declare function useTheme(): MedosTheme;
17
18
  export declare function useCssVar(category: string, key: string, fallback?: string): string;
@@ -3,6 +3,6 @@ export { MedosThemeProvider } from "./ThemeProvider";
3
3
  export type { MedosThemeProviderProps } from "./ThemeProvider";
4
4
  export { useTheme, useThemeContext, useCssVar } from "./hooks/useTheme";
5
5
  export { AppointmentCalender } from "../components/appointment-booking";
6
- export type { AppointmentCalenderProps } from "../components/appointment-booking";
7
- export { EnquiryForm } from "../components/EnquiryForm";
8
- export type { EnquiryFormProps } from "../components/EnquiryForm";
6
+ export type { AppointmentCalenderProps } from "../components/appointment-booking/types";
7
+ export { EnquiryForm } from "../components/enquiry-form";
8
+ export type { EnquiryFormProps } from "../components/types/enquiry";
@@ -11,6 +11,7 @@ export type Slot = {
11
11
  [key: string]: any;
12
12
  };
13
13
  type PatientPayload = {
14
+ id?: number;
14
15
  firstName: string;
15
16
  lastName: string;
16
17
  email?: string;
@@ -18,6 +19,8 @@ type PatientPayload = {
18
19
  phoneNumber: string;
19
20
  age?: number;
20
21
  gender?: "MALE" | "FEMALE" | "OTHER";
22
+ dob?: string;
23
+ bloodGroup?: string;
21
24
  };
22
25
  type PatientAddressPayload = {
23
26
  addressLine1: string;
@@ -26,6 +29,11 @@ type PatientAddressPayload = {
26
29
  country: string;
27
30
  zipcode: string;
28
31
  landmark?: string;
32
+ addressLine2?: string;
33
+ completeAddress?: string;
34
+ countryCode?: string;
35
+ phoneNumber?: string;
36
+ patientId?: number;
29
37
  };
30
38
  type BookAppointmentPayload = {
31
39
  workspaceId?: string | number;
@@ -35,13 +43,79 @@ type BookAppointmentPayload = {
35
43
  appointmentDate: string;
36
44
  fromDateTimeTs: string;
37
45
  toDateTimeTs: string;
38
- consultationCharge?: string;
46
+ consultationCharge?: string | number;
39
47
  type?: "CONSULTATION" | string;
40
48
  source?: string;
49
+ bookingType?: "PACKAGE_PURCHASE" | "ONE_TIME_APPOINTMENT" | "USE_ACTIVE_PACKAGE";
50
+ paymentMode?: "CASH" | "CARD" | string;
51
+ packageConfigId?: number;
52
+ patientPackageId?: number;
53
+ packageAmount?: number;
41
54
  patientPayload: PatientPayload;
42
55
  patientAddress: PatientAddressPayload;
43
56
  attachments?: File[];
44
57
  };
58
+ export type UnifiedBookAppointmentPayload = {
59
+ workspaceId: number;
60
+ workspaceAddressId: number;
61
+ doctorId: number;
62
+ mode: "ONLINE" | "OFFLINE";
63
+ appointmentDate: string;
64
+ fromDateTimeTs: string;
65
+ toDateTimeTs: string;
66
+ bookingType: "PACKAGE_PURCHASE" | "ONE_TIME_APPOINTMENT" | "USE_ACTIVE_PACKAGE";
67
+ consultationCharge: number;
68
+ packageConfigId?: number;
69
+ patientPackageId?: number;
70
+ packageAmount?: number;
71
+ paymentMode: "CASH" | "CARD" | string;
72
+ type: "CONSULTATION" | string;
73
+ source: string;
74
+ patientPayload: {
75
+ id?: number;
76
+ firstName: string;
77
+ lastName: string;
78
+ email: string;
79
+ countryCode: string;
80
+ phoneNumber: string;
81
+ dob: string;
82
+ age: number;
83
+ gender: "MALE" | "FEMALE" | "OTHER";
84
+ bloodGroup: string;
85
+ };
86
+ patientAddress: {
87
+ completeAddress: string;
88
+ addressLine1: string;
89
+ addressLine2?: string;
90
+ city: string;
91
+ state: string;
92
+ country: string;
93
+ zipcode: string;
94
+ landmark?: string;
95
+ countryCode: string;
96
+ phoneNumber: string;
97
+ patientId: number;
98
+ };
99
+ };
100
+ export type AppointmentResponse = {
101
+ id: number;
102
+ patientName: string;
103
+ patientEmail: string;
104
+ patientPhone: string;
105
+ doctorId: number;
106
+ addressId: number;
107
+ appointmentDate: string;
108
+ startTime: string;
109
+ endTime: string;
110
+ status: string;
111
+ consultationCharge: number;
112
+ paymentMode: string;
113
+ type: string;
114
+ mode: string;
115
+ notes?: string;
116
+ createdAt: string;
117
+ [key: string]: any;
118
+ };
45
119
  type AppointmentPayload = {
46
120
  workspaceId?: string | number;
47
121
  workspaceAddressId: string | number;
@@ -78,8 +152,12 @@ type AddressesResponse = {
78
152
  addresses: AddressItem[];
79
153
  };
80
154
  declare const AppointmentService: {
155
+ arePackagesConfigured(): Promise<boolean>;
81
156
  getAddresses(): Promise<AddressesResponse>;
82
157
  fetchSlots(workspaceId: number, addressId: number, doctorId: number, appointmentDate: string): Promise<Slot[]>;
83
- createAppointment(payload: BookAppointmentPayload): Promise<any>;
158
+ transformToUnifiedPayload(payload: BookAppointmentPayload): UnifiedBookAppointmentPayload;
159
+ createLegacyAppointment(payload: BookAppointmentPayload): Promise<AppointmentResponse>;
160
+ createAppointment(payload: BookAppointmentPayload): Promise<AppointmentResponse>;
161
+ createUnifiedAppointment(payload: BookAppointmentPayload): Promise<AppointmentResponse>;
84
162
  };
85
163
  export { AppointmentService, AppointmentPayload, BookAppointmentPayload, PatientPayload, PatientAddressPayload, AddressesResponse, AddressItem, };
@@ -1,9 +1,64 @@
1
- interface WorkspaceResponse {
1
+ import { ThemeName } from "../core/theme/themes";
2
+ interface Address {
3
+ id: number;
4
+ createdAt: string;
5
+ deleted: boolean;
6
+ createdAtEpoch: number;
7
+ completeAddress: string;
8
+ addressLine1: string;
9
+ addressLine2: string;
10
+ city: string;
11
+ state: string;
12
+ country: string;
13
+ zipcode: string;
14
+ landmark: string;
15
+ phoneNumber: string;
16
+ latitude: number;
17
+ longitude: number;
18
+ userId: number;
19
+ }
20
+ interface ConsultationType {
21
+ fee: number;
22
+ currency: string;
23
+ type: string;
24
+ }
25
+ interface User {
2
26
  id: number;
3
- name?: string;
27
+ createdAt: string;
28
+ lastUpdatedAt: string;
29
+ deleted: boolean;
30
+ createdAtEpoch: number;
31
+ lastUpdatedAtEpoch: number;
32
+ firstName: string;
33
+ lastName: string;
34
+ email: string;
35
+ gender: string;
36
+ countryCode: string;
37
+ phoneNumber: string;
38
+ platform: string;
39
+ isKycCompleted: boolean;
40
+ }
41
+ interface Doctor {
42
+ consultationTypes: ConsultationType[];
43
+ user: User;
44
+ }
45
+ interface AddressDoctor {
46
+ address: Address;
47
+ doctors: Doctor[];
48
+ doctorCount: number;
49
+ }
50
+ interface WorkspaceResponse {
51
+ totalDoctors: number;
52
+ totalAddresses: number;
53
+ addressDoctors: AddressDoctor[];
54
+ workspaceId: number;
55
+ theme?: ThemeName;
56
+ arePackagesConfigured?: boolean;
4
57
  [key: string]: any;
5
58
  }
6
59
  declare const WorkspaceService: {
7
60
  fetchWorkspace(): Promise<WorkspaceResponse>;
61
+ fetchTheme(): Promise<ThemeName | undefined>;
8
62
  };
9
- export { WorkspaceService, WorkspaceResponse };
63
+ export { WorkspaceService };
64
+ export type { WorkspaceResponse, Address, ConsultationType, User, Doctor, AddressDoctor, };
@@ -25,6 +25,7 @@ declare class AppointmentCalendarWidget {
25
25
  private loadSlots;
26
26
  private canProceedFromMergedStep;
27
27
  private updateSubmitButtonState;
28
+ private updatePatientDetailsButtonState;
28
29
  private sendOtp;
29
30
  private verifyOtp;
30
31
  private submitAppointment;
@@ -35,18 +36,27 @@ declare class AppointmentCalendarWidget {
35
36
  private render;
36
37
  private initializeCustomComponents;
37
38
  private renderStep;
38
- private renderStep0;
39
- private renderStep1;
40
- private renderStep2;
41
- private renderStep3;
42
- private renderStep4;
43
- private renderSuccessIcon;
39
+ private renderPhoneVerificationStep;
40
+ private renderBookingOptionStep;
41
+ private renderPackageExplorerStep;
42
+ private renderLocationDoctorStep;
43
+ private renderNewAppointmentStep;
44
+ private renderPatientSelectionStep;
45
+ private renderPatientDetailsStep;
46
+ private renderAppointmentSummaryStep;
47
+ private renderSuccessStep;
44
48
  private formatDate;
45
49
  private formatTime;
46
50
  private calculateDuration;
47
- private renderStep5;
48
51
  private attachEventListeners;
52
+ private getPlaceholderPatients;
49
53
  private escapeHtml;
54
+ private isValidDateOfBirth;
55
+ private isValidBloodGroup;
56
+ private safeMapBloodGroupToApi;
57
+ private safeFormatDateOfBirth;
58
+ private getDateOfBirthErrorMessage;
59
+ private displayFieldValidationError;
50
60
  destroy(): void;
51
61
  }
52
62
  export declare function initAppointmentCalendar(options: AppointmentCalendarWidgetOptions): AppointmentCalendarWidget;
@@ -13,6 +13,7 @@ declare class EnquiryFormWidget {
13
13
  private mounted;
14
14
  private state;
15
15
  private countryCodeSelect;
16
+ private contactMethodSelect;
16
17
  constructor(container: HTMLElement | string, options: EnquiryFormWidgetOptions);
17
18
  private init;
18
19
  private validateContactStep;
@@ -12,6 +12,11 @@ export declare const VanillaIcons: {
12
12
  phone: (size?: number) => string;
13
13
  mail: (size?: number) => string;
14
14
  clock: (size?: number) => string;
15
+ calendar: (size?: number) => string;
16
+ giftBox: (size?: number) => string;
17
+ arrowLeft: (size?: number) => string;
18
+ users: (size?: number) => string;
19
+ plus: (size?: number) => string;
15
20
  medosLogo: (width?: number, height?: number) => string;
16
21
  };
17
22
  export default VanillaIcons;
@@ -33,6 +33,8 @@ export declare class VanillaSelect {
33
33
  private attachPortalEvents;
34
34
  private detachPortalEvents;
35
35
  private focusNextItem;
36
+ private focusFirstItem;
37
+ private focusLastItem;
36
38
  private selectValue;
37
39
  setValue(value: string): void;
38
40
  getValue(): string;
@@ -42,5 +44,6 @@ export declare class VanillaSelect {
42
44
  destroy(): void;
43
45
  private escapeHtml;
44
46
  }
47
+ export declare function createContactMethodSelect(container: HTMLElement | string, currentValue?: "PHONE" | "EMAIL" | "BOTH", onValueChange?: (value: "PHONE" | "EMAIL" | "BOTH") => void): VanillaSelect;
45
48
  export declare function upgradeNativeSelect(selectElement: HTMLSelectElement, config?: VanillaSelectOptions): VanillaSelect;
46
49
  export default VanillaSelect;