@fusion.dev/helix-headless 0.40.0 → 0.41.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.
package/types/jsx.d.ts CHANGED
@@ -749,9 +749,13 @@ the property carries the part's name, `content`. */
749
749
  export type HelixHeadlessAreaChartProps = {
750
750
  /** How a band's edge gets from one reading to the next.
751
751
 
752
- Absent is `straight`, for the reason the class doc gives, and absent rather
753
- than defaulted because a reflecting property with a default writes its
754
- attribute onto every host, including the ones nobody configured. */
752
+ Three values, and the class doc argues for each: `straight` is absent and
753
+ is the default, `smooth` is for a stack read as a shape and is the one that
754
+ can draw a part as less than nothing, `step` is for a quantity that changes
755
+ at a moment and is ordered the way `straight` is.
756
+
757
+ Absent rather than defaulted because a reflecting property with a default
758
+ writes its attribute onto every host, including the ones nobody configured. */
755
759
  curve?: (HelixHeadlessAreaChart["curve"]) | undefined;
756
760
  /** Which rules are drawn across the plot, if any.
757
761
 
@@ -788,9 +792,13 @@ words and is already written. */
788
792
  export type HelixHeadlessAreaChartSolidJsProps = {
789
793
  /** How a band's edge gets from one reading to the next.
790
794
 
791
- Absent is `straight`, for the reason the class doc gives, and absent rather
792
- than defaulted because a reflecting property with a default writes its
793
- attribute onto every host, including the ones nobody configured. */
795
+ Three values, and the class doc argues for each: `straight` is absent and
796
+ is the default, `smooth` is for a stack read as a shape and is the one that
797
+ can draw a part as less than nothing, `step` is for a quantity that changes
798
+ at a moment and is ordered the way `straight` is.
799
+
800
+ Absent rather than defaulted because a reflecting property with a default
801
+ writes its attribute onto every host, including the ones nobody configured. */
794
802
  "prop:curve"?: (HelixHeadlessAreaChart["curve"]) | undefined;
795
803
  /** Which rules are drawn across the plot, if any.
796
804
 
@@ -1022,28 +1030,38 @@ and reach no reader through the table. */
1022
1030
  gridlines?: (HelixHeadlessBarChart["gridlines"]) | undefined;
1023
1031
  /** Which series are drawn as a line instead of as columns, by name.
1024
1032
 
1025
- Space separated, matched against the column headings the table gives, so a
1026
- chart says `lines="Margin"` rather than counting columns. Names because
1027
- they are what the table already carries and what the legend already shows:
1028
- an index is a fourth place the column order is written down and the first
1029
- one to go stale when somebody moves a column.
1030
-
1031
- **A combination chart is one scale, and that is the honest half of it.**
1032
- Both marks are measured against the same domain, so a line here says
1033
- something comparable to the columns beside it. The usual reason to reach
1034
- for a combination chart is the other thing, a count against a percentage on
1035
- a second axis, and that is deliberately not this: two scales on one frame
1036
- let the author put any two shapes in any relation by choosing the ranges,
1037
- and the reader has no way to see it happening.
1038
-
1039
- A line among columns still measures from zero, because the columns do and
1040
- they share the axis. */
1033
+ Separated by whitespace or commas and matched against the column headings
1034
+ the table gives, so a chart says `lines="Margin"` rather than counting
1035
+ columns. Names because they are what the table already carries and what the
1036
+ legend already shows: an index is a fourth place the column order is
1037
+ written down and the first one to go stale when somebody moves a column.
1038
+
1039
+ **This says which mark a series takes and nothing about which scale it is
1040
+ measured on.** Named here alone, a line shares the columns' domain, so it
1041
+ says something comparable to the columns beside it.
1042
+
1043
+ The other half of a combination chart, a count against a percentage on a
1044
+ scale of its own, is `secondary`, which is a separate property because it
1045
+ is a separate question and because the two compose: `with-a-second-axis`
1046
+ ships naming one series in both. The argument for why a second scale is opt
1047
+ in, and why setting it labels both axes, is written there.
1048
+
1049
+ A line among columns measures from zero, because the columns do and they
1050
+ share the axis. So does a line on the second scale, which is that scale's
1051
+ own rule rather than this one's. */
1041
1052
  lines?: (HelixHeadlessBarChart["lines"]) | undefined;
1042
1053
  /** Which series are measured against a scale of their own, by name.
1043
1054
 
1044
- Space separated and matched the way `lines` is, against the column headings
1045
- the table gives. Opt in: absent, every series shares one domain, which is
1046
- what makes a chart comparable and is the right default.
1055
+ Separated and matched the way `lines` is, against the column headings the
1056
+ table gives. Opt in: absent, every series shares one domain, which is what
1057
+ makes a chart comparable and is the right default.
1058
+
1059
+ **The scale, and `lines` is the mark.** The two are separate properties
1060
+ because they answer separate questions and a series usually wants both:
1061
+ a percentage beside a count is drawn as a line *and* measured on its own
1062
+ axis, which is what `with-a-second-axis` writes out. Neither implies the
1063
+ other, so a series can be a line on the shared scale and a column can have
1064
+ a scale to itself.
1047
1065
 
1048
1066
  **Two scales on one frame let an author put any two shapes in any relation
1049
1067
  by choosing the ranges, and a reader cannot see it happening.** That is not
@@ -1110,28 +1128,38 @@ and reach no reader through the table. */
1110
1128
  "prop:gridlines"?: (HelixHeadlessBarChart["gridlines"]) | undefined;
1111
1129
  /** Which series are drawn as a line instead of as columns, by name.
1112
1130
 
1113
- Space separated, matched against the column headings the table gives, so a
1114
- chart says `lines="Margin"` rather than counting columns. Names because
1115
- they are what the table already carries and what the legend already shows:
1116
- an index is a fourth place the column order is written down and the first
1117
- one to go stale when somebody moves a column.
1118
-
1119
- **A combination chart is one scale, and that is the honest half of it.**
1120
- Both marks are measured against the same domain, so a line here says
1121
- something comparable to the columns beside it. The usual reason to reach
1122
- for a combination chart is the other thing, a count against a percentage on
1123
- a second axis, and that is deliberately not this: two scales on one frame
1124
- let the author put any two shapes in any relation by choosing the ranges,
1125
- and the reader has no way to see it happening.
1126
-
1127
- A line among columns still measures from zero, because the columns do and
1128
- they share the axis. */
1131
+ Separated by whitespace or commas and matched against the column headings
1132
+ the table gives, so a chart says `lines="Margin"` rather than counting
1133
+ columns. Names because they are what the table already carries and what the
1134
+ legend already shows: an index is a fourth place the column order is
1135
+ written down and the first one to go stale when somebody moves a column.
1136
+
1137
+ **This says which mark a series takes and nothing about which scale it is
1138
+ measured on.** Named here alone, a line shares the columns' domain, so it
1139
+ says something comparable to the columns beside it.
1140
+
1141
+ The other half of a combination chart, a count against a percentage on a
1142
+ scale of its own, is `secondary`, which is a separate property because it
1143
+ is a separate question and because the two compose: `with-a-second-axis`
1144
+ ships naming one series in both. The argument for why a second scale is opt
1145
+ in, and why setting it labels both axes, is written there.
1146
+
1147
+ A line among columns measures from zero, because the columns do and they
1148
+ share the axis. So does a line on the second scale, which is that scale's
1149
+ own rule rather than this one's. */
1129
1150
  "prop:lines"?: (HelixHeadlessBarChart["lines"]) | undefined;
1130
1151
  /** Which series are measured against a scale of their own, by name.
1131
1152
 
1132
- Space separated and matched the way `lines` is, against the column headings
1133
- the table gives. Opt in: absent, every series shares one domain, which is
1134
- what makes a chart comparable and is the right default.
1153
+ Separated and matched the way `lines` is, against the column headings the
1154
+ table gives. Opt in: absent, every series shares one domain, which is what
1155
+ makes a chart comparable and is the right default.
1156
+
1157
+ **The scale, and `lines` is the mark.** The two are separate properties
1158
+ because they answer separate questions and a series usually wants both:
1159
+ a percentage beside a count is drawn as a line *and* measured on its own
1160
+ axis, which is what `with-a-second-axis` writes out. Neither implies the
1161
+ other, so a series can be a line on the shared scale and a column can have
1162
+ a scale to itself.
1135
1163
 
1136
1164
  **Two scales on one frame let an author put any two shapes in any relation
1137
1165
  by choosing the ranges, and a reader cannot see it happening.** That is not
@@ -5607,7 +5635,15 @@ the bar chart's baseline is not a property at all.
5607
5635
  circumference, which needs the radius, and reading a custom property means
5608
5636
  `getComputedStyle`, which is client-only: a server would draw a different
5609
5637
  ring than the client. A plot's proportions are markup for the same reason
5610
- `curve` is. */
5638
+ `curve` is.
5639
+
5640
+ **And so it does not reflect**, which is the same argument read forward. No
5641
+ selector on either tier asks about it and none can want to: everything the
5642
+ thickness decides is arithmetic done here and published as
5643
+ `--donut-chart-stroke`, which is a number a rule can do sums with where the
5644
+ word is not. Reflected, it wrote a value onto every host a script had set
5645
+ it on for nothing to read. `sweep` beside it is the converse and reflects,
5646
+ because three rules select on it. */
5611
5647
  hole?: (HelixHeadlessDonutChart["hole"]) | undefined;
5612
5648
  /** How much of the circle the whole occupies.
5613
5649
 
@@ -5664,7 +5700,15 @@ the bar chart's baseline is not a property at all.
5664
5700
  circumference, which needs the radius, and reading a custom property means
5665
5701
  `getComputedStyle`, which is client-only: a server would draw a different
5666
5702
  ring than the client. A plot's proportions are markup for the same reason
5667
- `curve` is. */
5703
+ `curve` is.
5704
+
5705
+ **And so it does not reflect**, which is the same argument read forward. No
5706
+ selector on either tier asks about it and none can want to: everything the
5707
+ thickness decides is arithmetic done here and published as
5708
+ `--donut-chart-stroke`, which is a number a rule can do sums with where the
5709
+ word is not. Reflected, it wrote a value onto every host a script had set
5710
+ it on for nothing to read. `sweep` beside it is the converse and reflects,
5711
+ because three rules select on it. */
5668
5712
  "prop:hole"?: (HelixHeadlessDonutChart["hole"]) | undefined;
5669
5713
  /** How much of the circle the whole occupies.
5670
5714
 
@@ -8037,7 +8081,20 @@ export type HelixHeadlessLegendProps = {
8037
8081
  /** Which way to read the table.
8038
8082
 
8039
8083
  Absent is `series`, one entry per data column. `categories` reads one entry
8040
- per body row instead, for a donut, whose slices are the rows. */
8084
+ per body row instead, for a donut, whose slices are the rows.
8085
+
8086
+ **`measures` is `series` without the first column, and it is for a
8087
+ scatter.** That chart reads its first numeric column as the measure
8088
+ *across*, so its first plotted series is the table's second and everything
8089
+ a legend beside it named was one color out: the across column wearing the
8090
+ color of the first series drawn, and each real series wearing the next
8091
+ one's. The across gets no entry rather than a shifted one, because it is an
8092
+ axis and a scatter already writes its name at the end of the scale under
8093
+ the plot.
8094
+
8095
+ A legend cannot ask the chart which of these it is, `for` naming the table
8096
+ they share and not each other, so the consumer says it. That is the same
8097
+ shape `categories` already has. */
8041
8098
  entries?: (HelixHeadlessLegend["entries"]) | undefined;
8042
8099
  /** The id of the table to take the names from.
8043
8100
 
@@ -8053,7 +8110,20 @@ export type HelixHeadlessLegendSolidJsProps = {
8053
8110
  /** Which way to read the table.
8054
8111
 
8055
8112
  Absent is `series`, one entry per data column. `categories` reads one entry
8056
- per body row instead, for a donut, whose slices are the rows. */
8113
+ per body row instead, for a donut, whose slices are the rows.
8114
+
8115
+ **`measures` is `series` without the first column, and it is for a
8116
+ scatter.** That chart reads its first numeric column as the measure
8117
+ *across*, so its first plotted series is the table's second and everything
8118
+ a legend beside it named was one color out: the across column wearing the
8119
+ color of the first series drawn, and each real series wearing the next
8120
+ one's. The across gets no entry rather than a shifted one, because it is an
8121
+ axis and a scatter already writes its name at the end of the scale under
8122
+ the plot.
8123
+
8124
+ A legend cannot ask the chart which of these it is, `for` naming the table
8125
+ they share and not each other, so the consumer says it. That is the same
8126
+ shape `categories` already has. */
8057
8127
  "prop:entries"?: (HelixHeadlessLegend["entries"]) | undefined;
8058
8128
  /** The id of the table to take the names from.
8059
8129
 
@@ -8131,9 +8201,20 @@ useful thing: it is where a reader looks for "and what is it now", which is
8131
8201
  the question a sparkline's single mark answers too.
8132
8202
 
8133
8203
  `none` lets the lines stop on their own, which suits a chart read for its
8134
- shape rather than for where it finished. The shapes come from
8204
+ shape rather than for where it finished. `square` is the same mark with its
8205
+ corners, for a drawing whose neighbors are square, the columns of a table
8206
+ beside it for instance. `ring` lets the ground through, for a chart drawn
8207
+ over something busy. `triangle` points along the axis and reads as "and
8208
+ onward" rather than as a second claim about the data.
8209
+
8210
+ The shapes come from
8135
8211
  `helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so
8136
- the set is identical wherever one appears.
8212
+ the set is identical wherever one appears. **Which is why every value is
8213
+ named here.** `Sparkline` shipped `square` implemented, drawn, asserted and
8214
+ undocumented until the cohort before this one; this family reads the same
8215
+ four out of the same sheet and had left two of them unwritten, so the
8216
+ finding arrived twice. A shared vocabulary wants naming at each door into
8217
+ it, because a reader arrives at one door and not at the set.
8137
8218
 
8138
8219
  `ring` is the one that asks something of the drawing. It leaves a hole and a
8139
8220
  line ends at the reading, which is the hole's center, so the `<svg>` is
@@ -8225,9 +8306,20 @@ useful thing: it is where a reader looks for "and what is it now", which is
8225
8306
  the question a sparkline's single mark answers too.
8226
8307
 
8227
8308
  `none` lets the lines stop on their own, which suits a chart read for its
8228
- shape rather than for where it finished. The shapes come from
8309
+ shape rather than for where it finished. `square` is the same mark with its
8310
+ corners, for a drawing whose neighbors are square, the columns of a table
8311
+ beside it for instance. `ring` lets the ground through, for a chart drawn
8312
+ over something busy. `triangle` points along the axis and reads as "and
8313
+ onward" rather than as a second claim about the data.
8314
+
8315
+ The shapes come from
8229
8316
  `helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so
8230
- the set is identical wherever one appears.
8317
+ the set is identical wherever one appears. **Which is why every value is
8318
+ named here.** `Sparkline` shipped `square` implemented, drawn, asserted and
8319
+ undocumented until the cohort before this one; this family reads the same
8320
+ four out of the same sheet and had left two of them unwritten, so the
8321
+ finding arrived twice. A shared vocabulary wants naming at each door into
8322
+ it, because a reader arrives at one door and not at the set.
8231
8323
 
8232
8324
  `ring` is the one that asks something of the drawing. It leaves a hole and a
8233
8325
  line ends at the reading, which is the hole's center, so the `<svg>` is
@@ -17513,12 +17605,28 @@ export type CustomElements = {
17513
17605
  * else draws every part in proportion to nothing. `LineChart` measures from its
17514
17606
  * own range because a line claims a position; a band claims an amount.
17515
17607
  *
17608
+ * **And so it is not a streamgraph**, which is the near neighbor to name.
17609
+ * A streamgraph moves its baseline to center the bands and reads as a river; it
17610
+ * is a real form and it is the one thing the rule above refuses, so this
17611
+ * carries no alias for it. What it has instead is `share`, which answers the
17612
+ * question a streamgraph is usually reached for, how the composition changed,
17613
+ * without giving up a floor a reader can measure against.
17614
+ *
17516
17615
  * **Straight between readings unless asked otherwise.** A band's top edge is a
17517
17616
  * sum, and a curve fitted through one sum can pass under the curve fitted
17518
17617
  * through the sum beneath it, so a smoothed stack can draw a part as less than
17519
17618
  * nothing between two readings. Straight segments between ordered points stay
17520
17619
  * ordered. `curve="smooth"` is there for a stack that is read as a shape.
17521
17620
  *
17621
+ * `curve="step"` falls on the safe side of that argument rather than being
17622
+ * unanswered by it, and it is worth saying which side because a reader cannot
17623
+ * tell from the argument alone. A step takes no value the readings do not have:
17624
+ * it holds one, jumps at the midpoint, and holds the next. So two stepped edges
17625
+ * that are ordered at every reading are ordered everywhere between them, which
17626
+ * is what `straight` is chosen for. It is the curve for a quantity that changes
17627
+ * at a moment rather than across an interval, a headcount or a price, where a
17628
+ * sloped edge claims a gradual change nothing measured.
17629
+ *
17522
17630
  * **`share` draws each reading as a hundred percent**, so the bands are the
17523
17631
  * parts' shares and the top edge is flat. It answers "which part grew" where
17524
17632
  * the default answers "did the whole grow".
@@ -17540,9 +17648,13 @@ export type CustomElements = {
17540
17648
  *
17541
17649
  * - `curve`: How a band's edge gets from one reading to the next.
17542
17650
  *
17543
- * Absent is `straight`, for the reason the class doc gives, and absent rather
17544
- * than defaulted because a reflecting property with a default writes its
17545
- * attribute onto every host, including the ones nobody configured.
17651
+ * Three values, and the class doc argues for each: `straight` is absent and
17652
+ * is the default, `smooth` is for a stack read as a shape and is the one that
17653
+ * can draw a part as less than nothing, `step` is for a quantity that changes
17654
+ * at a moment and is ordered the way `straight` is.
17655
+ *
17656
+ * Absent rather than defaulted because a reflecting property with a default
17657
+ * writes its attribute onto every host, including the ones nobody configured.
17546
17658
  * - `gridlines`: Which rules are drawn across the plot, if any.
17547
17659
  *
17548
17660
  * The same three values `LineChart` takes, with the same fallback: a bare
@@ -17594,6 +17706,11 @@ export type CustomElements = {
17594
17706
  * calendar week, and declaring that against a base class whose `rows` is a
17595
17707
  * `Row[]` getter is a type error at best. Name the member for what it holds
17596
17708
  * rather than for the shortest word available. (property only) (readonly)
17709
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
17710
+ *
17711
+ * The same test `readSeries` applies when it drops a column of notes: a
17712
+ * column is a series where any row parses, so a series survives one blank
17713
+ * cell and a column of words is never one. (property only) (readonly)
17597
17714
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
17598
17715
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
17599
17716
  *
@@ -17616,6 +17733,24 @@ export type CustomElements = {
17616
17733
  * browser harness's awaits it alone: a browser always runs the frame, and a
17617
17734
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
17618
17735
  *
17736
+ * ## Methods
17737
+ *
17738
+ * Methods that can be called to access component functionality.
17739
+ *
17740
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
17741
+ *
17742
+ * **A cell's place in its row is not its series' depth, and the tooltip
17743
+ * spent a while assuming it was.** `readSeries` drops a column nothing
17744
+ * parses and `readRows` keeps it, so one column of notes among the figures
17745
+ * moves every column after it one color along in the bubble: a row reading
17746
+ * `Referral 1,080` wearing series three's green beside a legend that says
17747
+ * series three is something else, which is the one failure the dot exists
17748
+ * to prevent.
17749
+ *
17750
+ * Overridden where a chart reads the table some other way. `ScatterChart`
17751
+ * splits the first plotted column off as the measure across, so its first
17752
+ * *plotted* series is this table's second numeric column.
17753
+ *
17619
17754
  * ## CSS Parts
17620
17755
  *
17621
17756
  * Custom selectors for styling elements within the component.
@@ -17957,27 +18092,37 @@ export type CustomElements = {
17957
18092
  * and reach no reader through the table.
17958
18093
  * - `lines`: Which series are drawn as a line instead of as columns, by name.
17959
18094
  *
17960
- * Space separated, matched against the column headings the table gives, so a
17961
- * chart says `lines="Margin"` rather than counting columns. Names because
17962
- * they are what the table already carries and what the legend already shows:
17963
- * an index is a fourth place the column order is written down and the first
17964
- * one to go stale when somebody moves a column.
17965
- *
17966
- * **A combination chart is one scale, and that is the honest half of it.**
17967
- * Both marks are measured against the same domain, so a line here says
17968
- * something comparable to the columns beside it. The usual reason to reach
17969
- * for a combination chart is the other thing, a count against a percentage on
17970
- * a second axis, and that is deliberately not this: two scales on one frame
17971
- * let the author put any two shapes in any relation by choosing the ranges,
17972
- * and the reader has no way to see it happening.
17973
- *
17974
- * A line among columns still measures from zero, because the columns do and
17975
- * they share the axis.
18095
+ * Separated by whitespace or commas and matched against the column headings
18096
+ * the table gives, so a chart says `lines="Margin"` rather than counting
18097
+ * columns. Names because they are what the table already carries and what the
18098
+ * legend already shows: an index is a fourth place the column order is
18099
+ * written down and the first one to go stale when somebody moves a column.
18100
+ *
18101
+ * **This says which mark a series takes and nothing about which scale it is
18102
+ * measured on.** Named here alone, a line shares the columns' domain, so it
18103
+ * says something comparable to the columns beside it.
18104
+ *
18105
+ * The other half of a combination chart, a count against a percentage on a
18106
+ * scale of its own, is `secondary`, which is a separate property because it
18107
+ * is a separate question and because the two compose: `with-a-second-axis`
18108
+ * ships naming one series in both. The argument for why a second scale is opt
18109
+ * in, and why setting it labels both axes, is written there.
18110
+ *
18111
+ * A line among columns measures from zero, because the columns do and they
18112
+ * share the axis. So does a line on the second scale, which is that scale's
18113
+ * own rule rather than this one's.
17976
18114
  * - `secondary`: Which series are measured against a scale of their own, by name.
17977
18115
  *
17978
- * Space separated and matched the way `lines` is, against the column headings
17979
- * the table gives. Opt in: absent, every series shares one domain, which is
17980
- * what makes a chart comparable and is the right default.
18116
+ * Separated and matched the way `lines` is, against the column headings the
18117
+ * table gives. Opt in: absent, every series shares one domain, which is what
18118
+ * makes a chart comparable and is the right default.
18119
+ *
18120
+ * **The scale, and `lines` is the mark.** The two are separate properties
18121
+ * because they answer separate questions and a series usually wants both:
18122
+ * a percentage beside a count is drawn as a line *and* measured on its own
18123
+ * axis, which is what `with-a-second-axis` writes out. Neither implies the
18124
+ * other, so a series can be a line on the shared scale and a column can have
18125
+ * a scale to itself.
17981
18126
  *
17982
18127
  * **Two scales on one frame let an author put any two shapes in any relation
17983
18128
  * by choosing the ranges, and a reader cannot see it happening.** That is not
@@ -18038,6 +18183,11 @@ export type CustomElements = {
18038
18183
  * calendar week, and declaring that against a base class whose `rows` is a
18039
18184
  * `Row[]` getter is a type error at best. Name the member for what it holds
18040
18185
  * rather than for the shortest word available. (property only) (readonly)
18186
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
18187
+ *
18188
+ * The same test `readSeries` applies when it drops a column of notes: a
18189
+ * column is a series where any row parses, so a series survives one blank
18190
+ * cell and a column of words is never one. (property only) (readonly)
18041
18191
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
18042
18192
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
18043
18193
  *
@@ -18060,11 +18210,29 @@ export type CustomElements = {
18060
18210
  * browser harness's awaits it alone: a browser always runs the frame, and a
18061
18211
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
18062
18212
  *
18213
+ * ## Methods
18214
+ *
18215
+ * Methods that can be called to access component functionality.
18216
+ *
18217
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
18218
+ *
18219
+ * **A cell's place in its row is not its series' depth, and the tooltip
18220
+ * spent a while assuming it was.** `readSeries` drops a column nothing
18221
+ * parses and `readRows` keeps it, so one column of notes among the figures
18222
+ * moves every column after it one color along in the bubble: a row reading
18223
+ * `Referral 1,080` wearing series three's green beside a legend that says
18224
+ * series three is something else, which is the one failure the dot exists
18225
+ * to prevent.
18226
+ *
18227
+ * Overridden where a chart reads the table some other way. `ScatterChart`
18228
+ * splits the first plotted column off as the measure across, so its first
18229
+ * *plotted* series is this table's second numeric column.
18230
+ *
18063
18231
  * ## CSS Custom Properties
18064
18232
  *
18065
18233
  * CSS variables available for styling the component.
18066
18234
  *
18067
- * - `--bar-chart-axis`: The color of a single-series axis, taken from that series. (default: `undefined`)
18235
+ * - `--bar-chart-axis`: 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. (default: `undefined`)
18068
18236
  * - `--bar-chart-secondary`: The color of the secondary axis when one series owns it. It resolves a `--helix-color-series-*` token, so on the headless tier alone it names something that is not there. #138. (default: `undefined`)
18069
18237
  * - `--chart-bar-wash`: The gradient a bar would take, named per bar so the styled tier can point `fill` at it. Drawn whatever the treatment and used only where `wash="gradient"` asks for it. (default: `undefined`)
18070
18238
  *
@@ -22295,6 +22463,14 @@ export type CustomElements = {
22295
22463
  * `getComputedStyle`, which is client-only: a server would draw a different
22296
22464
  * ring than the client. A plot's proportions are markup for the same reason
22297
22465
  * `curve` is.
22466
+ *
22467
+ * **And so it does not reflect**, which is the same argument read forward. No
22468
+ * selector on either tier asks about it and none can want to: everything the
22469
+ * thickness decides is arithmetic done here and published as
22470
+ * `--donut-chart-stroke`, which is a number a rule can do sums with where the
22471
+ * word is not. Reflected, it wrote a value onto every host a script had set
22472
+ * it on for nothing to read. `sweep` beside it is the converse and reflects,
22473
+ * because three rules select on it.
22298
22474
  * - `sweep`: How much of the circle the whole occupies.
22299
22475
  *
22300
22476
  * Absent is the full turn. `half` is a semi-donut: the same shares spread
@@ -22356,6 +22532,11 @@ export type CustomElements = {
22356
22532
  * calendar week, and declaring that against a base class whose `rows` is a
22357
22533
  * `Row[]` getter is a type error at best. Name the member for what it holds
22358
22534
  * rather than for the shortest word available. (property only) (readonly)
22535
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
22536
+ *
22537
+ * The same test `readSeries` applies when it drops a column of notes: a
22538
+ * column is a series where any row parses, so a series survives one blank
22539
+ * cell and a column of words is never one. (property only) (readonly)
22359
22540
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
22360
22541
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
22361
22542
  *
@@ -22384,6 +22565,24 @@ export type CustomElements = {
22384
22565
  *
22385
22566
  * - `(default)`: Goes in the middle of the ring. A total, usually.
22386
22567
  *
22568
+ * ## Methods
22569
+ *
22570
+ * Methods that can be called to access component functionality.
22571
+ *
22572
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
22573
+ *
22574
+ * **A cell's place in its row is not its series' depth, and the tooltip
22575
+ * spent a while assuming it was.** `readSeries` drops a column nothing
22576
+ * parses and `readRows` keeps it, so one column of notes among the figures
22577
+ * moves every column after it one color along in the bubble: a row reading
22578
+ * `Referral 1,080` wearing series three's green beside a legend that says
22579
+ * series three is something else, which is the one failure the dot exists
22580
+ * to prevent.
22581
+ *
22582
+ * Overridden where a chart reads the table some other way. `ScatterChart`
22583
+ * splits the first plotted column off as the measure across, so its first
22584
+ * *plotted* series is this table's second numeric column.
22585
+ *
22387
22586
  * ## CSS Custom Properties
22388
22587
  *
22389
22588
  * CSS variables available for styling the component.
@@ -24077,6 +24276,11 @@ export type CustomElements = {
24077
24276
  * calendar week, and declaring that against a base class whose `rows` is a
24078
24277
  * `Row[]` getter is a type error at best. Name the member for what it holds
24079
24278
  * rather than for the shortest word available. (property only) (readonly)
24279
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
24280
+ *
24281
+ * The same test `readSeries` applies when it drops a column of notes: a
24282
+ * column is a series where any row parses, so a series survives one blank
24283
+ * cell and a column of words is never one. (property only) (readonly)
24080
24284
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
24081
24285
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
24082
24286
  *
@@ -24113,6 +24317,24 @@ export type CustomElements = {
24113
24317
  * - `start`: Below the strip, at the leading edge: usually the oldest date.
24114
24318
  * - `summary`: Below the strip, in the middle: the reading over the range drawn.
24115
24319
  *
24320
+ * ## Methods
24321
+ *
24322
+ * Methods that can be called to access component functionality.
24323
+ *
24324
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
24325
+ *
24326
+ * **A cell's place in its row is not its series' depth, and the tooltip
24327
+ * spent a while assuming it was.** `readSeries` drops a column nothing
24328
+ * parses and `readRows` keeps it, so one column of notes among the figures
24329
+ * moves every column after it one color along in the bubble: a row reading
24330
+ * `Referral 1,080` wearing series three's green beside a legend that says
24331
+ * series three is something else, which is the one failure the dot exists
24332
+ * to prevent.
24333
+ *
24334
+ * Overridden where a chart reads the table some other way. `ScatterChart`
24335
+ * splits the first plotted column off as the measure across, so its first
24336
+ * *plotted* series is this table's second numeric column.
24337
+ *
24116
24338
  * ## CSS Custom Properties
24117
24339
  *
24118
24340
  * CSS variables available for styling the component.
@@ -24927,7 +25149,8 @@ export type CustomElements = {
24927
25149
  * `entries` picks which way to read that table. `series` is one entry per data
24928
25150
  * column, named by the header row, which is a line or a bar chart.
24929
25151
  * `categories` is one entry per body row, which is a donut: its slices are the
24930
- * rows and it has no axis to write their names along.
25152
+ * rows and it has no axis to write their names along. `measures` drops the
25153
+ * first data column, which is a scatter.
24931
25154
  *
24932
25155
  * **The table is resolved on the client and there is no server pass.**
24933
25156
  *
@@ -24939,6 +25162,19 @@ export type CustomElements = {
24939
25162
  *
24940
25163
  * Absent is `series`, one entry per data column. `categories` reads one entry
24941
25164
  * per body row instead, for a donut, whose slices are the rows.
25165
+ *
25166
+ * **`measures` is `series` without the first column, and it is for a
25167
+ * scatter.** That chart reads its first numeric column as the measure
25168
+ * *across*, so its first plotted series is the table's second and everything
25169
+ * a legend beside it named was one color out: the across column wearing the
25170
+ * color of the first series drawn, and each real series wearing the next
25171
+ * one's. The across gets no entry rather than a shifted one, because it is an
25172
+ * axis and a scatter already writes its name at the end of the scale under
25173
+ * the plot.
25174
+ *
25175
+ * A legend cannot ask the chart which of these it is, `for` naming the table
25176
+ * they share and not each other, so the consumer says it. That is the same
25177
+ * shape `categories` already has.
24942
25178
  * - `for`: The id of the table to take the names from.
24943
25179
  *
24944
25180
  * Resolved through `getRootNode()`, so a legend inside another component's
@@ -25077,9 +25313,20 @@ export type CustomElements = {
25077
25313
  * the question a sparkline's single mark answers too.
25078
25314
  *
25079
25315
  * `none` lets the lines stop on their own, which suits a chart read for its
25080
- * shape rather than for where it finished. The shapes come from
25316
+ * shape rather than for where it finished. `square` is the same mark with its
25317
+ * corners, for a drawing whose neighbors are square, the columns of a table
25318
+ * beside it for instance. `ring` lets the ground through, for a chart drawn
25319
+ * over something busy. `triangle` points along the axis and reads as "and
25320
+ * onward" rather than as a second claim about the data.
25321
+ *
25322
+ * The shapes come from
25081
25323
  * `helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so
25082
- * the set is identical wherever one appears.
25324
+ * the set is identical wherever one appears. **Which is why every value is
25325
+ * named here.** `Sparkline` shipped `square` implemented, drawn, asserted and
25326
+ * undocumented until the cohort before this one; this family reads the same
25327
+ * four out of the same sheet and had left two of them unwritten, so the
25328
+ * finding arrived twice. A shared vocabulary wants naming at each door into
25329
+ * it, because a reader arrives at one door and not at the set.
25083
25330
  *
25084
25331
  * `ring` is the one that asks something of the drawing. It leaves a hole and a
25085
25332
  * line ends at the reading, which is the hole's center, so the `<svg>` is
@@ -25132,6 +25379,11 @@ export type CustomElements = {
25132
25379
  * calendar week, and declaring that against a base class whose `rows` is a
25133
25380
  * `Row[]` getter is a type error at best. Name the member for what it holds
25134
25381
  * rather than for the shortest word available. (property only) (readonly)
25382
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
25383
+ *
25384
+ * The same test `readSeries` applies when it drops a column of notes: a
25385
+ * column is a series where any row parses, so a series survives one blank
25386
+ * cell and a column of words is never one. (property only) (readonly)
25135
25387
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
25136
25388
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
25137
25389
  *
@@ -25154,6 +25406,31 @@ export type CustomElements = {
25154
25406
  * browser harness's awaits it alone: a browser always runs the frame, and a
25155
25407
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
25156
25408
  *
25409
+ * ## Methods
25410
+ *
25411
+ * Methods that can be called to access component functionality.
25412
+ *
25413
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
25414
+ *
25415
+ * **A cell's place in its row is not its series' depth, and the tooltip
25416
+ * spent a while assuming it was.** `readSeries` drops a column nothing
25417
+ * parses and `readRows` keeps it, so one column of notes among the figures
25418
+ * moves every column after it one color along in the bubble: a row reading
25419
+ * `Referral 1,080` wearing series three's green beside a legend that says
25420
+ * series three is something else, which is the one failure the dot exists
25421
+ * to prevent.
25422
+ *
25423
+ * Overridden where a chart reads the table some other way. `ScatterChart`
25424
+ * splits the first plotted column off as the measure across, so its first
25425
+ * *plotted* series is this table's second numeric column.
25426
+ *
25427
+ * ## CSS Custom Properties
25428
+ *
25429
+ * CSS variables available for styling the component.
25430
+ *
25431
+ * - `--chart-terminus-x`: Where a series' last reading sits horizontally, as a percentage. Written by the component. (default: `undefined`)
25432
+ * - `--chart-terminus-y`: Where a series' last reading sits vertically, as a percentage. Written by the component. (default: `undefined`)
25433
+ *
25157
25434
  * ## CSS Parts
25158
25435
  *
25159
25436
  * Custom selectors for styling elements within the component.
@@ -29037,6 +29314,11 @@ export type CustomElements = {
29037
29314
  * calendar week, and declaring that against a base class whose `rows` is a
29038
29315
  * `Row[]` getter is a type error at best. Name the member for what it holds
29039
29316
  * rather than for the shortest word available. (property only) (readonly)
29317
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
29318
+ *
29319
+ * The same test `readSeries` applies when it drops a column of notes: a
29320
+ * column is a series where any row parses, so a series survives one blank
29321
+ * cell and a column of words is never one. (property only) (readonly)
29040
29322
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
29041
29323
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
29042
29324
  *
@@ -29059,6 +29341,24 @@ export type CustomElements = {
29059
29341
  * browser harness's awaits it alone: a browser always runs the frame, and a
29060
29342
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
29061
29343
  *
29344
+ * ## Methods
29345
+ *
29346
+ * Methods that can be called to access component functionality.
29347
+ *
29348
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot a cell of a row is drawn in, which here is shifted by one.
29349
+ *
29350
+ * **A scatter's first plotted series is the table's *second* numeric
29351
+ * column**, the first having been split off as the measure across. So the
29352
+ * mixin's answer, which is right for a chart whose columns are its series in
29353
+ * order, is one too high on every column here and names a color for the
29354
+ * across, which is drawn in none. Left at that, the bubble painted the across
29355
+ * column in series one, the color the points themselves are drawn in, and
29356
+ * gave the series actually plotted series two.
29357
+ *
29358
+ * The across gets no dot at all rather than a shifted one. It is an axis and
29359
+ * not a series: it has a scale under the plot with its name at the end of it,
29360
+ * which is where a reader is told what it is.
29361
+ *
29062
29362
  * ## CSS Custom Properties
29063
29363
  *
29064
29364
  * CSS variables available for styling the component.
@@ -34952,12 +35252,28 @@ export type CustomElementsSolidJs = {
34952
35252
  * else draws every part in proportion to nothing. `LineChart` measures from its
34953
35253
  * own range because a line claims a position; a band claims an amount.
34954
35254
  *
35255
+ * **And so it is not a streamgraph**, which is the near neighbor to name.
35256
+ * A streamgraph moves its baseline to center the bands and reads as a river; it
35257
+ * is a real form and it is the one thing the rule above refuses, so this
35258
+ * carries no alias for it. What it has instead is `share`, which answers the
35259
+ * question a streamgraph is usually reached for, how the composition changed,
35260
+ * without giving up a floor a reader can measure against.
35261
+ *
34955
35262
  * **Straight between readings unless asked otherwise.** A band's top edge is a
34956
35263
  * sum, and a curve fitted through one sum can pass under the curve fitted
34957
35264
  * through the sum beneath it, so a smoothed stack can draw a part as less than
34958
35265
  * nothing between two readings. Straight segments between ordered points stay
34959
35266
  * ordered. `curve="smooth"` is there for a stack that is read as a shape.
34960
35267
  *
35268
+ * `curve="step"` falls on the safe side of that argument rather than being
35269
+ * unanswered by it, and it is worth saying which side because a reader cannot
35270
+ * tell from the argument alone. A step takes no value the readings do not have:
35271
+ * it holds one, jumps at the midpoint, and holds the next. So two stepped edges
35272
+ * that are ordered at every reading are ordered everywhere between them, which
35273
+ * is what `straight` is chosen for. It is the curve for a quantity that changes
35274
+ * at a moment rather than across an interval, a headcount or a price, where a
35275
+ * sloped edge claims a gradual change nothing measured.
35276
+ *
34961
35277
  * **`share` draws each reading as a hundred percent**, so the bands are the
34962
35278
  * parts' shares and the top edge is flat. It answers "which part grew" where
34963
35279
  * the default answers "did the whole grow".
@@ -34979,9 +35295,13 @@ export type CustomElementsSolidJs = {
34979
35295
  *
34980
35296
  * - `curve`: How a band's edge gets from one reading to the next.
34981
35297
  *
34982
- * Absent is `straight`, for the reason the class doc gives, and absent rather
34983
- * than defaulted because a reflecting property with a default writes its
34984
- * attribute onto every host, including the ones nobody configured.
35298
+ * Three values, and the class doc argues for each: `straight` is absent and
35299
+ * is the default, `smooth` is for a stack read as a shape and is the one that
35300
+ * can draw a part as less than nothing, `step` is for a quantity that changes
35301
+ * at a moment and is ordered the way `straight` is.
35302
+ *
35303
+ * Absent rather than defaulted because a reflecting property with a default
35304
+ * writes its attribute onto every host, including the ones nobody configured.
34985
35305
  * - `gridlines`: Which rules are drawn across the plot, if any.
34986
35306
  *
34987
35307
  * The same three values `LineChart` takes, with the same fallback: a bare
@@ -35033,6 +35353,11 @@ export type CustomElementsSolidJs = {
35033
35353
  * calendar week, and declaring that against a base class whose `rows` is a
35034
35354
  * `Row[]` getter is a type error at best. Name the member for what it holds
35035
35355
  * rather than for the shortest word available. (property only) (readonly)
35356
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
35357
+ *
35358
+ * The same test `readSeries` applies when it drops a column of notes: a
35359
+ * column is a series where any row parses, so a series survives one blank
35360
+ * cell and a column of words is never one. (property only) (readonly)
35036
35361
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
35037
35362
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
35038
35363
  *
@@ -35055,6 +35380,24 @@ export type CustomElementsSolidJs = {
35055
35380
  * browser harness's awaits it alone: a browser always runs the frame, and a
35056
35381
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
35057
35382
  *
35383
+ * ## Methods
35384
+ *
35385
+ * Methods that can be called to access component functionality.
35386
+ *
35387
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
35388
+ *
35389
+ * **A cell's place in its row is not its series' depth, and the tooltip
35390
+ * spent a while assuming it was.** `readSeries` drops a column nothing
35391
+ * parses and `readRows` keeps it, so one column of notes among the figures
35392
+ * moves every column after it one color along in the bubble: a row reading
35393
+ * `Referral 1,080` wearing series three's green beside a legend that says
35394
+ * series three is something else, which is the one failure the dot exists
35395
+ * to prevent.
35396
+ *
35397
+ * Overridden where a chart reads the table some other way. `ScatterChart`
35398
+ * splits the first plotted column off as the measure across, so its first
35399
+ * *plotted* series is this table's second numeric column.
35400
+ *
35058
35401
  * ## CSS Parts
35059
35402
  *
35060
35403
  * Custom selectors for styling elements within the component.
@@ -35406,27 +35749,37 @@ export type CustomElementsSolidJs = {
35406
35749
  * and reach no reader through the table.
35407
35750
  * - `lines`: Which series are drawn as a line instead of as columns, by name.
35408
35751
  *
35409
- * Space separated, matched against the column headings the table gives, so a
35410
- * chart says `lines="Margin"` rather than counting columns. Names because
35411
- * they are what the table already carries and what the legend already shows:
35412
- * an index is a fourth place the column order is written down and the first
35413
- * one to go stale when somebody moves a column.
35414
- *
35415
- * **A combination chart is one scale, and that is the honest half of it.**
35416
- * Both marks are measured against the same domain, so a line here says
35417
- * something comparable to the columns beside it. The usual reason to reach
35418
- * for a combination chart is the other thing, a count against a percentage on
35419
- * a second axis, and that is deliberately not this: two scales on one frame
35420
- * let the author put any two shapes in any relation by choosing the ranges,
35421
- * and the reader has no way to see it happening.
35422
- *
35423
- * A line among columns still measures from zero, because the columns do and
35424
- * they share the axis.
35752
+ * Separated by whitespace or commas and matched against the column headings
35753
+ * the table gives, so a chart says `lines="Margin"` rather than counting
35754
+ * columns. Names because they are what the table already carries and what the
35755
+ * legend already shows: an index is a fourth place the column order is
35756
+ * written down and the first one to go stale when somebody moves a column.
35757
+ *
35758
+ * **This says which mark a series takes and nothing about which scale it is
35759
+ * measured on.** Named here alone, a line shares the columns' domain, so it
35760
+ * says something comparable to the columns beside it.
35761
+ *
35762
+ * The other half of a combination chart, a count against a percentage on a
35763
+ * scale of its own, is `secondary`, which is a separate property because it
35764
+ * is a separate question and because the two compose: `with-a-second-axis`
35765
+ * ships naming one series in both. The argument for why a second scale is opt
35766
+ * in, and why setting it labels both axes, is written there.
35767
+ *
35768
+ * A line among columns measures from zero, because the columns do and they
35769
+ * share the axis. So does a line on the second scale, which is that scale's
35770
+ * own rule rather than this one's.
35425
35771
  * - `secondary`: Which series are measured against a scale of their own, by name.
35426
35772
  *
35427
- * Space separated and matched the way `lines` is, against the column headings
35428
- * the table gives. Opt in: absent, every series shares one domain, which is
35429
- * what makes a chart comparable and is the right default.
35773
+ * Separated and matched the way `lines` is, against the column headings the
35774
+ * table gives. Opt in: absent, every series shares one domain, which is what
35775
+ * makes a chart comparable and is the right default.
35776
+ *
35777
+ * **The scale, and `lines` is the mark.** The two are separate properties
35778
+ * because they answer separate questions and a series usually wants both:
35779
+ * a percentage beside a count is drawn as a line *and* measured on its own
35780
+ * axis, which is what `with-a-second-axis` writes out. Neither implies the
35781
+ * other, so a series can be a line on the shared scale and a column can have
35782
+ * a scale to itself.
35430
35783
  *
35431
35784
  * **Two scales on one frame let an author put any two shapes in any relation
35432
35785
  * by choosing the ranges, and a reader cannot see it happening.** That is not
@@ -35487,6 +35840,11 @@ export type CustomElementsSolidJs = {
35487
35840
  * calendar week, and declaring that against a base class whose `rows` is a
35488
35841
  * `Row[]` getter is a type error at best. Name the member for what it holds
35489
35842
  * rather than for the shortest word available. (property only) (readonly)
35843
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
35844
+ *
35845
+ * The same test `readSeries` applies when it drops a column of notes: a
35846
+ * column is a series where any row parses, so a series survives one blank
35847
+ * cell and a column of words is never one. (property only) (readonly)
35490
35848
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
35491
35849
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
35492
35850
  *
@@ -35509,11 +35867,29 @@ export type CustomElementsSolidJs = {
35509
35867
  * browser harness's awaits it alone: a browser always runs the frame, and a
35510
35868
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
35511
35869
  *
35870
+ * ## Methods
35871
+ *
35872
+ * Methods that can be called to access component functionality.
35873
+ *
35874
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
35875
+ *
35876
+ * **A cell's place in its row is not its series' depth, and the tooltip
35877
+ * spent a while assuming it was.** `readSeries` drops a column nothing
35878
+ * parses and `readRows` keeps it, so one column of notes among the figures
35879
+ * moves every column after it one color along in the bubble: a row reading
35880
+ * `Referral 1,080` wearing series three's green beside a legend that says
35881
+ * series three is something else, which is the one failure the dot exists
35882
+ * to prevent.
35883
+ *
35884
+ * Overridden where a chart reads the table some other way. `ScatterChart`
35885
+ * splits the first plotted column off as the measure across, so its first
35886
+ * *plotted* series is this table's second numeric column.
35887
+ *
35512
35888
  * ## CSS Custom Properties
35513
35889
  *
35514
35890
  * CSS variables available for styling the component.
35515
35891
  *
35516
- * - `--bar-chart-axis`: The color of a single-series axis, taken from that series. (default: `undefined`)
35892
+ * - `--bar-chart-axis`: 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. (default: `undefined`)
35517
35893
  * - `--bar-chart-secondary`: The color of the secondary axis when one series owns it. It resolves a `--helix-color-series-*` token, so on the headless tier alone it names something that is not there. #138. (default: `undefined`)
35518
35894
  * - `--chart-bar-wash`: The gradient a bar would take, named per bar so the styled tier can point `fill` at it. Drawn whatever the treatment and used only where `wash="gradient"` asks for it. (default: `undefined`)
35519
35895
  *
@@ -39802,6 +40178,14 @@ export type CustomElementsSolidJs = {
39802
40178
  * `getComputedStyle`, which is client-only: a server would draw a different
39803
40179
  * ring than the client. A plot's proportions are markup for the same reason
39804
40180
  * `curve` is.
40181
+ *
40182
+ * **And so it does not reflect**, which is the same argument read forward. No
40183
+ * selector on either tier asks about it and none can want to: everything the
40184
+ * thickness decides is arithmetic done here and published as
40185
+ * `--donut-chart-stroke`, which is a number a rule can do sums with where the
40186
+ * word is not. Reflected, it wrote a value onto every host a script had set
40187
+ * it on for nothing to read. `sweep` beside it is the converse and reflects,
40188
+ * because three rules select on it.
39805
40189
  * - `sweep`: How much of the circle the whole occupies.
39806
40190
  *
39807
40191
  * Absent is the full turn. `half` is a semi-donut: the same shares spread
@@ -39863,6 +40247,11 @@ export type CustomElementsSolidJs = {
39863
40247
  * calendar week, and declaring that against a base class whose `rows` is a
39864
40248
  * `Row[]` getter is a type error at best. Name the member for what it holds
39865
40249
  * rather than for the shortest word available. (property only) (readonly)
40250
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
40251
+ *
40252
+ * The same test `readSeries` applies when it drops a column of notes: a
40253
+ * column is a series where any row parses, so a series survives one blank
40254
+ * cell and a column of words is never one. (property only) (readonly)
39866
40255
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
39867
40256
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
39868
40257
  *
@@ -39891,6 +40280,24 @@ export type CustomElementsSolidJs = {
39891
40280
  *
39892
40281
  * - `(default)`: Goes in the middle of the ring. A total, usually.
39893
40282
  *
40283
+ * ## Methods
40284
+ *
40285
+ * Methods that can be called to access component functionality.
40286
+ *
40287
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
40288
+ *
40289
+ * **A cell's place in its row is not its series' depth, and the tooltip
40290
+ * spent a while assuming it was.** `readSeries` drops a column nothing
40291
+ * parses and `readRows` keeps it, so one column of notes among the figures
40292
+ * moves every column after it one color along in the bubble: a row reading
40293
+ * `Referral 1,080` wearing series three's green beside a legend that says
40294
+ * series three is something else, which is the one failure the dot exists
40295
+ * to prevent.
40296
+ *
40297
+ * Overridden where a chart reads the table some other way. `ScatterChart`
40298
+ * splits the first plotted column off as the measure across, so its first
40299
+ * *plotted* series is this table's second numeric column.
40300
+ *
39894
40301
  * ## CSS Custom Properties
39895
40302
  *
39896
40303
  * CSS variables available for styling the component.
@@ -41604,6 +42011,11 @@ export type CustomElementsSolidJs = {
41604
42011
  * calendar week, and declaring that against a base class whose `rows` is a
41605
42012
  * `Row[]` getter is a type error at best. Name the member for what it holds
41606
42013
  * rather than for the shortest word available. (property only) (readonly)
42014
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
42015
+ *
42016
+ * The same test `readSeries` applies when it drops a column of notes: a
42017
+ * column is a series where any row parses, so a series survives one blank
42018
+ * cell and a column of words is never one. (property only) (readonly)
41607
42019
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
41608
42020
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
41609
42021
  *
@@ -41640,6 +42052,24 @@ export type CustomElementsSolidJs = {
41640
42052
  * - `start`: Below the strip, at the leading edge: usually the oldest date.
41641
42053
  * - `summary`: Below the strip, in the middle: the reading over the range drawn.
41642
42054
  *
42055
+ * ## Methods
42056
+ *
42057
+ * Methods that can be called to access component functionality.
42058
+ *
42059
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
42060
+ *
42061
+ * **A cell's place in its row is not its series' depth, and the tooltip
42062
+ * spent a while assuming it was.** `readSeries` drops a column nothing
42063
+ * parses and `readRows` keeps it, so one column of notes among the figures
42064
+ * moves every column after it one color along in the bubble: a row reading
42065
+ * `Referral 1,080` wearing series three's green beside a legend that says
42066
+ * series three is something else, which is the one failure the dot exists
42067
+ * to prevent.
42068
+ *
42069
+ * Overridden where a chart reads the table some other way. `ScatterChart`
42070
+ * splits the first plotted column off as the measure across, so its first
42071
+ * *plotted* series is this table's second numeric column.
42072
+ *
41643
42073
  * ## CSS Custom Properties
41644
42074
  *
41645
42075
  * CSS variables available for styling the component.
@@ -42470,7 +42900,8 @@ export type CustomElementsSolidJs = {
42470
42900
  * `entries` picks which way to read that table. `series` is one entry per data
42471
42901
  * column, named by the header row, which is a line or a bar chart.
42472
42902
  * `categories` is one entry per body row, which is a donut: its slices are the
42473
- * rows and it has no axis to write their names along.
42903
+ * rows and it has no axis to write their names along. `measures` drops the
42904
+ * first data column, which is a scatter.
42474
42905
  *
42475
42906
  * **The table is resolved on the client and there is no server pass.**
42476
42907
  *
@@ -42482,6 +42913,19 @@ export type CustomElementsSolidJs = {
42482
42913
  *
42483
42914
  * Absent is `series`, one entry per data column. `categories` reads one entry
42484
42915
  * per body row instead, for a donut, whose slices are the rows.
42916
+ *
42917
+ * **`measures` is `series` without the first column, and it is for a
42918
+ * scatter.** That chart reads its first numeric column as the measure
42919
+ * *across*, so its first plotted series is the table's second and everything
42920
+ * a legend beside it named was one color out: the across column wearing the
42921
+ * color of the first series drawn, and each real series wearing the next
42922
+ * one's. The across gets no entry rather than a shifted one, because it is an
42923
+ * axis and a scatter already writes its name at the end of the scale under
42924
+ * the plot.
42925
+ *
42926
+ * A legend cannot ask the chart which of these it is, `for` naming the table
42927
+ * they share and not each other, so the consumer says it. That is the same
42928
+ * shape `categories` already has.
42485
42929
  * - `for`: The id of the table to take the names from.
42486
42930
  *
42487
42931
  * Resolved through `getRootNode()`, so a legend inside another component's
@@ -42623,9 +43067,20 @@ export type CustomElementsSolidJs = {
42623
43067
  * the question a sparkline's single mark answers too.
42624
43068
  *
42625
43069
  * `none` lets the lines stop on their own, which suits a chart read for its
42626
- * shape rather than for where it finished. The shapes come from
43070
+ * shape rather than for where it finished. `square` is the same mark with its
43071
+ * corners, for a drawing whose neighbors are square, the columns of a table
43072
+ * beside it for instance. `ring` lets the ground through, for a chart drawn
43073
+ * over something busy. `triangle` points along the axis and reads as "and
43074
+ * onward" rather than as a second claim about the data.
43075
+ *
43076
+ * The shapes come from
42627
43077
  * `helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so
42628
- * the set is identical wherever one appears.
43078
+ * the set is identical wherever one appears. **Which is why every value is
43079
+ * named here.** `Sparkline` shipped `square` implemented, drawn, asserted and
43080
+ * undocumented until the cohort before this one; this family reads the same
43081
+ * four out of the same sheet and had left two of them unwritten, so the
43082
+ * finding arrived twice. A shared vocabulary wants naming at each door into
43083
+ * it, because a reader arrives at one door and not at the set.
42629
43084
  *
42630
43085
  * `ring` is the one that asks something of the drawing. It leaves a hole and a
42631
43086
  * line ends at the reading, which is the hole's center, so the `<svg>` is
@@ -42678,6 +43133,11 @@ export type CustomElementsSolidJs = {
42678
43133
  * calendar week, and declaring that against a base class whose `rows` is a
42679
43134
  * `Row[]` getter is a type error at best. Name the member for what it holds
42680
43135
  * rather than for the shortest word available. (property only) (readonly)
43136
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
43137
+ *
43138
+ * The same test `readSeries` applies when it drops a column of notes: a
43139
+ * column is a series where any row parses, so a series survives one blank
43140
+ * cell and a column of words is never one. (property only) (readonly)
42681
43141
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
42682
43142
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
42683
43143
  *
@@ -42700,6 +43160,31 @@ export type CustomElementsSolidJs = {
42700
43160
  * browser harness's awaits it alone: a browser always runs the frame, and a
42701
43161
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
42702
43162
  *
43163
+ * ## Methods
43164
+ *
43165
+ * Methods that can be called to access component functionality.
43166
+ *
43167
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot the cell at this place in a row is drawn in.
43168
+ *
43169
+ * **A cell's place in its row is not its series' depth, and the tooltip
43170
+ * spent a while assuming it was.** `readSeries` drops a column nothing
43171
+ * parses and `readRows` keeps it, so one column of notes among the figures
43172
+ * moves every column after it one color along in the bubble: a row reading
43173
+ * `Referral 1,080` wearing series three's green beside a legend that says
43174
+ * series three is something else, which is the one failure the dot exists
43175
+ * to prevent.
43176
+ *
43177
+ * Overridden where a chart reads the table some other way. `ScatterChart`
43178
+ * splits the first plotted column off as the measure across, so its first
43179
+ * *plotted* series is this table's second numeric column.
43180
+ *
43181
+ * ## CSS Custom Properties
43182
+ *
43183
+ * CSS variables available for styling the component.
43184
+ *
43185
+ * - `--chart-terminus-x`: Where a series' last reading sits horizontally, as a percentage. Written by the component. (default: `undefined`)
43186
+ * - `--chart-terminus-y`: Where a series' last reading sits vertically, as a percentage. Written by the component. (default: `undefined`)
43187
+ *
42703
43188
  * ## CSS Parts
42704
43189
  *
42705
43190
  * Custom selectors for styling elements within the component.
@@ -46648,6 +47133,11 @@ export type CustomElementsSolidJs = {
46648
47133
  * calendar week, and declaring that against a base class whose `rows` is a
46649
47134
  * `Row[]` getter is a type error at best. Name the member for what it holds
46650
47135
  * rather than for the shortest word available. (property only) (readonly)
47136
+ * - `plottedColumns`: Which cells of a row hold numbers, by their place in it, in table order.
47137
+ *
47138
+ * The same test `readSeries` applies when it drops a column of notes: a
47139
+ * column is a series where any row parses, so a series survives one blank
47140
+ * cell and a column of words is never one. (property only) (readonly)
46651
47141
  * - `readings`: How many readings there are, which is what the pointer maps onto. (property only) (readonly)
46652
47142
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
46653
47143
  *
@@ -46670,6 +47160,24 @@ export type CustomElementsSolidJs = {
46670
47160
  * browser harness's awaits it alone: a browser always runs the frame, and a
46671
47161
  * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
46672
47162
  *
47163
+ * ## Methods
47164
+ *
47165
+ * Methods that can be called to access component functionality.
47166
+ *
47167
+ * - `seriesOf(cell: number) => number | undefined`: The palette slot a cell of a row is drawn in, which here is shifted by one.
47168
+ *
47169
+ * **A scatter's first plotted series is the table's *second* numeric
47170
+ * column**, the first having been split off as the measure across. So the
47171
+ * mixin's answer, which is right for a chart whose columns are its series in
47172
+ * order, is one too high on every column here and names a color for the
47173
+ * across, which is drawn in none. Left at that, the bubble painted the across
47174
+ * column in series one, the color the points themselves are drawn in, and
47175
+ * gave the series actually plotted series two.
47176
+ *
47177
+ * The across gets no dot at all rather than a shifted one. It is an axis and
47178
+ * not a series: it has a scale under the plot with its name at the end of it,
47179
+ * which is where a reader is told what it is.
47180
+ *
46673
47181
  * ## CSS Custom Properties
46674
47182
  *
46675
47183
  * CSS variables available for styling the component.
@@ -52250,7 +52758,7 @@ export type CustomElementsSolidJs = {
52250
52758
  };
52251
52759
 
52252
52760
  export type CustomCssProperties = {
52253
- /** The color of a single-series axis, taken from that series. */
52761
+ /** 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. */
52254
52762
  "--bar-chart-axis"?: (string) | undefined;
52255
52763
  /** The color of the secondary axis when one series owns it. It resolves a `--helix-color-series-*` token, so on the headless tier alone it names something that is not there. #138. */
52256
52764
  "--bar-chart-secondary"?: (string) | undefined;
@@ -52318,6 +52826,10 @@ export type CustomCssProperties = {
52318
52826
  "--heatmap-tone-success"?: (string) | undefined;
52319
52827
  /** What `warning` is worth. */
52320
52828
  "--heatmap-tone-warning"?: (string) | undefined;
52829
+ /** Where a series' last reading sits horizontally, as a percentage. Written by the component. */
52830
+ "--chart-terminus-x"?: (string) | undefined;
52831
+ /** Where a series' last reading sits vertically, as a percentage. Written by the component. */
52832
+ "--chart-terminus-y"?: (string) | undefined;
52321
52833
  /** Where the panel starts, measured from the bar above it. */
52322
52834
  "--megamenu-top"?: (string) | undefined;
52323
52835
  /** Where a bound sits on the arc, as a length along it. */
@@ -52354,10 +52866,6 @@ export type CustomCssProperties = {
52354
52866
  "--slider-marker-at"?: (string) | undefined;
52355
52867
  /** Where the filled span ends, as a percentage of the track. */
52356
52868
  "--slider-to"?: (string) | undefined;
52357
- /** Where the last point sits horizontally, as a percentage. */
52358
- "--chart-terminus-x"?: (string) | undefined;
52359
- /** Where the last point sits vertically, as a percentage. */
52360
- "--chart-terminus-y"?: (string) | undefined;
52361
52869
  /** Where a nested splitter crosses this one, as a percentage. */
52362
52870
  "--splitter-corner-at"?: (string) | undefined;
52363
52871
  /** Where the divider sits, as a percentage of the box. */