finsignal-feed-explore 3.43.2 → 3.43.3

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/dist/newsfeed.css CHANGED
@@ -1,8 +1,5 @@
1
1
  @charset "UTF-8";
2
2
  /* Import global variables */
3
- /* Import component styles */
4
- @import './components/FilterButton.css';
5
- @import './components/EmptyState.css';
6
3
  /* CSS Variables for theming - Global for all components */
7
4
  :root {
8
5
  /* Light theme colors */
@@ -15,7 +12,7 @@
15
12
  --news-hover-overlay: rgba(0, 0, 0, 0.04);
16
13
  --news-ai-summary-bg: rgba(120, 99, 246, 0.12);
17
14
  --news-ai-summary-text: rgba(4, 4, 5, 0.88);
18
- --news-stock-card-bg: rgba(4, 4, 5, 0.04);
15
+ --news-stock-card-bg: rgba(4, 4, 5, 0.06);
19
16
  --news-stock-positive: #10b981;
20
17
  --news-stock-negative: #ef4444;
21
18
  --news-action-hover: transparent;
@@ -60,170 +57,361 @@
60
57
  --search-clear-color: rgba(255, 255, 255, 0.32);
61
58
  }
62
59
 
63
- .news-feed {
60
+ /* Base styles */
61
+ .news-snippet {
62
+ border-radius: 0;
63
+ padding: 12px;
64
+ display: flex;
65
+ flex-direction: column;
66
+ gap: 12px;
67
+ cursor: pointer;
64
68
  position: relative;
65
- width: 100%;
66
- height: 100%;
67
- max-width: 600px;
68
- margin: 0 auto;
69
+ background-color: var(--base-bg);
70
+ /* Hover overlay effect */
71
+ }
72
+ .news-snippet::before {
73
+ content: "";
74
+ position: absolute;
75
+ top: 0;
76
+ left: 0;
77
+ right: 0;
78
+ bottom: 0;
79
+ background-color: transparent;
80
+ pointer-events: none;
81
+ }
82
+ .news-snippet:hover::before {
83
+ background-color: var(--news-hover-overlay);
84
+ }
85
+ .news-snippet[draggable=true]:active {
86
+ opacity: 0.5;
87
+ cursor: grabbing;
88
+ }
89
+
90
+ .news-snippet__content {
91
+ display: flex;
92
+ flex-direction: column;
93
+ gap: 8px;
94
+ padding: 4px;
95
+ }
96
+
97
+ /* Header: дата/время слева, категория справа */
98
+ .news-snippet__header {
99
+ display: flex;
100
+ align-items: center;
101
+ justify-content: space-between;
102
+ margin-bottom: 4px;
103
+ }
104
+
105
+ .news-snippet__timestamp {
106
+ display: flex;
107
+ align-items: center;
108
+ gap: 4px;
109
+ }
110
+
111
+ .news-snippet__date,
112
+ .news-snippet__time,
113
+ .news-snippet__divider {
114
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
115
+ font-size: 12px;
116
+ font-weight: 400;
117
+ line-height: 16px;
118
+ letter-spacing: -0.2px;
119
+ color: var(--news-text-secondary);
120
+ overflow: hidden;
121
+ text-overflow: ellipsis;
122
+ white-space: nowrap;
123
+ }
124
+
125
+ .news-snippet__time-icon {
126
+ width: 12px;
127
+ height: 12px;
128
+ flex-shrink: 0;
129
+ opacity: 0.56;
130
+ }
131
+ .news-snippet__time-icon path {
132
+ stroke: var(--news-text-primary);
133
+ }
134
+
135
+ .news-snippet__time-text {
136
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
137
+ font-size: 12px;
138
+ font-weight: 400;
139
+ line-height: 16px;
140
+ letter-spacing: -0.2px;
141
+ color: var(--news-text-secondary);
142
+ overflow: hidden;
143
+ text-overflow: ellipsis;
144
+ white-space: nowrap;
145
+ }
146
+
147
+ .news-snippet__category {
148
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
149
+ font-size: 12px;
150
+ font-weight: 500;
151
+ line-height: 16px;
152
+ letter-spacing: -0.2px;
153
+ text-align: right;
154
+ color: var(--news-text-secondary);
155
+ overflow: hidden;
156
+ text-overflow: ellipsis;
157
+ white-space: nowrap;
158
+ }
159
+
160
+ /* Title */
161
+ .news-snippet__title {
69
162
  font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
163
+ font-size: 16px;
164
+ font-weight: 600;
165
+ line-height: 20px;
166
+ letter-spacing: 0em;
167
+ margin: 0;
168
+ color: var(--news-text-primary);
70
169
  overflow: hidden;
170
+ text-overflow: ellipsis;
171
+ white-space: nowrap;
71
172
  }
72
173
 
73
- .news-feed__header {
174
+ /* Source */
175
+ .news-snippet__source {
74
176
  display: flex;
75
- justify-content: flex-end;
76
177
  align-items: center;
77
178
  gap: 8px;
78
- padding: 16px;
79
- margin-bottom: 8px;
80
179
  }
81
180
 
82
- .news-feed__filter-btn {
83
- position: relative;
181
+ .news-snippet__source-logo {
182
+ width: 16px;
183
+ height: 16px;
184
+ border-radius: 50%;
185
+ object-fit: cover;
186
+ flex-shrink: 0;
187
+ }
188
+ .news-snippet__source-logo--fallback {
84
189
  display: flex;
85
190
  align-items: center;
86
191
  justify-content: center;
87
- width: 40px;
88
- height: 40px;
89
- border: none;
90
- background: transparent;
91
- border-radius: 50%;
92
- cursor: pointer;
192
+ background: var(--news-text-tertiary);
193
+ color: var(--base-bg);
194
+ font-size: 10px;
195
+ font-weight: 600;
93
196
  }
94
- .news-feed__filter-btn:hover {
95
- background: rgba(4, 4, 5, 0.06);
197
+
198
+ .news-snippet__source-name {
199
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
200
+ font-size: 12px;
201
+ font-weight: 400;
202
+ line-height: 14px;
203
+ letter-spacing: 0em;
204
+ color: var(--news-text-secondary);
96
205
  }
97
- .news-feed__filter-btn--active {
98
- background: rgba(120, 99, 246, 0.12);
206
+
207
+ /* Content Text */
208
+ .news-snippet__content-text {
209
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
210
+ font-size: 14px;
211
+ font-weight: 400;
212
+ line-height: 18px;
213
+ letter-spacing: 0em;
214
+ margin: 0;
215
+ color: var(--news-text-primary);
216
+ display: -webkit-box;
217
+ -webkit-line-clamp: 3;
218
+ -webkit-box-orient: vertical;
219
+ overflow: hidden;
99
220
  }
100
221
 
101
- .news-feed__filter-badge {
102
- position: absolute;
103
- top: 0;
104
- right: 0;
105
- min-width: 16px;
222
+ /* Cover Image */
223
+ .news-snippet__cover {
224
+ width: 100%;
225
+ height: auto;
226
+ max-height: 200px;
227
+ object-fit: cover;
228
+ border-radius: 8px;
229
+ }
230
+
231
+ /* AI Summary */
232
+ .news-snippet__ai-summary {
233
+ display: flex;
234
+ gap: 8px;
235
+ padding: 8px;
236
+ border-radius: 4px;
237
+ background-color: var(--news-ai-summary-bg);
238
+ }
239
+
240
+ .news-snippet__ai-summary-icon {
241
+ flex-shrink: 0;
242
+ width: 16px;
106
243
  height: 16px;
107
- padding: 0 4px;
108
244
  display: flex;
109
245
  align-items: center;
110
246
  justify-content: center;
111
- background: #ef4444;
112
- border-radius: 8px;
113
- font-size: 10px;
114
- font-weight: 700;
115
- line-height: 12px;
116
- color: #ffffff;
117
247
  }
118
248
 
119
- .news-feed__list {
120
- position: absolute;
121
- top: 0;
122
- left: 0;
123
- right: 0;
124
- bottom: 0;
125
- padding: 0;
126
- overflow-y: auto;
249
+ .news-snippet__ai-summary-text {
250
+ flex: 1;
251
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
252
+ font-size: 12px;
253
+ font-weight: 400;
254
+ line-height: 16px;
255
+ letter-spacing: 0em;
256
+ margin: 0;
257
+ color: var(--news-ai-summary-text);
258
+ }
259
+
260
+ /* Stock Cards */
261
+ .news-snippet__stocks {
127
262
  display: flex;
128
263
  flex-direction: column;
129
- gap: 0;
130
- background-color: var(--base-bg);
131
- scrollbar-width: none;
132
- -ms-overflow-style: none;
133
- }
134
- .news-feed__list::-webkit-scrollbar {
135
- display: none;
264
+ gap: 8px;
136
265
  }
137
- .news-feed__list--hidden {
138
- visibility: hidden;
139
- pointer-events: none;
266
+
267
+ .news-snippet__stock-card {
268
+ display: flex;
269
+ align-items: center;
270
+ justify-content: space-between;
271
+ width: 100%;
272
+ padding: 4px 8px 4px 4px;
273
+ border-radius: 4px;
274
+ background: var(--news-stock-card-bg);
140
275
  }
141
276
 
142
- .news-feed__filters-container {
143
- position: absolute;
144
- top: 0;
145
- left: 0;
146
- right: 0;
147
- bottom: 0;
277
+ .news-snippet__stock-left {
148
278
  display: flex;
149
- flex-direction: column;
150
- overflow: hidden;
279
+ align-items: center;
280
+ gap: 8px;
151
281
  }
152
- .news-feed__filters-container--hidden {
153
- visibility: hidden;
154
- pointer-events: none;
282
+
283
+ .news-snippet__stock-logo {
284
+ width: 20px;
285
+ height: 20px;
286
+ border-radius: 50%;
287
+ object-fit: cover;
288
+ flex-shrink: 0;
289
+ }
290
+ .news-snippet__stock-logo--fallback {
291
+ display: flex;
292
+ align-items: center;
293
+ justify-content: center;
294
+ background: var(--news-text-tertiary);
295
+ color: var(--base-bg);
296
+ font-size: 10px;
297
+ font-weight: 600;
155
298
  }
156
299
 
157
- .news-feed__error {
158
- padding: 24px;
159
- text-align: center;
160
- color: #ef4444;
161
- background: rgba(239, 68, 68, 0.1);
162
- border-radius: 12px;
163
- margin: 0 16px 16px 16px;
164
- }
165
- .news-feed__error small {
166
- display: block;
167
- margin-top: 8px;
168
- font-size: 13px;
169
- color: rgba(239, 68, 68, 0.7);
170
- }
171
-
172
- .news-feed__mock-indicator {
173
- padding: 12px 16px;
174
- text-align: center;
175
- color: rgba(4, 4, 5, 0.56);
176
- background: rgba(120, 99, 246, 0.08);
177
- border-radius: 12px;
178
- margin: 0 16px;
179
- margin-bottom: 16px;
300
+ .news-snippet__stock-symbol {
301
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
180
302
  font-size: 14px;
181
- line-height: 20px;
303
+ font-weight: 600;
304
+ line-height: 18px;
305
+ letter-spacing: 0em;
306
+ color: var(--news-text-primary);
182
307
  }
183
308
 
184
- .news-feed__loading {
309
+ .news-snippet__stock-right {
185
310
  display: flex;
186
- justify-content: center;
187
- padding: 24px;
311
+ align-items: center;
312
+ gap: 8px;
188
313
  }
189
314
 
190
- .news-feed__spinner {
191
- width: 32px;
192
- height: 32px;
193
- border: 3px solid rgba(4, 4, 5, 0.1);
194
- border-top-color: #7863f6;
195
- border-radius: 50%;
196
- animation: spin 0.8s linear infinite;
315
+ .news-snippet__stock-change {
316
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
317
+ font-size: 12px;
318
+ font-weight: 600;
319
+ line-height: 14px;
320
+ letter-spacing: 0em;
321
+ }
322
+ .news-snippet__stock-change--positive {
323
+ color: var(--news-stock-positive);
324
+ }
325
+ .news-snippet__stock-change--negative {
326
+ color: var(--news-stock-negative);
197
327
  }
198
328
 
199
- @keyframes spin {
200
- to {
201
- transform: rotate(360deg);
202
- }
329
+ .news-snippet__stock-price {
330
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
331
+ font-size: 14px;
332
+ font-weight: 400;
333
+ line-height: 18px;
334
+ letter-spacing: 0em;
335
+ color: var(--news-text-secondary);
203
336
  }
204
- .news-feed__scroll-trigger {
205
- height: 20px;
337
+
338
+ /* Tags */
339
+ .news-snippet__tags {
340
+ display: flex;
341
+ flex-wrap: wrap;
342
+ gap: 8px;
206
343
  }
207
344
 
208
- .news-feed__empty {
209
- padding: 48px 24px;
210
- text-align: center;
211
- color: rgba(4, 4, 5, 0.56);
212
- font-size: 16px;
213
- line-height: 24px;
345
+ .news-snippet__tag {
346
+ padding: 4px 8px;
347
+ border-radius: 4px;
348
+ font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
349
+ font-size: 12px;
350
+ font-weight: 500;
351
+ line-height: 14px;
352
+ letter-spacing: 0em;
353
+ background: rgba(120, 99, 246, 0.12);
354
+ color: #7863f6;
214
355
  }
215
356
 
216
- /* ── Green brand ── */
217
- [data-brand=green] .news-feed__spinner {
218
- border-top-color: #A9DC4D;
357
+ /* Action Bar */
358
+ .news-snippet__actions {
359
+ display: flex;
360
+ justify-content: flex-end;
361
+ align-items: center;
362
+ gap: 4px;
363
+ }
364
+
365
+ .news-snippet__action-btn {
366
+ display: flex;
367
+ align-items: center;
368
+ justify-content: center;
369
+ width: 24px;
370
+ height: 24px;
371
+ border: none;
372
+ background: transparent;
373
+ border-radius: 50%;
374
+ cursor: pointer;
375
+ padding: 4px;
376
+ }
377
+ .news-snippet__action-btn:hover {
378
+ background: transparent;
379
+ }
380
+ .news-snippet__action-btn:hover svg path {
381
+ fill: var(--news-action-icon-hover-color);
382
+ fill-opacity: 1;
383
+ }
384
+ .news-snippet__action-btn--active {
385
+ background: transparent;
386
+ }
387
+ .news-snippet__action-btn--active svg path {
388
+ fill: var(--news-action-icon-hover-color);
389
+ fill-opacity: 1;
219
390
  }
220
391
 
221
- [data-brand=green] .news-feed__filter-btn--active {
392
+ /* ── Green brand ── */
393
+ [data-brand=green] .news-snippet__tag {
222
394
  background: rgba(169, 220, 77, 0.12);
395
+ color: #A9DC4D;
223
396
  }
224
397
 
225
- [data-brand=green] .news-feed__mock-indicator {
226
- background: rgba(169, 220, 77, 0.08);
398
+ [data-brand=green] .news-snippet.dark .news-snippet__tag {
399
+ background: rgba(184, 227, 102, 0.12);
400
+ color: #B8E366;
227
401
  }
228
402
 
229
- /*# sourceMappingURL=FeedList.css.map */
403
+ [data-brand=green] .news-snippet__ai-summary-icon path {
404
+ fill: #A9DC4D;
405
+ }
406
+
407
+ [data-brand=green] .news-snippet.dark .news-snippet__ai-summary-icon path {
408
+ fill: #B8E366;
409
+ }
410
+
411
+ [data-brand=green] .news-snippet {
412
+ --news-ai-summary-bg: rgba(169, 220, 77, 0.12);
413
+ }
414
+
415
+ [data-brand=green] .news-snippet.dark {
416
+ --news-ai-summary-bg: rgba(184, 227, 102, 0.12);
417
+ }
@@ -10,7 +10,7 @@
10
10
  --news-hover-overlay: rgba(0, 0, 0, 0.04);
11
11
  --news-ai-summary-bg: rgba(120, 99, 246, 0.12);
12
12
  --news-ai-summary-text: rgba(4, 4, 5, 0.88);
13
- --news-stock-card-bg: rgba(4, 4, 5, 0.04);
13
+ --news-stock-card-bg: rgba(4, 4, 5, 0.06);
14
14
  --news-stock-positive: #10b981;
15
15
  --news-stock-negative: #ef4444;
16
16
  --news-action-hover: transparent;
@@ -54,5 +54,3 @@
54
54
  --search-icon-bg: rgba(255, 255, 255, 0.32);
55
55
  --search-clear-color: rgba(255, 255, 255, 0.32);
56
56
  }
57
-
58
- /*# sourceMappingURL=globals.css.map */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "finsignal-feed-explore",
3
- "version": "3.43.2",
3
+ "version": "3.43.3",
4
4
  "description": "News feed explorer and portfolio widgets for React web applications",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",