medos-sdk 1.0.2 → 1.1.0

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 (167) hide show
  1. package/README.md +39 -0
  2. package/dist/client/MedosClient.d.ts +3 -5
  3. package/dist/client/MedosClient.js +4 -4
  4. package/dist/components/AppointmentCalender.d.ts +1 -4
  5. package/dist/components/AppointmentCalender.js +323 -530
  6. package/dist/components/AppointmentDateTimeModal.d.ts +14 -0
  7. package/dist/components/AppointmentDateTimeModal.js +220 -0
  8. package/dist/components/ConfigurableCard.d.ts +12 -0
  9. package/dist/components/ConfigurableCard.js +29 -0
  10. package/dist/components/ContactInformationStep.d.ts +13 -0
  11. package/dist/components/ContactInformationStep.js +14 -0
  12. package/dist/components/ContactPreferenceStep.d.ts +9 -0
  13. package/dist/components/ContactPreferenceStep.js +16 -0
  14. package/dist/components/DoctorSelectModal.d.ts +7 -0
  15. package/dist/components/DoctorSelectModal.js +93 -0
  16. package/dist/components/EnquiryForm.d.ts +7 -0
  17. package/dist/components/EnquiryForm.js +212 -0
  18. package/dist/components/Icons/Check.d.ts +6 -0
  19. package/dist/components/Icons/Check.js +2 -0
  20. package/dist/components/Icons/ChevronDownIcon.d.ts +4 -0
  21. package/dist/components/Icons/ChevronDownIcon.js +2 -0
  22. package/dist/components/Icons/ChevronLeft.d.ts +3 -0
  23. package/dist/components/Icons/ChevronLeft.js +3 -0
  24. package/dist/components/Icons/ChevronRight.d.ts +3 -0
  25. package/dist/components/Icons/ChevronRight.js +3 -0
  26. package/dist/components/Icons/ConfirmationCheck.d.ts +1 -0
  27. package/dist/components/Icons/ConfirmationCheck.js +9 -0
  28. package/dist/components/Icons/ConsultationType.d.ts +1 -0
  29. package/dist/components/Icons/ConsultationType.js +2 -0
  30. package/dist/components/Icons/Date&TimeIcon.d.ts +1 -0
  31. package/dist/components/Icons/Date&TimeIcon.js +2 -0
  32. package/dist/components/Icons/MapIcon.d.ts +1 -0
  33. package/dist/components/Icons/MapIcon.js +2 -0
  34. package/dist/components/Icons/PaymentMethodIcon.d.ts +1 -0
  35. package/dist/components/Icons/PaymentMethodIcon.js +2 -0
  36. package/dist/components/Icons/UserIcon.d.ts +1 -0
  37. package/dist/components/Icons/UserIcon.js +2 -0
  38. package/dist/components/InquiryDetailsStep.d.ts +10 -0
  39. package/dist/components/InquiryDetailsStep.js +15 -0
  40. package/dist/components/PatientDetailsStep.d.ts +3 -0
  41. package/dist/components/PatientDetailsStep.js +84 -0
  42. package/dist/components/PhoneVerificationStep.d.ts +3 -0
  43. package/dist/components/PhoneVerificationStep.js +49 -0
  44. package/dist/components/SuccessStep.d.ts +5 -0
  45. package/dist/components/SuccessStep.js +9 -0
  46. package/dist/components/custom-calendar.d.ts +5 -0
  47. package/dist/components/custom-calendar.js +171 -0
  48. package/dist/components/styles.d.ts +6 -0
  49. package/dist/components/styles.js +257 -0
  50. package/dist/components/theme-styles.d.ts +12 -0
  51. package/dist/components/theme-styles.js +319 -0
  52. package/dist/components/types.d.ts +181 -0
  53. package/dist/components/types.js +55 -0
  54. package/dist/components/ui/select.d.ts +10 -0
  55. package/dist/components/ui/select.js +21 -0
  56. package/dist/components/uiComponents/SelectDropdown.d.ts +41 -0
  57. package/dist/components/uiComponents/SelectDropdown.js +302 -0
  58. package/dist/components/utils.d.ts +5 -0
  59. package/dist/components/utils.js +15 -0
  60. package/dist/components/validation.d.ts +2 -0
  61. package/dist/components/validation.js +7 -0
  62. package/dist/context/TemplateContext.d.ts +12 -0
  63. package/dist/context/TemplateContext.js +19 -0
  64. package/dist/core/index.d.ts +4 -0
  65. package/dist/core/index.js +4 -0
  66. package/dist/core/theme/index.d.ts +3 -0
  67. package/dist/core/theme/index.js +3 -0
  68. package/dist/core/theme/themes.d.ts +8 -0
  69. package/dist/core/theme/themes.js +178 -0
  70. package/dist/core/theme/types.d.ts +106 -0
  71. package/dist/core/theme/types.js +1 -0
  72. package/dist/core/theme/utils.d.ts +8 -0
  73. package/dist/core/theme/utils.js +135 -0
  74. package/dist/enquiry-form/index.d.ts +4 -0
  75. package/dist/enquiry-form/index.js +4 -0
  76. package/dist/enquiry-form/provider.d.ts +3 -0
  77. package/dist/enquiry-form/provider.js +9 -0
  78. package/dist/enquiry-form/serialization.d.ts +4 -0
  79. package/dist/enquiry-form/serialization.js +57 -0
  80. package/dist/enquiry-form/types.d.ts +38 -0
  81. package/dist/enquiry-form/types.js +1 -0
  82. package/dist/enquiry-form/validation.d.ts +6 -0
  83. package/dist/enquiry-form/validation.js +21 -0
  84. package/dist/index.d.ts +9 -0
  85. package/dist/index.js +7 -0
  86. package/dist/lib/templateUtils.d.ts +3 -0
  87. package/dist/lib/templateUtils.js +28 -0
  88. package/dist/react/ThemeProvider.d.ts +18 -0
  89. package/dist/react/ThemeProvider.js +45 -0
  90. package/dist/react/hooks/useTheme.d.ts +1 -0
  91. package/dist/react/hooks/useTheme.js +1 -0
  92. package/dist/react/index.d.ts +5 -0
  93. package/dist/react/index.js +3 -0
  94. package/dist/services/AppointmentService.d.ts +4 -5
  95. package/dist/services/AppointmentService.js +12 -10
  96. package/dist/services/EnquiryService.d.ts +5 -0
  97. package/dist/services/EnquiryService.js +30 -0
  98. package/dist/templates/registry.d.ts +12 -0
  99. package/dist/templates/registry.js +58 -0
  100. package/dist/vanilla/AppointmentCalendarWidget.d.ts +2 -34
  101. package/dist/vanilla/AppointmentCalendarWidget.js +264 -275
  102. package/dist/vanilla/EnquiryFormWidget.d.ts +35 -0
  103. package/dist/vanilla/EnquiryFormWidget.js +425 -0
  104. package/dist/vanilla/client/MedosClient.d.ts +3 -5
  105. package/dist/vanilla/components/AppointmentCalender.d.ts +1 -4
  106. package/dist/vanilla/components/AppointmentDateTimeModal.d.ts +14 -0
  107. package/dist/vanilla/components/ConfigurableCard.d.ts +12 -0
  108. package/dist/vanilla/components/ContactInformationStep.d.ts +13 -0
  109. package/dist/vanilla/components/ContactPreferenceStep.d.ts +9 -0
  110. package/dist/vanilla/components/DoctorSelectModal.d.ts +7 -0
  111. package/dist/vanilla/components/EnquiryForm.d.ts +7 -0
  112. package/dist/vanilla/components/Icons/Check.d.ts +6 -0
  113. package/dist/vanilla/components/Icons/ChevronDownIcon.d.ts +4 -0
  114. package/dist/vanilla/components/Icons/ChevronLeft.d.ts +3 -0
  115. package/dist/vanilla/components/Icons/ChevronRight.d.ts +3 -0
  116. package/dist/vanilla/components/Icons/ConfirmationCheck.d.ts +1 -0
  117. package/dist/vanilla/components/Icons/ConsultationType.d.ts +1 -0
  118. package/dist/vanilla/components/Icons/Date&TimeIcon.d.ts +1 -0
  119. package/dist/vanilla/components/Icons/MapIcon.d.ts +1 -0
  120. package/dist/vanilla/components/Icons/PaymentMethodIcon.d.ts +1 -0
  121. package/dist/vanilla/components/Icons/UserIcon.d.ts +1 -0
  122. package/dist/vanilla/components/InquiryDetailsStep.d.ts +10 -0
  123. package/dist/vanilla/components/PatientDetailsStep.d.ts +3 -0
  124. package/dist/vanilla/components/PhoneVerificationStep.d.ts +3 -0
  125. package/dist/vanilla/components/SuccessStep.d.ts +5 -0
  126. package/dist/vanilla/components/custom-calendar.d.ts +5 -0
  127. package/dist/vanilla/components/styles.d.ts +6 -0
  128. package/dist/vanilla/components/theme-styles.d.ts +12 -0
  129. package/dist/vanilla/components/types.d.ts +181 -0
  130. package/dist/vanilla/components/ui/select.d.ts +10 -0
  131. package/dist/vanilla/components/uiComponents/SelectDropdown.d.ts +41 -0
  132. package/dist/vanilla/components/utils.d.ts +5 -0
  133. package/dist/vanilla/components/validation.d.ts +2 -0
  134. package/dist/vanilla/context/TemplateContext.d.ts +12 -0
  135. package/dist/vanilla/core/index.d.ts +4 -0
  136. package/dist/vanilla/core/theme/index.d.ts +3 -0
  137. package/dist/vanilla/core/theme/themes.d.ts +8 -0
  138. package/dist/vanilla/core/theme/types.d.ts +106 -0
  139. package/dist/vanilla/core/theme/utils.d.ts +8 -0
  140. package/dist/vanilla/enquiry-form/index.d.ts +4 -0
  141. package/dist/vanilla/enquiry-form/provider.d.ts +3 -0
  142. package/dist/vanilla/enquiry-form/serialization.d.ts +4 -0
  143. package/dist/vanilla/enquiry-form/types.d.ts +38 -0
  144. package/dist/vanilla/enquiry-form/validation.d.ts +6 -0
  145. package/dist/vanilla/enquiry-widget.js +4650 -0
  146. package/dist/vanilla/index.d.ts +9 -0
  147. package/dist/vanilla/index.js +3 -1
  148. package/dist/vanilla/lib/templateUtils.d.ts +3 -0
  149. package/dist/vanilla/react/ThemeProvider.d.ts +18 -0
  150. package/dist/vanilla/react/hooks/useTheme.d.ts +1 -0
  151. package/dist/vanilla/react/index.d.ts +5 -0
  152. package/dist/vanilla/services/AppointmentService.d.ts +4 -5
  153. package/dist/vanilla/services/EnquiryService.d.ts +5 -0
  154. package/dist/vanilla/templates/alternative.css +13 -0
  155. package/dist/vanilla/templates/default.css +13 -0
  156. package/dist/vanilla/templates/registry.d.ts +12 -0
  157. package/dist/vanilla/theme-injector.d.ts +6 -0
  158. package/dist/vanilla/theme-injector.js +44 -0
  159. package/dist/vanilla/vanilla/AppointmentCalendarWidget.d.ts +2 -34
  160. package/dist/vanilla/vanilla/EnquiryFormWidget.d.ts +35 -0
  161. package/dist/vanilla/vanilla/index.d.ts +3 -1
  162. package/dist/vanilla/vanilla/theme-injector.d.ts +6 -0
  163. package/dist/vanilla/vanilla/widget.d.ts +6 -1
  164. package/dist/vanilla/widget.css +173 -0
  165. package/dist/vanilla/widget.d.ts +6 -1
  166. package/dist/vanilla/widget.js +813 -288
  167. package/package.json +9 -4
@@ -0,0 +1,171 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import ChevronLeft from "./Icons/ChevronLeft";
4
+ import ChevronRight from "./Icons/ChevronRight";
5
+ import { useTheme } from "../react/hooks/useTheme";
6
+ const getStyle = (theme) => `
7
+ .custom-calendar {
8
+ width: 340px;
9
+ background-color: ${theme.colors.background};
10
+ border-radius: ${theme.radii.md};
11
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
12
+ padding: 16px;
13
+ font-family: ${theme.typography.fontFamily};
14
+ }
15
+ .calendar-header {
16
+ display: flex;
17
+ justify-content: space-between;
18
+ align-items: center;
19
+ margin-bottom: 12px;
20
+ }
21
+ .calendar-month {
22
+ font-size: 14px;
23
+ font-weight: 600;
24
+ color: ${theme.colors.text};
25
+ }
26
+ .calendar-nav {
27
+ width: 20px;
28
+ height: 20px;
29
+ color: ${theme.colors.secondary};
30
+ cursor: pointer;
31
+ border-radius: ${theme.radii.sm};
32
+ transition: background-color 0.2s;
33
+ }
34
+ .calendar-nav:hover {
35
+ background-color: ${theme.colors.backgroundSecondary};
36
+ }
37
+ .calendar-days-header {
38
+ display: grid;
39
+ grid-template-columns: repeat(7, 1fr);
40
+ text-align: center;
41
+ margin-bottom: 6px;
42
+ font-size: 13px;
43
+ font-weight: 500;
44
+ color: ${theme.colors.text};
45
+ }
46
+ .calendar-grid {
47
+ display: grid;
48
+ grid-template-columns: repeat(7, 1fr);
49
+ gap: 6px;
50
+ text-align: center;
51
+ }
52
+ .calendar-day {
53
+ width: 38px;
54
+ height: 38px;
55
+ border: 1px solid transparent;
56
+ border-radius: ${theme.radii.md};
57
+ color: ${theme.colors.secondary};
58
+ background-color: transparent;
59
+ font-size: 14px;
60
+ transition: all 0.2s;
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ flex-direction: column;
65
+ }
66
+ .calendar-day span {
67
+ line-height: 1;
68
+ }
69
+ .calendar-day:hover:not(.disabled):not(.selected) {
70
+ background-color: ${theme.colors.secondary};
71
+ color: ${theme.colors.textOnSecondary};
72
+ }
73
+ .calendar-day.selected {
74
+ border: 1px solid ${theme.colors.secondary};
75
+ color: ${theme.colors.secondary};
76
+ background-color: transparent;
77
+ font-weight: 600;
78
+ }
79
+ .calendar-day.disabled {
80
+ color: ${theme.colors.textSecondary};
81
+ opacity: 0.4;
82
+ cursor: not-allowed;
83
+ }
84
+ .calendar-dot {
85
+ font-size: 10px;
86
+ margin-top: -2px;
87
+ line-height: 1;
88
+ }
89
+ .calendar-empty {
90
+ visibility: hidden;
91
+ }
92
+ `;
93
+ export const CustomCalendarWithDateSelector = ({ selectedDate, onSelect, pastDisabled = false, }) => {
94
+ const theme = useTheme();
95
+ useEffect(() => {
96
+ const styleId = "custom-calendar-style";
97
+ const existingStyle = document.getElementById(styleId);
98
+ const themeStyle = getStyle(theme);
99
+ if (existingStyle) {
100
+ existingStyle.innerHTML = themeStyle;
101
+ }
102
+ else {
103
+ const s = document.createElement("style");
104
+ s.id = styleId;
105
+ s.innerHTML = themeStyle;
106
+ document.head.appendChild(s);
107
+ }
108
+ }, [theme]);
109
+ const today = new Date();
110
+ today.setHours(0, 0, 0, 0);
111
+ const [currentMonth, setCurrentMonth] = useState(today.getMonth());
112
+ const [currentYear, setCurrentYear] = useState(today.getFullYear());
113
+ const daysOfWeek = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
114
+ const months = [
115
+ "January",
116
+ "February",
117
+ "March",
118
+ "April",
119
+ "May",
120
+ "June",
121
+ "July",
122
+ "August",
123
+ "September",
124
+ "October",
125
+ "November",
126
+ "December",
127
+ ];
128
+ const getDaysInMonth = (year, month) => {
129
+ return new Date(year, month + 1, 0).getDate();
130
+ };
131
+ const getFirstDayOfMonth = (year, month) => {
132
+ return new Date(year, month, 1).getDay();
133
+ };
134
+ const daysInMonth = getDaysInMonth(currentYear, currentMonth);
135
+ const firstDayOfMonth = getFirstDayOfMonth(currentYear, currentMonth);
136
+ const startOffset = (firstDayOfMonth + 6) % 7;
137
+ const prevMonth = () => {
138
+ if (currentMonth === 0) {
139
+ setCurrentMonth(11);
140
+ setCurrentYear(currentYear - 1);
141
+ }
142
+ else {
143
+ setCurrentMonth(currentMonth - 1);
144
+ }
145
+ };
146
+ const nextMonth = () => {
147
+ if (currentMonth === 11) {
148
+ setCurrentMonth(0);
149
+ setCurrentYear(currentYear + 1);
150
+ }
151
+ else {
152
+ setCurrentMonth(currentMonth + 1);
153
+ }
154
+ };
155
+ const isSameDate = (d1, d2) => {
156
+ return (d1.getFullYear() === d2.getFullYear() &&
157
+ d1.getMonth() === d2.getMonth() &&
158
+ d1.getDate() === d2.getDate());
159
+ };
160
+ const isBeforeToday = (date) => {
161
+ const todayStart = new Date(today);
162
+ todayStart.setHours(0, 0, 0, 0);
163
+ return date < todayStart;
164
+ };
165
+ return (_jsxs("div", { className: "custom-calendar", children: [_jsxs("div", { className: "calendar-header", children: [_jsx(ChevronLeft, { onClick: prevMonth, className: "calendar-nav" }), _jsxs("p", { className: "calendar-month", children: [months[currentMonth], " ", currentYear] }), _jsx(ChevronRight, { onClick: nextMonth, className: "calendar-nav" })] }), _jsx("div", { className: "calendar-days-header", children: daysOfWeek.map((d) => (_jsx("div", { className: "calendar-day-name", children: d }, d))) }), _jsxs("div", { className: "calendar-grid", children: [Array.from({ length: startOffset }).map((_, idx) => (_jsx("div", { className: "calendar-empty" }, `empty-${idx}`))), Array.from({ length: daysInMonth }).map((_, i) => {
166
+ const date = new Date(currentYear, currentMonth, i + 1);
167
+ const disabled = pastDisabled && isBeforeToday(date);
168
+ const isSelected = selectedDate && isSameDate(selectedDate, date);
169
+ return (_jsxs("button", { disabled: disabled, onClick: () => onSelect(date), className: `calendar-day ${isSelected ? "selected" : ""} ${disabled ? "disabled" : ""}`, children: [_jsx("span", { children: i + 1 }), isSelected && _jsx("span", { className: "calendar-dot", children: "\u2022" })] }, i + 1));
170
+ })] })] }));
171
+ };
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare const CONTAINER_STYLES: Record<string, React.CSSProperties>;
3
+ export declare const BUTTON_STYLES: Record<string, React.CSSProperties>;
4
+ export declare const PHONE_VERIFY_STYLES: Record<string, React.CSSProperties>;
5
+ export declare const PATIENT_DETAILS_STYLES: Record<string, React.CSSProperties>;
6
+ export declare const SUCCESS_STYLES: Record<string, React.CSSProperties>;
@@ -0,0 +1,257 @@
1
+ export const CONTAINER_STYLES = {
2
+ container: {
3
+ display: "flex",
4
+ justifyContent: "center",
5
+ padding: 20,
6
+ fontFamily: "'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial",
7
+ background: "#f6f8fa",
8
+ },
9
+ card: {
10
+ width: "100%",
11
+ maxWidth: 720,
12
+ background: "#fff",
13
+ borderRadius: 12,
14
+ boxShadow: "0 8px 24px rgba(16,24,40,0.08)",
15
+ padding: 24,
16
+ boxSizing: "border-box",
17
+ },
18
+ header: {
19
+ display: "flex",
20
+ alignItems: "center",
21
+ justifyContent: "space-between",
22
+ marginBottom: 16,
23
+ },
24
+ title: {
25
+ marginLeft: 10,
26
+ fontSize: 20,
27
+ fontWeight: 600,
28
+ },
29
+ section: { marginTop: 12 },
30
+ errorMessage: {
31
+ marginBottom: 12,
32
+ color: "#ef4444",
33
+ fontWeight: 600,
34
+ },
35
+ actions: {
36
+ display: "flex",
37
+ gap: 8,
38
+ marginTop: 16,
39
+ justifyContent: "flex-end",
40
+ },
41
+ };
42
+ export const BUTTON_STYLES = {
43
+ primary: {
44
+ background: "#218838",
45
+ color: "#fff",
46
+ border: "none",
47
+ padding: "10px 14px",
48
+ borderRadius: 8,
49
+ cursor: "pointer",
50
+ fontWeight: 600,
51
+ },
52
+ secondary: {
53
+ background: "#fff",
54
+ color: "#218838",
55
+ border: "1px solid #218838",
56
+ padding: "10px 14px",
57
+ borderRadius: 8,
58
+ cursor: "pointer",
59
+ },
60
+ };
61
+ export const PHONE_VERIFY_STYLES = {
62
+ container: {
63
+ border: "1px solid #e5e7eb",
64
+ borderRadius: 12,
65
+ overflow: "hidden",
66
+ backgroundColor: "#fff",
67
+ },
68
+ header: {
69
+ padding: "16px 24px",
70
+ borderBottom: "1px solid #e5e7eb",
71
+ backgroundColor: "#f9fafb",
72
+ },
73
+ title: {
74
+ margin: 0,
75
+ fontSize: 18,
76
+ fontWeight: 600,
77
+ color: "#111827",
78
+ },
79
+ content: { padding: "24px" },
80
+ label: {
81
+ display: "block",
82
+ fontSize: 14,
83
+ fontWeight: 500,
84
+ color: "#111827",
85
+ marginBottom: 8,
86
+ },
87
+ phoneInputContainer: { display: "flex", gap: 8 },
88
+ phoneInput: {
89
+ flex: 1,
90
+ padding: "10px 12px",
91
+ borderRadius: 8,
92
+ border: "1px solid #e6e9ef",
93
+ fontSize: 14,
94
+ outline: "none",
95
+ color: "#111827",
96
+ boxSizing: "border-box",
97
+ },
98
+ phoneDisplay: {
99
+ padding: "10px 12px",
100
+ background: "#f9fafb",
101
+ borderRadius: 8,
102
+ fontSize: 14,
103
+ color: "#374151",
104
+ fontWeight: 500,
105
+ },
106
+ otpInput: {
107
+ width: "100%",
108
+ padding: "10px 12px",
109
+ border: "1px solid #d1d5db",
110
+ borderRadius: 8,
111
+ fontSize: 14,
112
+ outline: "none",
113
+ color: "#111827",
114
+ boxSizing: "border-box",
115
+ },
116
+ otpHint: {
117
+ marginTop: 8,
118
+ fontSize: 12,
119
+ color: "#6b7280",
120
+ },
121
+ successMessage: {
122
+ marginTop: 20,
123
+ padding: 16,
124
+ borderRadius: 8,
125
+ backgroundColor: "#F6FBF6",
126
+ border: "1px solid #218838",
127
+ display: "flex",
128
+ alignItems: "center",
129
+ gap: 12,
130
+ },
131
+ successIcon: { fontSize: 24, color: "#218838" },
132
+ successTitle: {
133
+ fontSize: 14,
134
+ fontWeight: 600,
135
+ color: "#218838",
136
+ },
137
+ successSubtitle: {
138
+ fontSize: 12,
139
+ color: "#6B7280",
140
+ marginTop: 2,
141
+ },
142
+ footer: {
143
+ padding: "16px 24px",
144
+ borderTop: "1px solid #e5e7eb",
145
+ backgroundColor: "#fff",
146
+ display: "flex",
147
+ gap: 12,
148
+ justifyContent: "flex-end",
149
+ },
150
+ };
151
+ export const PATIENT_DETAILS_STYLES = {
152
+ sectionCard: {
153
+ border: "1px solid #E5E7EB",
154
+ borderRadius: "12px",
155
+ marginBottom: "24px",
156
+ },
157
+ sectionHeader: {
158
+ backgroundColor: "#F9FAFB",
159
+ padding: "16px 20px",
160
+ display: "flex",
161
+ alignItems: "center",
162
+ gap: "12px",
163
+ borderBottom: "1px solid #E5E7EB",
164
+ },
165
+ sectionTitle: {
166
+ fontSize: "18px",
167
+ fontWeight: 600,
168
+ margin: 0,
169
+ },
170
+ sectionBody: { padding: "24px" },
171
+ gridRow: {
172
+ display: "grid",
173
+ gridTemplateColumns: "1fr 1fr",
174
+ gap: "20px",
175
+ marginTop: "20px",
176
+ },
177
+ label: {
178
+ display: "block",
179
+ fontSize: 13,
180
+ marginBottom: 6,
181
+ color: "#374151",
182
+ },
183
+ input: {
184
+ width: "100%",
185
+ padding: "10px 12px",
186
+ borderRadius: 8,
187
+ border: "1px solid #e6e9ef",
188
+ outline: "none",
189
+ fontSize: 14,
190
+ boxSizing: "border-box",
191
+ },
192
+ phoneDisplay: { display: "flex", gap: "8px" },
193
+ phoneCode: {
194
+ width: "100px",
195
+ padding: "10px 12px",
196
+ borderRadius: 8,
197
+ border: "1px solid #e6e9ef",
198
+ backgroundColor: "#F9FAFB",
199
+ fontSize: 14,
200
+ boxSizing: "border-box",
201
+ },
202
+ phoneNumber: {
203
+ flex: 1,
204
+ padding: "10px 12px",
205
+ borderRadius: 8,
206
+ border: "1px solid #e6e9ef",
207
+ backgroundColor: "#F9FAFB",
208
+ fontSize: 14,
209
+ boxSizing: "border-box",
210
+ },
211
+ };
212
+ export const SUCCESS_STYLES = {
213
+ container: {
214
+ display: "flex",
215
+ flexDirection: "column",
216
+ height: "100%",
217
+ },
218
+ header: {
219
+ marginTop: "-16px",
220
+ alignItems: "center",
221
+ textAlign: "center",
222
+ color: "#27903F",
223
+ fontWeight: 800,
224
+ fontSize: "18px",
225
+ marginBottom: "20px",
226
+ },
227
+ iconContainer: {
228
+ display: "flex",
229
+ alignItems: "center",
230
+ justifyContent: "center",
231
+ padding: "12px 0",
232
+ },
233
+ detailsContainer: {
234
+ display: "flex",
235
+ flexDirection: "column",
236
+ alignItems: "center",
237
+ gap: "12px",
238
+ textAlign: "center",
239
+ color: "#27903F",
240
+ },
241
+ detailsTitle: { fontWeight: 600, fontSize: "16px" },
242
+ detailsList: {
243
+ display: "flex",
244
+ flexDirection: "column",
245
+ gap: "4px",
246
+ fontSize: "14px",
247
+ width: "100%",
248
+ maxWidth: "28rem",
249
+ textAlign: "center",
250
+ },
251
+ confirmationNote: {
252
+ marginTop: "8px",
253
+ fontSize: "12px",
254
+ color: "#6B7280",
255
+ },
256
+ actionContainer: { marginTop: "24px" },
257
+ };
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { MedosTheme } from "../core/theme/types";
3
+ export declare function getContainerStyles(theme: MedosTheme, prefix?: string): Record<string, React.CSSProperties>;
4
+ export declare function getButtonStyles(theme: MedosTheme, prefix?: string): Record<string, React.CSSProperties>;
5
+ export declare function getPhoneVerifyStyles(theme: MedosTheme, prefix?: string): Record<string, React.CSSProperties>;
6
+ export declare function getPatientDetailsStyles(theme: MedosTheme, prefix?: string): Record<string, React.CSSProperties>;
7
+ export declare function getSuccessStyles(theme: MedosTheme, prefix?: string): Record<string, React.CSSProperties>;
8
+ export declare const CONTAINER_STYLES: Record<string, React.CSSProperties>;
9
+ export declare const BUTTON_STYLES: Record<string, React.CSSProperties>;
10
+ export declare const PHONE_VERIFY_STYLES: Record<string, React.CSSProperties>;
11
+ export declare const PATIENT_DETAILS_STYLES: Record<string, React.CSSProperties>;
12
+ export declare const SUCCESS_STYLES: Record<string, React.CSSProperties>;