mviz 1.4.2
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/README.md +174 -0
- package/dist/charts/area.d.ts +14 -0
- package/dist/charts/area.d.ts.map +1 -0
- package/dist/charts/area.js +137 -0
- package/dist/charts/area.js.map +1 -0
- package/dist/charts/bar.d.ts +14 -0
- package/dist/charts/bar.d.ts.map +1 -0
- package/dist/charts/bar.js +191 -0
- package/dist/charts/bar.js.map +1 -0
- package/dist/charts/boxplot.d.ts +14 -0
- package/dist/charts/boxplot.d.ts.map +1 -0
- package/dist/charts/boxplot.js +79 -0
- package/dist/charts/boxplot.js.map +1 -0
- package/dist/charts/bubble.d.ts +14 -0
- package/dist/charts/bubble.d.ts.map +1 -0
- package/dist/charts/bubble.js +127 -0
- package/dist/charts/bubble.js.map +1 -0
- package/dist/charts/calendar.d.ts +14 -0
- package/dist/charts/calendar.d.ts.map +1 -0
- package/dist/charts/calendar.js +94 -0
- package/dist/charts/calendar.js.map +1 -0
- package/dist/charts/combo.d.ts +14 -0
- package/dist/charts/combo.d.ts.map +1 -0
- package/dist/charts/combo.js +163 -0
- package/dist/charts/combo.js.map +1 -0
- package/dist/charts/dumbbell.d.ts +17 -0
- package/dist/charts/dumbbell.d.ts.map +1 -0
- package/dist/charts/dumbbell.js +368 -0
- package/dist/charts/dumbbell.js.map +1 -0
- package/dist/charts/funnel.d.ts +14 -0
- package/dist/charts/funnel.d.ts.map +1 -0
- package/dist/charts/funnel.js +145 -0
- package/dist/charts/funnel.js.map +1 -0
- package/dist/charts/heatmap.d.ts +14 -0
- package/dist/charts/heatmap.d.ts.map +1 -0
- package/dist/charts/heatmap.js +202 -0
- package/dist/charts/heatmap.js.map +1 -0
- package/dist/charts/histogram.d.ts +14 -0
- package/dist/charts/histogram.d.ts.map +1 -0
- package/dist/charts/histogram.js +103 -0
- package/dist/charts/histogram.js.map +1 -0
- package/dist/charts/index.d.ts +40 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +42 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/line.d.ts +14 -0
- package/dist/charts/line.d.ts.map +1 -0
- package/dist/charts/line.js +134 -0
- package/dist/charts/line.js.map +1 -0
- package/dist/charts/pie.d.ts +14 -0
- package/dist/charts/pie.d.ts.map +1 -0
- package/dist/charts/pie.js +75 -0
- package/dist/charts/pie.js.map +1 -0
- package/dist/charts/registry.d.ts +36 -0
- package/dist/charts/registry.d.ts.map +1 -0
- package/dist/charts/registry.js +55 -0
- package/dist/charts/registry.js.map +1 -0
- package/dist/charts/sankey.d.ts +14 -0
- package/dist/charts/sankey.d.ts.map +1 -0
- package/dist/charts/sankey.js +74 -0
- package/dist/charts/sankey.js.map +1 -0
- package/dist/charts/scatter.d.ts +14 -0
- package/dist/charts/scatter.d.ts.map +1 -0
- package/dist/charts/scatter.js +130 -0
- package/dist/charts/scatter.js.map +1 -0
- package/dist/charts/sparkline.d.ts +19 -0
- package/dist/charts/sparkline.d.ts.map +1 -0
- package/dist/charts/sparkline.js +154 -0
- package/dist/charts/sparkline.js.map +1 -0
- package/dist/charts/waterfall.d.ts +14 -0
- package/dist/charts/waterfall.d.ts.map +1 -0
- package/dist/charts/waterfall.js +232 -0
- package/dist/charts/waterfall.js.map +1 -0
- package/dist/charts/xmr.d.ts +14 -0
- package/dist/charts/xmr.d.ts.map +1 -0
- package/dist/charts/xmr.js +456 -0
- package/dist/charts/xmr.js.map +1 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +120 -0
- package/dist/cli.js.map +1 -0
- package/dist/components/alert.d.ts +10 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +65 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/big_value.d.ts +10 -0
- package/dist/components/big_value.d.ts.map +1 -0
- package/dist/components/big_value.js +78 -0
- package/dist/components/big_value.js.map +1 -0
- package/dist/components/delta.d.ts +10 -0
- package/dist/components/delta.d.ts.map +1 -0
- package/dist/components/delta.js +83 -0
- package/dist/components/delta.js.map +1 -0
- package/dist/components/empty_space.d.ts +10 -0
- package/dist/components/empty_space.d.ts.map +1 -0
- package/dist/components/empty_space.js +29 -0
- package/dist/components/empty_space.js.map +1 -0
- package/dist/components/index.d.ts +21 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +23 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/note.d.ts +10 -0
- package/dist/components/note.d.ts.map +1 -0
- package/dist/components/note.js +66 -0
- package/dist/components/note.js.map +1 -0
- package/dist/components/registry.d.ts +24 -0
- package/dist/components/registry.d.ts.map +1 -0
- package/dist/components/registry.js +36 -0
- package/dist/components/registry.js.map +1 -0
- package/dist/components/table.d.ts +90 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +610 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/text.d.ts +10 -0
- package/dist/components/text.d.ts.map +1 -0
- package/dist/components/text.js +46 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/textarea.d.ts +10 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +79 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/core/colors.d.ts +45 -0
- package/dist/core/colors.d.ts.map +1 -0
- package/dist/core/colors.js +93 -0
- package/dist/core/colors.js.map +1 -0
- package/dist/core/css.d.ts +20 -0
- package/dist/core/css.d.ts.map +1 -0
- package/dist/core/css.js +97 -0
- package/dist/core/css.js.map +1 -0
- package/dist/core/exceptions.d.ts +59 -0
- package/dist/core/exceptions.d.ts.map +1 -0
- package/dist/core/exceptions.js +100 -0
- package/dist/core/exceptions.js.map +1 -0
- package/dist/core/formatting.d.ts +53 -0
- package/dist/core/formatting.d.ts.map +1 -0
- package/dist/core/formatting.js +491 -0
- package/dist/core/formatting.js.map +1 -0
- package/dist/core/index.d.ts +10 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/serializer.d.ts +29 -0
- package/dist/core/serializer.d.ts.map +1 -0
- package/dist/core/serializer.js +84 -0
- package/dist/core/serializer.js.map +1 -0
- package/dist/core/themes.d.ts +138 -0
- package/dist/core/themes.d.ts.map +1 -0
- package/dist/core/themes.js +484 -0
- package/dist/core/themes.js.map +1 -0
- package/dist/core/version-check.d.ts +23 -0
- package/dist/core/version-check.d.ts.map +1 -0
- package/dist/core/version-check.js +163 -0
- package/dist/core/version-check.js.map +1 -0
- package/dist/generate_test_harness.d.ts +13 -0
- package/dist/generate_test_harness.d.ts.map +1 -0
- package/dist/generate_test_harness.js +35 -0
- package/dist/generate_test_harness.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/layout/converter.d.ts +22 -0
- package/dist/layout/converter.d.ts.map +1 -0
- package/dist/layout/converter.js +46 -0
- package/dist/layout/converter.js.map +1 -0
- package/dist/layout/csv.d.ts +15 -0
- package/dist/layout/csv.d.ts.map +1 -0
- package/dist/layout/csv.js +88 -0
- package/dist/layout/csv.js.map +1 -0
- package/dist/layout/dispatcher.d.ts +13 -0
- package/dist/layout/dispatcher.d.ts.map +1 -0
- package/dist/layout/dispatcher.js +47 -0
- package/dist/layout/dispatcher.js.map +1 -0
- package/dist/layout/index.d.ts +8 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +8 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/parser.d.ts +19 -0
- package/dist/layout/parser.d.ts.map +1 -0
- package/dist/layout/parser.js +888 -0
- package/dist/layout/parser.js.map +1 -0
- package/dist/layout/templates.d.ts +32 -0
- package/dist/layout/templates.d.ts.map +1 -0
- package/dist/layout/templates.js +1016 -0
- package/dist/layout/templates.js.map +1 -0
- package/dist/types.d.ts +144 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +14 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme definitions and utilities for mviz
|
|
3
|
+
*/
|
|
4
|
+
import type { Theme, ThemeColors, ChartSpec } from '../types.js';
|
|
5
|
+
export declare const COLORS: {
|
|
6
|
+
readonly PRIMARY_BLUE: "#0777b3";
|
|
7
|
+
readonly SECONDARY_ORANGE: "#bd4e35";
|
|
8
|
+
readonly INFO_BLUE: "#638CAD";
|
|
9
|
+
readonly POSITIVE_GREEN: "#2d7a00";
|
|
10
|
+
readonly WARNING_AMBER: "#e18727";
|
|
11
|
+
readonly ERROR_RED: "#bc1200";
|
|
12
|
+
readonly PAPER: "#f8f8f8";
|
|
13
|
+
readonly DARK: "#231f20";
|
|
14
|
+
readonly WHITE: "#ffffff";
|
|
15
|
+
readonly GRAY_100: "#f5f5f5";
|
|
16
|
+
readonly GRAY_200: "#eeeeee";
|
|
17
|
+
readonly GRAY_300: "#e0e0e0";
|
|
18
|
+
readonly GRAY_400: "#bdbdbd";
|
|
19
|
+
readonly GRAY_500: "#9e9e9e";
|
|
20
|
+
readonly GRAY_600: "#757575";
|
|
21
|
+
readonly GRAY_700: "#616161";
|
|
22
|
+
readonly GRAY_800: "#424242";
|
|
23
|
+
readonly GRAY_900: "#212121";
|
|
24
|
+
readonly BG_LIGHT: "#f8f8f8";
|
|
25
|
+
readonly TEXT_DARK: "#231f20";
|
|
26
|
+
readonly TEXT_MUTED: "#6a6a6a";
|
|
27
|
+
readonly GRID_LIGHT: "#d4d4d4";
|
|
28
|
+
readonly GRID_DARK: "#3a3a3a";
|
|
29
|
+
};
|
|
30
|
+
export declare const PALETTE: readonly ["#0777b3", "#bd4e35", "#2d7a00", "#e18727", "#638CAD", "#adadad"];
|
|
31
|
+
export declare const PALETTE_DARK: readonly ["#3da8e0", "#e06b4e", "#6ed020", "#f5a84a", "#7faac4", "#c0c0c0"];
|
|
32
|
+
export declare const PALETTE_SANKEY: readonly ["#055a7a", "#0777b3", "#638CAD", "#7da3b5", "#5a8a8a", "#7a6b8a", "#94b5be", "#8a9a9e", "#9a8a9a", "#b8c4c8"];
|
|
33
|
+
export declare const PALETTE_SANKEY_DARK: readonly ["#4a9cc4", "#5bb0d4", "#7fc4de", "#7ab0b0", "#9a8aaa", "#8ac0c8", "#a8b8bc", "#b0a0b0", "#bfbfbf", "#c8d4d8"];
|
|
34
|
+
export declare const GRID_TOTAL_COLUMNS = 16;
|
|
35
|
+
export declare const DEFAULT_COLUMN_SPAN = 8;
|
|
36
|
+
export declare const FONT_SIZE_XL = 32;
|
|
37
|
+
export declare const FONT_SIZE_LG = 24;
|
|
38
|
+
export declare const FONT_SIZE_MD = 16;
|
|
39
|
+
export declare const FONT_SIZE_SM = 14;
|
|
40
|
+
export declare const FONT_SIZE_XS = 12;
|
|
41
|
+
export declare const FONT_SIZE_XXS = 11;
|
|
42
|
+
export declare const FONT_SIZE_TINY = 10;
|
|
43
|
+
export declare const FONT_SIZE_MICRO = 9;
|
|
44
|
+
export declare const FONT_SIZE_NANO = 8;
|
|
45
|
+
export declare const SPACING_XL = 32;
|
|
46
|
+
export declare const SPACING_LG = 24;
|
|
47
|
+
export declare const SPACING_MD = 16;
|
|
48
|
+
export declare const SPACING_SM = 12;
|
|
49
|
+
export declare const SPACING_XS = 8;
|
|
50
|
+
export declare const SPACING_XXS = 4;
|
|
51
|
+
export declare const DEFAULT_CHART_HEIGHT = 300;
|
|
52
|
+
export declare const SMALL_CHART_HEIGHT = 200;
|
|
53
|
+
export declare const LARGE_CHART_HEIGHT = 400;
|
|
54
|
+
export declare const BAR_MAX_WIDTH = 32;
|
|
55
|
+
export declare const SCATTER_SYMBOL_SIZE = 10;
|
|
56
|
+
export declare const SPARKLINE_WIDTH = 80;
|
|
57
|
+
export declare const SPARKLINE_HEIGHT = 20;
|
|
58
|
+
export declare const DUMBBELL_DOT_RADIUS = 4;
|
|
59
|
+
export declare const DUMBBELL_SYMBOL_SIZE = 22;
|
|
60
|
+
export declare const XMR_SYMBOL_SIZE = 6;
|
|
61
|
+
export declare const XMR_VIOLATION_SYMBOL_SIZE = 10;
|
|
62
|
+
export declare const DEFAULT_XMR_HEIGHT = 400;
|
|
63
|
+
export declare const LEGEND_ITEM_WIDTH = 14;
|
|
64
|
+
export declare const LEGEND_ITEM_HEIGHT = 3;
|
|
65
|
+
export declare const LEGEND_ITEM_GAP = 24;
|
|
66
|
+
export declare const ECHARTS_CDN = "https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js";
|
|
67
|
+
export declare const FONT_STACK = "'Inter', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
68
|
+
export declare const FONT_IMPORT = "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
|
|
69
|
+
export declare const ALERT_ICONS: {
|
|
70
|
+
readonly info: "ℹ";
|
|
71
|
+
readonly success: "✓";
|
|
72
|
+
readonly warning: "⚠";
|
|
73
|
+
readonly error: "✕";
|
|
74
|
+
};
|
|
75
|
+
export declare const NOTE_COLORS: {
|
|
76
|
+
readonly default: "#bd4e35";
|
|
77
|
+
readonly warning: "#e18727";
|
|
78
|
+
readonly tip: "#2d7a00";
|
|
79
|
+
};
|
|
80
|
+
export declare const BREAKPOINT_MOBILE = 480;
|
|
81
|
+
export declare const BREAKPOINT_TABLET = 768;
|
|
82
|
+
export declare const BREAKPOINT_DESKTOP = 1024;
|
|
83
|
+
/**
|
|
84
|
+
* Get theme colors for light or dark theme
|
|
85
|
+
*/
|
|
86
|
+
export declare function getThemeColors(theme?: Theme): ThemeColors;
|
|
87
|
+
/**
|
|
88
|
+
* Get color palette for chart series
|
|
89
|
+
*/
|
|
90
|
+
export declare function getPalette(theme?: Theme): readonly string[];
|
|
91
|
+
/**
|
|
92
|
+
* Get tooltip configuration for ECharts
|
|
93
|
+
*/
|
|
94
|
+
export declare function getTooltipConfig(theme?: Theme): Record<string, unknown>;
|
|
95
|
+
/**
|
|
96
|
+
* Get base ECharts option with theme defaults
|
|
97
|
+
*/
|
|
98
|
+
export declare function getBaseOption(spec: ChartSpec): Record<string, unknown>;
|
|
99
|
+
/**
|
|
100
|
+
* Get axis configuration for ECharts
|
|
101
|
+
*/
|
|
102
|
+
export declare function getAxisConfig(theme?: Theme, axisType?: 'category' | 'value' | 'time'): Record<string, unknown>;
|
|
103
|
+
export declare const DEFAULT_SIZES: Record<string, [number, number]>;
|
|
104
|
+
/**
|
|
105
|
+
* Calculate recommended size [cols, rows] based on chart type and data.
|
|
106
|
+
* Auto-sizing only makes charts LARGER than defaults, never smaller.
|
|
107
|
+
*/
|
|
108
|
+
export declare function autoSizeChart(chartType: string, spec: ChartSpec): [number, number];
|
|
109
|
+
/**
|
|
110
|
+
* Get heatmap color gradient for theme
|
|
111
|
+
* Lightest color matches background for consistency with table rows
|
|
112
|
+
*/
|
|
113
|
+
export declare function getHeatmapColors(theme?: Theme): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Get sparkline color palette
|
|
116
|
+
*/
|
|
117
|
+
export declare function getSparklineColors(theme?: Theme): {
|
|
118
|
+
line: string;
|
|
119
|
+
min: string;
|
|
120
|
+
max: string;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Get waterfall chart colors
|
|
124
|
+
*/
|
|
125
|
+
export declare function getWaterfallColors(): {
|
|
126
|
+
increase: string;
|
|
127
|
+
decrease: string;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Get link color for hyperlinks
|
|
131
|
+
*/
|
|
132
|
+
export declare function getLinkColor(): string;
|
|
133
|
+
/**
|
|
134
|
+
* Get axis label formatter JS function for smart number formatting.
|
|
135
|
+
* Uses compact formatting (1 decimal for m/b, 0 for k) to prevent label overlap.
|
|
136
|
+
*/
|
|
137
|
+
export declare function getAxisLabelFormatterJs(isCurrency?: boolean): Record<string, string>;
|
|
138
|
+
//# sourceMappingURL=themes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../core/themes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme definitions and utilities for mviz
|
|
3
|
+
*/
|
|
4
|
+
// Color constants (mdsinabox theme)
|
|
5
|
+
export const COLORS = {
|
|
6
|
+
PRIMARY_BLUE: '#0777b3',
|
|
7
|
+
SECONDARY_ORANGE: '#bd4e35',
|
|
8
|
+
INFO_BLUE: '#638CAD',
|
|
9
|
+
POSITIVE_GREEN: '#2d7a00',
|
|
10
|
+
WARNING_AMBER: '#e18727',
|
|
11
|
+
ERROR_RED: '#bc1200',
|
|
12
|
+
PAPER: '#f8f8f8',
|
|
13
|
+
DARK: '#231f20',
|
|
14
|
+
WHITE: '#ffffff',
|
|
15
|
+
GRAY_100: '#f5f5f5',
|
|
16
|
+
GRAY_200: '#eeeeee',
|
|
17
|
+
GRAY_300: '#e0e0e0',
|
|
18
|
+
GRAY_400: '#bdbdbd',
|
|
19
|
+
GRAY_500: '#9e9e9e',
|
|
20
|
+
GRAY_600: '#757575',
|
|
21
|
+
GRAY_700: '#616161',
|
|
22
|
+
GRAY_800: '#424242',
|
|
23
|
+
GRAY_900: '#212121',
|
|
24
|
+
// Aliases for templates
|
|
25
|
+
BG_LIGHT: '#f8f8f8',
|
|
26
|
+
TEXT_DARK: '#231f20',
|
|
27
|
+
// Python-matched colors
|
|
28
|
+
TEXT_MUTED: '#6a6a6a',
|
|
29
|
+
GRID_LIGHT: '#d4d4d4',
|
|
30
|
+
GRID_DARK: '#3a3a3a',
|
|
31
|
+
};
|
|
32
|
+
// Color palette for chart series (matches Python order)
|
|
33
|
+
export const PALETTE = [
|
|
34
|
+
COLORS.PRIMARY_BLUE, // #0777b3
|
|
35
|
+
COLORS.SECONDARY_ORANGE, // #bd4e35
|
|
36
|
+
COLORS.POSITIVE_GREEN, // #2d7a00
|
|
37
|
+
COLORS.WARNING_AMBER, // #e18727
|
|
38
|
+
COLORS.INFO_BLUE, // #638CAD
|
|
39
|
+
'#adadad', // Gray (Python uses gray instead of error red)
|
|
40
|
+
];
|
|
41
|
+
// Dark mode palette - matches Python order: blue, orange, green, amber, slate, gray
|
|
42
|
+
export const PALETTE_DARK = [
|
|
43
|
+
'#3da8e0', // Lighter primary blue
|
|
44
|
+
'#e06b4e', // Lighter orange
|
|
45
|
+
'#6ed020', // Lighter green (position 3 - matches Python)
|
|
46
|
+
'#f5a84a', // Lighter amber
|
|
47
|
+
'#7faac4', // Lighter slate blue
|
|
48
|
+
'#c0c0c0', // Lighter gray
|
|
49
|
+
];
|
|
50
|
+
// Sankey-specific palette (blue-gray color scheme to match Python)
|
|
51
|
+
export const PALETTE_SANKEY = [
|
|
52
|
+
'#055a7a', // Deep blue (darker than primary)
|
|
53
|
+
'#0777b3', // Primary blue (theme color)
|
|
54
|
+
'#638CAD', // Slate blue (theme info color)
|
|
55
|
+
'#7da3b5', // Soft blue-gray
|
|
56
|
+
'#5a8a8a', // Muted teal
|
|
57
|
+
'#7a6b8a', // Muted purple
|
|
58
|
+
'#94b5be', // Light steel
|
|
59
|
+
'#8a9a9e', // Warm gray
|
|
60
|
+
'#9a8a9a', // Dusty lavender
|
|
61
|
+
'#b8c4c8', // Pale blue-gray
|
|
62
|
+
];
|
|
63
|
+
// Sankey dark theme palette
|
|
64
|
+
export const PALETTE_SANKEY_DARK = [
|
|
65
|
+
'#4a9cc4', // Medium blue
|
|
66
|
+
'#5bb0d4', // Light blue
|
|
67
|
+
'#7fc4de', // Pale blue
|
|
68
|
+
'#7ab0b0', // Light teal
|
|
69
|
+
'#9a8aaa', // Light purple
|
|
70
|
+
'#8ac0c8', // Soft teal
|
|
71
|
+
'#a8b8bc', // Warm gray
|
|
72
|
+
'#b0a0b0', // Light lavender
|
|
73
|
+
'#bfbfbf', // Neutral gray
|
|
74
|
+
'#c8d4d8', // Pale blue-gray
|
|
75
|
+
];
|
|
76
|
+
// Grid system constants
|
|
77
|
+
export const GRID_TOTAL_COLUMNS = 16;
|
|
78
|
+
export const DEFAULT_COLUMN_SPAN = 8;
|
|
79
|
+
// Typography constants
|
|
80
|
+
export const FONT_SIZE_XL = 32;
|
|
81
|
+
export const FONT_SIZE_LG = 24;
|
|
82
|
+
export const FONT_SIZE_MD = 16;
|
|
83
|
+
export const FONT_SIZE_SM = 14;
|
|
84
|
+
export const FONT_SIZE_XS = 12;
|
|
85
|
+
export const FONT_SIZE_XXS = 11;
|
|
86
|
+
export const FONT_SIZE_TINY = 10;
|
|
87
|
+
export const FONT_SIZE_MICRO = 9;
|
|
88
|
+
export const FONT_SIZE_NANO = 8;
|
|
89
|
+
// Spacing constants
|
|
90
|
+
export const SPACING_XL = 32;
|
|
91
|
+
export const SPACING_LG = 24;
|
|
92
|
+
export const SPACING_MD = 16;
|
|
93
|
+
export const SPACING_SM = 12;
|
|
94
|
+
export const SPACING_XS = 8;
|
|
95
|
+
export const SPACING_XXS = 4;
|
|
96
|
+
// Chart size defaults
|
|
97
|
+
export const DEFAULT_CHART_HEIGHT = 300;
|
|
98
|
+
export const SMALL_CHART_HEIGHT = 200;
|
|
99
|
+
export const LARGE_CHART_HEIGHT = 400;
|
|
100
|
+
// Bar chart constants
|
|
101
|
+
export const BAR_MAX_WIDTH = 32;
|
|
102
|
+
export const SCATTER_SYMBOL_SIZE = 10;
|
|
103
|
+
// Sparkline constants
|
|
104
|
+
export const SPARKLINE_WIDTH = 80;
|
|
105
|
+
export const SPARKLINE_HEIGHT = 20;
|
|
106
|
+
export const DUMBBELL_DOT_RADIUS = 4;
|
|
107
|
+
// Complex chart constants
|
|
108
|
+
export const DUMBBELL_SYMBOL_SIZE = 22; // Dumbbell chart dot size
|
|
109
|
+
export const XMR_SYMBOL_SIZE = 6; // XMR chart data point size
|
|
110
|
+
export const XMR_VIOLATION_SYMBOL_SIZE = 10; // XMR violation highlight point size
|
|
111
|
+
export const DEFAULT_XMR_HEIGHT = 400; // XmR (stacked dual chart)
|
|
112
|
+
// Legend constants (narrow line-style swatches to match Python)
|
|
113
|
+
export const LEGEND_ITEM_WIDTH = 14;
|
|
114
|
+
export const LEGEND_ITEM_HEIGHT = 3;
|
|
115
|
+
export const LEGEND_ITEM_GAP = 24;
|
|
116
|
+
// ECharts CDN
|
|
117
|
+
export const ECHARTS_CDN = 'https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js';
|
|
118
|
+
// Font
|
|
119
|
+
export const FONT_STACK = "'Inter', -apple-system, BlinkMacSystemFont, sans-serif";
|
|
120
|
+
export const FONT_IMPORT = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap';
|
|
121
|
+
// Alert icons (Unicode)
|
|
122
|
+
export const ALERT_ICONS = {
|
|
123
|
+
info: 'ℹ',
|
|
124
|
+
success: '✓',
|
|
125
|
+
warning: '⚠',
|
|
126
|
+
error: '✕',
|
|
127
|
+
};
|
|
128
|
+
// Note border colors
|
|
129
|
+
export const NOTE_COLORS = {
|
|
130
|
+
default: COLORS.SECONDARY_ORANGE,
|
|
131
|
+
warning: COLORS.WARNING_AMBER,
|
|
132
|
+
tip: COLORS.POSITIVE_GREEN,
|
|
133
|
+
};
|
|
134
|
+
// Responsive breakpoints
|
|
135
|
+
export const BREAKPOINT_MOBILE = 480;
|
|
136
|
+
export const BREAKPOINT_TABLET = 768;
|
|
137
|
+
export const BREAKPOINT_DESKTOP = 1024;
|
|
138
|
+
/**
|
|
139
|
+
* Get theme colors for light or dark theme
|
|
140
|
+
*/
|
|
141
|
+
export function getThemeColors(theme = 'light') {
|
|
142
|
+
if (theme === 'dark') {
|
|
143
|
+
return {
|
|
144
|
+
primary: PALETTE_DARK[0] ?? '#3da8e0',
|
|
145
|
+
secondary: PALETTE_DARK[1] ?? '#e06b4e',
|
|
146
|
+
tertiary: PALETTE_DARK[4] ?? '#7faac4', // Slate blue (position 5 in palette)
|
|
147
|
+
positive: PALETTE_DARK[2] ?? '#6ed020', // Green (position 3 in palette)
|
|
148
|
+
warning: PALETTE_DARK[3] ?? '#f5a84a',
|
|
149
|
+
error: '#ef5350', // Error red not in palette
|
|
150
|
+
background: COLORS.DARK,
|
|
151
|
+
paper: COLORS.GRAY_800,
|
|
152
|
+
text: COLORS.WHITE,
|
|
153
|
+
textSecondary: '#888888', // Python: "#888888" for dark mode
|
|
154
|
+
border: COLORS.GRID_DARK,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
primary: COLORS.PRIMARY_BLUE,
|
|
159
|
+
secondary: COLORS.SECONDARY_ORANGE,
|
|
160
|
+
tertiary: COLORS.INFO_BLUE,
|
|
161
|
+
positive: COLORS.POSITIVE_GREEN,
|
|
162
|
+
warning: COLORS.WARNING_AMBER,
|
|
163
|
+
error: COLORS.ERROR_RED,
|
|
164
|
+
background: COLORS.PAPER, // Python uses #f8f8f8 for bg
|
|
165
|
+
paper: COLORS.WHITE, // tooltip background
|
|
166
|
+
text: COLORS.DARK,
|
|
167
|
+
textSecondary: COLORS.TEXT_MUTED, // Python: #6a6a6a
|
|
168
|
+
border: COLORS.GRID_LIGHT, // Python: #d4d4d4
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get color palette for chart series
|
|
173
|
+
*/
|
|
174
|
+
export function getPalette(theme = 'light') {
|
|
175
|
+
return theme === 'dark' ? PALETTE_DARK : PALETTE;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get tooltip configuration for ECharts
|
|
179
|
+
*/
|
|
180
|
+
export function getTooltipConfig(theme = 'light') {
|
|
181
|
+
const colors = getThemeColors(theme);
|
|
182
|
+
return {
|
|
183
|
+
trigger: 'axis',
|
|
184
|
+
backgroundColor: colors.paper,
|
|
185
|
+
borderColor: colors.border,
|
|
186
|
+
textStyle: {
|
|
187
|
+
color: colors.text,
|
|
188
|
+
fontSize: FONT_SIZE_SM,
|
|
189
|
+
},
|
|
190
|
+
axisPointer: {
|
|
191
|
+
type: 'shadow',
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Get base ECharts option with theme defaults
|
|
197
|
+
*/
|
|
198
|
+
export function getBaseOption(spec) {
|
|
199
|
+
const theme = spec.theme ?? 'light';
|
|
200
|
+
const colors = getThemeColors(theme);
|
|
201
|
+
return {
|
|
202
|
+
backgroundColor: 'transparent',
|
|
203
|
+
textStyle: {
|
|
204
|
+
fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
|
|
205
|
+
color: colors.text,
|
|
206
|
+
},
|
|
207
|
+
title: spec.title
|
|
208
|
+
? {
|
|
209
|
+
text: spec.title,
|
|
210
|
+
left: 'center',
|
|
211
|
+
textStyle: {
|
|
212
|
+
fontSize: FONT_SIZE_MD,
|
|
213
|
+
fontWeight: 600,
|
|
214
|
+
color: colors.text,
|
|
215
|
+
},
|
|
216
|
+
}
|
|
217
|
+
: undefined,
|
|
218
|
+
tooltip: getTooltipConfig(theme),
|
|
219
|
+
grid: {
|
|
220
|
+
left: SPACING_MD,
|
|
221
|
+
right: SPACING_MD,
|
|
222
|
+
top: spec.title ? SPACING_XL + SPACING_MD : SPACING_MD,
|
|
223
|
+
bottom: SPACING_MD,
|
|
224
|
+
containLabel: true,
|
|
225
|
+
},
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get axis configuration for ECharts
|
|
230
|
+
*/
|
|
231
|
+
export function getAxisConfig(theme = 'light', axisType = 'category') {
|
|
232
|
+
const colors = getThemeColors(theme);
|
|
233
|
+
return {
|
|
234
|
+
type: axisType,
|
|
235
|
+
axisLine: {
|
|
236
|
+
lineStyle: {
|
|
237
|
+
color: colors.border,
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
axisTick: {
|
|
241
|
+
lineStyle: {
|
|
242
|
+
color: colors.border,
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
axisLabel: {
|
|
246
|
+
color: colors.textSecondary,
|
|
247
|
+
fontSize: FONT_SIZE_XS,
|
|
248
|
+
},
|
|
249
|
+
splitLine: {
|
|
250
|
+
lineStyle: {
|
|
251
|
+
color: colors.border,
|
|
252
|
+
type: [2, 3],
|
|
253
|
+
opacity: 0.6,
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// Default sizes for components [colSpan, rowSpan] - must match Python's DEFAULT_SIZES
|
|
259
|
+
export const DEFAULT_SIZES = {
|
|
260
|
+
big_value: [4, 2],
|
|
261
|
+
delta: [4, 2],
|
|
262
|
+
sparkline: [4, 2],
|
|
263
|
+
bar: [8, 5],
|
|
264
|
+
line: [8, 5],
|
|
265
|
+
area: [8, 5],
|
|
266
|
+
pie: [8, 5],
|
|
267
|
+
scatter: [8, 5],
|
|
268
|
+
bubble: [8, 5],
|
|
269
|
+
combo: [8, 5],
|
|
270
|
+
funnel: [8, 5],
|
|
271
|
+
sankey: [8, 5],
|
|
272
|
+
heatmap: [16, 10],
|
|
273
|
+
histogram: [8, 5],
|
|
274
|
+
boxplot: [8, 5],
|
|
275
|
+
waterfall: [8, 5],
|
|
276
|
+
xmr: [16, 6],
|
|
277
|
+
calendar: [16, 6],
|
|
278
|
+
dumbbell: [12, 6],
|
|
279
|
+
table: [16, 4],
|
|
280
|
+
alert: [16, 1],
|
|
281
|
+
note: [16, 1],
|
|
282
|
+
text: [16, 1],
|
|
283
|
+
textarea: [16, 4],
|
|
284
|
+
empty_space: [4, 2],
|
|
285
|
+
};
|
|
286
|
+
/**
|
|
287
|
+
* Calculate recommended size [cols, rows] based on chart type and data.
|
|
288
|
+
* Auto-sizing only makes charts LARGER than defaults, never smaller.
|
|
289
|
+
*/
|
|
290
|
+
export function autoSizeChart(chartType, spec) {
|
|
291
|
+
const data = (spec.data ?? []);
|
|
292
|
+
const dataLen = data.length;
|
|
293
|
+
// Base sizes from defaults - auto-size will NEVER go smaller than these
|
|
294
|
+
const [baseCols, baseRows] = DEFAULT_SIZES[chartType] ?? [8, 5];
|
|
295
|
+
let cols;
|
|
296
|
+
let rows;
|
|
297
|
+
// Full-width types stay full-width
|
|
298
|
+
if (['heatmap', 'xmr', 'calendar', 'table', 'alert', 'note', 'text', 'textarea'].includes(chartType)) {
|
|
299
|
+
cols = 16;
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
// Scale width based on number of categories
|
|
303
|
+
if (dataLen <= 4) {
|
|
304
|
+
cols = baseCols;
|
|
305
|
+
}
|
|
306
|
+
else if (dataLen <= 8) {
|
|
307
|
+
cols = Math.max(12, baseCols);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
cols = 16;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// Scale height based on data and chart type
|
|
314
|
+
if (['bar', 'line', 'area', 'combo'].includes(chartType)) {
|
|
315
|
+
// Multi-series charts need more height
|
|
316
|
+
const y = spec.y;
|
|
317
|
+
const seriesCount = Array.isArray(y) ? y.length : 1;
|
|
318
|
+
// Base height on data points
|
|
319
|
+
if (dataLen <= 6) {
|
|
320
|
+
rows = baseRows;
|
|
321
|
+
}
|
|
322
|
+
else if (dataLen <= 12) {
|
|
323
|
+
rows = Math.max(6, baseRows);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
rows = Math.max(8, baseRows);
|
|
327
|
+
}
|
|
328
|
+
// More series → more height for legend
|
|
329
|
+
if (seriesCount > 1) {
|
|
330
|
+
rows = Math.min(rows + 1, 10);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
else if (chartType === 'pie') {
|
|
334
|
+
const sliceCount = dataLen;
|
|
335
|
+
if (sliceCount <= 4) {
|
|
336
|
+
rows = baseRows;
|
|
337
|
+
}
|
|
338
|
+
else if (sliceCount <= 8) {
|
|
339
|
+
rows = Math.max(6, baseRows);
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
rows = Math.max(8, baseRows);
|
|
343
|
+
}
|
|
344
|
+
// Pie charts benefit from being square-ish, but don't shrink
|
|
345
|
+
cols = Math.max(Math.min(cols, 12), baseCols);
|
|
346
|
+
}
|
|
347
|
+
else if (chartType === 'scatter') {
|
|
348
|
+
if (dataLen <= 20) {
|
|
349
|
+
rows = baseRows;
|
|
350
|
+
}
|
|
351
|
+
else if (dataLen <= 50) {
|
|
352
|
+
rows = Math.max(6, baseRows);
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
rows = Math.max(8, baseRows);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else if (chartType === 'table') {
|
|
359
|
+
// Tables: scale height by row count, but never smaller than default
|
|
360
|
+
if (dataLen <= 5) {
|
|
361
|
+
rows = baseRows;
|
|
362
|
+
}
|
|
363
|
+
else if (dataLen <= 10) {
|
|
364
|
+
rows = Math.max(5, baseRows);
|
|
365
|
+
}
|
|
366
|
+
else if (dataLen <= 20) {
|
|
367
|
+
rows = Math.max(8, baseRows);
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
rows = Math.max(12, baseRows);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
else if (['funnel', 'waterfall'].includes(chartType)) {
|
|
374
|
+
if (dataLen <= 4) {
|
|
375
|
+
rows = baseRows;
|
|
376
|
+
}
|
|
377
|
+
else if (dataLen <= 8) {
|
|
378
|
+
rows = Math.max(7, baseRows);
|
|
379
|
+
}
|
|
380
|
+
else {
|
|
381
|
+
rows = Math.max(10, baseRows);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
else if (chartType === 'sankey') {
|
|
385
|
+
// Sankey: scale based on node complexity
|
|
386
|
+
const nodes = (spec.nodes ?? []);
|
|
387
|
+
if (nodes.length <= 6) {
|
|
388
|
+
rows = baseRows;
|
|
389
|
+
}
|
|
390
|
+
else if (nodes.length <= 12) {
|
|
391
|
+
rows = Math.max(8, baseRows);
|
|
392
|
+
}
|
|
393
|
+
else {
|
|
394
|
+
rows = Math.max(12, baseRows);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
else if (chartType === 'dumbbell') {
|
|
398
|
+
// Dumbbell: 18px dots + ~2px gap = 20px per category
|
|
399
|
+
if (dataLen <= 4) {
|
|
400
|
+
rows = baseRows;
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
// Scale: 5 cats = 6, 8 cats = 8, 10 cats = 9, 15 cats = 13
|
|
404
|
+
rows = Math.max(3 + Math.floor((dataLen * 2) / 3), baseRows);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
rows = baseRows;
|
|
409
|
+
}
|
|
410
|
+
// Final safety check: never return smaller than defaults
|
|
411
|
+
return [Math.max(cols, baseCols), Math.max(rows, baseRows)];
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Get heatmap color gradient for theme
|
|
415
|
+
* Lightest color matches background for consistency with table rows
|
|
416
|
+
*/
|
|
417
|
+
export function getHeatmapColors(theme = 'light') {
|
|
418
|
+
if (theme === 'dark') {
|
|
419
|
+
return [COLORS.DARK, PALETTE_DARK[0] ?? '#3da8e0'];
|
|
420
|
+
}
|
|
421
|
+
return [COLORS.PAPER, COLORS.PRIMARY_BLUE];
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Get sparkline color palette
|
|
425
|
+
*/
|
|
426
|
+
export function getSparklineColors(theme = 'light') {
|
|
427
|
+
if (theme === 'dark') {
|
|
428
|
+
return {
|
|
429
|
+
line: '#4db8ff',
|
|
430
|
+
min: '#ef5350', // Red for min
|
|
431
|
+
max: '#4db8ff', // Blue for max
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
return {
|
|
435
|
+
line: COLORS.PRIMARY_BLUE,
|
|
436
|
+
min: COLORS.ERROR_RED, // Red for min
|
|
437
|
+
max: COLORS.PRIMARY_BLUE, // Blue for max
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Get waterfall chart colors
|
|
442
|
+
*/
|
|
443
|
+
export function getWaterfallColors() {
|
|
444
|
+
return {
|
|
445
|
+
increase: COLORS.POSITIVE_GREEN, // Green for increases
|
|
446
|
+
decrease: COLORS.ERROR_RED, // Red for decreases
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Get link color for hyperlinks
|
|
451
|
+
*/
|
|
452
|
+
export function getLinkColor() {
|
|
453
|
+
return COLORS.PRIMARY_BLUE;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Get axis label formatter JS function for smart number formatting.
|
|
457
|
+
* Uses compact formatting (1 decimal for m/b, 0 for k) to prevent label overlap.
|
|
458
|
+
*/
|
|
459
|
+
export function getAxisLabelFormatterJs(isCurrency = false) {
|
|
460
|
+
const prefix = isCurrency ? "'$' + " : '';
|
|
461
|
+
return {
|
|
462
|
+
_js_: `function(value) {
|
|
463
|
+
if (value === null || value === undefined) return '';
|
|
464
|
+
var abs = Math.abs(value);
|
|
465
|
+
var neg = value < 0;
|
|
466
|
+
var result;
|
|
467
|
+
if (abs >= 1000000000) {
|
|
468
|
+
var scaled = abs / 1000000000;
|
|
469
|
+
result = ${prefix}scaled.toFixed(1) + 'b';
|
|
470
|
+
} else if (abs >= 1000000) {
|
|
471
|
+
var scaled = abs / 1000000;
|
|
472
|
+
result = ${prefix}scaled.toFixed(1) + 'm';
|
|
473
|
+
} else if (abs >= 1000) {
|
|
474
|
+
var scaled = abs / 1000;
|
|
475
|
+
result = ${prefix}scaled.toFixed(0) + 'k';
|
|
476
|
+
} else {
|
|
477
|
+
if (abs === Math.floor(abs)) result = ${prefix}Math.floor(abs);
|
|
478
|
+
else result = ${prefix}abs.toFixed(1);
|
|
479
|
+
}
|
|
480
|
+
return neg ? '(' + result + ')' : result;
|
|
481
|
+
}`,
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
//# sourceMappingURL=themes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../core/themes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version check utility for mviz CLI
|
|
3
|
+
*
|
|
4
|
+
* Checks npm registry for newer versions and notifies users.
|
|
5
|
+
* Caches results to avoid slowing down normal usage.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Get the current package version from package.json
|
|
9
|
+
*/
|
|
10
|
+
export declare function getCurrentVersion(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Check for updates and return notification message if available
|
|
13
|
+
*
|
|
14
|
+
* This function is designed to be non-blocking and fast.
|
|
15
|
+
* It uses cached results when possible and checks in the background.
|
|
16
|
+
*/
|
|
17
|
+
export declare function checkForUpdates(): Promise<string | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Check for updates in the background (fire-and-forget)
|
|
20
|
+
* Prints notification to stderr if update is available
|
|
21
|
+
*/
|
|
22
|
+
export declare function checkForUpdatesBackground(): void;
|
|
23
|
+
//# sourceMappingURL=version-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../core/version-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAsB1C;AA4ED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0B9D;AASD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAehD"}
|