@bagelink/vue 1.2.18 → 1.2.20
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/dist/components/calendar/views/DayView.vue.d.ts.map +1 -1
- package/dist/components/calendar/views/WeekView.vue.d.ts.map +1 -1
- package/dist/components/form/BglMultiStepForm.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
- package/dist/index.cjs +147 -93
- package/dist/index.mjs +147 -93
- package/dist/style.css +75 -117
- package/package.json +1 -1
- package/src/components/calendar/views/DayView.vue +53 -97
- package/src/components/calendar/views/WeekView.vue +1 -2
- package/src/components/form/BglMultiStepForm.vue +63 -2
- package/src/components/form/inputs/DatePicker.vue +33 -28
package/dist/style.css
CHANGED
|
@@ -395,109 +395,68 @@ display: block;
|
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
height: 100%;
|
|
402
|
-
overflow: hidden;
|
|
403
|
-
}
|
|
404
|
-
.day-header[data-v-fdbceae7] {
|
|
405
|
-
display: flex;
|
|
406
|
-
border-bottom: 1px solid var(--border-color);
|
|
407
|
-
flex-shrink: 0;
|
|
398
|
+
.dayGrid[data-v-8aa8e541]{
|
|
399
|
+
display: grid;
|
|
400
|
+
grid-template-columns: 5rem 1fr;
|
|
408
401
|
}
|
|
409
|
-
.time-column[data-v-
|
|
402
|
+
.time-column[data-v-8aa8e541] {
|
|
410
403
|
width: 80px;
|
|
411
404
|
flex-shrink: 0;
|
|
412
405
|
}
|
|
413
|
-
.events-column[data-v-
|
|
406
|
+
.events-column[data-v-8aa8e541] {
|
|
414
407
|
flex-grow: 1;
|
|
415
408
|
position: relative;
|
|
416
409
|
border-inline-start: 1px solid var(--border-color);
|
|
417
410
|
}
|
|
418
|
-
.date-header[data-v-
|
|
411
|
+
.date-header[data-v-8aa8e541] {
|
|
419
412
|
padding: 0.5rem;
|
|
420
413
|
text-align: center;
|
|
421
414
|
}
|
|
422
|
-
.day-header .events-column[data-v-
|
|
415
|
+
.day-header .events-column[data-v-8aa8e541] {
|
|
423
416
|
border-inline-start: 1px solid transparent;
|
|
424
417
|
}
|
|
425
|
-
.time-slot[data-v-
|
|
418
|
+
.time-slot[data-v-8aa8e541] {
|
|
426
419
|
height: 30px;
|
|
427
420
|
display: flex;
|
|
428
421
|
align-items: center;
|
|
429
422
|
justify-content: center;
|
|
430
|
-
font-size: 0.8rem;
|
|
431
423
|
}
|
|
432
|
-
.time-slots[data-v-
|
|
424
|
+
.time-slots[data-v-8aa8e541] {
|
|
433
425
|
flex-grow: 1;
|
|
434
426
|
display: flex;
|
|
435
427
|
overflow: auto;
|
|
436
428
|
position: relative;
|
|
437
429
|
}
|
|
438
|
-
.event[data-v-
|
|
439
|
-
position: absolute;
|
|
430
|
+
.event[data-v-8aa8e541] {
|
|
440
431
|
left: 10px;
|
|
441
432
|
right: 10px;
|
|
442
|
-
border-radius: 4px;
|
|
443
|
-
overflow: hidden;
|
|
444
|
-
cursor: pointer;
|
|
445
|
-
transition: all 0.2s ease;
|
|
446
|
-
z-index: 1;
|
|
447
433
|
}
|
|
448
|
-
.event[data-v-
|
|
434
|
+
.event[data-v-8aa8e541]:hover {
|
|
449
435
|
z-index: 2;
|
|
450
436
|
transform: scale(1.02);
|
|
451
437
|
}
|
|
452
|
-
.event-content[data-v-
|
|
438
|
+
.event-content[data-v-8aa8e541] {
|
|
453
439
|
padding: 0.5rem;
|
|
454
440
|
color: white;
|
|
455
441
|
font-size: 0.9rem;
|
|
456
442
|
height: 100%;
|
|
457
443
|
overflow: hidden;
|
|
458
444
|
}
|
|
459
|
-
.event-title[data-v-
|
|
460
|
-
font-weight: 500;
|
|
445
|
+
.event-title[data-v-8aa8e541] {
|
|
461
446
|
white-space: nowrap;
|
|
462
447
|
overflow: hidden;
|
|
463
448
|
text-overflow: ellipsis;
|
|
464
449
|
}
|
|
465
|
-
.event-time[data-v-
|
|
450
|
+
.event-time[data-v-8aa8e541] {
|
|
466
451
|
font-size: 0.8rem;
|
|
467
|
-
opacity: 0.8;
|
|
468
452
|
}
|
|
469
|
-
.drag-preview[data-v-
|
|
470
|
-
|
|
471
|
-
left: 80px;
|
|
472
|
-
right: 0;
|
|
473
|
-
background-color: rgba(var(--bgl-primary-rgb), 0.1);
|
|
474
|
-
border: 2px solid var(--bgl-primary);
|
|
475
|
-
pointer-events: none;
|
|
476
|
-
z-index: 1000;
|
|
453
|
+
.drag-preview[data-v-8aa8e541] {
|
|
454
|
+
background-color: rgba(var(--bgl-primary-rgb), 0.1);
|
|
477
455
|
}
|
|
478
|
-
.current-time-
|
|
479
|
-
position: absolute;
|
|
480
|
-
width: 100%;
|
|
481
|
-
z-index: 2;
|
|
482
|
-
display: flex;
|
|
483
|
-
align-items: center;
|
|
484
|
-
pointer-events: none;
|
|
485
|
-
}
|
|
486
|
-
.current-time-dot[data-v-fdbceae7] {
|
|
487
|
-
width: 12px;
|
|
488
|
-
height: 12px;
|
|
489
|
-
border-radius: 50%;
|
|
490
|
-
background-color: var(--bgl-primary, red);
|
|
491
|
-
position: absolute;
|
|
492
|
-
left: -6px;
|
|
493
|
-
transform: translateX(-50%);
|
|
494
|
-
}
|
|
495
|
-
.current-time-line[data-v-fdbceae7] {
|
|
456
|
+
.current-time-line[data-v-8aa8e541] {
|
|
496
457
|
height: 2px;
|
|
497
|
-
background-color: var(--bgl-primary, red);
|
|
498
|
-
width: 100%;
|
|
499
458
|
}
|
|
500
|
-
.custom-popover[data-v-
|
|
459
|
+
.custom-popover[data-v-8aa8e541] {
|
|
501
460
|
position: fixed;
|
|
502
461
|
z-index: 1000;
|
|
503
462
|
min-width: 250px;
|
|
@@ -505,10 +464,10 @@ display: block;
|
|
|
505
464
|
background-color: white;
|
|
506
465
|
border-radius: 4px;
|
|
507
466
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
508
|
-
animation: fadeIn-
|
|
467
|
+
animation: fadeIn-8aa8e541 0.2s ease;
|
|
509
468
|
transform-origin: center left;
|
|
510
469
|
}
|
|
511
|
-
@keyframes fadeIn-
|
|
470
|
+
@keyframes fadeIn-8aa8e541 {
|
|
512
471
|
from {
|
|
513
472
|
opacity: 0;
|
|
514
473
|
transform: scale(0.95);
|
|
@@ -630,50 +589,49 @@ to {
|
|
|
630
589
|
}
|
|
631
590
|
}
|
|
632
591
|
|
|
633
|
-
.weekGrid[data-v-
|
|
592
|
+
.weekGrid[data-v-f774fc40]{
|
|
634
593
|
display: grid;
|
|
635
594
|
grid-template-columns: 5rem repeat(7, 1fr);
|
|
636
595
|
}
|
|
637
|
-
.days-column[data-v-
|
|
596
|
+
.days-column[data-v-f774fc40] {
|
|
638
597
|
flex-grow: 1;
|
|
639
598
|
display: flex;
|
|
640
599
|
}
|
|
641
|
-
.time-slot[data-v-
|
|
600
|
+
.time-slot[data-v-f774fc40] {
|
|
642
601
|
height: 30px;
|
|
643
602
|
display: flex;
|
|
644
603
|
align-items: center;
|
|
645
604
|
justify-content: center;
|
|
646
|
-
font-size: 0.8rem;
|
|
647
605
|
color: var(--text-muted);
|
|
648
606
|
}
|
|
649
|
-
.time-slots[data-v-
|
|
607
|
+
.time-slots[data-v-f774fc40] {
|
|
650
608
|
flex-grow: 1;
|
|
651
609
|
display: flex;
|
|
652
610
|
overflow: auto;
|
|
653
611
|
position: relative;
|
|
654
612
|
}
|
|
655
|
-
.day-column[data-v-
|
|
613
|
+
.day-column[data-v-f774fc40] {
|
|
656
614
|
flex: 1;
|
|
657
615
|
}
|
|
658
|
-
.event[data-v-
|
|
616
|
+
.event[data-v-f774fc40] {
|
|
659
617
|
margin-right: 2px;
|
|
660
618
|
}
|
|
661
|
-
.event[data-v-
|
|
619
|
+
.event[data-v-f774fc40]:hover {
|
|
662
620
|
z-index: 1;
|
|
663
621
|
}
|
|
664
|
-
.drag-preview[data-v-
|
|
622
|
+
.drag-preview[data-v-f774fc40] {
|
|
665
623
|
border: 2px solid var(--bgl-primary);
|
|
666
624
|
}
|
|
667
|
-
.current-time-line[data-v-
|
|
625
|
+
.current-time-line[data-v-f774fc40] {
|
|
668
626
|
height: 2px;
|
|
669
627
|
}
|
|
670
|
-
.custom-popover[data-v-
|
|
628
|
+
.custom-popover[data-v-f774fc40] {
|
|
671
629
|
min-width: 250px;
|
|
672
630
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
673
|
-
animation: fadeIn-
|
|
631
|
+
animation: fadeIn-f774fc40 0.2s ease;
|
|
674
632
|
transform-origin: center left;
|
|
675
633
|
}
|
|
676
|
-
@keyframes fadeIn-
|
|
634
|
+
@keyframes fadeIn-f774fc40 {
|
|
677
635
|
from {
|
|
678
636
|
opacity: 0;
|
|
679
637
|
transform: scale(0.95);
|
|
@@ -1150,7 +1108,7 @@ fieldset[data-v-f7e758e5] {
|
|
|
1150
1108
|
.fi[data-v-f99f1900]:before{ content:" "
|
|
1151
1109
|
}
|
|
1152
1110
|
|
|
1153
|
-
.bgl-multi-step-form[data-v-
|
|
1111
|
+
.bgl-multi-step-form[data-v-4ead8342] {
|
|
1154
1112
|
display: flex;
|
|
1155
1113
|
flex-direction: column;
|
|
1156
1114
|
gap: 1rem;
|
|
@@ -1162,19 +1120,19 @@ fieldset[data-v-f7e758e5] {
|
|
|
1162
1120
|
/* --ease-in: cubic-bezier(0.42, 0, 0.58, 1); */
|
|
1163
1121
|
/* --ease-out: cubic-bezier(0.5, 0, 0.75, 0); */
|
|
1164
1122
|
}
|
|
1165
|
-
.bgl-steps-indicator[data-v-
|
|
1123
|
+
.bgl-steps-indicator[data-v-4ead8342] {
|
|
1166
1124
|
display: flex;
|
|
1167
1125
|
justify-content: space-between;
|
|
1168
1126
|
align-items: center;
|
|
1169
1127
|
margin-bottom: 1rem;
|
|
1170
1128
|
}
|
|
1171
|
-
.bgl-step-indicator[data-v-
|
|
1129
|
+
.bgl-step-indicator[data-v-4ead8342] {
|
|
1172
1130
|
display: flex;
|
|
1173
1131
|
flex-direction: column;
|
|
1174
1132
|
align-items: center;
|
|
1175
1133
|
position: relative;
|
|
1176
1134
|
}
|
|
1177
|
-
.bgl-step-indicator[data-v-
|
|
1135
|
+
.bgl-step-indicator[data-v-4ead8342]::before {
|
|
1178
1136
|
content: '';
|
|
1179
1137
|
position: absolute;
|
|
1180
1138
|
top: 50%;
|
|
@@ -1184,10 +1142,10 @@ fieldset[data-v-f7e758e5] {
|
|
|
1184
1142
|
background: #e0e0e0;
|
|
1185
1143
|
z-index: -1;
|
|
1186
1144
|
}
|
|
1187
|
-
.bgl-step-indicator[data-v-
|
|
1145
|
+
.bgl-step-indicator[data-v-4ead8342]:first-child::before {
|
|
1188
1146
|
display: none;
|
|
1189
1147
|
}
|
|
1190
|
-
.bgl-step-indicator > span[data-v-
|
|
1148
|
+
.bgl-step-indicator > span[data-v-4ead8342]:first-child {
|
|
1191
1149
|
width: 30px;
|
|
1192
1150
|
height: 30px;
|
|
1193
1151
|
border-radius: 50%;
|
|
@@ -1198,23 +1156,23 @@ fieldset[data-v-f7e758e5] {
|
|
|
1198
1156
|
justify-content: center;
|
|
1199
1157
|
margin-bottom: 0.5rem;
|
|
1200
1158
|
}
|
|
1201
|
-
.bgl-step-indicator.active > span[data-v-
|
|
1159
|
+
.bgl-step-indicator.active > span[data-v-4ead8342]:first-child {
|
|
1202
1160
|
background: var(--primary-color, #4CAF50);
|
|
1203
1161
|
color: white;
|
|
1204
1162
|
}
|
|
1205
|
-
.bgl-step-indicator.completed > span[data-v-
|
|
1163
|
+
.bgl-step-indicator.completed > span[data-v-4ead8342]:first-child {
|
|
1206
1164
|
background: var(--success-color, #8BC34A);
|
|
1207
1165
|
color: white;
|
|
1208
1166
|
}
|
|
1209
|
-
.bgl-step-indicator.clickable[data-v-
|
|
1167
|
+
.bgl-step-indicator.clickable[data-v-4ead8342] {
|
|
1210
1168
|
cursor: pointer;
|
|
1211
1169
|
}
|
|
1212
|
-
.bgl-step-label[data-v-
|
|
1170
|
+
.bgl-step-label[data-v-4ead8342] {
|
|
1213
1171
|
font-size: 0.8rem;
|
|
1214
1172
|
max-width: 100px;
|
|
1215
1173
|
text-align: center;
|
|
1216
1174
|
}
|
|
1217
|
-
.bgl-form-wrapper[data-v-
|
|
1175
|
+
.bgl-form-wrapper[data-v-4ead8342] {
|
|
1218
1176
|
display: grid;
|
|
1219
1177
|
overflow: clip;
|
|
1220
1178
|
height: auto;
|
|
@@ -1222,15 +1180,15 @@ fieldset[data-v-f7e758e5] {
|
|
|
1222
1180
|
transition: height var(--transition-duration) ease;
|
|
1223
1181
|
interpolate-size: allow-keywords;
|
|
1224
1182
|
}
|
|
1225
|
-
.bgl-form-wrapper > div[data-v-
|
|
1183
|
+
.bgl-form-wrapper > div[data-v-4ead8342] {
|
|
1226
1184
|
grid-area: 1 / 1;
|
|
1227
1185
|
}
|
|
1228
|
-
.bgl-form-container[data-v-
|
|
1186
|
+
.bgl-form-container[data-v-4ead8342] {
|
|
1229
1187
|
width: 100%;
|
|
1230
1188
|
display: flex;
|
|
1231
1189
|
flex-direction: column;
|
|
1232
1190
|
}
|
|
1233
|
-
.bgl-step-controls[data-v-
|
|
1191
|
+
.bgl-step-controls[data-v-4ead8342] {
|
|
1234
1192
|
display: flex;
|
|
1235
1193
|
justify-content: center;
|
|
1236
1194
|
gap: 1rem;
|
|
@@ -1238,34 +1196,34 @@ fieldset[data-v-f7e758e5] {
|
|
|
1238
1196
|
}
|
|
1239
1197
|
|
|
1240
1198
|
/* Slide Left Animation (going forward) */
|
|
1241
|
-
.slide-left-enter-active[data-v-
|
|
1199
|
+
.slide-left-enter-active[data-v-4ead8342] {
|
|
1242
1200
|
transition: opacity, transform calc(var(--transition-duration) * 1.2) var(--ease-in);
|
|
1243
1201
|
}
|
|
1244
|
-
.slide-left-leave-active[data-v-
|
|
1202
|
+
.slide-left-leave-active[data-v-4ead8342] {
|
|
1245
1203
|
transition: opacity, transform var(--transition-duration) var(--ease-out);
|
|
1246
1204
|
}
|
|
1247
|
-
.slide-left-enter-from[data-v-
|
|
1205
|
+
.slide-left-enter-from[data-v-4ead8342] {
|
|
1248
1206
|
opacity: 0;
|
|
1249
1207
|
transform: translateX(var(--move-distance));
|
|
1250
1208
|
}
|
|
1251
|
-
.slide-left-leave-to[data-v-
|
|
1209
|
+
.slide-left-leave-to[data-v-4ead8342] {
|
|
1252
1210
|
opacity: 0;
|
|
1253
1211
|
transform: translateX(-30%);
|
|
1254
1212
|
}
|
|
1255
1213
|
|
|
1256
1214
|
/* Slide Right Animation (going back) */
|
|
1257
|
-
.slide-right-enter-active[data-v-
|
|
1215
|
+
.slide-right-enter-active[data-v-4ead8342] {
|
|
1258
1216
|
transition: all calc(var(--transition-duration) * 1.2) var(--ease-in);
|
|
1259
1217
|
}
|
|
1260
|
-
.slide-right-leave-active[data-v-
|
|
1218
|
+
.slide-right-leave-active[data-v-4ead8342] {
|
|
1261
1219
|
transition: all var(--transition-duration) var(--ease-out);
|
|
1262
1220
|
transition-property: opacity, transform;
|
|
1263
1221
|
}
|
|
1264
|
-
.slide-right-enter-from[data-v-
|
|
1222
|
+
.slide-right-enter-from[data-v-4ead8342] {
|
|
1265
1223
|
opacity: 0;
|
|
1266
1224
|
transform: translateX(-30%);
|
|
1267
1225
|
}
|
|
1268
|
-
.slide-right-leave-to[data-v-
|
|
1226
|
+
.slide-right-leave-to[data-v-4ead8342] {
|
|
1269
1227
|
opacity: 0;
|
|
1270
1228
|
transform: translateX(var(--move-distance));
|
|
1271
1229
|
}
|
|
@@ -1438,69 +1396,69 @@ pre code.hljs{
|
|
|
1438
1396
|
outline-color: var(--input-bg);
|
|
1439
1397
|
}
|
|
1440
1398
|
|
|
1441
|
-
.calendar-container[data-v-
|
|
1399
|
+
.calendar-container[data-v-9c8816c6] {
|
|
1442
1400
|
max-width: 90vw;
|
|
1443
1401
|
}
|
|
1444
|
-
.calendar-section[data-v-
|
|
1402
|
+
.calendar-section[data-v-9c8816c6] {
|
|
1445
1403
|
min-width: 280px;
|
|
1446
1404
|
}
|
|
1447
|
-
.calendar-grid[data-v-
|
|
1405
|
+
.calendar-grid[data-v-9c8816c6] {
|
|
1448
1406
|
grid-template-columns: repeat(7, 1fr);
|
|
1449
1407
|
}
|
|
1450
|
-
.month-grid[data-v-
|
|
1408
|
+
.month-grid[data-v-9c8816c6] {
|
|
1451
1409
|
grid-template-columns: repeat(3, 1fr);
|
|
1452
1410
|
grid-template-rows: repeat(4, 1fr);
|
|
1453
1411
|
}
|
|
1454
|
-
.year-grid[data-v-
|
|
1412
|
+
.year-grid[data-v-9c8816c6] {
|
|
1455
1413
|
grid-template-columns: repeat(3, 1fr);
|
|
1456
1414
|
grid-template-rows: repeat(7, 1fr);
|
|
1457
1415
|
}
|
|
1458
|
-
.month-item[data-v-
|
|
1459
|
-
.year-item[data-v-
|
|
1416
|
+
.month-item[data-v-9c8816c6],
|
|
1417
|
+
.year-item[data-v-9c8816c6] {
|
|
1460
1418
|
background: none;
|
|
1461
1419
|
color: var(--bgl-text-color);
|
|
1462
1420
|
}
|
|
1463
|
-
.month-item[data-v-
|
|
1464
|
-
.year-item[data-v-
|
|
1421
|
+
.month-item[data-v-9c8816c6]:hover:not(.disabled),
|
|
1422
|
+
.year-item[data-v-9c8816c6]:hover:not(.disabled) {
|
|
1465
1423
|
background: var(--bgl-box-bg);
|
|
1466
1424
|
filter: var(--bgl-hover-filter);
|
|
1467
1425
|
}
|
|
1468
|
-
.month-item[data-v-
|
|
1469
|
-
.year-item[data-v-
|
|
1426
|
+
.month-item[data-v-9c8816c6]:active:not(.disabled),
|
|
1427
|
+
.year-item[data-v-9c8816c6]:active:not(.disabled) {
|
|
1470
1428
|
background: var(--bgl-box-bg);
|
|
1471
1429
|
filter: var(--bgl-active-filter);
|
|
1472
1430
|
}
|
|
1473
|
-
.month-item.selected[data-v-
|
|
1474
|
-
.year-item.selected[data-v-
|
|
1431
|
+
.month-item.selected[data-v-9c8816c6],
|
|
1432
|
+
.year-item.selected[data-v-9c8816c6] {
|
|
1475
1433
|
background-color: var(--bgl-primary);
|
|
1476
1434
|
color: white;
|
|
1477
1435
|
}
|
|
1478
|
-
.month-item.disabled[data-v-
|
|
1479
|
-
.year-item.disabled[data-v-
|
|
1436
|
+
.month-item.disabled[data-v-9c8816c6],
|
|
1437
|
+
.year-item.disabled[data-v-9c8816c6] {
|
|
1480
1438
|
opacity: 0.6;
|
|
1481
1439
|
filter: grayscale(0.3);
|
|
1482
1440
|
}
|
|
1483
|
-
.day[data-v-
|
|
1441
|
+
.day[data-v-9c8816c6] {
|
|
1484
1442
|
border: none;
|
|
1485
1443
|
background: none;
|
|
1486
1444
|
color: var(--bgl-text-color);
|
|
1487
1445
|
}
|
|
1488
|
-
.day[data-v-
|
|
1446
|
+
.day[data-v-9c8816c6]:hover:not(.disabled) {
|
|
1489
1447
|
background-color: var(--input-bg);
|
|
1490
1448
|
}
|
|
1491
|
-
.day.selected[data-v-
|
|
1449
|
+
.day.selected[data-v-9c8816c6] {
|
|
1492
1450
|
background-color: var(--bgl-primary);
|
|
1493
1451
|
color: var(--bgl-white);
|
|
1494
1452
|
}
|
|
1495
|
-
.day.today[data-v-
|
|
1453
|
+
.day.today[data-v-9c8816c6]:not(.selected) {
|
|
1496
1454
|
border: 1px solid var(--bgl-primary);
|
|
1497
1455
|
}
|
|
1498
|
-
.day.disabled[data-v-
|
|
1456
|
+
.day.disabled[data-v-9c8816c6] {
|
|
1499
1457
|
opacity: 0.6;
|
|
1500
1458
|
filter: grayscale(0.3);
|
|
1501
1459
|
cursor: not-allowed;
|
|
1502
1460
|
}
|
|
1503
|
-
.day.not-in-month[data-v-
|
|
1461
|
+
.day.not-in-month[data-v-9c8816c6] {
|
|
1504
1462
|
opacity: 0.4;
|
|
1505
1463
|
}
|
|
1506
1464
|
|
package/package.json
CHANGED
|
@@ -196,64 +196,63 @@ onUnmounted(() => {
|
|
|
196
196
|
</script>
|
|
197
197
|
|
|
198
198
|
<template>
|
|
199
|
-
<div class="
|
|
200
|
-
<div class="
|
|
201
|
-
<div
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
<div class="events-column">
|
|
205
|
-
<div class="date-header">
|
|
206
|
-
{{ formatDate(startDate) }}
|
|
207
|
-
</div>
|
|
199
|
+
<div class="w-100p overflow-hidden m_overflow h-100p grid">
|
|
200
|
+
<div class="border-bottom me-1 txt-center p-05 dayGrid">
|
|
201
|
+
<div />
|
|
202
|
+
<div>
|
|
203
|
+
{{ formatDate(startDate) }}
|
|
208
204
|
</div>
|
|
209
205
|
</div>
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
206
|
+
|
|
207
|
+
<div class="overflow h-100p pe-05">
|
|
208
|
+
<div class="time-slots dayGrid border-end relative" @mousedown="handleMouseDown">
|
|
209
|
+
<div class="time-column">
|
|
210
|
+
<div
|
|
211
|
+
v-for="slot in timeSlots" :key="slot.time"
|
|
212
|
+
class="time-slot txt-light txt-12 color-gray bg-gray-light border-start"
|
|
213
|
+
:style="{ height: `${slotHeight}px` }"
|
|
214
|
+
>
|
|
215
|
+
{{ slot.time }}
|
|
216
|
+
</div>
|
|
218
217
|
</div>
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
218
|
+
<div class="events-column">
|
|
219
|
+
<!-- Current time indicator -->
|
|
220
|
+
<div v-if="isToday" class=" absolute end w-100p z-2 flex pointer-events-none" :style="{ top: `${currentTimeTop}px` }">
|
|
221
|
+
<div class="current-time-dot h-10px aspect-ratio-1 round bg-primary" />
|
|
222
|
+
<div class="current-time-line w-100p bg-primary" />
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
<div
|
|
226
|
+
v-for="event in processedEvents" :key="event.id"
|
|
227
|
+
class="event absolute radius-05 overflow-hidden pointer transition z-1"
|
|
228
|
+
:style="{
|
|
229
|
+
top: `${event.top}px`,
|
|
230
|
+
height: `${event.height}px`,
|
|
231
|
+
backgroundColor: event.color || 'var(--bgl-primary)',
|
|
232
|
+
}"
|
|
233
|
+
@click.stop="slots.eventContent ? openPopover(event, $event) : emit('eventClick', event)"
|
|
234
|
+
>
|
|
235
|
+
<div class="event-content">
|
|
236
|
+
<div class=" white-space ellipsis-1">
|
|
237
|
+
{{ event.title }}
|
|
238
|
+
</div>
|
|
239
|
+
<div class="event-time opacity-8">
|
|
240
|
+
{{ formatDate(new Date(event.start_time)) }}
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
</div>
|
|
225
244
|
</div>
|
|
226
245
|
|
|
246
|
+
<!-- Drag selection preview -->
|
|
227
247
|
<div
|
|
228
|
-
v-
|
|
229
|
-
class="
|
|
248
|
+
v-if="dragState.isDragging && dragState.start && dragState.end"
|
|
249
|
+
class="drag-preview absolute bg-primary pointer-events-none"
|
|
230
250
|
:style="{
|
|
231
|
-
top: `${
|
|
232
|
-
height: `${
|
|
233
|
-
backgroundColor: event.color || 'var(--bgl-primary)',
|
|
251
|
+
top: `${Math.min(dragState.start.y, dragState.end.y)}px`,
|
|
252
|
+
height: `${Math.abs(dragState.end.y - dragState.start.y)}px`,
|
|
234
253
|
}"
|
|
235
|
-
|
|
236
|
-
>
|
|
237
|
-
<div class="event-content">
|
|
238
|
-
<div class="event-title">
|
|
239
|
-
{{ event.title }}
|
|
240
|
-
</div>
|
|
241
|
-
<div class="event-time">
|
|
242
|
-
{{ formatDate(new Date(event.start_time)) }}
|
|
243
|
-
</div>
|
|
244
|
-
</div>
|
|
245
|
-
</div>
|
|
254
|
+
/>
|
|
246
255
|
</div>
|
|
247
|
-
|
|
248
|
-
<!-- Drag selection preview -->
|
|
249
|
-
<div
|
|
250
|
-
v-if="dragState.isDragging && dragState.start && dragState.end"
|
|
251
|
-
class="drag-preview"
|
|
252
|
-
:style="{
|
|
253
|
-
top: `${Math.min(dragState.start.y, dragState.end.y)}px`,
|
|
254
|
-
height: `${Math.abs(dragState.end.y - dragState.start.y)}px`,
|
|
255
|
-
}"
|
|
256
|
-
/>
|
|
257
256
|
</div>
|
|
258
257
|
|
|
259
258
|
<!-- Custom Popover -->
|
|
@@ -270,21 +269,14 @@ onUnmounted(() => {
|
|
|
270
269
|
>
|
|
271
270
|
<slot name="eventContent" :event="activeEvent" />
|
|
272
271
|
</div>
|
|
272
|
+
<div class="border-bottom me-1" />
|
|
273
273
|
</div>
|
|
274
274
|
</template>
|
|
275
275
|
|
|
276
276
|
<style scoped>
|
|
277
|
-
.
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
height: 100%;
|
|
281
|
-
overflow: hidden;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.day-header {
|
|
285
|
-
display: flex;
|
|
286
|
-
border-bottom: 1px solid var(--border-color);
|
|
287
|
-
flex-shrink: 0;
|
|
277
|
+
.dayGrid{
|
|
278
|
+
display: grid;
|
|
279
|
+
grid-template-columns: 5rem 1fr;
|
|
288
280
|
}
|
|
289
281
|
|
|
290
282
|
.time-column {
|
|
@@ -311,7 +303,6 @@ onUnmounted(() => {
|
|
|
311
303
|
display: flex;
|
|
312
304
|
align-items: center;
|
|
313
305
|
justify-content: center;
|
|
314
|
-
font-size: 0.8rem;
|
|
315
306
|
}
|
|
316
307
|
|
|
317
308
|
.time-slots {
|
|
@@ -322,14 +313,8 @@ onUnmounted(() => {
|
|
|
322
313
|
}
|
|
323
314
|
|
|
324
315
|
.event {
|
|
325
|
-
position: absolute;
|
|
326
316
|
left: 10px;
|
|
327
317
|
right: 10px;
|
|
328
|
-
border-radius: 4px;
|
|
329
|
-
overflow: hidden;
|
|
330
|
-
cursor: pointer;
|
|
331
|
-
transition: all 0.2s ease;
|
|
332
|
-
z-index: 1;
|
|
333
318
|
}
|
|
334
319
|
|
|
335
320
|
.event:hover {
|
|
@@ -346,7 +331,6 @@ onUnmounted(() => {
|
|
|
346
331
|
}
|
|
347
332
|
|
|
348
333
|
.event-title {
|
|
349
|
-
font-weight: 500;
|
|
350
334
|
white-space: nowrap;
|
|
351
335
|
overflow: hidden;
|
|
352
336
|
text-overflow: ellipsis;
|
|
@@ -354,42 +338,14 @@ onUnmounted(() => {
|
|
|
354
338
|
|
|
355
339
|
.event-time {
|
|
356
340
|
font-size: 0.8rem;
|
|
357
|
-
opacity: 0.8;
|
|
358
341
|
}
|
|
359
342
|
|
|
360
343
|
.drag-preview {
|
|
361
|
-
|
|
362
|
-
left: 80px;
|
|
363
|
-
right: 0;
|
|
364
|
-
background-color: rgba(var(--bgl-primary-rgb), 0.1);
|
|
365
|
-
border: 2px solid var(--bgl-primary);
|
|
366
|
-
pointer-events: none;
|
|
367
|
-
z-index: 1000;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
.current-time-indicator {
|
|
371
|
-
position: absolute;
|
|
372
|
-
width: 100%;
|
|
373
|
-
z-index: 2;
|
|
374
|
-
display: flex;
|
|
375
|
-
align-items: center;
|
|
376
|
-
pointer-events: none;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
.current-time-dot {
|
|
380
|
-
width: 12px;
|
|
381
|
-
height: 12px;
|
|
382
|
-
border-radius: 50%;
|
|
383
|
-
background-color: var(--bgl-primary, red);
|
|
384
|
-
position: absolute;
|
|
385
|
-
left: -6px;
|
|
386
|
-
transform: translateX(-50%);
|
|
344
|
+
background-color: rgba(var(--bgl-primary-rgb), 0.1);
|
|
387
345
|
}
|
|
388
346
|
|
|
389
347
|
.current-time-line {
|
|
390
348
|
height: 2px;
|
|
391
|
-
background-color: var(--bgl-primary, red);
|
|
392
|
-
width: 100%;
|
|
393
349
|
}
|
|
394
350
|
|
|
395
351
|
.custom-popover {
|
|
@@ -289,7 +289,7 @@ onUnmounted(() => {
|
|
|
289
289
|
<div class="overflow h-100p pe-05">
|
|
290
290
|
<div class="weekGrid border-end relative" @mousedown="handleMouseDown">
|
|
291
291
|
<div>
|
|
292
|
-
<div v-for="slot in timeSlots" :key="slot.time" class="txt-light txt-12 color-gray flex justify-content-center" :style="{ height: `${slotHeight}px` }">
|
|
292
|
+
<div v-for="slot in timeSlots" :key="slot.time" class="txt-light txt-12 color-gray flex justify-content-center bg-gray-light border-start" :style="{ height: `${slotHeight}px` }">
|
|
293
293
|
{{ slot.time }}
|
|
294
294
|
</div>
|
|
295
295
|
</div>
|
|
@@ -378,7 +378,6 @@ onUnmounted(() => {
|
|
|
378
378
|
display: flex;
|
|
379
379
|
align-items: center;
|
|
380
380
|
justify-content: center;
|
|
381
|
-
font-size: 0.8rem;
|
|
382
381
|
color: var(--text-muted);
|
|
383
382
|
}
|
|
384
383
|
|