@devpablocristo/modules-scheduling 0.4.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.
package/src/styles.css ADDED
@@ -0,0 +1,649 @@
1
+ @import "@devpablocristo/modules-calendar-board/styles.css";
2
+
3
+ .modules-scheduling {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--space-4);
7
+ }
8
+
9
+ .modules-scheduling__summary {
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ .modules-scheduling__filters {
14
+ display: grid;
15
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
16
+ gap: var(--space-3);
17
+ }
18
+
19
+ .modules-scheduling__layout {
20
+ display: grid;
21
+ grid-template-columns: 1fr;
22
+ gap: var(--space-4);
23
+ align-items: start;
24
+ }
25
+
26
+ .modules-scheduling__calendar-card,
27
+ .modules-scheduling__slots-card {
28
+ min-width: 0;
29
+ }
30
+
31
+ .modules-scheduling__calendar-card .modules-calendar {
32
+ height: calc(100vh - 268px);
33
+ min-height: 620px;
34
+ }
35
+
36
+ .modules-scheduling__slots-card {
37
+ display: flex;
38
+ flex-direction: column;
39
+ gap: var(--space-3);
40
+ }
41
+
42
+ .modules-scheduling__calendar-event {
43
+ display: flex;
44
+ flex-direction: column;
45
+ gap: 2px;
46
+ min-width: 0;
47
+ overflow: hidden;
48
+ }
49
+
50
+ .modules-scheduling__calendar-event--list {
51
+ padding: 2px 0;
52
+ gap: 6px;
53
+ }
54
+
55
+ .modules-scheduling__calendar-event-top,
56
+ .modules-scheduling__calendar-event-meta {
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 6px;
60
+ min-width: 0;
61
+ }
62
+
63
+ .modules-scheduling__calendar-event-top {
64
+ justify-content: space-between;
65
+ }
66
+
67
+ .modules-scheduling__calendar-event strong {
68
+ color: inherit;
69
+ font-size: 0.85rem;
70
+ line-height: 1.2;
71
+ display: block;
72
+ min-width: 0;
73
+ flex: 1 1 auto;
74
+ white-space: nowrap;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ }
78
+
79
+ .modules-scheduling__calendar-event-meta {
80
+ color: color-mix(in srgb, currentColor 80%, white 20%);
81
+ font-size: 0.72rem;
82
+ line-height: 1.15;
83
+ }
84
+
85
+ .modules-scheduling__calendar-event-meta span {
86
+ display: block;
87
+ min-width: 0;
88
+ white-space: nowrap;
89
+ overflow: hidden;
90
+ text-overflow: ellipsis;
91
+ }
92
+
93
+ .modules-scheduling__calendar-event--list .modules-scheduling__calendar-event-meta span {
94
+ white-space: normal;
95
+ }
96
+
97
+ .modules-scheduling__slots-date {
98
+ display: flex;
99
+ align-items: center;
100
+ justify-content: space-between;
101
+ gap: var(--space-3);
102
+ padding: var(--space-3);
103
+ border: 1px solid var(--color-border-subtle);
104
+ border-radius: var(--radius-md);
105
+ background: var(--color-bg);
106
+ color: var(--color-text-secondary);
107
+ font-size: var(--text-sm);
108
+ }
109
+
110
+ .modules-scheduling__slot-list {
111
+ list-style: none;
112
+ padding: 0;
113
+ margin: 0;
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: var(--space-3);
117
+ }
118
+
119
+ .modules-scheduling__slot-card {
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: space-between;
123
+ gap: var(--space-3);
124
+ padding: var(--space-3);
125
+ border-radius: var(--radius-md);
126
+ border: 1px solid var(--color-border-subtle);
127
+ background: color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));
128
+ }
129
+
130
+ .modules-scheduling__slot-main {
131
+ display: flex;
132
+ flex-direction: column;
133
+ gap: var(--space-1);
134
+ }
135
+
136
+ .modules-scheduling__slot-main strong {
137
+ color: var(--color-text);
138
+ font-size: var(--text-base);
139
+ }
140
+
141
+ .modules-scheduling__slot-main span,
142
+ .modules-scheduling__slot-meta span {
143
+ color: var(--color-text-secondary);
144
+ font-size: var(--text-sm);
145
+ }
146
+
147
+ .modules-scheduling__slot-meta {
148
+ display: flex;
149
+ flex-direction: column;
150
+ align-items: flex-end;
151
+ gap: var(--space-2);
152
+ }
153
+
154
+ .modules-scheduling__results {
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: var(--space-2);
158
+ }
159
+
160
+ .modules-scheduling__booking-row {
161
+ width: 100%;
162
+ border: 1px solid var(--color-border-subtle);
163
+ background: var(--color-surface);
164
+ border-radius: var(--radius-md);
165
+ padding: var(--space-3);
166
+ display: flex;
167
+ flex-direction: column;
168
+ gap: var(--space-2);
169
+ align-items: stretch;
170
+ text-align: left;
171
+ }
172
+
173
+ .modules-scheduling__booking-row:hover {
174
+ border-color: var(--color-border);
175
+ background: var(--color-surface-hover);
176
+ }
177
+
178
+ .modules-scheduling__booking-row-main,
179
+ .modules-scheduling__booking-row-meta {
180
+ display: flex;
181
+ align-items: center;
182
+ justify-content: space-between;
183
+ gap: var(--space-2);
184
+ flex-wrap: wrap;
185
+ }
186
+
187
+ .modules-scheduling__booking-row-main strong {
188
+ color: var(--color-text);
189
+ }
190
+
191
+ .modules-scheduling__booking-row-main span,
192
+ .modules-scheduling__booking-row-meta span {
193
+ color: var(--color-text-secondary);
194
+ font-size: var(--text-sm);
195
+ }
196
+
197
+ .modules-scheduling__badge {
198
+ display: inline-flex;
199
+ align-items: center;
200
+ padding: 4px 8px;
201
+ border-radius: 999px;
202
+ font-size: var(--text-xs);
203
+ font-weight: var(--font-weight-semibold);
204
+ letter-spacing: 0.02em;
205
+ }
206
+
207
+ .modules-scheduling__badge--success {
208
+ background: var(--color-success-subtle);
209
+ color: var(--color-success);
210
+ }
211
+
212
+ .modules-scheduling__badge--attention {
213
+ background: var(--color-warning-subtle);
214
+ color: var(--color-alert-warning-text);
215
+ }
216
+
217
+ .modules-scheduling__badge--critical {
218
+ background: var(--color-danger-subtle);
219
+ color: var(--color-danger);
220
+ }
221
+
222
+ .modules-scheduling__badge--neutral {
223
+ background: var(--color-bg);
224
+ color: var(--color-text-secondary);
225
+ }
226
+
227
+ .modules-scheduling__empty {
228
+ display: flex;
229
+ flex-direction: column;
230
+ align-items: center;
231
+ justify-content: center;
232
+ gap: var(--space-3);
233
+ min-height: 180px;
234
+ color: var(--color-text-muted);
235
+ text-align: center;
236
+ }
237
+
238
+ .modules-scheduling__backdrop {
239
+ z-index: var(--z-modal);
240
+ }
241
+
242
+ .modules-scheduling__modal {
243
+ width: min(720px, 100%);
244
+ }
245
+
246
+ .modules-scheduling__modal-form,
247
+ .modules-scheduling__modal-body {
248
+ display: flex;
249
+ flex-direction: column;
250
+ gap: var(--space-4);
251
+ }
252
+
253
+ .modules-scheduling__creator-grid {
254
+ display: grid;
255
+ grid-template-columns: minmax(0, 1fr);
256
+ gap: var(--space-4);
257
+ align-items: start;
258
+ }
259
+
260
+ .modules-scheduling__creator-main {
261
+ display: flex;
262
+ flex-direction: column;
263
+ gap: var(--space-4);
264
+ }
265
+
266
+ .modules-scheduling__validation-message {
267
+ margin-bottom: var(--space-3);
268
+ padding: var(--space-3);
269
+ border: 1px solid var(--color-border);
270
+ border-radius: var(--radius-md);
271
+ background: var(--color-warning-subtle);
272
+ color: var(--color-alert-warning-text);
273
+ font-size: var(--text-sm);
274
+ }
275
+
276
+ .modules-scheduling__form-row {
277
+ display: flex;
278
+ gap: var(--space-3);
279
+ flex-wrap: wrap;
280
+ }
281
+
282
+ .modules-scheduling__weekday-picker {
283
+ display: flex;
284
+ gap: var(--space-2);
285
+ flex-wrap: wrap;
286
+ }
287
+
288
+ .modules-scheduling__weekday-btn {
289
+ width: 2rem;
290
+ height: 2rem;
291
+ border-radius: 999px;
292
+ border: 1px solid var(--color-border-subtle);
293
+ background: var(--color-surface);
294
+ color: var(--color-text-secondary);
295
+ font-weight: var(--font-weight-semibold);
296
+ }
297
+
298
+ .modules-scheduling__weekday-btn--active {
299
+ border-color: var(--color-primary);
300
+ background: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));
301
+ color: var(--color-primary);
302
+ }
303
+
304
+ .modules-scheduling__detail-grid {
305
+ display: grid;
306
+ grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
307
+ gap: var(--space-3);
308
+ }
309
+
310
+ .modules-scheduling__detail {
311
+ display: flex;
312
+ flex-direction: column;
313
+ gap: var(--space-1);
314
+ padding: var(--space-3);
315
+ border-radius: var(--radius-md);
316
+ border: 1px solid var(--color-border-subtle);
317
+ background: var(--color-bg);
318
+ }
319
+
320
+ .modules-scheduling__detail--full {
321
+ grid-column: 1 / -1;
322
+ }
323
+
324
+ .modules-scheduling__detail span {
325
+ color: var(--color-text-muted);
326
+ font-size: var(--text-xs);
327
+ text-transform: uppercase;
328
+ letter-spacing: 0.05em;
329
+ }
330
+
331
+ .modules-scheduling__detail strong {
332
+ color: var(--color-text);
333
+ font-size: var(--text-sm);
334
+ }
335
+
336
+ .modules-scheduling__notes {
337
+ padding: var(--space-3);
338
+ border-radius: var(--radius-md);
339
+ border: 1px solid var(--color-border-subtle);
340
+ background: var(--color-surface-hover);
341
+ }
342
+
343
+ .modules-scheduling__notes span {
344
+ display: block;
345
+ margin-bottom: var(--space-2);
346
+ color: var(--color-text-muted);
347
+ font-size: var(--text-xs);
348
+ font-weight: var(--font-weight-semibold);
349
+ text-transform: uppercase;
350
+ letter-spacing: 0.05em;
351
+ }
352
+
353
+ .modules-scheduling__notes p {
354
+ margin: 0;
355
+ color: var(--color-text-secondary);
356
+ }
357
+
358
+ .modules-scheduling__queue-grid,
359
+ .modules-scheduling__public-grid {
360
+ display: grid;
361
+ grid-template-columns: repeat(2, minmax(0, 1fr));
362
+ gap: var(--space-4);
363
+ }
364
+
365
+ .modules-scheduling__queue-card {
366
+ display: flex;
367
+ flex-direction: column;
368
+ gap: var(--space-4);
369
+ }
370
+
371
+ .modules-scheduling__queue-header,
372
+ .modules-scheduling__queue-ticket-form-header {
373
+ display: flex;
374
+ align-items: flex-start;
375
+ justify-content: space-between;
376
+ gap: var(--space-3);
377
+ }
378
+
379
+ .modules-scheduling__queue-meta,
380
+ .modules-scheduling__queue-actions,
381
+ .modules-scheduling__queue-ticket-actions,
382
+ .modules-scheduling__public-business-meta,
383
+ .modules-scheduling__public-booking-meta {
384
+ display: flex;
385
+ flex-wrap: wrap;
386
+ gap: var(--space-2);
387
+ }
388
+
389
+ .modules-scheduling__queue-ticket-form {
390
+ padding: var(--space-3);
391
+ border-radius: var(--radius-md);
392
+ border: 1px solid var(--color-border-subtle);
393
+ background: var(--color-bg);
394
+ display: flex;
395
+ flex-direction: column;
396
+ gap: var(--space-3);
397
+ }
398
+
399
+ .modules-scheduling__queue-ticket-form-header {
400
+ flex-direction: column;
401
+ align-items: flex-start;
402
+ }
403
+
404
+ .modules-scheduling__queue-ticket-form-header strong {
405
+ color: var(--color-text);
406
+ }
407
+
408
+ .modules-scheduling__queue-ticket-form-header span {
409
+ color: var(--color-text-secondary);
410
+ font-size: var(--text-sm);
411
+ }
412
+
413
+ .modules-scheduling__queue-ticket-form-grid {
414
+ display: grid;
415
+ grid-template-columns: repeat(4, minmax(0, 1fr));
416
+ gap: var(--space-3);
417
+ }
418
+
419
+ .modules-scheduling__queue-columns {
420
+ display: grid;
421
+ grid-template-columns: repeat(3, minmax(0, 1fr));
422
+ gap: var(--space-3);
423
+ }
424
+
425
+ .modules-scheduling__queue-column {
426
+ min-width: 0;
427
+ border-radius: var(--radius-md);
428
+ border: 1px solid var(--color-border-subtle);
429
+ background: var(--color-surface-hover);
430
+ padding: var(--space-3);
431
+ display: flex;
432
+ flex-direction: column;
433
+ gap: var(--space-3);
434
+ }
435
+
436
+ .modules-scheduling__queue-column-title {
437
+ font-size: var(--text-sm);
438
+ font-weight: var(--font-weight-semibold);
439
+ color: var(--color-text);
440
+ }
441
+
442
+ .modules-scheduling__queue-empty {
443
+ color: var(--color-text-muted);
444
+ font-size: var(--text-sm);
445
+ }
446
+
447
+ .modules-scheduling__queue-ticket {
448
+ border-radius: var(--radius-md);
449
+ border: 1px solid var(--color-border-subtle);
450
+ background: var(--color-surface);
451
+ padding: var(--space-3);
452
+ display: flex;
453
+ flex-direction: column;
454
+ gap: var(--space-2);
455
+ }
456
+
457
+ .modules-scheduling__queue-ticket-main {
458
+ display: flex;
459
+ justify-content: space-between;
460
+ gap: var(--space-2);
461
+ align-items: flex-start;
462
+ }
463
+
464
+ .modules-scheduling__queue-ticket-main strong {
465
+ color: var(--color-text);
466
+ }
467
+
468
+ .modules-scheduling__queue-ticket-meta {
469
+ color: var(--color-text-secondary);
470
+ font-size: var(--text-sm);
471
+ }
472
+
473
+ .modules-scheduling__public-business,
474
+ .modules-scheduling__public-queue-card,
475
+ .modules-scheduling__public-booking-card {
476
+ display: flex;
477
+ flex-direction: column;
478
+ gap: var(--space-3);
479
+ }
480
+
481
+ .modules-scheduling__public-ref {
482
+ display: inline-flex;
483
+ align-items: center;
484
+ padding: 6px 10px;
485
+ border-radius: 999px;
486
+ background: var(--color-bg);
487
+ border: 1px solid var(--color-border-subtle);
488
+ color: var(--color-text-secondary);
489
+ font-size: var(--text-xs);
490
+ font-family: var(--font-mono);
491
+ }
492
+
493
+ .modules-scheduling__public-slots {
494
+ display: grid;
495
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
496
+ gap: var(--space-3);
497
+ }
498
+
499
+ .modules-scheduling__public-slot {
500
+ border: 1px solid var(--color-border-subtle);
501
+ border-radius: var(--radius-md);
502
+ background: var(--color-surface);
503
+ padding: var(--space-3);
504
+ display: flex;
505
+ flex-direction: column;
506
+ gap: var(--space-2);
507
+ align-items: flex-start;
508
+ }
509
+
510
+ .modules-scheduling__public-slot:hover {
511
+ background: var(--color-surface-hover);
512
+ }
513
+
514
+ .modules-scheduling__public-slot--active {
515
+ border-color: var(--color-primary);
516
+ background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
517
+ }
518
+
519
+ .modules-scheduling__public-slot strong {
520
+ color: var(--color-text);
521
+ }
522
+
523
+ .modules-scheduling__public-slot span {
524
+ color: var(--color-text-secondary);
525
+ font-size: var(--text-sm);
526
+ }
527
+
528
+ .modules-scheduling__public-form,
529
+ .modules-scheduling__public-queues,
530
+ .modules-scheduling__public-bookings {
531
+ display: flex;
532
+ flex-direction: column;
533
+ gap: var(--space-3);
534
+ }
535
+
536
+ .modules-scheduling__public-bookings-lookup {
537
+ display: flex;
538
+ align-items: end;
539
+ gap: var(--space-3);
540
+ }
541
+
542
+ .modules-scheduling__public-booking-head {
543
+ display: flex;
544
+ align-items: flex-start;
545
+ justify-content: space-between;
546
+ gap: var(--space-2);
547
+ }
548
+
549
+ .modules-scheduling__public-booking-actions {
550
+ display: flex;
551
+ gap: var(--space-2);
552
+ flex-wrap: wrap;
553
+ }
554
+
555
+ .modules-scheduling__day-summary-grid {
556
+ display: grid;
557
+ grid-template-columns: repeat(2, minmax(0, 1fr));
558
+ gap: var(--space-4);
559
+ }
560
+
561
+ .modules-scheduling__day-summary-section {
562
+ display: flex;
563
+ flex-direction: column;
564
+ gap: var(--space-3);
565
+ }
566
+
567
+ .modules-scheduling__day-summary-title {
568
+ font-size: var(--text-sm);
569
+ font-weight: var(--font-weight-semibold);
570
+ color: var(--color-text);
571
+ }
572
+
573
+ .modules-scheduling__day-summary-item {
574
+ border: 1px solid var(--color-border-subtle);
575
+ border-radius: var(--radius-md);
576
+ background: var(--color-surface-hover);
577
+ padding: var(--space-3);
578
+ display: flex;
579
+ flex-direction: column;
580
+ gap: var(--space-1);
581
+ }
582
+
583
+ .modules-scheduling__day-summary-item strong {
584
+ color: var(--color-text);
585
+ }
586
+
587
+ .modules-scheduling__day-summary-item span {
588
+ color: var(--color-text-secondary);
589
+ font-size: var(--text-sm);
590
+ }
591
+
592
+ @media (max-width: 1100px) {
593
+ .modules-scheduling__layout {
594
+ grid-template-columns: 1fr;
595
+ }
596
+
597
+ .modules-scheduling__calendar-card .modules-calendar {
598
+ height: calc(100vh - 240px);
599
+ min-height: 540px;
600
+ }
601
+
602
+ .modules-scheduling__queue-grid,
603
+ .modules-scheduling__public-grid {
604
+ grid-template-columns: 1fr;
605
+ }
606
+
607
+ .modules-scheduling__day-summary-grid {
608
+ grid-template-columns: 1fr;
609
+ }
610
+
611
+ .modules-scheduling__creator-grid {
612
+ grid-template-columns: 1fr;
613
+ }
614
+
615
+ .modules-scheduling__queue-columns {
616
+ grid-template-columns: 1fr;
617
+ }
618
+
619
+ .modules-scheduling__queue-ticket-form-grid {
620
+ grid-template-columns: repeat(2, minmax(0, 1fr));
621
+ }
622
+ }
623
+
624
+ @media (max-width: 720px) {
625
+ .modules-scheduling__slot-card,
626
+ .modules-scheduling__slot-main,
627
+ .modules-scheduling__slot-meta,
628
+ .modules-scheduling__booking-row-main,
629
+ .modules-scheduling__booking-row-meta {
630
+ align-items: flex-start;
631
+ }
632
+
633
+ .modules-scheduling__slot-card,
634
+ .modules-scheduling__slot-meta {
635
+ flex-direction: column;
636
+ }
637
+
638
+ .modules-scheduling__calendar-card .modules-calendar {
639
+ height: calc(100vh - 208px);
640
+ min-height: 480px;
641
+ }
642
+
643
+ .modules-scheduling__queue-ticket-form-grid,
644
+ .modules-scheduling__public-bookings-lookup {
645
+ grid-template-columns: 1fr;
646
+ flex-direction: column;
647
+ align-items: stretch;
648
+ }
649
+ }
@@ -0,0 +1 @@
1
+ @import "./styles.css";