@cfasim-ui/charts 0.7.7 → 0.8.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.
- package/dist/BarChart/BarChart.d.ts +9 -26
- package/dist/ChartMenu/ChartMenu.d.ts +3 -2
- package/dist/ChartTooltip/ChartTooltip.d.ts +9 -12
- package/dist/ChoroplethMap/ChoroplethMap.d.ts +28 -189
- package/dist/ChoroplethMap/ChoroplethTooltip.d.ts +20 -27
- package/dist/ChoroplethMap/canvasLayer.d.ts +27 -3
- package/dist/DataTable/DataTable.d.ts +3 -2
- package/dist/LineChart/LineChart.d.ts +9 -26
- package/dist/_shared/ChartAnnotations.d.ts +3 -2
- package/dist/_shared/ChartZoomControls.d.ts +3 -2
- package/dist/_shared/index.d.ts +2 -1
- package/dist/_shared/mapTheme.d.ts +159 -0
- package/dist/_shared/mapTheme.test.d.ts +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1710 -1432
- package/docs/BarChart.md +776 -0
- package/docs/ChoroplethMap.md +1267 -0
- package/docs/DataTable.md +386 -0
- package/docs/LineChart.md +1267 -0
- package/docs/index.json +56 -0
- package/package.json +25 -21
- package/src/BarChart/BarChart.md +743 -0
- package/src/BarChart/BarChart.vue +1901 -0
- package/src/ChartMenu/ChartMenu.vue +220 -0
- package/src/ChartMenu/download.ts +120 -0
- package/src/ChartTooltip/ChartTooltip.vue +97 -0
- package/src/ChoroplethMap/ChoroplethMap.md +1227 -0
- package/src/ChoroplethMap/ChoroplethMap.vue +3676 -0
- package/src/ChoroplethMap/ChoroplethTooltip.vue +103 -0
- package/src/ChoroplethMap/canvasLayer.ts +373 -0
- package/src/ChoroplethMap/cityLayout.ts +261 -0
- package/src/ChoroplethMap/hsaMapping.ts +4116 -0
- package/src/DataTable/DataTable.md +372 -0
- package/src/DataTable/DataTable.vue +406 -0
- package/src/LineChart/LineChart.md +1225 -0
- package/src/LineChart/LineChart.vue +1555 -0
- package/src/_shared/ChartAnnotations.vue +420 -0
- package/src/_shared/ChartZoomControls.vue +138 -0
- package/src/_shared/annotations.ts +106 -0
- package/src/_shared/axes.ts +69 -0
- package/src/_shared/chartProps.ts +201 -0
- package/src/_shared/computeTicks.ts +42 -0
- package/src/_shared/contrast.ts +100 -0
- package/src/_shared/dateAxis.ts +501 -0
- package/src/_shared/index.ts +78 -0
- package/src/_shared/mapTheme.ts +551 -0
- package/src/_shared/scale.ts +86 -0
- package/src/_shared/seriesCsv.ts +68 -0
- package/src/_shared/touch.ts +8 -0
- package/src/_shared/useChartFoundation.ts +175 -0
- package/src/_shared/useChartFullscreen.ts +254 -0
- package/src/_shared/useChartMenu.ts +111 -0
- package/src/_shared/useChartPadding.ts +235 -0
- package/src/_shared/useChartSize.ts +58 -0
- package/src/_shared/useChartTooltip.ts +205 -0
- package/src/env.d.ts +4 -0
- package/src/hsa-mapping.ts +1 -0
- package/src/index.ts +41 -0
- package/src/tooltip-position.ts +55 -0
- package/src/us-cities/data.ts +1371 -0
- package/src/us-cities/index.ts +122 -0
- package/src/us-cities.ts +7 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
export interface MapTheme {
|
|
3
|
+
/**
|
|
4
|
+
* Base fill for features without a data value (any CSS color).
|
|
5
|
+
* Default: `var(--choropleth-fill, light-dark(#ddd, #3f3f46))`.
|
|
6
|
+
*/
|
|
7
|
+
fill?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Interior feature borders (any CSS color).
|
|
10
|
+
* Default: `var(--choropleth-stroke, light-dark(#fff, #18181b))`.
|
|
11
|
+
*/
|
|
12
|
+
stroke?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Feature border width in CSS px, kept constant on screen at any zoom.
|
|
15
|
+
* Unset falls back to the component default (0.5, halved on county/HSA
|
|
16
|
+
* maps); an explicit value applies as-is on every geoType. 0 disables.
|
|
17
|
+
*/
|
|
18
|
+
strokeWidth?: number;
|
|
19
|
+
/**
|
|
20
|
+
* The state-boundary mesh drawn over county/HSA maps. Falls back to
|
|
21
|
+
* `stroke` unless a visible color resolves (from here or the
|
|
22
|
+
* `--choropleth-borders` custom property). Hide it with
|
|
23
|
+
* `bordersWidth: 0`.
|
|
24
|
+
*/
|
|
25
|
+
borders?: string;
|
|
26
|
+
/** State-borders mesh width in CSS px. Default 1; 0 disables. */
|
|
27
|
+
bordersWidth?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Exterior boundary of the rendered geography (the nation outline, or
|
|
30
|
+
* the state outline in single-state mode), drawn on top of interior
|
|
31
|
+
* borders. Off unless a visible color resolves, so the
|
|
32
|
+
* `--choropleth-outline` custom property can enable it (it defaults to
|
|
33
|
+
* `transparent`).
|
|
34
|
+
*/
|
|
35
|
+
outline?: string;
|
|
36
|
+
/** Exterior outline width in CSS px. Default 1; 0 disables. */
|
|
37
|
+
outlineWidth?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Background wash behind the map features. Off unless a visible color
|
|
40
|
+
* resolves, so the `--choropleth-background` custom property can enable
|
|
41
|
+
* it (it defaults to `transparent`).
|
|
42
|
+
*/
|
|
43
|
+
background?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Hover/focus highlight stroke. Default:
|
|
46
|
+
* `var(--choropleth-highlight, light-dark(#000, #fff))`. Per-item
|
|
47
|
+
* `FocusItem.stroke` still wins for individual focus outlines.
|
|
48
|
+
*/
|
|
49
|
+
highlight?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Marker overlay (the `cities` prop layer): dot and label color (any
|
|
52
|
+
* CSS color). Sets both `--choropleth-city-marker` and
|
|
53
|
+
* `--choropleth-city-label-color`; default `#1a1a1a` (dark markers
|
|
54
|
+
* with a thin white halo read over any fill in either scheme). The
|
|
55
|
+
* marker layer is SVG in both renderers, so these four keys resolve
|
|
56
|
+
* in CSS directly (no probe) and follow theme flips on their own.
|
|
57
|
+
*/
|
|
58
|
+
markerColor?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Marker overlay: halo color around dots and labels (sets
|
|
61
|
+
* `--choropleth-city-halo`). Default `#fff`.
|
|
62
|
+
*/
|
|
63
|
+
markerHalo?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Halo width around each marker dot, in CSS px (constant on screen at
|
|
66
|
+
* any zoom). Default 0.9; 0 disables the dot halo. The label halo is
|
|
67
|
+
* unaffected.
|
|
68
|
+
*/
|
|
69
|
+
markerHaloWidth?: number;
|
|
70
|
+
/** Opacity of the whole marker layer (dots, labels, halos). Default 1. */
|
|
71
|
+
markerOpacity?: number;
|
|
72
|
+
}
|
|
73
|
+
/** Theme values resolved to canvas-paintable colors. */
|
|
74
|
+
export interface ResolvedMapTheme {
|
|
75
|
+
fill: string;
|
|
76
|
+
stroke: string;
|
|
77
|
+
strokeWidth: number | undefined;
|
|
78
|
+
/** Resolved borders color, falling back to `stroke`. */
|
|
79
|
+
borders: string;
|
|
80
|
+
bordersWidth: number | undefined;
|
|
81
|
+
/** undefined when the outline resolves invisible (off by default) */
|
|
82
|
+
outline: string | undefined;
|
|
83
|
+
outlineWidth: number | undefined;
|
|
84
|
+
/** undefined when the background resolves invisible (off by default) */
|
|
85
|
+
background: string | undefined;
|
|
86
|
+
highlight: string;
|
|
87
|
+
}
|
|
88
|
+
export declare const LIGHT_FILL = "#ddd";
|
|
89
|
+
export declare const DARK_FILL = "#3f3f46";
|
|
90
|
+
export declare const LIGHT_STROKE = "#fff";
|
|
91
|
+
export declare const DARK_STROKE = "#18181b";
|
|
92
|
+
export declare const LIGHT_HIGHLIGHT = "#000";
|
|
93
|
+
export declare const DARK_HIGHLIGHT = "#fff";
|
|
94
|
+
/**
|
|
95
|
+
* The built-in defaults: every channel routes through a `--choropleth-*`
|
|
96
|
+
* custom property, so CSS alone can retheme maps. `borders`, `outline`,
|
|
97
|
+
* and `background` use `transparent` sentinels, staying off (or, for
|
|
98
|
+
* borders, deferring to `stroke`) until a visible color resolves.
|
|
99
|
+
*/
|
|
100
|
+
export declare const mapThemeDefaults: {
|
|
101
|
+
readonly fill: "var(--choropleth-fill, light-dark(#ddd, #3f3f46))";
|
|
102
|
+
readonly stroke: "var(--choropleth-stroke, light-dark(#fff, #18181b))";
|
|
103
|
+
readonly borders: "var(--choropleth-borders, transparent)";
|
|
104
|
+
readonly outline: "var(--choropleth-outline, transparent)";
|
|
105
|
+
readonly background: "var(--choropleth-background, transparent)";
|
|
106
|
+
readonly highlight: "var(--choropleth-highlight, light-dark(#000, #fff))";
|
|
107
|
+
};
|
|
108
|
+
/** Shallow per-key equality; undefined and {} compare equal. */
|
|
109
|
+
export declare function themeEquals(a: MapTheme | undefined, b: MapTheme | undefined): boolean;
|
|
110
|
+
/** A resolved color that should actually paint; transparent means "off". */
|
|
111
|
+
export declare const visible: (c: string) => string | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Bare var() parses but is invalid at computed-value time when the property
|
|
114
|
+
* is undefined, inheriting the page text color; give it a fallback instead.
|
|
115
|
+
* var() references that already carry a fallback are left alone.
|
|
116
|
+
*/
|
|
117
|
+
export declare function withVarFallback(value: string, fallback: string): string;
|
|
118
|
+
export interface MapThemeResolver {
|
|
119
|
+
resolve(theme: MapTheme | undefined): ResolvedMapTheme;
|
|
120
|
+
/**
|
|
121
|
+
* Resolve scale palette colors (colorScale endpoints and stop colors)
|
|
122
|
+
* through the cascade. Each entry gets a persistent watched span, so env
|
|
123
|
+
* changes to any entry notify. Returns a stable array identity until an
|
|
124
|
+
* entry actually resolves differently.
|
|
125
|
+
*/
|
|
126
|
+
resolvePalette(colors: readonly string[], fallbacks: readonly string[]): readonly string[];
|
|
127
|
+
/** Force a re-read on the next resolve (env may have changed unobserved) */
|
|
128
|
+
invalidate(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Compare probe reads against the cache and notify if anything changed.
|
|
131
|
+
* Transitions don't run in non-rendered subtrees, so a map hidden with
|
|
132
|
+
* `display:none` misses theme flips; call this when it may have been
|
|
133
|
+
* shown again (cheap: a handful of getComputedStyle reads, bail on equal).
|
|
134
|
+
*/
|
|
135
|
+
recheck(): void;
|
|
136
|
+
/** True while the last resolve/palette read fell back to constants. */
|
|
137
|
+
unresolved(): boolean;
|
|
138
|
+
destroy(): void;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Hidden probe that resolves CSS color strings against the container's
|
|
142
|
+
* cascade, one channel span per themed color. Each span carries a
|
|
143
|
+
* step-start color transition, so any change to a resolved color (class
|
|
144
|
+
* flip up the tree, media query flip, var redefinition) fires a transition
|
|
145
|
+
* event and triggers `onEnvChange`.
|
|
146
|
+
*/
|
|
147
|
+
export declare function createMapThemeResolver(container: HTMLElement, onEnvChange: () => void): MapThemeResolver;
|
|
148
|
+
/**
|
|
149
|
+
* Vue wrapper around {@link createMapThemeResolver}: creates the probe in
|
|
150
|
+
* `container` on mount, exposes the resolved theme as a computed, and bumps
|
|
151
|
+
* an internal version (re-running dependents) whenever the environment
|
|
152
|
+
* changes a resolved color. `resolvePalette` is reactive the same way; call
|
|
153
|
+
* it from a computed so scale colors re-resolve on theme flips.
|
|
154
|
+
*/
|
|
155
|
+
export declare function useMapTheme(container: Ref<HTMLElement | null>, theme: () => MapTheme | undefined): {
|
|
156
|
+
resolved: import('vue').ComputedRef<ResolvedMapTheme>;
|
|
157
|
+
resolvePalette: (colors: readonly string[], fallbacks: readonly string[]) => readonly string[];
|
|
158
|
+
ensureResolved: () => void;
|
|
159
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.chart-menu-trigger-area[data-v-f5743494]{z-index:1;position:absolute;top:.5em;right:.5em}.chart-menu-trigger-area--expanded[data-v-f5743494]{top:1.25em;right:1.25em}.chart-menu-button[data-v-f5743494]{border:1px solid var(--color-border);background:var(--color-bg-0,#fff);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;opacity:0;border-radius:.25em;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.chart-menu-button[data-state=open][data-v-f5743494],.chart-close-button[data-v-f5743494]{opacity:1}.chart-menu-button[data-v-f5743494]:hover{background:var(--color-bg-1,#0000000d);color:var(--color-text)}.line-chart-wrapper:hover .chart-menu-button,.bar-chart-wrapper:hover .chart-menu-button,.choropleth-wrapper:hover .chart-menu-button,.line-chart-wrapper:focus-within .chart-menu-button,.bar-chart-wrapper:focus-within .chart-menu-button,.choropleth-wrapper:focus-within .chart-menu-button{opacity:1}.chart-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-menu-content{z-index:100;background:var(--color-bg-0);border:1px solid var(--color-border);border-radius:.25em;min-width:140px;padding:.25em;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.chart-menu-item{font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:.25em;outline:none;align-items:center;padding:.375em .5em;display:flex}.chart-menu-item[data-highlighted]{background:var(--color-primary);color:#fff}.chart-zoom-controls[data-v-87ceeada]{z-index:1;flex-direction:column;gap:4px;display:flex;position:absolute;top:.5em;left:.5em}.chart-zoom-controls--expanded[data-v-87ceeada]{top:1.25em;left:1.25em}.chart-zoom-button[data-v-87ceeada]{border:1px solid var(--color-border,#e5e7eb);background:var(--color-bg-0,#fff);width:28px;height:28px;color:var(--color-text-secondary,#555);cursor:pointer;border-radius:.25em;justify-content:center;align-items:center;padding:0;display:flex}.chart-zoom-button[data-v-87ceeada]:hover:not(:disabled){background:var(--color-bg-1,#0000000d);color:var(--color-text)}.chart-zoom-button[data-v-87ceeada]:disabled{opacity:.4;cursor:default}.line-chart-wrapper[data-v-
|
|
1
|
+
.chart-menu-trigger-area[data-v-f5743494]{z-index:1;position:absolute;top:.5em;right:.5em}.chart-menu-trigger-area--expanded[data-v-f5743494]{top:1.25em;right:1.25em}.chart-menu-button[data-v-f5743494]{border:1px solid var(--color-border);background:var(--color-bg-0,#fff);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;opacity:0;border-radius:.25em;justify-content:center;align-items:center;transition:opacity .15s;display:flex}.chart-menu-button[data-state=open][data-v-f5743494],.chart-close-button[data-v-f5743494]{opacity:1}.chart-menu-button[data-v-f5743494]:hover{background:var(--color-bg-1,#0000000d);color:var(--color-text)}.line-chart-wrapper:hover .chart-menu-button,.bar-chart-wrapper:hover .chart-menu-button,.choropleth-wrapper:hover .chart-menu-button,.line-chart-wrapper:focus-within .chart-menu-button,.bar-chart-wrapper:focus-within .chart-menu-button,.choropleth-wrapper:focus-within .chart-menu-button{opacity:1}.chart-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-menu-content{z-index:100;background:var(--color-bg-0);border:1px solid var(--color-border);border-radius:.25em;min-width:140px;padding:.25em;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.chart-menu-item{font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:.25em;outline:none;align-items:center;padding:.375em .5em;display:flex}.chart-menu-item[data-highlighted]{background:var(--color-primary);color:#fff}.chart-zoom-controls[data-v-87ceeada]{z-index:1;flex-direction:column;gap:4px;display:flex;position:absolute;top:.5em;left:.5em}.chart-zoom-controls--expanded[data-v-87ceeada]{top:1.25em;left:1.25em}.chart-zoom-button[data-v-87ceeada]{border:1px solid var(--color-border,#e5e7eb);background:var(--color-bg-0,#fff);width:28px;height:28px;color:var(--color-text-secondary,#555);cursor:pointer;border-radius:.25em;justify-content:center;align-items:center;padding:0;display:flex}.chart-zoom-button[data-v-87ceeada]:hover:not(:disabled){background:var(--color-bg-1,#0000000d);color:var(--color-text)}.chart-zoom-button[data-v-87ceeada]:disabled{opacity:.4;cursor:default}.line-chart-wrapper[data-v-7e41f1cc]{width:100%;position:relative}.line-chart-tooltip-label[data-v-7e41f1cc]{margin-bottom:.25em;font-weight:600}.line-chart-tooltip-row[data-v-7e41f1cc]{align-items:center;gap:.375em;display:flex}.line-chart-download-link[data-v-7e41f1cc]{text-align:right;font-size:var(--font-size-sm);margin-top:.25em;display:block}.line-chart-tooltip-swatch[data-v-7e41f1cc]{border-radius:50%;flex-shrink:0;width:.625em;height:.625em;display:inline-block}.line-chart-download-button{border:1px solid var(--color-border);background:var(--color-bg-0,#fff);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;border-radius:.25em;align-items:center;margin-top:.5em;padding:.5em 1em;display:inline-flex}.line-chart-download-button:hover{background:var(--color-bg-1,#0000000d)}.line-chart-download-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.bar-chart-wrapper[data-v-32872fa4]{width:100%;position:relative}.bar-chart-tooltip-label[data-v-32872fa4]{margin-bottom:.25em;font-weight:600}.bar-chart-tooltip-row[data-v-32872fa4]{align-items:center;gap:.375em;display:flex}.bar-chart-download-link[data-v-32872fa4]{text-align:right;font-size:var(--font-size-sm);margin-top:.25em;display:block}.bar-chart-tooltip-swatch[data-v-32872fa4]{border-radius:50%;flex-shrink:0;width:.625em;height:.625em;display:inline-block}.bar-chart-download-button{border:1px solid var(--color-border);background:var(--color-bg-0,#fff);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;border-radius:.25em;align-items:center;margin-top:.5em;padding:.5em 1em;display:inline-flex}.bar-chart-download-button:hover{background:var(--color-bg-1,#0000000d)}.bar-chart-download-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chart-tooltip-sheet[data-v-90392830]{z-index:2;background:var(--color-bg-0,#fff);color:var(--color-text,inherit);border-top:1px solid var(--color-border,#e5e7eb);padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));pointer-events:none;font-size:14px;line-height:1.4;transition:transform .25s;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 12px #0000001f}.chart-tooltip-sheet.is-open[data-v-90392830]{transform:translateY(0)}.choropleth-wrapper[data-v-85387c29]{--choropleth-legend-bg:var(--color-bg-0,#fff);width:100%;position:relative;container-type:inline-size}.choropleth-wrapper svg[data-v-85387c29]{width:100%;height:auto;display:block}.choropleth-wrapper.pannable svg[data-v-85387c29]{cursor:grab}.choropleth-wrapper.is-fullscreen svg[data-v-85387c29]{flex:auto;width:100%;height:100%;min-height:0}.choropleth-wrapper.pannable svg[data-v-85387c29]:active{cursor:grabbing}.choropleth-wrapper[data-v-85387c29] .state-path{cursor:pointer}.choropleth-city-overlay[data-v-85387c29]{pointer-events:none;position:absolute;top:0;left:0}.choropleth-cities[data-v-85387c29]{--choropleth-city-marker:#1a1a1a;--choropleth-city-halo:#fff;--choropleth-city-label-color:#1a1a1a;font-family:var(--font-family,system-ui, sans-serif)}.choropleth-cities[data-v-85387c29] .choropleth-city-dot{fill:var(--choropleth-city-marker);stroke:var(--choropleth-city-halo)}.choropleth-cities[data-v-85387c29] .choropleth-city-label{fill:var(--choropleth-city-label-color);stroke:var(--choropleth-city-halo);paint-order:stroke fill;stroke-linejoin:round;font-weight:500}.choropleth-cities[data-v-85387c29] .choropleth-city-label-capital{font-weight:700}.choropleth-canvas[data-v-85387c29]{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.choropleth-zoom-hint[data-v-85387c29]{z-index:1;text-align:center;color:var(--color-text-secondary,#777);opacity:.6;pointer-events:none;text-shadow:1px 0 0 var(--color-bg-0,#fff), -1px 0 0 var(--color-bg-0,#fff), 0 1px 0 var(--color-bg-0,#fff), 0 -1px 0 var(--color-bg-0,#fff), 0 0 3px var(--color-bg-0,#fff);padding-top:6px;font-size:12px;line-height:1.4;position:absolute;left:0;right:0}@container (width<=480px){.choropleth-zoom-hint[data-v-85387c29]{padding:0;position:static}}.choropleth-header[data-v-85387c29]{background:var(--choropleth-legend-bg);color:currentColor;border-radius:4px;flex-direction:column;align-items:center;gap:10px;width:fit-content;margin:0 auto;padding:8px 14px;display:flex}.choropleth-title[data-v-85387c29]{white-space:pre-line;font-size:14px;font-weight:600;line-height:1.2}.choropleth-legend[data-v-85387c29]{align-items:center;gap:14px;font-size:13px;line-height:1.2;display:flex}.choropleth-legend-title[data-v-85387c29]{font-weight:600}.choropleth-legend[data-v-85387c29]:has(.choropleth-legend-continuous){align-items:flex-start}.choropleth-legend:has(.choropleth-legend-continuous) .choropleth-legend-title[data-v-85387c29]{line-height:12px}.choropleth-legend-item[data-v-85387c29]{align-items:center;gap:6px;display:inline-flex}.choropleth-legend-swatch[data-v-85387c29]{border-radius:3px;width:12px;height:12px;display:inline-block}.choropleth-legend-continuous[data-v-85387c29]{flex-direction:column;width:160px;display:flex}.choropleth-legend-gradient[data-v-85387c29]{border-radius:2px;height:12px}.choropleth-legend-ticks[data-v-85387c29]{opacity:.7;height:14px;margin-top:4px;font-size:11px;position:relative}.choropleth-legend-ticks>span[data-v-85387c29]{position:absolute;transform:translate(-50%)}.chart-tooltip-anchor[data-v-44377f70]{pointer-events:none;width:1px;height:1px;position:absolute}.chart-tooltip-content{z-index:100;background:var(--color-bg-0,#fff);border:1px solid var(--color-border,#e5e7eb);font-size:var(--font-size-sm,.875rem);pointer-events:none;border-radius:.375em;padding:.5em .75em;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.TableOuter[data-v-9b1b6a76]{display:inline-block;position:relative}.TableOuter.full-width[data-v-9b1b6a76]{display:block}.TableWrapper[data-v-9b1b6a76]{font-size:var(--font-size-sm);overflow-x:auto}.Table[data-v-9b1b6a76]{border-collapse:collapse;font-variant-numeric:tabular-nums;border:1px solid var(--color-border);table-layout:fixed;margin:0;display:table}.Table.full-width[data-v-9b1b6a76]{width:100%}.Table tr[data-v-9b1b6a76],.Table th[data-v-9b1b6a76],.Table td[data-v-9b1b6a76]{background:0 0;border:none}.Table th[data-v-9b1b6a76],.Table td[data-v-9b1b6a76]{white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:.75em 1.25em;overflow:hidden}.Table th.cell-wrap[data-v-9b1b6a76],.Table td.cell-wrap[data-v-9b1b6a76]{white-space:normal;text-overflow:clip;overflow:visible}.Table th[data-v-9b1b6a76]{border-bottom:1px solid var(--color-border-header);font-weight:600;position:sticky;top:0}.Table tbody td[data-v-9b1b6a76]{border-bottom:1px solid var(--color-border)}.Table tbody tr:last-child td[data-v-9b1b6a76]{border-bottom:none}.TableOuter[data-v-9b1b6a76] .chart-menu-trigger-area{top:4px;right:4px}.TableOuter[data-v-9b1b6a76] .chart-menu-button{opacity:1}.TableOuter.has-menu .Table thead th[data-v-9b1b6a76]:last-child{padding-right:2.5em}.data-table-download-button{border:1px solid var(--color-border);background:var(--color-bg-0,#fff);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;border-radius:.25em;align-items:center;margin-top:.75em;padding:.5em 1em;display:inline-flex}.data-table-download-button:hover{background:var(--color-bg-1,#0000000d)}.data-table-download-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.data-table-download-link{text-align:right;font-size:var(--font-size-sm);margin-top:.25em;display:block}
|
|
2
2
|
/*$vite$:1*/
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ export { default as ChoroplethMap, type GeoType, type StateData, type Choropleth
|
|
|
4
4
|
export { default as ChartTooltip } from './ChartTooltip/ChartTooltip';
|
|
5
5
|
export { default as DataTable, type TableData, type TableRecord, type ColumnAlign, type ColumnConfig, type ColumnWidth, } from './DataTable/DataTable';
|
|
6
6
|
export type { CityMarker, PlacedCity } from './ChoroplethMap/cityLayout.js';
|
|
7
|
+
export { mapThemeDefaults, type MapTheme, type ResolvedMapTheme, } from './_shared/mapTheme.js';
|
|
7
8
|
export type { ChartAnnotation } from './_shared/annotations.js';
|
|
8
9
|
export type { BlendMode, LineMarkStyle } from './_shared/chartProps.js';
|