@fusion.dev/helix 0.40.0 → 0.41.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/custom-elements.json +320 -31
- package/dist/area-chart/root/area-chart-root.d.ts +27 -2
- package/dist/bar-chart/root/bar-chart-root.css.js +0 -1
- package/dist/bar-chart/root/bar-chart-root.d.ts +17 -5
- package/dist/bar-chart/root/bar-chart-root.js +2 -6
- package/dist/donut-chart/root/donut-chart-root.css.js +1 -1
- package/dist/donut-chart/root/donut-chart-root.d.ts +1 -1
- package/dist/legend/root/legend-root.js +2 -6
- package/dist/line-chart/root/line-chart-root.d.ts +15 -6
- package/dist/scatter-chart/root/scatter-chart-root.css.js +1 -1
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +25 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +761 -137
- package/types/vue.d.ts +101 -44
package/custom-elements.json
CHANGED
|
@@ -2709,7 +2709,7 @@
|
|
|
2709
2709
|
"declarations": [
|
|
2710
2710
|
{
|
|
2711
2711
|
"kind": "class",
|
|
2712
|
-
"description": "The bands take the series palette in order, the first column at the bottom,\nso a legend beside the chart names them in the order they are stacked.\n\nEach band is a pale fill with its top edge drawn at the series' full color.\nThe fills are mixed toward the page rather than made translucent, because\nthe bands overlap where they are drawn and a translucent one would show the\nothers through it.",
|
|
2712
|
+
"description": "The bands take the series palette in order, the first column at the bottom,\nso a legend beside the chart names them in the order they are stacked.\n\nEach band is a pale fill with its top edge drawn at the series' full color.\nThe fills are mixed toward the page rather than made translucent, because\nthe bands overlap where they are drawn and a translucent one would show the\nothers through it.\n\n**No visual axis applies here, and that is the answer rather than a gap.**\nBoth refusals are geometric and both were argued in the stylesheet before\nthey were argued anywhere a reader looks.\n\n`emphasis` is which of a family's two marks carries the reading, and here\nneither can give way. The fill is the value, a band's thickness being its\namount, and the edge is the boundary, which is why it is drawn at full color\nover a pale fill rather than left to two pale fills meeting. Every point on\nthe axis moves one at the other's expense: `outlined` thins the fill until\nthe chart is a set of cumulative lines, which is `LineChart` and is the form\nthis one exists because a reader cannot read shares off; `solid` takes the\nfill to the series' own color, which is the edge's color, so the boundary\ndisappears into the band it bounds. `LineChart` can take the axis because its\nwash is optional there, `area` deciding whether one is drawn at all.\n\n`material` is what reads through a mark, and a band cannot let anything\nthrough. Each is drawn as everything under its top edge with the next one\ndown covering the rest, so a translucent band shows the bands behind it and\nreads as a third color that is in no palette. That is `LineChart`'s recorded\nreason for refusing `wash`, met here from the other side. The strength of a\nfill is still adjustable and is `--area-chart-fill-strength`, which is a\ncontinuum rather than an axis and is a theme's business rather than a\nreader's.",
|
|
2713
2713
|
"name": "HelixAreaChart",
|
|
2714
2714
|
"cssProperties": [
|
|
2715
2715
|
{
|
|
@@ -2731,6 +2731,10 @@
|
|
|
2731
2731
|
{
|
|
2732
2732
|
"description": "Thickness of a band's top edge, over `--chart-stroke`.",
|
|
2733
2733
|
"name": "--area-chart-width"
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
"description": "Thickness of a band's top edge, one name across this family, Line Chart and Bar Chart's `lines`, since the three read one shared rule. `--area-chart-width` overrides it here.",
|
|
2737
|
+
"name": "--chart-stroke"
|
|
2734
2738
|
}
|
|
2735
2739
|
],
|
|
2736
2740
|
"members": [
|
|
@@ -2838,6 +2842,44 @@
|
|
|
2838
2842
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
2839
2843
|
}
|
|
2840
2844
|
},
|
|
2845
|
+
{
|
|
2846
|
+
"kind": "field",
|
|
2847
|
+
"name": "plottedColumns",
|
|
2848
|
+
"type": {
|
|
2849
|
+
"text": "number[]"
|
|
2850
|
+
},
|
|
2851
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
2852
|
+
"readonly": true,
|
|
2853
|
+
"inheritedFrom": {
|
|
2854
|
+
"name": "MixinChartSource",
|
|
2855
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
2856
|
+
}
|
|
2857
|
+
},
|
|
2858
|
+
{
|
|
2859
|
+
"kind": "method",
|
|
2860
|
+
"name": "seriesOf",
|
|
2861
|
+
"return": {
|
|
2862
|
+
"type": {
|
|
2863
|
+
"text": "number | undefined"
|
|
2864
|
+
}
|
|
2865
|
+
},
|
|
2866
|
+
"parameters": [
|
|
2867
|
+
{
|
|
2868
|
+
"name": "cell",
|
|
2869
|
+
"type": {
|
|
2870
|
+
"text": "number"
|
|
2871
|
+
}
|
|
2872
|
+
}
|
|
2873
|
+
],
|
|
2874
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
2875
|
+
"inheritedFrom": {
|
|
2876
|
+
"name": "MixinChartSource",
|
|
2877
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
2878
|
+
},
|
|
2879
|
+
"type": {
|
|
2880
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
2881
|
+
}
|
|
2882
|
+
},
|
|
2841
2883
|
{
|
|
2842
2884
|
"kind": "field",
|
|
2843
2885
|
"name": "readings",
|
|
@@ -2857,7 +2899,7 @@
|
|
|
2857
2899
|
"type": {
|
|
2858
2900
|
"text": "Curve | undefined"
|
|
2859
2901
|
},
|
|
2860
|
-
"description": "How a band's edge gets from one reading to the next.\n\
|
|
2902
|
+
"description": "How a band's edge gets from one reading to the next.\n\nThree values, and the class doc argues for each: `straight` is absent and\nis the default, `smooth` is for a stack read as a shape and is the one that\ncan draw a part as less than nothing, `step` is for a quantity that changes\nat a moment and is ordered the way `straight` is.\n\nAbsent rather than defaulted because a reflecting property with a default\nwrites its attribute onto every host, including the ones nobody configured.",
|
|
2861
2903
|
"attribute": "curve",
|
|
2862
2904
|
"reflects": true,
|
|
2863
2905
|
"inheritedFrom": {
|
|
@@ -3558,12 +3600,12 @@
|
|
|
3558
3600
|
"helix": {
|
|
3559
3601
|
"category": "charts",
|
|
3560
3602
|
"since": "0.1.0",
|
|
3561
|
-
"status": "
|
|
3603
|
+
"status": "stable",
|
|
3562
3604
|
"documentation": "https://fusion.dev/helix/components/area-chart",
|
|
3563
3605
|
"aliases": [
|
|
3564
3606
|
"Stacked Area Chart",
|
|
3565
3607
|
"Composition Chart",
|
|
3566
|
-
"
|
|
3608
|
+
"Banded Chart"
|
|
3567
3609
|
],
|
|
3568
3610
|
"groups": [
|
|
3569
3611
|
"charts"
|
|
@@ -3577,10 +3619,30 @@
|
|
|
3577
3619
|
"min": 300,
|
|
3578
3620
|
"slug": "preview"
|
|
3579
3621
|
},
|
|
3622
|
+
{
|
|
3623
|
+
"description": "The three curves over one stack: joined straight, smoothed, and held until the next reading. Straight is what an absent `curve` draws.",
|
|
3624
|
+
"min": 300,
|
|
3625
|
+
"slug": "curves"
|
|
3626
|
+
},
|
|
3580
3627
|
{
|
|
3581
3628
|
"description": "The same months as shares, so every reading fills the height and a band is its part of the whole.",
|
|
3582
3629
|
"min": 300,
|
|
3583
3630
|
"slug": "share"
|
|
3631
|
+
},
|
|
3632
|
+
{
|
|
3633
|
+
"description": "A legend beside the bands, naming them in the order they are stacked and in the colors they are drawn.",
|
|
3634
|
+
"min": 300,
|
|
3635
|
+
"slug": "with-a-legend"
|
|
3636
|
+
},
|
|
3637
|
+
{
|
|
3638
|
+
"description": "A pointer resting on a reading, showing every part and the sum under the name `total-label` gives it.",
|
|
3639
|
+
"min": 300,
|
|
3640
|
+
"slug": "with-a-tooltip"
|
|
3641
|
+
},
|
|
3642
|
+
{
|
|
3643
|
+
"description": "Rules at the levels the total reaches, drawn over the bands rather than under them.",
|
|
3644
|
+
"min": 300,
|
|
3645
|
+
"slug": "with-gridlines"
|
|
3584
3646
|
}
|
|
3585
3647
|
],
|
|
3586
3648
|
"source": "helix/styled/src/area-chart"
|
|
@@ -3619,7 +3681,7 @@
|
|
|
3619
3681
|
"type": {
|
|
3620
3682
|
"text": "Curve | undefined"
|
|
3621
3683
|
},
|
|
3622
|
-
"description": "How a band's edge gets from one reading to the next.\n\
|
|
3684
|
+
"description": "How a band's edge gets from one reading to the next.\n\nThree values, and the class doc argues for each: `straight` is absent and\nis the default, `smooth` is for a stack read as a shape and is the one that\ncan draw a part as less than nothing, `step` is for a quantity that changes\nat a moment and is ordered the way `straight` is.\n\nAbsent rather than defaulted because a reflecting property with a default\nwrites its attribute onto every host, including the ones nobody configured.",
|
|
3623
3685
|
"fieldName": "curve",
|
|
3624
3686
|
"inheritedFrom": {
|
|
3625
3687
|
"name": "HelixHeadlessAreaChart",
|
|
@@ -7205,7 +7267,11 @@
|
|
|
7205
7267
|
"name": "--bar-chart-line-width"
|
|
7206
7268
|
},
|
|
7207
7269
|
{
|
|
7208
|
-
"description": "
|
|
7270
|
+
"description": "Thickness of a `lines` series, one name across this family, Line Chart and Area Chart's top edge, since the three read one shared rule. `--bar-chart-line-width` overrides it here.",
|
|
7271
|
+
"name": "--chart-stroke"
|
|
7272
|
+
},
|
|
7273
|
+
{
|
|
7274
|
+
"description": "How wide an axis column is drawn, in `ch`, from the widest number on it. Written on the axis itself, and only where the categories run along the bottom: turned sideways an axis is a row and takes a line's height instead.",
|
|
7209
7275
|
"name": "--bar-chart-axis",
|
|
7210
7276
|
"inheritedFrom": {
|
|
7211
7277
|
"name": "HelixHeadlessBarChart",
|
|
@@ -7250,7 +7316,7 @@
|
|
|
7250
7316
|
"type": {
|
|
7251
7317
|
"text": "'outlined' | 'solid' | 'subtle' | undefined"
|
|
7252
7318
|
},
|
|
7253
|
-
"description": "How much ink the columns claim.\n\nThe chart's treatment, which every series takes unless `outlined` or\n`subtle` names it. `outlined` is the mark as its edge alone, `subtle` a wash\nof the series color with that edge on it, and absent is the filled column,\nper the rule that a reflected property takes no default.\n\n**It composes with `material` rather than competing with it.** Emphasis\ndecides what is drawn and material decides how much of it comes through, so\n`glass` thins whatever emphasis put there: the fill on a solid column, the\nstroke on an outlined one. Without that the corner is inert, `glass` setting\na fill opacity on a mark whose fill is `none`, and a combination that\nsilently does nothing is the worst shape this can take.",
|
|
7319
|
+
"description": "How much ink the columns claim.\n\nThe chart's treatment, which every series takes unless `outlined` or\n`subtle` names it. `outlined` is the mark as its edge alone, `subtle` a wash\nof the series color with that edge on it, and absent is the filled column,\nper the rule that a reflected property takes no default.\n\n`solid` is that filled column written out. It matches no rule in the sheet\nand lands on the base one, which is what the resting value of every axis in\nthe registry does, and it is worth having so a consumer switching a chart\nbetween treatments has a word for the one it started at rather than having\nto remove the attribute.\n\n**It composes with `material` rather than competing with it.** Emphasis\ndecides what is drawn and material decides how much of it comes through, so\n`glass` thins whatever emphasis put there: the fill on a solid column, the\nstroke on an outlined one. Without that the corner is inert, `glass` setting\na fill opacity on a mark whose fill is `none`, and a combination that\nsilently does nothing is the worst shape this can take.",
|
|
7254
7320
|
"attribute": "emphasis",
|
|
7255
7321
|
"reflects": true
|
|
7256
7322
|
},
|
|
@@ -7279,7 +7345,7 @@
|
|
|
7279
7345
|
"type": {
|
|
7280
7346
|
"text": "string | undefined"
|
|
7281
7347
|
},
|
|
7282
|
-
"description": "Which series are drawn as an outline rather than a fill, by name.\n\
|
|
7348
|
+
"description": "Which series are drawn as an outline rather than a fill, by name.\n\nSeparated by whitespace or commas and matched against the column headings\nthe table gives, the way `lines` and `secondary` are, so a chart says\n`outlined=\"Forecast\"` rather than counting columns. Names because they are\nwhat the table already carries and what the legend already shows.\n\nAll five read one splitter, `seriesNames` in `core`, because the sentence\nabove was true of the matching and false of the splitting: these three took\na comma and those two did not, so `lines=\"Gateway, Billing\"` drew no line\nand said nothing.\n\n**The case this exists for is a series that is not a measurement.** A\nforecast, a target, a budget: something drawn on the same axis as the\nothers and not the same kind of fact, which an outline says without a\nsecond legend or a note under the chart.\n\nPer series and not per bar, because a bar is a mark inside a drawing and\nnobody writes markup for one, which is the same reason `material` sits on\nthe chart.",
|
|
7283
7349
|
"attribute": "outlined"
|
|
7284
7350
|
},
|
|
7285
7351
|
{
|
|
@@ -7391,6 +7457,44 @@
|
|
|
7391
7457
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
7392
7458
|
}
|
|
7393
7459
|
},
|
|
7460
|
+
{
|
|
7461
|
+
"kind": "field",
|
|
7462
|
+
"name": "plottedColumns",
|
|
7463
|
+
"type": {
|
|
7464
|
+
"text": "number[]"
|
|
7465
|
+
},
|
|
7466
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
7467
|
+
"readonly": true,
|
|
7468
|
+
"inheritedFrom": {
|
|
7469
|
+
"name": "MixinChartSource",
|
|
7470
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
7471
|
+
}
|
|
7472
|
+
},
|
|
7473
|
+
{
|
|
7474
|
+
"kind": "method",
|
|
7475
|
+
"name": "seriesOf",
|
|
7476
|
+
"return": {
|
|
7477
|
+
"type": {
|
|
7478
|
+
"text": "number | undefined"
|
|
7479
|
+
}
|
|
7480
|
+
},
|
|
7481
|
+
"parameters": [
|
|
7482
|
+
{
|
|
7483
|
+
"name": "cell",
|
|
7484
|
+
"type": {
|
|
7485
|
+
"text": "number"
|
|
7486
|
+
}
|
|
7487
|
+
}
|
|
7488
|
+
],
|
|
7489
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
7490
|
+
"inheritedFrom": {
|
|
7491
|
+
"name": "MixinChartSource",
|
|
7492
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
7493
|
+
},
|
|
7494
|
+
"type": {
|
|
7495
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
7496
|
+
}
|
|
7497
|
+
},
|
|
7394
7498
|
{
|
|
7395
7499
|
"kind": "field",
|
|
7396
7500
|
"name": "readings",
|
|
@@ -7437,7 +7541,7 @@
|
|
|
7437
7541
|
"type": {
|
|
7438
7542
|
"text": "string | undefined"
|
|
7439
7543
|
},
|
|
7440
|
-
"description": "Which series are drawn as a line instead of as columns, by name.\n\
|
|
7544
|
+
"description": "Which series are drawn as a line instead of as columns, by name.\n\nSeparated by whitespace or commas and matched against the column headings\nthe table gives, so a chart says `lines=\"Margin\"` rather than counting\ncolumns. Names because they are what the table already carries and what the\nlegend already shows: an index is a fourth place the column order is\nwritten down and the first one to go stale when somebody moves a column.\n\n**This says which mark a series takes and nothing about which scale it is\nmeasured on.** Named here alone, a line shares the columns' domain, so it\nsays something comparable to the columns beside it.\n\nThe other half of a combination chart, a count against a percentage on a\nscale of its own, is `secondary`, which is a separate property because it\nis a separate question and because the two compose: `with-a-second-axis`\nships naming one series in both. The argument for why a second scale is opt\nin, and why setting it labels both axes, is written there.\n\nA line among columns measures from zero, because the columns do and they\nshare the axis. So does a line on the second scale, which is that scale's\nown rule rather than this one's.",
|
|
7441
7545
|
"attribute": "lines",
|
|
7442
7546
|
"inheritedFrom": {
|
|
7443
7547
|
"name": "HelixHeadlessBarChart",
|
|
@@ -7450,7 +7554,7 @@
|
|
|
7450
7554
|
"type": {
|
|
7451
7555
|
"text": "string | undefined"
|
|
7452
7556
|
},
|
|
7453
|
-
"description": "Which series are measured against a scale of their own, by name.\n\
|
|
7557
|
+
"description": "Which series are measured against a scale of their own, by name.\n\nSeparated and matched the way `lines` is, against the column headings the\ntable gives. Opt in: absent, every series shares one domain, which is what\nmakes a chart comparable and is the right default.\n\n**The scale, and `lines` is the mark.** The two are separate properties\nbecause they answer separate questions and a series usually wants both:\na percentage beside a count is drawn as a line *and* measured on its own\naxis, which is what `with-a-second-axis` writes out. Neither implies the\nother, so a series can be a line on the shared scale and a column can have\na scale to itself.\n\n**Two scales on one frame let an author put any two shapes in any relation\nby choosing the ranges, and a reader cannot see it happening.** That is not\na caveat, it is what the feature does: a line that crosses the columns\ntwice and a line that never touches them can be the same two series drawn\nagainst different ranges. It earns its place when the two quantities are\ngenuinely incomparable, a count against a percentage, and it is a way to\nmislead in every other case.\n\n**So it draws its axes**, and that is not optional here. The chart renders\nno value axis at all when there is one scale, because the columns are\nmeasured against each other and a reader needs no numbers to do that. With\ntwo, a reader has no way of knowing there are two, let alone which series\nis on which, so both scales are labeled the moment this is set. An\nunlabeled second axis is the deceptive case rather than the tidy one.\n\nThe grid stays on the primary axis, since a rule measured against two\nscales at once is a rule that means nothing. The tooltip is unaffected: it\nhas always shown every column's own number, which is the reader's way out\nof any scale question the picture raises.",
|
|
7454
7558
|
"attribute": "secondary",
|
|
7455
7559
|
"reflects": true,
|
|
7456
7560
|
"inheritedFrom": {
|
|
@@ -8093,7 +8197,7 @@
|
|
|
8093
8197
|
"type": {
|
|
8094
8198
|
"text": "'outlined' | 'solid' | 'subtle' | undefined"
|
|
8095
8199
|
},
|
|
8096
|
-
"description": "How much ink the columns claim.\n\nThe chart's treatment, which every series takes unless `outlined` or\n`subtle` names it. `outlined` is the mark as its edge alone, `subtle` a wash\nof the series color with that edge on it, and absent is the filled column,\nper the rule that a reflected property takes no default.\n\n**It composes with `material` rather than competing with it.** Emphasis\ndecides what is drawn and material decides how much of it comes through, so\n`glass` thins whatever emphasis put there: the fill on a solid column, the\nstroke on an outlined one. Without that the corner is inert, `glass` setting\na fill opacity on a mark whose fill is `none`, and a combination that\nsilently does nothing is the worst shape this can take.",
|
|
8200
|
+
"description": "How much ink the columns claim.\n\nThe chart's treatment, which every series takes unless `outlined` or\n`subtle` names it. `outlined` is the mark as its edge alone, `subtle` a wash\nof the series color with that edge on it, and absent is the filled column,\nper the rule that a reflected property takes no default.\n\n`solid` is that filled column written out. It matches no rule in the sheet\nand lands on the base one, which is what the resting value of every axis in\nthe registry does, and it is worth having so a consumer switching a chart\nbetween treatments has a word for the one it started at rather than having\nto remove the attribute.\n\n**It composes with `material` rather than competing with it.** Emphasis\ndecides what is drawn and material decides how much of it comes through, so\n`glass` thins whatever emphasis put there: the fill on a solid column, the\nstroke on an outlined one. Without that the corner is inert, `glass` setting\na fill opacity on a mark whose fill is `none`, and a combination that\nsilently does nothing is the worst shape this can take.",
|
|
8097
8201
|
"fieldName": "emphasis"
|
|
8098
8202
|
},
|
|
8099
8203
|
{
|
|
@@ -8117,7 +8221,7 @@
|
|
|
8117
8221
|
"type": {
|
|
8118
8222
|
"text": "string | undefined"
|
|
8119
8223
|
},
|
|
8120
|
-
"description": "Which series are drawn as an outline rather than a fill, by name.\n\
|
|
8224
|
+
"description": "Which series are drawn as an outline rather than a fill, by name.\n\nSeparated by whitespace or commas and matched against the column headings\nthe table gives, the way `lines` and `secondary` are, so a chart says\n`outlined=\"Forecast\"` rather than counting columns. Names because they are\nwhat the table already carries and what the legend already shows.\n\nAll five read one splitter, `seriesNames` in `core`, because the sentence\nabove was true of the matching and false of the splitting: these three took\na comma and those two did not, so `lines=\"Gateway, Billing\"` drew no line\nand said nothing.\n\n**The case this exists for is a series that is not a measurement.** A\nforecast, a target, a budget: something drawn on the same axis as the\nothers and not the same kind of fact, which an outline says without a\nsecond legend or a note under the chart.\n\nPer series and not per bar, because a bar is a mark inside a drawing and\nnobody writes markup for one, which is the same reason `material` sits on\nthe chart.",
|
|
8121
8225
|
"fieldName": "outlined"
|
|
8122
8226
|
},
|
|
8123
8227
|
{
|
|
@@ -8191,7 +8295,7 @@
|
|
|
8191
8295
|
"type": {
|
|
8192
8296
|
"text": "string | undefined"
|
|
8193
8297
|
},
|
|
8194
|
-
"description": "Which series are drawn as a line instead of as columns, by name.\n\
|
|
8298
|
+
"description": "Which series are drawn as a line instead of as columns, by name.\n\nSeparated by whitespace or commas and matched against the column headings\nthe table gives, so a chart says `lines=\"Margin\"` rather than counting\ncolumns. Names because they are what the table already carries and what the\nlegend already shows: an index is a fourth place the column order is\nwritten down and the first one to go stale when somebody moves a column.\n\n**This says which mark a series takes and nothing about which scale it is\nmeasured on.** Named here alone, a line shares the columns' domain, so it\nsays something comparable to the columns beside it.\n\nThe other half of a combination chart, a count against a percentage on a\nscale of its own, is `secondary`, which is a separate property because it\nis a separate question and because the two compose: `with-a-second-axis`\nships naming one series in both. The argument for why a second scale is opt\nin, and why setting it labels both axes, is written there.\n\nA line among columns measures from zero, because the columns do and they\nshare the axis. So does a line on the second scale, which is that scale's\nown rule rather than this one's.",
|
|
8195
8299
|
"fieldName": "lines",
|
|
8196
8300
|
"inheritedFrom": {
|
|
8197
8301
|
"name": "HelixHeadlessBarChart",
|
|
@@ -8203,7 +8307,7 @@
|
|
|
8203
8307
|
"type": {
|
|
8204
8308
|
"text": "string | undefined"
|
|
8205
8309
|
},
|
|
8206
|
-
"description": "Which series are measured against a scale of their own, by name.\n\
|
|
8310
|
+
"description": "Which series are measured against a scale of their own, by name.\n\nSeparated and matched the way `lines` is, against the column headings the\ntable gives. Opt in: absent, every series shares one domain, which is what\nmakes a chart comparable and is the right default.\n\n**The scale, and `lines` is the mark.** The two are separate properties\nbecause they answer separate questions and a series usually wants both:\na percentage beside a count is drawn as a line *and* measured on its own\naxis, which is what `with-a-second-axis` writes out. Neither implies the\nother, so a series can be a line on the shared scale and a column can have\na scale to itself.\n\n**Two scales on one frame let an author put any two shapes in any relation\nby choosing the ranges, and a reader cannot see it happening.** That is not\na caveat, it is what the feature does: a line that crosses the columns\ntwice and a line that never touches them can be the same two series drawn\nagainst different ranges. It earns its place when the two quantities are\ngenuinely incomparable, a count against a percentage, and it is a way to\nmislead in every other case.\n\n**So it draws its axes**, and that is not optional here. The chart renders\nno value axis at all when there is one scale, because the columns are\nmeasured against each other and a reader needs no numbers to do that. With\ntwo, a reader has no way of knowing there are two, let alone which series\nis on which, so both scales are labeled the moment this is set. An\nunlabeled second axis is the deceptive case rather than the tidy one.\n\nThe grid stays on the primary axis, since a rule measured against two\nscales at once is a rule that means nothing. The tooltip is unaffected: it\nhas always shown every column's own number, which is the reader's way out\nof any scale question the picture raises.",
|
|
8207
8311
|
"fieldName": "secondary",
|
|
8208
8312
|
"inheritedFrom": {
|
|
8209
8313
|
"name": "HelixHeadlessBarChart",
|
|
@@ -8219,7 +8323,7 @@
|
|
|
8219
8323
|
"helix": {
|
|
8220
8324
|
"category": "charts",
|
|
8221
8325
|
"since": "0.1.0",
|
|
8222
|
-
"status": "
|
|
8326
|
+
"status": "stable",
|
|
8223
8327
|
"documentation": "https://fusion.dev/helix/components/bar-chart",
|
|
8224
8328
|
"aliases": [
|
|
8225
8329
|
"Column Chart",
|
|
@@ -41331,6 +41435,44 @@
|
|
|
41331
41435
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
41332
41436
|
}
|
|
41333
41437
|
},
|
|
41438
|
+
{
|
|
41439
|
+
"kind": "field",
|
|
41440
|
+
"name": "plottedColumns",
|
|
41441
|
+
"type": {
|
|
41442
|
+
"text": "number[]"
|
|
41443
|
+
},
|
|
41444
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
41445
|
+
"readonly": true,
|
|
41446
|
+
"inheritedFrom": {
|
|
41447
|
+
"name": "MixinChartSource",
|
|
41448
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
41449
|
+
}
|
|
41450
|
+
},
|
|
41451
|
+
{
|
|
41452
|
+
"kind": "method",
|
|
41453
|
+
"name": "seriesOf",
|
|
41454
|
+
"return": {
|
|
41455
|
+
"type": {
|
|
41456
|
+
"text": "number | undefined"
|
|
41457
|
+
}
|
|
41458
|
+
},
|
|
41459
|
+
"parameters": [
|
|
41460
|
+
{
|
|
41461
|
+
"name": "cell",
|
|
41462
|
+
"type": {
|
|
41463
|
+
"text": "number"
|
|
41464
|
+
}
|
|
41465
|
+
}
|
|
41466
|
+
],
|
|
41467
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
41468
|
+
"inheritedFrom": {
|
|
41469
|
+
"name": "MixinChartSource",
|
|
41470
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
41471
|
+
},
|
|
41472
|
+
"type": {
|
|
41473
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
41474
|
+
}
|
|
41475
|
+
},
|
|
41334
41476
|
{
|
|
41335
41477
|
"kind": "field",
|
|
41336
41478
|
"name": "readings",
|
|
@@ -41350,9 +41492,8 @@
|
|
|
41350
41492
|
"type": {
|
|
41351
41493
|
"text": "'large' | 'none' | 'small' | undefined"
|
|
41352
41494
|
},
|
|
41353
|
-
"description": "How much is left open in the middle.\n\nAbsent is a ring with room for a total in it. `small` and `large` move the\nhole without moving the outer edge, so a chart keeps its footprint.\n\n**`none` is a pie**, and it is the same drawing rather than another one:\nthe radius follows the thickness, so the inner edge reaching the center is\nwhat closing the hole means. A pie reads less accurately than a ring, angle\nbeing harder to judge than length, but it is not *misleading* the way a bar\nmeasured from anything but zero is, which is why this is a value here and\nthe bar chart's baseline is not a property at all.\n\n**Geometry rather than a CSS hook.** The dash arithmetic needs the\ncircumference, which needs the radius, and reading a custom property means\n`getComputedStyle`, which is client-only: a server would draw a different\nring than the client. A plot's proportions are markup for the same reason\n`curve` is.",
|
|
41495
|
+
"description": "How much is left open in the middle.\n\nAbsent is a ring with room for a total in it. `small` and `large` move the\nhole without moving the outer edge, so a chart keeps its footprint.\n\n**`none` is a pie**, and it is the same drawing rather than another one:\nthe radius follows the thickness, so the inner edge reaching the center is\nwhat closing the hole means. A pie reads less accurately than a ring, angle\nbeing harder to judge than length, but it is not *misleading* the way a bar\nmeasured from anything but zero is, which is why this is a value here and\nthe bar chart's baseline is not a property at all.\n\n**Geometry rather than a CSS hook.** The dash arithmetic needs the\ncircumference, which needs the radius, and reading a custom property means\n`getComputedStyle`, which is client-only: a server would draw a different\nring than the client. A plot's proportions are markup for the same reason\n`curve` is.\n\n**And so it does not reflect**, which is the same argument read forward. No\nselector on either tier asks about it and none can want to: everything the\nthickness decides is arithmetic done here and published as\n`--donut-chart-stroke`, which is a number a rule can do sums with where the\nword is not. Reflected, it wrote a value onto every host a script had set\nit on for nothing to read. `sweep` beside it is the converse and reflects,\nbecause three rules select on it.",
|
|
41354
41496
|
"attribute": "hole",
|
|
41355
|
-
"reflects": true,
|
|
41356
41497
|
"inheritedFrom": {
|
|
41357
41498
|
"name": "HelixHeadlessDonutChart",
|
|
41358
41499
|
"module": "src/donut-chart/root/donut-chart-root.ts"
|
|
@@ -41910,7 +42051,7 @@
|
|
|
41910
42051
|
"type": {
|
|
41911
42052
|
"text": "'large' | 'none' | 'small' | undefined"
|
|
41912
42053
|
},
|
|
41913
|
-
"description": "How much is left open in the middle.\n\nAbsent is a ring with room for a total in it. `small` and `large` move the\nhole without moving the outer edge, so a chart keeps its footprint.\n\n**`none` is a pie**, and it is the same drawing rather than another one:\nthe radius follows the thickness, so the inner edge reaching the center is\nwhat closing the hole means. A pie reads less accurately than a ring, angle\nbeing harder to judge than length, but it is not *misleading* the way a bar\nmeasured from anything but zero is, which is why this is a value here and\nthe bar chart's baseline is not a property at all.\n\n**Geometry rather than a CSS hook.** The dash arithmetic needs the\ncircumference, which needs the radius, and reading a custom property means\n`getComputedStyle`, which is client-only: a server would draw a different\nring than the client. A plot's proportions are markup for the same reason\n`curve` is.",
|
|
42054
|
+
"description": "How much is left open in the middle.\n\nAbsent is a ring with room for a total in it. `small` and `large` move the\nhole without moving the outer edge, so a chart keeps its footprint.\n\n**`none` is a pie**, and it is the same drawing rather than another one:\nthe radius follows the thickness, so the inner edge reaching the center is\nwhat closing the hole means. A pie reads less accurately than a ring, angle\nbeing harder to judge than length, but it is not *misleading* the way a bar\nmeasured from anything but zero is, which is why this is a value here and\nthe bar chart's baseline is not a property at all.\n\n**Geometry rather than a CSS hook.** The dash arithmetic needs the\ncircumference, which needs the radius, and reading a custom property means\n`getComputedStyle`, which is client-only: a server would draw a different\nring than the client. A plot's proportions are markup for the same reason\n`curve` is.\n\n**And so it does not reflect**, which is the same argument read forward. No\nselector on either tier asks about it and none can want to: everything the\nthickness decides is arithmetic done here and published as\n`--donut-chart-stroke`, which is a number a rule can do sums with where the\nword is not. Reflected, it wrote a value onto every host a script had set\nit on for nothing to read. `sweep` beside it is the converse and reflects,\nbecause three rules select on it.",
|
|
41914
42055
|
"fieldName": "hole",
|
|
41915
42056
|
"inheritedFrom": {
|
|
41916
42057
|
"name": "HelixHeadlessDonutChart",
|
|
@@ -41938,7 +42079,7 @@
|
|
|
41938
42079
|
"helix": {
|
|
41939
42080
|
"category": "charts",
|
|
41940
42081
|
"since": "0.1.0",
|
|
41941
|
-
"status": "
|
|
42082
|
+
"status": "stable",
|
|
41942
42083
|
"documentation": "https://fusion.dev/helix/components/donut-chart",
|
|
41943
42084
|
"aliases": [
|
|
41944
42085
|
"Pie Chart",
|
|
@@ -54209,6 +54350,44 @@
|
|
|
54209
54350
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
54210
54351
|
}
|
|
54211
54352
|
},
|
|
54353
|
+
{
|
|
54354
|
+
"kind": "field",
|
|
54355
|
+
"name": "plottedColumns",
|
|
54356
|
+
"type": {
|
|
54357
|
+
"text": "number[]"
|
|
54358
|
+
},
|
|
54359
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
54360
|
+
"readonly": true,
|
|
54361
|
+
"inheritedFrom": {
|
|
54362
|
+
"name": "MixinChartSource",
|
|
54363
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
54364
|
+
}
|
|
54365
|
+
},
|
|
54366
|
+
{
|
|
54367
|
+
"kind": "method",
|
|
54368
|
+
"name": "seriesOf",
|
|
54369
|
+
"return": {
|
|
54370
|
+
"type": {
|
|
54371
|
+
"text": "number | undefined"
|
|
54372
|
+
}
|
|
54373
|
+
},
|
|
54374
|
+
"parameters": [
|
|
54375
|
+
{
|
|
54376
|
+
"name": "cell",
|
|
54377
|
+
"type": {
|
|
54378
|
+
"text": "number"
|
|
54379
|
+
}
|
|
54380
|
+
}
|
|
54381
|
+
],
|
|
54382
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
54383
|
+
"inheritedFrom": {
|
|
54384
|
+
"name": "MixinChartSource",
|
|
54385
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
54386
|
+
},
|
|
54387
|
+
"type": {
|
|
54388
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
54389
|
+
}
|
|
54390
|
+
},
|
|
54212
54391
|
{
|
|
54213
54392
|
"kind": "field",
|
|
54214
54393
|
"name": "readings",
|
|
@@ -61127,9 +61306,9 @@
|
|
|
61127
61306
|
"kind": "field",
|
|
61128
61307
|
"name": "entries",
|
|
61129
61308
|
"type": {
|
|
61130
|
-
"text": "'categories' | 'series' | undefined"
|
|
61309
|
+
"text": "'categories' | 'measures' | 'series' | undefined"
|
|
61131
61310
|
},
|
|
61132
|
-
"description": "Which way to read the table.\n\nAbsent is `series`, one entry per data column. `categories` reads one entry\nper body row instead, for a donut, whose slices are the rows.",
|
|
61311
|
+
"description": "Which way to read the table.\n\nAbsent is `series`, one entry per data column. `categories` reads one entry\nper body row instead, for a donut, whose slices are the rows.\n\n**`measures` is `series` without the first column, and it is for a\nscatter.** That chart reads its first numeric column as the measure\n*across*, so its first plotted series is the table's second and everything\na legend beside it named was one color out: the across column wearing the\ncolor of the first series drawn, and each real series wearing the next\none's. The across gets no entry rather than a shifted one, because it is an\naxis and a scatter already writes its name at the end of the scale under\nthe plot.\n\nA legend cannot ask the chart which of these it is, `for` naming the table\nthey share and not each other, so the consumer says it. That is the same\nshape `categories` already has.",
|
|
61133
61312
|
"attribute": "entries",
|
|
61134
61313
|
"reflects": true,
|
|
61135
61314
|
"inheritedFrom": {
|
|
@@ -61554,9 +61733,9 @@
|
|
|
61554
61733
|
{
|
|
61555
61734
|
"name": "entries",
|
|
61556
61735
|
"type": {
|
|
61557
|
-
"text": "'categories' | 'series' | undefined"
|
|
61736
|
+
"text": "'categories' | 'measures' | 'series' | undefined"
|
|
61558
61737
|
},
|
|
61559
|
-
"description": "Which way to read the table.\n\nAbsent is `series`, one entry per data column. `categories` reads one entry\nper body row instead, for a donut, whose slices are the rows.",
|
|
61738
|
+
"description": "Which way to read the table.\n\nAbsent is `series`, one entry per data column. `categories` reads one entry\nper body row instead, for a donut, whose slices are the rows.\n\n**`measures` is `series` without the first column, and it is for a\nscatter.** That chart reads its first numeric column as the measure\n*across*, so its first plotted series is the table's second and everything\na legend beside it named was one color out: the across column wearing the\ncolor of the first series drawn, and each real series wearing the next\none's. The across gets no entry rather than a shifted one, because it is an\naxis and a scatter already writes its name at the end of the scale under\nthe plot.\n\nA legend cannot ask the chart which of these it is, `for` naming the table\nthey share and not each other, so the consumer says it. That is the same\nshape `categories` already has.",
|
|
61560
61739
|
"fieldName": "entries",
|
|
61561
61740
|
"inheritedFrom": {
|
|
61562
61741
|
"name": "HelixHeadlessLegend",
|
|
@@ -61728,13 +61907,21 @@
|
|
|
61728
61907
|
"declarations": [
|
|
61729
61908
|
{
|
|
61730
61909
|
"kind": "class",
|
|
61731
|
-
"description": "The lines take the series palette in order, so a chart of one is series one\nand a chart of four is the first four, and a legend beside it maps the same\ntwenty-four.\n\nThe stroke does not scale with the box. `preserveAspectRatio=\"none\"` is what\nlets one drawing fill a narrow card and a wide panel, and without\n`vector-effect: non-scaling-stroke` the same line comes out hairline in the\nfirst and heavy in the second. It rescues strokes and not geometry, which is\nwhy
|
|
61910
|
+
"description": "The lines take the series palette in order, so a chart of one is series one\nand a chart of four is the first four, and a legend beside it maps the same\ntwenty-four.\n\nThe stroke does not scale with the box. `preserveAspectRatio=\"none\"` is what\nlets one drawing fill a narrow card and a wide panel, and without\n`vector-effect: non-scaling-stroke` the same line comes out hairline in the\nfirst and heavy in the second. It rescues strokes and not geometry, which is\nwhy nothing inside the drawing marks a reading: a circle in a stretched\ncoordinate space is an ellipse, and there is no vector-effect that answers\nfor a shape.\n\n**The last reading of each series is marked, and that is the same rule rather\nthan an exception to it.** `terminus` draws an HTML element placed over the\nplot by percentage instead of a shape inside it, so it keeps its shape at any\nwidth. It is on by default, as a dot, because the column of marks at the far\nedge is where a reader looks for \"and what is it now\".",
|
|
61732
61911
|
"name": "HelixLineChart",
|
|
61733
61912
|
"cssProperties": [
|
|
61734
61913
|
{
|
|
61735
|
-
"description": "Thickness of a series drawn as a line,
|
|
61914
|
+
"description": "Thickness of a series drawn as a line, one name across this family, Area Chart's top edge and Bar Chart's `lines`, since the three read one shared rule. Each family's own width hook overrides it.",
|
|
61736
61915
|
"name": "--chart-stroke"
|
|
61737
61916
|
},
|
|
61917
|
+
{
|
|
61918
|
+
"description": "A fill for the middle of a `ring` terminus, which is otherwise open. One name across this family and Sparkline, the two reading one shared sheet.",
|
|
61919
|
+
"name": "--chart-terminus-hole"
|
|
61920
|
+
},
|
|
61921
|
+
{
|
|
61922
|
+
"description": "Size of the mark on each series' last reading. One name across this family and Sparkline, the two reading one shared sheet.",
|
|
61923
|
+
"name": "--chart-terminus-size"
|
|
61924
|
+
},
|
|
61738
61925
|
{
|
|
61739
61926
|
"description": "How much of a line's color its wash takes.",
|
|
61740
61927
|
"name": "--line-chart-area-opacity"
|
|
@@ -61758,6 +61945,22 @@
|
|
|
61758
61945
|
{
|
|
61759
61946
|
"description": "Thickness of a line, over `--chart-stroke`.",
|
|
61760
61947
|
"name": "--line-chart-width"
|
|
61948
|
+
},
|
|
61949
|
+
{
|
|
61950
|
+
"description": "Where a series' last reading sits horizontally, as a percentage. Written by the component.",
|
|
61951
|
+
"name": "--chart-terminus-x",
|
|
61952
|
+
"inheritedFrom": {
|
|
61953
|
+
"name": "HelixHeadlessLineChart",
|
|
61954
|
+
"module": "src/line-chart/root/line-chart-root.ts"
|
|
61955
|
+
}
|
|
61956
|
+
},
|
|
61957
|
+
{
|
|
61958
|
+
"description": "Where a series' last reading sits vertically, as a percentage. Written by the component.",
|
|
61959
|
+
"name": "--chart-terminus-y",
|
|
61960
|
+
"inheritedFrom": {
|
|
61961
|
+
"name": "HelixHeadlessLineChart",
|
|
61962
|
+
"module": "src/line-chart/root/line-chart-root.ts"
|
|
61963
|
+
}
|
|
61761
61964
|
}
|
|
61762
61965
|
],
|
|
61763
61966
|
"members": [
|
|
@@ -61885,6 +62088,44 @@
|
|
|
61885
62088
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
61886
62089
|
}
|
|
61887
62090
|
},
|
|
62091
|
+
{
|
|
62092
|
+
"kind": "field",
|
|
62093
|
+
"name": "plottedColumns",
|
|
62094
|
+
"type": {
|
|
62095
|
+
"text": "number[]"
|
|
62096
|
+
},
|
|
62097
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
62098
|
+
"readonly": true,
|
|
62099
|
+
"inheritedFrom": {
|
|
62100
|
+
"name": "MixinChartSource",
|
|
62101
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
62102
|
+
}
|
|
62103
|
+
},
|
|
62104
|
+
{
|
|
62105
|
+
"kind": "method",
|
|
62106
|
+
"name": "seriesOf",
|
|
62107
|
+
"return": {
|
|
62108
|
+
"type": {
|
|
62109
|
+
"text": "number | undefined"
|
|
62110
|
+
}
|
|
62111
|
+
},
|
|
62112
|
+
"parameters": [
|
|
62113
|
+
{
|
|
62114
|
+
"name": "cell",
|
|
62115
|
+
"type": {
|
|
62116
|
+
"text": "number"
|
|
62117
|
+
}
|
|
62118
|
+
}
|
|
62119
|
+
],
|
|
62120
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
62121
|
+
"inheritedFrom": {
|
|
62122
|
+
"name": "MixinChartSource",
|
|
62123
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
62124
|
+
},
|
|
62125
|
+
"type": {
|
|
62126
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
62127
|
+
}
|
|
62128
|
+
},
|
|
61888
62129
|
{
|
|
61889
62130
|
"kind": "field",
|
|
61890
62131
|
"name": "readings",
|
|
@@ -61974,7 +62215,7 @@
|
|
|
61974
62215
|
"type": {
|
|
61975
62216
|
"text": "'none' | 'ring' | 'square' | 'triangle' | undefined"
|
|
61976
62217
|
},
|
|
61977
|
-
"description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished.
|
|
62218
|
+
"description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. `square` is the same mark with its\ncorners, for a drawing whose neighbors are square, the columns of a table\nbeside it for instance. `ring` lets the ground through, for a chart drawn\nover something busy. `triangle` points along the axis and reads as \"and\nonward\" rather than as a second claim about the data.\n\nThe shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears. **Which is why every value is\nnamed here.** `Sparkline` shipped `square` implemented, drawn, asserted and\nundocumented until the cohort before this one; this family reads the same\nfour out of the same sheet and had left two of them unwritten, so the\nfinding arrived twice. A shared vocabulary wants naming at each door into\nit, because a reader arrives at one door and not at the set.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
|
|
61978
62219
|
"attribute": "terminus",
|
|
61979
62220
|
"reflects": true,
|
|
61980
62221
|
"inheritedFrom": {
|
|
@@ -62681,7 +62922,7 @@
|
|
|
62681
62922
|
"type": {
|
|
62682
62923
|
"text": "'none' | 'ring' | 'square' | 'triangle' | undefined"
|
|
62683
62924
|
},
|
|
62684
|
-
"description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished.
|
|
62925
|
+
"description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. `square` is the same mark with its\ncorners, for a drawing whose neighbors are square, the columns of a table\nbeside it for instance. `ring` lets the ground through, for a chart drawn\nover something busy. `triangle` points along the axis and reads as \"and\nonward\" rather than as a second claim about the data.\n\nThe shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears. **Which is why every value is\nnamed here.** `Sparkline` shipped `square` implemented, drawn, asserted and\nundocumented until the cohort before this one; this family reads the same\nfour out of the same sheet and had left two of them unwritten, so the\nfinding arrived twice. A shared vocabulary wants naming at each door into\nit, because a reader arrives at one door and not at the set.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
|
|
62685
62926
|
"fieldName": "terminus",
|
|
62686
62927
|
"inheritedFrom": {
|
|
62687
62928
|
"name": "HelixHeadlessLineChart",
|
|
@@ -62710,7 +62951,7 @@
|
|
|
62710
62951
|
"helix": {
|
|
62711
62952
|
"category": "charts",
|
|
62712
62953
|
"since": "0.1.0",
|
|
62713
|
-
"status": "
|
|
62954
|
+
"status": "stable",
|
|
62714
62955
|
"documentation": "https://fusion.dev/helix/components/line-chart",
|
|
62715
62956
|
"aliases": [
|
|
62716
62957
|
"Time Series",
|
|
@@ -62734,7 +62975,7 @@
|
|
|
62734
62975
|
"slug": "area"
|
|
62735
62976
|
},
|
|
62736
62977
|
{
|
|
62737
|
-
"description": "The three curves over one series: joined, smoothed, and held until the next reading.",
|
|
62978
|
+
"description": "The three curves over one series: joined straight, smoothed, and held until the next reading. The smoothed one is what an absent `curve` draws.",
|
|
62738
62979
|
"slug": "curves"
|
|
62739
62980
|
},
|
|
62740
62981
|
{
|
|
@@ -95836,7 +96077,7 @@
|
|
|
95836
96077
|
"declarations": [
|
|
95837
96078
|
{
|
|
95838
96079
|
"kind": "class",
|
|
95839
|
-
"description": "The points take the series palette in order, so a table with one column\nmeasured up is series one and a table with three is the first three.\n\nEach point has a ring of the page around it and stops short of opaque, so a\ndense cluster reads as dense rather than as one blot, and two points that\noverlap each keep their edge.",
|
|
96080
|
+
"description": "The points take the series palette in order, so a table with one column\nmeasured up is series one and a table with three is the first three.\n\nEach point has a ring of the page around it and stops short of opaque, so a\ndense cluster reads as dense rather than as one blot, and two points that\noverlap each keep their edge.\n\n**No visual axis applies here, and that is the answer rather than a gap.**\nBoth refusals come out of that sentence, and both were argued in the\nstylesheet before they were argued anywhere a reader looks.\n\n`emphasis` is how much ink a mark claims, and on a scatter that channel is\nalready carrying data. The points rest at 0.8 so that where they pile up they\ncompound: how dark a region is *is* how many rows are in it, which is most of\nwhat a reader is looking at a scatter to see and is the one thing a table of\nthe same numbers hides. `solid` flattens a dense cluster and a sparse one into\nthe same picture; `outlined` replaces the pile with overlapping rings, which\nreads as texture rather than as count. An axis whose two ends each cost the\ndrawing its density is not a treatment, it is a second meaning for a property\nthe chart already spends.\n\n`material` is the same refusal said once more. Translucency is the density\nchannel here, so `glass` and `frosted` are two more named stops on a scale\nthe data is using, and a point admitting the page through is a point that\ncounts for less than one.\n\nWhat stays adjustable is `--scatter-chart-point-opacity`, and it is a\ncontinuum rather than an axis: a chart drawn over a busier ground wants a\ndifferent resting density, and that is a fact about the ground rather than a\nclaim about the points.",
|
|
95840
96081
|
"name": "HelixScatterChart",
|
|
95841
96082
|
"cssProperties": [
|
|
95842
96083
|
{
|
|
@@ -95993,6 +96234,44 @@
|
|
|
95993
96234
|
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
95994
96235
|
}
|
|
95995
96236
|
},
|
|
96237
|
+
{
|
|
96238
|
+
"kind": "field",
|
|
96239
|
+
"name": "plottedColumns",
|
|
96240
|
+
"type": {
|
|
96241
|
+
"text": "number[]"
|
|
96242
|
+
},
|
|
96243
|
+
"description": "Which cells of a row hold numbers, by their place in it, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
|
|
96244
|
+
"readonly": true,
|
|
96245
|
+
"inheritedFrom": {
|
|
96246
|
+
"name": "MixinChartSource",
|
|
96247
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
96248
|
+
}
|
|
96249
|
+
},
|
|
96250
|
+
{
|
|
96251
|
+
"kind": "method",
|
|
96252
|
+
"name": "seriesOf",
|
|
96253
|
+
"return": {
|
|
96254
|
+
"type": {
|
|
96255
|
+
"text": "number | undefined"
|
|
96256
|
+
}
|
|
96257
|
+
},
|
|
96258
|
+
"parameters": [
|
|
96259
|
+
{
|
|
96260
|
+
"name": "cell",
|
|
96261
|
+
"type": {
|
|
96262
|
+
"text": "number"
|
|
96263
|
+
}
|
|
96264
|
+
}
|
|
96265
|
+
],
|
|
96266
|
+
"description": "The palette slot the cell at this place in a row is drawn in.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
|
|
96267
|
+
"inheritedFrom": {
|
|
96268
|
+
"name": "MixinChartSource",
|
|
96269
|
+
"module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
|
|
96270
|
+
},
|
|
96271
|
+
"type": {
|
|
96272
|
+
"text": "seriesOf(cell: number) => number | undefined"
|
|
96273
|
+
}
|
|
96274
|
+
},
|
|
95996
96275
|
{
|
|
95997
96276
|
"kind": "field",
|
|
95998
96277
|
"name": "readings",
|
|
@@ -96530,7 +96809,7 @@
|
|
|
96530
96809
|
"helix": {
|
|
96531
96810
|
"category": "charts",
|
|
96532
96811
|
"since": "0.1.0",
|
|
96533
|
-
"status": "
|
|
96812
|
+
"status": "stable",
|
|
96534
96813
|
"documentation": "https://fusion.dev/helix/components/scatter-chart",
|
|
96535
96814
|
"aliases": [
|
|
96536
96815
|
"Scatter Plot",
|
|
@@ -96550,10 +96829,20 @@
|
|
|
96550
96829
|
"min": 300,
|
|
96551
96830
|
"slug": "preview"
|
|
96552
96831
|
},
|
|
96832
|
+
{
|
|
96833
|
+
"description": "Forty units, where the points pile up. A cluster reads darker because each point stops short of opaque, which is what `--scatter-chart-point-opacity` is for.",
|
|
96834
|
+
"min": 300,
|
|
96835
|
+
"slug": "dense"
|
|
96836
|
+
},
|
|
96553
96837
|
{
|
|
96554
96838
|
"description": "Two latencies against one load, each a series, from one table with three numeric columns.",
|
|
96555
96839
|
"min": 300,
|
|
96556
96840
|
"slug": "several-series"
|
|
96841
|
+
},
|
|
96842
|
+
{
|
|
96843
|
+
"description": "A key beside two series, reading `measures` so the column measured across gets no swatch.",
|
|
96844
|
+
"min": 300,
|
|
96845
|
+
"slug": "with-a-legend"
|
|
96557
96846
|
}
|
|
96558
96847
|
],
|
|
96559
96848
|
"source": "helix/styled/src/scatter-chart"
|