medos-sdk 1.1.11 → 1.1.13

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
@@ -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";
@@ -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";
@@ -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;
@@ -41,6 +42,7 @@ declare class AppointmentCalendarWidget {
41
42
  private renderLocationDoctorStep;
42
43
  private renderNewAppointmentStep;
43
44
  private renderPatientSelectionStep;
45
+ private renderPatientDetailsStep;
44
46
  private renderAppointmentSummaryStep;
45
47
  private renderSuccessStep;
46
48
  private formatDate;
@@ -49,6 +51,12 @@ declare class AppointmentCalendarWidget {
49
51
  private attachEventListeners;
50
52
  private getPlaceholderPatients;
51
53
  private escapeHtml;
54
+ private isValidDateOfBirth;
55
+ private isValidBloodGroup;
56
+ private safeMapBloodGroupToApi;
57
+ private safeFormatDateOfBirth;
58
+ private getDateOfBirthErrorMessage;
59
+ private displayFieldValidationError;
52
60
  destroy(): void;
53
61
  }
54
62
  export declare function initAppointmentCalendar(options: AppointmentCalendarWidgetOptions): AppointmentCalendarWidget;
@@ -1014,3 +1014,217 @@
1014
1014
  justify-content: center;
1015
1015
  }
1016
1016
  }
1017
+ /* Patient Details Form Styles */
1018
+ .medos-section-card {
1019
+ background-color: var(--medos-bg-color);
1020
+ border: 1px solid var(--medos-border-color);
1021
+ border-radius: var(--medos-border-radius);
1022
+ margin-bottom: 1.5rem;
1023
+ overflow: hidden;
1024
+ }
1025
+
1026
+ .medos-section-header {
1027
+ background-color: var(--medos-bg-color-secondary);
1028
+ padding: 1rem 1.25rem;
1029
+ display: flex;
1030
+ align-items: center;
1031
+ gap: 0.75rem;
1032
+ border-bottom: 1px solid var(--medos-border-color);
1033
+ }
1034
+
1035
+ .medos-section-title {
1036
+ font-size: 1.125rem;
1037
+ font-weight: 600;
1038
+ color: var(--medos-text-color);
1039
+ margin: 0;
1040
+ }
1041
+
1042
+ .medos-section-body {
1043
+ padding: 1.5rem;
1044
+ }
1045
+
1046
+ .medos-section-description {
1047
+ color: var(--medos-text-color-secondary);
1048
+ margin-bottom: 1rem;
1049
+ font-size: 0.875rem;
1050
+ }
1051
+
1052
+ .medos-form-row {
1053
+ display: grid;
1054
+ grid-template-columns: 1fr 1fr;
1055
+ gap: 1rem;
1056
+ margin-bottom: 1rem;
1057
+ }
1058
+
1059
+ .medos-form-field {
1060
+ display: flex;
1061
+ flex-direction: column;
1062
+ }
1063
+
1064
+ .medos-form-label {
1065
+ display: block;
1066
+ font-size: 0.875rem;
1067
+ font-weight: 500;
1068
+ color: var(--medos-text-color);
1069
+ margin-bottom: 0.5rem;
1070
+ }
1071
+
1072
+ .medos-actions {
1073
+ display: flex;
1074
+ justify-content: space-between;
1075
+ align-items: center;
1076
+ gap: 0.75rem;
1077
+ margin-top: 1.5rem;
1078
+ }
1079
+
1080
+ .medos-btn {
1081
+ padding: 0.75rem 1.25rem;
1082
+ font-size: 1rem;
1083
+ font-weight: 600;
1084
+ border-radius: var(--medos-border-radius);
1085
+ border: none;
1086
+ cursor: pointer;
1087
+ transition: background-color 0.2s, transform 0.1s;
1088
+ display: inline-flex;
1089
+ align-items: center;
1090
+ gap: 0.5rem;
1091
+ }
1092
+
1093
+ .medos-btn:active {
1094
+ transform: translateY(1px);
1095
+ }
1096
+
1097
+ .medos-btn-primary {
1098
+ background-color: var(--medos-primary-color);
1099
+ color: var(--medos-bg-color);
1100
+ }
1101
+
1102
+ .medos-btn-primary:hover {
1103
+ background-color: var(--medos-primary-color-hover);
1104
+ }
1105
+
1106
+ .medos-btn-primary:disabled {
1107
+ background-color: #9ca3af;
1108
+ cursor: not-allowed;
1109
+ opacity: 0.6;
1110
+ }
1111
+
1112
+ .medos-btn-secondary {
1113
+ background-color: var(--medos-bg-color);
1114
+ color: var(--medos-text-color);
1115
+ border: 1px solid var(--medos-border-color);
1116
+ }
1117
+
1118
+ .medos-btn-secondary:hover {
1119
+ background-color: var(--medos-bg-color-secondary);
1120
+ }
1121
+
1122
+ .medos-btn-back {
1123
+ background-color: transparent;
1124
+ color: var(--medos-text-color-secondary);
1125
+ border: none;
1126
+ padding: 0.5rem;
1127
+ }
1128
+
1129
+ .medos-btn-back:hover {
1130
+ color: var(--medos-text-color);
1131
+ }
1132
+
1133
+ /* Phone verification styles */
1134
+ .medos-phone-input-row {
1135
+ display: flex;
1136
+ gap: 0.75rem;
1137
+ align-items: flex-end;
1138
+ }
1139
+
1140
+ .medos-country-code-wrapper {
1141
+ flex: 0 0 120px;
1142
+ }
1143
+
1144
+ .medos-phone-wrapper {
1145
+ flex: 1;
1146
+ }
1147
+
1148
+ .medos-otp-input-wrapper {
1149
+ margin-bottom: 1rem;
1150
+ }
1151
+
1152
+ .medos-otp-input {
1153
+ text-align: center;
1154
+ font-size: 1.125rem;
1155
+ letter-spacing: 0.1em;
1156
+ }
1157
+
1158
+ .medos-link-btn {
1159
+ background: none;
1160
+ border: none;
1161
+ color: var(--medos-primary-color);
1162
+ cursor: pointer;
1163
+ font-size: 0.875rem;
1164
+ text-decoration: underline;
1165
+ }
1166
+
1167
+ .medos-link-btn:hover {
1168
+ color: var(--medos-primary-color-hover);
1169
+ }
1170
+
1171
+ .medos-verified-badge {
1172
+ display: flex;
1173
+ align-items: center;
1174
+ gap: 0.5rem;
1175
+ color: #10b981;
1176
+ font-weight: 500;
1177
+ margin-bottom: 0.5rem;
1178
+ }
1179
+
1180
+ .medos-verified-number {
1181
+ font-size: 1.125rem;
1182
+ font-weight: 600;
1183
+ color: var(--medos-text-color);
1184
+ }
1185
+
1186
+ .medos-validation-error {
1187
+ color: #ef4444;
1188
+ font-size: 0.875rem;
1189
+ margin-top: 0.25rem;
1190
+ }
1191
+
1192
+ .medos-input-error {
1193
+ border-color: #ef4444 !important;
1194
+ box-shadow: 0 0 0 1px #ef4444 !important;
1195
+ }
1196
+
1197
+ /* Responsive adjustments for patient details form */
1198
+ @media (max-width: 767px) {
1199
+ .medos-form-row {
1200
+ grid-template-columns: 1fr;
1201
+ gap: 0.75rem;
1202
+ }
1203
+
1204
+ .medos-section-header {
1205
+ padding: 0.75rem 1rem;
1206
+ }
1207
+
1208
+ .medos-section-body {
1209
+ padding: 1rem;
1210
+ }
1211
+
1212
+ .medos-actions {
1213
+ flex-direction: column-reverse;
1214
+ align-items: stretch;
1215
+ }
1216
+
1217
+ .medos-btn {
1218
+ width: 100%;
1219
+ justify-content: center;
1220
+ }
1221
+
1222
+ .medos-phone-input-row {
1223
+ flex-direction: column;
1224
+ gap: 0.75rem;
1225
+ }
1226
+
1227
+ .medos-country-code-wrapper {
1228
+ flex: none;
1229
+ }
1230
+ }