@quidgest/ui 0.14.3 → 0.14.5

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/README.md CHANGED
@@ -4,10 +4,10 @@ Quidgest's UI framework.
4
4
 
5
5
  ## Features
6
6
 
7
- - A collection of customizable and reusable Vue 3 components.
8
- - Written in TypeScript for type safety and better developer experience.
9
- - Easily style components using SCSS.
10
- - Documentation and examples.
7
+ - A collection of customizable and reusable Vue 3 components.
8
+ - Written in TypeScript for type safety and better developer experience.
9
+ - Easily style components using SCSS.
10
+ - Documentation and examples.
11
11
 
12
12
  ## Install
13
13
 
@@ -3,6 +3,7 @@
3
3
  "QButton",
4
4
  "QButtonGroup",
5
5
  "QButtonToggle",
6
+ "QCard",
6
7
  "QCheckbox",
7
8
  "QCombobox",
8
9
  "QDialog",
package/dist/ui.css CHANGED
@@ -547,6 +547,138 @@ body *::-webkit-scrollbar-track {
547
547
  z-index: 3;
548
548
  }
549
549
 
550
+ .q-card {
551
+ --card-base-padding: 1rem;
552
+ --card-padding: 1rem;
553
+ --card-border: 1px solid var(--q-theme-neutral-light);
554
+ --card-width: fit-content;
555
+ --card-hover: 0 5px 15px rgb(var(--q-theme-neutral-rgb) / 0.25);
556
+ --card-scale: 1;
557
+ --card-shadow: none;
558
+ --card-background: var(--q-theme-container);
559
+ min-height: 5rem;
560
+ min-width: 7rem;
561
+ border: var(--card-border);
562
+ border-radius: 0.25rem;
563
+ background-color: var(--card-background);
564
+ width: var(--card-width);
565
+ overflow: hidden;
566
+ display: flex;
567
+ flex-direction: column;
568
+ box-shadow: var(--card-shadow);
569
+ transform: scale(var(--card-scale));
570
+ transition: box-shadow 0.2s ease-in-out, transform 0.2s cubic-bezier(0.155, 1.105, 0.295, 1.12);
571
+ }
572
+ .q-card__header {
573
+ display: flex;
574
+ flex: 1;
575
+ flex-direction: column;
576
+ padding-bottom: var(--card-base-padding);
577
+ }
578
+ .q-card__header-content {
579
+ display: flex;
580
+ gap: 0.5rem;
581
+ padding: var(--card-padding);
582
+ padding-top: var(--card-base-padding);
583
+ padding-bottom: 0;
584
+ }
585
+ .q-card__header-text {
586
+ display: flex;
587
+ flex-direction: column;
588
+ flex: 1;
589
+ }
590
+ .q-card__title {
591
+ width: 100%;
592
+ margin: 0;
593
+ font-size: 1.05rem;
594
+ line-height: 1rem;
595
+ letter-spacing: 0.02rem;
596
+ font-weight: 600;
597
+ }
598
+ .q-card__subtitle {
599
+ width: 100%;
600
+ margin: 0;
601
+ font-size: 0.75rem;
602
+ color: var(--q-theme-neutral);
603
+ padding-top: 0.3rem;
604
+ }
605
+ .q-card__content {
606
+ padding: var(--card-padding);
607
+ padding-top: 0;
608
+ padding-bottom: var(--card-base-padding);
609
+ display: flex;
610
+ }
611
+ .q-card--elevation-low {
612
+ --card-shadow: 0 4px 6px rgb(var(--q-theme-neutral-dark-rgb) / 0.15);
613
+ }
614
+ .q-card--elevation-medium {
615
+ --card-shadow: 0 6px 9px rgb(var(--q-theme-neutral-dark-rgb) / 0.2);
616
+ }
617
+ .q-card--elevation-high {
618
+ --card-shadow: 0 8px 12px rgb(var(--q-theme-neutral-dark-rgb) / 0.25);
619
+ }
620
+ .q-card--background {
621
+ --card-background: rgb(var(--q-theme-primary-light-rgb) / 0.5);
622
+ }
623
+ .q-card--background .q-field__control {
624
+ background-color: var(--q-theme-container);
625
+ }
626
+ .q-card--title-background .q-card__header-content {
627
+ background-color: rgb(var(--q-theme-neutral-light-rgb)/0.25);
628
+ padding-bottom: 0.75rem;
629
+ }
630
+ .q-card--title-background .q-card__title {
631
+ color: var(--q-theme-neutral-dark);
632
+ font-size: 1.1rem;
633
+ letter-spacing: unset;
634
+ text-transform: unset;
635
+ font-weight: 700;
636
+ }
637
+ .q-card--minor .q-card__title {
638
+ font-size: 0.9rem;
639
+ text-transform: unset;
640
+ font-weight: 600;
641
+ color: var(--q-theme-neutral);
642
+ }
643
+ .q-card--minor .q-card__subtitle {
644
+ font-size: 0.75rem;
645
+ color: rgb(var(--q-theme-neutral-rgb)/0.8);
646
+ }
647
+ .q-card--borderless {
648
+ --card-border: 1px solid transparent;
649
+ }
650
+ .q-card--clickable {
651
+ text-decoration: none;
652
+ color: inherit;
653
+ }
654
+ .q-card--clickable:not(.q-card--disabled) {
655
+ cursor: pointer;
656
+ }
657
+ .q-card--clickable:not(.q-card--disabled):hover {
658
+ --card-scale: 1.01;
659
+ --card-shadow: var(--card-hover);
660
+ }
661
+ .q-card--loading {
662
+ padding: 3rem 5rem;
663
+ justify-content: center;
664
+ align-items: center;
665
+ }
666
+ .q-card--medium {
667
+ --card-width: calc(3 * 5em + 2 * 0.25rem);
668
+ }
669
+ .q-card--large {
670
+ --card-width: calc(4 * 5em + 3 * 0.25rem);
671
+ }
672
+ .q-card--xlarge {
673
+ --card-width: calc(6 * 5em + 5 * 0.25rem);
674
+ }
675
+ .q-card--xxlarge {
676
+ --card-width: calc(8 * 5em + 7 * 0.25rem);
677
+ }
678
+ .q-card--block {
679
+ --card-width: 100%;
680
+ }
681
+
550
682
  .q-checkbox {
551
683
  --box-size: 1.15rem;
552
684
  --icon-color: var(--q-theme-on-primary);
@@ -560,11 +692,14 @@ body *::-webkit-scrollbar-track {
560
692
  cursor: pointer;
561
693
  }
562
694
  .q-checkbox__input {
563
- position: relative;
695
+ display: flex;
696
+ align-items: center;
697
+ justify-content: center;
564
698
  width: var(--box-size);
565
699
  height: var(--box-size);
566
700
  border: 1px solid var(--q-theme-neutral-light);
567
701
  border-radius: 0.25rem;
702
+ padding: 0;
568
703
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
569
704
  background-color: transparent;
570
705
  flex-shrink: 0;
@@ -580,17 +715,11 @@ body *::-webkit-scrollbar-track {
580
715
  outline: 2px solid rgb(var(--q-theme-info-rgb)/0.5);
581
716
  }
582
717
  .q-checkbox__input-icon.q-icon {
583
- position: absolute;
584
- top: -1px;
585
- left: -1px;
586
- width: inherit;
587
- height: inherit;
588
- padding: 0.25rem;
718
+ color: var(--icon-color);
589
719
  pointer-events: none;
590
720
  -webkit-user-select: none;
591
721
  -moz-user-select: none;
592
722
  user-select: none;
593
- fill: var(--icon-color);
594
723
  transition: transform 0.2s ease;
595
724
  opacity: var(--icon-opacity);
596
725
  }