@cfasim-ui/charts 0.2.3 → 0.3.1

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.
@@ -1,3 +1,4 @@
1
+ import { Topology } from 'topojson-specification';
1
2
  export type GeoType = "states" | "counties" | "hsas";
2
3
  export interface StateData {
3
4
  /** FIPS code (e.g. "06" for California, "04015" for a county) or name */
@@ -24,6 +25,10 @@ export interface CategoricalStop {
24
25
  color: string;
25
26
  }
26
27
  type __VLS_Props = {
28
+ /** TopoJSON topology object (e.g. from us-atlas/states-10m.json or us-atlas/counties-10m.json).
29
+ * Must contain a "states" object for geoType="states", or both "states" and "counties" objects
30
+ * for geoType="counties" or geoType="hsas". */
31
+ topology: Topology;
27
32
  data?: StateData[];
28
33
  /** Geographic type: "states" (default), "counties", or "hsas" (Health Service Areas) */
29
34
  geoType?: GeoType;
@@ -14,6 +14,21 @@ type __VLS_Props = {
14
14
  maxRows?: number;
15
15
  columnConfig?: Record<string, ColumnConfig>;
16
16
  menu?: boolean | string;
17
+ /**
18
+ * Custom CSV content for the Download CSV menu item and download link.
19
+ * Can be a raw CSV string or a function returning one. When omitted, CSV
20
+ * is generated from the table data.
21
+ */
22
+ csv?: string | (() => string);
23
+ /** Filename (without extension) for downloaded CSV files. */
24
+ filename?: string;
25
+ /**
26
+ * Show a plain text link below the table to download the CSV data.
27
+ * Pass `true` for the default label ("Download data (CSV)") or a string
28
+ * to customize the link text. When set, the Download CSV menu item is
29
+ * hidden.
30
+ */
31
+ downloadLink?: boolean | string;
17
32
  };
18
33
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
34
  menu: boolean | string;
@@ -39,6 +39,20 @@ type __VLS_Props = {
39
39
  tooltipData?: unknown[];
40
40
  /** Tooltip activation mode. Default: 'hover' */
41
41
  tooltipTrigger?: "hover" | "click";
42
+ /**
43
+ * Custom CSV content for the Download CSV menu item. Can be a raw CSV
44
+ * string or a function returning one. When omitted, CSV is generated
45
+ * from the chart series.
46
+ */
47
+ csv?: string | (() => string);
48
+ /** Filename (without extension) for downloaded SVG, PNG and CSV files. */
49
+ filename?: string;
50
+ /**
51
+ * Show a plain text link below the chart to download the CSV data.
52
+ * Pass `true` for the default label ("Download data (CSV)") or a string
53
+ * to customize the link text.
54
+ */
55
+ downloadLink?: boolean | string;
42
56
  };
43
57
  declare function __VLS_template(): {
44
58
  attrs: Partial<{}>;
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .chart-menu-trigger-area[data-v-fe2f6904]{z-index:1;position:absolute;top:0;right:0}.chart-menu-button[data-v-fe2f6904]{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-fe2f6904]{opacity:1}.chart-menu-button[data-v-fe2f6904]:hover{background:var(--color-bg-1,#0000000d);color:var(--color-text)}.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}.line-chart-wrapper[data-v-4ea55781]{width:100%;position:relative}.line-chart-wrapper[data-v-4ea55781]:hover .chart-menu-button{opacity:1}.line-chart-tooltip-label[data-v-4ea55781]{margin-bottom:.25em;font-weight:600}.line-chart-tooltip-row[data-v-4ea55781]{align-items:center;gap:.375em;display:flex}.line-chart-tooltip-swatch[data-v-4ea55781]{border-radius:50%;flex-shrink:0;width:.625em;height:.625em;display:inline-block}.choropleth-wrapper[data-v-af9f8a22]{width:100%;position:relative}.choropleth-wrapper.pannable svg[data-v-af9f8a22]{cursor:grab}.choropleth-wrapper.pannable svg[data-v-af9f8a22]:active{cursor:grabbing}.choropleth-wrapper[data-v-af9f8a22]:hover .chart-menu-button{opacity:1}.state-path[data-v-af9f8a22]{cursor:pointer}.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-dbfb7c84]{display:inline-block;position:relative}.TableOuter.has-menu[data-v-dbfb7c84]{padding-top:32px}.TableOuter[data-v-dbfb7c84]:hover .chart-menu-button{opacity:1}.TableWrapper[data-v-dbfb7c84]{font-size:var(--font-size-sm);overflow-x:auto}.Table[data-v-dbfb7c84]{border-collapse:collapse;font-variant-numeric:tabular-nums;border:1px solid var(--color-border)}.Table tr[data-v-dbfb7c84],.Table th[data-v-dbfb7c84],.Table td[data-v-dbfb7c84]{background:0 0;border:none}.Table th[data-v-dbfb7c84],.Table td[data-v-dbfb7c84]{white-space:nowrap;padding:.75em 1.25em}.Table th[data-v-dbfb7c84]{border-bottom:1px solid var(--color-border-header);font-weight:600;position:sticky;top:0}.Table tbody td[data-v-dbfb7c84]{border-bottom:1px solid var(--color-border)}.Table tbody tr:last-child td[data-v-dbfb7c84]{border-bottom:none}
1
+ .chart-menu-trigger-area[data-v-fe2f6904]{z-index:1;position:absolute;top:0;right:0}.chart-menu-button[data-v-fe2f6904]{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-fe2f6904]{opacity:1}.chart-menu-button[data-v-fe2f6904]:hover{background:var(--color-bg-1,#0000000d);color:var(--color-text)}.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}.line-chart-wrapper[data-v-61fdeef2]{width:100%;position:relative}.line-chart-wrapper[data-v-61fdeef2]:hover .chart-menu-button{opacity:1}.line-chart-tooltip-label[data-v-61fdeef2]{margin-bottom:.25em;font-weight:600}.line-chart-tooltip-row[data-v-61fdeef2]{align-items:center;gap:.375em;display:flex}.line-chart-download-link[data-v-61fdeef2]{text-align:right;font-size:var(--font-size-sm);margin-top:.25em;display:block}.line-chart-tooltip-swatch[data-v-61fdeef2]{border-radius:50%;flex-shrink:0;width:.625em;height:.625em;display:inline-block}.choropleth-wrapper[data-v-ffaf1671]{width:100%;position:relative}.choropleth-wrapper.pannable svg[data-v-ffaf1671]{cursor:grab}.choropleth-wrapper.pannable svg[data-v-ffaf1671]:active{cursor:grabbing}.choropleth-wrapper[data-v-ffaf1671]:hover .chart-menu-button{opacity:1}.state-path[data-v-ffaf1671]{cursor:pointer}.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-505e2187]{display:inline-block;position:relative}.TableOuter.has-menu[data-v-505e2187]{margin-top:32px}.TableOuter[data-v-505e2187] .chart-menu-trigger-area{top:-32px;right:0}.TableOuter[data-v-505e2187]:hover .chart-menu-button{opacity:1}.TableWrapper[data-v-505e2187]{font-size:var(--font-size-sm);overflow-x:auto}.Table[data-v-505e2187]{border-collapse:collapse;font-variant-numeric:tabular-nums;border:1px solid var(--color-border);margin:0;display:table}.Table tr[data-v-505e2187],.Table th[data-v-505e2187],.Table td[data-v-505e2187]{background:0 0;border:none}.Table th[data-v-505e2187],.Table td[data-v-505e2187]{white-space:nowrap;padding:.75em 1.25em}.Table th[data-v-505e2187]{border-bottom:1px solid var(--color-border-header);font-weight:600;position:sticky;top:0}.Table tbody td[data-v-505e2187]{border-bottom:1px solid var(--color-border)}.Table tbody tr:last-child td[data-v-505e2187]{border-bottom:none}.data-table-download-link[data-v-505e2187]{text-align:right;font-size:var(--font-size-sm);margin-top:.25em;display:block}
2
2
  /*$vite$:1*/