@solcre-org/core-ui 2.17.0 → 2.17.2

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.
@@ -474,6 +474,132 @@
474
474
  border-color: var(--color-neutral-400, #9ca3af);
475
475
  }
476
476
 
477
+ .c-bookings-header__view-toggle {
478
+ display: flex;
479
+ margin-left: auto;
480
+ border: 1px solid var(--color-neutral-300, #d1d5db);
481
+ border-radius: 6px;
482
+ overflow: hidden;
483
+ }
484
+
485
+ .c-bookings-header__view-btn {
486
+ padding: 0.5em 1em;
487
+ font-size: var(--fz-000, 14px);
488
+ font-weight: 500;
489
+ color: var(--color-neutral-600, #4b5563);
490
+ background: transparent;
491
+ border: none;
492
+ cursor: pointer;
493
+ transition: background-color 0.2s, color 0.2s;
494
+ }
495
+ .c-bookings-header__view-btn:not(:last-child) {
496
+ border-right: 1px solid var(--color-neutral-300, #d1d5db);
497
+ }
498
+ .c-bookings-header__view-btn:hover {
499
+ background: var(--color-neutral-200, #e5e7eb);
500
+ }
501
+ .c-bookings-header__view-btn.is-active {
502
+ background: var(--color-primary-500, #3b82f6);
503
+ color: var(--color-neutral-100, #fff);
504
+ }
505
+
506
+ /* ******************************************** */
507
+ /** WEEKLY VIEW STYLES
508
+ /* ******************************************** */
509
+
510
+ .c-bookings-grid--weekly {
511
+ --_col-min-w: 8rem;
512
+ --_col-max-w: none;
513
+ }
514
+
515
+ .c-bookings-grid__wrapper--weekly {
516
+ grid-template-columns: auto repeat(7, 1fr);
517
+ }
518
+
519
+ .c-bookings-grid__wrapper--weekly .c-bookings-grid__col {
520
+ min-width: var(--_col-min-w, 8rem);
521
+ max-width: none;
522
+ }
523
+
524
+ .c-bookings-grid__top--weekly {
525
+ padding-block: 0.75rem;
526
+ min-height: 4.5rem;
527
+ }
528
+
529
+ .c-bookings-grid__day-header {
530
+ display: flex;
531
+ flex-direction: column;
532
+ align-items: center;
533
+ gap: 0.25rem;
534
+ }
535
+
536
+ .c-bookings-grid__day-name {
537
+ font-size: var(--fz-000, 14px);
538
+ font-weight: 500;
539
+ text-transform: uppercase;
540
+ color: var(--color-neutral-500, #6b7280);
541
+ letter-spacing: 0.05em;
542
+ }
543
+
544
+ .c-bookings-grid__day-number {
545
+ display: grid;
546
+ place-items: center;
547
+ width: 2.25rem;
548
+ height: 2.25rem;
549
+ font-size: var(--fz-100, 1rem);
550
+ font-weight: 600;
551
+ color: var(--color-neutral-800, #1f2937);
552
+ border-radius: 50%;
553
+ transition: background-color 0.2s, color 0.2s;
554
+ }
555
+
556
+ .c-bookings-grid__day-number.is-today {
557
+ background: var(--color-primary-500, #3b82f6);
558
+ color: var(--color-neutral-100, #fff);
559
+ }
560
+
561
+ .c-bookings-grid__day-header.is-today .c-bookings-grid__day-name {
562
+ color: var(--color-primary-500, #3b82f6);
563
+ }
564
+
565
+ .c-bookings-grid__col--weekend {
566
+ background-color: var(--color-neutral-100, #f9fafb);
567
+ }
568
+ .c-bookings-grid__col--weekend .c-bookings-grid__top {
569
+ background-color: var(--color-neutral-100, #f9fafb);
570
+ }
571
+
572
+ .c-bookings-grid__current-time-line--weekly {
573
+ --_time-col-width: 5rem;
574
+ --_day-width: calc((100% - var(--_time-col-width)) / 7);
575
+
576
+ left: calc(var(--_time-col-width) + var(--day-index, 0) * var(--_day-width));
577
+ right: auto;
578
+ width: var(--_day-width);
579
+ min-width: auto;
580
+ background: var(--_line-color);
581
+ }
582
+
583
+ .c-bookings-grid__current-time-line--weekly::before {
584
+ left: 0;
585
+ }
586
+
587
+ .c-bookings-grid__wrapper--weekly .c-bookings-grid__booking {
588
+ padding-inline: 0.5rem;
589
+ padding-block: 0.25rem;
590
+ }
591
+
592
+ .c-bookings-grid__wrapper--weekly .c-bookings-grid__booking .c-bookings-grid__title {
593
+ font-size: calc(var(--_fz) - 1px);
594
+ white-space: nowrap;
595
+ overflow: hidden;
596
+ text-overflow: ellipsis;
597
+ }
598
+
599
+ .c-bookings-grid__wrapper--weekly .c-bookings-grid__booking .c-bookings-grid__text {
600
+ font-size: calc(var(--_fz) - 2px);
601
+ }
602
+
477
603
  /* ******************************************** */
478
604
  /** UTILITY CLASSES
479
605
  /* ******************************************** */
@@ -489,3 +615,239 @@
489
615
  .u-gap-lg {
490
616
  gap: 1.5rem;
491
617
  }
618
+
619
+ /* ******************************************** */
620
+ /** MONTHLY VIEW STYLES
621
+ /* ******************************************** */
622
+
623
+ .c-bookings-grid__wrapper--monthly {
624
+ display: flex;
625
+ flex-direction: column;
626
+ height: 100%;
627
+ min-height: 600px;
628
+ width: 100%;
629
+ }
630
+
631
+ .c-bookings-grid__header-row {
632
+ display: grid;
633
+ grid-template-columns: repeat(7, 1fr);
634
+ border-bottom: 1px solid var(--color-neutral-300, #e0e0e0);
635
+ background-color: var(--color-neutral-100, #fff);
636
+ }
637
+
638
+ .c-bookings-grid__header-cell {
639
+ padding: 8px;
640
+ text-align: center;
641
+ font-weight: 600;
642
+ color: var(--color-neutral-600, #666);
643
+ text-transform: uppercase;
644
+ font-size: 0.875rem;
645
+ }
646
+
647
+ .c-bookings-grid__month-grid {
648
+ display: grid;
649
+ grid-template-columns: repeat(7, 1fr);
650
+ grid-template-rows: repeat(6, 1fr);
651
+ flex: 1;
652
+ border-left: 1px solid var(--color-neutral-300, #e0e0e0);
653
+ border-top: 1px solid var(--color-neutral-300, #e0e0e0);
654
+ background-color: var(--color-neutral-100, #fff);
655
+ }
656
+
657
+ .c-bookings-grid__month-cell {
658
+ border-right: 1px solid var(--color-neutral-300, #e0e0e0);
659
+ border-bottom: 1px solid var(--color-neutral-300, #e0e0e0);
660
+ padding: 4px;
661
+ min-height: 100px;
662
+ display: flex;
663
+ flex-direction: column;
664
+ cursor: pointer;
665
+ transition: background-color 0.2s;
666
+ background-color: var(--color-neutral-100, #fff);
667
+ position: relative;
668
+ }
669
+
670
+ .c-bookings-grid__month-cell:hover {
671
+ background-color: var(--color-neutral-200, #f9f9f9);
672
+ }
673
+
674
+ .c-bookings-grid__month-cell.is-today {
675
+ background-color: var(--color-primary-50, #f0f7ff);
676
+ }
677
+
678
+ .c-bookings-grid__month-cell.is-today .c-bookings-grid__month-day-number {
679
+ background-color: var(--color-primary-500, #1a73e8);
680
+ color: var(--color-neutral-100, #fff);
681
+ border-radius: 50%;
682
+ width: 24px;
683
+ height: 24px;
684
+ display: flex;
685
+ align-items: center;
686
+ justify-content: center;
687
+ }
688
+
689
+ .c-bookings-grid__month-cell.is-other-month {
690
+ background-color: var(--color-neutral-100, #fcfcfc);
691
+ color: var(--color-neutral-400, #999);
692
+ }
693
+
694
+ .c-bookings-grid__month-cell.is-other-month .c-bookings-grid__month-day-number {
695
+ color: var(--color-neutral-400, #999);
696
+ }
697
+
698
+ .c-bookings-grid__month-day-number {
699
+ font-size: 0.875rem;
700
+ font-weight: 500;
701
+ margin-bottom: 4px;
702
+ align-self: center;
703
+ padding: 2px;
704
+ }
705
+
706
+ .c-bookings-grid__month-events {
707
+ display: flex;
708
+ flex-direction: column;
709
+ gap: 2px;
710
+ overflow-y: auto;
711
+ max-height: 100px;
712
+ width: 100%;
713
+ }
714
+
715
+ .c-bookings-grid__month-event {
716
+ font-size: 0.75rem;
717
+ padding: 2px 4px;
718
+ border-radius: 4px;
719
+ background-color: var(--color-primary-100, #e8f0fe);
720
+ color: var(--color-neutral-800, #333);
721
+ white-space: nowrap;
722
+ overflow: hidden;
723
+ text-overflow: ellipsis;
724
+ cursor: pointer;
725
+ display: flex;
726
+ align-items: center;
727
+ gap: 4px;
728
+ margin-bottom: 2px;
729
+ height: 20px;
730
+ box-sizing: border-box;
731
+ width: 100%;
732
+ }
733
+
734
+ .c-bookings-grid__month-event:hover {
735
+ filter: brightness(0.95);
736
+ }
737
+
738
+ .c-bookings-grid__month-event-title {
739
+ font-weight: 600;
740
+ }
741
+
742
+ .c-bookings-grid__month-event-time {
743
+ font-size: 0.7rem;
744
+ opacity: 0.8;
745
+ margin-right: 4px;
746
+ }
747
+
748
+ .c-bookings-grid__more-events {
749
+ font-size: 0.75rem;
750
+ font-weight: 600;
751
+ color: var(--color-neutral-600, #4b5563);
752
+ padding: 2px 4px;
753
+ cursor: pointer;
754
+ border-radius: 4px;
755
+ transition: background-color 0.2s;
756
+ }
757
+
758
+ .c-bookings-grid__more-events:hover {
759
+ background-color: var(--color-neutral-200, #e5e7eb);
760
+ color: var(--color-neutral-800, #1f2937);
761
+ }
762
+
763
+ .c-bookings-grid__popover-overlay {
764
+ position: fixed;
765
+ top: 0;
766
+ left: 0;
767
+ width: 100vw;
768
+ height: 100vh;
769
+ background-color: rgba(0, 0, 0, 0.5);
770
+ z-index: 1000;
771
+ display: flex;
772
+ align-items: center;
773
+ justify-content: center;
774
+ }
775
+
776
+ .c-bookings-grid__popover {
777
+ background-color: var(--color-neutral-100, #fff);
778
+ color: var(--color-neutral-800, #1f2937);
779
+ border-radius: 12px;
780
+ width: 300px;
781
+ max-width: 90vw;
782
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
783
+ overflow: hidden;
784
+ display: flex;
785
+ flex-direction: column;
786
+ animation: popover-fade-in 0.2s ease-out;
787
+ }
788
+
789
+ @keyframes popover-fade-in {
790
+ from { opacity: 0; transform: scale(0.95); }
791
+ to { opacity: 1; transform: scale(1); }
792
+ }
793
+
794
+ .c-bookings-grid__popover-header {
795
+ padding: 16px;
796
+ display: flex;
797
+ align-items: flex-start;
798
+ justify-content: space-between;
799
+ }
800
+
801
+ .c-bookings-grid__popover-date {
802
+ display: flex;
803
+ flex-direction: column;
804
+ align-items: center;
805
+ flex: 1;
806
+ }
807
+
808
+ .c-bookings-grid__popover-weekday {
809
+ font-size: 0.75rem;
810
+ text-transform: uppercase;
811
+ opacity: 0.8;
812
+ letter-spacing: 1px;
813
+ }
814
+
815
+ .c-bookings-grid__popover-daynum {
816
+ font-size: 2rem;
817
+ font-weight: 400;
818
+ line-height: 1;
819
+ }
820
+
821
+ .c-bookings-grid__popover-close {
822
+ background: rgba(255, 255, 255, 0.1);
823
+ border: none;
824
+ color: var(--color-neutral-800, #1f2937);
825
+ width: 32px;
826
+ height: 32px;
827
+ border-radius: 50%;
828
+ display: flex;
829
+ align-items: center;
830
+ justify-content: center;
831
+ cursor: pointer;
832
+ transition: background-color 0.2s;
833
+ border: 2px solid #60a5fa;
834
+ }
835
+
836
+ .c-bookings-grid__popover-close:hover {
837
+ background: rgba(255, 255, 255, 0.2);
838
+ }
839
+
840
+ .c-bookings-grid__popover-content {
841
+ padding: 0 16px 16px 16px;
842
+ display: flex;
843
+ flex-direction: column;
844
+ gap: 8px;
845
+ max-height: 60vh;
846
+ overflow-y: auto;
847
+ }
848
+
849
+ .c-bookings-grid__month-event--popover {
850
+ height: 32px;
851
+ font-size: 0.875rem;
852
+ padding: 0 12px;
853
+ }