PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.6.1
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.6.1
5.6.10 5.6.9 5.6.8 5.6.7 5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.1.91 5.1.92 5.1.93 5.1.94 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1
latepoint / lib / assets / stylesheets / admin / _bookings.scss
latepoint / lib / assets / stylesheets / admin Last commit date
_activities.scss 11 months ago _addons.scss 11 months ago _agents.scss 10 months ago _animations.scss 11 months ago _booking_form_preview.scss 11 months ago _bookings.scss 2 months ago _bundles.scss 11 months ago _buttons.scss 11 months ago _calendars.scss 10 months ago _categories.scss 11 months ago _customers.scss 10 months ago _dark.scss 10 months ago _daterangepicker.scss 11 months ago _elements.scss 3 months ago _forms.scss 10 months ago _grid.scss 1 year ago _grid_variables.scss 1 year ago _icons.scss 1 year ago _latecheckbox.scss 11 months ago _lateselect.scss 1 year ago _layout.scss 10 months ago _lightbox.scss 11 months ago _menu.scss 10 months ago _messages.scss 11 months ago _misc.scss 10 months ago _mixins.scss 11 months ago _notifications.scss 11 months ago _orders.scss 10 months ago _pickr.scss 1 year ago _processes.scss 3 months ago _quick_availability.scss 11 months ago _reminders.scss 1 year ago _responsive.scss 10 months ago _roles.scss 1 year ago _schedule.scss 5 months ago _services.scss 11 months ago _settings.scss 3 months ago _side-panel.scss 10 months ago _steps.scss 1 year ago _tables.scss 11 months ago _type.scss 1 year ago _updates.scss 11 months ago _utilities.scss 1 year ago _variables.scss 10 months ago _widgets.scss 10 months ago _wizard.scss 4 months ago
_bookings.scss
584 lines
1 .latepoints-list {
2 .appointment-box-small {
3 margin-bottom: 15px;
4
5 .appointment-info {
6 padding: 20px 30px;
7 }
8
9 &.status-pending {
10 background-image: none;
11 background-color: #fff8de;
12 box-shadow: inset 0px 0px 0px 3px #ffeca7;
13 padding-right: 3px;
14
15 .customer-info-w,
16 .agent-info-w {
17 border-left-color: #f3dd7c;
18 }
19
20 .appointment-service-name {
21 }
22
23 .appointment-info .appointment-time {
24 }
25
26 &:hover {
27 box-shadow: inset 0px 0px 0px 3px #fddd6a;
28 }
29
30 .appointment-info .appointment-color-elem {
31 top: 0px;
32 left: 0px;
33 bottom: 0px;
34 }
35 }
36
37 &.status-cancelled {
38 background-image: none;
39 background-color: #fff;
40 box-shadow: inset 0px 0px 0px 3px #e00909;
41 padding-right: 3px;
42
43 .customer-info-w,
44 .agent-info-w {
45 background-image: none;
46 border-left-color: rgba(0, 0, 0, 0.1);
47 }
48
49 .appointment-service-name {
50 }
51
52 .appointment-info .appointment-time {
53 }
54
55 &:hover {
56 box-shadow: inset 0px 0px 0px 3px #ff4140;
57 }
58
59 .appointment-info .appointment-color-elem {
60 top: 0px;
61 left: 0px;
62 bottom: 0px;
63 }
64 }
65
66 .appointment-status-selector {
67 margin-top: 5px;
68
69 .os-form-group {
70 margin-bottom: 0px;
71 }
72 }
73 }
74 }
75
76 .add-booking-to-group-box-wrapper {
77 .os-add-box {
78 margin: 0;
79 padding: 15px 10px;
80 border: none;
81 animation: none;
82 .add-box-graphic-w {
83 width: 30px;
84 height: 30px;
85 .add-box-plus {
86 box-shadow: 0px 0px 0px 7px rgba(189, 214, 252, 0.3);
87 }
88 }
89 .add-box-label {
90 padding-left: 20px;
91 font-weight: $body-font-weight-bold;
92 font-size: floor($font-size-base * 1.1);
93 margin-left: 0;
94 }
95 &:hover {
96 border: none;
97 background-color: rgba(189, 214, 252, 0.1);
98 .add-box-label {
99 transform: none;
100 }
101 .add-box-plus {
102 box-shadow: 0px 0px 0px 10px rgba(189, 214, 252, 0.3);
103 transform: translate(-50%,-50%);
104 }
105 }
106 }
107 }
108
109 .group-bookings-list {
110 flex: 1;
111 overflow-y: auto;
112 }
113
114
115 .grouped-bookings-main-info {
116 display: flex;
117 align-items: center;
118 margin-bottom: 30px;
119
120 .avatar {
121 width: 55px;
122 height: 55px;
123 background-size: cover;
124 border-radius: 50%;
125 background-position: center center;
126 }
127
128 .gb-info {
129 padding-left: 20px;
130
131 .gbi-sub {
132 font-size: floor($font-size-base * 0.9);
133 color: $color-faded;
134 }
135
136 .gbi-main {
137 font-size: floor($font-size-base * 1.4);
138 font-weight: $body-font-weight-bold;
139 margin-bottom: 2px;
140 }
141
142 .gbi-high {
143 color: $brand-primary;
144 font-weight: $body-font-weight-bold;
145 font-size: floor($font-size-base * 0.9);
146 }
147 }
148
149 .gb-capacity {
150 margin-left: auto;
151
152 .gbc-label {
153 color: $color-faded;
154 }
155
156 .booked-percentage {
157 background-color: #E6E6E6;
158 margin: 0px auto;
159 margin-top: 4px;
160 border-radius: 2px;
161
162 .booked-bar {
163 border-radius: 8px;
164 background-color: $brand-primary;
165 height: 5px;
166 }
167 }
168 }
169 }
170
171 .group-bookings-list {
172 .gb-heading {
173 text-transform: uppercase;
174 letter-spacing: 2px;
175 font-size: floor($font-size-base * 0.8);
176 position: relative;
177 margin-bottom: 10px;
178
179 &:before {
180 content: "";
181 height: 1px;
182 background-color: rgba(0, 0, 0, 0.1);
183 top: 50%;
184 transform: translateY(-50%);
185 display: block;
186 position: absolute;
187 z-index: 1;
188 left: 0px;
189 right: 0px;
190 }
191
192 span {
193 z-index: 2;
194 position: relative;
195 display: inline-block;
196 padding-right: 5px;
197 background-color: #fff;
198 color: $brand-primary;
199 font-weight: $body-font-weight-bold;
200 }
201 }
202
203 .gb-booking {
204 display: flex;
205 align-items: center;
206 padding: 10px;
207 border-bottom: 1px solid $border-color-lightest;
208 text-decoration: none;
209 cursor: pointer;
210
211 &:hover {
212 background-color: #f8f8f8;
213 }
214
215 &.os-loading {
216 .gbb-avatar {
217 &:after {
218 @include loading-circle($brand-primary, 56px);
219 }
220 }
221 }
222 }
223
224 .gbb-status {
225
226 }
227
228 .gbb-avatar {
229 width: 30px;
230 height: 30px;
231 border-radius: 50%;
232 background-size: cover;
233 background-position: center center;
234 position: relative;
235 transition: all 0.2s cubic-bezier(.25, 1.4, .5, 1);
236 }
237
238 .gbb-customer {
239 padding-left: 20px;
240 transition: all 0.2s cubic-bezier(.25, 1.4, .5, 1);
241
242 .gbb-name {
243 font-weight: $body-font-weight-bold;
244 font-size: floor($font-size-base * 1.1);
245 }
246
247 .gbb-email {
248 color: $color-faded;
249 font-size: floor($font-size-base * 0.9);
250 }
251 }
252
253 .gbb-attendees {
254 margin-left: auto;
255 text-align: center;
256
257 .gb-value {
258 font-size: floor($font-size-base * 1.5);
259 font-weight: $body-font-weight-bold;
260 color: $brand-primary;
261 }
262
263 .gb-label {
264 font-weight: $body-font-weight-bold;
265 text-transform: uppercase;
266 letter-spacing: 1px;
267 font-size: floor($font-size-base * 0.6);
268 color: $color-faded;
269 }
270 }
271
272 .os-add-box {
273 margin-top: 15px;
274 padding: 15px;
275 border: 3px dotted #cfd2db;
276 font-size: 18px;
277 color: $brand-primary;
278 font-weight: $body-font-weight-bold;
279 border-radius: 8px;
280 animation: none;
281 }
282 }
283
284 .price-breakdown-wrapper {
285 margin-bottom: 30px;
286
287 input[name="order[subtotal]"]="order[subtotal]""]{
288 color: $color-faded;
289 }
290 input[name="order[total]"]="order[total]""],
291 input[name="order[subtotal]"]="order[subtotal]""]{
292 font-weight: $body-font-weight-black;
293 }
294 }
295
296 .revert-to-original-price {
297 color: $brand-primary !important;
298 margin-top: 2px;
299 }
300
301
302 .booking-activity-log-panel-w {
303
304 .booking-activity-log-panel-i {
305 .booking-activities-list {
306 }
307 .booking-activity-row {
308 display: flex;
309 margin-bottom: 15px;
310 align-items: baseline;
311 .booking-activity-date {
312 font-size: 12px;
313 }
314 .booking-activity-name {
315 color: $headings-color;
316 font-weight: $body-font-weight-bold;
317 }
318 .spacer {
319 border-bottom: 2px dotted #cbcbcb;
320 height: 1px;
321 flex: 1;
322 }
323 a {
324 margin-left: 5px;
325 text-decoration: none;
326 }
327 }
328 }
329
330 }
331
332 // Bulk selection + bulk actions toolbar for the appointments list
333 .os-bookings-list {
334
335 // Anchor the floating edit icon to the ID cell, not the <tr>.
336 // Without this, the icon's `position: absolute; left: 0` anchors to the row
337 // and overlaps the checkbox column on hover.
338 .os-table tbody tr td.has-floating-button {
339 position: relative;
340 }
341
342 .os-bulk-select-cell {
343 width: 36px;
344 padding-left: 12px;
345 padding-right: 4px;
346 text-align: center;
347 vertical-align: middle;
348 }
349
350 .os-bulk-row-check-w {
351 display: inline-flex;
352 align-items: center;
353 justify-content: center;
354 cursor: pointer;
355 line-height: 0;
356 margin: 0;
357
358 input[type="checkbox"]="checkbox""] {
359 position: absolute;
360 opacity: 0;
361 pointer-events: none;
362 width: 0;
363 height: 0;
364 }
365
366 .os-bulk-check-box {
367 display: inline-block;
368 width: 16px;
369 height: 16px;
370 border: 1px solid #c4cad6;
371 border-radius: 3px;
372 background: #fff;
373 transition: background-color .15s ease, border-color .15s ease;
374 position: relative;
375 }
376
377 input[type="checkbox"]="checkbox""]:checked + .os-bulk-check-box {
378 background: $brand-primary;
379 border-color: $brand-primary;
380
381 &::after {
382 content: '';
383 position: absolute;
384 left: 4px;
385 top: 1px;
386 width: 5px;
387 height: 9px;
388 border: solid #fff;
389 border-width: 0 2px 2px 0;
390 transform: rotate(45deg);
391 }
392 }
393
394 input[type="checkbox"]="checkbox""]:indeterminate + .os-bulk-check-box {
395 background: $brand-primary;
396 border-color: $brand-primary;
397
398 &::after {
399 content: '';
400 position: absolute;
401 left: 3px;
402 right: 3px;
403 top: 50%;
404 height: 2px;
405 background: #fff;
406 transform: translateY(-50%);
407 }
408 }
409 }
410
411 tr.os-bulk-row-selected > td {
412 background-color: rgba($brand-primary, .05);
413 }
414
415 }
416
417 .os-bulk-actions-bar {
418 display: flex;
419 align-items: center;
420 justify-content: space-between;
421 gap: 12px;
422 padding: 0 16px;
423 margin: 0 0 12px 0;
424 max-height: 0;
425 opacity: 0;
426 overflow: hidden;
427 background: #fff;
428 border: 1px solid transparent;
429 border-radius: 6px;
430 box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
431 transition: max-height .2s ease, opacity .2s ease, padding .2s ease, margin .2s ease, border-color .2s ease;
432
433 &.is-active {
434 max-height: 80px;
435 opacity: 1;
436 padding: 10px 16px;
437 border-color: #e3e6ee;
438 }
439
440 .os-bulk-actions-info {
441 display: flex;
442 align-items: center;
443 gap: 8px;
444 font-weight: $body-font-weight-bold;
445 color: $headings-color;
446
447 .os-bulk-selected-count {
448 display: inline-flex;
449 align-items: center;
450 justify-content: center;
451 min-width: 28px;
452 height: 28px;
453 padding: 0 8px;
454 border-radius: 14px;
455 background: $brand-primary;
456 color: #fff;
457 font-weight: $body-font-weight-bold;
458 font-size: 13px;
459 }
460
461 .os-bulk-selected-label {
462 color: $body-color;
463 font-weight: normal;
464 }
465 }
466
467 .os-bulk-actions-controls {
468 display: flex;
469 align-items: center;
470 gap: 14px;
471 }
472
473 .os-bulk-action-delete {
474 i {
475 margin-right: 6px;
476 }
477 }
478
479 .os-bulk-actions-clear {
480 color: $body-color-light;
481 text-decoration: none;
482 font-size: 13px;
483
484 &:hover {
485 color: $brand-primary;
486 text-decoration: underline;
487 }
488 }
489
490 &.os-loading {
491 opacity: .7;
492 pointer-events: none;
493 }
494 }
495
496 // Custom confirm modal rendered inside the plugin's lightbox.
497 // Uses LatePoint typography + form variables so it inherits the same look as the rest of the admin.
498 .os-bulk-confirm-lightbox {
499 .latepoint-lightbox-content { padding: 0; }
500 }
501
502 .os-bulk-confirm-modal {
503 padding: 28px 28px 24px;
504 text-align: center;
505 font-family: $body-font-family;
506 background-color: $body-bg;
507
508 .os-bulk-confirm-icon {
509 width: 56px;
510 height: 56px;
511 margin: 0 auto 14px;
512 border-radius: 50%;
513 background: rgba(220, 53, 69, .1);
514 color: #dc3545;
515 display: flex;
516 align-items: center;
517 justify-content: center;
518
519 i { font-size: 26px; line-height: 1; }
520 }
521
522 .os-bulk-confirm-title {
523 margin: 0 0 8px;
524 font-family: $headings-font-family;
525 font-size: $headings-font-size-l;
526 color: $headings-color;
527 }
528
529 .os-bulk-confirm-body {
530 margin: 0 0 22px;
531 color: $body-color;
532 font-size: $font-size-base;
533 line-height: 1.5;
534 }
535
536 .os-bulk-confirm-prompt {
537 margin: 0 0 10px;
538 color: $body-color;
539 font-size: $headings-font-size-xs;
540 line-height: 1.5;
541
542 strong {
543 color: $headings-color;
544 font-weight: $body-font-weight-bold;
545 background: $form-controls-background-color;
546 padding: 1px 6px;
547 border-radius: $border-radius;
548 }
549 }
550
551 .os-bulk-confirm-input {
552 display: block;
553 width: 100%;
554 height: 40px;
555 padding: 0 12px;
556 margin: 0 0 18px;
557 border: 1px solid $form-controls-border-color;
558 border-radius: $form-controls-border-radius;
559 background: $form-controls-background-color;
560 color: $form-controls-color;
561 font-family: $body-font-family;
562 font-size: $font-size-base;
563 transition: border-color .15s ease, box-shadow .15s ease;
564 box-sizing: border-box;
565
566 &:focus {
567 outline: none;
568 border-color: #dc3545;
569 box-shadow: 0 0 0 3px rgba(220, 53, 69, .15);
570 }
571 }
572
573 .os-bulk-confirm-actions {
574 display: flex;
575 justify-content: center;
576 gap: 10px;
577
578 .os-bulk-confirm-go.is-disabled {
579 opacity: .45;
580 pointer-events: none;
581 cursor: not-allowed;
582 }
583 }
584 }