medos-sdk 1.0.0 → 1.0.2

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.
@@ -0,0 +1,217 @@
1
+ /* Medos Appointment Calendar Widget Styles */
2
+
3
+ .medos-appointment-container {
4
+ display: flex;
5
+ justify-content: center;
6
+ padding: 20px;
7
+ font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
8
+ background: #f6f8fa;
9
+ }
10
+
11
+ .medos-appointment-card {
12
+ width: 100%;
13
+ max-width: 720px;
14
+ background: #fff;
15
+ border-radius: 12px;
16
+ box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
17
+ padding: 24px;
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ .medos-appointment-header {
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: space-between;
25
+ margin-bottom: 16px;
26
+ }
27
+
28
+ .medos-appointment-title {
29
+ margin: 0;
30
+ font-size: 20px;
31
+ font-weight: 600;
32
+ }
33
+
34
+ .medos-appointment-stepper {
35
+ display: flex;
36
+ gap: 8px;
37
+ align-items: center;
38
+ }
39
+
40
+ .medos-appointment-step-pill {
41
+ padding: 6px 10px;
42
+ border-radius: 999px;
43
+ font-size: 12px;
44
+ font-weight: 600;
45
+ background: #eef2ff;
46
+ color: #333;
47
+ }
48
+
49
+ .medos-appointment-step-pill.active {
50
+ background: #0b79f7;
51
+ color: #fff;
52
+ }
53
+
54
+ .medos-appointment-section {
55
+ margin-top: 12px;
56
+ }
57
+
58
+ .medos-appointment-label {
59
+ display: block;
60
+ font-size: 13px;
61
+ margin-bottom: 6px;
62
+ color: #374151;
63
+ }
64
+
65
+ .medos-appointment-input,
66
+ .medos-appointment-select,
67
+ .medos-appointment-textarea {
68
+ width: 100%;
69
+ padding: 10px 12px;
70
+ border-radius: 8px;
71
+ border: 1px solid #e6e9ef;
72
+ outline: none;
73
+ font-size: 14px;
74
+ box-sizing: border-box;
75
+ font-family: inherit;
76
+ }
77
+
78
+ .medos-appointment-select {
79
+ background: #fff;
80
+ }
81
+
82
+ .medos-appointment-textarea {
83
+ min-height: 80px;
84
+ resize: vertical;
85
+ }
86
+
87
+ .medos-appointment-actions {
88
+ display: flex;
89
+ gap: 8px;
90
+ margin-top: 16px;
91
+ justify-content: flex-end;
92
+ }
93
+
94
+ .medos-appointment-btn {
95
+ padding: 10px 14px;
96
+ border-radius: 8px;
97
+ cursor: pointer;
98
+ font-weight: 600;
99
+ font-size: 14px;
100
+ border: none;
101
+ font-family: inherit;
102
+ }
103
+
104
+ .medos-appointment-btn-primary {
105
+ background: #0b79f7;
106
+ color: #fff;
107
+ }
108
+
109
+ .medos-appointment-btn-primary:disabled {
110
+ opacity: 0.6;
111
+ cursor: not-allowed;
112
+ }
113
+
114
+ .medos-appointment-btn-secondary {
115
+ background: #fff;
116
+ color: #0b254a;
117
+ border: 1px solid #e6e9ef;
118
+ }
119
+
120
+ .medos-appointment-slot-grid {
121
+ display: grid;
122
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
123
+ gap: 12px;
124
+ margin-top: 12px;
125
+ }
126
+
127
+ .medos-appointment-slot-card {
128
+ padding: 12px;
129
+ border-radius: 10px;
130
+ border: 1px solid #e6e9ef;
131
+ background: #fff;
132
+ cursor: pointer;
133
+ text-align: center;
134
+ transition: all 0.2s;
135
+ }
136
+
137
+ .medos-appointment-slot-card:hover {
138
+ border-color: #0b79f7;
139
+ }
140
+
141
+ .medos-appointment-slot-card.selected {
142
+ border: 2px solid #0b79f7;
143
+ background: linear-gradient(180deg, #f0f6ff, #e9f2ff);
144
+ }
145
+
146
+ .medos-appointment-slot-time {
147
+ font-weight: 700;
148
+ font-size: 14px;
149
+ }
150
+
151
+ .medos-appointment-small-muted {
152
+ font-size: 12px;
153
+ color: #6b7280;
154
+ }
155
+
156
+ .medos-appointment-success-card {
157
+ padding: 20px;
158
+ border-radius: 12px;
159
+ background: linear-gradient(90deg, #ecfdf5, #eff6ff);
160
+ text-align: center;
161
+ }
162
+
163
+ .medos-appointment-success-icon {
164
+ font-size: 32px;
165
+ color: #10b981;
166
+ margin-bottom: 8px;
167
+ }
168
+
169
+ .medos-appointment-success-title {
170
+ font-weight: 700;
171
+ margin-bottom: 6px;
172
+ }
173
+
174
+ .medos-appointment-loading {
175
+ margin-bottom: 12px;
176
+ }
177
+
178
+ .medos-appointment-error {
179
+ margin-bottom: 12px;
180
+ color: #ef4444;
181
+ font-weight: 600;
182
+ }
183
+
184
+ .medos-appointment-verified {
185
+ margin-top: 12px;
186
+ padding: 12px;
187
+ border-radius: 8px;
188
+ background: #ecfdf5;
189
+ color: #10b981;
190
+ font-weight: 600;
191
+ }
192
+
193
+ .medos-appointment-form-grid {
194
+ display: grid;
195
+ grid-template-columns: 1fr 1fr;
196
+ gap: 12px;
197
+ margin-top: 12px;
198
+ }
199
+
200
+ .medos-appointment-form-grid-2col {
201
+ display: grid;
202
+ grid-template-columns: 1fr 1fr;
203
+ gap: 16px;
204
+ }
205
+
206
+ .medos-appointment-validation-error {
207
+ margin-top: 4px;
208
+ font-size: 12px;
209
+ color: #ef4444;
210
+ }
211
+
212
+ .medos-appointment-otp-info {
213
+ margin-top: 8px;
214
+ font-size: 12px;
215
+ color: #6b7280;
216
+ }
217
+
@@ -0,0 +1,10 @@
1
+ import { initAppointmentCalendar, AppointmentCalendarWidget } from "./AppointmentCalendarWidget";
2
+ declare global {
3
+ interface Window {
4
+ MedosAppointmentCalendar: {
5
+ init: typeof initAppointmentCalendar;
6
+ Widget: typeof AppointmentCalendarWidget;
7
+ };
8
+ }
9
+ }
10
+ export { initAppointmentCalendar, AppointmentCalendarWidget };