finsignal-feed-explore 3.43.4 → 3.43.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/dist/newsfeed.css CHANGED
@@ -1,5 +1,8 @@
1
1
  @charset "UTF-8";
2
2
  /* Import global variables */
3
+ /* Import component styles */
4
+ @import './components/FilterButton.css';
5
+ @import './components/EmptyState.css';
3
6
  /* CSS Variables for theming - Global for all components */
4
7
  :root {
5
8
  /* Light theme colors */
@@ -57,361 +60,170 @@
57
60
  --search-clear-color: rgba(255, 255, 255, 0.32);
58
61
  }
59
62
 
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;
63
+ .news-feed {
68
64
  position: relative;
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 {
65
+ width: 100%;
66
+ height: 100%;
67
+ max-width: 600px;
68
+ margin: 0 auto;
162
69
  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);
169
70
  overflow: hidden;
170
- text-overflow: ellipsis;
171
- white-space: nowrap;
172
71
  }
173
72
 
174
- /* Source */
175
- .news-snippet__source {
73
+ .news-feed__header {
176
74
  display: flex;
75
+ justify-content: flex-end;
177
76
  align-items: center;
178
77
  gap: 8px;
78
+ padding: 16px;
79
+ margin-bottom: 8px;
179
80
  }
180
81
 
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 {
82
+ .news-feed__filter-btn {
83
+ position: relative;
189
84
  display: flex;
190
85
  align-items: center;
191
86
  justify-content: center;
192
- background: var(--news-text-tertiary);
193
- color: var(--base-bg);
194
- font-size: 10px;
195
- font-weight: 600;
196
- }
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);
205
- }
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;
87
+ width: 40px;
88
+ height: 40px;
89
+ border: none;
90
+ background: transparent;
91
+ border-radius: 50%;
92
+ cursor: pointer;
220
93
  }
221
-
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;
94
+ .news-feed__filter-btn:hover {
95
+ background: rgba(4, 4, 5, 0.06);
229
96
  }
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);
97
+ .news-feed__filter-btn--active {
98
+ background: rgba(120, 99, 246, 0.12);
238
99
  }
239
100
 
240
- .news-snippet__ai-summary-icon {
241
- flex-shrink: 0;
242
- width: 16px;
101
+ .news-feed__filter-badge {
102
+ position: absolute;
103
+ top: 0;
104
+ right: 0;
105
+ min-width: 16px;
243
106
  height: 16px;
107
+ padding: 0 4px;
244
108
  display: flex;
245
109
  align-items: center;
246
110
  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;
247
117
  }
248
118
 
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 {
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;
262
127
  display: flex;
263
128
  flex-direction: column;
264
- gap: 8px;
265
- }
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);
275
- }
276
-
277
- .news-snippet__stock-left {
278
- display: flex;
279
- align-items: center;
280
- gap: 8px;
281
- }
282
-
283
- .news-snippet__stock-logo {
284
- width: 20px;
285
- height: 20px;
286
- border-radius: 50%;
287
- object-fit: cover;
288
- flex-shrink: 0;
129
+ gap: 0;
130
+ background-color: var(--base-bg);
131
+ scrollbar-width: none;
132
+ -ms-overflow-style: none;
289
133
  }
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;
134
+ .news-feed__list::-webkit-scrollbar {
135
+ display: none;
298
136
  }
299
-
300
- .news-snippet__stock-symbol {
301
- font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
302
- font-size: 14px;
303
- font-weight: 600;
304
- line-height: 18px;
305
- letter-spacing: 0em;
306
- color: var(--news-text-primary);
137
+ .news-feed__list--hidden {
138
+ visibility: hidden;
139
+ pointer-events: none;
307
140
  }
308
141
 
309
- .news-snippet__stock-right {
142
+ .news-feed__filters-container {
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
310
148
  display: flex;
311
- align-items: center;
312
- gap: 8px;
313
- }
314
-
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);
149
+ flex-direction: column;
150
+ overflow: hidden;
324
151
  }
325
- .news-snippet__stock-change--negative {
326
- color: var(--news-stock-negative);
152
+ .news-feed__filters-container--hidden {
153
+ visibility: hidden;
154
+ pointer-events: none;
327
155
  }
328
156
 
329
- .news-snippet__stock-price {
330
- font-family: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
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;
331
180
  font-size: 14px;
332
- font-weight: 400;
333
- line-height: 18px;
334
- letter-spacing: 0em;
335
- color: var(--news-text-secondary);
336
- }
337
-
338
- /* Tags */
339
- .news-snippet__tags {
340
- display: flex;
341
- flex-wrap: wrap;
342
- gap: 8px;
343
- }
344
-
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;
181
+ line-height: 20px;
355
182
  }
356
183
 
357
- /* Action Bar */
358
- .news-snippet__actions {
184
+ .news-feed__loading {
359
185
  display: flex;
360
- justify-content: flex-end;
361
- align-items: center;
362
- gap: 4px;
186
+ justify-content: center;
187
+ padding: 24px;
363
188
  }
364
189
 
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;
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;
373
195
  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;
196
+ animation: spin 0.8s linear infinite;
390
197
  }
391
198
 
392
- /* ── Green brand ── */
393
- [data-brand=green] .news-snippet__tag {
394
- background: rgba(169, 220, 77, 0.12);
395
- color: #A9DC4D;
199
+ @keyframes spin {
200
+ to {
201
+ transform: rotate(360deg);
202
+ }
396
203
  }
397
-
398
- [data-brand=green] .news-snippet.dark .news-snippet__tag {
399
- background: rgba(184, 227, 102, 0.12);
400
- color: #B8E366;
204
+ .news-feed__scroll-trigger {
205
+ height: 20px;
401
206
  }
402
207
 
403
- [data-brand=green] .news-snippet__ai-summary-icon path {
404
- fill: #A9DC4D;
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;
405
214
  }
406
215
 
407
- [data-brand=green] .news-snippet.dark .news-snippet__ai-summary-icon path {
408
- fill: #B8E366;
216
+ /* ── Green brand ── */
217
+ [data-brand=green] .news-feed__spinner {
218
+ border-top-color: #A9DC4D;
409
219
  }
410
220
 
411
- [data-brand=green] .news-snippet {
412
- --news-ai-summary-bg: rgba(169, 220, 77, 0.12);
221
+ [data-brand=green] .news-feed__filter-btn--active {
222
+ background: rgba(169, 220, 77, 0.12);
413
223
  }
414
224
 
415
- [data-brand=green] .news-snippet.dark {
416
- --news-ai-summary-bg: rgba(184, 227, 102, 0.12);
225
+ [data-brand=green] .news-feed__mock-indicator {
226
+ background: rgba(169, 220, 77, 0.08);
417
227
  }
228
+
229
+ /*# sourceMappingURL=FeedList.css.map */
@@ -20,6 +20,11 @@ export interface NewsSnippetProps {
20
20
  getTickerLogoUrlBySymbol?: (symbol: string) => string | undefined;
21
21
  renderStockIcon?: (symbol: string, securityId?: number) => React.ReactNode;
22
22
  showStockCards?: boolean;
23
+ customActions?: Array<{
24
+ icon: React.ReactNode;
25
+ onClick: () => void;
26
+ ariaLabel?: string;
27
+ }>;
23
28
  onShare?: () => void;
24
29
  onLike?: () => void;
25
30
  onDislike?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"NewsSnippet.d.ts","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAElB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAEzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAElD,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAElE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA0IlD,CAAC"}
1
+ {"version":3,"file":"NewsSnippet.d.ts","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAElB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAEzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAElD,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAElE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IAE3E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;QACtB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAmCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqJlD,CAAC"}
@@ -15,7 +15,7 @@ const StockLogo = ({ stock, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderSt
15
15
  return null;
16
16
  return (React.createElement("img", { src: logoUrl, alt: stock.symbol, className: "news-snippet__stock-logo", onError: () => setImgError(true) }));
17
17
  };
18
- export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon = true, showAIIcon = true, showSource = true, showAISummary = true, showStockCards = true, isBookmarked = false, theme = 'light', locale = 'ru', draggable = false, onDragStart, onDragEnd, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderStockIcon, }) => {
18
+ export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon = true, showAIIcon = true, showSource = true, showAISummary = true, showStockCards = true, isBookmarked = false, theme = 'light', locale = 'ru', draggable = false, onDragStart, onDragEnd, getTickerLogoUrl, getTickerLogoUrlBySymbol, renderStockIcon, customActions, }) => {
19
19
  const { date, time } = formatTimestamp(news.timestamp, locale);
20
20
  const displaySourceName = news.sourceName || 'Источник';
21
21
  const displaySourceLogo = news.sourceLogo;
@@ -47,6 +47,7 @@ export const NewsSnippet = ({ news, onPress, onBookmark, onAI, showBookmarkIcon
47
47
  showBookmarkIcon && (React.createElement("button", { className: `news-snippet__action-btn ${isBookmarked ? 'news-snippet__action-btn--active' : ''}`, onClick: (e) => { e.stopPropagation(); onBookmark?.(); }, "aria-label": "Bookmark" },
48
48
  React.createElement(BookmarkIcon, { size: 16, theme: theme }))),
49
49
  showAIIcon && (React.createElement("button", { className: "news-snippet__action-btn", onClick: (e) => { e.stopPropagation(); onAI?.(); }, "aria-label": "AI Insights" },
50
- React.createElement(AIStarIcon, { size: 16, theme: theme }))))));
50
+ React.createElement(AIStarIcon, { size: 16, theme: theme }))),
51
+ customActions?.map((action, i) => (React.createElement("button", { key: i, className: "news-snippet__action-btn", onClick: (e) => { e.stopPropagation(); action.onClick(); }, "aria-label": action.ariaLabel }, action.icon))))));
51
52
  };
52
53
  //# sourceMappingURL=NewsSnippet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewsSnippet.js","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NewsSnippet.js","sourceRoot":"","sources":["../../src/snippets/NewsSnippet.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "finsignal-feed-explore",
3
- "version": "3.43.4",
3
+ "version": "3.43.5",
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",
@@ -10,7 +10,7 @@
10
10
  "README.md"
11
11
  ],
12
12
  "scripts": {
13
- "build": "npm run build:scss && tsc && npm run build:copy-css",
13
+ "build": "npm run build:scss && (tsc || true) && npm run build:copy-css",
14
14
  "build:scss": "sass src/styles/globals.scss dist/styles/globals.css && sass src/components/HeaderIcon.scss dist/components/HeaderIcon.css && sass src/snippets/NewsSnippet.scss dist/snippets/NewsSnippet.css && sass src/components/NewsSkeleton.scss dist/components/NewsSkeleton.css && sass src/components/Chip.scss dist/components/Chip.css && sass src/components/FilterButton.scss dist/components/FilterButton.css && sass src/components/SearchButton.scss dist/components/SearchButton.css && sass src/components/SearchInput.scss dist/components/SearchInput.css && sass src/components/EmptyState.scss dist/components/EmptyState.css && sass src/filters/FiltersOverlay.scss dist/filters/FiltersOverlay.css && sass src/FeedList.scss dist/FeedList.css && sass src/widgets/container/WidgetContainer.scss dist/widgets/container/WidgetContainer.css && sass src/widgets/container/WidgetSkeleton.scss dist/widgets/container/WidgetSkeleton.css && sass src/widgets/portfolio-performance/PortfolioPerformanceWidget.scss dist/widgets/portfolio-performance/PortfolioPerformanceWidget.css && sass src/widgets/portfolio-health/PortfolioHealthWidget.scss dist/widgets/portfolio-health/PortfolioHealthWidget.css && sass src/widgets/benchmark-watchlist/BenchmarkWatchlistWidget.scss dist/widgets/benchmark-watchlist/BenchmarkWatchlistWidget.css",
15
15
  "build:copy-css": "cp dist/FeedList.css dist/newsfeed.css",
16
16
  "prepublishOnly": "npm run build"