@fusion.dev/helix 0.184.0 → 0.186.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 +3049 -418
- package/dist/data-table/root/data-table-root.css.js +1 -1
- package/dist/data-table/root/data-table-root.d.ts +3 -1
- package/dist/element-events.generated.js +7 -0
- package/dist/icon/all/index.d.ts +0 -1
- package/dist/icon/all/index.js +0 -1
- package/dist/icon/root/icon-root.d.ts +0 -5
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/isometric-heatmap/index.d.ts +1 -0
- package/dist/isometric-heatmap/index.js +1 -0
- package/dist/isometric-heatmap/root/isometric-heatmap-root.css.d.ts +1 -0
- package/dist/isometric-heatmap/root/isometric-heatmap-root.css.js +2 -0
- package/dist/isometric-heatmap/root/isometric-heatmap-root.d.ts +39 -0
- package/dist/isometric-heatmap/root/isometric-heatmap-root.js +18 -0
- package/dist/sandbox/root/sandbox-root.js +1 -1
- package/dist/strands/root/strands-root.d.ts +4 -4
- package/dist/strands/root/strands-root.js +1 -6
- package/lint.json +1 -1
- package/package.json +6 -6
- package/types/jsx.d.ts +1256 -54
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +287 -13
package/types/jsx.d.ts
CHANGED
|
@@ -107,6 +107,7 @@ import type {
|
|
|
107
107
|
HelixIconButton,
|
|
108
108
|
HelixImage,
|
|
109
109
|
HelixInput,
|
|
110
|
+
HelixIsometricHeatmap,
|
|
110
111
|
HelixKbd,
|
|
111
112
|
HelixLegend,
|
|
112
113
|
HelixLightbox,
|
|
@@ -11141,6 +11142,16 @@ and the grid becomes a tree grid.
|
|
|
11141
11142
|
Reflected, because the styled tier indents a tree grid's row headers by
|
|
11142
11143
|
it. No default, so a table that sets none writes nothing onto its host. */
|
|
11143
11144
|
childField?: (HelixDataTable["childField"]) | undefined;
|
|
11145
|
+
/** The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
11146
|
+
dealt out one track to a column in the order the columns are written. A
|
|
11147
|
+
column's own `width` wins in its place, and a column it does not reach
|
|
11148
|
+
takes the track a column with no `width` takes.
|
|
11149
|
+
|
|
11150
|
+
**The one track list a server can send.** A server rendering this element
|
|
11151
|
+
has no columns to read a `width` from, and neither has a stylesheet laying
|
|
11152
|
+
out the rows a page served before the table upgrades, so a table sized here
|
|
11153
|
+
lays those rows out at the widths it draws. */
|
|
11154
|
+
columns?: (HelixDataTable["columns"]) | undefined;
|
|
11144
11155
|
/** The keys of the rows open at the start, separated by commas. Used until
|
|
11145
11156
|
`expanded` is set. */
|
|
11146
11157
|
"default-expanded"?: (HelixDataTable["defaultExpanded"]) | undefined;
|
|
@@ -11560,6 +11571,16 @@ and the grid becomes a tree grid.
|
|
|
11560
11571
|
Reflected, because the styled tier indents a tree grid's row headers by
|
|
11561
11572
|
it. No default, so a table that sets none writes nothing onto its host. */
|
|
11562
11573
|
"prop:childField"?: (HelixDataTable["childField"]) | undefined;
|
|
11574
|
+
/** The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
11575
|
+
dealt out one track to a column in the order the columns are written. A
|
|
11576
|
+
column's own `width` wins in its place, and a column it does not reach
|
|
11577
|
+
takes the track a column with no `width` takes.
|
|
11578
|
+
|
|
11579
|
+
**The one track list a server can send.** A server rendering this element
|
|
11580
|
+
has no columns to read a `width` from, and neither has a stylesheet laying
|
|
11581
|
+
out the rows a page served before the table upgrades, so a table sized here
|
|
11582
|
+
lays those rows out at the widths it draws. */
|
|
11583
|
+
"prop:columns"?: (HelixDataTable["columns"]) | undefined;
|
|
11563
11584
|
/** The keys of the rows open at the start, separated by commas. Used until
|
|
11564
11585
|
`expanded` is set. */
|
|
11565
11586
|
"attr:default-expanded"?: (HelixDataTable["defaultExpanded"]) | undefined;
|
|
@@ -18954,10 +18975,12 @@ disagreeing with its own name for every reader who meant the left. */
|
|
|
18954
18975
|
/** The name of the icon in the Helix set.
|
|
18955
18976
|
|
|
18956
18977
|
**A lookup, and the reason both this and `icon` exist.** A name is a string,
|
|
18957
|
-
so it is what markup can carry, and resolving one means an index
|
|
18958
|
-
bundler can shake
|
|
18959
|
-
|
|
18960
|
-
|
|
18978
|
+
so it is what markup can carry, and resolving one means an index of the
|
|
18979
|
+
whole set that no bundler can shake: 15 kB for a consumer who renders one
|
|
18980
|
+
mark. An attribute is the only thing an HTML author can write, and that is
|
|
18981
|
+
worth the index; a consumer who would rather not pay it imports the
|
|
18982
|
+
element from `icon/root` and registers the glyphs it names, or hands over
|
|
18983
|
+
the value instead.
|
|
18961
18984
|
|
|
18962
18985
|
A name written `prefix:name` asks the library registered under that
|
|
18963
18986
|
prefix. */
|
|
@@ -19026,10 +19049,12 @@ disagreeing with its own name for every reader who meant the left. */
|
|
|
19026
19049
|
/** The name of the icon in the Helix set.
|
|
19027
19050
|
|
|
19028
19051
|
**A lookup, and the reason both this and `icon` exist.** A name is a string,
|
|
19029
|
-
so it is what markup can carry, and resolving one means an index
|
|
19030
|
-
bundler can shake
|
|
19031
|
-
|
|
19032
|
-
|
|
19052
|
+
so it is what markup can carry, and resolving one means an index of the
|
|
19053
|
+
whole set that no bundler can shake: 15 kB for a consumer who renders one
|
|
19054
|
+
mark. An attribute is the only thing an HTML author can write, and that is
|
|
19055
|
+
worth the index; a consumer who would rather not pay it imports the
|
|
19056
|
+
element from `icon/root` and registers the glyphs it names, or hands over
|
|
19057
|
+
the value instead.
|
|
19033
19058
|
|
|
19034
19059
|
A name written `prefix:name` asks the library registered under that
|
|
19035
19060
|
prefix. */
|
|
@@ -19789,6 +19814,494 @@ invalid, and `true`, `null`, or nothing to accept the value. */
|
|
|
19789
19814
|
textContent?: (string | number) | undefined;
|
|
19790
19815
|
};
|
|
19791
19816
|
|
|
19817
|
+
/** `HelixIsometricHeatmap` component event */
|
|
19818
|
+
export type HelixIsometricHeatmapElementEvent<E = Event> = TypedEvent<
|
|
19819
|
+
HelixIsometricHeatmap,
|
|
19820
|
+
E
|
|
19821
|
+
>;
|
|
19822
|
+
/** `helix-before-change` event type */
|
|
19823
|
+
export type HelixIsometricHeatmapHelixBeforeChangeElementEvent =
|
|
19824
|
+
HelixIsometricHeatmapElementEvent<HelixBeforeChangeEvent>;
|
|
19825
|
+
/** `helix-reading-change` event type */
|
|
19826
|
+
export type HelixIsometricHeatmapHelixReadingChangeElementEvent =
|
|
19827
|
+
HelixIsometricHeatmapElementEvent<HelixReadingChangeEvent>;
|
|
19828
|
+
/** `helix-reading-press` event type */
|
|
19829
|
+
export type HelixIsometricHeatmapHelixReadingPressElementEvent =
|
|
19830
|
+
HelixIsometricHeatmapElementEvent<HelixReadingPressEvent>;
|
|
19831
|
+
/** `helix-resize` event type */
|
|
19832
|
+
export type HelixIsometricHeatmapHelixResizeElementEvent =
|
|
19833
|
+
HelixIsometricHeatmapElementEvent<HelixResizeEvent>;
|
|
19834
|
+
|
|
19835
|
+
export type HelixIsometricHeatmapProps = {
|
|
19836
|
+
/** Draws every prism at no height, so the tones lie on a plane. */
|
|
19837
|
+
flat?: (HelixIsometricHeatmap["flat"]) | undefined;
|
|
19838
|
+
/** How tall the highest reading stands, in cells. Every other reading stands
|
|
19839
|
+
at its share of it. */
|
|
19840
|
+
relief?: (HelixIsometricHeatmap["relief"]) | undefined;
|
|
19841
|
+
/** The words shown in place of the drawing when the table has no readings,
|
|
19842
|
+
and the fallback of the `empty` slot. */
|
|
19843
|
+
"empty-text"?: (HelixIsometricHeatmap["emptyText"]) | undefined;
|
|
19844
|
+
/** The words shown in place of the drawing when the table has no readings,
|
|
19845
|
+
and the fallback of the `empty` slot. */
|
|
19846
|
+
emptyText?: (HelixIsometricHeatmap["emptyText"]) | undefined;
|
|
19847
|
+
/** Whether the readings are still on their way. The chart shows
|
|
19848
|
+
`loading-text` in place of an empty drawing until it has readings.
|
|
19849
|
+
|
|
19850
|
+
Reflected, so a stylesheet can treat the chart while it waits. A chart
|
|
19851
|
+
that already has readings keeps drawing them, so a refresh does not
|
|
19852
|
+
blank it. */
|
|
19853
|
+
loading?: (HelixIsometricHeatmap["loading"]) | undefined;
|
|
19854
|
+
/** The words shown in place of the drawing while `loading` is set and
|
|
19855
|
+
there are no readings yet, and the fallback of the `loading` slot. */
|
|
19856
|
+
"loading-text"?: (HelixIsometricHeatmap["loadingText"]) | undefined;
|
|
19857
|
+
/** The words shown in place of the drawing while `loading` is set and
|
|
19858
|
+
there are no readings yet, and the fallback of the `loading` slot. */
|
|
19859
|
+
loadingText?: (HelixIsometricHeatmap["loadingText"]) | undefined;
|
|
19860
|
+
/** The id of the table to read.
|
|
19861
|
+
|
|
19862
|
+
Names a table in the same tree, so a chart inside another component's
|
|
19863
|
+
shadow root reads a table in that root rather than one in the document. A
|
|
19864
|
+
`<table>` or anything built from grid roles, including `helix-table`.
|
|
19865
|
+
|
|
19866
|
+
**In React this arrives as a property and not as an attribute**, the way
|
|
19867
|
+
`Tooltip.for` does, so it does not reflect and nothing styles on it. */
|
|
19868
|
+
for?: (HelixIsometricHeatmap["for"]) | undefined;
|
|
19869
|
+
/** The chart's name, which starts the chart's text summary.
|
|
19870
|
+
|
|
19871
|
+
Absent falls back to the table's own caption, which is usually the right
|
|
19872
|
+
words and is already written. */
|
|
19873
|
+
label?: (HelixIsometricHeatmap["label"]) | undefined;
|
|
19874
|
+
/** The locale the chart's own numbers are written in: its axis, its
|
|
19875
|
+
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
19876
|
+
|
|
19877
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
19878
|
+
cells are shown as the table writes them, whatever this says. */
|
|
19879
|
+
locale?: (HelixIsometricHeatmap["locale"]) | undefined;
|
|
19880
|
+
/** Where a reading the keys moved to stands among the readings, said after
|
|
19881
|
+
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
19882
|
+
`locale`.
|
|
19883
|
+
|
|
19884
|
+
Set it to the words of the page's language, such as `{position} von
|
|
19885
|
+
{count}`, or to nothing to say no position. A slice or a series a
|
|
19886
|
+
legend hid is not counted. */
|
|
19887
|
+
"position-label"?: (HelixIsometricHeatmap["positionLabel"]) | undefined;
|
|
19888
|
+
/** Where a reading the keys moved to stands among the readings, said after
|
|
19889
|
+
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
19890
|
+
`locale`.
|
|
19891
|
+
|
|
19892
|
+
Set it to the words of the page's language, such as `{position} von
|
|
19893
|
+
{count}`, or to nothing to say no position. A slice or a series a
|
|
19894
|
+
legend hid is not counted. */
|
|
19895
|
+
positionLabel?: (HelixIsometricHeatmap["positionLabel"]) | undefined;
|
|
19896
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
19897
|
+
`overview-label`. */
|
|
19898
|
+
"busiest-label"?: (HelixIsometricHeatmap["busiestLabel"]) | undefined;
|
|
19899
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
19900
|
+
`overview-label`. */
|
|
19901
|
+
busiestLabel?: (HelixIsometricHeatmap["busiestLabel"]) | undefined;
|
|
19902
|
+
/** Space between cells, in CSS pixels. It is a number for the same reason
|
|
19903
|
+
`min-cell` is. */
|
|
19904
|
+
gap?: (HelixIsometricHeatmap["gap"]) | undefined;
|
|
19905
|
+
/** The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
19906
|
+
|
|
19907
|
+
**Set this only to overrule what the strip actually draws.** The arithmetic
|
|
19908
|
+
needs a width in pixels and the width is a length the stylesheet resolves,
|
|
19909
|
+
so a number written here that disagrees with the sheet is a promise the
|
|
19910
|
+
consumer has to keep by hand, and the one number a summary is told to trust
|
|
19911
|
+
is the one it gets wrong.
|
|
19912
|
+
|
|
19913
|
+
The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
19914
|
+
own and these two are the estimate used until the first measurement lands.
|
|
19915
|
+
Writing the attribute pins the value and stops the measurement being
|
|
19916
|
+
consulted, which is what a container query or a transition on the cell size
|
|
19917
|
+
wants, where what is drawn this frame is not what the arithmetic should
|
|
19918
|
+
plan around.
|
|
19919
|
+
|
|
19920
|
+
Zero turns the dropping off altogether, which is right for a strip in a
|
|
19921
|
+
container that cannot get narrow. */
|
|
19922
|
+
"min-cell"?: (HelixIsometricHeatmap["minCell"] | `${number}`) | undefined;
|
|
19923
|
+
/** The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
19924
|
+
|
|
19925
|
+
**Set this only to overrule what the strip actually draws.** The arithmetic
|
|
19926
|
+
needs a width in pixels and the width is a length the stylesheet resolves,
|
|
19927
|
+
so a number written here that disagrees with the sheet is a promise the
|
|
19928
|
+
consumer has to keep by hand, and the one number a summary is told to trust
|
|
19929
|
+
is the one it gets wrong.
|
|
19930
|
+
|
|
19931
|
+
The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
19932
|
+
own and these two are the estimate used until the first measurement lands.
|
|
19933
|
+
Writing the attribute pins the value and stops the measurement being
|
|
19934
|
+
consulted, which is what a container query or a transition on the cell size
|
|
19935
|
+
wants, where what is drawn this frame is not what the arithmetic should
|
|
19936
|
+
plan around.
|
|
19937
|
+
|
|
19938
|
+
Zero turns the dropping off altogether, which is right for a strip in a
|
|
19939
|
+
container that cannot get narrow. */
|
|
19940
|
+
minCell?: (HelixIsometricHeatmap["minCell"]) | undefined;
|
|
19941
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
19942
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
19943
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
19944
|
+
readings drawn, written in the locale. */
|
|
19945
|
+
"overview-label"?: (HelixIsometricHeatmap["overviewLabel"]) | undefined;
|
|
19946
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
19947
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
19948
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
19949
|
+
readings drawn, written in the locale. */
|
|
19950
|
+
overviewLabel?: (HelixIsometricHeatmap["overviewLabel"]) | undefined;
|
|
19951
|
+
/** How many rows the strip has.
|
|
19952
|
+
|
|
19953
|
+
`1` is a status strip and `7` is a calendar week, which are the two readings
|
|
19954
|
+
this covers. Cells fill down the column and then across, which is what a
|
|
19955
|
+
calendar heatmap does: a week is a column, so the strip reads along the
|
|
19956
|
+
line in weeks, from the right on a right-to-left page, and top to bottom in
|
|
19957
|
+
days. */
|
|
19958
|
+
rows?: (HelixIsometricHeatmap["rows"]) | undefined;
|
|
19959
|
+
/** What the readout added for a selected cell, under `selection-mode`. */
|
|
19960
|
+
"selected-label"?: (HelixIsometricHeatmap["selectedLabel"]) | undefined;
|
|
19961
|
+
/** What the readout added for a selected cell, under `selection-mode`. */
|
|
19962
|
+
selectedLabel?: (HelixIsometricHeatmap["selectedLabel"]) | undefined;
|
|
19963
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
19964
|
+
how many cells are selected, written in the locale, and a language that
|
|
19965
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
19966
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
19967
|
+
"selection-label"?: (HelixIsometricHeatmap["selectionLabel"]) | undefined;
|
|
19968
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
19969
|
+
how many cells are selected, written in the locale, and a language that
|
|
19970
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
19971
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
19972
|
+
selectionLabel?: (HelixIsometricHeatmap["selectionLabel"]) | undefined;
|
|
19973
|
+
/** How many cells a reader can select: `single` or `multiple`.
|
|
19974
|
+
|
|
19975
|
+
Absent selects nothing, and a press or Space does what it did. */
|
|
19976
|
+
"selection-mode"?: (HelixIsometricHeatmap["selectionMode"]) | undefined;
|
|
19977
|
+
/** How many cells a reader can select: `single` or `multiple`.
|
|
19978
|
+
|
|
19979
|
+
Absent selects nothing, and a press or Space does what it did. */
|
|
19980
|
+
selectionMode?: (HelixIsometricHeatmap["selectionMode"]) | undefined;
|
|
19981
|
+
/** What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
19982
|
+
cell between two in the table's order, or `rectangle`, the cells between
|
|
19983
|
+
two corners by row and by column, as a spreadsheet selects a range. */
|
|
19984
|
+
"selection-shape"?: (HelixIsometricHeatmap["selectionShape"]) | undefined;
|
|
19985
|
+
/** What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
19986
|
+
cell between two in the table's order, or `rectangle`, the cells between
|
|
19987
|
+
two corners by row and by column, as a spreadsheet selects a range. */
|
|
19988
|
+
selectionShape?: (HelixIsometricHeatmap["selectionShape"]) | undefined;
|
|
19989
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
19990
|
+
table caption. */
|
|
19991
|
+
"strip-label"?: (HelixIsometricHeatmap["stripLabel"]) | undefined;
|
|
19992
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
19993
|
+
table caption. */
|
|
19994
|
+
stripLabel?: (HelixIsometricHeatmap["stripLabel"]) | undefined;
|
|
19995
|
+
/** Lower bounds for the tone buckets, in the order the tones are given.
|
|
19996
|
+
|
|
19997
|
+
`thresholds="1 3 6 9"` with `tones="1 2 3 4"` puts 1 and 2 in the ramp's
|
|
19998
|
+
first step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the
|
|
19999
|
+
fourth. A value below the first bound gets no tone at all: an empty day in a
|
|
20000
|
+
contribution graph is a day with nothing in it, and painting it as the
|
|
20001
|
+
lowest bucket claims a reading that does not exist. */
|
|
20002
|
+
thresholds?: (HelixIsometricHeatmap["thresholds"]) | undefined;
|
|
20003
|
+
/** The tone for each bucket, in the same order as `thresholds`.
|
|
20004
|
+
|
|
20005
|
+
A name, resolved as `--heatmap-tone-<name>` by whichever tier answers.
|
|
20006
|
+
**`"1"` through `"5"` are a ramp and everything else is a category**, which
|
|
20007
|
+
is the distinction a heatmap lives or dies on: magnitude has to be one hue
|
|
20008
|
+
getting louder, because a reader compares two cells by weight and cannot
|
|
20009
|
+
compare two hues at all. `tones="surface info accent success primary"` for a
|
|
20010
|
+
commit count is five unrelated hues for five amounts, which is confetti with
|
|
20011
|
+
no order in it. */
|
|
20012
|
+
tones?: (HelixIsometricHeatmap["tones"]) | undefined;
|
|
20013
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
20014
|
+
`{totalLabel}` in `overview-label`. */
|
|
20015
|
+
"total-label"?: (HelixIsometricHeatmap["totalLabel"]) | undefined;
|
|
20016
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
20017
|
+
`{totalLabel}` in `overview-label`. */
|
|
20018
|
+
totalLabel?: (HelixIsometricHeatmap["totalLabel"]) | undefined;
|
|
20019
|
+
/** The selected cells, separated by commas: each by the date its row's
|
|
20020
|
+
header carries in a `<time datetime>`, such as `2026-06-11`, or by the
|
|
20021
|
+
header's words where it carries none.
|
|
20022
|
+
|
|
20023
|
+
Set it to start with cells selected. Written by a press or a key under
|
|
20024
|
+
`selection-mode`. */
|
|
20025
|
+
value?: (HelixIsometricHeatmap["value"]) | undefined;
|
|
20026
|
+
/** The readings as data, in the shape of a table, where the page has no
|
|
20027
|
+
table to point `for` at. `for` wins where both are set.
|
|
20028
|
+
|
|
20029
|
+
```js
|
|
20030
|
+
chart.data = {
|
|
20031
|
+
caption: 'Sessions by channel',
|
|
20032
|
+
columns: ['Month', 'Direct', 'Referral'],
|
|
20033
|
+
rows: [['Jan', 10, 4], ['Feb', 20, 8]],
|
|
20034
|
+
}
|
|
20035
|
+
```
|
|
20036
|
+
|
|
20037
|
+
The first column holds each row's label and every column after it a
|
|
20038
|
+
series, as in a table. A cell is a number, words, `null` for a blank,
|
|
20039
|
+
or `{ value, text }` for a number shown as words, such as `$128k`. A
|
|
20040
|
+
number is shown in `locale`.
|
|
20041
|
+
|
|
20042
|
+
**A table is still the better source where the page can show one**:
|
|
20043
|
+
it reads with no script and before hydration, and a reader can sort and
|
|
20044
|
+
copy it. Data is drawn on the client only, so a server serves the
|
|
20045
|
+
frame, and the summary, the keys and the readout are then the whole of
|
|
20046
|
+
what a screen reader is given. Set a new object to redraw: the chart
|
|
20047
|
+
does not look inside the one it has. */
|
|
20048
|
+
data?: (HelixIsometricHeatmap["data"]) | undefined;
|
|
20049
|
+
|
|
20050
|
+
/** Fired once a press or a key has changed which cells are selected. */
|
|
20051
|
+
onchange?: ((e: HelixIsometricHeatmapElementEvent) => void) | undefined;
|
|
20052
|
+
/** Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable. */
|
|
20053
|
+
"onhelix-before-change"?: ((
|
|
20054
|
+
e: HelixIsometricHeatmapHelixBeforeChangeElementEvent,
|
|
20055
|
+
) => void) | undefined;
|
|
20056
|
+
/** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
|
|
20057
|
+
"onhelix-reading-change"?: ((
|
|
20058
|
+
e: HelixIsometricHeatmapHelixReadingChangeElementEvent,
|
|
20059
|
+
) => void) | undefined;
|
|
20060
|
+
/** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
|
|
20061
|
+
"onhelix-reading-press"?: ((
|
|
20062
|
+
e: HelixIsometricHeatmapHelixReadingPressElementEvent,
|
|
20063
|
+
) => void) | undefined;
|
|
20064
|
+
/** Fired when the number of cells drawn changes, with the new number. */
|
|
20065
|
+
"onhelix-resize"?: ((e: HelixIsometricHeatmapHelixResizeElementEvent) => void) | undefined;
|
|
20066
|
+
};
|
|
20067
|
+
|
|
20068
|
+
export type HelixIsometricHeatmapSolidJsProps = {
|
|
20069
|
+
/** Draws every prism at no height, so the tones lie on a plane. */
|
|
20070
|
+
"prop:flat"?: (HelixIsometricHeatmap["flat"]) | undefined;
|
|
20071
|
+
/** How tall the highest reading stands, in cells. Every other reading stands
|
|
20072
|
+
at its share of it. */
|
|
20073
|
+
"prop:relief"?: (HelixIsometricHeatmap["relief"]) | undefined;
|
|
20074
|
+
/** The words shown in place of the drawing when the table has no readings,
|
|
20075
|
+
and the fallback of the `empty` slot. */
|
|
20076
|
+
"attr:empty-text"?: (HelixIsometricHeatmap["emptyText"]) | undefined;
|
|
20077
|
+
/** The words shown in place of the drawing when the table has no readings,
|
|
20078
|
+
and the fallback of the `empty` slot. */
|
|
20079
|
+
"prop:emptyText"?: (HelixIsometricHeatmap["emptyText"]) | undefined;
|
|
20080
|
+
/** Whether the readings are still on their way. The chart shows
|
|
20081
|
+
`loading-text` in place of an empty drawing until it has readings.
|
|
20082
|
+
|
|
20083
|
+
Reflected, so a stylesheet can treat the chart while it waits. A chart
|
|
20084
|
+
that already has readings keeps drawing them, so a refresh does not
|
|
20085
|
+
blank it. */
|
|
20086
|
+
"prop:loading"?: (HelixIsometricHeatmap["loading"]) | undefined;
|
|
20087
|
+
/** The words shown in place of the drawing while `loading` is set and
|
|
20088
|
+
there are no readings yet, and the fallback of the `loading` slot. */
|
|
20089
|
+
"attr:loading-text"?: (HelixIsometricHeatmap["loadingText"]) | undefined;
|
|
20090
|
+
/** The words shown in place of the drawing while `loading` is set and
|
|
20091
|
+
there are no readings yet, and the fallback of the `loading` slot. */
|
|
20092
|
+
"prop:loadingText"?: (HelixIsometricHeatmap["loadingText"]) | undefined;
|
|
20093
|
+
/** The id of the table to read.
|
|
20094
|
+
|
|
20095
|
+
Names a table in the same tree, so a chart inside another component's
|
|
20096
|
+
shadow root reads a table in that root rather than one in the document. A
|
|
20097
|
+
`<table>` or anything built from grid roles, including `helix-table`.
|
|
20098
|
+
|
|
20099
|
+
**In React this arrives as a property and not as an attribute**, the way
|
|
20100
|
+
`Tooltip.for` does, so it does not reflect and nothing styles on it. */
|
|
20101
|
+
"prop:for"?: (HelixIsometricHeatmap["for"]) | undefined;
|
|
20102
|
+
/** The chart's name, which starts the chart's text summary.
|
|
20103
|
+
|
|
20104
|
+
Absent falls back to the table's own caption, which is usually the right
|
|
20105
|
+
words and is already written. */
|
|
20106
|
+
"prop:label"?: (HelixIsometricHeatmap["label"]) | undefined;
|
|
20107
|
+
/** The locale the chart's own numbers are written in: its axis, its
|
|
20108
|
+
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
20109
|
+
|
|
20110
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
20111
|
+
cells are shown as the table writes them, whatever this says. */
|
|
20112
|
+
"prop:locale"?: (HelixIsometricHeatmap["locale"]) | undefined;
|
|
20113
|
+
/** Where a reading the keys moved to stands among the readings, said after
|
|
20114
|
+
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
20115
|
+
`locale`.
|
|
20116
|
+
|
|
20117
|
+
Set it to the words of the page's language, such as `{position} von
|
|
20118
|
+
{count}`, or to nothing to say no position. A slice or a series a
|
|
20119
|
+
legend hid is not counted. */
|
|
20120
|
+
"attr:position-label"?: (HelixIsometricHeatmap["positionLabel"]) | undefined;
|
|
20121
|
+
/** Where a reading the keys moved to stands among the readings, said after
|
|
20122
|
+
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
20123
|
+
`locale`.
|
|
20124
|
+
|
|
20125
|
+
Set it to the words of the page's language, such as `{position} von
|
|
20126
|
+
{count}`, or to nothing to say no position. A slice or a series a
|
|
20127
|
+
legend hid is not counted. */
|
|
20128
|
+
"prop:positionLabel"?: (HelixIsometricHeatmap["positionLabel"]) | undefined;
|
|
20129
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
20130
|
+
`overview-label`. */
|
|
20131
|
+
"attr:busiest-label"?: (HelixIsometricHeatmap["busiestLabel"]) | undefined;
|
|
20132
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
20133
|
+
`overview-label`. */
|
|
20134
|
+
"prop:busiestLabel"?: (HelixIsometricHeatmap["busiestLabel"]) | undefined;
|
|
20135
|
+
/** Space between cells, in CSS pixels. It is a number for the same reason
|
|
20136
|
+
`min-cell` is. */
|
|
20137
|
+
"prop:gap"?: (HelixIsometricHeatmap["gap"]) | undefined;
|
|
20138
|
+
/** The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
20139
|
+
|
|
20140
|
+
**Set this only to overrule what the strip actually draws.** The arithmetic
|
|
20141
|
+
needs a width in pixels and the width is a length the stylesheet resolves,
|
|
20142
|
+
so a number written here that disagrees with the sheet is a promise the
|
|
20143
|
+
consumer has to keep by hand, and the one number a summary is told to trust
|
|
20144
|
+
is the one it gets wrong.
|
|
20145
|
+
|
|
20146
|
+
The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
20147
|
+
own and these two are the estimate used until the first measurement lands.
|
|
20148
|
+
Writing the attribute pins the value and stops the measurement being
|
|
20149
|
+
consulted, which is what a container query or a transition on the cell size
|
|
20150
|
+
wants, where what is drawn this frame is not what the arithmetic should
|
|
20151
|
+
plan around.
|
|
20152
|
+
|
|
20153
|
+
Zero turns the dropping off altogether, which is right for a strip in a
|
|
20154
|
+
container that cannot get narrow. */
|
|
20155
|
+
"attr:min-cell"?: (HelixIsometricHeatmap["minCell"] | `${number}`) | undefined;
|
|
20156
|
+
/** The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
20157
|
+
|
|
20158
|
+
**Set this only to overrule what the strip actually draws.** The arithmetic
|
|
20159
|
+
needs a width in pixels and the width is a length the stylesheet resolves,
|
|
20160
|
+
so a number written here that disagrees with the sheet is a promise the
|
|
20161
|
+
consumer has to keep by hand, and the one number a summary is told to trust
|
|
20162
|
+
is the one it gets wrong.
|
|
20163
|
+
|
|
20164
|
+
The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
20165
|
+
own and these two are the estimate used until the first measurement lands.
|
|
20166
|
+
Writing the attribute pins the value and stops the measurement being
|
|
20167
|
+
consulted, which is what a container query or a transition on the cell size
|
|
20168
|
+
wants, where what is drawn this frame is not what the arithmetic should
|
|
20169
|
+
plan around.
|
|
20170
|
+
|
|
20171
|
+
Zero turns the dropping off altogether, which is right for a strip in a
|
|
20172
|
+
container that cannot get narrow. */
|
|
20173
|
+
"prop:minCell"?: (HelixIsometricHeatmap["minCell"]) | undefined;
|
|
20174
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
20175
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
20176
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
20177
|
+
readings drawn, written in the locale. */
|
|
20178
|
+
"attr:overview-label"?: (HelixIsometricHeatmap["overviewLabel"]) | undefined;
|
|
20179
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
20180
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
20181
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
20182
|
+
readings drawn, written in the locale. */
|
|
20183
|
+
"prop:overviewLabel"?: (HelixIsometricHeatmap["overviewLabel"]) | undefined;
|
|
20184
|
+
/** How many rows the strip has.
|
|
20185
|
+
|
|
20186
|
+
`1` is a status strip and `7` is a calendar week, which are the two readings
|
|
20187
|
+
this covers. Cells fill down the column and then across, which is what a
|
|
20188
|
+
calendar heatmap does: a week is a column, so the strip reads along the
|
|
20189
|
+
line in weeks, from the right on a right-to-left page, and top to bottom in
|
|
20190
|
+
days. */
|
|
20191
|
+
"prop:rows"?: (HelixIsometricHeatmap["rows"]) | undefined;
|
|
20192
|
+
/** What the readout added for a selected cell, under `selection-mode`. */
|
|
20193
|
+
"attr:selected-label"?: (HelixIsometricHeatmap["selectedLabel"]) | undefined;
|
|
20194
|
+
/** What the readout added for a selected cell, under `selection-mode`. */
|
|
20195
|
+
"prop:selectedLabel"?: (HelixIsometricHeatmap["selectedLabel"]) | undefined;
|
|
20196
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
20197
|
+
how many cells are selected, written in the locale, and a language that
|
|
20198
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
20199
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
20200
|
+
"attr:selection-label"?: (HelixIsometricHeatmap["selectionLabel"]) | undefined;
|
|
20201
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
20202
|
+
how many cells are selected, written in the locale, and a language that
|
|
20203
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
20204
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
20205
|
+
"prop:selectionLabel"?: (HelixIsometricHeatmap["selectionLabel"]) | undefined;
|
|
20206
|
+
/** How many cells a reader can select: `single` or `multiple`.
|
|
20207
|
+
|
|
20208
|
+
Absent selects nothing, and a press or Space does what it did. */
|
|
20209
|
+
"attr:selection-mode"?: (HelixIsometricHeatmap["selectionMode"]) | undefined;
|
|
20210
|
+
/** How many cells a reader can select: `single` or `multiple`.
|
|
20211
|
+
|
|
20212
|
+
Absent selects nothing, and a press or Space does what it did. */
|
|
20213
|
+
"prop:selectionMode"?: (HelixIsometricHeatmap["selectionMode"]) | undefined;
|
|
20214
|
+
/** What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
20215
|
+
cell between two in the table's order, or `rectangle`, the cells between
|
|
20216
|
+
two corners by row and by column, as a spreadsheet selects a range. */
|
|
20217
|
+
"attr:selection-shape"?: (HelixIsometricHeatmap["selectionShape"]) | undefined;
|
|
20218
|
+
/** What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
20219
|
+
cell between two in the table's order, or `rectangle`, the cells between
|
|
20220
|
+
two corners by row and by column, as a spreadsheet selects a range. */
|
|
20221
|
+
"prop:selectionShape"?: (HelixIsometricHeatmap["selectionShape"]) | undefined;
|
|
20222
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
20223
|
+
table caption. */
|
|
20224
|
+
"attr:strip-label"?: (HelixIsometricHeatmap["stripLabel"]) | undefined;
|
|
20225
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
20226
|
+
table caption. */
|
|
20227
|
+
"prop:stripLabel"?: (HelixIsometricHeatmap["stripLabel"]) | undefined;
|
|
20228
|
+
/** Lower bounds for the tone buckets, in the order the tones are given.
|
|
20229
|
+
|
|
20230
|
+
`thresholds="1 3 6 9"` with `tones="1 2 3 4"` puts 1 and 2 in the ramp's
|
|
20231
|
+
first step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the
|
|
20232
|
+
fourth. A value below the first bound gets no tone at all: an empty day in a
|
|
20233
|
+
contribution graph is a day with nothing in it, and painting it as the
|
|
20234
|
+
lowest bucket claims a reading that does not exist. */
|
|
20235
|
+
"prop:thresholds"?: (HelixIsometricHeatmap["thresholds"]) | undefined;
|
|
20236
|
+
/** The tone for each bucket, in the same order as `thresholds`.
|
|
20237
|
+
|
|
20238
|
+
A name, resolved as `--heatmap-tone-<name>` by whichever tier answers.
|
|
20239
|
+
**`"1"` through `"5"` are a ramp and everything else is a category**, which
|
|
20240
|
+
is the distinction a heatmap lives or dies on: magnitude has to be one hue
|
|
20241
|
+
getting louder, because a reader compares two cells by weight and cannot
|
|
20242
|
+
compare two hues at all. `tones="surface info accent success primary"` for a
|
|
20243
|
+
commit count is five unrelated hues for five amounts, which is confetti with
|
|
20244
|
+
no order in it. */
|
|
20245
|
+
"prop:tones"?: (HelixIsometricHeatmap["tones"]) | undefined;
|
|
20246
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
20247
|
+
`{totalLabel}` in `overview-label`. */
|
|
20248
|
+
"attr:total-label"?: (HelixIsometricHeatmap["totalLabel"]) | undefined;
|
|
20249
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
20250
|
+
`{totalLabel}` in `overview-label`. */
|
|
20251
|
+
"prop:totalLabel"?: (HelixIsometricHeatmap["totalLabel"]) | undefined;
|
|
20252
|
+
/** The selected cells, separated by commas: each by the date its row's
|
|
20253
|
+
header carries in a `<time datetime>`, such as `2026-06-11`, or by the
|
|
20254
|
+
header's words where it carries none.
|
|
20255
|
+
|
|
20256
|
+
Set it to start with cells selected. Written by a press or a key under
|
|
20257
|
+
`selection-mode`. */
|
|
20258
|
+
"prop:value"?: (HelixIsometricHeatmap["value"]) | undefined;
|
|
20259
|
+
/** The readings as data, in the shape of a table, where the page has no
|
|
20260
|
+
table to point `for` at. `for` wins where both are set.
|
|
20261
|
+
|
|
20262
|
+
```js
|
|
20263
|
+
chart.data = {
|
|
20264
|
+
caption: 'Sessions by channel',
|
|
20265
|
+
columns: ['Month', 'Direct', 'Referral'],
|
|
20266
|
+
rows: [['Jan', 10, 4], ['Feb', 20, 8]],
|
|
20267
|
+
}
|
|
20268
|
+
```
|
|
20269
|
+
|
|
20270
|
+
The first column holds each row's label and every column after it a
|
|
20271
|
+
series, as in a table. A cell is a number, words, `null` for a blank,
|
|
20272
|
+
or `{ value, text }` for a number shown as words, such as `$128k`. A
|
|
20273
|
+
number is shown in `locale`.
|
|
20274
|
+
|
|
20275
|
+
**A table is still the better source where the page can show one**:
|
|
20276
|
+
it reads with no script and before hydration, and a reader can sort and
|
|
20277
|
+
copy it. Data is drawn on the client only, so a server serves the
|
|
20278
|
+
frame, and the summary, the keys and the readout are then the whole of
|
|
20279
|
+
what a screen reader is given. Set a new object to redraw: the chart
|
|
20280
|
+
does not look inside the one it has. */
|
|
20281
|
+
"prop:data"?: (HelixIsometricHeatmap["data"]) | undefined;
|
|
20282
|
+
/** Fired once a press or a key has changed which cells are selected. */
|
|
20283
|
+
"on:change"?: ((e: HelixIsometricHeatmapElementEvent) => void) | undefined;
|
|
20284
|
+
/** Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable. */
|
|
20285
|
+
"on:helix-before-change"?: ((
|
|
20286
|
+
e: HelixIsometricHeatmapHelixBeforeChangeElementEvent,
|
|
20287
|
+
) => void) | undefined;
|
|
20288
|
+
/** The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it. */
|
|
20289
|
+
"on:helix-reading-change"?: ((
|
|
20290
|
+
e: HelixIsometricHeatmapHelixReadingChangeElementEvent,
|
|
20291
|
+
) => void) | undefined;
|
|
20292
|
+
/** A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`. */
|
|
20293
|
+
"on:helix-reading-press"?: ((
|
|
20294
|
+
e: HelixIsometricHeatmapHelixReadingPressElementEvent,
|
|
20295
|
+
) => void) | undefined;
|
|
20296
|
+
/** Fired when the number of cells drawn changes, with the new number. */
|
|
20297
|
+
"on:helix-resize"?: ((e: HelixIsometricHeatmapHelixResizeElementEvent) => void) | undefined;
|
|
20298
|
+
|
|
20299
|
+
/** Set the innerHTML of the element */
|
|
20300
|
+
innerHTML?: (string) | undefined;
|
|
20301
|
+
/** Set the textContent of the element */
|
|
20302
|
+
textContent?: (string | number) | undefined;
|
|
20303
|
+
};
|
|
20304
|
+
|
|
19792
20305
|
/** `HelixKbd` component event */
|
|
19793
20306
|
export type HelixKbdElementEvent<E = Event> = TypedEvent<HelixKbd, E>;
|
|
19794
20307
|
/** `helix-shortcut` event type */
|
|
@@ -34752,13 +35265,11 @@ and each column may say otherwise.
|
|
|
34752
35265
|
**It is also the only track list a server can send.** The shim has no tree
|
|
34753
35266
|
to walk, so a render there knows of no columns and this attribute is the
|
|
34754
35267
|
whole answer: a table given one lays its grid out in the first paint, and a
|
|
34755
|
-
table sized only by its columns
|
|
35268
|
+
table sized only by its columns takes, until it upgrades, a track for each
|
|
35269
|
+
column at the width a column with no `width` takes (`helix.css`).
|
|
34756
35270
|
|
|
34757
|
-
|
|
34758
|
-
|
|
34759
|
-
and a list here would be a second way to say what that says. This table's
|
|
34760
|
-
cells are markup, and a table written as rows of cells with no column
|
|
34761
|
-
declared in it has nowhere else to be sized from. */
|
|
35271
|
+
Data Table takes the same list, for the same reason: a data table that
|
|
35272
|
+
serves its first page as rows is laid out by it before it upgrades. */
|
|
34762
35273
|
columns?: (HelixTable["columns"]) | undefined;
|
|
34763
35274
|
/** The keys of the rows whose rows are shown at the start, separated by
|
|
34764
35275
|
commas. Used until `expanded` is set. */
|
|
@@ -35015,13 +35526,11 @@ and each column may say otherwise.
|
|
|
35015
35526
|
**It is also the only track list a server can send.** The shim has no tree
|
|
35016
35527
|
to walk, so a render there knows of no columns and this attribute is the
|
|
35017
35528
|
whole answer: a table given one lays its grid out in the first paint, and a
|
|
35018
|
-
table sized only by its columns
|
|
35529
|
+
table sized only by its columns takes, until it upgrades, a track for each
|
|
35530
|
+
column at the width a column with no `width` takes (`helix.css`).
|
|
35019
35531
|
|
|
35020
|
-
|
|
35021
|
-
|
|
35022
|
-
and a list here would be a second way to say what that says. This table's
|
|
35023
|
-
cells are markup, and a table written as rows of cells with no column
|
|
35024
|
-
declared in it has nowhere else to be sized from. */
|
|
35532
|
+
Data Table takes the same list, for the same reason: a data table that
|
|
35533
|
+
serves its first page as rows is laid out by it before it upgrades. */
|
|
35025
35534
|
"prop:columns"?: (HelixTable["columns"]) | undefined;
|
|
35026
35535
|
/** The keys of the rows whose rows are shown at the start, separated by
|
|
35027
35536
|
commas. Used until `expanded` is set. */
|
|
@@ -49411,7 +49920,9 @@ export type CustomElements = {
|
|
|
49411
49920
|
* Write it under the columns as `helix-table-row` and `helix-table-cell`
|
|
49412
49921
|
* elements. `@fusion.dev/helix-styles/helix.css` lays them out as the table
|
|
49413
49922
|
* draws them before it upgrades, and the table shows them until `rows` holds a
|
|
49414
|
-
* row.
|
|
49923
|
+
* row. It holds the checkbox column and the pagination's row from the first
|
|
49924
|
+
* paint, and takes the widths from `columns`, so nothing moves when the table
|
|
49925
|
+
* upgrades or draws its own rows.
|
|
49415
49926
|
*
|
|
49416
49927
|
* ## Attributes & Properties
|
|
49417
49928
|
*
|
|
@@ -49432,6 +49943,15 @@ export type CustomElements = {
|
|
|
49432
49943
|
*
|
|
49433
49944
|
* Reflected, because the styled tier indents a tree grid's row headers by
|
|
49434
49945
|
* it. No default, so a table that sets none writes nothing onto its host.
|
|
49946
|
+
* - `columns`: The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
49947
|
+
* dealt out one track to a column in the order the columns are written. A
|
|
49948
|
+
* column's own `width` wins in its place, and a column it does not reach
|
|
49949
|
+
* takes the track a column with no `width` takes.
|
|
49950
|
+
*
|
|
49951
|
+
* **The one track list a server can send.** A server rendering this element
|
|
49952
|
+
* has no columns to read a `width` from, and neither has a stylesheet laying
|
|
49953
|
+
* out the rows a page served before the table upgrades, so a table sized here
|
|
49954
|
+
* lays those rows out at the widths it draws.
|
|
49435
49955
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows open at the start, separated by commas. Used until
|
|
49436
49956
|
* `expanded` is set.
|
|
49437
49957
|
* - `default-filter`/`defaultFilter`: The starting search query, used until `filter` is set.
|
|
@@ -54566,11 +55086,6 @@ export type CustomElements = {
|
|
|
54566
55086
|
* Reduced motion stills every animation. `auto-width` gives the box the
|
|
54567
55087
|
* glyph's own proportions, for a mark wider than it is tall.
|
|
54568
55088
|
*
|
|
54569
|
-
* **`@fusion.dev/helix/icon` registers thirteen glyphs by name**, the ones a
|
|
54570
|
-
* control most often needs, and `@fusion.dev/helix/icon/all` registers the
|
|
54571
|
-
* whole set. The headless element lists the thirteen and says how a name is
|
|
54572
|
-
* resolved.
|
|
54573
|
-
*
|
|
54574
55089
|
* ## Attributes & Properties
|
|
54575
55090
|
*
|
|
54576
55091
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -54602,10 +55117,12 @@ export type CustomElements = {
|
|
|
54602
55117
|
* - `name`: The name of the icon in the Helix set.
|
|
54603
55118
|
*
|
|
54604
55119
|
* **A lookup, and the reason both this and `icon` exist.** A name is a string,
|
|
54605
|
-
* so it is what markup can carry, and resolving one means an index
|
|
54606
|
-
* bundler can shake
|
|
54607
|
-
*
|
|
54608
|
-
*
|
|
55120
|
+
* so it is what markup can carry, and resolving one means an index of the
|
|
55121
|
+
* whole set that no bundler can shake: 15 kB for a consumer who renders one
|
|
55122
|
+
* mark. An attribute is the only thing an HTML author can write, and that is
|
|
55123
|
+
* worth the index; a consumer who would rather not pay it imports the
|
|
55124
|
+
* element from `icon/root` and registers the glyphs it names, or hands over
|
|
55125
|
+
* the value instead.
|
|
54609
55126
|
*
|
|
54610
55127
|
* A name written `prefix:name` asks the library registered under that
|
|
54611
55128
|
* prefix.
|
|
@@ -55152,6 +55669,340 @@ export type CustomElements = {
|
|
|
55152
55669
|
*/
|
|
55153
55670
|
"helix-input": Partial<HelixInputProps & BaseProps<HelixInput> & BaseEvents<HelixInput>>;
|
|
55154
55671
|
|
|
55672
|
+
/**
|
|
55673
|
+
* Each reading is a prism. The top face takes the cell's tone, and the two
|
|
55674
|
+
* sides are the same tone, shaded darker, so the whole relief follows your
|
|
55675
|
+
* theme's colors.
|
|
55676
|
+
*
|
|
55677
|
+
* `tones="1 2 3 4 5"` uses the same five-step ramp as `Heatmap`, so the tone
|
|
55678
|
+
* and the height both show the value. Set `--isometric-heatmap-cell-size` to
|
|
55679
|
+
* change how large a cell may grow.
|
|
55680
|
+
*
|
|
55681
|
+
* ## Attributes & Properties
|
|
55682
|
+
*
|
|
55683
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
55684
|
+
*
|
|
55685
|
+
* - `flat`: Draws every prism at no height, so the tones lie on a plane.
|
|
55686
|
+
* - `relief`: How tall the highest reading stands, in cells. Every other reading stands
|
|
55687
|
+
* at its share of it.
|
|
55688
|
+
* - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
|
|
55689
|
+
* and the fallback of the `empty` slot.
|
|
55690
|
+
* - `loading`: Whether the readings are still on their way. The chart shows
|
|
55691
|
+
* `loading-text` in place of an empty drawing until it has readings.
|
|
55692
|
+
*
|
|
55693
|
+
* Reflected, so a stylesheet can treat the chart while it waits. A chart
|
|
55694
|
+
* that already has readings keeps drawing them, so a refresh does not
|
|
55695
|
+
* blank it.
|
|
55696
|
+
* - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
|
|
55697
|
+
* there are no readings yet, and the fallback of the `loading` slot.
|
|
55698
|
+
* - `for`: The id of the table to read.
|
|
55699
|
+
*
|
|
55700
|
+
* Names a table in the same tree, so a chart inside another component's
|
|
55701
|
+
* shadow root reads a table in that root rather than one in the document. A
|
|
55702
|
+
* `<table>` or anything built from grid roles, including `helix-table`.
|
|
55703
|
+
*
|
|
55704
|
+
* **In React this arrives as a property and not as an attribute**, the way
|
|
55705
|
+
* `Tooltip.for` does, so it does not reflect and nothing styles on it.
|
|
55706
|
+
* - `label`: The chart's name, which starts the chart's text summary.
|
|
55707
|
+
*
|
|
55708
|
+
* Absent falls back to the table's own caption, which is usually the right
|
|
55709
|
+
* words and is already written.
|
|
55710
|
+
* - `locale`: The locale the chart's own numbers are written in: its axis, its
|
|
55711
|
+
* percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
55712
|
+
*
|
|
55713
|
+
* Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
55714
|
+
* cells are shown as the table writes them, whatever this says.
|
|
55715
|
+
* - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
|
|
55716
|
+
* it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
55717
|
+
* `locale`.
|
|
55718
|
+
*
|
|
55719
|
+
* Set it to the words of the page's language, such as `{position} von
|
|
55720
|
+
* {count}`, or to nothing to say no position. A slice or a series a
|
|
55721
|
+
* legend hid is not counted.
|
|
55722
|
+
* - `busiest-label`/`busiestLabel`: The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
55723
|
+
* `overview-label`.
|
|
55724
|
+
* - `gap`: Space between cells, in CSS pixels. It is a number for the same reason
|
|
55725
|
+
* `min-cell` is.
|
|
55726
|
+
* - `min-cell`/`minCell`: The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
55727
|
+
*
|
|
55728
|
+
* **Set this only to overrule what the strip actually draws.** The arithmetic
|
|
55729
|
+
* needs a width in pixels and the width is a length the stylesheet resolves,
|
|
55730
|
+
* so a number written here that disagrees with the sheet is a promise the
|
|
55731
|
+
* consumer has to keep by hand, and the one number a summary is told to trust
|
|
55732
|
+
* is the one it gets wrong.
|
|
55733
|
+
*
|
|
55734
|
+
* The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
55735
|
+
* own and these two are the estimate used until the first measurement lands.
|
|
55736
|
+
* Writing the attribute pins the value and stops the measurement being
|
|
55737
|
+
* consulted, which is what a container query or a transition on the cell size
|
|
55738
|
+
* wants, where what is drawn this frame is not what the arithmetic should
|
|
55739
|
+
* plan around.
|
|
55740
|
+
*
|
|
55741
|
+
* Zero turns the dropping off altogether, which is right for a strip in a
|
|
55742
|
+
* container that cannot get narrow.
|
|
55743
|
+
* - `overview-label`/`overviewLabel`: The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
55744
|
+
* `busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
55745
|
+
* and its reading as the table writes it, and `{total}` the total of the
|
|
55746
|
+
* readings drawn, written in the locale.
|
|
55747
|
+
* - `rows`: How many rows the strip has.
|
|
55748
|
+
*
|
|
55749
|
+
* `1` is a status strip and `7` is a calendar week, which are the two readings
|
|
55750
|
+
* this covers. Cells fill down the column and then across, which is what a
|
|
55751
|
+
* calendar heatmap does: a week is a column, so the strip reads along the
|
|
55752
|
+
* line in weeks, from the right on a right-to-left page, and top to bottom in
|
|
55753
|
+
* days.
|
|
55754
|
+
* - `selected-label`/`selectedLabel`: What the readout added for a selected cell, under `selection-mode`.
|
|
55755
|
+
* - `selection-label`/`selectionLabel`: What the `selection` part says after the selection changes. `{count}` is
|
|
55756
|
+
* how many cells are selected, written in the locale, and a language that
|
|
55757
|
+
* needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
55758
|
+
* {# wybrane} many {# wybranych} other {# wybranego}}`.
|
|
55759
|
+
* - `selection-mode`/`selectionMode`: How many cells a reader can select: `single` or `multiple`.
|
|
55760
|
+
*
|
|
55761
|
+
* Absent selects nothing, and a press or Space does what it did.
|
|
55762
|
+
* - `selection-shape`/`selectionShape`: What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
55763
|
+
* cell between two in the table's order, or `rectangle`, the cells between
|
|
55764
|
+
* two corners by row and by column, as a spreadsheet selects a range.
|
|
55765
|
+
* - `strip-label`/`stripLabel`: The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
55766
|
+
* table caption.
|
|
55767
|
+
* - `thresholds`: Lower bounds for the tone buckets, in the order the tones are given.
|
|
55768
|
+
*
|
|
55769
|
+
* `thresholds="1 3 6 9"` with `tones="1 2 3 4"` puts 1 and 2 in the ramp's
|
|
55770
|
+
* first step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the
|
|
55771
|
+
* fourth. A value below the first bound gets no tone at all: an empty day in a
|
|
55772
|
+
* contribution graph is a day with nothing in it, and painting it as the
|
|
55773
|
+
* lowest bucket claims a reading that does not exist.
|
|
55774
|
+
* - `tones`: The tone for each bucket, in the same order as `thresholds`.
|
|
55775
|
+
*
|
|
55776
|
+
* A name, resolved as `--heatmap-tone-<name>` by whichever tier answers.
|
|
55777
|
+
* **`"1"` through `"5"` are a ramp and everything else is a category**, which
|
|
55778
|
+
* is the distinction a heatmap lives or dies on: magnitude has to be one hue
|
|
55779
|
+
* getting louder, because a reader compares two cells by weight and cannot
|
|
55780
|
+
* compare two hues at all. `tones="surface info accent success primary"` for a
|
|
55781
|
+
* commit count is five unrelated hues for five amounts, which is confetti with
|
|
55782
|
+
* no order in it.
|
|
55783
|
+
* - `total-label`/`totalLabel`: The name the `overview` gives the total of the readings drawn,
|
|
55784
|
+
* `{totalLabel}` in `overview-label`.
|
|
55785
|
+
* - `value`: The selected cells, separated by commas: each by the date its row's
|
|
55786
|
+
* header carries in a `<time datetime>`, such as `2026-06-11`, or by the
|
|
55787
|
+
* header's words where it carries none.
|
|
55788
|
+
*
|
|
55789
|
+
* Set it to start with cells selected. Written by a press or a key under
|
|
55790
|
+
* `selection-mode`.
|
|
55791
|
+
* - `data`: The readings as data, in the shape of a table, where the page has no
|
|
55792
|
+
* table to point `for` at. `for` wins where both are set.
|
|
55793
|
+
*
|
|
55794
|
+
* ```js
|
|
55795
|
+
* chart.data = {
|
|
55796
|
+
* caption: 'Sessions by channel',
|
|
55797
|
+
* columns: ['Month', 'Direct', 'Referral'],
|
|
55798
|
+
* rows: [['Jan', 10, 4], ['Feb', 20, 8]],
|
|
55799
|
+
* }
|
|
55800
|
+
* ```
|
|
55801
|
+
*
|
|
55802
|
+
* The first column holds each row's label and every column after it a
|
|
55803
|
+
* series, as in a table. A cell is a number, words, `null` for a blank,
|
|
55804
|
+
* or `{ value, text }` for a number shown as words, such as `$128k`. A
|
|
55805
|
+
* number is shown in `locale`.
|
|
55806
|
+
*
|
|
55807
|
+
* **A table is still the better source where the page can show one**:
|
|
55808
|
+
* it reads with no script and before hydration, and a reader can sort and
|
|
55809
|
+
* copy it. Data is drawn on the client only, so a server serves the
|
|
55810
|
+
* frame, and the summary, the keys and the readout are then the whole of
|
|
55811
|
+
* what a screen reader is given. Set a new object to redraw: the chart
|
|
55812
|
+
* does not look inside the one it has. (property only)
|
|
55813
|
+
* - `series`: The table's columns, one series each. Empty when there is no table.
|
|
55814
|
+
*
|
|
55815
|
+
* Held by the controller between edits, so a render reading this five
|
|
55816
|
+
* times parses the table once. See `SourceController.series`. (property only) (readonly)
|
|
55817
|
+
* - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
|
|
55818
|
+
* then the table's caption.
|
|
55819
|
+
*
|
|
55820
|
+
* The fallback is the reason this is shared rather than copied: a caption is
|
|
55821
|
+
* already written, already the right words, and already the thing a reader
|
|
55822
|
+
* of the table sees. A chart that made the consumer say it twice would be
|
|
55823
|
+
* asking for the second one to drift.
|
|
55824
|
+
*
|
|
55825
|
+
* **An `aria-label` on the chart comes first**, because it is how a page
|
|
55826
|
+
* names an element, and the chart is a generic around its plot: written
|
|
55827
|
+
* on the host, the name reached nobody. The plot takes it, as Heatmap's
|
|
55828
|
+
* strip always did. (property only) (readonly)
|
|
55829
|
+
* - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
|
|
55830
|
+
*
|
|
55831
|
+
* The same test `readSeries` applies when it drops a column of notes: a
|
|
55832
|
+
* column is a series where any row parses, so a series survives one blank
|
|
55833
|
+
* cell and a column of words is never one. (property only) (readonly)
|
|
55834
|
+
* - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
|
|
55835
|
+
* - `visible`: How many cells are actually drawn.
|
|
55836
|
+
*
|
|
55837
|
+
* **This is the number a summary has to agree with**, and the reason it is
|
|
55838
|
+
* published at all: a consumer's own summary is their markup and this element
|
|
55839
|
+
* cannot rewrite it, so the only honest arrangement is to hand over the count
|
|
55840
|
+
* and say when it changed.
|
|
55841
|
+
*
|
|
55842
|
+
* **A plain getter, and the attribute is written in `updated`, because
|
|
55843
|
+
* `@property({ reflect: true })` on a getter with no setter reflects once and
|
|
55844
|
+
* then goes stale.** Lit reflects a property that is in `changedProperties`,
|
|
55845
|
+
* and nothing puts a derived getter there after the first update: the
|
|
55846
|
+
* attribute would be right on load and wrong from the first resize, which is
|
|
55847
|
+
* the exact failure the count exists to prevent, arriving through the
|
|
55848
|
+
* mechanism meant to prevent it. (property only) (readonly)
|
|
55849
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
55850
|
+
*
|
|
55851
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
55852
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
55853
|
+
* base class takes the name every subclass then cannot use.
|
|
55854
|
+
*
|
|
55855
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
55856
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
55857
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
55858
|
+
* instead.
|
|
55859
|
+
*
|
|
55860
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
55861
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
55862
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
55863
|
+
*
|
|
55864
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
55865
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
55866
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
55867
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
55868
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
55869
|
+
*
|
|
55870
|
+
* ## Events
|
|
55871
|
+
*
|
|
55872
|
+
* Events that will be emitted by the component.
|
|
55873
|
+
*
|
|
55874
|
+
* - `change`: Fired once a press or a key has changed which cells are selected.
|
|
55875
|
+
* - `helix-before-change`: Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable.
|
|
55876
|
+
* - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
|
|
55877
|
+
* - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
|
|
55878
|
+
* - `helix-resize`: Fired when the number of cells drawn changes, with the new number.
|
|
55879
|
+
*
|
|
55880
|
+
* ## Slots
|
|
55881
|
+
*
|
|
55882
|
+
* Areas where markup can be added to the component.
|
|
55883
|
+
*
|
|
55884
|
+
* - `empty`: Content shown under the strip when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
|
|
55885
|
+
* - `end`: Below the strip, at the trailing edge: usually the newest date.
|
|
55886
|
+
* - `loading`: Content shown under the strip while `loading` is set and there are no readings yet. Falls back to `loading-text`.
|
|
55887
|
+
* - `start`: Below the strip, at the leading edge: usually the oldest date.
|
|
55888
|
+
* - `summary`: Below the strip, in the middle: a summary of the range shown.
|
|
55889
|
+
*
|
|
55890
|
+
* ## Methods
|
|
55891
|
+
*
|
|
55892
|
+
* Methods that can be called to access component functionality.
|
|
55893
|
+
*
|
|
55894
|
+
* - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
|
|
55895
|
+
*
|
|
55896
|
+
* **A cell's place in its row is not its series' depth, and the tooltip
|
|
55897
|
+
* spent a while assuming it was.** `readSeries` drops a column nothing
|
|
55898
|
+
* parses and `readRows` keeps it, so one column of notes among the figures
|
|
55899
|
+
* moves every column after it one color along in the bubble: a row reading
|
|
55900
|
+
* `Referral 1,080` wearing series three's green beside a legend that says
|
|
55901
|
+
* series three is something else, which is the one failure the dot exists
|
|
55902
|
+
* to prevent.
|
|
55903
|
+
*
|
|
55904
|
+
* Overridden where a chart reads the table some other way. `ScatterChart`
|
|
55905
|
+
* splits the first plotted column off as the measure across, so its first
|
|
55906
|
+
* *plotted* series is this table's second numeric column.
|
|
55907
|
+
* - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
|
|
55908
|
+
* reading the same table hid it.
|
|
55909
|
+
*
|
|
55910
|
+
* Asked of the table rather than of a legend, the table being the one
|
|
55911
|
+
* thing the two share: see `SourceController.hide`. A series keeps its
|
|
55912
|
+
* palette slot while it is hidden, so the colors of the others do not move.
|
|
55913
|
+
* For a ring the names are its rows, the slices being the rows.
|
|
55914
|
+
* - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
|
|
55915
|
+
* by its column's heading. The keys and the readout pass over one a
|
|
55916
|
+
* legend hid.
|
|
55917
|
+
*
|
|
55918
|
+
* A column's heading is the cell's name in every row, so the first row
|
|
55919
|
+
* answers for the column.
|
|
55920
|
+
* - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
|
|
55921
|
+
* column's heading, read from the first row that has a cell there, so a
|
|
55922
|
+
* short first row does not lose the heading. `''` where no row has one.
|
|
55923
|
+
* - `pageFrom(at: number, forward: boolean) => number | undefined`: Where PageUp or PageDown goes from the drawn cell at `at`: the same day a
|
|
55924
|
+
* month on or back, by the dates the rows' headers carry. Undefined where
|
|
55925
|
+
* they carry none, and the keys move four columns.
|
|
55926
|
+
*
|
|
55927
|
+
* ## CSS Custom Properties
|
|
55928
|
+
*
|
|
55929
|
+
* CSS variables available for styling the component.
|
|
55930
|
+
*
|
|
55931
|
+
* - `--isometric-heatmap-cell-size`: The largest a cell grows, along its edge. The strip is never wider than its box, and draws smaller cells to fit.
|
|
55932
|
+
* - `--isometric-heatmap-left-shade`: How much darker the left face is than the top, as a percentage mixed toward black.
|
|
55933
|
+
* - `--isometric-heatmap-right-shade`: How much darker the right face is than the top, as a percentage mixed toward black.
|
|
55934
|
+
* - `--isometric-heatmap-selected-color`: The color of the dashed edges of a selected prism, under `selection-mode`. By default, white on a dark face and black on a light one.
|
|
55935
|
+
* - `--isometric-heatmap-span`: How many cells the drawing spans across: its columns and its rows together. The component writes it on the strip, and a stylesheet that caps the cell size reads it.
|
|
55936
|
+
* - `--heatmap-rows`: How many rows the strip lays out. The component writes it from the data, and the stylesheet that draws the strip reads it.
|
|
55937
|
+
* - `--heatmap-tone`: The tone of the cell it is set on. The component writes it, and the stylesheet that paints the cell reads it.
|
|
55938
|
+
* - `--heatmap-tone-1`: The weakest step of the magnitude ramp, used by `tones="1 …"`.
|
|
55939
|
+
* - `--heatmap-tone-2`: The second step of the magnitude ramp.
|
|
55940
|
+
* - `--heatmap-tone-3`: The third step of the magnitude ramp.
|
|
55941
|
+
* - `--heatmap-tone-4`: The fourth step of the magnitude ramp.
|
|
55942
|
+
* - `--heatmap-tone-5`: The strongest step of the magnitude ramp.
|
|
55943
|
+
* - `--heatmap-tone-accent`: The color of the `accent` tone.
|
|
55944
|
+
* - `--heatmap-tone-danger`: The color of the `danger` tone.
|
|
55945
|
+
* - `--heatmap-tone-info`: The color of the `info` tone.
|
|
55946
|
+
* - `--heatmap-tone-muted`: The color of the `muted` tone: a quiet background, for a bucket that means nothing happened.
|
|
55947
|
+
* - `--heatmap-tone-primary`: The color of the `primary` tone.
|
|
55948
|
+
* - `--heatmap-tone-success`: The color of the `success` tone, named in `tones` or in `data-tone`.
|
|
55949
|
+
* - `--heatmap-tone-warning`: The color of the `warning` tone.
|
|
55950
|
+
*
|
|
55951
|
+
* ## CSS Parts
|
|
55952
|
+
*
|
|
55953
|
+
* Custom selectors for styling elements within the component.
|
|
55954
|
+
*
|
|
55955
|
+
* - `cell`: One reading.
|
|
55956
|
+
* - `drawing`: The SVG every prism is drawn in. It is mirrored on a right-to-left page.
|
|
55957
|
+
* - `left-face`: The face of a prism toward the next row, drawn at its lower left.
|
|
55958
|
+
* - `right-face`: The face of a prism toward the next column, drawn at its lower right.
|
|
55959
|
+
* - `row`: A column of cells, which a grid reads as a row, under `selection-mode`. It draws no box.
|
|
55960
|
+
* - `strip`: The grid of cells, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
|
|
55961
|
+
* - `top-face`: The top of a prism, which carries the reading's tone.
|
|
55962
|
+
* - `cell-active`: The cell the pointer or the keys rest on. Set alongside `cell`.
|
|
55963
|
+
* - `cell-selected`: A cell that is selected, under `selection-mode`. Set alongside `cell`.
|
|
55964
|
+
* - `empty`: The words under the strip when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration, there being no document to resolve `for` in.
|
|
55965
|
+
* - `end`: The trailing slot's box.
|
|
55966
|
+
* - `footer`: The three-slot row under the strip.
|
|
55967
|
+
* - `live`: The readout: a polite live region that says the cell the keys moved to. Hide it visually.
|
|
55968
|
+
* - `loading`: The words under the strip while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
|
|
55969
|
+
* - `mark`: The invisible point the tooltip is anchored to.
|
|
55970
|
+
* - `overview`: The busiest reading and the total of the readings drawn, written as a sentence for screen readers, which describes the strip. Rendered once there are cells. Hide it visually.
|
|
55971
|
+
* - `plot`: The same element as `strip`, under the name every chart gives the drawing that takes focus.
|
|
55972
|
+
* - `selection`: A polite region that says how many cells are selected after a change, rendered from the first change. Hide it visually.
|
|
55973
|
+
* - `start`: The leading slot's box.
|
|
55974
|
+
* - `summary`: The middle slot's box.
|
|
55975
|
+
* - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
|
|
55976
|
+
* - `tooltip`: The bubble, forwarded from `Tooltip`.
|
|
55977
|
+
* - `tooltip-anchor`: The `Tooltip` element itself.
|
|
55978
|
+
* - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
|
|
55979
|
+
* - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
|
|
55980
|
+
* - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
|
|
55981
|
+
* - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
|
|
55982
|
+
* - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
|
|
55983
|
+
* - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
|
|
55984
|
+
* - `tooltip-cell`: One column's name and value inside the tooltip.
|
|
55985
|
+
* - `tooltip-cell-current`: The cell the series keys rest on, in the charts whose readings hold several series. A strip draws one, so it is never set here.
|
|
55986
|
+
* - `tooltip-label`: The reading's own name inside the tooltip.
|
|
55987
|
+
* - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
|
|
55988
|
+
* - `tooltip-name`: A column's name inside the tooltip.
|
|
55989
|
+
* - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
|
|
55990
|
+
* - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
|
|
55991
|
+
* - `tooltip-value`: A column's value inside the tooltip.
|
|
55992
|
+
*
|
|
55993
|
+
* ## CSS States
|
|
55994
|
+
*
|
|
55995
|
+
* These can be used to apply styling when a component is in a given state.
|
|
55996
|
+
*
|
|
55997
|
+
* - `active`: While a cell is shown, under the pointer or the keys, with its tooltip open.
|
|
55998
|
+
* - `empty`: While the `empty` part stands in place of the cells.
|
|
55999
|
+
* - `loading`: While the `loading` part stands in place of the cells.
|
|
56000
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
56001
|
+
*/
|
|
56002
|
+
"helix-isometric-heatmap": Partial<
|
|
56003
|
+
HelixIsometricHeatmapProps & BaseProps<HelixIsometricHeatmap> & BaseEvents<HelixIsometricHeatmap>
|
|
56004
|
+
>;
|
|
56005
|
+
|
|
55155
56006
|
/**
|
|
55156
56007
|
* Drawn as a physical key, with a hairline border, a sunken fill, and one inset
|
|
55157
56008
|
* shadow along the bottom edge.
|
|
@@ -66111,7 +66962,7 @@ export type CustomElements = {
|
|
|
66111
66962
|
*
|
|
66112
66963
|
* The ribbon stops moving in these cases:
|
|
66113
66964
|
* - `prefers-reduced-motion` is set. The element shows one still frame, and in
|
|
66114
|
-
* `travel` still follows the scroll
|
|
66965
|
+
* `travel` still follows the scroll.
|
|
66115
66966
|
* - The element is off screen or in a background tab.
|
|
66116
66967
|
*
|
|
66117
66968
|
* It shows a gradient from the same tokens in these cases, and matches
|
|
@@ -66840,13 +67691,11 @@ export type CustomElements = {
|
|
|
66840
67691
|
* **It is also the only track list a server can send.** The shim has no tree
|
|
66841
67692
|
* to walk, so a render there knows of no columns and this attribute is the
|
|
66842
67693
|
* whole answer: a table given one lays its grid out in the first paint, and a
|
|
66843
|
-
* table sized only by its columns
|
|
67694
|
+
* table sized only by its columns takes, until it upgrades, a track for each
|
|
67695
|
+
* column at the width a column with no `width` takes (`helix.css`).
|
|
66844
67696
|
*
|
|
66845
|
-
*
|
|
66846
|
-
*
|
|
66847
|
-
* and a list here would be a second way to say what that says. This table's
|
|
66848
|
-
* cells are markup, and a table written as rows of cells with no column
|
|
66849
|
-
* declared in it has nowhere else to be sized from.
|
|
67697
|
+
* Data Table takes the same list, for the same reason: a data table that
|
|
67698
|
+
* serves its first page as rows is laid out by it before it upgrades.
|
|
66850
67699
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows whose rows are shown at the start, separated by
|
|
66851
67700
|
* commas. Used until `expanded` is set.
|
|
66852
67701
|
* - `default-selected`/`defaultSelected`: The keys selected at the start, separated by commas. Used until `selected`
|
|
@@ -79254,7 +80103,9 @@ export type CustomElementsSolidJs = {
|
|
|
79254
80103
|
* Write it under the columns as `helix-table-row` and `helix-table-cell`
|
|
79255
80104
|
* elements. `@fusion.dev/helix-styles/helix.css` lays them out as the table
|
|
79256
80105
|
* draws them before it upgrades, and the table shows them until `rows` holds a
|
|
79257
|
-
* row.
|
|
80106
|
+
* row. It holds the checkbox column and the pagination's row from the first
|
|
80107
|
+
* paint, and takes the widths from `columns`, so nothing moves when the table
|
|
80108
|
+
* upgrades or draws its own rows.
|
|
79258
80109
|
*
|
|
79259
80110
|
* ## Attributes & Properties
|
|
79260
80111
|
*
|
|
@@ -79275,6 +80126,15 @@ export type CustomElementsSolidJs = {
|
|
|
79275
80126
|
*
|
|
79276
80127
|
* Reflected, because the styled tier indents a tree grid's row headers by
|
|
79277
80128
|
* it. No default, so a table that sets none writes nothing onto its host.
|
|
80129
|
+
* - `columns`: The column tracks, as a grid track list such as `2fr 1fr max-content`,
|
|
80130
|
+
* dealt out one track to a column in the order the columns are written. A
|
|
80131
|
+
* column's own `width` wins in its place, and a column it does not reach
|
|
80132
|
+
* takes the track a column with no `width` takes.
|
|
80133
|
+
*
|
|
80134
|
+
* **The one track list a server can send.** A server rendering this element
|
|
80135
|
+
* has no columns to read a `width` from, and neither has a stylesheet laying
|
|
80136
|
+
* out the rows a page served before the table upgrades, so a table sized here
|
|
80137
|
+
* lays those rows out at the widths it draws.
|
|
79278
80138
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows open at the start, separated by commas. Used until
|
|
79279
80139
|
* `expanded` is set.
|
|
79280
80140
|
* - `default-filter`/`defaultFilter`: The starting search query, used until `filter` is set.
|
|
@@ -84481,11 +85341,6 @@ export type CustomElementsSolidJs = {
|
|
|
84481
85341
|
* Reduced motion stills every animation. `auto-width` gives the box the
|
|
84482
85342
|
* glyph's own proportions, for a mark wider than it is tall.
|
|
84483
85343
|
*
|
|
84484
|
-
* **`@fusion.dev/helix/icon` registers thirteen glyphs by name**, the ones a
|
|
84485
|
-
* control most often needs, and `@fusion.dev/helix/icon/all` registers the
|
|
84486
|
-
* whole set. The headless element lists the thirteen and says how a name is
|
|
84487
|
-
* resolved.
|
|
84488
|
-
*
|
|
84489
85344
|
* ## Attributes & Properties
|
|
84490
85345
|
*
|
|
84491
85346
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -84517,10 +85372,12 @@ export type CustomElementsSolidJs = {
|
|
|
84517
85372
|
* - `name`: The name of the icon in the Helix set.
|
|
84518
85373
|
*
|
|
84519
85374
|
* **A lookup, and the reason both this and `icon` exist.** A name is a string,
|
|
84520
|
-
* so it is what markup can carry, and resolving one means an index
|
|
84521
|
-
* bundler can shake
|
|
84522
|
-
*
|
|
84523
|
-
*
|
|
85375
|
+
* so it is what markup can carry, and resolving one means an index of the
|
|
85376
|
+
* whole set that no bundler can shake: 15 kB for a consumer who renders one
|
|
85377
|
+
* mark. An attribute is the only thing an HTML author can write, and that is
|
|
85378
|
+
* worth the index; a consumer who would rather not pay it imports the
|
|
85379
|
+
* element from `icon/root` and registers the glyphs it names, or hands over
|
|
85380
|
+
* the value instead.
|
|
84524
85381
|
*
|
|
84525
85382
|
* A name written `prefix:name` asks the library registered under that
|
|
84526
85383
|
* prefix.
|
|
@@ -85079,6 +85936,343 @@ export type CustomElementsSolidJs = {
|
|
|
85079
85936
|
BaseEvents<HelixInput>
|
|
85080
85937
|
>;
|
|
85081
85938
|
|
|
85939
|
+
/**
|
|
85940
|
+
* Each reading is a prism. The top face takes the cell's tone, and the two
|
|
85941
|
+
* sides are the same tone, shaded darker, so the whole relief follows your
|
|
85942
|
+
* theme's colors.
|
|
85943
|
+
*
|
|
85944
|
+
* `tones="1 2 3 4 5"` uses the same five-step ramp as `Heatmap`, so the tone
|
|
85945
|
+
* and the height both show the value. Set `--isometric-heatmap-cell-size` to
|
|
85946
|
+
* change how large a cell may grow.
|
|
85947
|
+
*
|
|
85948
|
+
* ## Attributes & Properties
|
|
85949
|
+
*
|
|
85950
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
85951
|
+
*
|
|
85952
|
+
* - `flat`: Draws every prism at no height, so the tones lie on a plane.
|
|
85953
|
+
* - `relief`: How tall the highest reading stands, in cells. Every other reading stands
|
|
85954
|
+
* at its share of it.
|
|
85955
|
+
* - `empty-text`/`emptyText`: The words shown in place of the drawing when the table has no readings,
|
|
85956
|
+
* and the fallback of the `empty` slot.
|
|
85957
|
+
* - `loading`: Whether the readings are still on their way. The chart shows
|
|
85958
|
+
* `loading-text` in place of an empty drawing until it has readings.
|
|
85959
|
+
*
|
|
85960
|
+
* Reflected, so a stylesheet can treat the chart while it waits. A chart
|
|
85961
|
+
* that already has readings keeps drawing them, so a refresh does not
|
|
85962
|
+
* blank it.
|
|
85963
|
+
* - `loading-text`/`loadingText`: The words shown in place of the drawing while `loading` is set and
|
|
85964
|
+
* there are no readings yet, and the fallback of the `loading` slot.
|
|
85965
|
+
* - `for`: The id of the table to read.
|
|
85966
|
+
*
|
|
85967
|
+
* Names a table in the same tree, so a chart inside another component's
|
|
85968
|
+
* shadow root reads a table in that root rather than one in the document. A
|
|
85969
|
+
* `<table>` or anything built from grid roles, including `helix-table`.
|
|
85970
|
+
*
|
|
85971
|
+
* **In React this arrives as a property and not as an attribute**, the way
|
|
85972
|
+
* `Tooltip.for` does, so it does not reflect and nothing styles on it.
|
|
85973
|
+
* - `label`: The chart's name, which starts the chart's text summary.
|
|
85974
|
+
*
|
|
85975
|
+
* Absent falls back to the table's own caption, which is usually the right
|
|
85976
|
+
* words and is already written.
|
|
85977
|
+
* - `locale`: The locale the chart's own numbers are written in: its axis, its
|
|
85978
|
+
* percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
85979
|
+
*
|
|
85980
|
+
* Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
85981
|
+
* cells are shown as the table writes them, whatever this says.
|
|
85982
|
+
* - `position-label`/`positionLabel`: Where a reading the keys moved to stands among the readings, said after
|
|
85983
|
+
* it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
85984
|
+
* `locale`.
|
|
85985
|
+
*
|
|
85986
|
+
* Set it to the words of the page's language, such as `{position} von
|
|
85987
|
+
* {count}`, or to nothing to say no position. A slice or a series a
|
|
85988
|
+
* legend hid is not counted.
|
|
85989
|
+
* - `busiest-label`/`busiestLabel`: The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
85990
|
+
* `overview-label`.
|
|
85991
|
+
* - `gap`: Space between cells, in CSS pixels. It is a number for the same reason
|
|
85992
|
+
* `min-cell` is.
|
|
85993
|
+
* - `min-cell`/`minCell`: The smallest a cell may get before the strip draws fewer of them, in CSS pixels.
|
|
85994
|
+
*
|
|
85995
|
+
* **Set this only to overrule what the strip actually draws.** The arithmetic
|
|
85996
|
+
* needs a width in pixels and the width is a length the stylesheet resolves,
|
|
85997
|
+
* so a number written here that disagrees with the sheet is a promise the
|
|
85998
|
+
* consumer has to keep by hand, and the one number a summary is told to trust
|
|
85999
|
+
* is the one it gets wrong.
|
|
86000
|
+
*
|
|
86001
|
+
* The strip measures itself, so sizing the cells in a sheet is enough on its
|
|
86002
|
+
* own and these two are the estimate used until the first measurement lands.
|
|
86003
|
+
* Writing the attribute pins the value and stops the measurement being
|
|
86004
|
+
* consulted, which is what a container query or a transition on the cell size
|
|
86005
|
+
* wants, where what is drawn this frame is not what the arithmetic should
|
|
86006
|
+
* plan around.
|
|
86007
|
+
*
|
|
86008
|
+
* Zero turns the dropping off altogether, which is right for a strip in a
|
|
86009
|
+
* container that cannot get narrow.
|
|
86010
|
+
* - `overview-label`/`overviewLabel`: The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
86011
|
+
* `busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
86012
|
+
* and its reading as the table writes it, and `{total}` the total of the
|
|
86013
|
+
* readings drawn, written in the locale.
|
|
86014
|
+
* - `rows`: How many rows the strip has.
|
|
86015
|
+
*
|
|
86016
|
+
* `1` is a status strip and `7` is a calendar week, which are the two readings
|
|
86017
|
+
* this covers. Cells fill down the column and then across, which is what a
|
|
86018
|
+
* calendar heatmap does: a week is a column, so the strip reads along the
|
|
86019
|
+
* line in weeks, from the right on a right-to-left page, and top to bottom in
|
|
86020
|
+
* days.
|
|
86021
|
+
* - `selected-label`/`selectedLabel`: What the readout added for a selected cell, under `selection-mode`.
|
|
86022
|
+
* - `selection-label`/`selectionLabel`: What the `selection` part says after the selection changes. `{count}` is
|
|
86023
|
+
* how many cells are selected, written in the locale, and a language that
|
|
86024
|
+
* needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
86025
|
+
* {# wybrane} many {# wybranych} other {# wybranego}}`.
|
|
86026
|
+
* - `selection-mode`/`selectionMode`: How many cells a reader can select: `single` or `multiple`.
|
|
86027
|
+
*
|
|
86028
|
+
* Absent selects nothing, and a press or Space does what it did.
|
|
86029
|
+
* - `selection-shape`/`selectionShape`: What Shift takes in under `selection-mode="multiple"`: `linear`, every
|
|
86030
|
+
* cell between two in the table's order, or `rectangle`, the cells between
|
|
86031
|
+
* two corners by row and by column, as a spreadsheet selects a range.
|
|
86032
|
+
* - `strip-label`/`stripLabel`: The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
86033
|
+
* table caption.
|
|
86034
|
+
* - `thresholds`: Lower bounds for the tone buckets, in the order the tones are given.
|
|
86035
|
+
*
|
|
86036
|
+
* `thresholds="1 3 6 9"` with `tones="1 2 3 4"` puts 1 and 2 in the ramp's
|
|
86037
|
+
* first step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the
|
|
86038
|
+
* fourth. A value below the first bound gets no tone at all: an empty day in a
|
|
86039
|
+
* contribution graph is a day with nothing in it, and painting it as the
|
|
86040
|
+
* lowest bucket claims a reading that does not exist.
|
|
86041
|
+
* - `tones`: The tone for each bucket, in the same order as `thresholds`.
|
|
86042
|
+
*
|
|
86043
|
+
* A name, resolved as `--heatmap-tone-<name>` by whichever tier answers.
|
|
86044
|
+
* **`"1"` through `"5"` are a ramp and everything else is a category**, which
|
|
86045
|
+
* is the distinction a heatmap lives or dies on: magnitude has to be one hue
|
|
86046
|
+
* getting louder, because a reader compares two cells by weight and cannot
|
|
86047
|
+
* compare two hues at all. `tones="surface info accent success primary"` for a
|
|
86048
|
+
* commit count is five unrelated hues for five amounts, which is confetti with
|
|
86049
|
+
* no order in it.
|
|
86050
|
+
* - `total-label`/`totalLabel`: The name the `overview` gives the total of the readings drawn,
|
|
86051
|
+
* `{totalLabel}` in `overview-label`.
|
|
86052
|
+
* - `value`: The selected cells, separated by commas: each by the date its row's
|
|
86053
|
+
* header carries in a `<time datetime>`, such as `2026-06-11`, or by the
|
|
86054
|
+
* header's words where it carries none.
|
|
86055
|
+
*
|
|
86056
|
+
* Set it to start with cells selected. Written by a press or a key under
|
|
86057
|
+
* `selection-mode`.
|
|
86058
|
+
* - `data`: The readings as data, in the shape of a table, where the page has no
|
|
86059
|
+
* table to point `for` at. `for` wins where both are set.
|
|
86060
|
+
*
|
|
86061
|
+
* ```js
|
|
86062
|
+
* chart.data = {
|
|
86063
|
+
* caption: 'Sessions by channel',
|
|
86064
|
+
* columns: ['Month', 'Direct', 'Referral'],
|
|
86065
|
+
* rows: [['Jan', 10, 4], ['Feb', 20, 8]],
|
|
86066
|
+
* }
|
|
86067
|
+
* ```
|
|
86068
|
+
*
|
|
86069
|
+
* The first column holds each row's label and every column after it a
|
|
86070
|
+
* series, as in a table. A cell is a number, words, `null` for a blank,
|
|
86071
|
+
* or `{ value, text }` for a number shown as words, such as `$128k`. A
|
|
86072
|
+
* number is shown in `locale`.
|
|
86073
|
+
*
|
|
86074
|
+
* **A table is still the better source where the page can show one**:
|
|
86075
|
+
* it reads with no script and before hydration, and a reader can sort and
|
|
86076
|
+
* copy it. Data is drawn on the client only, so a server serves the
|
|
86077
|
+
* frame, and the summary, the keys and the readout are then the whole of
|
|
86078
|
+
* what a screen reader is given. Set a new object to redraw: the chart
|
|
86079
|
+
* does not look inside the one it has. (property only)
|
|
86080
|
+
* - `series`: The table's columns, one series each. Empty when there is no table.
|
|
86081
|
+
*
|
|
86082
|
+
* Held by the controller between edits, so a render reading this five
|
|
86083
|
+
* times parses the table once. See `SourceController.series`. (property only) (readonly)
|
|
86084
|
+
* - `named`: The chart's name: an `aria-label` written on the chart, then `label`,
|
|
86085
|
+
* then the table's caption.
|
|
86086
|
+
*
|
|
86087
|
+
* The fallback is the reason this is shared rather than copied: a caption is
|
|
86088
|
+
* already written, already the right words, and already the thing a reader
|
|
86089
|
+
* of the table sees. A chart that made the consumer say it twice would be
|
|
86090
|
+
* asking for the second one to drift.
|
|
86091
|
+
*
|
|
86092
|
+
* **An `aria-label` on the chart comes first**, because it is how a page
|
|
86093
|
+
* names an element, and the chart is a generic around its plot: written
|
|
86094
|
+
* on the host, the name reached nobody. The plot takes it, as Heatmap's
|
|
86095
|
+
* strip always did. (property only) (readonly)
|
|
86096
|
+
* - `plottedColumns`: The positions of the cells in a row that hold numbers, in table order.
|
|
86097
|
+
*
|
|
86098
|
+
* The same test `readSeries` applies when it drops a column of notes: a
|
|
86099
|
+
* column is a series where any row parses, so a series survives one blank
|
|
86100
|
+
* cell and a column of words is never one. (property only) (readonly)
|
|
86101
|
+
* - `readings`: The number of readings, which the pointer position maps onto. (property only) (readonly)
|
|
86102
|
+
* - `visible`: How many cells are actually drawn.
|
|
86103
|
+
*
|
|
86104
|
+
* **This is the number a summary has to agree with**, and the reason it is
|
|
86105
|
+
* published at all: a consumer's own summary is their markup and this element
|
|
86106
|
+
* cannot rewrite it, so the only honest arrangement is to hand over the count
|
|
86107
|
+
* and say when it changed.
|
|
86108
|
+
*
|
|
86109
|
+
* **A plain getter, and the attribute is written in `updated`, because
|
|
86110
|
+
* `@property({ reflect: true })` on a getter with no setter reflects once and
|
|
86111
|
+
* then goes stale.** Lit reflects a property that is in `changedProperties`,
|
|
86112
|
+
* and nothing puts a derived getter there after the first update: the
|
|
86113
|
+
* attribute would be right on load and wrong from the first resize, which is
|
|
86114
|
+
* the exact failure the count exists to prevent, arriving through the
|
|
86115
|
+
* mechanism meant to prevent it. (property only) (readonly)
|
|
86116
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
86117
|
+
*
|
|
86118
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
86119
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
86120
|
+
* base class takes the name every subclass then cannot use.
|
|
86121
|
+
*
|
|
86122
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
86123
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
86124
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
86125
|
+
* instead.
|
|
86126
|
+
*
|
|
86127
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
86128
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
86129
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
86130
|
+
*
|
|
86131
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
86132
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
86133
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
86134
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
86135
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
86136
|
+
*
|
|
86137
|
+
* ## Events
|
|
86138
|
+
*
|
|
86139
|
+
* Events that will be emitted by the component.
|
|
86140
|
+
*
|
|
86141
|
+
* - `change`: Fired once a press or a key has changed which cells are selected.
|
|
86142
|
+
* - `helix-before-change`: Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable.
|
|
86143
|
+
* - `helix-reading-change`: The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.
|
|
86144
|
+
* - `helix-reading-press`: A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.
|
|
86145
|
+
* - `helix-resize`: Fired when the number of cells drawn changes, with the new number.
|
|
86146
|
+
*
|
|
86147
|
+
* ## Slots
|
|
86148
|
+
*
|
|
86149
|
+
* Areas where markup can be added to the component.
|
|
86150
|
+
*
|
|
86151
|
+
* - `empty`: Content shown under the strip when the table has no readings, such as a link to add the first. Falls back to `empty-text`.
|
|
86152
|
+
* - `end`: Below the strip, at the trailing edge: usually the newest date.
|
|
86153
|
+
* - `loading`: Content shown under the strip while `loading` is set and there are no readings yet. Falls back to `loading-text`.
|
|
86154
|
+
* - `start`: Below the strip, at the leading edge: usually the oldest date.
|
|
86155
|
+
* - `summary`: Below the strip, in the middle: a summary of the range shown.
|
|
86156
|
+
*
|
|
86157
|
+
* ## Methods
|
|
86158
|
+
*
|
|
86159
|
+
* Methods that can be called to access component functionality.
|
|
86160
|
+
*
|
|
86161
|
+
* - `seriesOf(cell: number) => number | undefined`: The palette slot for the cell at this position in a row.
|
|
86162
|
+
*
|
|
86163
|
+
* **A cell's place in its row is not its series' depth, and the tooltip
|
|
86164
|
+
* spent a while assuming it was.** `readSeries` drops a column nothing
|
|
86165
|
+
* parses and `readRows` keeps it, so one column of notes among the figures
|
|
86166
|
+
* moves every column after it one color along in the bubble: a row reading
|
|
86167
|
+
* `Referral 1,080` wearing series three's green beside a legend that says
|
|
86168
|
+
* series three is something else, which is the one failure the dot exists
|
|
86169
|
+
* to prevent.
|
|
86170
|
+
*
|
|
86171
|
+
* Overridden where a chart reads the table some other way. `ScatterChart`
|
|
86172
|
+
* splits the first plotted column off as the measure across, so its first
|
|
86173
|
+
* *plotted* series is this table's second numeric column.
|
|
86174
|
+
* - `showsSeries(name: string) => boolean`: Whether the series of this name is drawn, which it is unless a legend
|
|
86175
|
+
* reading the same table hid it.
|
|
86176
|
+
*
|
|
86177
|
+
* Asked of the table rather than of a legend, the table being the one
|
|
86178
|
+
* thing the two share: see `SourceController.hide`. A series keeps its
|
|
86179
|
+
* palette slot while it is hidden, so the colors of the others do not move.
|
|
86180
|
+
* For a ring the names are its rows, the slices being the rows.
|
|
86181
|
+
* - `showsColumn(cell: number) => boolean`: Whether the series read from the cell at this place in a row is drawn,
|
|
86182
|
+
* by its column's heading. The keys and the readout pass over one a
|
|
86183
|
+
* legend hid.
|
|
86184
|
+
*
|
|
86185
|
+
* A column's heading is the cell's name in every row, so the first row
|
|
86186
|
+
* answers for the column.
|
|
86187
|
+
* - `columnName(cell: number) => string`: The heading of the column at this place in a row: a cell's name is its
|
|
86188
|
+
* column's heading, read from the first row that has a cell there, so a
|
|
86189
|
+
* short first row does not lose the heading. `''` where no row has one.
|
|
86190
|
+
* - `pageFrom(at: number, forward: boolean) => number | undefined`: Where PageUp or PageDown goes from the drawn cell at `at`: the same day a
|
|
86191
|
+
* month on or back, by the dates the rows' headers carry. Undefined where
|
|
86192
|
+
* they carry none, and the keys move four columns.
|
|
86193
|
+
*
|
|
86194
|
+
* ## CSS Custom Properties
|
|
86195
|
+
*
|
|
86196
|
+
* CSS variables available for styling the component.
|
|
86197
|
+
*
|
|
86198
|
+
* - `--isometric-heatmap-cell-size`: The largest a cell grows, along its edge. The strip is never wider than its box, and draws smaller cells to fit.
|
|
86199
|
+
* - `--isometric-heatmap-left-shade`: How much darker the left face is than the top, as a percentage mixed toward black.
|
|
86200
|
+
* - `--isometric-heatmap-right-shade`: How much darker the right face is than the top, as a percentage mixed toward black.
|
|
86201
|
+
* - `--isometric-heatmap-selected-color`: The color of the dashed edges of a selected prism, under `selection-mode`. By default, white on a dark face and black on a light one.
|
|
86202
|
+
* - `--isometric-heatmap-span`: How many cells the drawing spans across: its columns and its rows together. The component writes it on the strip, and a stylesheet that caps the cell size reads it.
|
|
86203
|
+
* - `--heatmap-rows`: How many rows the strip lays out. The component writes it from the data, and the stylesheet that draws the strip reads it.
|
|
86204
|
+
* - `--heatmap-tone`: The tone of the cell it is set on. The component writes it, and the stylesheet that paints the cell reads it.
|
|
86205
|
+
* - `--heatmap-tone-1`: The weakest step of the magnitude ramp, used by `tones="1 …"`.
|
|
86206
|
+
* - `--heatmap-tone-2`: The second step of the magnitude ramp.
|
|
86207
|
+
* - `--heatmap-tone-3`: The third step of the magnitude ramp.
|
|
86208
|
+
* - `--heatmap-tone-4`: The fourth step of the magnitude ramp.
|
|
86209
|
+
* - `--heatmap-tone-5`: The strongest step of the magnitude ramp.
|
|
86210
|
+
* - `--heatmap-tone-accent`: The color of the `accent` tone.
|
|
86211
|
+
* - `--heatmap-tone-danger`: The color of the `danger` tone.
|
|
86212
|
+
* - `--heatmap-tone-info`: The color of the `info` tone.
|
|
86213
|
+
* - `--heatmap-tone-muted`: The color of the `muted` tone: a quiet background, for a bucket that means nothing happened.
|
|
86214
|
+
* - `--heatmap-tone-primary`: The color of the `primary` tone.
|
|
86215
|
+
* - `--heatmap-tone-success`: The color of the `success` tone, named in `tones` or in `data-tone`.
|
|
86216
|
+
* - `--heatmap-tone-warning`: The color of the `warning` tone.
|
|
86217
|
+
*
|
|
86218
|
+
* ## CSS Parts
|
|
86219
|
+
*
|
|
86220
|
+
* Custom selectors for styling elements within the component.
|
|
86221
|
+
*
|
|
86222
|
+
* - `cell`: One reading.
|
|
86223
|
+
* - `drawing`: The SVG every prism is drawn in. It is mirrored on a right-to-left page.
|
|
86224
|
+
* - `left-face`: The face of a prism toward the next row, drawn at its lower left.
|
|
86225
|
+
* - `right-face`: The face of a prism toward the next column, drawn at its lower right.
|
|
86226
|
+
* - `row`: A column of cells, which a grid reads as a row, under `selection-mode`. It draws no box.
|
|
86227
|
+
* - `strip`: The grid of cells, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.
|
|
86228
|
+
* - `top-face`: The top of a prism, which carries the reading's tone.
|
|
86229
|
+
* - `cell-active`: The cell the pointer or the keys rest on. Set alongside `cell`.
|
|
86230
|
+
* - `cell-selected`: A cell that is selected, under `selection-mode`. Set alongside `cell`.
|
|
86231
|
+
* - `empty`: The words under the strip when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration, there being no document to resolve `for` in.
|
|
86232
|
+
* - `end`: The trailing slot's box.
|
|
86233
|
+
* - `footer`: The three-slot row under the strip.
|
|
86234
|
+
* - `live`: The readout: a polite live region that says the cell the keys moved to. Hide it visually.
|
|
86235
|
+
* - `loading`: The words under the strip while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.
|
|
86236
|
+
* - `mark`: The invisible point the tooltip is anchored to.
|
|
86237
|
+
* - `overview`: The busiest reading and the total of the readings drawn, written as a sentence for screen readers, which describes the strip. Rendered once there are cells. Hide it visually.
|
|
86238
|
+
* - `plot`: The same element as `strip`, under the name every chart gives the drawing that takes focus.
|
|
86239
|
+
* - `selection`: A polite region that says how many cells are selected after a change, rendered from the first change. Hide it visually.
|
|
86240
|
+
* - `start`: The leading slot's box.
|
|
86241
|
+
* - `summary`: The middle slot's box.
|
|
86242
|
+
* - `table`: The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.
|
|
86243
|
+
* - `tooltip`: The bubble, forwarded from `Tooltip`.
|
|
86244
|
+
* - `tooltip-anchor`: The `Tooltip` element itself.
|
|
86245
|
+
* - `tooltip-arrow`: The bubble's point, forwarded from `Tooltip`.
|
|
86246
|
+
* - `tooltip-arrow-bottom`: The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
|
|
86247
|
+
* - `tooltip-arrow-left`: The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
|
|
86248
|
+
* - `tooltip-arrow-right`: The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
|
|
86249
|
+
* - `tooltip-arrow-top`: The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
|
|
86250
|
+
* - `tooltip-bottom`: The bubble while it is below the reading. Set alongside `tooltip`.
|
|
86251
|
+
* - `tooltip-cell`: One column's name and value inside the tooltip.
|
|
86252
|
+
* - `tooltip-cell-current`: The cell the series keys rest on, in the charts whose readings hold several series. A strip draws one, so it is never set here.
|
|
86253
|
+
* - `tooltip-label`: The reading's own name inside the tooltip.
|
|
86254
|
+
* - `tooltip-left`: The bubble while it is left of the reading. Set alongside `tooltip`.
|
|
86255
|
+
* - `tooltip-name`: A column's name inside the tooltip.
|
|
86256
|
+
* - `tooltip-right`: The bubble while it is right of the reading. Set alongside `tooltip`.
|
|
86257
|
+
* - `tooltip-top`: The bubble while it is above the reading. Set alongside `tooltip`.
|
|
86258
|
+
* - `tooltip-value`: A column's value inside the tooltip.
|
|
86259
|
+
*
|
|
86260
|
+
* ## CSS States
|
|
86261
|
+
*
|
|
86262
|
+
* These can be used to apply styling when a component is in a given state.
|
|
86263
|
+
*
|
|
86264
|
+
* - `active`: While a cell is shown, under the pointer or the keys, with its tooltip open.
|
|
86265
|
+
* - `empty`: While the `empty` part stands in place of the cells.
|
|
86266
|
+
* - `loading`: While the `loading` part stands in place of the cells.
|
|
86267
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
86268
|
+
*/
|
|
86269
|
+
"helix-isometric-heatmap": Partial<
|
|
86270
|
+
HelixIsometricHeatmapProps &
|
|
86271
|
+
HelixIsometricHeatmapSolidJsProps &
|
|
86272
|
+
BaseProps<HelixIsometricHeatmap> &
|
|
86273
|
+
BaseEvents<HelixIsometricHeatmap>
|
|
86274
|
+
>;
|
|
86275
|
+
|
|
85082
86276
|
/**
|
|
85083
86277
|
* Drawn as a physical key, with a hairline border, a sunken fill, and one inset
|
|
85084
86278
|
* shadow along the bottom edge.
|
|
@@ -96243,7 +97437,7 @@ export type CustomElementsSolidJs = {
|
|
|
96243
97437
|
*
|
|
96244
97438
|
* The ribbon stops moving in these cases:
|
|
96245
97439
|
* - `prefers-reduced-motion` is set. The element shows one still frame, and in
|
|
96246
|
-
* `travel` still follows the scroll
|
|
97440
|
+
* `travel` still follows the scroll.
|
|
96247
97441
|
* - The element is off screen or in a background tab.
|
|
96248
97442
|
*
|
|
96249
97443
|
* It shows a gradient from the same tokens in these cases, and matches
|
|
@@ -96987,13 +98181,11 @@ export type CustomElementsSolidJs = {
|
|
|
96987
98181
|
* **It is also the only track list a server can send.** The shim has no tree
|
|
96988
98182
|
* to walk, so a render there knows of no columns and this attribute is the
|
|
96989
98183
|
* whole answer: a table given one lays its grid out in the first paint, and a
|
|
96990
|
-
* table sized only by its columns
|
|
98184
|
+
* table sized only by its columns takes, until it upgrades, a track for each
|
|
98185
|
+
* column at the width a column with no `width` takes (`helix.css`).
|
|
96991
98186
|
*
|
|
96992
|
-
*
|
|
96993
|
-
*
|
|
96994
|
-
* and a list here would be a second way to say what that says. This table's
|
|
96995
|
-
* cells are markup, and a table written as rows of cells with no column
|
|
96996
|
-
* declared in it has nowhere else to be sized from.
|
|
98187
|
+
* Data Table takes the same list, for the same reason: a data table that
|
|
98188
|
+
* serves its first page as rows is laid out by it before it upgrades.
|
|
96997
98189
|
* - `default-expanded`/`defaultExpanded`: The keys of the rows whose rows are shown at the start, separated by
|
|
96998
98190
|
* commas. Used until `expanded` is set.
|
|
96999
98191
|
* - `default-selected`/`defaultSelected`: The keys selected at the start, separated by commas. Used until `selected`
|
|
@@ -103388,6 +104580,16 @@ export type CustomCssProperties = {
|
|
|
103388
104580
|
"--input-radius"?: (string) | undefined;
|
|
103389
104581
|
/** Height of the field. */
|
|
103390
104582
|
"--input-size"?: (string) | undefined;
|
|
104583
|
+
/** The largest a cell grows, along its edge. The strip is never wider than its box, and draws smaller cells to fit. */
|
|
104584
|
+
"--isometric-heatmap-cell-size"?: (string) | undefined;
|
|
104585
|
+
/** How much darker the left face is than the top, as a percentage mixed toward black. */
|
|
104586
|
+
"--isometric-heatmap-left-shade"?: (string) | undefined;
|
|
104587
|
+
/** How much darker the right face is than the top, as a percentage mixed toward black. */
|
|
104588
|
+
"--isometric-heatmap-right-shade"?: (string) | undefined;
|
|
104589
|
+
/** The color of the dashed edges of a selected prism, under `selection-mode`. By default, white on a dark face and black on a light one. */
|
|
104590
|
+
"--isometric-heatmap-selected-color"?: (string) | undefined;
|
|
104591
|
+
/** How many cells the drawing spans across: its columns and its rows together. The component writes it on the strip, and a stylesheet that caps the cell size reads it. */
|
|
104592
|
+
"--isometric-heatmap-span"?: (string) | undefined;
|
|
103391
104593
|
/** The fill of the key. */
|
|
103392
104594
|
"--kbd-background-color"?: (string) | undefined;
|
|
103393
104595
|
/** The height of a key, and the least width of one, in `em` of the text around it. */
|