@rtsee/ngx 0.0.102 → 0.0.104

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.
Files changed (44) hide show
  1. package/dist/ngx/fesm2022/rtsee-ngx.mjs +3002 -1591
  2. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +1 -1
  3. package/dist/ngx/index.d.ts +106 -11
  4. package/dist/ngx/src/lib/theme/common-components/image-uploader.scss +37 -4
  5. package/dist/ngx/src/lib/theme/common-variables.scss +1 -1
  6. package/dist/ngx/src/lib/theme/common.scss +1 -1
  7. package/dist/ngx/src/lib/theme/containers/shell.scss +2 -2
  8. package/dist/ngx/src/lib/theme/forms/variables.scss +1 -2
  9. package/dist/ngx/src/lib/theme/messenger/call-widget.scss +25 -6
  10. package/dist/ngx/src/lib/theme/messenger/chat-input.scss +206 -17
  11. package/dist/ngx/src/lib/theme/messenger/chat-thumbnail.scss +79 -62
  12. package/dist/ngx/src/lib/theme/messenger/chat.scss +38 -23
  13. package/dist/ngx/src/lib/theme/messenger/chats-list.scss +10 -10
  14. package/dist/ngx/src/lib/theme/messenger/create-chat.scss +383 -0
  15. package/dist/ngx/src/lib/theme/messenger/index.scss +7 -0
  16. package/dist/ngx/src/lib/theme/messenger/invite-link.scss +63 -0
  17. package/dist/ngx/src/lib/theme/messenger/message-time-and-status.scss +29 -15
  18. package/dist/ngx/src/lib/theme/messenger/message.scss +36 -21
  19. package/dist/ngx/src/lib/theme/messenger/messages-list.scss +83 -68
  20. package/dist/ngx/src/lib/theme/messenger/messenger-header.scss +257 -77
  21. package/dist/ngx/src/lib/theme/messenger/messenger-search.scss +26 -11
  22. package/dist/ngx/src/lib/theme/messenger/messenger.scss +42 -26
  23. package/dist/ngx/src/lib/theme/messenger/payment-product-snippet.scss +57 -72
  24. package/dist/ngx/src/lib/theme/messenger/payments.scss +31 -105
  25. package/dist/ngx/src/lib/theme/messenger/profile.scss +109 -137
  26. package/dist/ngx/src/lib/theme/messenger/rate-input.scss +37 -15
  27. package/dist/ngx/src/lib/theme/messenger/variables.scss +13 -3
  28. package/dist/ngx/src/lib/theme/rts-common/_index.scss +24 -0
  29. package/dist/ngx/src/lib/theme/rts-common/_variables-colors.scss +133 -0
  30. package/dist/ngx/src/lib/theme/rts-common/_variables-effects.scss +28 -0
  31. package/dist/ngx/src/lib/theme/rts-common/_variables-layout.scss +30 -0
  32. package/dist/ngx/src/lib/theme/rts-common/_variables-spacing.scss +12 -0
  33. package/dist/ngx/src/lib/theme/rts-common/_variables-typography.scss +36 -0
  34. package/dist/ngx/src/lib/theme/rts-common/animations.scss +77 -0
  35. package/dist/ngx/src/lib/theme/rts-common/avatars.scss +76 -0
  36. package/dist/ngx/src/lib/theme/rts-common/buttons.scss +169 -0
  37. package/dist/ngx/src/lib/theme/rts-common/cards.scss +71 -0
  38. package/dist/ngx/src/lib/theme/rts-common/forms.scss +191 -0
  39. package/dist/ngx/src/lib/theme/rts-common/inputs.scss +109 -0
  40. package/dist/ngx/src/lib/theme/rts-common/labels.scss +80 -0
  41. package/dist/ngx/src/lib/theme/rts-common/messages.scss +60 -0
  42. package/dist/ngx/src/lib/theme/rts-common/user-thumbnails.scss +68 -0
  43. package/dist/ngx/src/lib/theme/styles.scss +1 -0
  44. package/package.json +12 -11
@@ -1,112 +1,97 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // MESSENGER — Profile
3
+ // ═══════════════════════════════════════════════════════════════════
1
4
  @import "./variables";
2
- @import "../common-variables";
3
5
 
4
- .rtsee-messenger-profile {
5
- padding: $rts-offset-sm;
6
- background-color: $rts-rates-bg-main;
7
- color: $rts-rates-text-primary;
8
- font-family: "Work Sans", "Inter", sans-serif;
6
+ .rts-messenger-profile {
7
+ padding: $rtsu-space-sm;
8
+ background-color: var(--rts-bg-primary);
9
+ color: var(--rts-text-primary);
10
+ font-family: $rtsu-font-family;
9
11
  min-height: 100%;
10
12
 
11
13
  /* ── GLASS CARD ───────────────────────────────────────────── */
12
14
 
13
- .rtsee-messenger-profile-glass-card {
15
+ .rts-messenger-profile-glass-card {
14
16
  background: linear-gradient(
15
17
  135deg,
16
- $rts-rates-bg-card-start 0%,
17
- $rts-rates-bg-card-end 100%
18
+ var(--rts-card-bg-start) 0%,
19
+ var(--rts-card-bg-end) 100%
18
20
  );
19
- border: 1px solid $rts-rates-border-dim;
20
- border-radius: 16px;
21
- backdrop-filter: blur(12px);
22
- padding: $rts-offset-md;
23
- margin-bottom: $rts-offset-md;
24
- transition:
25
- transform 0.3s ease,
26
- border-color 0.3s ease,
27
- box-shadow 0.3s ease;
28
- animation: rtseeProfileCardSlideUp 0.6s ease-out both;
21
+ border: 1px solid var(--rts-border-dim);
22
+ border-radius: $rtsu-radius-lg;
23
+ backdrop-filter: $rtsu-glass-blur;
24
+ padding: $rtsu-space-md;
25
+ margin-bottom: $rtsu-space-md;
26
+ transition: transform $rtsu-transition-base,
27
+ border-color $rtsu-transition-base,
28
+ box-shadow $rtsu-transition-base;
29
+ animation: rts-fade-up 0.6s ease-out both;
29
30
 
30
31
  &:hover {
31
- border-color: rgba($rts-rates-accent-purple, 0.2);
32
- box-shadow: 0 6px 24px rgba($rts-rates-accent-purple, 0.08);
33
- }
34
- }
35
-
36
- @keyframes rtseeProfileCardSlideUp {
37
- from {
38
- opacity: 0;
39
- transform: translateY(20px);
40
- }
41
- to {
42
- opacity: 1;
43
- transform: translateY(0);
32
+ border-color: rgba(108, 92, 231, 0.2);
33
+ box-shadow: 0 6px 24px rgba(108, 92, 231, 0.08);
44
34
  }
45
35
  }
46
36
 
47
37
  /* ── PROFILE INFO ─────────────────────────────────────────── */
48
38
 
49
- .rtsee-messenger-profile-info {
50
- .rtsee-messenger-profile-info-name {
51
- margin: 0 0 $rts-offset-md;
52
- font-size: 24px;
53
- font-weight: 700;
54
- color: #fff;
39
+ .rts-messenger-profile-info {
40
+ .rts-messenger-profile-info-name {
41
+ margin: 0 0 $rtsu-space-md;
42
+ font-size: $rtsu-font-size-xl;
43
+ font-weight: $rtsu-font-weight-bold;
44
+ color: var(--rts-text-primary);
55
45
  white-space: nowrap;
56
46
  overflow: hidden;
57
47
  text-overflow: ellipsis;
58
- letter-spacing: -0.02em;
59
- line-height: 1.2;
48
+ letter-spacing: $rtsu-tracking-tight;
49
+ line-height: $rtsu-line-height-tight;
60
50
  }
61
51
 
62
- .rtsee-messenger-profile-info-language {
52
+ .rts-messenger-profile-info-language {
63
53
  display: flex;
64
54
  flex-direction: row;
65
55
  align-items: center;
66
56
  justify-content: space-between;
67
- padding: $rts-offset-sm 0;
57
+ padding: $rtsu-space-sm 0;
68
58
 
69
- .rtsee-messenger-profile-info-language-label {
70
- font-size: 14px;
71
- font-weight: 500;
72
- color: $rts-rates-text-secondary;
59
+ .rts-messenger-profile-info-language-label {
60
+ font-size: $rtsu-font-size-base;
61
+ font-weight: $rtsu-font-weight-medium;
62
+ color: var(--rts-text-secondary);
73
63
  margin: 0;
74
64
  }
75
-
76
- .rtsee-messenger-profile-info-language-select {
77
- // PrimeNG select overrides for dark theme
78
- }
79
65
  }
80
66
  }
81
67
 
82
68
  /* ── EDIT PROFILE / MANAGE PLAN BUTTONS ───────────────────── */
83
69
 
84
- .rtsee-messenger-profile-edit-btn, {
85
- padding-top: $rts-offset-sm;
70
+ .rts-messenger-profile-edit-btn {
71
+ padding-top: $rtsu-space-sm;
86
72
  }
87
73
 
88
- .rtsee-messenger-profile-edit-btn,
89
- .rtsee-messenger-profile-manage-plan-btn {
90
- margin-top: $rts-offset-sm;
74
+ .rts-messenger-profile-edit-btn,
75
+ .rts-messenger-profile-manage-plan-btn {
76
+ margin-top: $rtsu-space-sm;
91
77
  text-align: right;
92
78
 
93
79
  ::ng-deep .p-button {
94
80
  width: 100%;
95
81
  background: transparent;
96
- border: 1px solid $rts-rates-border-bright;
97
- color: $rts-rates-text-primary;
98
- border-radius: 10px;
99
- font-weight: 600;
82
+ border: 1px solid var(--rts-border-bright);
83
+ color: var(--rts-text-primary);
84
+ border-radius: $rtsu-radius-sm + 2px;
85
+ font-weight: $rtsu-font-weight-semibold;
100
86
  font-size: 0.88rem;
101
87
  padding: 10px 20px;
102
- transition:
103
- background 0.2s ease,
104
- border-color 0.2s ease,
105
- transform 0.2s ease;
88
+ transition: background $rtsu-transition-fast,
89
+ border-color $rtsu-transition-fast,
90
+ transform $rtsu-transition-fast;
106
91
 
107
92
  &:hover {
108
- background: rgba(255, 255, 255, 0.05);
109
- border-color: rgba($rts-rates-accent-purple, 0.4);
93
+ background: var(--rts-bg-surface-hover);
94
+ border-color: rgba(108, 92, 231, 0.4);
110
95
  transform: translateY(-1px);
111
96
  }
112
97
 
@@ -118,14 +103,14 @@
118
103
 
119
104
  /* ── PLAN STATUS ──────────────────────────────────────────── */
120
105
 
121
- .rtsee-messenger-profile-plan-status {
122
- margin-bottom: $rts-offset-sm;
106
+ .rts-messenger-profile-plan-status {
107
+ margin-bottom: $rtsu-space-sm;
123
108
  }
124
109
 
125
110
  /* ── SUBSCRIBE BUTTON — PRIMARY CTA ───────────────────────── */
126
111
 
127
- .rtsee-messenger-profile-subscribe-btn {
128
- animation: rtseeProfileCardSlideUp 0.7s ease-out both;
112
+ .rts-messenger-profile-subscribe-btn {
113
+ animation: rts-fade-up 0.7s ease-out both;
129
114
  animation-delay: 0.1s;
130
115
  text-align: right;
131
116
 
@@ -133,20 +118,19 @@
133
118
  width: 100%;
134
119
  background: linear-gradient(
135
120
  135deg,
136
- $rts-rates-accent-purple 0%,
137
- $rts-rates-accent-purple-light 100%
121
+ $rtsu-accent-purple 0%,
122
+ $rtsu-accent-purple-light 100%
138
123
  );
139
124
  border: none;
140
125
  color: #fff;
141
- border-radius: 12px;
142
- font-weight: 700;
126
+ border-radius: $rtsu-radius-md;
127
+ font-weight: $rtsu-font-weight-bold;
143
128
  font-size: 1rem;
144
129
  padding: 14px 28px;
145
- letter-spacing: 0.02em;
146
- box-shadow: 0 4px 20px rgba($rts-rates-accent-purple, 0.35);
147
- transition:
148
- transform 0.25s ease,
149
- box-shadow 0.25s ease;
130
+ letter-spacing: $rtsu-tracking-wide;
131
+ box-shadow: $rtsu-shadow-accent-md;
132
+ transition: transform $rtsu-transition-base,
133
+ box-shadow $rtsu-transition-base;
150
134
  position: relative;
151
135
  overflow: hidden;
152
136
 
@@ -160,59 +144,49 @@
160
144
  rgba(255, 255, 255, 0.15) 50%,
161
145
  transparent 60%
162
146
  );
163
- animation: rtseeSubscribeShimmer 3s ease-in-out infinite;
147
+ animation: rts-shimmer 3s ease-in-out infinite;
164
148
  }
165
149
 
166
150
  &:hover {
167
151
  transform: translateY(-2px);
168
- box-shadow: 0 8px 28px rgba($rts-rates-accent-purple, 0.45);
152
+ box-shadow: $rtsu-shadow-accent-lg;
169
153
  }
170
154
 
171
155
  &:active {
172
156
  transform: translateY(0);
173
- box-shadow: 0 4px 16px rgba($rts-rates-accent-purple, 0.3);
157
+ box-shadow: $rtsu-shadow-accent-sm;
174
158
  }
175
159
  }
176
160
  }
177
161
 
178
- @keyframes rtseeSubscribeShimmer {
179
- 0% {
180
- transform: translateX(-100%);
181
- }
182
- 100% {
183
- transform: translateX(100%);
184
- }
185
- }
186
-
187
162
  /* ── CALL/VIDEO ACTIONS (other profile) ───────────────────── */
188
163
 
189
- .rtsee-messenger-profile-actions {
164
+ .rts-messenger-profile-actions {
190
165
  list-style-type: none;
191
166
  padding-left: 0;
192
- margin: 0 0 $rts-offset-md 0;
193
- gap: $rts-offset-md;
167
+ margin: 0 0 $rtsu-space-md 0;
168
+ gap: $rtsu-space-md;
194
169
  display: flex;
195
170
  flex-direction: row;
196
171
  align-items: center;
197
172
  justify-content: center;
198
173
 
199
- .rtsee-messenger-profile-actions-item {
174
+ .rts-messenger-profile-actions-item {
200
175
  ::ng-deep .p-button {
201
176
  background: rgba(255, 255, 255, 0.06);
202
- border: 1px solid $rts-rates-border-med;
203
- color: $rts-rates-accent-purple-light;
177
+ border: 1px solid var(--rts-border-med);
178
+ color: var(--rts-accent-light, #a29bfe);
204
179
  border-radius: 50%;
205
180
  width: 52px;
206
181
  height: 52px;
207
- transition:
208
- background 0.2s ease,
209
- transform 0.2s ease,
210
- box-shadow 0.2s ease;
182
+ transition: background $rtsu-transition-fast,
183
+ transform $rtsu-transition-fast,
184
+ box-shadow $rtsu-transition-fast;
211
185
 
212
186
  &:hover {
213
- background: rgba($rts-rates-accent-purple, 0.15);
187
+ background: rgba(108, 92, 231, 0.15);
214
188
  transform: translateY(-2px);
215
- box-shadow: 0 4px 16px rgba($rts-rates-accent-purple, 0.2);
189
+ box-shadow: 0 4px 16px rgba(108, 92, 231, 0.2);
216
190
  }
217
191
 
218
192
  &:active {
@@ -224,29 +198,28 @@
224
198
 
225
199
  /* ── LOGOUT BUTTON — DANGER GHOST ─────────────────────────── */
226
200
 
227
- .rtsee-messenger-profile-logout-btn {
228
- margin-top: $rts-offset-sm;
229
- animation: rtseeProfileCardSlideUp 0.7s ease-out both;
201
+ .rts-messenger-profile-logout-btn {
202
+ margin-top: $rtsu-space-sm;
203
+ animation: rts-fade-up 0.7s ease-out both;
230
204
  animation-delay: 0.15s;
231
205
  text-align: right;
232
206
 
233
207
  ::ng-deep .p-button {
234
208
  width: 100%;
235
- background: $rts-rates-danger-bg;
236
- border: 1px solid $rts-rates-danger-border;
237
- color: $rts-rates-danger;
238
- border-radius: 10px;
239
- font-weight: 600;
209
+ background: var(--rts-danger-bg);
210
+ border: 1px solid var(--rts-danger-border);
211
+ color: var(--rts-danger, #e84118);
212
+ border-radius: $rtsu-radius-sm + 2px;
213
+ font-weight: $rtsu-font-weight-semibold;
240
214
  font-size: 0.88rem;
241
215
  padding: 10px 20px;
242
- transition:
243
- background 0.2s ease,
244
- border-color 0.2s ease,
245
- transform 0.2s ease;
216
+ transition: background $rtsu-transition-fast,
217
+ border-color $rtsu-transition-fast,
218
+ transform $rtsu-transition-fast;
246
219
 
247
220
  &:hover {
248
- background: $rts-rates-danger-hover-bg;
249
- border-color: $rts-rates-danger-hover-border;
221
+ background: rgba(232, 65, 24, 0.2);
222
+ border-color: rgba(232, 65, 24, 0.4);
250
223
  transform: translateY(-1px);
251
224
  }
252
225
 
@@ -258,30 +231,29 @@
258
231
 
259
232
  /* ── AUTH SECTION (ANONYMOUS USERS) ───────────────────────── */
260
233
 
261
- .rtsee-messenger-profile-auth {
262
- .rtsee-messenger-profile-anon-message {
263
- margin-bottom: $rts-offset-md;
234
+ .rts-messenger-profile-auth {
235
+ .rts-messenger-profile-anon-message {
236
+ margin-bottom: $rtsu-space-md;
264
237
  }
265
238
 
266
- .rtsee-messenger-profile-auth-buttons {
239
+ .rts-messenger-profile-auth-buttons {
267
240
  display: flex;
268
241
  flex-direction: row;
269
242
  align-items: center;
270
243
  justify-content: center;
271
- gap: $rts-offset-md;
272
- margin-bottom: $rts-offset-md;
244
+ gap: $rtsu-space-md;
245
+ margin-bottom: $rtsu-space-md;
273
246
 
274
- .rtsee-messenger-profile-auth-button {
247
+ .rts-messenger-profile-auth-button {
275
248
  flex: 1;
276
249
 
277
250
  ::ng-deep .p-button {
278
251
  width: 100%;
279
- border-radius: 10px;
280
- font-weight: 600;
252
+ border-radius: $rtsu-radius-sm + 2px;
253
+ font-weight: $rtsu-font-weight-semibold;
281
254
  padding: 10px 20px;
282
- transition:
283
- transform 0.2s ease,
284
- box-shadow 0.2s ease;
255
+ transition: transform $rtsu-transition-fast,
256
+ box-shadow $rtsu-transition-fast;
285
257
 
286
258
  &:hover {
287
259
  transform: translateY(-1px);
@@ -296,34 +268,34 @@
296
268
  &:first-child ::ng-deep .p-button {
297
269
  background: linear-gradient(
298
270
  135deg,
299
- $rts-rates-accent-purple 0%,
300
- $rts-rates-accent-purple-light 100%
271
+ $rtsu-accent-purple 0%,
272
+ $rtsu-accent-purple-light 100%
301
273
  );
302
274
  border: none;
303
275
  color: #fff;
304
- box-shadow: 0 4px 16px rgba($rts-rates-accent-purple, 0.3);
276
+ box-shadow: $rtsu-shadow-accent-md;
305
277
 
306
278
  &:hover {
307
- box-shadow: 0 6px 20px rgba($rts-rates-accent-purple, 0.4);
279
+ box-shadow: $rtsu-shadow-accent-lg;
308
280
  }
309
281
  }
310
282
 
311
283
  // Sign In — secondary ghost
312
284
  &:last-child ::ng-deep .p-button {
313
285
  background: transparent;
314
- border: 1px solid $rts-rates-border-bright;
315
- color: $rts-rates-text-primary;
286
+ border: 1px solid var(--rts-border-bright);
287
+ color: var(--rts-text-primary);
316
288
 
317
289
  &:hover {
318
- background: rgba(255, 255, 255, 0.05);
319
- border-color: rgba($rts-rates-accent-purple, 0.4);
290
+ background: var(--rts-bg-surface-hover);
291
+ border-color: rgba(108, 92, 231, 0.4);
320
292
  }
321
293
  }
322
294
  }
323
295
  }
324
296
  }
325
297
 
326
- @media screen and (min-width: $rts-break-md) {
298
+ @media screen and (min-width: $rtsu-break-md) {
327
299
  max-width: 560px;
328
300
  margin: 0 auto;
329
301
  }
@@ -1,31 +1,53 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // MESSENGER — Rate Input
3
+ // ═══════════════════════════════════════════════════════════════════
1
4
  @import "./variables";
2
- @import "../common-variables";
3
5
 
4
- .rtsee-rate-input {
5
- padding: $rts-offset-sm;
6
+ .rts-rate-input {
7
+ padding: $rtsu-space-sm;
6
8
 
7
- .rtsee-rate-select-container {
8
- padding: $rts-offset-sm;
9
+ .rts-rate-select-container {
10
+ padding: $rtsu-space-sm;
9
11
 
10
- .rtsee-rating {
11
- gap: $rts-offset-md;
12
- padding: $rts-offset-sm;
12
+ .rts-rating {
13
+ gap: $rtsu-space-md;
14
+ padding: $rtsu-space-sm;
15
+ display: flex;
16
+ align-items: center;
13
17
 
14
- .rtsee-rating-star {
18
+ .rts-rating-star {
15
19
  font-size: 24px;
20
+ cursor: pointer;
21
+ transition: transform $rtsu-transition-fast,
22
+ color $rtsu-transition-fast;
23
+
24
+ &:hover {
25
+ transform: scale(1.2);
26
+ }
16
27
  }
17
28
 
18
- .rtsee-rating-number {
19
- font-size: 13px;
29
+ .rts-rating-number {
30
+ font-size: $rtsu-font-size-sm + 1px;
31
+ color: var(--rts-text-secondary);
20
32
  }
21
33
  }
22
34
  }
23
35
 
24
-
25
-
26
- .rtsee-rate-form-container {
27
- .rtsee-rate-comment-field {
36
+ .rts-rate-form-container {
37
+ .rts-rate-comment-field {
28
38
  width: 100%;
39
+ background-color: var(--rts-bg-surface);
40
+ color: var(--rts-text-primary);
41
+ border: 1px solid var(--rts-border-med);
42
+ border-radius: $rtsu-radius-sm;
43
+ padding: $rtsu-space-sm;
44
+ font-family: $rtsu-font-family;
45
+ font-size: $rtsu-font-size-base;
46
+ outline: none;
47
+
48
+ &:focus {
49
+ border-color: var(--rts-accent, #6c5ce7);
50
+ }
29
51
  }
30
52
  }
31
53
  }
@@ -1,4 +1,14 @@
1
- @import "../common-variables";
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // MESSENGER — Local Variables
3
+ // Imports the rts-common system and defines messenger-specific tokens
4
+ // ═══════════════════════════════════════════════════════════════════
2
5
 
3
- $rts-messenger-header-height: $rts-offset-sm + $rts-user-avatar-d-sm + $rts-offset-sm;
4
- $rtsee-chat-input-height: 40px;
6
+ @import "../rts-common/variables-colors";
7
+ @import "../rts-common/variables-spacing";
8
+ @import "../rts-common/variables-typography";
9
+ @import "../rts-common/variables-layout";
10
+ @import "../rts-common/variables-effects";
11
+
12
+ // Messenger-specific derived values
13
+ $rts-messenger-header-height: $rtsu-messenger-header-height;
14
+ $rts-chat-input-height: $rtsu-chat-input-height;
@@ -0,0 +1,24 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — Unified Design System Index
3
+ // Import this file to get all variables, tokens, and component classes.
4
+ // ═══════════════════════════════════════════════════════════════════
5
+
6
+ // ── Variables (no CSS output, just tokens) ──
7
+ @import "./variables-colors";
8
+ @import "./variables-spacing";
9
+ @import "./variables-typography";
10
+ @import "./variables-layout";
11
+ @import "./variables-effects";
12
+
13
+ // ── Shared Animations ──
14
+ @import "./animations";
15
+
16
+ // ── Reusable Component Classes ──
17
+ @import "./avatars";
18
+ @import "./labels";
19
+ @import "./user-thumbnails";
20
+ @import "./messages";
21
+ @import "./inputs";
22
+ @import "./forms";
23
+ @import "./buttons";
24
+ @import "./cards";
@@ -0,0 +1,133 @@
1
+ // ═══════════════════════════════════════════════════════════════════
2
+ // RTS-COMMON — Unified Color Variables
3
+ // All vars prefixed $rtsu- (unified). Comments reference originals.
4
+ // ═══════════════════════════════════════════════════════════════════
5
+
6
+ // ── SCSS Reference Tokens (dark-theme defaults) ─────────────────
7
+
8
+ $rtsu-bg-primary: #0e0e10; // original: $ai-background-color
9
+ $rtsu-bg-surface: #1a1a1e; // original: $ai-panel-background-color
10
+ $rtsu-bg-surface-elevated: #242428;
11
+ $rtsu-bg-surface-hover: rgba(255, 255, 255, 0.05);
12
+ $rtsu-bg-gradient: linear-gradient(135deg, #1b0533 0%, #0e0e10 60%, #0a1628 100%);
13
+ // original: $ai-background-gradient
14
+
15
+ $rtsu-text-primary: #e5e5e7; // original: $ai-text-color-primary
16
+ $rtsu-text-secondary: #8e8e93; // original: $ai-text-color-secondary
17
+ $rtsu-text-muted: #6a6a7a; // original: $rts-rates-text-muted
18
+ $rtsu-text-inverse: #1a1a2e;
19
+
20
+ $rtsu-accent-purple: #6c5ce7; // original: $rts-rates-accent-purple
21
+ $rtsu-accent-purple-light: #a29bfe; // original: $rts-rates-accent-purple-light
22
+ $rtsu-accent-blue: #3b82f7; // original: $rts-new-primary-color
23
+ $rtsu-accent-gold: #f9ca24; // original: $rts-rates-accent-gold
24
+ $rtsu-accent-highlight: #bf8bff; // original: $ai-icon-highlight-color
25
+ $rtsu-accent-highlight-dim: rgba(191, 139, 255, 0.15);
26
+ // original: $ai-icon-highlight-color-dim
27
+
28
+ $rtsu-border-dim: rgba(255, 255, 255, 0.05);
29
+ $rtsu-border-med: rgba(255, 255, 255, 0.08);
30
+ $rtsu-border-bright: rgba(255, 255, 255, 0.15);
31
+
32
+ $rtsu-danger: #e84118; // original: $rts-rates-danger
33
+ $rtsu-danger-bg: rgba(232, 65, 24, 0.05);
34
+ $rtsu-danger-border: rgba(232, 65, 24, 0.1);
35
+ $rtsu-danger-hover-bg: rgba(232, 65, 24, 0.2);
36
+ $rtsu-danger-hover-border: rgba(232, 65, 24, 0.4);
37
+
38
+ $rtsu-success: #2ecc71; // original: $rts-rates-success
39
+ $rtsu-warning: #f9ca24; // original: $rts-rates-accent-gold
40
+ $rtsu-live-color: #91d8bb; // original: $rts-live-color
41
+
42
+ // ── Card Background Gradients ───────────────────────────────────
43
+
44
+ $rtsu-card-bg-start: rgba(28, 28, 40, 0.8); // original: $rts-rates-bg-card-start
45
+ $rtsu-card-bg-end: rgba(20, 20, 30, 0.9); // original: $rts-rates-bg-card-end
46
+
47
+
48
+ // ═══════════════════════════════════════════════════════════════════
49
+ // CSS Custom Property Theme Maps
50
+ // Toggle by adding .rts-theme-dark / .rts-theme-light on a parent
51
+ // ═══════════════════════════════════════════════════════════════════
52
+
53
+ .rts-theme-dark {
54
+ // ── Backgrounds ──
55
+ --rts-bg-primary: #{$rtsu-bg-primary};
56
+ --rts-bg-surface: #{$rtsu-bg-surface};
57
+ --rts-bg-surface-elevated: #{$rtsu-bg-surface-elevated};
58
+ --rts-bg-surface-hover: #{$rtsu-bg-surface-hover};
59
+ --rts-bg-gradient: #{$rtsu-bg-gradient};
60
+
61
+ // ── Text ──
62
+ --rts-text-primary: #{$rtsu-text-primary};
63
+ --rts-text-secondary: #{$rtsu-text-secondary};
64
+ --rts-text-muted: #{$rtsu-text-muted};
65
+
66
+ // ── Accent ──
67
+ --rts-accent: #{$rtsu-accent-purple};
68
+ --rts-accent-light: #{$rtsu-accent-purple-light};
69
+ --rts-accent-blue: #{$rtsu-accent-blue};
70
+ --rts-accent-highlight: #{$rtsu-accent-highlight};
71
+ --rts-accent-highlight-dim: #{$rtsu-accent-highlight-dim};
72
+
73
+ // ── Borders ──
74
+ --rts-border-dim: #{$rtsu-border-dim};
75
+ --rts-border-med: #{$rtsu-border-med};
76
+ --rts-border-bright: #{$rtsu-border-bright};
77
+
78
+ // ── Card Gradients ──
79
+ --rts-card-bg-start: #{$rtsu-card-bg-start};
80
+ --rts-card-bg-end: #{$rtsu-card-bg-end};
81
+
82
+ // ── Semantic ──
83
+ --rts-danger: #{$rtsu-danger};
84
+ --rts-danger-bg: #{$rtsu-danger-bg};
85
+ --rts-danger-border: #{$rtsu-danger-border};
86
+ --rts-success: #{$rtsu-success};
87
+ --rts-warning: #{$rtsu-warning};
88
+
89
+ // ── Misc ──
90
+ --rts-shadow-rgb: 0, 0, 0;
91
+ --rts-glass-tint: rgba(255, 255, 255, 0.03);
92
+ }
93
+
94
+ .rts-theme-light {
95
+ // ── Backgrounds ──
96
+ --rts-bg-primary: #f8f9fa;
97
+ --rts-bg-surface: #ffffff;
98
+ --rts-bg-surface-elevated: #f0f0f4;
99
+ --rts-bg-surface-hover: rgba(0, 0, 0, 0.04);
100
+ --rts-bg-gradient: linear-gradient(135deg, #f0ecff 0%, #f8f9fa 60%, #edf4ff 100%);
101
+
102
+ // ── Text ──
103
+ --rts-text-primary: #1a1a2e;
104
+ --rts-text-secondary: #555570;
105
+ --rts-text-muted: #8888a0;
106
+
107
+ // ── Accent ──
108
+ --rts-accent: #{$rtsu-accent-purple};
109
+ --rts-accent-light: #{$rtsu-accent-purple-light};
110
+ --rts-accent-blue: #{$rtsu-accent-blue};
111
+ --rts-accent-highlight: #{$rtsu-accent-highlight};
112
+ --rts-accent-highlight-dim: rgba(191, 139, 255, 0.1);
113
+
114
+ // ── Borders ──
115
+ --rts-border-dim: rgba(0, 0, 0, 0.06);
116
+ --rts-border-med: rgba(0, 0, 0, 0.1);
117
+ --rts-border-bright: rgba(0, 0, 0, 0.15);
118
+
119
+ // ── Card Gradients ──
120
+ --rts-card-bg-start: rgba(255, 255, 255, 0.95);
121
+ --rts-card-bg-end: rgba(248, 248, 255, 0.98);
122
+
123
+ // ── Semantic ──
124
+ --rts-danger: #{$rtsu-danger};
125
+ --rts-danger-bg: rgba(232, 65, 24, 0.06);
126
+ --rts-danger-border: rgba(232, 65, 24, 0.15);
127
+ --rts-success: #{$rtsu-success};
128
+ --rts-warning: #{$rtsu-warning};
129
+
130
+ // ── Misc ──
131
+ --rts-shadow-rgb: 0, 0, 0;
132
+ --rts-glass-tint: rgba(0, 0, 0, 0.02);
133
+ }