@visns-studio/visns-components 5.15.10 → 5.15.11

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.
@@ -0,0 +1,143 @@
1
+ .connectionStatus {
2
+ padding: 12px;
3
+ border-radius: 8px;
4
+ border: 1px solid #e9ecef;
5
+ background: #f8f9fa;
6
+
7
+ &.connected {
8
+ border-color: #28a745;
9
+ background: #d4edda;
10
+ }
11
+
12
+ &.expired {
13
+ border-color: #ffc107;
14
+ background: #fff3cd;
15
+ }
16
+
17
+ &.error {
18
+ border-color: #dc3545;
19
+ background: #f8d7da;
20
+ }
21
+
22
+ &.disconnected {
23
+ border-color: #6c757d;
24
+ background: #e9ecef;
25
+ }
26
+
27
+ .statusHeader {
28
+ display: flex;
29
+ align-items: center;
30
+ gap: 8px;
31
+
32
+ .icon {
33
+ font-size: 1.2rem;
34
+ }
35
+
36
+ .message {
37
+ font-weight: 500;
38
+ color: #333;
39
+ }
40
+ }
41
+
42
+ .statusDetails {
43
+ margin-top: 12px;
44
+ font-size: 0.9rem;
45
+
46
+ .detail {
47
+ display: flex;
48
+ justify-content: space-between;
49
+ align-items: center;
50
+ margin-bottom: 6px;
51
+
52
+ &:last-child {
53
+ margin-bottom: 0;
54
+ }
55
+
56
+ .label {
57
+ color: #666;
58
+ font-weight: 500;
59
+ }
60
+
61
+ .value {
62
+ color: #333;
63
+
64
+ &.pending {
65
+ color: #6c757d;
66
+ }
67
+
68
+ &.syncing {
69
+ color: #007bff;
70
+ font-weight: 500;
71
+ }
72
+
73
+ &.completed {
74
+ color: #28a745;
75
+ }
76
+
77
+ &.error {
78
+ color: #dc3545;
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ // Compact version
85
+ &.compact {
86
+ padding: 8px 12px;
87
+ display: flex;
88
+ align-items: center;
89
+ gap: 12px;
90
+ background: white;
91
+ border-radius: 6px;
92
+
93
+ .icon {
94
+ font-size: 1rem;
95
+ }
96
+
97
+ .provider {
98
+ font-weight: 500;
99
+ color: #333;
100
+ min-width: 120px;
101
+ }
102
+
103
+ .status {
104
+ color: #666;
105
+ font-size: 0.85rem;
106
+ }
107
+
108
+ &.connected .status {
109
+ color: #28a745;
110
+ }
111
+
112
+ &.expired .status {
113
+ color: #ffc107;
114
+ }
115
+
116
+ &.error .status {
117
+ color: #dc3545;
118
+ }
119
+ }
120
+ }
121
+
122
+ // Responsive design
123
+ @media (max-width: 768px) {
124
+ .connectionStatus {
125
+ &.compact {
126
+ flex-direction: column;
127
+ align-items: flex-start;
128
+ gap: 4px;
129
+
130
+ .provider {
131
+ min-width: auto;
132
+ }
133
+ }
134
+
135
+ .statusDetails {
136
+ .detail {
137
+ flex-direction: column;
138
+ align-items: flex-start;
139
+ gap: 2px;
140
+ }
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,119 @@
1
+ .oauthManager {
2
+ max-width: 1200px;
3
+ margin: 0 auto;
4
+ padding: 0;
5
+
6
+ .header {
7
+ margin-bottom: 30px;
8
+ text-align: center;
9
+
10
+ h2 {
11
+ font-size: 2rem;
12
+ margin-bottom: 10px;
13
+ color: #333;
14
+ }
15
+
16
+ p {
17
+ color: #666;
18
+ font-size: 1.1rem;
19
+ }
20
+ }
21
+
22
+ .loading, .error, .empty {
23
+ text-align: center;
24
+ padding: 60px 20px;
25
+ color: #666;
26
+
27
+ .spinner {
28
+ width: 40px;
29
+ height: 40px;
30
+ border: 3px solid #f3f3f3;
31
+ border-top: 3px solid #007bff;
32
+ border-radius: 50%;
33
+ animation: spin 1s linear infinite;
34
+ margin: 0 auto 20px;
35
+ }
36
+
37
+ .retryButton {
38
+ margin-top: 20px;
39
+ padding: 10px 20px;
40
+ background: #007bff;
41
+ color: white;
42
+ border: none;
43
+ border-radius: 5px;
44
+ cursor: pointer;
45
+ font-size: 1rem;
46
+
47
+ &:hover {
48
+ background: #0056b3;
49
+ }
50
+ }
51
+ }
52
+
53
+ .providersGrid {
54
+ display: grid;
55
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
56
+ gap: 16px;
57
+ margin-bottom: 20px;
58
+
59
+ // Responsive grid adjustments
60
+ @media (min-width: 768px) {
61
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
62
+ gap: 20px;
63
+ }
64
+
65
+ @media (min-width: 1200px) {
66
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
67
+ }
68
+
69
+ @media (min-width: 1600px) {
70
+ grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
71
+ }
72
+ }
73
+
74
+ .statusOverview {
75
+ margin-top: 40px;
76
+ padding: 20px;
77
+ background: #f8f9fa;
78
+ border-radius: 8px;
79
+
80
+ h3 {
81
+ margin-bottom: 20px;
82
+ color: #333;
83
+ font-size: 1.3rem;
84
+ }
85
+
86
+ .statusList {
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: 10px;
90
+ }
91
+ }
92
+ }
93
+
94
+ @keyframes spin {
95
+ 0% { transform: rotate(0deg); }
96
+ 100% { transform: rotate(360deg); }
97
+ }
98
+
99
+ // Responsive design
100
+ @media (max-width: 768px) {
101
+ .oauthManager {
102
+ padding: 15px;
103
+
104
+ .providersGrid {
105
+ grid-template-columns: 1fr;
106
+ gap: 15px;
107
+ }
108
+
109
+ .header {
110
+ h2 {
111
+ font-size: 1.5rem;
112
+ }
113
+
114
+ p {
115
+ font-size: 1rem;
116
+ }
117
+ }
118
+ }
119
+ }