pr360-questionnaire 2.3.6 → 2.3.7

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.
@@ -27,11 +27,12 @@
27
27
  }
28
28
  }
29
29
 
30
- // Ensure FullCalendar sticky headers stay below modals
30
+ // FullCalendar sticky header z-index (below modals but above calendar content)
31
31
  .fc-col-header-cell,
32
32
  .fc-col-header,
33
- .fc-scrollgrid-sync-table {
34
- z-index: 1 !important;
33
+ .fc-scrollgrid-section-header {
34
+ z-index: 2 !important;
35
+ background: #fff;
35
36
  }
36
37
 
37
38
  // Style the onboarding email textarea to match other form fields but with better formatting
@@ -358,10 +358,107 @@ table {
358
358
  // --- Schedule view specific styles ---
359
359
  .schedule-grid {
360
360
  display: grid;
361
- grid-template-columns: 18% 1fr; // notes narrower
361
+ grid-template-columns: 15% 1fr; // notes narrower to give calendar more space
362
362
  grid-gap: 0; // no gap between notes and calendar
363
- height: 75vh;
364
- min-height: 0;
363
+ height: 80vh;
364
+ min-height: 600px;
365
+ }
366
+
367
+ // --- FullCalendar customizations ---
368
+ #full-calendar {
369
+ height: 100%;
370
+ min-height: 600px;
371
+ }
372
+
373
+ // Make day columns wider with minimum width
374
+ .fc .fc-timegrid-col {
375
+ min-width: 120px;
376
+ }
377
+
378
+ // Wider day header cells
379
+ .fc .fc-col-header-cell {
380
+ min-width: 120px;
381
+ padding: 12px 8px;
382
+ }
383
+
384
+ // Taller slot rows for better readability
385
+ .fc .fc-timegrid-slot {
386
+ height: 2.5em;
387
+ min-height: 40px;
388
+ }
389
+
390
+ // Make slot labels more readable
391
+ .fc .fc-timegrid-slot-label {
392
+ font-size: 13px;
393
+ font-weight: 500;
394
+ vertical-align: top;
395
+ padding-top: 4px;
396
+ }
397
+
398
+ // Better event styling in time grid
399
+ .fc .fc-timegrid-event {
400
+ border-radius: 4px;
401
+ font-size: 12px;
402
+ padding: 4px 6px;
403
+ }
404
+
405
+ .fc .fc-timegrid-event .fc-event-main {
406
+ padding: 2px 4px;
407
+ }
408
+
409
+ .fc .fc-timegrid-event .fc-event-time {
410
+ font-weight: 600;
411
+ font-size: 11px;
412
+ }
413
+
414
+ .fc .fc-timegrid-event .fc-event-title {
415
+ font-size: 12px;
416
+ font-weight: 500;
417
+ }
418
+
419
+ // Day header styling
420
+ .fc .fc-col-header-cell-cushion {
421
+ font-weight: 600;
422
+ font-size: 14px;
423
+ padding: 8px 4px;
424
+ }
425
+
426
+ // Now indicator styling
427
+ .fc .fc-timegrid-now-indicator-line {
428
+ border-color: #e74c3c;
429
+ border-width: 2px;
430
+ }
431
+
432
+ .fc .fc-timegrid-now-indicator-arrow {
433
+ border-color: #e74c3c;
434
+ }
435
+
436
+ // Sticky header support - ensure header stays visible when scrolling
437
+ .fc .fc-col-header {
438
+ position: sticky;
439
+ top: 0;
440
+ z-index: 3;
441
+ background: #fff;
442
+ }
443
+
444
+ .fc .fc-scrollgrid-section-header {
445
+ position: sticky;
446
+ top: 0;
447
+ z-index: 3;
448
+ background: #fff;
449
+ }
450
+
451
+ .fc .fc-scrollgrid-section-header > td {
452
+ background: #fff;
453
+ }
454
+
455
+ // Ensure the calendar container allows internal scrolling
456
+ .schedule-grid .table-container {
457
+ overflow: hidden;
458
+ }
459
+
460
+ .schedule-grid pr360-calendar {
461
+ overflow: hidden;
365
462
  }
366
463
 
367
464
  .schedule-notes {
@@ -390,14 +487,11 @@ table {
390
487
  min-height: 0;
391
488
  height: 100%;
392
489
  width: 100%;
393
- display: flex;
394
- flex-direction: column;
395
- overflow-y: auto;
490
+ display: block;
491
+ overflow: hidden;
396
492
  }
397
493
 
398
494
  .schedule-grid pr360-calendar > * {
399
- flex: 1 1 auto;
400
- min-height: 0;
401
495
  height: 100%;
402
496
  }
403
497
 
package/js/calendar.ts CHANGED
@@ -44,8 +44,8 @@ export class CalendarElement extends LitElement {
44
44
  schedulerLicenseKey: "CC-Attribution-NonCommercial-NoDerivatives",
45
45
  plugins: [resourceTimelinePlugin, momentPlugin, dayGridPlugin, timeGridPlugin],
46
46
  slotMinWidth: 70,
47
- slotMinTime: "08:00",
48
- slotMaxTime: "20:00",
47
+ slotDuration: '00:30:00',
48
+ slotLabelInterval: '01:00',
49
49
  stickyHeaderDates: true,
50
50
  initialView: 'timeGridWeek',
51
51
  headerToolbar: {
@@ -54,6 +54,13 @@ export class CalendarElement extends LitElement {
54
54
  right: 'dayGridMonth, timeGridWeek, timeGridDay'
55
55
  },
56
56
  titleFormat: "dddd, MMM D, YYYY",
57
+ height: '100%',
58
+ expandRows: true,
59
+ scrollTime: '06:00:00',
60
+ nowIndicator: false,
61
+ dayHeaderFormat: { weekday: 'short', month: 'numeric', day: 'numeric' },
62
+ slotLabelFormat: { hour: 'numeric', minute: '2-digit', meridiem: 'short' },
63
+ eventTimeFormat: { hour: 'numeric', minute: '2-digit', meridiem: 'short' },
57
64
  events: JSON.parse(this.events),
58
65
  eventClick: function (info) {
59
66
  info.el.dispatchEvent(
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pr360-questionnaire",
3
3
  "description": "An element to render a questionnaire for PatientReach 360.",
4
- "version": "2.3.6",
4
+ "version": "2.3.7",
5
5
  "main": "dist/index.js",
6
6
  "author": {
7
7
  "email": "chris@launchscout.com",