medos-sdk 1.1.11 → 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 (195) hide show
  1. package/dist/client/MedosClient.js +1 -1
  2. package/dist/components/appointment-booking/AppointmentCalender.js +10 -72
  3. package/dist/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  4. package/dist/components/appointment-booking/appointment-modal-styles.js +419 -0
  5. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  6. package/dist/components/appointment-booking/components/AppointmentConfirmationStep.js +107 -0
  7. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  8. package/dist/components/appointment-booking/components/AppointmentDateTimeModal.js +306 -0
  9. package/dist/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  10. package/dist/components/appointment-booking/components/AppointmentSummaryStep.js +194 -0
  11. package/dist/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  12. package/dist/components/appointment-booking/components/BookingOptionStep.js +350 -0
  13. package/dist/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  14. package/dist/components/appointment-booking/components/DoctorSelectModal.js +213 -0
  15. package/dist/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  16. package/dist/components/appointment-booking/components/PatientDetailsStep.js +96 -0
  17. package/dist/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  18. package/dist/components/appointment-booking/components/PatientSelectionStep.js +254 -0
  19. package/dist/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  20. package/dist/components/appointment-booking/components/PhoneVerificationStep.js +49 -0
  21. package/dist/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  22. package/dist/components/appointment-booking/components/SuccessStep.js +9 -0
  23. package/dist/components/appointment-booking/components/index.d.ts +9 -0
  24. package/dist/components/appointment-booking/components/index.js +9 -0
  25. package/dist/components/appointment-booking/hooks/useAppointmentFlow.js +1 -0
  26. package/dist/components/appointment-booking/index.d.ts +2 -4
  27. package/dist/components/appointment-booking/index.js +2 -2
  28. package/dist/components/appointment-booking/types.d.ts +4 -0
  29. package/dist/components/constants/constant.d.ts +2 -0
  30. package/dist/components/constants/constant.js +15 -0
  31. package/dist/components/constants/index.d.ts +3 -0
  32. package/dist/components/constants/index.js +24 -0
  33. package/dist/components/constants/options.d.ts +13 -0
  34. package/dist/components/constants/options.js +35 -0
  35. package/dist/components/constants/validation.d.ts +6 -0
  36. package/dist/components/constants/validation.js +16 -0
  37. package/dist/components/enquiry-form/EnquiryForm.d.ts +7 -0
  38. package/dist/components/enquiry-form/EnquiryForm.js +238 -0
  39. package/dist/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  40. package/dist/components/enquiry-form/components/ContactInformationStep.js +21 -0
  41. package/dist/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  42. package/dist/components/enquiry-form/components/ContactPreferenceStep.js +20 -0
  43. package/dist/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  44. package/dist/components/enquiry-form/components/InquiryDetailsStep.js +20 -0
  45. package/dist/components/enquiry-form/components/index.d.ts +3 -0
  46. package/dist/components/enquiry-form/components/index.js +3 -0
  47. package/dist/components/enquiry-form/index.d.ts +2 -0
  48. package/dist/components/enquiry-form/index.js +2 -0
  49. package/dist/components/index.d.ts +7 -0
  50. package/dist/components/index.js +7 -0
  51. package/dist/components/shared/icons/Check.d.ts +6 -0
  52. package/dist/components/shared/icons/Check.js +2 -0
  53. package/dist/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  54. package/dist/components/shared/icons/ChevronDownIcon.js +2 -0
  55. package/dist/components/shared/icons/ChevronLeft.d.ts +3 -0
  56. package/dist/components/shared/icons/ChevronLeft.js +3 -0
  57. package/dist/components/shared/icons/ChevronRight.d.ts +3 -0
  58. package/dist/components/shared/icons/ChevronRight.js +3 -0
  59. package/dist/components/shared/icons/CloseIcon.d.ts +9 -0
  60. package/dist/components/shared/icons/CloseIcon.js +5 -0
  61. package/dist/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  62. package/dist/components/shared/icons/ConfirmationCheck.js +9 -0
  63. package/dist/components/shared/icons/ConsultationType.d.ts +1 -0
  64. package/dist/components/shared/icons/ConsultationType.js +2 -0
  65. package/dist/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  66. package/dist/components/shared/icons/Date&TimeIcon.js +2 -0
  67. package/dist/components/shared/icons/MapIcon.d.ts +1 -0
  68. package/dist/components/shared/icons/MapIcon.js +2 -0
  69. package/dist/components/shared/icons/MedosLogo.d.ts +3 -0
  70. package/dist/components/shared/icons/MedosLogo.js +3 -0
  71. package/dist/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  72. package/dist/components/shared/icons/PaymentMethodIcon.js +2 -0
  73. package/dist/components/shared/icons/SuccessIcon.d.ts +8 -0
  74. package/dist/components/shared/icons/SuccessIcon.js +14 -0
  75. package/dist/components/shared/icons/UserIcon.d.ts +1 -0
  76. package/dist/components/shared/icons/UserIcon.js +2 -0
  77. package/dist/components/shared/icons/index.d.ts +13 -0
  78. package/dist/components/shared/icons/index.js +13 -0
  79. package/dist/components/shared/index.d.ts +2 -0
  80. package/dist/components/shared/index.js +2 -0
  81. package/dist/components/shared/ui/Calendar.d.ts +5 -0
  82. package/dist/components/shared/ui/Calendar.js +167 -0
  83. package/dist/components/shared/ui/SelectDropdown.d.ts +41 -0
  84. package/dist/components/shared/ui/SelectDropdown.js +301 -0
  85. package/dist/components/shared/ui/index.d.ts +2 -0
  86. package/dist/components/shared/ui/index.js +2 -0
  87. package/dist/components/styles/appointment.d.ts +4 -0
  88. package/dist/components/styles/appointment.js +220 -0
  89. package/dist/components/styles/enquiry.d.ts +2 -0
  90. package/dist/components/styles/enquiry.js +3 -0
  91. package/dist/components/styles/index.d.ts +2 -0
  92. package/dist/components/styles/index.js +2 -0
  93. package/dist/components/styles/shared.d.ts +3 -0
  94. package/dist/components/styles/shared.js +78 -0
  95. package/dist/components/styles.d.ts +1 -6
  96. package/dist/components/styles.js +1 -298
  97. package/dist/components/theme-styles.js +18 -0
  98. package/dist/components/types/appointment.d.ts +42 -0
  99. package/dist/components/types/appointment.js +1 -0
  100. package/dist/components/types/common.d.ts +24 -0
  101. package/dist/components/types/common.js +1 -0
  102. package/dist/components/types/enquiry.d.ts +59 -0
  103. package/dist/components/types/enquiry.js +1 -0
  104. package/dist/components/types/index.d.ts +4 -0
  105. package/dist/components/types/index.js +4 -0
  106. package/dist/components/types.d.ts +1 -54
  107. package/dist/components/types.js +1 -38
  108. package/dist/components/utils/date.d.ts +4 -0
  109. package/dist/components/utils/date.js +65 -0
  110. package/dist/components/utils/formatting.d.ts +4 -0
  111. package/dist/components/utils/formatting.js +9 -0
  112. package/dist/components/utils/index.d.ts +3 -0
  113. package/dist/components/utils/index.js +3 -0
  114. package/dist/components/utils/validation.d.ts +4 -0
  115. package/dist/components/utils/validation.js +37 -0
  116. package/dist/components/utils.d.ts +1 -8
  117. package/dist/components/utils.js +1 -74
  118. package/dist/components/validation.d.ts +1 -4
  119. package/dist/components/validation.js +1 -48
  120. package/dist/constants/index.d.ts +1 -1
  121. package/dist/constants/index.js +1 -1
  122. package/dist/index.d.ts +2 -2
  123. package/dist/index.js +1 -1
  124. package/dist/react/index.d.ts +3 -3
  125. package/dist/react/index.js +1 -1
  126. package/dist/services/AppointmentService.js +26 -9
  127. package/dist/services/AuthService.js +1 -1
  128. package/dist/vanilla/AppointmentCalendarWidget.d.ts +8 -0
  129. package/dist/vanilla/AppointmentCalendarWidget.js +598 -20
  130. package/dist/vanilla/components/appointment-booking/appointment-modal-styles.d.ts +272 -0
  131. package/dist/vanilla/components/appointment-booking/components/AppointmentConfirmationStep.d.ts +28 -0
  132. package/dist/vanilla/components/appointment-booking/components/AppointmentDateTimeModal.d.ts +18 -0
  133. package/dist/vanilla/components/appointment-booking/components/AppointmentSummaryStep.d.ts +12 -0
  134. package/dist/vanilla/components/appointment-booking/components/BookingOptionStep.d.ts +14 -0
  135. package/dist/vanilla/components/appointment-booking/components/DoctorSelectModal.d.ts +14 -0
  136. package/dist/vanilla/components/appointment-booking/components/PatientDetailsStep.d.ts +3 -0
  137. package/dist/vanilla/components/appointment-booking/components/PatientSelectionStep.d.ts +12 -0
  138. package/dist/vanilla/components/appointment-booking/components/PhoneVerificationStep.d.ts +3 -0
  139. package/dist/vanilla/components/appointment-booking/components/SuccessStep.d.ts +5 -0
  140. package/dist/vanilla/components/appointment-booking/components/index.d.ts +9 -0
  141. package/dist/vanilla/components/appointment-booking/index.d.ts +2 -4
  142. package/dist/vanilla/components/appointment-booking/types.d.ts +4 -0
  143. package/dist/vanilla/components/constants/constant.d.ts +2 -0
  144. package/dist/vanilla/components/constants/index.d.ts +3 -0
  145. package/dist/vanilla/components/constants/options.d.ts +13 -0
  146. package/dist/vanilla/components/constants/validation.d.ts +6 -0
  147. package/dist/vanilla/components/enquiry-form/EnquiryForm.d.ts +7 -0
  148. package/dist/vanilla/components/enquiry-form/components/ContactInformationStep.d.ts +13 -0
  149. package/dist/vanilla/components/enquiry-form/components/ContactPreferenceStep.d.ts +9 -0
  150. package/dist/vanilla/components/enquiry-form/components/InquiryDetailsStep.d.ts +10 -0
  151. package/dist/vanilla/components/enquiry-form/components/index.d.ts +3 -0
  152. package/dist/vanilla/components/enquiry-form/index.d.ts +2 -0
  153. package/dist/vanilla/components/index.d.ts +7 -3
  154. package/dist/vanilla/components/shared/icons/Check.d.ts +6 -0
  155. package/dist/vanilla/components/shared/icons/ChevronDownIcon.d.ts +4 -0
  156. package/dist/vanilla/components/shared/icons/ChevronLeft.d.ts +3 -0
  157. package/dist/vanilla/components/shared/icons/ChevronRight.d.ts +3 -0
  158. package/dist/vanilla/components/shared/icons/CloseIcon.d.ts +9 -0
  159. package/dist/vanilla/components/shared/icons/ConfirmationCheck.d.ts +1 -0
  160. package/dist/vanilla/components/shared/icons/ConsultationType.d.ts +1 -0
  161. package/dist/vanilla/components/shared/icons/Date&TimeIcon.d.ts +1 -0
  162. package/dist/vanilla/components/shared/icons/MapIcon.d.ts +1 -0
  163. package/dist/vanilla/components/shared/icons/MedosLogo.d.ts +3 -0
  164. package/dist/vanilla/components/shared/icons/PaymentMethodIcon.d.ts +1 -0
  165. package/dist/vanilla/components/shared/icons/SuccessIcon.d.ts +8 -0
  166. package/dist/vanilla/components/shared/icons/UserIcon.d.ts +1 -0
  167. package/dist/vanilla/components/shared/icons/index.d.ts +13 -0
  168. package/dist/vanilla/components/shared/index.d.ts +2 -0
  169. package/dist/vanilla/components/shared/ui/Calendar.d.ts +5 -0
  170. package/dist/vanilla/components/shared/ui/SelectDropdown.d.ts +41 -0
  171. package/dist/vanilla/components/shared/ui/index.d.ts +2 -0
  172. package/dist/vanilla/components/styles/appointment.d.ts +4 -0
  173. package/dist/vanilla/components/styles/enquiry.d.ts +2 -0
  174. package/dist/vanilla/components/styles/index.d.ts +2 -0
  175. package/dist/vanilla/components/styles/shared.d.ts +3 -0
  176. package/dist/vanilla/components/styles.d.ts +1 -6
  177. package/dist/vanilla/components/types/appointment.d.ts +42 -0
  178. package/dist/vanilla/components/types/common.d.ts +24 -0
  179. package/dist/vanilla/components/types/enquiry.d.ts +59 -0
  180. package/dist/vanilla/components/types/index.d.ts +4 -0
  181. package/dist/vanilla/components/types.d.ts +1 -54
  182. package/dist/vanilla/components/utils/date.d.ts +4 -0
  183. package/dist/vanilla/components/utils/formatting.d.ts +4 -0
  184. package/dist/vanilla/components/utils/index.d.ts +3 -0
  185. package/dist/vanilla/components/utils/validation.d.ts +4 -0
  186. package/dist/vanilla/components/utils.d.ts +1 -8
  187. package/dist/vanilla/components/validation.d.ts +1 -4
  188. package/dist/vanilla/constants/index.d.ts +1 -1
  189. package/dist/vanilla/enquiry-widget.js +3277 -56
  190. package/dist/vanilla/index.d.ts +2 -2
  191. package/dist/vanilla/react/index.d.ts +3 -3
  192. package/dist/vanilla/vanilla/AppointmentCalendarWidget.d.ts +8 -0
  193. package/dist/vanilla/widget.css +214 -0
  194. package/dist/vanilla/widget.js +4047 -187
  195. package/package.json +2 -2
@@ -0,0 +1,272 @@
1
+ import React from "react";
2
+ export declare const getMobileStyles: (theme: any, breakpoint: string) => {
3
+ container: {
4
+ backgroundColor: any;
5
+ padding: string;
6
+ maxWidth: string;
7
+ fontFamily: any;
8
+ color: any;
9
+ minHeight: string;
10
+ boxSizing: "border-box";
11
+ };
12
+ header: {
13
+ marginBottom: number;
14
+ };
15
+ title: {
16
+ fontSize: number;
17
+ fontWeight: number;
18
+ margin: number;
19
+ color: any;
20
+ };
21
+ section: {
22
+ marginBottom: number;
23
+ };
24
+ sectionTitle: {
25
+ fontSize: number;
26
+ fontWeight: number;
27
+ marginBottom: number;
28
+ color: any;
29
+ };
30
+ required: {
31
+ color: any;
32
+ marginLeft: number;
33
+ };
34
+ modeContainer: {
35
+ display: string;
36
+ flexDirection: "column";
37
+ gap: number;
38
+ };
39
+ modeOption: {
40
+ display: string;
41
+ alignItems: string;
42
+ gap: number;
43
+ padding: string;
44
+ border: string;
45
+ borderRadius: string;
46
+ cursor: string;
47
+ fontSize: number;
48
+ transition: string;
49
+ backgroundColor: any;
50
+ };
51
+ radioInput: {
52
+ width: number;
53
+ height: number;
54
+ accentColor: any;
55
+ };
56
+ chargeAmount: {
57
+ fontSize: number;
58
+ fontWeight: number;
59
+ color: any;
60
+ };
61
+ paymentOption: {
62
+ padding: string;
63
+ border: string;
64
+ borderRadius: string;
65
+ fontSize: number;
66
+ color: any;
67
+ backgroundColor: any;
68
+ };
69
+ dateSection: {
70
+ marginBottom: number;
71
+ padding: string;
72
+ backgroundColor: any;
73
+ borderRadius: string;
74
+ border: string;
75
+ };
76
+ dateSectionHeader: {
77
+ marginBottom: number;
78
+ };
79
+ dateSectionTitle: {
80
+ fontSize: number;
81
+ fontWeight: number;
82
+ color: any;
83
+ margin: number;
84
+ letterSpacing: string;
85
+ textTransform: "uppercase";
86
+ };
87
+ monthNavigationContainer: {
88
+ display: string;
89
+ alignItems: string;
90
+ justifyContent: string;
91
+ marginBottom: number;
92
+ position: "relative";
93
+ };
94
+ monthYearDisplay: {
95
+ fontSize: number;
96
+ fontWeight: number;
97
+ color: any;
98
+ textAlign: "center";
99
+ flex: number;
100
+ };
101
+ navButton: {
102
+ background: string;
103
+ border: string;
104
+ color: any;
105
+ cursor: string;
106
+ padding: number;
107
+ borderRadius: string;
108
+ display: string;
109
+ alignItems: string;
110
+ justifyContent: string;
111
+ transition: string;
112
+ minWidth: number;
113
+ minHeight: number;
114
+ flexShrink: number;
115
+ };
116
+ dateCardsContainer: {
117
+ display: string;
118
+ justifyContent: string;
119
+ alignItems: string;
120
+ gap: number;
121
+ width: string;
122
+ maxWidth: string;
123
+ overflow: string;
124
+ };
125
+ dateCard: {
126
+ width: number;
127
+ height: number;
128
+ border: string;
129
+ borderRadius: string;
130
+ display: string;
131
+ flexDirection: "column";
132
+ alignItems: string;
133
+ justifyContent: string;
134
+ cursor: string;
135
+ transition: string;
136
+ backgroundColor: any;
137
+ position: "relative";
138
+ flex: string;
139
+ };
140
+ dateCardSelected: {
141
+ borderColor: any;
142
+ backgroundColor: any;
143
+ color: any;
144
+ };
145
+ dateCardWeekday: {
146
+ fontSize: number;
147
+ fontWeight: number;
148
+ textTransform: "uppercase";
149
+ marginBottom: number;
150
+ letterSpacing: string;
151
+ lineHeight: number;
152
+ };
153
+ dateCardDay: {
154
+ fontSize: number;
155
+ fontWeight: number;
156
+ lineHeight: number;
157
+ };
158
+ slotsContainer: {
159
+ marginBottom: number;
160
+ width: string;
161
+ boxSizing: "border-box";
162
+ };
163
+ slotGrid: {
164
+ display: string;
165
+ gridTemplateColumns: string;
166
+ gap: number;
167
+ marginTop: number;
168
+ maxHeight: string;
169
+ overflowY: "auto";
170
+ paddingRight: string;
171
+ paddingBottom: string;
172
+ scrollbarWidth: "thin";
173
+ scrollbarColor: string;
174
+ width: string;
175
+ boxSizing: "border-box";
176
+ };
177
+ slotButton: {
178
+ padding: string;
179
+ border: string;
180
+ borderRadius: string;
181
+ backgroundColor: any;
182
+ color: any;
183
+ fontSize: number;
184
+ fontWeight: number;
185
+ cursor: string;
186
+ transition: string;
187
+ minHeight: number;
188
+ boxShadow: string;
189
+ position: "relative";
190
+ letterSpacing: string;
191
+ width: string;
192
+ boxSizing: "border-box";
193
+ textAlign: "center";
194
+ display: string;
195
+ alignItems: string;
196
+ justifyContent: string;
197
+ whiteSpace: "nowrap";
198
+ overflow: string;
199
+ textOverflow: string;
200
+ };
201
+ slotButtonSelected: {
202
+ borderColor: any;
203
+ backgroundColor: any;
204
+ color: any;
205
+ boxShadow: string;
206
+ transform: string;
207
+ };
208
+ noSlots: {
209
+ textAlign: "center";
210
+ color: any;
211
+ fontSize: number;
212
+ marginTop: number;
213
+ padding: string;
214
+ };
215
+ footer: {
216
+ display: string;
217
+ gap: number;
218
+ marginTop: string;
219
+ paddingTop: number;
220
+ borderTop: string;
221
+ };
222
+ backButton: {
223
+ flex: number;
224
+ padding: string;
225
+ border: string;
226
+ borderRadius: string;
227
+ backgroundColor: any;
228
+ color: any;
229
+ fontSize: number;
230
+ fontWeight: number;
231
+ cursor: string;
232
+ transition: string;
233
+ minHeight: number;
234
+ };
235
+ nextButton: {
236
+ flex: number;
237
+ padding: string;
238
+ border: string;
239
+ borderRadius: string;
240
+ backgroundColor: any;
241
+ color: any;
242
+ fontSize: number;
243
+ fontWeight: number;
244
+ cursor: string;
245
+ transition: string;
246
+ minHeight: number;
247
+ boxShadow: string;
248
+ };
249
+ };
250
+ export declare const getDesktopStyles: (theme: any, breakpoint: string) => {
251
+ modalWrapper: React.CSSProperties;
252
+ sectionCard: React.CSSProperties;
253
+ sectionHeader: React.CSSProperties;
254
+ sectionTitle: React.CSSProperties;
255
+ sectionBody: React.CSSProperties;
256
+ label: React.CSSProperties;
257
+ modeContainer: React.CSSProperties;
258
+ radioLabel: React.CSSProperties;
259
+ radioInput: React.CSSProperties;
260
+ rupee: React.CSSProperties;
261
+ dateTimeContainer: React.CSSProperties;
262
+ calendarBox: React.CSSProperties;
263
+ timesContainer: React.CSSProperties;
264
+ timesLabel: React.CSSProperties;
265
+ dateLabel: React.CSSProperties;
266
+ noSlots: React.CSSProperties;
267
+ slotGrid: React.CSSProperties;
268
+ slotButton: React.CSSProperties;
269
+ footer: React.CSSProperties;
270
+ backBtn: React.CSSProperties;
271
+ continueBtn: React.CSSProperties;
272
+ };
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { Doctor, AddressItem } from "../../../services/AppointmentService";
3
+ interface AppointmentDetails {
4
+ patientName?: string;
5
+ visitationType?: string;
6
+ appointmentDate?: string;
7
+ fromTime?: string;
8
+ toTime?: string;
9
+ duration?: number;
10
+ location?: string;
11
+ mode?: string;
12
+ paymentMode?: string;
13
+ }
14
+ interface AppointmentConfirmationStepProps {
15
+ appointment: AppointmentDetails;
16
+ patient: {
17
+ firstName?: string;
18
+ middleName?: string;
19
+ lastName?: string;
20
+ patientName?: string;
21
+ };
22
+ selectedDoctor?: Doctor | null;
23
+ selectedAddress?: AddressItem | null;
24
+ onClose: () => void;
25
+ onGoBackToSlots?: () => void;
26
+ }
27
+ declare const AppointmentConfirmationStep: React.FC<AppointmentConfirmationStepProps>;
28
+ export default AppointmentConfirmationStep;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { Slot } from "../../../services/AppointmentService";
3
+ export type AppointmentMode = "ONLINE" | "OFFLINE";
4
+ export type PaymentMode = "CASH" | "CARD" | "UPI";
5
+ type AppointmentModalProps = {
6
+ onlineFee?: number | null;
7
+ offlineFee?: number | null;
8
+ slots: Slot[];
9
+ selectedDate?: Date;
10
+ selectedSlot?: Slot | null;
11
+ consultationMode?: AppointmentMode;
12
+ onCancel: () => void;
13
+ onContinue: (mode: AppointmentMode, date: Date, slot: Slot, charge: string, paymentMode: PaymentMode) => void;
14
+ onDateChange?: (date: Date) => void;
15
+ initialStep?: "consultation" | "datetime";
16
+ };
17
+ export declare const AppointmentDateTimeModal: React.FC<AppointmentModalProps>;
18
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { AppointmentState } from "../types";
3
+ import { Doctor, AddressItem } from "../../../services/AppointmentService";
4
+ export interface AppointmentSummaryStepProps {
5
+ state: AppointmentState;
6
+ selectedDoctor: Doctor | null;
7
+ selectedAddress: AddressItem | null;
8
+ onBack: () => void;
9
+ onConfirm: () => void;
10
+ }
11
+ export declare const AppointmentSummaryStep: React.FC<AppointmentSummaryStepProps>;
12
+ export default AppointmentSummaryStep;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { SessionPack, AvailablePackage } from "../types";
3
+ export interface BookingOptionStepProps {
4
+ userSessionPacks: SessionPack[];
5
+ availablePackages: AvailablePackage[];
6
+ showPackageExplorer: boolean;
7
+ selectedSessionPack: SessionPack | null;
8
+ selectedNewPackage: AvailablePackage | null;
9
+ onSelectOption: (optionType: "session-pack" | "new-appointment" | "explore-packages", sessionPack?: SessionPack, newPackage?: AvailablePackage) => void;
10
+ onSelectPackage: (pkg: AvailablePackage) => void;
11
+ onBack: () => void;
12
+ }
13
+ export declare const BookingOptionStep: React.FC<BookingOptionStepProps>;
14
+ export default BookingOptionStep;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { Doctor, AddressItem } from "../../../services/AppointmentService";
3
+ import { AvailablePackage } from "../types";
4
+ type DoctorSelectModalProps = {
5
+ addresses?: AddressItem[];
6
+ addressDoctorsMap?: Record<number, Doctor[]>;
7
+ selectedAddressId?: number | null;
8
+ selectedDoctorId?: number | null;
9
+ selectedNewPackage?: AvailablePackage | null;
10
+ onCancel: () => void;
11
+ onContinue: (addressId: number, doctorId: number, notes?: string) => void;
12
+ };
13
+ export declare const DoctorSelectModal: React.FC<DoctorSelectModalProps>;
14
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PatientDetailsStepProps } from "../../types/appointment";
3
+ export declare const PatientDetailsStep: React.FC<PatientDetailsStepProps>;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { Patient } from "../types";
3
+ interface PatientSelectionStepProps {
4
+ verifiedPatients: Patient[];
5
+ selectedPatient: Patient | null;
6
+ onSelectPatient: (patient: Patient) => void;
7
+ onProceedAsNewPatient: () => void;
8
+ onBack: () => void;
9
+ isFirstStep?: boolean;
10
+ }
11
+ export declare const PatientSelectionStep: React.FC<PatientSelectionStepProps>;
12
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PhoneVerificationStepProps } from "../../types/appointment";
3
+ export declare const PhoneVerificationStep: React.FC<PhoneVerificationStepProps>;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface SuccessStepProps {
3
+ onReset: () => void;
4
+ }
5
+ export declare const SuccessStep: React.FC<SuccessStepProps>;
@@ -0,0 +1,9 @@
1
+ export { PhoneVerificationStep } from "./PhoneVerificationStep";
2
+ export { PatientDetailsStep } from "./PatientDetailsStep";
3
+ export { SuccessStep } from "./SuccessStep";
4
+ export { AppointmentDateTimeModal } from "./AppointmentDateTimeModal";
5
+ export { DoctorSelectModal } from "./DoctorSelectModal";
6
+ export { default as AppointmentConfirmationStep } from "./AppointmentConfirmationStep";
7
+ export { AppointmentSummaryStep } from "./AppointmentSummaryStep";
8
+ export { BookingOptionStep } from "./BookingOptionStep";
9
+ export { PatientSelectionStep } from "./PatientSelectionStep";
@@ -1,5 +1,3 @@
1
1
  export { AppointmentCalender } from "./AppointmentCalender";
2
- export type { AppointmentCalenderProps } from "./AppointmentCalender";
3
- export { useAppointmentState, useAppointmentFlow, useInitializeAddresses, } from "./hooks";
4
- export type { AppointmentState, AppointmentAction } from "./types";
5
- export { INITIAL_STATE } from "./types";
2
+ export * from "./components";
3
+ export * from "./types";
@@ -96,6 +96,7 @@ export interface AvailablePackage {
96
96
  applicableOffline?: boolean;
97
97
  allowedConsultationModes?: ("ONLINE" | "OFFLINE")[];
98
98
  allowedDoctors?: SessionPackDoctor[];
99
+ doctorIds?: number[];
99
100
  }
100
101
  export type BookingOptionType = "session-pack" | "new-appointment" | "explore-packages" | null;
101
102
  export interface AppointmentState {
@@ -288,4 +289,7 @@ export type AppointmentAction = {
288
289
  } | {
289
290
  type: "RESET_FORM";
290
291
  };
292
+ export interface AppointmentCalenderProps {
293
+ onError?: (err: Error) => void;
294
+ }
291
295
  export declare const INITIAL_STATE: AppointmentState;
@@ -0,0 +1,2 @@
1
+ export declare const MONTHS: string[];
2
+ export declare const WEEKDAYS: string[];
@@ -0,0 +1,3 @@
1
+ export declare const API_BASE_URL = "https://api.medos.one/v1";
2
+ export declare const MONTHS: string[];
3
+ export declare const WEEKDAYS: string[];
@@ -0,0 +1,13 @@
1
+ export declare const COUNTRY_CODES: {
2
+ code: string;
3
+ label: string;
4
+ }[];
5
+ export declare const GENDER_OPTIONS: {
6
+ value: string;
7
+ label: string;
8
+ }[];
9
+ export declare const BLOOD_GROUP_OPTIONS: {
10
+ value: string;
11
+ label: string;
12
+ }[];
13
+ export declare const mapBloodGroupToApi: (uiBloodGroup: string) => string;
@@ -0,0 +1,6 @@
1
+ export declare const PHONE_MIN_LENGTH = 7;
2
+ export declare const PHONE_MAX_LENGTH = 15;
3
+ export declare const COUNTRY_CODE_REGEX: RegExp;
4
+ export declare const DATE_FORMAT_REGEX: RegExp;
5
+ export declare const MIN_BIRTH_YEAR = 1900;
6
+ export declare const VALID_BLOOD_GROUPS: string[];
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { EnquirySubmission } from "../../enquiry-form/types";
3
+ export interface EnquiryFormProps {
4
+ onSuccess?: (enquiry: EnquirySubmission) => void;
5
+ onError?: (error: Error) => void;
6
+ }
7
+ export declare const EnquiryForm: React.FC<EnquiryFormProps>;
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export interface ContactInformationStepProps {
3
+ patientName: string;
4
+ patientEmail: string;
5
+ countryCode: string;
6
+ patientPhone: string;
7
+ onNameChange: (value: string) => void;
8
+ onEmailChange: (value: string) => void;
9
+ onCountryCodeChange: (value: string) => void;
10
+ onPhoneChange: (value: string) => void;
11
+ onNext: () => void;
12
+ }
13
+ export declare const ContactInformationStep: React.FC<ContactInformationStepProps>;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export interface ContactPreferenceStepProps {
3
+ preferredContactMethod: "PHONE" | "EMAIL" | "BOTH";
4
+ onContactMethodChange: (method: "PHONE" | "EMAIL" | "BOTH") => void;
5
+ onBack: () => void;
6
+ onSubmit: () => void;
7
+ isLoading?: boolean;
8
+ }
9
+ export declare const ContactPreferenceStep: React.FC<ContactPreferenceStepProps>;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export interface InquiryDetailsStepProps {
3
+ inquirySubject: string;
4
+ inquiryMessage: string;
5
+ onSubjectChange: (value: string) => void;
6
+ onMessageChange: (value: string) => void;
7
+ onBack: () => void;
8
+ onNext: () => void;
9
+ }
10
+ export declare const InquiryDetailsStep: React.FC<InquiryDetailsStepProps>;
@@ -0,0 +1,3 @@
1
+ export { ContactInformationStep } from "./ContactInformationStep";
2
+ export { InquiryDetailsStep } from "./InquiryDetailsStep";
3
+ export { ContactPreferenceStep } from "./ContactPreferenceStep";
@@ -0,0 +1,2 @@
1
+ export { EnquiryForm } from "./EnquiryForm";
2
+ export * from "./components";
@@ -1,3 +1,7 @@
1
- export { VanillaIcons } from "./VanillaIcons";
2
- export { VanillaSelect, upgradeNativeSelect, type SelectOption, type VanillaSelectOptions, } from "./VanillaSelect";
3
- export { VanillaCalendar, type VanillaCalendarOptions, } from "./VanillaCalendar";
1
+ export * from "./appointment-booking";
2
+ export * from "./enquiry-form";
3
+ export * from "./shared";
4
+ export * from "./types";
5
+ export * from "./constants";
6
+ export * from "./utils";
7
+ export * from "./styles";
@@ -0,0 +1,6 @@
1
+ interface IconProps {
2
+ className?: string;
3
+ size?: number;
4
+ }
5
+ export declare const Check: React.FC<IconProps>;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const ChevronDownIcon: React.FC<{
3
+ className?: string;
4
+ }>;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const ChevronLeft: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default ChevronLeft;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const ChevronRight: React.FC<React.SVGProps<SVGSVGElement>>;
3
+ export default ChevronRight;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface CloseIconProps {
3
+ size?: number;
4
+ color?: string;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ }
8
+ export declare const CloseIcon: React.FC<CloseIconProps>;
9
+ export default CloseIcon;
@@ -0,0 +1 @@
1
+ export declare const ConfirmationCheck: React.FC;
@@ -0,0 +1 @@
1
+ export declare const ConsultationTypeIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const DateTimeIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const MapPinIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ declare const MedosLogo: (props: React.SVGProps<SVGSVGElement>) => import("react/jsx-runtime").JSX.Element;
3
+ export default MedosLogo;
@@ -0,0 +1 @@
1
+ export declare const PaymentMethodIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface SuccessIconProps {
3
+ size?: number;
4
+ checkColor?: string;
5
+ shapeColor?: string;
6
+ }
7
+ export declare const SuccessIcon: React.FC<SuccessIconProps>;
8
+ export {};
@@ -0,0 +1 @@
1
+ export declare const UserIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ export { Check } from "./Check";
2
+ export { ChevronDownIcon } from "./ChevronDownIcon";
3
+ export { default as ChevronLeft } from "./ChevronLeft";
4
+ export { default as ChevronRight } from "./ChevronRight";
5
+ export { CloseIcon } from "./CloseIcon";
6
+ export { ConfirmationCheck } from "./ConfirmationCheck";
7
+ export { ConsultationTypeIcon } from "./ConsultationType";
8
+ export { DateTimeIcon } from "./Date&TimeIcon";
9
+ export { MapPinIcon } from "./MapIcon";
10
+ export { default as MedosLogo } from "./MedosLogo";
11
+ export { PaymentMethodIcon } from "./PaymentMethodIcon";
12
+ export { SuccessIcon } from "./SuccessIcon";
13
+ export { UserIcon } from "./UserIcon";
@@ -0,0 +1,2 @@
1
+ export * from "./icons";
2
+ export * from "./ui";
@@ -0,0 +1,5 @@
1
+ export declare const CustomCalendarWithDateSelector: ({ selectedDate, onSelect, pastDisabled, }: {
2
+ selectedDate?: Date;
3
+ onSelect: (date: Date) => void;
4
+ pastDisabled?: boolean;
5
+ }) => import("react/jsx-runtime").JSX.Element;