canvasxpress 71.7.0 → 71.9.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/package.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "./package.json": "./package.json"
21
21
  },
22
22
  "title": "CanvasXpress",
23
- "version": "71.7.0",
23
+ "version": "71.9.0",
24
24
  "license": "SEE LICENSE IN LICENSE",
25
25
  "files": [
26
26
  "src",
@@ -50,6 +50,12 @@
50
50
  --cx-color-amber-800: #92400e;
51
51
  --cx-color-black-a35: rgba(0, 0, 0, 0.35);
52
52
  --cx-color-black-a55: rgba(0, 0, 0, 0.55);
53
+ --cx-color-brand-add: #00b4df;
54
+ --cx-color-brand-interact: #ffaa4f;
55
+ --cx-color-brand-data: #eb0000;
56
+ --cx-color-brand-add-a14: rgba(0, 180, 223, 0.14);
57
+ --cx-color-brand-interact-a18: rgba(255, 170, 79, 0.18);
58
+ --cx-color-brand-data-a12: rgba(235, 0, 0, 0.12);
53
59
  /* radius */
54
60
  --cx-radius-none: 0;
55
61
  --cx-radius-sm: 4px;
@@ -31,12 +31,34 @@ export interface CXData {
31
31
  [key: string]: unknown;
32
32
  }
33
33
 
34
- /** The four supported event hooks. `o` is the resolved data object under the cursor. */
34
+ /**
35
+ * User-event hooks fired by the engine. Each handler is called with
36
+ * `this` bound to the chart instance and three arguments: `o` (the resolved
37
+ * data object under the cursor, or null off any element), `e` (the native DOM
38
+ * event) and `t` (the chart instance — prefer this over `this`).
39
+ */
35
40
  export interface CXEvents {
41
+ /** A data element is clicked. */
36
42
  click?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
43
+ /** A legend item is clicked. */
44
+ clicklegend?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
45
+ /** A data element is double-clicked. */
37
46
  dblclick?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
47
+ /** Fired continuously during a drag operation. */
48
+ drag?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
49
+ /** Network graphs: a node drag has finished. */
50
+ enddragnode?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
51
+ /** Fired once after rendering completes. */
52
+ enddraw?: (o: any, e: Event, t: CanvasXpressInstance) => void;
38
53
  mousemove?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
39
54
  mouseout?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
55
+ mouseover?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
56
+ mouseup?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
57
+ /** The chart was updated by a remote source. */
58
+ remoteupdate?: (o: any, e: Event, t: CanvasXpressInstance) => void;
59
+ /** Fired after a selection of data points has been made. */
60
+ select?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
61
+ wheel?: (o: any, e: WheelEvent, t: CanvasXpressInstance) => void;
40
62
  [key: string]: ((o: any, e: any, t: CanvasXpressInstance) => void) | undefined;
41
63
  }
42
64
 
@@ -123,7 +145,7 @@ export type CXGraphType =
123
145
 
124
146
  /**
125
147
  * Full chart configuration — one property per parameter in the CanvasXpress
126
- * config schema (1780 keys). String enums become open literal
148
+ * config schema (1785 keys). String enums become open literal
127
149
  * unions (except `graphType`, which is closed); `@graphTypes` in a key's JSDoc
128
150
  * lists the graph types it applies to (absent = all). The index signature keeps
129
151
  * obfuscation aliases and any newer key valid. See `CXConfigFor<G>` for the
@@ -1587,10 +1609,13 @@ export interface CXConfig {
1587
1609
  dataPipeline?: unknown[] | boolean | string | number;
1588
1610
  /**
1589
1611
  * Approximate pixel size for the data points in scatter plots, dotplots and boxplots. The
1590
- * size will be adjusted according to the dimensions of the graph
1612
+ * size will be adjusted according to the dimensions of the graph. Boxplots and dotplots
1613
+ * default to 15 (to match ggplot2 geom_point) unless set explicitly. Set to the string
1614
+ * "auto" to size scatter points from the plot area, damped by the number of points (larger
1615
+ * dots on sparse/large panels, smaller on dense ones)
1591
1616
  * @default 10
1592
1617
  */
1593
- dataPointSize?: number | boolean;
1618
+ dataPointSize?: number | boolean | "auto";
1594
1619
  /**
1595
1620
  * Factor used to adjust the size of the dataPointSize
1596
1621
  * @default 1
@@ -3153,9 +3178,9 @@ export interface CXConfig {
3153
3178
  /**
3154
3179
  * Specifies the orientation of one-dimensional graphs
3155
3180
  * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
3156
- * @default "horizontal"
3181
+ * @default "vertical"
3157
3182
  */
3158
- graphOrientation?: "horizontal" | "vertical" | false | (string & {});
3183
+ graphOrientation?: "vertical" | "horizontal" | false | (string & {});
3159
3184
  /**
3160
3185
  * Specifies the type of graph to be rendered
3161
3186
  * @default "Bar"
@@ -6817,6 +6842,14 @@ export interface CXConfig {
6817
6842
  * @default []
6818
6843
  */
6819
6844
  segregateVariablesBy?: unknown[] | boolean | string | number;
6845
+ /**
6846
+ * Flag to make fit lines and confidence areas (regression, loess, forecast, Kaplan-Meier
6847
+ * curves/bands, area/ribbon) clickable: a click selects and broadcasts the data the
6848
+ * fit/curve was computed over (e.g. a KM arm selects its whole cohort)
6849
+ * @graphTypes Scatter2D
6850
+ * @default true
6851
+ */
6852
+ selectableFits?: boolean;
6820
6853
  /**
6821
6854
  * Variable / Sample names of data points (in the data object) to initially select
6822
6855
  * @default []
@@ -7748,6 +7781,14 @@ export interface CXConfig {
7748
7781
  * @default false
7749
7782
  */
7750
7783
  showSmpOverlaysLegend?: boolean;
7784
+ /**
7785
+ * Opt-in flag to render the statInference block (pairwise significance brackets +
7786
+ * p-value/stars) on one-dimensional group charts (Boxplot, Violin, Bar). Off by default so
7787
+ * non-stat charts are unaffected.
7788
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
7789
+ * @default false
7790
+ */
7791
+ showStatInference?: boolean;
7751
7792
  /**
7752
7793
  * Flag to show/hide the shadows in text in the canvas. It will be forced to false if the
7753
7794
  * browser is IE
@@ -8022,6 +8063,14 @@ export interface CXConfig {
8022
8063
  * @default 0
8023
8064
  */
8024
8065
  smpTextRotate?: number | boolean;
8066
+ /**
8067
+ * Flag to automatically keep the sample (or grouping-factor) labels of vertical
8068
+ * one-dimensional plots horizontal when the longest label fits its band, falling back to
8069
+ * smpTextRotate otherwise. Re-evaluated on resize
8070
+ * @graphTypes Alluvial, Area, AreaLine, Bar, BarLine, Boxplot … (65 types; see CXGraphTypeKeys)
8071
+ * @default true
8072
+ */
8073
+ smpTextRotateAuto?: boolean;
8025
8074
  /**
8026
8075
  * Scaling factor used to increase or decrease the sample labels font size in the canvas
8027
8076
  * @graphTypes Alluvial, Area, AreaLine, Bar, BarLine, Boxplot … (65 types; see CXGraphTypeKeys)
@@ -8184,6 +8233,20 @@ export interface CXConfig {
8184
8233
  * @default 270
8185
8234
  */
8186
8235
  startPieSectors?: number | boolean;
8236
+ /**
8237
+ * Renderer-first inference layer. An object with a comparisons array, each item {groups: [a,
8238
+ * b] (category names or 1-based positions), p: rawPValue, optional padj, value (bracket
8239
+ * height on the value axis), label, color}. Optional correction {method:
8240
+ * "BH"|"bonferroni"|"BY"|"holm"|"hochberg"|"none"} applies native multiple-testing
8241
+ * correction when padj is not supplied, and annotate ("p"|"padj"|"stars") selects what each
8242
+ * bracket prints. Optional fdrThreshold (number) draws no bracket for a comparison whose
8243
+ * corrected p (raw p when no correction applies) is above it. Test statistics are computed
8244
+ * upstream (R/Python); only correction and star derivation run in the engine. Requires
8245
+ * showStatInference:true.
8246
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
8247
+ * @default false
8248
+ */
8249
+ statInference?: Record<string, unknown> | unknown[] | boolean | string | number;
8187
8250
  /**
8188
8251
  * Eviction policy applied by pushData() once the sample count exceeds streamWindow.
8189
8252
  * Currently only drop-oldest (remove the oldest samples first) is supported
@@ -9372,6 +9435,16 @@ export interface CXConfig {
9372
9435
  * @default false
9373
9436
  */
9374
9437
  visiumPanning?: boolean;
9438
+ /**
9439
+ * Promotes a Volcano chart (Scatter2D of log2 fold-change vs -log10 p-value) by auto-seeding
9440
+ * significance cut-off lines: {foldChange: <log2 FC cutoff>, fdr: <p/FDR cutoff on the raw
9441
+ * scale>, foldChangeColor, fdrColor, width}. Draws vertical rules at +/- foldChange and a
9442
+ * horizontal rule at -log10(fdr) using the scatter decoration path. Omit to keep the plain
9443
+ * Volcano alias.
9444
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
9445
+ * @default false
9446
+ */
9447
+ volcano?: Record<string, unknown> | boolean;
9375
9448
  /**
9376
9449
  * Color for the bars decreasing in the waterfall plot
9377
9450
  * @graphTypes Bar
@@ -11326,6 +11399,7 @@ export type CXKeysConfidenceIntervals =
11326
11399
  | "confidenceIntervalColorCoordinate"
11327
11400
  | "confidenceIntervalsMax"
11328
11401
  | "confidenceLevel"
11402
+ | "selectableFits"
11329
11403
  | "showConfidenceIntervals";
11330
11404
  /** Config keys in the "Context Menu" category. */
11331
11405
  export type CXKeysContextMenu =
@@ -11671,7 +11745,10 @@ export type CXKeysDecorations =
11671
11745
  | "decorationsWidth"
11672
11746
  | "showDecorations"
11673
11747
  | "showDecorationsBorder"
11674
- | "showDecorationsLegend";
11748
+ | "showDecorationsLegend"
11749
+ | "showStatInference"
11750
+ | "statInference"
11751
+ | "volcano";
11675
11752
  /** Config keys in the "Dendrograms" category. */
11676
11753
  export type CXKeysDendrograms =
11677
11754
  | "colorSmpDendrogramBy"
@@ -12585,6 +12662,7 @@ export type CXKeysSamples =
12585
12662
  | "smpTextFontStyle"
12586
12663
  | "smpTextMargin"
12587
12664
  | "smpTextRotate"
12665
+ | "smpTextRotateAuto"
12588
12666
  | "smpTextScaleFontFactor"
12589
12667
  | "smpTitle"
12590
12668
  | "smpTitleAlign"
@@ -40,12 +40,34 @@ declare namespace CanvasXpress {
40
40
  [key: string]: unknown;
41
41
  }
42
42
 
43
- /** The four supported event hooks. `o` is the resolved data object under the cursor. */
43
+ /**
44
+ * User-event hooks fired by the engine. Each handler is called with
45
+ * `this` bound to the chart instance and three arguments: `o` (the resolved
46
+ * data object under the cursor, or null off any element), `e` (the native DOM
47
+ * event) and `t` (the chart instance — prefer this over `this`).
48
+ */
44
49
  export interface CXEvents {
50
+ /** A data element is clicked. */
45
51
  click?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
52
+ /** A legend item is clicked. */
53
+ clicklegend?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
54
+ /** A data element is double-clicked. */
46
55
  dblclick?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
56
+ /** Fired continuously during a drag operation. */
57
+ drag?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
58
+ /** Network graphs: a node drag has finished. */
59
+ enddragnode?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
60
+ /** Fired once after rendering completes. */
61
+ enddraw?: (o: any, e: Event, t: CanvasXpressInstance) => void;
47
62
  mousemove?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
48
63
  mouseout?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
64
+ mouseover?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
65
+ mouseup?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
66
+ /** The chart was updated by a remote source. */
67
+ remoteupdate?: (o: any, e: Event, t: CanvasXpressInstance) => void;
68
+ /** Fired after a selection of data points has been made. */
69
+ select?: (o: any, e: MouseEvent, t: CanvasXpressInstance) => void;
70
+ wheel?: (o: any, e: WheelEvent, t: CanvasXpressInstance) => void;
49
71
  [key: string]: ((o: any, e: any, t: CanvasXpressInstance) => void) | undefined;
50
72
  }
51
73
 
@@ -132,7 +154,7 @@ declare namespace CanvasXpress {
132
154
 
133
155
  /**
134
156
  * Full chart configuration — one property per parameter in the CanvasXpress
135
- * config schema (1780 keys). String enums become open literal
157
+ * config schema (1785 keys). String enums become open literal
136
158
  * unions (except `graphType`, which is closed); `@graphTypes` in a key's JSDoc
137
159
  * lists the graph types it applies to (absent = all). The index signature keeps
138
160
  * obfuscation aliases and any newer key valid. See `CXConfigFor<G>` for the
@@ -1596,10 +1618,13 @@ declare namespace CanvasXpress {
1596
1618
  dataPipeline?: unknown[] | boolean | string | number;
1597
1619
  /**
1598
1620
  * Approximate pixel size for the data points in scatter plots, dotplots and boxplots. The
1599
- * size will be adjusted according to the dimensions of the graph
1621
+ * size will be adjusted according to the dimensions of the graph. Boxplots and dotplots
1622
+ * default to 15 (to match ggplot2 geom_point) unless set explicitly. Set to the string
1623
+ * "auto" to size scatter points from the plot area, damped by the number of points (larger
1624
+ * dots on sparse/large panels, smaller on dense ones)
1600
1625
  * @default 10
1601
1626
  */
1602
- dataPointSize?: number | boolean;
1627
+ dataPointSize?: number | boolean | "auto";
1603
1628
  /**
1604
1629
  * Factor used to adjust the size of the dataPointSize
1605
1630
  * @default 1
@@ -3162,9 +3187,9 @@ declare namespace CanvasXpress {
3162
3187
  /**
3163
3188
  * Specifies the orientation of one-dimensional graphs
3164
3189
  * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bullet … (31 types; see CXGraphTypeKeys)
3165
- * @default "horizontal"
3190
+ * @default "vertical"
3166
3191
  */
3167
- graphOrientation?: "horizontal" | "vertical" | false | (string & {});
3192
+ graphOrientation?: "vertical" | "horizontal" | false | (string & {});
3168
3193
  /**
3169
3194
  * Specifies the type of graph to be rendered
3170
3195
  * @default "Bar"
@@ -6826,6 +6851,14 @@ declare namespace CanvasXpress {
6826
6851
  * @default []
6827
6852
  */
6828
6853
  segregateVariablesBy?: unknown[] | boolean | string | number;
6854
+ /**
6855
+ * Flag to make fit lines and confidence areas (regression, loess, forecast, Kaplan-Meier
6856
+ * curves/bands, area/ribbon) clickable: a click selects and broadcasts the data the
6857
+ * fit/curve was computed over (e.g. a KM arm selects its whole cohort)
6858
+ * @graphTypes Scatter2D
6859
+ * @default true
6860
+ */
6861
+ selectableFits?: boolean;
6829
6862
  /**
6830
6863
  * Variable / Sample names of data points (in the data object) to initially select
6831
6864
  * @default []
@@ -7757,6 +7790,14 @@ declare namespace CanvasXpress {
7757
7790
  * @default false
7758
7791
  */
7759
7792
  showSmpOverlaysLegend?: boolean;
7793
+ /**
7794
+ * Opt-in flag to render the statInference block (pairwise significance brackets +
7795
+ * p-value/stars) on one-dimensional group charts (Boxplot, Violin, Bar). Off by default so
7796
+ * non-stat charts are unaffected.
7797
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
7798
+ * @default false
7799
+ */
7800
+ showStatInference?: boolean;
7760
7801
  /**
7761
7802
  * Flag to show/hide the shadows in text in the canvas. It will be forced to false if the
7762
7803
  * browser is IE
@@ -8031,6 +8072,14 @@ declare namespace CanvasXpress {
8031
8072
  * @default 0
8032
8073
  */
8033
8074
  smpTextRotate?: number | boolean;
8075
+ /**
8076
+ * Flag to automatically keep the sample (or grouping-factor) labels of vertical
8077
+ * one-dimensional plots horizontal when the longest label fits its band, falling back to
8078
+ * smpTextRotate otherwise. Re-evaluated on resize
8079
+ * @graphTypes Alluvial, Area, AreaLine, Bar, BarLine, Boxplot … (65 types; see CXGraphTypeKeys)
8080
+ * @default true
8081
+ */
8082
+ smpTextRotateAuto?: boolean;
8034
8083
  /**
8035
8084
  * Scaling factor used to increase or decrease the sample labels font size in the canvas
8036
8085
  * @graphTypes Alluvial, Area, AreaLine, Bar, BarLine, Boxplot … (65 types; see CXGraphTypeKeys)
@@ -8193,6 +8242,20 @@ declare namespace CanvasXpress {
8193
8242
  * @default 270
8194
8243
  */
8195
8244
  startPieSectors?: number | boolean;
8245
+ /**
8246
+ * Renderer-first inference layer. An object with a comparisons array, each item {groups: [a,
8247
+ * b] (category names or 1-based positions), p: rawPValue, optional padj, value (bracket
8248
+ * height on the value axis), label, color}. Optional correction {method:
8249
+ * "BH"|"bonferroni"|"BY"|"holm"|"hochberg"|"none"} applies native multiple-testing
8250
+ * correction when padj is not supplied, and annotate ("p"|"padj"|"stars") selects what each
8251
+ * bracket prints. Optional fdrThreshold (number) draws no bracket for a comparison whose
8252
+ * corrected p (raw p when no correction applies) is above it. Test statistics are computed
8253
+ * upstream (R/Python); only correction and star derivation run in the engine. Requires
8254
+ * showStatInference:true.
8255
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
8256
+ * @default false
8257
+ */
8258
+ statInference?: Record<string, unknown> | unknown[] | boolean | string | number;
8196
8259
  /**
8197
8260
  * Eviction policy applied by pushData() once the sample count exceeds streamWindow.
8198
8261
  * Currently only drop-oldest (remove the oldest samples first) is supported
@@ -9381,6 +9444,16 @@ declare namespace CanvasXpress {
9381
9444
  * @default false
9382
9445
  */
9383
9446
  visiumPanning?: boolean;
9447
+ /**
9448
+ * Promotes a Volcano chart (Scatter2D of log2 fold-change vs -log10 p-value) by auto-seeding
9449
+ * significance cut-off lines: {foldChange: <log2 FC cutoff>, fdr: <p/FDR cutoff on the raw
9450
+ * scale>, foldChangeColor, fdrColor, width}. Draws vertical rules at +/- foldChange and a
9451
+ * horizontal rule at -log10(fdr) using the scatter decoration path. Omit to keep the plain
9452
+ * Volcano alias.
9453
+ * @graphTypes Area, AreaLine, Bar, BarLine, Boxplot, Bin … (41 types; see CXGraphTypeKeys)
9454
+ * @default false
9455
+ */
9456
+ volcano?: Record<string, unknown> | boolean;
9384
9457
  /**
9385
9458
  * Color for the bars decreasing in the waterfall plot
9386
9459
  * @graphTypes Bar
@@ -11335,6 +11408,7 @@ declare namespace CanvasXpress {
11335
11408
  | "confidenceIntervalColorCoordinate"
11336
11409
  | "confidenceIntervalsMax"
11337
11410
  | "confidenceLevel"
11411
+ | "selectableFits"
11338
11412
  | "showConfidenceIntervals";
11339
11413
  /** Config keys in the "Context Menu" category. */
11340
11414
  export type CXKeysContextMenu =
@@ -11680,7 +11754,10 @@ declare namespace CanvasXpress {
11680
11754
  | "decorationsWidth"
11681
11755
  | "showDecorations"
11682
11756
  | "showDecorationsBorder"
11683
- | "showDecorationsLegend";
11757
+ | "showDecorationsLegend"
11758
+ | "showStatInference"
11759
+ | "statInference"
11760
+ | "volcano";
11684
11761
  /** Config keys in the "Dendrograms" category. */
11685
11762
  export type CXKeysDendrograms =
11686
11763
  | "colorSmpDendrogramBy"
@@ -12594,6 +12671,7 @@ declare namespace CanvasXpress {
12594
12671
  | "smpTextFontStyle"
12595
12672
  | "smpTextMargin"
12596
12673
  | "smpTextRotate"
12674
+ | "smpTextRotateAuto"
12597
12675
  | "smpTextScaleFontFactor"
12598
12676
  | "smpTitle"
12599
12677
  | "smpTitleAlign"