@happychef/reservation-sidebar 2.4.7 → 2.4.8

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/styles.css +944 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happychef/reservation-sidebar",
3
- "version": "2.4.7",
3
+ "version": "2.4.8",
4
4
  "description": "A compound component for managing restaurant reservations - JavaScript version with independent styles",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/src/styles.css CHANGED
@@ -1,13 +1,944 @@
1
- /* Import all CSS files */
2
- @import './styles/reservationSidebar.css';
3
- @import './styles/newReservationAdmin.css';
4
- @import './components/FormField/formField.css';
5
- @import './components/GiftcardSelection/giftcardSelection.css';
6
- @import './components/ZitplaatsSelection/zitplaatsSelection.css';
7
- @import './components/ReservationStepOne/css/calendar.css';
8
- @import './components/ReservationStepOne/css/reservationMode.css';
9
- @import './components/ReservationStepOne/css/tableSelector.css';
10
- @import './components/ReservationStepOne/css/timeSelector.css';
11
- @import './components/ReservationStepOne/css/valueSelector.css';
12
- @import './components/ReservationStepTwo/reservationStepTwo.css';
13
- @import './components/ReservationSummary/reservationSummary.css';
1
+
2
+ /* reservationSidebar.js */
3
+
4
+ .new-reservation-page .reservation-sidebar-component {
5
+ position: fixed;
6
+ top: 0;
7
+ right: -400px; /* Start off-screen */
8
+ width: 400px;
9
+ height: 100%;
10
+ background-color: #fff;
11
+ box-shadow: -2px 0 5px rgba(0,0,0,0.1);
12
+ z-index: var(--z-index-sidebar-reservation); /* Updated z-index */
13
+ display: flex;
14
+ flex-direction: column;
15
+ overflow-y: auto;
16
+ transition: right 0.3s ease-in-out;
17
+ }
18
+
19
+ .new-reservation-page .admin-title {
20
+ text-align: center;
21
+ margin-bottom: 30px;
22
+ }
23
+
24
+ .new-reservation-page .reservation-sidebar-component.open {
25
+ right: 0;
26
+ }
27
+
28
+ .new-reservation-page .reservation-sidebar-content {
29
+ padding: 20px;
30
+ padding-top: 60px; /* To make room for the close button */
31
+ }
32
+
33
+ .new-reservation-page .close-sidebar-button {
34
+ position: absolute;
35
+ top: 10px;
36
+ left: 10px;
37
+ background-color: transparent;
38
+ border: none;
39
+ cursor: pointer;
40
+ }
41
+
42
+ .new-reservation-page .close-sidebar-button svg {
43
+ color: #000;
44
+ }
45
+
46
+ .new-reservation-page .sidebar-section-one,
47
+ .new-reservation-page .sidebar-section-two {
48
+ margin-bottom: 20px;
49
+ }
50
+
51
+ .new-reservation-page .reservation-footer {
52
+ margin-top: auto;
53
+ }
54
+
55
+ .new-reservation-page .store-reservation-button {
56
+ width: 100%;
57
+ padding: 12px;
58
+ background-color: var(--color-blue);
59
+ color: #fff;
60
+ border: none;
61
+ border-radius: 5px;
62
+ cursor: pointer;
63
+ font-size: 1.1rem;
64
+ }
65
+
66
+ .new-reservation-page .open-sidebar-button {
67
+ position: fixed;
68
+ bottom: 20px;
69
+ right: 20px;
70
+ background-color: var(--color-blue);
71
+ color: #fff;
72
+ border: none;
73
+ border-radius: 50%;
74
+ width: 50px;
75
+ height: 50px;
76
+ cursor: pointer;
77
+ z-index: var(--z-index-modal) !important;
78
+ transition: all 0.3s ease;
79
+ }
80
+
81
+ .new-reservation-page .open-sidebar-button:hover {
82
+ background-color: var(--color-blue-hover-accent) !important;
83
+ }
84
+
85
+ .new-reservation-page .open-sidebar-button svg {
86
+ position: relative;
87
+ top: 2px;
88
+ }
89
+
90
+ @media screen and (max-width: 480px) {
91
+ .new-reservation-page .reservation-sidebar-component {
92
+ width: 100%;
93
+ }
94
+ }
95
+
96
+
97
+ .new-reservation-page .sidebar-section-personeel {
98
+ margin-bottom: 10px;
99
+ }/* newReservationAdmin.css */
100
+
101
+
102
+ .new-reservation-page .account-manage-title {
103
+ text-align: center;
104
+ margin-bottom: 30px;
105
+ }
106
+
107
+ .new-reservation-page .account-manage-container {
108
+ max-width: 800px;
109
+ margin: 0 auto;
110
+ }
111
+
112
+ .new-reservation-page .account-manage-form {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: 15px;
116
+ }
117
+
118
+ .new-reservation-page .input-container {
119
+ position: relative;
120
+ }
121
+
122
+ .new-reservation-page .input-icon {
123
+ position: absolute;
124
+ top: 50%;
125
+ left: 10px;
126
+ transform: translateY(-50%);
127
+ color: #6c757d;
128
+ pointer-events: none;
129
+ }
130
+
131
+ .new-reservation-page .input-container input,
132
+ .new-reservation-page .input-container textarea {
133
+ width: 100%;
134
+ padding: 10px 10px 10px 35px;
135
+ border: 1px solid #ccc;
136
+ border-radius: 5px;
137
+ font-size: 1rem;
138
+ transition: border-color 0.3s ease;
139
+ }
140
+
141
+
142
+ .new-reservation-page .form-error {
143
+ color: #dc3545;
144
+ font-size: 0.9rem;
145
+ margin-top: 5px;
146
+ display: flex;
147
+ align-items: center;
148
+ gap: 5px;
149
+ }
150
+
151
+ .new-reservation-page .account-manage__button {
152
+ padding: 12px;
153
+ background-color: var(--color-blue);
154
+ color: #fff;
155
+ border: none;
156
+ border-radius: 5px;
157
+ cursor: pointer;
158
+ font-size: 1.1rem;
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ gap: 10px;
163
+ transition: background-color 0.3s ease;
164
+ }
165
+ /* src/components/FormField.css */
166
+ .new-reservation-page .form-group .magic-tooltip {
167
+ transition: transform 0.2s ease;
168
+ transform-origin: bottom right;
169
+ }
170
+
171
+ .new-reservation-page .form-group .magic-tooltip:hover {
172
+ transform: scale(1.05);
173
+ }
174
+ /* src/Pages/NewReservation/css/giftcardSelection.css */
175
+
176
+ .new-reservation-page .giftcard-selection {
177
+ margin-bottom: 20px;
178
+ }
179
+
180
+ .new-reservation-page .giftcard-options {
181
+ display: flex;
182
+ gap: 20px;
183
+ margin: 10px 0;
184
+ }
185
+
186
+ .new-reservation-page .giftcard-option {
187
+ display: flex;
188
+ align-items: center;
189
+ gap: 8px;
190
+ cursor: pointer;
191
+ }
192
+
193
+ .new-reservation-page .form-label {
194
+ font-weight: 500;
195
+ margin-bottom: 8px;
196
+ display: block;
197
+ }
198
+
199
+ .new-reservation-page .giftcard-option input[type="radio"] {
200
+ margin: 0;
201
+ cursor: pointer;
202
+ }
203
+
204
+ .new-reservation-page .giftcard-option label {
205
+ cursor: pointer;
206
+ }/* src/Pages/NewReservation/css/zitplaatsSelection.css */
207
+
208
+ .new-reservation-page .zitplaats-selection {
209
+ margin-bottom: 15px;
210
+ }
211
+
212
+ .new-reservation-page .zitplaats-selection select {
213
+ width: 100%;
214
+ padding: 10px;
215
+ border-radius: 4px;
216
+ border: 1px solid #ccc;
217
+ background-color: white;
218
+ }/* calendar.css */
219
+ .new-reservation-page .calendar-container {
220
+ position: relative;
221
+ width: 100%;
222
+ }
223
+
224
+ .new-reservation-page .calendar-container .calendar-display {
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: space-between;
228
+ width: 100%;
229
+ padding: 10px;
230
+ background-color: #fff;
231
+ border: #ccc 1px solid;
232
+ cursor: pointer;
233
+ user-select: none;
234
+ text-align: left;
235
+ border-radius: 5px;
236
+ }
237
+
238
+ .new-reservation-page .calendar-container .calendar-display span:first-child {
239
+ flex-grow: 1;
240
+ }
241
+
242
+ .new-reservation-page .calendar-container .calendar {
243
+ position: absolute;
244
+ z-index: 1000;
245
+ width: 100%;
246
+ background-color: rgba(255, 255, 255, 1);
247
+ border: 1px solid #ccc;
248
+ margin-top: 5px;
249
+ padding: 10px;
250
+ border-radius: 10px;
251
+ animation: fadeInCalendar 0.3s ease-in-out;
252
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
253
+ }
254
+
255
+ @keyframes fadeInCalendar {
256
+ from {
257
+ opacity: 0;
258
+ }
259
+ to {
260
+ opacity: 1;
261
+ }
262
+ }
263
+
264
+ /* NEW: Beschikbaarheden press-and-hold button */
265
+ .new-reservation-page .calendar-container .availability-hold-btn {
266
+ font-size: 10px;
267
+ }
268
+
269
+
270
+ .new-reservation-page .calendar-container .calendar-header {
271
+ display: flex;
272
+ justify-content: space-between;
273
+ align-items: center;
274
+ margin-bottom: 10px;
275
+ gap: 8px;
276
+ flex-wrap: wrap;
277
+ }
278
+
279
+ .new-reservation-page .calendar-container .calendar-header button {
280
+ background-color: transparent;
281
+ border: none;
282
+ cursor: pointer;
283
+ font-size: 18px;
284
+ }
285
+
286
+ .new-reservation-page .calendar-container .calendar-header span {
287
+ font-size: 15px;
288
+ color: gray;
289
+ font-weight: 500;
290
+ }
291
+
292
+ .new-reservation-page .calendar-container .calendar-weeks-wrapper {
293
+ overflow: hidden;
294
+ position: relative;
295
+ width: 100%;
296
+ }
297
+
298
+ .new-reservation-page .calendar-container .calendar-table {
299
+ width: 100%;
300
+ border-collapse: collapse;
301
+ }
302
+
303
+ .new-reservation-page .calendar-container .calendar-table th,
304
+ .new-reservation-page .calendar-container .calendar-table td {
305
+ width: 14.28%;
306
+ text-align: center;
307
+ padding: 5px;
308
+ }
309
+
310
+ .new-reservation-page .calendar-container .calendar-table th {
311
+ color: #666;
312
+ font-weight: normal;
313
+ padding-bottom: 10px;
314
+ }
315
+
316
+ .new-reservation-page .calendar-container .calendar-table td {
317
+ vertical-align: middle;
318
+ cursor: pointer;
319
+ border: none;
320
+ opacity: 1;
321
+ position: relative; /* For badge positioning */
322
+ }
323
+
324
+ .new-reservation-page .calendar-container .calendar-table td.empty-day {
325
+ cursor: default;
326
+ }
327
+
328
+ .new-reservation-page .calendar-container .calendar-table td:hover .day-square.available {
329
+ transform: scale(1.05);
330
+ }
331
+
332
+ /* MINIMAL: Day square with clean layout */
333
+ .new-reservation-page .calendar-container .day-square {
334
+ position: relative;
335
+ width: 38px;
336
+ height: 38px;
337
+ border-radius: 4px;
338
+ display: inline-flex;
339
+ align-items: center;
340
+ justify-content: center;
341
+ flex-direction: column;
342
+ transition: all 0.2s ease;
343
+ font-size: 16px;
344
+ margin: 0 auto;
345
+ }
346
+
347
+ .new-reservation-page .calendar-container .day-number {
348
+ line-height: 1;
349
+ z-index: 2; /* Ensure number stays above background */
350
+ }
351
+
352
+ .new-reservation-page .calendar-container .available .day-square {
353
+ background-color: #ccffcc;
354
+ color: #006600;
355
+ }
356
+
357
+ .new-reservation-page .calendar-container .available:hover .day-square {
358
+ background-color: #b3ffb3;
359
+ }
360
+
361
+ .new-reservation-page .calendar-container .available:active .day-square {
362
+ background-color: #99ff99;
363
+ }
364
+
365
+ .new-reservation-page .calendar-container .unavailable .day-square {
366
+ background-color: rgba(139, 0, 0, 0.13);
367
+ color: darkred;
368
+ }
369
+
370
+ .new-reservation-page .calendar-container .gray-out .day-square {
371
+ background-color: #e0e0e0;
372
+ color: #999;
373
+ cursor: not-allowed;
374
+ }
375
+
376
+ .new-reservation-page .calendar-container .selected .day-square {
377
+ background-color: #006600;
378
+ color: #ccffcc;
379
+ }
380
+
381
+ .new-reservation-page .calendar-container .calendar-table td.unavailable,
382
+ .new-reservation-page .calendar-container .calendar-table td.gray-out {
383
+ cursor: not-allowed;
384
+ }
385
+
386
+ .new-reservation-page .calendar-container .calendar-table td.unavailable:hover .day-square,
387
+ .new-reservation-page .calendar-container .calendar-table td.gray-out:hover .day-square {
388
+ transform: none;
389
+ }
390
+
391
+ .new-reservation-page .calendar-container .calendar-table td {
392
+ border: none;
393
+ }
394
+
395
+ .new-reservation-page .calendar-container .arrow {
396
+ margin-left: auto;
397
+ color: gray;
398
+ display: flex;
399
+ align-items: center;
400
+ }
401
+
402
+ /* Only show badge for available dates with actual capacity */
403
+ .new-reservation-page .calendar-container .available .availability-badge {
404
+ background: #38a169;
405
+ }
406
+
407
+ .new-reservation-page .calendar-container .selected .availability-badge {
408
+ background: #2d3748;
409
+ }
410
+
411
+ @media screen and (max-width: 900px) {
412
+ .new-reservation-page .calendar-container .day-square {
413
+ width: 35px !important;
414
+ height: 35px !important;
415
+ font-size: 15px !important;
416
+ }
417
+
418
+ .new-reservation-page .calendar-container .calendar-header span {
419
+ font-size: 12px;
420
+ }
421
+
422
+ /* Make availability button more compact on mobile */
423
+ .new-reservation-page .calendar-container .availability-toggle-btn {
424
+ padding: 5px 8px;
425
+ font-size: 11px;
426
+ }
427
+ }/* src/Pages/NewReservation/css/reservationMode.css */
428
+ /* Put with your other sidebar/form styles */
429
+ .new-reservation-page .form-row .field-label {
430
+ display: block;
431
+ margin-bottom: 6px;
432
+ font-weight: 600;
433
+ }
434
+
435
+ .new-reservation-page .form-row .reservation-mode-buttons {
436
+ margin-top: 0; /* keep tight with label */
437
+ }
438
+
439
+ .new-reservation-page .reservation-mode-buttons {
440
+ display: flex;
441
+ gap: 10px;
442
+ margin-top: 10px;
443
+ }
444
+
445
+ .new-reservation-page .reservation-mode-button {
446
+ flex: 1;
447
+ padding: 10px;
448
+ border: 1px solid #ccc;
449
+ border-radius: var(--border-radius);
450
+ background-color: var(--color-white);
451
+ cursor: pointer;
452
+ font-size: 1rem;
453
+ transition: background-color 0.3s ease, color 0.3s ease;
454
+ }
455
+
456
+ .new-reservation-page .reservation-mode-button.active,
457
+ .new-reservation-page .reservation-mode-button:hover {
458
+ background-color: var(--color-blue);
459
+ color: var(--color-white);
460
+ }
461
+
462
+
463
+ .new-reservation-page .reservation-modes-container {
464
+ display: flex;
465
+ flex-wrap: wrap;
466
+ margin: 0 -5px;
467
+ width: 100%;
468
+ }
469
+
470
+ .new-reservation-page .reservation-mode-button {
471
+ flex: 0 0 calc(50% - 10px);
472
+ margin: 5px;
473
+ padding: 10px;
474
+ box-sizing: border-box;
475
+ text-align: center;
476
+ border: 1px solid #ccc;
477
+ background: #f7f7f7;
478
+ cursor: pointer;
479
+ }
480
+
481
+
482
+ /* Force the last button to appear on its own row */
483
+ .new-reservation-page .reservation-mode-button:nth-child(3) {
484
+ flex: 0 0 100%;
485
+ }
486
+
487
+
488
+ .new-reservation-page .reservation-modes-container {
489
+ display: flex;
490
+ flex-wrap: wrap;
491
+ margin: 0 -5px;
492
+ width: 100%;
493
+ }
494
+
495
+ .new-reservation-page .reservation-mode-button {
496
+ flex: 0 0 calc(50% - 10px);
497
+ margin: 5px;
498
+ padding: 10px;
499
+ box-sizing: border-box;
500
+ text-align: center;
501
+ border: 1px solid #ccc;
502
+ background: #f7f7f7;
503
+ cursor: pointer;
504
+ }
505
+
506
+ .new-reservation-page .reservation-mode-button.active,
507
+ .new-reservation-page .reservation-mode-button:hover {
508
+ background-color: var(--color-blue);
509
+ color: var(--color-white);
510
+ }
511
+
512
+ /* Warning styles for unlimited mode */
513
+ .new-reservation-page .unlimited-mode-warning {
514
+ display: flex;
515
+ align-items: flex-start;
516
+ gap: 10px;
517
+ margin: 15px 0;
518
+ padding: 12px 15px;
519
+ background-color: #fff3cd;
520
+ border: 1px solid #ffeaa7;
521
+ border-radius: var(--border-radius, 4px);
522
+ border-left: 4px solid #e67e22;
523
+ font-size: 0.9rem;
524
+ line-height: 1.4;
525
+ }
526
+
527
+ .new-reservation-page .unlimited-mode-warning .warning-icon {
528
+ color: #e67e22;
529
+ font-size: 1.1rem;
530
+ margin-top: 2px;
531
+ flex-shrink: 0;
532
+ }
533
+
534
+ .new-reservation-page .unlimited-mode-warning .warning-text {
535
+ color: #856404;
536
+ margin: 0;
537
+ }
538
+
539
+ /* Responsive adjustments for warning */
540
+ @media screen and (max-width: 480px) {
541
+ .new-reservation-page .unlimited-mode-warning {
542
+ margin: 10px 0;
543
+ padding: 10px 12px;
544
+ font-size: 0.85rem;
545
+ }
546
+
547
+ .new-reservation-page .unlimited-mode-warning .warning-icon {
548
+ font-size: 1rem;
549
+ }
550
+ }
551
+
552
+
553
+ /* reservationSidebar.js */
554
+
555
+ .new-reservation-page .reservation-sidebar-component {
556
+ position: fixed;
557
+ top: 0;
558
+ right: -400px; /* Start off-screen */
559
+ width: 400px;
560
+ height: 100%;
561
+ background-color: #fff;
562
+ box-shadow: -2px 0 5px rgba(0,0,0,0.1);
563
+ z-index: var(--z-index-sidebar-reservation); /* Updated z-index */
564
+ display: flex;
565
+ flex-direction: column;
566
+ overflow-y: auto;
567
+ transition: right 0.3s ease-in-out;
568
+ }
569
+
570
+ .new-reservation-page .admin-title {
571
+ text-align: center;
572
+ margin-bottom: 30px;
573
+ }
574
+
575
+ .new-reservation-page .reservation-sidebar-component.open {
576
+ right: 0;
577
+ }
578
+
579
+ .new-reservation-page .reservation-sidebar-content {
580
+ padding: 20px;
581
+ padding-top: 60px; /* To make room for the close button */
582
+ }
583
+
584
+ .new-reservation-page .close-sidebar-button {
585
+ position: absolute;
586
+ top: 10px;
587
+ left: 10px;
588
+ background-color: transparent;
589
+ border: none;
590
+ cursor: pointer;
591
+ }
592
+
593
+ .new-reservation-page .close-sidebar-button svg {
594
+ color: #000;
595
+ }
596
+
597
+ .new-reservation-page .sidebar-section-one,
598
+ .new-reservation-page .sidebar-section-two {
599
+ margin-bottom: 20px;
600
+ }
601
+
602
+ .new-reservation-page .reservation-footer {
603
+ margin-top: auto;
604
+ }
605
+
606
+ .new-reservation-page .store-reservation-button {
607
+ width: 100%;
608
+ padding: 12px;
609
+ background-color: var(--color-blue);
610
+ color: #fff;
611
+ border: none;
612
+ border-radius: 5px;
613
+ cursor: pointer;
614
+ font-size: 1.1rem;
615
+ }
616
+
617
+ .new-reservation-page .open-sidebar-button {
618
+ position: fixed;
619
+ bottom: 20px;
620
+ right: 20px;
621
+ background-color: var(--color-blue);
622
+ color: #fff;
623
+ border: none;
624
+ border-radius: 50%;
625
+ width: 50px;
626
+ height: 50px;
627
+ cursor: pointer;
628
+ z-index: var(--z-index-modal) !important;
629
+ transition: all 0.3s ease;
630
+ }
631
+
632
+ .new-reservation-page .open-sidebar-button:hover {
633
+ background-color: var(--color-blue-hover-accent) !important;
634
+ }
635
+
636
+ .new-reservation-page .open-sidebar-button svg {
637
+ position: relative;
638
+ top: 2px;
639
+ }
640
+
641
+ @media screen and (max-width: 480px) {
642
+ .new-reservation-page .reservation-sidebar-component {
643
+ width: 100%;
644
+ }
645
+ }
646
+
647
+
648
+ .new-reservation-page .sidebar-section-personeel {
649
+ margin-bottom: 10px;
650
+ }/* src/Pages/NewReservation/StepOne/css/tableSelector.css */
651
+
652
+ .new-reservation-page .table-selector-container {
653
+ margin-top: 15px; /* Add some space above the selector */
654
+ padding: 10px;
655
+ border: 1px solid #eee; /* Optional border */
656
+ border-radius: 4px;
657
+ background-color: #f9f9f9; /* Light background */
658
+ }
659
+
660
+ .new-reservation-page .table-selector-label {
661
+ display: block; /* Make label take full width */
662
+ margin-bottom: 10px;
663
+ font-weight: bold;
664
+ color: #333;
665
+ font-size: 0.95rem;
666
+ }
667
+
668
+ .new-reservation-page .table-options {
669
+ display: flex; /* Arrange options horizontally */
670
+ flex-wrap: wrap; /* Allow wrapping to next line */
671
+ gap: 10px; /* Space between options */
672
+ }
673
+
674
+ .new-reservation-page .table-option {
675
+ display: inline-block; /* Keep label and checkbox together */
676
+ margin-right: 15px; /* Space between table options */
677
+ margin-bottom: 5px;
678
+ padding: 5px 8px;
679
+ border: 1px solid #ccc;
680
+ border-radius: 4px;
681
+ background-color: #fff;
682
+ transition: background-color 0.2s ease;
683
+ }
684
+
685
+ .new-reservation-page .table-option label {
686
+ display: flex; /* Align checkbox and text */
687
+ align-items: center;
688
+ cursor: pointer;
689
+ font-size: 0.9rem;
690
+ color: #555;
691
+ }
692
+
693
+ .new-reservation-page .table-option input[type='checkbox'] {
694
+ margin-right: 8px; /* Space between checkbox and text */
695
+ cursor: pointer;
696
+ /* Optional: Customize checkbox appearance */
697
+ accent-color: var(--primary-color, #006600); /* Use theme color if available */
698
+ }
699
+
700
+ .new-reservation-page .table-option:has(input[type='checkbox']:checked) {
701
+ background-color: #e0f2e0; /* Light green background when checked */
702
+ border-color: #006600;
703
+ }
704
+
705
+ .new-reservation-page .table-option:hover {
706
+ background-color: #f0f0f0; /* Slight highlight on hover */
707
+ }
708
+
709
+ .new-reservation-page .info-text {
710
+ margin-top: 10px;
711
+ font-size: 0.85rem;
712
+ color: #666;
713
+ }
714
+
715
+ .new-reservation-page .selected-tables-info {
716
+ margin-top: 10px;
717
+ font-style: italic;
718
+ }
719
+
720
+ /* Add styles for the loading text if you use it */
721
+ .new-reservation-page .info-text.loading-tables {
722
+ font-style: italic;
723
+ color: #006600;
724
+ }/* src/components/NewReservation/css/timeSelector.css */
725
+
726
+ .new-reservation-page .time-selector-container {
727
+ position: relative;
728
+ }
729
+
730
+ .new-reservation-page .time-display {
731
+ display: flex;
732
+ align-items: center;
733
+ justify-content: space-between;
734
+ width: 100%;
735
+ padding: 10px;
736
+ background-color: #fff;
737
+ border: #ccc 1px solid;
738
+ cursor: pointer;
739
+ user-select: none;
740
+ text-align: left;
741
+ border-radius: 5px;
742
+ }
743
+
744
+ .new-reservation-page .time-display span:first-child {
745
+ flex-grow: 1;
746
+ }
747
+
748
+ .new-reservation-page .time-selector {
749
+ position: absolute;
750
+ z-index: 1000;
751
+ width: 100%;
752
+ max-height: 300px;
753
+ overflow-y: auto;
754
+ background-color: rgba(255, 255, 255, 1);
755
+ border: 1px solid #ccc;
756
+ margin-top: 5px;
757
+ padding: 10px;
758
+ border-radius: 10px;
759
+ animation: fadeInTimeSelector 0.3s ease-in-out;
760
+ top: 75px;
761
+ }
762
+
763
+ @keyframes fadeInTimeSelector {
764
+ from {
765
+ opacity: 0;
766
+ }
767
+ to {
768
+ opacity: 1;
769
+ }
770
+ }
771
+
772
+ .new-reservation-page .time-period {
773
+ margin-bottom: 15px;
774
+ }
775
+
776
+ .new-reservation-page .time-period-label {
777
+ font-weight: bold;
778
+ margin-bottom: 5px;
779
+ }
780
+
781
+ .new-reservation-page .time-options {
782
+ display: flex;
783
+ flex-wrap: wrap;
784
+ gap: 5px;
785
+ }
786
+
787
+ .new-reservation-page .time-option {
788
+ padding: 8px 12px;
789
+ background-color: #ccffcc; /* Green background for available times */
790
+ color: #006600;
791
+ border-radius: 5px;
792
+ cursor: pointer;
793
+ transition: background-color 0.2s ease;
794
+ }
795
+
796
+ .new-reservation-page .time-option:hover {
797
+ background-color: #b3ffb3;
798
+ }
799
+
800
+ .new-reservation-page .time-option.selected {
801
+ background-color: #006600;
802
+ color: #ccffcc;
803
+ }
804
+
805
+ .new-reservation-page .info-text {
806
+ color: #666;
807
+ font-style: italic;
808
+ }
809
+
810
+ .new-reservation-page .arrow {
811
+ margin-left: auto;
812
+ color: gray;
813
+ display: flex;
814
+ align-items: center;
815
+ }
816
+
817
+ @media screen and (max-width: 480px) {
818
+ .new-reservation-page .time-option {
819
+ padding: 6px 10px;
820
+ font-size: 14px;
821
+ }
822
+ }
823
+ /* Use the same CSS provided, adjusted for the value selector */
824
+
825
+ .new-reservation-page .value-selector {
826
+ display: flex;
827
+ flex-direction: column;
828
+ gap: 15px;
829
+ margin-bottom: 20px;
830
+ }
831
+
832
+ .new-reservation-page .non-absolute {
833
+ position: relative !important;
834
+ }
835
+
836
+ .new-reservation-page .non-absolute::before {
837
+ background: none;
838
+ }
839
+
840
+ .new-reservation-page .predefined-values {
841
+ display: flex;
842
+ gap: 10px;
843
+ }
844
+
845
+ .new-reservation-page .predefined-value-button {
846
+ flex: 1;
847
+ padding: 10px;
848
+ border: 1px solid #ccc;
849
+ border-radius: var(--border-radius);
850
+ background-color: var(--color-white);
851
+ cursor: pointer;
852
+ font-size: 1rem;
853
+ transition: background-color 0.3s ease;
854
+ }
855
+
856
+ .new-reservation-page .predefined-value-button.active,
857
+ .new-reservation-page .predefined-value-button:hover {
858
+ background-color: var(--color-blue);
859
+ color: var(--color-white);
860
+ }
861
+
862
+ .new-reservation-page .slider-container {
863
+ display: flex;
864
+ align-items: center;
865
+ gap: 15px;
866
+ }
867
+
868
+ .new-reservation-page .slider {
869
+ flex: 1;
870
+ appearance: none;
871
+ -webkit-appearance: none;
872
+ height: 5px;
873
+ background: #ddd;
874
+ border-radius: 5px;
875
+ outline: none;
876
+ }
877
+
878
+ .new-reservation-page .slider::-webkit-slider-thumb {
879
+ -webkit-appearance: none;
880
+ appearance: none;
881
+ width: 20px;
882
+ height: 20px;
883
+ background: var(--color-blue);
884
+ cursor: pointer;
885
+ border-radius: 50%;
886
+ }
887
+
888
+ .new-reservation-page .value-input {
889
+ width: 80px;
890
+ padding: 10px;
891
+ border: 1px solid #ccc;
892
+ border-radius: var(--border-radius);
893
+ font-size: 1rem;
894
+ }
895
+
896
+ /* Name Fields Container */
897
+ .new-reservation-page .name-fields {
898
+ display: flex;
899
+ gap: 20px;
900
+ }
901
+
902
+ .new-reservation-page .input-container .form-control {
903
+ display: flex;
904
+ align-items: center;
905
+ justify-content: space-between;
906
+ width: 100%;
907
+ padding: 10px;
908
+ background-color: #fff;
909
+ border: #ccc 1px solid;
910
+ cursor: pointer;
911
+ -webkit-user-select: none;
912
+ user-select: none;
913
+ text-align: left;
914
+ border-radius: 5px;
915
+ font-size: 16px;
916
+ }/* src/components/ReservationForm/css/reservationSummary.css */
917
+
918
+ .new-reservation-page .reservation-sidebar-component .reservation-summary .modal-title {
919
+ margin-top: 0;
920
+ margin-bottom: 20px;
921
+ }
922
+
923
+ .new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details {
924
+ list-style-type: none;
925
+ padding: 0;
926
+ margin: 0 0 20px 0;
927
+ width: 100%;
928
+ }
929
+
930
+ .new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li {
931
+ margin-bottom: 10px;
932
+ font-size: 15px;
933
+ align-items: left;
934
+ text-align: left;
935
+ }
936
+
937
+ .new-reservation-page .reservation-sidebar-component .reservation-summary .reservation-details li strong {
938
+ font-weight: bold;
939
+ }
940
+
941
+ .new-reservation-page .reservation-sidebar-component .reservation-summary {
942
+ align-items: left;
943
+ }
944
+