@opendata-ai/openchart-svelte 2.3.5 → 2.5.0

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 (2) hide show
  1. package/dist/styles.css +757 -0
  2. package/package.json +10 -7
@@ -0,0 +1,757 @@
1
+ /**
2
+ * @opendata-ai/core styles
3
+ *
4
+ * Plain CSS with viz- prefix for all class names.
5
+ * CSS custom properties for theme overrides.
6
+ * Dark mode via .viz-dark class on the container.
7
+ */
8
+
9
+ /* For optimal typography, load Inter: https://fonts.google.com/specimen/Inter */
10
+
11
+ /* ---------------------------------------------------------------------------
12
+ * Custom properties (light mode defaults)
13
+ * --------------------------------------------------------------------------- */
14
+
15
+ .viz-root,
16
+ .viz-chart-root,
17
+ .viz-table-wrapper,
18
+ .viz-table-root,
19
+ .viz-graph-wrapper,
20
+ .viz-graph-root {
21
+ --viz-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
22
+ --viz-font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;
23
+ --viz-title-size: 22px;
24
+ --viz-title-weight: 700;
25
+ --viz-title-tracking: -0.02em;
26
+ --viz-subtitle-size: 14px;
27
+ --viz-subtitle-weight: 400;
28
+ --viz-source-size: 12px;
29
+ --viz-source-weight: 400;
30
+ --viz-body-size: 13px;
31
+ --viz-bg: #ffffff;
32
+ --viz-text: #1d1d1d;
33
+ --viz-text-secondary: #5c5c5c;
34
+ --viz-text-muted: #999999;
35
+ --viz-gridline: #e8e8e8;
36
+ --viz-axis: #888888;
37
+ --viz-border: #e2e2e2;
38
+ --viz-border-radius: 4px;
39
+ --viz-focus: #3b82f6;
40
+ --viz-hover-bg: rgba(0, 0, 0, 0.025);
41
+ --viz-tooltip-bg: rgba(255, 255, 255, 0.88);
42
+ --viz-tooltip-border: rgba(0, 0, 0, 0.08);
43
+ --viz-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 1px rgba(0, 0, 0, 0.12);
44
+ --viz-tooltip-text: #1d1d1d;
45
+ --viz-legend-text: #555555;
46
+ }
47
+
48
+ /* ---------------------------------------------------------------------------
49
+ * Dark mode overrides
50
+ * --------------------------------------------------------------------------- */
51
+
52
+ .viz-dark {
53
+ --viz-bg: #1a1a2e;
54
+ --viz-text: #e0e0e0;
55
+ --viz-text-secondary: #b0b0b0;
56
+ --viz-text-muted: #808080;
57
+ --viz-gridline: #333355;
58
+ --viz-axis: #999999;
59
+ --viz-border: #444466;
60
+ --viz-focus: #60a5fa;
61
+ --viz-hover-bg: rgba(255, 255, 255, 0.05);
62
+ --viz-tooltip-bg: rgba(30, 30, 50, 0.85);
63
+ --viz-tooltip-border: rgba(255, 255, 255, 0.08);
64
+ --viz-tooltip-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.4);
65
+ --viz-tooltip-text: #e0e0e0;
66
+ --viz-legend-text: #b0b0b0;
67
+ }
68
+
69
+ /* ---------------------------------------------------------------------------
70
+ * Chrome (title, subtitle, source, footer)
71
+ * --------------------------------------------------------------------------- */
72
+
73
+ .viz-chrome {
74
+ font-family: var(--viz-font-family);
75
+ }
76
+
77
+ .viz-title {
78
+ font-size: var(--viz-title-size);
79
+ font-weight: var(--viz-title-weight);
80
+ letter-spacing: var(--viz-title-tracking);
81
+ fill: var(--viz-text);
82
+ }
83
+
84
+ .viz-subtitle {
85
+ font-size: var(--viz-subtitle-size);
86
+ font-weight: var(--viz-subtitle-weight);
87
+ fill: var(--viz-text-secondary);
88
+ }
89
+
90
+ .viz-source,
91
+ .viz-byline,
92
+ .viz-footer {
93
+ font-size: var(--viz-source-size);
94
+ font-weight: var(--viz-source-weight);
95
+ fill: var(--viz-text-muted);
96
+ }
97
+
98
+ /* ---------------------------------------------------------------------------
99
+ * Table footer chrome
100
+ * --------------------------------------------------------------------------- */
101
+
102
+ .viz-chrome-footer {
103
+ padding-top: 16px;
104
+ }
105
+
106
+ /* ---------------------------------------------------------------------------
107
+ * Tooltip
108
+ * --------------------------------------------------------------------------- */
109
+
110
+ .viz-tooltip {
111
+ position: absolute;
112
+ display: none;
113
+ pointer-events: none;
114
+ z-index: 1000;
115
+ background: var(--viz-tooltip-bg);
116
+ backdrop-filter: blur(12px);
117
+ border: 1px solid var(--viz-tooltip-border);
118
+ border-radius: 8px;
119
+ box-shadow: var(--viz-tooltip-shadow);
120
+ color: var(--viz-tooltip-text);
121
+ font-family: var(--viz-font-family);
122
+ font-size: 12px;
123
+ padding: 0;
124
+ max-width: 260px;
125
+ min-width: 140px;
126
+ line-height: 1.4;
127
+ animation: viz-tooltip-in 120ms ease-out;
128
+ }
129
+
130
+ @keyframes viz-tooltip-in {
131
+ from {
132
+ opacity: 0;
133
+ transform: translateY(2px);
134
+ }
135
+ to {
136
+ opacity: 1;
137
+ transform: translateY(0);
138
+ }
139
+ }
140
+
141
+ .viz-tooltip-header {
142
+ display: flex;
143
+ align-items: center;
144
+ gap: 6px;
145
+ padding: 8px 12px 6px;
146
+ }
147
+
148
+ .viz-tooltip-dot {
149
+ width: 8px;
150
+ height: 8px;
151
+ border-radius: 50%;
152
+ flex-shrink: 0;
153
+ }
154
+
155
+ .viz-tooltip-title {
156
+ font-weight: 600;
157
+ font-size: 12px;
158
+ letter-spacing: -0.01em;
159
+ color: var(--viz-tooltip-text);
160
+ white-space: nowrap;
161
+ overflow: hidden;
162
+ text-overflow: ellipsis;
163
+ }
164
+
165
+ .viz-tooltip-body {
166
+ padding: 4px 12px 8px;
167
+ border-top: 1px solid var(--viz-tooltip-border);
168
+ }
169
+
170
+ /* Only add separator when header is present */
171
+ .viz-tooltip-header + .viz-tooltip-body {
172
+ padding-top: 6px;
173
+ }
174
+
175
+ /* No separator when body is the only child */
176
+ .viz-tooltip-body:first-child {
177
+ border-top: none;
178
+ padding-top: 8px;
179
+ }
180
+
181
+ .viz-tooltip-row {
182
+ display: flex;
183
+ align-items: baseline;
184
+ justify-content: space-between;
185
+ gap: 12px;
186
+ padding: 1px 0;
187
+ }
188
+
189
+ .viz-tooltip-label {
190
+ color: var(--viz-text-muted);
191
+ font-size: 11px;
192
+ white-space: nowrap;
193
+ flex-shrink: 0;
194
+ }
195
+
196
+ .viz-tooltip-value {
197
+ font-weight: 500;
198
+ font-size: 11px;
199
+ font-variant-numeric: tabular-nums;
200
+ text-align: right;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ white-space: nowrap;
204
+ }
205
+
206
+ /* ---------------------------------------------------------------------------
207
+ * Legend
208
+ * --------------------------------------------------------------------------- */
209
+
210
+ .viz-legend {
211
+ font-family: var(--viz-font-family);
212
+ font-size: var(--viz-body-size);
213
+ }
214
+
215
+ .viz-legend-entry {
216
+ cursor: default;
217
+ }
218
+
219
+ .viz-legend text {
220
+ fill: var(--viz-legend-text);
221
+ }
222
+
223
+ /* ---------------------------------------------------------------------------
224
+ * React wrapper roots
225
+ * --------------------------------------------------------------------------- */
226
+
227
+ .viz-chart-root,
228
+ .viz-table-root,
229
+ .viz-graph-root {
230
+ width: 100%;
231
+ height: 100%;
232
+ }
233
+
234
+ .viz-table-root {
235
+ overflow: auto;
236
+ }
237
+
238
+ /* ---------------------------------------------------------------------------
239
+ * Chart container
240
+ * --------------------------------------------------------------------------- */
241
+
242
+ .viz-chart {
243
+ font-family: var(--viz-font-family);
244
+ width: 100%;
245
+ height: 100%;
246
+ }
247
+
248
+ /* ---------------------------------------------------------------------------
249
+ * Screen reader only utility
250
+ * --------------------------------------------------------------------------- */
251
+
252
+ .viz-sr-only {
253
+ position: absolute;
254
+ width: 1px;
255
+ height: 1px;
256
+ padding: 0;
257
+ margin: -1px;
258
+ overflow: hidden;
259
+ clip-path: inset(50%);
260
+ white-space: nowrap;
261
+ border-width: 0;
262
+ }
263
+
264
+ /* ---------------------------------------------------------------------------
265
+ * Table base
266
+ * --------------------------------------------------------------------------- */
267
+
268
+ .viz-table-wrapper {
269
+ font-family: var(--viz-font-family);
270
+ color: var(--viz-text);
271
+ background: var(--viz-bg);
272
+ }
273
+
274
+ .viz-table-wrapper > .viz-chrome {
275
+ margin-bottom: 16px;
276
+ }
277
+
278
+ .viz-table-title {
279
+ margin-bottom: 4px;
280
+ font-size: var(--viz-title-computed-size, var(--viz-title-size));
281
+ font-weight: var(--viz-title-computed-weight, var(--viz-title-weight));
282
+ color: var(--viz-title-computed-color, var(--viz-text));
283
+ }
284
+
285
+ .viz-table-subtitle {
286
+ margin-bottom: 8px;
287
+ font-size: var(--viz-subtitle-computed-size, var(--viz-subtitle-size));
288
+ font-weight: var(--viz-subtitle-computed-weight, var(--viz-subtitle-weight));
289
+ color: var(--viz-subtitle-computed-color, var(--viz-text-secondary));
290
+ }
291
+
292
+ .viz-table-source {
293
+ font-size: var(--viz-source-computed-size, var(--viz-source-size));
294
+ color: var(--viz-source-computed-color, var(--viz-text-muted));
295
+ }
296
+
297
+ .viz-table-footer-text {
298
+ font-size: var(--viz-footer-computed-size, var(--viz-source-size));
299
+ color: var(--viz-footer-computed-color, var(--viz-text-muted));
300
+ }
301
+
302
+ .viz-table-scroll {
303
+ overflow-x: auto;
304
+ }
305
+
306
+ .viz-table-wrapper table {
307
+ width: 100%;
308
+ border-collapse: collapse;
309
+ }
310
+
311
+ .viz-table-wrapper th,
312
+ .viz-table-wrapper td {
313
+ padding: 10px 16px;
314
+ text-align: left;
315
+ border-bottom: 1px solid var(--viz-border);
316
+ }
317
+
318
+ .viz-table-wrapper th {
319
+ font-weight: 600;
320
+ font-size: 12px;
321
+ text-transform: uppercase;
322
+ letter-spacing: 0.05em;
323
+ color: var(--viz-text-secondary);
324
+ white-space: nowrap;
325
+ }
326
+
327
+ .viz-table-wrapper thead {
328
+ position: sticky;
329
+ top: 0;
330
+ z-index: 2;
331
+ background: var(--viz-bg);
332
+ }
333
+
334
+ .viz-table-wrapper thead th {
335
+ border-bottom-width: 2px;
336
+ }
337
+
338
+ .viz-table-wrapper td {
339
+ font-size: 14px;
340
+ font-variant-numeric: tabular-nums;
341
+ }
342
+
343
+ /* ---------------------------------------------------------------------------
344
+ * Sticky first column
345
+ * --------------------------------------------------------------------------- */
346
+
347
+ .viz-table--sticky th:first-child,
348
+ .viz-table--sticky td:first-child {
349
+ position: sticky;
350
+ left: 0;
351
+ z-index: 1;
352
+ background: var(--viz-bg);
353
+ }
354
+
355
+ /* ---------------------------------------------------------------------------
356
+ * Sort controls
357
+ * --------------------------------------------------------------------------- */
358
+
359
+ .viz-table-sort-btn {
360
+ background: none;
361
+ border: none;
362
+ cursor: pointer;
363
+ padding: 2px;
364
+ margin-left: 6px;
365
+ display: inline-flex;
366
+ flex-direction: column;
367
+ align-items: center;
368
+ vertical-align: middle;
369
+ gap: 2px;
370
+ }
371
+
372
+ .viz-table-sort-btn::before,
373
+ .viz-table-sort-btn::after {
374
+ content: "";
375
+ display: block;
376
+ width: 0;
377
+ height: 0;
378
+ border-left: 5px solid transparent;
379
+ border-right: 5px solid transparent;
380
+ transition:
381
+ opacity 0.15s,
382
+ border-color 0.15s;
383
+ }
384
+
385
+ .viz-table-sort-btn::before {
386
+ border-bottom: 4.5px solid var(--viz-text-secondary);
387
+ opacity: 0.45;
388
+ }
389
+
390
+ .viz-table-sort-btn::after {
391
+ border-top: 4.5px solid var(--viz-text-secondary);
392
+ opacity: 0.45;
393
+ }
394
+
395
+ .viz-table-sort-btn:hover::before,
396
+ .viz-table-sort-btn:hover::after {
397
+ opacity: 0.75;
398
+ }
399
+
400
+ th[aria-sort="ascending"] .viz-table-sort-btn::before {
401
+ opacity: 1;
402
+ border-bottom-color: var(--viz-text);
403
+ }
404
+
405
+ th[aria-sort="ascending"] .viz-table-sort-btn::after {
406
+ opacity: 0.15;
407
+ }
408
+
409
+ th[aria-sort="descending"] .viz-table-sort-btn::after {
410
+ opacity: 1;
411
+ border-top-color: var(--viz-text);
412
+ }
413
+
414
+ th[aria-sort="descending"] .viz-table-sort-btn::before {
415
+ opacity: 0.15;
416
+ }
417
+
418
+ /* ---------------------------------------------------------------------------
419
+ * Search
420
+ * --------------------------------------------------------------------------- */
421
+
422
+ .viz-table-search {
423
+ padding: 8px 0;
424
+ }
425
+
426
+ .viz-table-search input {
427
+ width: 100%;
428
+ padding: 8px 12px;
429
+ border: 1px solid var(--viz-border);
430
+ border-radius: 6px;
431
+ font-size: 13px;
432
+ font-family: inherit;
433
+ background: var(--viz-bg);
434
+ color: var(--viz-text);
435
+ box-sizing: border-box;
436
+ transition: border-color 0.15s;
437
+ }
438
+
439
+ .viz-table-search input::placeholder {
440
+ color: var(--viz-text-muted);
441
+ font-size: 13px;
442
+ }
443
+
444
+ .viz-table-search input:focus {
445
+ outline: none;
446
+ border-color: var(--viz-focus);
447
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
448
+ }
449
+
450
+ /* ---------------------------------------------------------------------------
451
+ * Pagination
452
+ * --------------------------------------------------------------------------- */
453
+
454
+ .viz-table-pagination {
455
+ display: flex;
456
+ align-items: center;
457
+ justify-content: space-between;
458
+ padding: 12px 0 4px;
459
+ font-size: 13px;
460
+ color: var(--viz-text-secondary);
461
+ }
462
+
463
+ .viz-table-pagination-info {
464
+ font-variant-numeric: tabular-nums;
465
+ }
466
+
467
+ .viz-table-pagination-btns {
468
+ display: flex;
469
+ gap: 8px;
470
+ }
471
+
472
+ .viz-table-pagination button {
473
+ padding: 6px 14px;
474
+ border: 1px solid var(--viz-border);
475
+ border-radius: 6px;
476
+ background: var(--viz-bg);
477
+ color: var(--viz-text);
478
+ cursor: pointer;
479
+ font-size: 13px;
480
+ font-family: inherit;
481
+ transition:
482
+ background 0.15s,
483
+ border-color 0.15s;
484
+ }
485
+
486
+ .viz-table-pagination button:disabled {
487
+ opacity: 0.35;
488
+ cursor: not-allowed;
489
+ }
490
+
491
+ .viz-table-pagination button:hover:not(:disabled) {
492
+ background: var(--viz-hover-bg);
493
+ border-color: var(--viz-axis);
494
+ }
495
+
496
+ .viz-table-pagination button:focus-visible {
497
+ outline: 2px solid var(--viz-focus);
498
+ outline-offset: 1px;
499
+ }
500
+
501
+ /* ---------------------------------------------------------------------------
502
+ * Bar cells
503
+ * --------------------------------------------------------------------------- */
504
+
505
+ .viz-table-bar {
506
+ position: relative;
507
+ }
508
+
509
+ .viz-table-bar-fill {
510
+ position: absolute;
511
+ top: 6px;
512
+ left: 0;
513
+ bottom: 6px;
514
+ border-radius: 2px;
515
+ opacity: 0.15;
516
+ pointer-events: none;
517
+ }
518
+
519
+ .viz-table-bar-value {
520
+ position: relative;
521
+ z-index: 1;
522
+ }
523
+
524
+ /* ---------------------------------------------------------------------------
525
+ * Sparkline cells
526
+ * --------------------------------------------------------------------------- */
527
+
528
+ .viz-table-sparkline {
529
+ display: block;
530
+ width: 100%;
531
+ position: relative;
532
+ }
533
+
534
+ .viz-table-sparkline svg {
535
+ display: block;
536
+ width: 100%;
537
+ overflow: visible;
538
+ }
539
+
540
+ .viz-table-sparkline-dot {
541
+ position: absolute;
542
+ border-radius: 50%;
543
+ width: 5px;
544
+ height: 5px;
545
+ }
546
+
547
+ .viz-table-sparkline-labels {
548
+ display: flex;
549
+ justify-content: space-between;
550
+ font-size: 11px;
551
+ line-height: 1;
552
+ }
553
+
554
+ /* ---------------------------------------------------------------------------
555
+ * Image cells
556
+ * --------------------------------------------------------------------------- */
557
+
558
+ .viz-table-image {
559
+ display: inline-block;
560
+ vertical-align: middle;
561
+ }
562
+
563
+ .viz-table-image img {
564
+ object-fit: cover;
565
+ }
566
+
567
+ .viz-table-image-rounded img {
568
+ border-radius: 50%;
569
+ }
570
+
571
+ /* ---------------------------------------------------------------------------
572
+ * Flag cells
573
+ * --------------------------------------------------------------------------- */
574
+
575
+ .viz-table-flag {
576
+ font-size: 1.2em;
577
+ }
578
+
579
+ /* ---------------------------------------------------------------------------
580
+ * Compact mode
581
+ * --------------------------------------------------------------------------- */
582
+
583
+ .viz-table--compact th,
584
+ .viz-table--compact td {
585
+ padding: 4px 8px;
586
+ font-size: 13px;
587
+ }
588
+
589
+ .viz-table--compact th {
590
+ font-size: 11px;
591
+ }
592
+
593
+ /* ---------------------------------------------------------------------------
594
+ * Row hover (when onRowClick is set)
595
+ * --------------------------------------------------------------------------- */
596
+
597
+ .viz-table--clickable tbody tr {
598
+ cursor: pointer;
599
+ }
600
+
601
+ .viz-table--clickable tbody tr:hover {
602
+ background: var(--viz-hover-bg);
603
+ }
604
+
605
+ /* ---------------------------------------------------------------------------
606
+ * Table header keyboard focus
607
+ * --------------------------------------------------------------------------- */
608
+
609
+ .viz-table-wrapper th:focus {
610
+ outline: 2px solid var(--viz-focus);
611
+ outline-offset: -2px;
612
+ }
613
+
614
+ /* ---------------------------------------------------------------------------
615
+ * Keyboard cell focus indicator
616
+ * --------------------------------------------------------------------------- */
617
+
618
+ .viz-table-cell-focus {
619
+ outline: 2px solid var(--viz-focus);
620
+ outline-offset: -2px;
621
+ }
622
+
623
+ /* ---------------------------------------------------------------------------
624
+ * Table body focus (for keyboard navigation entry)
625
+ * --------------------------------------------------------------------------- */
626
+
627
+ .viz-table-wrapper tbody:focus {
628
+ outline: none;
629
+ }
630
+
631
+ /* ---------------------------------------------------------------------------
632
+ * Empty state
633
+ * --------------------------------------------------------------------------- */
634
+
635
+ .viz-table-empty {
636
+ padding: 32px 16px;
637
+ text-align: center;
638
+ color: var(--viz-text-secondary);
639
+ font-size: 14px;
640
+ font-style: italic;
641
+ }
642
+
643
+ /* ---------------------------------------------------------------------------
644
+ * Reduced motion
645
+ * --------------------------------------------------------------------------- */
646
+
647
+ @media (prefers-reduced-motion: reduce) {
648
+ .viz-table-sort-btn::before,
649
+ .viz-table-sort-btn::after,
650
+ .viz-table-search input,
651
+ .viz-table-pagination button {
652
+ transition: none;
653
+ }
654
+ }
655
+
656
+ /* ---------------------------------------------------------------------------
657
+ * Graph
658
+ * --------------------------------------------------------------------------- */
659
+
660
+ .viz-graph-wrapper {
661
+ position: relative;
662
+ overflow: hidden;
663
+ background: var(--viz-bg);
664
+ font-family: var(--viz-font-family);
665
+ }
666
+
667
+ .viz-graph-canvas {
668
+ display: block;
669
+ cursor: grab;
670
+ }
671
+
672
+ .viz-graph-canvas--dragging {
673
+ cursor: grabbing;
674
+ }
675
+
676
+ .viz-graph-chrome {
677
+ padding: 16px 16px 8px;
678
+ }
679
+
680
+ .viz-graph-chrome .viz-title {
681
+ font-size: var(--viz-title-size);
682
+ font-weight: var(--viz-title-weight);
683
+ letter-spacing: var(--viz-title-tracking);
684
+ color: var(--viz-text);
685
+ margin: 0 0 4px;
686
+ }
687
+
688
+ .viz-graph-chrome .viz-subtitle {
689
+ font-size: var(--viz-subtitle-size);
690
+ color: var(--viz-text-secondary);
691
+ margin: 0;
692
+ }
693
+
694
+ .viz-graph-legend {
695
+ position: absolute;
696
+ top: 8px;
697
+ right: 8px;
698
+ background: var(--viz-bg);
699
+ border: 1px solid var(--viz-border);
700
+ border-radius: var(--viz-border-radius);
701
+ padding: 8px 12px;
702
+ font-size: 12px;
703
+ color: var(--viz-text-secondary);
704
+ max-height: 200px;
705
+ overflow-y: auto;
706
+ }
707
+
708
+ .viz-graph-legend-item {
709
+ display: flex;
710
+ align-items: center;
711
+ gap: 6px;
712
+ padding: 2px 0;
713
+ }
714
+
715
+ .viz-graph-legend-swatch {
716
+ width: 10px;
717
+ height: 10px;
718
+ border-radius: 50%;
719
+ flex-shrink: 0;
720
+ }
721
+
722
+ .viz-graph-search {
723
+ position: absolute;
724
+ top: 8px;
725
+ left: 8px;
726
+ }
727
+
728
+ .viz-graph-search input {
729
+ font-family: var(--viz-font-family);
730
+ font-size: var(--viz-body-size);
731
+ padding: 6px 10px;
732
+ border: 1px solid var(--viz-border);
733
+ border-radius: var(--viz-border-radius);
734
+ background: var(--viz-bg);
735
+ color: var(--viz-text);
736
+ outline: none;
737
+ }
738
+
739
+ .viz-graph-search input:focus {
740
+ border-color: var(--viz-focus);
741
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
742
+ }
743
+
744
+ /* Dark mode graph overrides (darker bg for canvas-based rendering) */
745
+ .viz-dark .viz-graph-wrapper {
746
+ --viz-bg: #0d1117;
747
+ }
748
+
749
+ .viz-dark .viz-graph-legend {
750
+ background: rgba(13, 17, 23, 0.85);
751
+ border-color: rgba(255, 255, 255, 0.1);
752
+ }
753
+
754
+ .viz-dark .viz-graph-search input {
755
+ background: rgba(13, 17, 23, 0.85);
756
+ border-color: rgba(255, 255, 255, 0.1);
757
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendata-ai/openchart-svelte",
3
- "version": "2.3.5",
3
+ "version": "2.5.0",
4
4
  "description": "Svelte components for openchart: <Chart />, <DataTable />, <Graph />, <VizThemeProvider />",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Riley Hilliard",
@@ -25,14 +25,17 @@
25
25
  "types": "./dist/index.d.ts",
26
26
  "svelte": "./dist/index.js",
27
27
  "import": "./dist/index.js"
28
- }
28
+ },
29
+ "./styles.css": "./dist/styles.css"
29
30
  },
30
31
  "files": [
31
32
  "dist",
32
33
  "src"
33
34
  ],
34
35
  "svelte": "./dist/index.js",
35
- "sideEffects": false,
36
+ "sideEffects": [
37
+ "./dist/styles.css"
38
+ ],
36
39
  "keywords": [
37
40
  "chart",
38
41
  "visualization",
@@ -43,14 +46,14 @@
43
46
  "declarative"
44
47
  ],
45
48
  "scripts": {
46
- "build": "svelte-package -i src -o dist",
49
+ "build": "svelte-package -i src -o dist && cp node_modules/@opendata-ai/openchart-core/dist/styles.css dist/styles.css",
47
50
  "test": "vitest run",
48
51
  "typecheck": "svelte-check --tsconfig ./tsconfig.json"
49
52
  },
50
53
  "dependencies": {
51
- "@opendata-ai/openchart-core": "2.3.5",
52
- "@opendata-ai/openchart-engine": "2.3.5",
53
- "@opendata-ai/openchart-vanilla": "2.3.5"
54
+ "@opendata-ai/openchart-core": "2.5.0",
55
+ "@opendata-ai/openchart-engine": "2.5.0",
56
+ "@opendata-ai/openchart-vanilla": "2.5.0"
54
57
  },
55
58
  "peerDependencies": {
56
59
  "svelte": ">=5.0.0"