@djb25/digit-ui-css 1.0.68 → 1.0.70

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djb25/digit-ui-css",
3
- "version": "1.0.68",
3
+ "version": "1.0.70",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.css",
6
6
  "author": "satyam",
@@ -1,5 +1,5 @@
1
1
  .search-form-wrapper {
2
- @apply w-full flex-wrap gap-5 justify-between bg-white;
2
+ @apply w-full flex flex-col flex-wrap gap-2 p-md justify-between bg-white;
3
3
 
4
4
  border-radius: 11px;
5
5
  .form-field {
@@ -81,18 +81,19 @@
81
81
  }
82
82
 
83
83
  .action-bar-wrap-registry {
84
+ @apply relative;
84
85
  div {
85
86
  @apply w-full;
86
87
  }
87
88
 
88
89
  .menu-wrap {
89
- @apply absolute bg-white text-left mb-xs z-30 cursor-pointer;
90
+ @apply absolute bg-white text-left right-10 rounded-xl z-30 cursor-pointer;
90
91
  box-shadow: rgba(0, 0, 0, 0.14) 0 8px 10px 1px, rgba(0, 0, 0, 0.12) 0 3px 14px 2px, rgba(0, 0, 0, 0.2) 0 5px 5px -3px;
91
- width: 160px;
92
- right: 60px;
92
+ width: fit-content;
93
+ border-radius: 10px !important;
93
94
 
94
95
  div {
95
- @apply h-12 pl-sm py-md text-body-l text-text-primary;
96
+ @apply p-sm text-body-l rounded-xl text-text-primary;
96
97
 
97
98
  p {
98
99
  word-wrap: break-word;
@@ -129,4 +130,4 @@
129
130
  align-items: center;
130
131
  margin-left: 10px;
131
132
  }
132
- }
133
+ }
@@ -627,96 +627,201 @@
627
627
  transform: scale(1.05);
628
628
  }
629
629
 
630
- .card-body-row {
631
- display: flex;
632
- justify-content: space-between;
633
- align-items: center;
630
+ /* ── KPI TILES GRID ─────────────────────────────────────── */
631
+ @keyframes countPop {
632
+ 0% { transform: scale(0.6) translateY(6px); opacity: 0; }
633
+ 50% { transform: scale(1.06) translateY(-2px); opacity: 1; }
634
+ 100% { transform: scale(1) translateY(0); }
634
635
  }
635
636
 
636
- .main-kpi-section {
637
- display: flex;
638
- align-items: center;
639
- gap: 8px;
637
+ @keyframes shimmer {
638
+ 0% { left: -100%; }
639
+ 100% { left: 200%; }
640
640
  }
641
641
 
642
- .main-kpi-number {
643
- font-size: 2.5rem;
644
- font-weight: 700;
645
- color: #111827;
646
- line-height: 1;
642
+ @keyframes pulseGlow {
643
+ 0%, 100% { opacity: 0.45; transform: translate(-50%, -50%) scale(1); }
644
+ 50% { opacity: 0.7; transform: translate(-50%, -50%) scale(1.15); }
645
+ }
646
+
647
+ .kpi-tiles-grid {
648
+ display: grid;
649
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
650
+ gap: 10px;
651
+ width: 100%;
647
652
  }
648
653
 
649
- .main-kpi-label-wrap {
654
+ .kpi-tile {
655
+ position: relative;
650
656
  display: flex;
651
657
  flex-direction: column;
658
+ align-items: center;
652
659
  justify-content: center;
653
- align-items: flex-start;
654
- gap: 4px;
660
+ padding: 16px 12px 14px;
661
+ border-radius: 16px;
662
+ background: rgba(255, 255, 255, 0.65);
663
+ backdrop-filter: blur(12px);
664
+ -webkit-backdrop-filter: blur(12px);
665
+ border: 1px solid rgba(255, 255, 255, 0.5);
666
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04),
667
+ inset 0 1px 0 rgba(255, 255, 255, 0.8);
668
+ text-align: center;
669
+ overflow: hidden;
670
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
671
+ box-shadow 0.3s ease,
672
+ border-color 0.3s ease,
673
+ background 0.3s ease;
674
+ cursor: pointer;
655
675
  }
656
676
 
657
- .trend-icon {
658
- width: 18px;
659
- height: 18px;
660
- border: 1.5px solid #10b981;
661
- border-radius: 50%;
662
- color: #10b981;
663
- display: flex;
664
- justify-content: center;
665
- align-items: center;
677
+ .kpi-tile:hover {
678
+ transform: translateY(-4px) scale(1.02);
679
+ box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.12),
680
+ 0 2px 6px rgba(0, 0, 0, 0.04),
681
+ inset 0 1px 0 rgba(255, 255, 255, 0.9);
682
+ border-color: rgba(200, 200, 220, 0.6);
666
683
  }
667
684
 
668
- .main-kpi-label {
669
- color: #6b7280;
670
- font-weight: 400;
671
- font-size: 0.9rem;
685
+ /* Shimmer sweep on hover */
686
+ .kpi-tile::after {
687
+ content: "";
688
+ position: absolute;
689
+ top: 0;
690
+ left: -100%;
691
+ width: 60%;
692
+ height: 100%;
693
+ background: linear-gradient(
694
+ 90deg,
695
+ transparent 0%,
696
+ rgba(255, 255, 255, 0.4) 50%,
697
+ transparent 100%
698
+ );
699
+ transition: none;
700
+ pointer-events: none;
672
701
  }
673
702
 
674
- .secondary-kpi-section {
675
- display: flex;
676
- flex-direction: column;
677
- align-items: flex-end;
678
- gap: 8px;
703
+ .kpi-tile:hover::after {
704
+ animation: shimmer 0.8s ease-in-out;
679
705
  }
680
706
 
681
- .secondary-kpi-item {
682
- display: flex;
683
- justify-content: flex-end;
684
- align-items: center;
685
- gap: 8px;
686
- width: 100%;
707
+ /* ── Accent — repurposed as a small colored dot next to label ── */
708
+ .kpi-tile__accent {
709
+ position: absolute;
710
+ top: 10px;
711
+ left: 10px;
712
+ width: 6px;
713
+ height: 6px;
714
+ border-radius: 50%;
715
+ background: #94a3b8;
716
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
717
+ }
718
+
719
+ .kpi-tile:hover .kpi-tile__accent {
720
+ transform: scale(1.4);
687
721
  }
688
722
 
689
- .sec-kpi-header .sec-kpi-label {
690
- font-size: 0.7rem;
723
+ /* Color-coded dots per module */
724
+ .kpi-tile--icon-blue .kpi-tile__accent { background: #0ea5e9; box-shadow: 0 0 6px rgba(14, 165, 233, 0.4); }
725
+ .kpi-tile--icon-purple .kpi-tile__accent { background: #8b5cf6; box-shadow: 0 0 6px rgba(139, 92, 246, 0.4); }
726
+ .kpi-tile--icon-orange .kpi-tile__accent { background: #f97316; box-shadow: 0 0 6px rgba(249, 115, 22, 0.4); }
727
+ .kpi-tile--icon-green .kpi-tile__accent { background: #22c55e; box-shadow: 0 0 6px rgba(34, 197, 94, 0.4); }
728
+ .kpi-tile--icon-brown .kpi-tile__accent { background: #eab308; box-shadow: 0 0 6px rgba(234, 179, 8, 0.4); }
729
+ .kpi-tile--icon-violet .kpi-tile__accent { background: #7c3aed; box-shadow: 0 0 6px rgba(124, 58, 237, 0.4); }
730
+ .kpi-tile--icon-teal .kpi-tile__accent { background: #14b8a6; box-shadow: 0 0 6px rgba(20, 184, 166, 0.4); }
731
+ .kpi-tile--icon-default .kpi-tile__accent { background: #64748b; box-shadow: 0 0 6px rgba(100, 116, 139, 0.4); }
732
+
733
+ /* ── Label ── */
734
+ .kpi-tile__label {
735
+ font-size: 0.65rem;
691
736
  font-weight: 700;
692
- color: #9ca3af;
693
- letter-spacing: 0.5px;
737
+ color: #64748b;
738
+ text-transform: uppercase;
739
+ letter-spacing: 0.8px;
740
+ line-height: 1.35;
741
+ margin-bottom: 8px;
742
+ max-width: 100%;
743
+ word-break: break-word;
694
744
  }
695
745
 
696
- .sec-kpi-label {
697
- font-size: 0.85rem;
698
- color: #4b5563;
699
- font-weight: 500;
700
- text-align: right;
746
+ /* ── Count with radial glow behind ── */
747
+ .kpi-tile__count {
748
+ position: relative;
749
+ font-size: 2rem;
750
+ font-weight: 800;
751
+ color: #0f172a;
752
+ line-height: 1;
753
+ animation: countPop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
754
+ font-variant-numeric: tabular-nums;
755
+ z-index: 1;
701
756
  }
702
757
 
703
- .sec-kpi-value {
704
- font-size: 0.9rem;
705
- font-weight: 700;
706
- color: #111827;
758
+ /* Radial glow circle behind the number */
759
+ .kpi-tile__count::before {
760
+ content: "";
761
+ position: absolute;
762
+ top: 50%;
763
+ left: 50%;
764
+ width: 44px;
765
+ height: 44px;
766
+ border-radius: 50%;
767
+ transform: translate(-50%, -50%);
768
+ opacity: 0.35;
769
+ z-index: -1;
770
+ background: radial-gradient(circle, #94a3b8 0%, transparent 70%);
771
+ transition: opacity 0.3s ease, transform 0.3s ease;
772
+ }
773
+
774
+ .kpi-tile:hover .kpi-tile__count::before {
775
+ opacity: 0.55;
776
+ animation: pulseGlow 2s ease-in-out infinite;
777
+ }
778
+
779
+ /* Color-coded glow per module */
780
+ .kpi-tile--icon-blue .kpi-tile__count::before { background: radial-gradient(circle, #7dd3fc 0%, transparent 70%); }
781
+ .kpi-tile--icon-purple .kpi-tile__count::before { background: radial-gradient(circle, #c4b5fd 0%, transparent 70%); }
782
+ .kpi-tile--icon-orange .kpi-tile__count::before { background: radial-gradient(circle, #fdba74 0%, transparent 70%); }
783
+ .kpi-tile--icon-green .kpi-tile__count::before { background: radial-gradient(circle, #86efac 0%, transparent 70%); }
784
+ .kpi-tile--icon-brown .kpi-tile__count::before { background: radial-gradient(circle, #fde68a 0%, transparent 70%); }
785
+ .kpi-tile--icon-violet .kpi-tile__count::before { background: radial-gradient(circle, #a78bfa 0%, transparent 70%); }
786
+ .kpi-tile--icon-teal .kpi-tile__count::before { background: radial-gradient(circle, #5eead4 0%, transparent 70%); }
787
+ .kpi-tile--icon-default .kpi-tile__count::before { background: radial-gradient(circle, #cbd5e1 0%, transparent 70%); }
788
+
789
+ /* Count color on hover */
790
+ .kpi-tile--icon-blue:hover .kpi-tile__count { color: #0369a1; }
791
+ .kpi-tile--icon-purple:hover .kpi-tile__count { color: #6d28d9; }
792
+ .kpi-tile--icon-orange:hover .kpi-tile__count { color: #c2410c; }
793
+ .kpi-tile--icon-green:hover .kpi-tile__count { color: #15803d; }
794
+ .kpi-tile--icon-brown:hover .kpi-tile__count { color: #a16207; }
795
+ .kpi-tile--icon-violet:hover .kpi-tile__count { color: #5b21b6; }
796
+ .kpi-tile--icon-teal:hover .kpi-tile__count { color: #0f766e; }
797
+
798
+ /* Subtle bg tint on hover per color */
799
+ .kpi-tile--icon-blue:hover { background: rgba(240, 249, 255, 0.85); border-color: rgba(56, 189, 248, 0.25); }
800
+ .kpi-tile--icon-purple:hover { background: rgba(250, 245, 255, 0.85); border-color: rgba(192, 132, 252, 0.25); }
801
+ .kpi-tile--icon-orange:hover { background: rgba(255, 247, 237, 0.85); border-color: rgba(251, 146, 60, 0.25); }
802
+ .kpi-tile--icon-green:hover { background: rgba(240, 253, 244, 0.85); border-color: rgba(74, 222, 128, 0.25); }
803
+ .kpi-tile--icon-brown:hover { background: rgba(255, 251, 235, 0.85); border-color: rgba(251, 191, 36, 0.25); }
804
+ .kpi-tile--icon-violet:hover { background: rgba(245, 243, 255, 0.85); border-color: rgba(167, 139, 250, 0.25); }
805
+ .kpi-tile--icon-teal:hover { background: rgba(240, 253, 250, 0.85); border-color: rgba(45, 212, 191, 0.25); }
806
+
807
+ /* ── LEGACY: kept for backwards-compat if referenced elsewhere ── */
808
+ .card-body-row {
707
809
  display: flex;
810
+ justify-content: space-between;
708
811
  align-items: center;
709
- justify-content: flex-end;
710
- min-width: 16px;
711
812
  }
712
813
 
713
- .sec-kpi-dot {
714
- width: 8px;
715
- height: 8px;
716
- background-color: #ef4444;
717
- border-radius: 50%;
718
- display: inline-block;
719
- }
814
+ .main-kpi-section { display: none; }
815
+ .main-kpi-number { display: none; }
816
+ .main-kpi-label-wrap { display: none; }
817
+ .main-kpi-label { display: none; }
818
+ .secondary-kpi-section { display: none; }
819
+ .secondary-kpi-item { display: none; }
820
+ .sec-kpi-label { display: none; }
821
+ .sec-kpi-value { display: none; }
822
+ .sec-kpi-dot { display: none; }
823
+ .sec-kpi-header { display: none; }
824
+ .trend-icon { display: none; }
720
825
 
721
826
  .card-footer-row {
722
827
  display: flex;
@@ -0,0 +1,104 @@
1
+ .ekyc-dashboard-section {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ align-items: flex-start;
5
+ }
6
+
7
+ .report-download {
8
+ position: relative;
9
+ flex-shrink: 0;
10
+
11
+ .download-btn {
12
+ background: #0b2559;
13
+ color: #fff;
14
+ border: none;
15
+ border-radius: 8px;
16
+ padding: 10px 20px;
17
+ cursor: pointer;
18
+ font-weight: 600;
19
+ font-size: 14px;
20
+ display: flex;
21
+ align-items: center;
22
+ gap: 8px;
23
+ }
24
+
25
+ .report-menu {
26
+ position: absolute;
27
+ top: 44px;
28
+ right: 0;
29
+ background: #fff;
30
+ border: 1px solid #e5e7eb;
31
+ border-radius: 10px;
32
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
33
+ z-index: 999;
34
+ min-width: 220px;
35
+ padding: 8px 0;
36
+ }
37
+
38
+ .menu-item {
39
+ padding: 10px 20px;
40
+ cursor: pointer;
41
+ font-size: 14px;
42
+ color: #111;
43
+ transition: background 0.15s;
44
+
45
+ &:hover {
46
+ background: #f3f4f6;
47
+ }
48
+ }
49
+
50
+ .custom-date-trigger {
51
+ padding: 10px 20px;
52
+ cursor: pointer;
53
+ font-size: 14px;
54
+ color: #0b2559;
55
+ font-weight: 600;
56
+ border-top: 1px solid #e5e7eb;
57
+ margin-top: 4px;
58
+
59
+ &:hover {
60
+ background: #f3f4f6;
61
+ }
62
+ }
63
+
64
+ .custom-picker {
65
+ padding: 12px 20px;
66
+ border-top: 1px solid #e5e7eb;
67
+ }
68
+
69
+ .date-field {
70
+ margin-bottom: 12px;
71
+ }
72
+
73
+ .date-label {
74
+ display: block;
75
+ margin-bottom: 4px;
76
+ font-size: 12px;
77
+ color: #6b7280;
78
+ }
79
+
80
+ .date-input {
81
+ width: 100%;
82
+ padding: 6px 8px;
83
+ border: 1px solid #d1d5db;
84
+ border-radius: 6px;
85
+ font-size: 13px;
86
+ outline: none;
87
+
88
+ &:focus {
89
+ border-color: #0b2559;
90
+ }
91
+ }
92
+
93
+ .download-action-btn {
94
+ width: 100%;
95
+ background: #0b2559;
96
+ color: #fff;
97
+ border: none;
98
+ border-radius: 6px;
99
+ padding: 8px;
100
+ cursor: pointer;
101
+ font-weight: 600;
102
+ font-size: 13px;
103
+ }
104
+ }
@@ -45,8 +45,14 @@
45
45
  }
46
46
 
47
47
  svg {
48
+ color: #e5e5e7;
48
49
  @apply absolute right-0 float-right h-6 w-6 mt-sm mr-sm;
49
50
  }
51
+ &:hover {
52
+ svg {
53
+ color: #a1a1aa;
54
+ }
55
+ }
50
56
  }
51
57
 
52
58
  .select-active {
@@ -117,7 +123,7 @@
117
123
  @apply relative;
118
124
 
119
125
  .select {
120
- @apply relative block w-full h-10 border border-solid border-input-border rounded-md;
126
+ @apply relative block w-full h-10 rounded-md;
121
127
 
122
128
  input[type="text"] {
123
129
  width: calc(100% - 32px);
@@ -17,6 +17,8 @@
17
17
  .employee-card-input:disabled {
18
18
  @apply border-grey-dark text-grey-dark !important;
19
19
  pointer-events: none !important;
20
+ @extend .light-input-border;
21
+ @extend .light-text-color-disabled;
20
22
  }
21
23
  .employee-card-input--front {
22
24
  width: fit-content !important;
@@ -80,16 +82,3 @@
80
82
  width: 240px;
81
83
  }
82
84
  }
83
-
84
- .citizen-card-input {
85
- @apply pl-sm outline-none block border w-full h-10 border-input-border border-solid bg-white leading-10 text-form-field text-text-primary;
86
- }
87
-
88
- .citizen-card-input--front {
89
- width: fit-content !important;
90
- display: flex;
91
- align-items: center;
92
- background: theme(colors.grey.mid);
93
- border-right: 0;
94
- padding-right: 5px;
95
- }
@@ -44,16 +44,6 @@
44
44
  @extend .alert-error;
45
45
  }
46
46
 
47
- .employee-card-input {
48
- border: 2px solid #e5e5e7;
49
- @apply pl-sm outline-none block w-full h-10 bg-white leading-10 text-form-field text-text-primary;
50
- }
51
- .employee-card-input:disabled {
52
- @apply border-grey-dark text-grey-dark !important;
53
- pointer-events: none !important;
54
- @extend .light-input-border;
55
- @extend .light-text-color-disabled;
56
- }
57
47
  .employee-card-input--front {
58
48
  width: fit-content !important;
59
49
  display: flex;
package/src/index.scss CHANGED
@@ -121,6 +121,7 @@
121
121
  @import "./components/EkycAssign.scss";
122
122
  @import "./pages/employee/hrms.scss";
123
123
  @import "./pages/employee/userProfile.scss";
124
+ @import "./components/reportDownload.scss";
124
125
 
125
126
  .display-none {
126
127
  display: none;
@@ -732,7 +733,6 @@ input[type="number"] {
732
733
  @media (min-width: 780px) {
733
734
  .citizen-obps-wrapper,
734
735
  .pgr-citizen-wrapper,
735
- .pt-citizen,
736
736
  .bill-citizen,
737
737
  .bills-citizen-wrapper,
738
738
  .payer-bills-citizen-wrapper,