PluginProbe ʕ •ᴥ•ʔ
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.6.8
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.6.8
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 9 months ago _addons.scss 9 months ago _agents.scss 9 months ago _animations.scss 9 months ago _booking_form_preview.scss 9 months ago _bookings.scss 4 weeks ago _bundles.scss 9 months ago _buttons.scss 9 months ago _calendars.scss 9 months ago _categories.scss 9 months ago _customers.scss 9 months ago _dark.scss 9 months ago _daterangepicker.scss 9 months ago _elements.scss 1 month ago _forms.scss 9 months ago _grid.scss 1 year ago _grid_variables.scss 1 year ago _icons.scss 1 year ago _latecheckbox.scss 9 months ago _lateselect.scss 1 year ago _layout.scss 9 months ago _lightbox.scss 9 months ago _menu.scss 9 months ago _messages.scss 9 months ago _misc.scss 9 months ago _mixins.scss 9 months ago _notifications.scss 9 months ago _orders.scss 9 months ago _pickr.scss 1 year ago _processes.scss 1 month ago _quick_availability.scss 9 months ago _reminders.scss 1 year ago _responsive.scss 9 months ago _roles.scss 1 year ago _schedule.scss 3 months ago _services.scss 9 months ago _settings.scss 4 days ago _side-panel.scss 9 months ago _steps.scss 1 year ago _tables.scss 9 months ago _type.scss 1 year ago _updates.scss 9 months ago _utilities.scss 1 year ago _variables.scss 9 months ago _widgets.scss 9 months ago _wizard.scss 2 weeks ago
_bookings.scss
581 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 // The single "type delete to confirm" modal, rendered inside the plugin's lightbox and used for both
497 // single-record and bulk deletes across the plugin
498 // Uses LatePoint typography + form variables so it inherits the same look as the rest of the admin.
499 .os-delete-confirm-modal {
500 padding: 28px 28px 24px;
501 text-align: center;
502 font-family: $body-font-family;
503 background-color: $body-bg;
504
505 .os-delete-confirm-icon {
506 width: 56px;
507 height: 56px;
508 margin: 0 auto 14px;
509 border-radius: 50%;
510 background: rgba(220, 53, 69, .1);
511 color: #dc3545;
512 display: flex;
513 align-items: center;
514 justify-content: center;
515
516 i { font-size: 26px; line-height: 1; }
517 }
518
519 .os-delete-confirm-title {
520 margin: 0 0 8px;
521 font-family: $headings-font-family;
522 font-size: $headings-font-size-l;
523 color: $headings-color;
524 }
525
526 .os-delete-confirm-body {
527 margin: 0 0 22px;
528 color: $body-color;
529 font-size: $font-size-base;
530 line-height: 1.5;
531 }
532
533 .os-delete-confirm-prompt {
534 margin: 0 0 10px;
535 color: $body-color;
536 font-size: $headings-font-size-xs;
537 line-height: 1.5;
538
539 strong {
540 color: $headings-color;
541 font-weight: $body-font-weight-bold;
542 background: $form-controls-background-color;
543 padding: 1px 6px;
544 border-radius: $border-radius;
545 }
546 }
547
548 .os-delete-confirm-input {
549 display: block;
550 width: 100%;
551 height: 40px;
552 padding: 0 12px;
553 margin: 0 0 18px;
554 border: 1px solid $form-controls-border-color;
555 border-radius: $form-controls-border-radius;
556 background: $form-controls-background-color;
557 color: $form-controls-color;
558 font-family: $body-font-family;
559 font-size: $font-size-base;
560 transition: border-color .15s ease, box-shadow .15s ease;
561 box-sizing: border-box;
562
563 &:focus {
564 outline: none;
565 border-color: #dc3545;
566 box-shadow: 0 0 0 3px rgba(220, 53, 69, .15);
567 }
568 }
569
570 .os-delete-confirm-actions {
571 display: flex;
572 justify-content: center;
573 gap: 10px;
574
575 .os-delete-confirm-go.is-disabled {
576 opacity: .45;
577 pointer-events: none;
578 cursor: not-allowed;
579 }
580 }
581 }