@fusion.dev/helix-headless 0.199.0 → 0.200.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/api.json +1 -1
- package/custom-elements.json +3927 -1
- package/dist/element-events.generated.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/log/ansi.d.ts +63 -0
- package/dist/log/ansi.js +163 -0
- package/dist/log/buffer.d.ts +99 -0
- package/dist/log/buffer.js +92 -0
- package/dist/log/group/log-group.d.ts +78 -0
- package/dist/log/group/log-group.js +76 -0
- package/dist/log/index.d.ts +5 -0
- package/dist/log/index.js +4 -0
- package/dist/log/line/log-line.d.ts +108 -0
- package/dist/log/line/log-line.js +145 -0
- package/dist/log/root/log-root.d.ts +415 -0
- package/dist/log/root/log-root.js +772 -0
- package/dist/log/rows.d.ts +60 -0
- package/dist/log/rows.js +91 -0
- package/examples.json +1 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +1333 -0
- package/types/svelte.d.ts +3 -0
- package/types/vue.d.ts +279 -0
- package/types/words.d.ts +71 -0
package/types/jsx.d.ts
CHANGED
|
@@ -105,6 +105,9 @@ import type {
|
|
|
105
105
|
HelixHeadlessListItem,
|
|
106
106
|
HelixHeadlessListbox,
|
|
107
107
|
HelixHeadlessLoader,
|
|
108
|
+
HelixHeadlessLog,
|
|
109
|
+
HelixHeadlessLogGroup,
|
|
110
|
+
HelixHeadlessLogLine,
|
|
108
111
|
HelixHeadlessMap,
|
|
109
112
|
HelixHeadlessMapArea,
|
|
110
113
|
HelixHeadlessMapBuildings,
|
|
@@ -19662,6 +19665,419 @@ progress. */
|
|
|
19662
19665
|
textContent?: (string | number) | undefined;
|
|
19663
19666
|
};
|
|
19664
19667
|
|
|
19668
|
+
/** `HelixHeadlessLogGroup` component event */
|
|
19669
|
+
export type HelixHeadlessLogGroupElementEvent<E = Event> = TypedEvent<
|
|
19670
|
+
HelixHeadlessLogGroup,
|
|
19671
|
+
E
|
|
19672
|
+
>;
|
|
19673
|
+
/** `helix-before-close` event type */
|
|
19674
|
+
export type HelixHeadlessLogGroupHelixBeforeCloseElementEvent =
|
|
19675
|
+
HelixHeadlessLogGroupElementEvent<HelixBeforeCloseEvent>;
|
|
19676
|
+
/** `helix-before-open` event type */
|
|
19677
|
+
export type HelixHeadlessLogGroupHelixBeforeOpenElementEvent =
|
|
19678
|
+
HelixHeadlessLogGroupElementEvent<HelixBeforeOpenEvent>;
|
|
19679
|
+
/** `toggle` event type */
|
|
19680
|
+
export type HelixHeadlessLogGroupToggleElementEvent =
|
|
19681
|
+
HelixHeadlessLogGroupElementEvent<ToggleEvent>;
|
|
19682
|
+
|
|
19683
|
+
export type HelixHeadlessLogGroupProps = {
|
|
19684
|
+
/** How long the step took, as it should read, such as `12s`. */
|
|
19685
|
+
duration?: (HelixHeadlessLogGroup["duration"]) | undefined;
|
|
19686
|
+
/** What the step is called. The `heading` slot replaces it. */
|
|
19687
|
+
heading?: (HelixHeadlessLogGroup["heading"]) | undefined;
|
|
19688
|
+
/** Where the step stands, which draws a mark before the heading. */
|
|
19689
|
+
status?: (HelixHeadlessLogGroup["status"]) | undefined;
|
|
19690
|
+
/** What a screen reader hears for the status, after the heading.
|
|
19691
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
19692
|
+
"status-label"?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
19693
|
+
/** What a screen reader hears for the status, after the heading.
|
|
19694
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
19695
|
+
statusLabel?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
19696
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
19697
|
+
"default-open"?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
19698
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
19699
|
+
defaultOpen?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
19700
|
+
/** Whether the element is open.
|
|
19701
|
+
|
|
19702
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
19703
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
19704
|
+
same statement in markup.
|
|
19705
|
+
|
|
19706
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
19707
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
19708
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
19709
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
19710
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
19711
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
19712
|
+
open?: (HelixHeadlessLogGroup["open"]) | undefined;
|
|
19713
|
+
|
|
19714
|
+
/** Fired before the group closes. Cancelable. */
|
|
19715
|
+
"onhelix-before-close"?: ((
|
|
19716
|
+
e: HelixHeadlessLogGroupHelixBeforeCloseElementEvent,
|
|
19717
|
+
) => void) | undefined;
|
|
19718
|
+
/** Fired before the group opens. Cancelable. */
|
|
19719
|
+
"onhelix-before-open"?: ((
|
|
19720
|
+
e: HelixHeadlessLogGroupHelixBeforeOpenElementEvent,
|
|
19721
|
+
) => void) | undefined;
|
|
19722
|
+
/** Fired after the group opens or closes, with `newState` and `oldState`. */
|
|
19723
|
+
ontoggle?: ((e: HelixHeadlessLogGroupToggleElementEvent) => void) | undefined;
|
|
19724
|
+
};
|
|
19725
|
+
|
|
19726
|
+
export type HelixHeadlessLogGroupSolidJsProps = {
|
|
19727
|
+
/** How long the step took, as it should read, such as `12s`. */
|
|
19728
|
+
"prop:duration"?: (HelixHeadlessLogGroup["duration"]) | undefined;
|
|
19729
|
+
/** What the step is called. The `heading` slot replaces it. */
|
|
19730
|
+
"prop:heading"?: (HelixHeadlessLogGroup["heading"]) | undefined;
|
|
19731
|
+
/** Where the step stands, which draws a mark before the heading. */
|
|
19732
|
+
"prop:status"?: (HelixHeadlessLogGroup["status"]) | undefined;
|
|
19733
|
+
/** What a screen reader hears for the status, after the heading.
|
|
19734
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
19735
|
+
"attr:status-label"?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
19736
|
+
/** What a screen reader hears for the status, after the heading.
|
|
19737
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
19738
|
+
"prop:statusLabel"?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
19739
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
19740
|
+
"bool:default-open"?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
19741
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
19742
|
+
"prop:defaultOpen"?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
19743
|
+
/** Whether the element is open.
|
|
19744
|
+
|
|
19745
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
19746
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
19747
|
+
same statement in markup.
|
|
19748
|
+
|
|
19749
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
19750
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
19751
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
19752
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
19753
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
19754
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
19755
|
+
"prop:open"?: (HelixHeadlessLogGroup["open"]) | undefined;
|
|
19756
|
+
/** Fired before the group closes. Cancelable. */
|
|
19757
|
+
"on:helix-before-close"?: ((
|
|
19758
|
+
e: HelixHeadlessLogGroupHelixBeforeCloseElementEvent,
|
|
19759
|
+
) => void) | undefined;
|
|
19760
|
+
/** Fired before the group opens. Cancelable. */
|
|
19761
|
+
"on:helix-before-open"?: ((
|
|
19762
|
+
e: HelixHeadlessLogGroupHelixBeforeOpenElementEvent,
|
|
19763
|
+
) => void) | undefined;
|
|
19764
|
+
/** Fired after the group opens or closes, with `newState` and `oldState`. */
|
|
19765
|
+
"on:toggle"?: ((e: HelixHeadlessLogGroupToggleElementEvent) => void) | undefined;
|
|
19766
|
+
|
|
19767
|
+
/** Set the innerHTML of the element */
|
|
19768
|
+
innerHTML?: (string) | undefined;
|
|
19769
|
+
/** Set the textContent of the element */
|
|
19770
|
+
textContent?: (string | number) | undefined;
|
|
19771
|
+
};
|
|
19772
|
+
|
|
19773
|
+
export type HelixHeadlessLogLineProps = {
|
|
19774
|
+
/** When the line was written: milliseconds since the epoch, or anything `Date` parses. */
|
|
19775
|
+
at?: (HelixHeadlessLogLine["at"]) | undefined;
|
|
19776
|
+
/** How much the line matters. Absent is `info`. */
|
|
19777
|
+
level?: (HelixHeadlessLogLine["level"]) | undefined;
|
|
19778
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
19779
|
+
"line-label"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
19780
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
19781
|
+
lineLabel?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
19782
|
+
};
|
|
19783
|
+
|
|
19784
|
+
export type HelixHeadlessLogLineSolidJsProps = {
|
|
19785
|
+
/** When the line was written: milliseconds since the epoch, or anything `Date` parses. */
|
|
19786
|
+
"prop:at"?: (HelixHeadlessLogLine["at"]) | undefined;
|
|
19787
|
+
/** How much the line matters. Absent is `info`. */
|
|
19788
|
+
"prop:level"?: (HelixHeadlessLogLine["level"]) | undefined;
|
|
19789
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
19790
|
+
"attr:line-label"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
19791
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
19792
|
+
"prop:lineLabel"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
19793
|
+
|
|
19794
|
+
/** Set the innerHTML of the element */
|
|
19795
|
+
innerHTML?: (string) | undefined;
|
|
19796
|
+
/** Set the textContent of the element */
|
|
19797
|
+
textContent?: (string | number) | undefined;
|
|
19798
|
+
};
|
|
19799
|
+
|
|
19800
|
+
/** `HelixHeadlessLog` component event */
|
|
19801
|
+
export type HelixHeadlessLogElementEvent<E = Event> = TypedEvent<
|
|
19802
|
+
HelixHeadlessLog,
|
|
19803
|
+
E
|
|
19804
|
+
>;
|
|
19805
|
+
/** `helix-before-pin` event type */
|
|
19806
|
+
export type HelixHeadlessLogHelixBeforePinElementEvent =
|
|
19807
|
+
HelixHeadlessLogElementEvent<HelixBeforePinEvent>;
|
|
19808
|
+
/** `helix-expand` event type */
|
|
19809
|
+
export type HelixHeadlessLogHelixExpandElementEvent =
|
|
19810
|
+
HelixHeadlessLogElementEvent<HelixExpandEvent>;
|
|
19811
|
+
/** `helix-pin` event type */
|
|
19812
|
+
export type HelixHeadlessLogHelixPinElementEvent =
|
|
19813
|
+
HelixHeadlessLogElementEvent<HelixPinEvent>;
|
|
19814
|
+
|
|
19815
|
+
export type HelixHeadlessLogProps = {
|
|
19816
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
19817
|
+
`default-pinned="false"` opens it where it starts. */
|
|
19818
|
+
"default-pinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
19819
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
19820
|
+
`default-pinned="false"` opens it where it starts. */
|
|
19821
|
+
defaultPinned?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
19822
|
+
/** Whether the run is over, which a screen reader is told once.
|
|
19823
|
+
|
|
19824
|
+
Set it when output you `write` is complete. A `source` sets it when the
|
|
19825
|
+
stream ends. */
|
|
19826
|
+
done?: (HelixHeadlessLog["done"]) | undefined;
|
|
19827
|
+
/** What a screen reader hears when the run is over. */
|
|
19828
|
+
"done-label"?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
19829
|
+
/** What a screen reader hears when the run is over. */
|
|
19830
|
+
doneLabel?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
19831
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
19832
|
+
"dropped-label"?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
19833
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
19834
|
+
droppedLabel?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
19835
|
+
/** The text shown and announced when the log has no lines. */
|
|
19836
|
+
"empty-text"?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
19837
|
+
/** The text shown and announced when the log has no lines. */
|
|
19838
|
+
emptyText?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
19839
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
19840
|
+
many arrived together and `{text}` is the first of them. */
|
|
19841
|
+
"error-label"?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
19842
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
19843
|
+
many arrived together and `{text}` is the first of them. */
|
|
19844
|
+
errorLabel?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
19845
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
19846
|
+
"fallback-label"?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
19847
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
19848
|
+
fallbackLabel?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
19849
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
19850
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
19851
|
+
"group-label"?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
19852
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
19853
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
19854
|
+
groupLabel?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
19855
|
+
/** The log's name, read by screen readers. */
|
|
19856
|
+
label?: (HelixHeadlessLog["label"]) | undefined;
|
|
19857
|
+
/** The most lines kept, or 0 to keep them all. Past it the oldest lines are
|
|
19858
|
+
let go, and the line above the log says how many. */
|
|
19859
|
+
limit?: (HelixHeadlessLog["limit"]) | undefined;
|
|
19860
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
19861
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
19862
|
+
"line-href"?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
19863
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
19864
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
19865
|
+
lineHref?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
19866
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
19867
|
+
line the log draws. `{number}` is the number. */
|
|
19868
|
+
"line-label"?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
19869
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
19870
|
+
line the log draws. `{number}` is the number. */
|
|
19871
|
+
lineLabel?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
19872
|
+
/** Whether each line shows its number. */
|
|
19873
|
+
"line-numbers"?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
19874
|
+
/** Whether each line shows its number. */
|
|
19875
|
+
lineNumbers?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
19876
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
19877
|
+
"mark-lines"?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
19878
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
19879
|
+
markLines?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
19880
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
19881
|
+
"matches-label"?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
19882
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
19883
|
+
matchesLabel?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
19884
|
+
/** Whether the log follows its newest line.
|
|
19885
|
+
|
|
19886
|
+
The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
|
|
19887
|
+
consumer refusing it takes the decision and assigns their own value. Not
|
|
19888
|
+
reflected, for the reason `Chat` gives at its own `pinned`: a default of
|
|
19889
|
+
true would write the attribute on upgrade. */
|
|
19890
|
+
pinned?: (HelixHeadlessLog["pinned"]) | undefined;
|
|
19891
|
+
/** Text a line has to hold to be shown, ignoring case. Empty shows every line. */
|
|
19892
|
+
query?: (HelixHeadlessLog["query"]) | undefined;
|
|
19893
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
19894
|
+
"resume-label"?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
19895
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
19896
|
+
resumeLabel?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
19897
|
+
/** How near the newest line still counts as being at it, in pixels. */
|
|
19898
|
+
threshold?: (HelixHeadlessLog["threshold"]) | undefined;
|
|
19899
|
+
/** How each line shows its `at`: `absolute` on the clock, `relative` as the
|
|
19900
|
+
time since the first line. Absent shows no time. */
|
|
19901
|
+
timestamps?: (HelixHeadlessLog["timestamps"]) | undefined;
|
|
19902
|
+
/** Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways. */
|
|
19903
|
+
wrap?: (HelixHeadlessLog["wrap"]) | undefined;
|
|
19904
|
+
/** Whether the rows are still loading.
|
|
19905
|
+
|
|
19906
|
+
Reflected, because a stylesheet needs it: the rows that are already there
|
|
19907
|
+
are dimmed rather than removed while a new set arrives, and only CSS can
|
|
19908
|
+
say that without the component knowing what a row looks like. */
|
|
19909
|
+
loading?: (HelixHeadlessLog["loading"]) | undefined;
|
|
19910
|
+
/** The text shown and announced while the rows load. */
|
|
19911
|
+
"loading-text"?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
19912
|
+
/** The text shown and announced while the rows load. */
|
|
19913
|
+
loadingText?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
19914
|
+
/** The steps the lines from data name in `group`. A step stands where its
|
|
19915
|
+
first line is, and one with no line yet stands at the end.
|
|
19916
|
+
|
|
19917
|
+
Replaced rather than mutated, as `lines` is: a step finishing is a new
|
|
19918
|
+
array with its `status` changed. */
|
|
19919
|
+
groups?: (HelixHeadlessLog["groups"]) | undefined;
|
|
19920
|
+
/** The lines as data. Reading it gives every line kept, oldest first, with
|
|
19921
|
+
the line still being written left out.
|
|
19922
|
+
|
|
19923
|
+
Replaced rather than mutated: setting it starts the log over with these
|
|
19924
|
+
lines, and `write` adds to them. Set it or write children, not both. */
|
|
19925
|
+
lines?: (HelixHeadlessLog["lines"]) | undefined;
|
|
19926
|
+
/** Reads each finished line of written text: return the fields to set, such
|
|
19927
|
+
as `level` or `group`, or `null` to drop the line. Lines in `lines` are
|
|
19928
|
+
taken as they are. */
|
|
19929
|
+
parse?: (HelixHeadlessLog["parse"]) | undefined;
|
|
19930
|
+
/** Text to read as it arrives, to the end: a `ReadableStream` of text or
|
|
19931
|
+
bytes, such as a `fetch` response's body, or an async iterable. Bytes are
|
|
19932
|
+
read as UTF-8. The log sets `done` when it ends, and a new source stops
|
|
19933
|
+
reading the last one. */
|
|
19934
|
+
source?: (HelixHeadlessLog["source"]) | undefined;
|
|
19935
|
+
|
|
19936
|
+
/** Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable. */
|
|
19937
|
+
"onhelix-before-pin"?: ((
|
|
19938
|
+
e: HelixHeadlessLogHelixBeforePinElementEvent,
|
|
19939
|
+
) => void) | undefined;
|
|
19940
|
+
/** Fired after a reader opens or closes a group drawn from `groups`, with the `id` of every open group in `detail.value`, separated by commas. */
|
|
19941
|
+
"onhelix-expand"?: ((e: HelixHeadlessLogHelixExpandElementEvent) => void) | undefined;
|
|
19942
|
+
/** Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`. */
|
|
19943
|
+
"onhelix-pin"?: ((e: HelixHeadlessLogHelixPinElementEvent) => void) | undefined;
|
|
19944
|
+
};
|
|
19945
|
+
|
|
19946
|
+
export type HelixHeadlessLogSolidJsProps = {
|
|
19947
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
19948
|
+
`default-pinned="false"` opens it where it starts. */
|
|
19949
|
+
"bool:default-pinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
19950
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
19951
|
+
`default-pinned="false"` opens it where it starts. */
|
|
19952
|
+
"prop:defaultPinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
19953
|
+
/** Whether the run is over, which a screen reader is told once.
|
|
19954
|
+
|
|
19955
|
+
Set it when output you `write` is complete. A `source` sets it when the
|
|
19956
|
+
stream ends. */
|
|
19957
|
+
"prop:done"?: (HelixHeadlessLog["done"]) | undefined;
|
|
19958
|
+
/** What a screen reader hears when the run is over. */
|
|
19959
|
+
"attr:done-label"?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
19960
|
+
/** What a screen reader hears when the run is over. */
|
|
19961
|
+
"prop:doneLabel"?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
19962
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
19963
|
+
"attr:dropped-label"?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
19964
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
19965
|
+
"prop:droppedLabel"?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
19966
|
+
/** The text shown and announced when the log has no lines. */
|
|
19967
|
+
"attr:empty-text"?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
19968
|
+
/** The text shown and announced when the log has no lines. */
|
|
19969
|
+
"prop:emptyText"?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
19970
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
19971
|
+
many arrived together and `{text}` is the first of them. */
|
|
19972
|
+
"attr:error-label"?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
19973
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
19974
|
+
many arrived together and `{text}` is the first of them. */
|
|
19975
|
+
"prop:errorLabel"?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
19976
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
19977
|
+
"attr:fallback-label"?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
19978
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
19979
|
+
"prop:fallbackLabel"?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
19980
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
19981
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
19982
|
+
"attr:group-label"?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
19983
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
19984
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
19985
|
+
"prop:groupLabel"?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
19986
|
+
/** The log's name, read by screen readers. */
|
|
19987
|
+
"prop:label"?: (HelixHeadlessLog["label"]) | undefined;
|
|
19988
|
+
/** The most lines kept, or 0 to keep them all. Past it the oldest lines are
|
|
19989
|
+
let go, and the line above the log says how many. */
|
|
19990
|
+
"prop:limit"?: (HelixHeadlessLog["limit"]) | undefined;
|
|
19991
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
19992
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
19993
|
+
"attr:line-href"?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
19994
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
19995
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
19996
|
+
"prop:lineHref"?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
19997
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
19998
|
+
line the log draws. `{number}` is the number. */
|
|
19999
|
+
"attr:line-label"?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
20000
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
20001
|
+
line the log draws. `{number}` is the number. */
|
|
20002
|
+
"prop:lineLabel"?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
20003
|
+
/** Whether each line shows its number. */
|
|
20004
|
+
"bool:line-numbers"?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
20005
|
+
/** Whether each line shows its number. */
|
|
20006
|
+
"prop:lineNumbers"?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
20007
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
20008
|
+
"attr:mark-lines"?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
20009
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
20010
|
+
"prop:markLines"?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
20011
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
20012
|
+
"attr:matches-label"?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
20013
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
20014
|
+
"prop:matchesLabel"?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
20015
|
+
/** Whether the log follows its newest line.
|
|
20016
|
+
|
|
20017
|
+
The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
|
|
20018
|
+
consumer refusing it takes the decision and assigns their own value. Not
|
|
20019
|
+
reflected, for the reason `Chat` gives at its own `pinned`: a default of
|
|
20020
|
+
true would write the attribute on upgrade. */
|
|
20021
|
+
"prop:pinned"?: (HelixHeadlessLog["pinned"]) | undefined;
|
|
20022
|
+
/** Text a line has to hold to be shown, ignoring case. Empty shows every line. */
|
|
20023
|
+
"prop:query"?: (HelixHeadlessLog["query"]) | undefined;
|
|
20024
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
20025
|
+
"attr:resume-label"?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
20026
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
20027
|
+
"prop:resumeLabel"?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
20028
|
+
/** How near the newest line still counts as being at it, in pixels. */
|
|
20029
|
+
"prop:threshold"?: (HelixHeadlessLog["threshold"]) | undefined;
|
|
20030
|
+
/** How each line shows its `at`: `absolute` on the clock, `relative` as the
|
|
20031
|
+
time since the first line. Absent shows no time. */
|
|
20032
|
+
"prop:timestamps"?: (HelixHeadlessLog["timestamps"]) | undefined;
|
|
20033
|
+
/** Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways. */
|
|
20034
|
+
"prop:wrap"?: (HelixHeadlessLog["wrap"]) | undefined;
|
|
20035
|
+
/** Whether the rows are still loading.
|
|
20036
|
+
|
|
20037
|
+
Reflected, because a stylesheet needs it: the rows that are already there
|
|
20038
|
+
are dimmed rather than removed while a new set arrives, and only CSS can
|
|
20039
|
+
say that without the component knowing what a row looks like. */
|
|
20040
|
+
"prop:loading"?: (HelixHeadlessLog["loading"]) | undefined;
|
|
20041
|
+
/** The text shown and announced while the rows load. */
|
|
20042
|
+
"attr:loading-text"?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
20043
|
+
/** The text shown and announced while the rows load. */
|
|
20044
|
+
"prop:loadingText"?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
20045
|
+
/** The steps the lines from data name in `group`. A step stands where its
|
|
20046
|
+
first line is, and one with no line yet stands at the end.
|
|
20047
|
+
|
|
20048
|
+
Replaced rather than mutated, as `lines` is: a step finishing is a new
|
|
20049
|
+
array with its `status` changed. */
|
|
20050
|
+
"prop:groups"?: (HelixHeadlessLog["groups"]) | undefined;
|
|
20051
|
+
/** The lines as data. Reading it gives every line kept, oldest first, with
|
|
20052
|
+
the line still being written left out.
|
|
20053
|
+
|
|
20054
|
+
Replaced rather than mutated: setting it starts the log over with these
|
|
20055
|
+
lines, and `write` adds to them. Set it or write children, not both. */
|
|
20056
|
+
"prop:lines"?: (HelixHeadlessLog["lines"]) | undefined;
|
|
20057
|
+
/** Reads each finished line of written text: return the fields to set, such
|
|
20058
|
+
as `level` or `group`, or `null` to drop the line. Lines in `lines` are
|
|
20059
|
+
taken as they are. */
|
|
20060
|
+
"prop:parse"?: (HelixHeadlessLog["parse"]) | undefined;
|
|
20061
|
+
/** Text to read as it arrives, to the end: a `ReadableStream` of text or
|
|
20062
|
+
bytes, such as a `fetch` response's body, or an async iterable. Bytes are
|
|
20063
|
+
read as UTF-8. The log sets `done` when it ends, and a new source stops
|
|
20064
|
+
reading the last one. */
|
|
20065
|
+
"prop:source"?: (HelixHeadlessLog["source"]) | undefined;
|
|
20066
|
+
/** Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable. */
|
|
20067
|
+
"on:helix-before-pin"?: ((
|
|
20068
|
+
e: HelixHeadlessLogHelixBeforePinElementEvent,
|
|
20069
|
+
) => void) | undefined;
|
|
20070
|
+
/** Fired after a reader opens or closes a group drawn from `groups`, with the `id` of every open group in `detail.value`, separated by commas. */
|
|
20071
|
+
"on:helix-expand"?: ((e: HelixHeadlessLogHelixExpandElementEvent) => void) | undefined;
|
|
20072
|
+
/** Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`. */
|
|
20073
|
+
"on:helix-pin"?: ((e: HelixHeadlessLogHelixPinElementEvent) => void) | undefined;
|
|
20074
|
+
|
|
20075
|
+
/** Set the innerHTML of the element */
|
|
20076
|
+
innerHTML?: (string) | undefined;
|
|
20077
|
+
/** Set the textContent of the element */
|
|
20078
|
+
textContent?: (string | number) | undefined;
|
|
20079
|
+
};
|
|
20080
|
+
|
|
19665
20081
|
/** `HelixHeadlessMapArea` component event */
|
|
19666
20082
|
export type HelixHeadlessMapAreaElementEvent<E = Event> = TypedEvent<
|
|
19667
20083
|
HelixHeadlessMapArea,
|
|
@@ -54205,6 +54621,439 @@ export type CustomElements = {
|
|
|
54205
54621
|
HelixHeadlessLoaderProps & BaseProps<HelixHeadlessLoader> & BaseEvents<HelixHeadlessLoader>
|
|
54206
54622
|
>;
|
|
54207
54623
|
|
|
54624
|
+
/**
|
|
54625
|
+
* A group is a disclosure: its heading is a button that shows and hides the
|
|
54626
|
+
* lines inside it, and says whether they are shown with `aria-expanded`. Put
|
|
54627
|
+
* `Log.Line` elements inside it, and nest groups for steps within steps.
|
|
54628
|
+
*
|
|
54629
|
+
* `status` draws a mark before the heading, and a screen reader hears the
|
|
54630
|
+
* status after the heading (`status-label`). `duration` stands at the end of
|
|
54631
|
+
* the heading, as you write it, such as `12s`.
|
|
54632
|
+
*
|
|
54633
|
+
* A group starts shut. Write `default-open` on the step a reader should see,
|
|
54634
|
+
* such as the one that failed.
|
|
54635
|
+
*
|
|
54636
|
+
* ## Attributes & Properties
|
|
54637
|
+
*
|
|
54638
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
54639
|
+
*
|
|
54640
|
+
* - `duration`: How long the step took, as it should read, such as `12s`.
|
|
54641
|
+
* - `heading`: What the step is called. The `heading` slot replaces it.
|
|
54642
|
+
* - `status`: Where the step stands, which draws a mark before the heading.
|
|
54643
|
+
* - `status-label`/`statusLabel`: What a screen reader hears for the status, after the heading.
|
|
54644
|
+
* `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`.
|
|
54645
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
54646
|
+
* - `open`: Whether the element is open.
|
|
54647
|
+
*
|
|
54648
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
54649
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
54650
|
+
* same statement in markup.
|
|
54651
|
+
*
|
|
54652
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
54653
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
54654
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
54655
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
54656
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
54657
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
54658
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
54659
|
+
*
|
|
54660
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
54661
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
54662
|
+
* base class takes the name every subclass then cannot use.
|
|
54663
|
+
*
|
|
54664
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
54665
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
54666
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
54667
|
+
* instead.
|
|
54668
|
+
*
|
|
54669
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
54670
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
54671
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
54672
|
+
*
|
|
54673
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
54674
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
54675
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
54676
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
54677
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
54678
|
+
*
|
|
54679
|
+
* ## Events
|
|
54680
|
+
*
|
|
54681
|
+
* Events that will be emitted by the component.
|
|
54682
|
+
*
|
|
54683
|
+
* - `helix-before-close`: Fired before the group closes. Cancelable.
|
|
54684
|
+
* - `helix-before-open`: Fired before the group opens. Cancelable.
|
|
54685
|
+
* - `toggle`: Fired after the group opens or closes, with `newState` and `oldState`.
|
|
54686
|
+
*
|
|
54687
|
+
* ## Slots
|
|
54688
|
+
*
|
|
54689
|
+
* Areas where markup can be added to the component.
|
|
54690
|
+
*
|
|
54691
|
+
* - `(default)`: The lines of the step, and any groups inside it.
|
|
54692
|
+
* - `heading`: The heading, where it holds more than text. Defaults to `heading`.
|
|
54693
|
+
*
|
|
54694
|
+
* ## Methods
|
|
54695
|
+
*
|
|
54696
|
+
* Methods that can be called to access component functionality.
|
|
54697
|
+
*
|
|
54698
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
54699
|
+
* was applied.
|
|
54700
|
+
*
|
|
54701
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
54702
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
54703
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
54704
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
54705
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
54706
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
54707
|
+
*
|
|
54708
|
+
* ## CSS Parts
|
|
54709
|
+
*
|
|
54710
|
+
* Custom selectors for styling elements within the component.
|
|
54711
|
+
*
|
|
54712
|
+
* - `content`: The lines, hidden while the group is shut.
|
|
54713
|
+
* - `duration`: How long the step took.
|
|
54714
|
+
* - `heading`: The heading.
|
|
54715
|
+
* - `mark`: The caret that turns as the group opens, an `<svg>` you size.
|
|
54716
|
+
* - `status`: The mark for the status, an `<svg>` you size.
|
|
54717
|
+
* - `summary`: The button that opens and closes the group.
|
|
54718
|
+
*
|
|
54719
|
+
* ## CSS States
|
|
54720
|
+
*
|
|
54721
|
+
* These can be used to apply styling when a component is in a given state.
|
|
54722
|
+
*
|
|
54723
|
+
* - `open`: The group shows its lines.
|
|
54724
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
54725
|
+
*/
|
|
54726
|
+
"helix-headless-log-group": Partial<
|
|
54727
|
+
HelixHeadlessLogGroupProps & BaseProps<HelixHeadlessLogGroup> & BaseEvents<HelixHeadlessLogGroup>
|
|
54728
|
+
>;
|
|
54729
|
+
|
|
54730
|
+
/**
|
|
54731
|
+
* Write one for each line of a log you serve whole, inside a `Log` or a
|
|
54732
|
+
* `Log.Group`. The log numbers each line, counting the lines of every group,
|
|
54733
|
+
* and tells it whether to show its number and its time.
|
|
54734
|
+
*
|
|
54735
|
+
* `level` says how much a line matters, and the styled tier draws `warn` and
|
|
54736
|
+
* `error` lines apart. The text is the line's own content, so you can mark it
|
|
54737
|
+
* up yourself.
|
|
54738
|
+
*
|
|
54739
|
+
* ## Attributes & Properties
|
|
54740
|
+
*
|
|
54741
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
54742
|
+
*
|
|
54743
|
+
* - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
|
|
54744
|
+
* - `level`: How much the line matters. Absent is `info`.
|
|
54745
|
+
* - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
|
|
54746
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
54747
|
+
*
|
|
54748
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
54749
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
54750
|
+
* base class takes the name every subclass then cannot use.
|
|
54751
|
+
*
|
|
54752
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
54753
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
54754
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
54755
|
+
* instead.
|
|
54756
|
+
*
|
|
54757
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
54758
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
54759
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
54760
|
+
*
|
|
54761
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
54762
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
54763
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
54764
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
54765
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
54766
|
+
*
|
|
54767
|
+
* ## Slots
|
|
54768
|
+
*
|
|
54769
|
+
* Areas where markup can be added to the component.
|
|
54770
|
+
*
|
|
54771
|
+
* - `(default)`: The text of the line.
|
|
54772
|
+
*
|
|
54773
|
+
* ## CSS Custom Properties
|
|
54774
|
+
*
|
|
54775
|
+
* CSS variables available for styling the component.
|
|
54776
|
+
*
|
|
54777
|
+
* - `--log-run-background-color`: Written on a `run` with a background, in the same form as `--log-run-color`.
|
|
54778
|
+
* - `--log-run-color`: Written on a `run` with a text color: one of the sixteen `--log-ansi-*` colors the log publishes, or the color itself.
|
|
54779
|
+
*
|
|
54780
|
+
* ## CSS Parts
|
|
54781
|
+
*
|
|
54782
|
+
* Custom selectors for styling elements within the component.
|
|
54783
|
+
*
|
|
54784
|
+
* - `line`: The row the number, the time, and the text sit in.
|
|
54785
|
+
* - `line-debug`: The row of a line at `debug`.
|
|
54786
|
+
* - `line-error`: The row of a line at `error`.
|
|
54787
|
+
* - `line-marked`: The row of a line `mark-lines` names on the log.
|
|
54788
|
+
* - `line-warn`: The row of a line at `warn`.
|
|
54789
|
+
* - `match`: Text that matches the log's `query`, in a line the log draws from data.
|
|
54790
|
+
* - `number`: The line's number, shown with `line-numbers`, and a link with `line-href`.
|
|
54791
|
+
* - `run`: A stretch of text drawn in an ANSI style, in a line the log draws from data. Its color is `--log-run-color` and its background `--log-run-background-color`.
|
|
54792
|
+
* - `run-bold`: A run drawn bold.
|
|
54793
|
+
* - `run-dim`: A run drawn faint.
|
|
54794
|
+
* - `run-italic`: A run drawn italic.
|
|
54795
|
+
* - `run-strike`: A run drawn struck through.
|
|
54796
|
+
* - `run-underline`: A run drawn underlined.
|
|
54797
|
+
* - `text`: The text of the line.
|
|
54798
|
+
* - `time`: When the line was written, shown with `timestamps`.
|
|
54799
|
+
*
|
|
54800
|
+
* ## CSS States
|
|
54801
|
+
*
|
|
54802
|
+
* These can be used to apply styling when a component is in a given state.
|
|
54803
|
+
*
|
|
54804
|
+
* - `filtered`: The log's `query` does not match the line, so it draws nothing.
|
|
54805
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
54806
|
+
*/
|
|
54807
|
+
"helix-headless-log-line": Partial<
|
|
54808
|
+
HelixHeadlessLogLineProps & BaseProps<HelixHeadlessLogLine> & BaseEvents<HelixHeadlessLogLine>
|
|
54809
|
+
>;
|
|
54810
|
+
|
|
54811
|
+
/**
|
|
54812
|
+
* A log holds lines in the order they were written and keeps the reader at
|
|
54813
|
+
* the newest one, until they scroll up to read. It stays where they left it
|
|
54814
|
+
* while lines keep arriving, and a button returns them to the end
|
|
54815
|
+
* (`resume-label`, "Jump to latest").
|
|
54816
|
+
*
|
|
54817
|
+
* **Lines arrive two ways.** For a log you serve whole, write `Log.Line`
|
|
54818
|
+
* elements as children, inside `Log.Group` elements for the steps. For a log
|
|
54819
|
+
* that is still being written, hand it text: `write(chunk)` takes text as it
|
|
54820
|
+
* arrives, in pieces that need not end at a line break, and `source` takes a
|
|
54821
|
+
* `ReadableStream` or an async iterable and reads it to the end. `lines` takes
|
|
54822
|
+
* the lines as data. Text drawn from data is drawn one window at a time, so a
|
|
54823
|
+
* log of a hundred thousand lines holds a screenful of elements, and the log
|
|
54824
|
+
* needs a block size of its own. Do not use both ways at once.
|
|
54825
|
+
*
|
|
54826
|
+
* **Written text is read the way a terminal shows it.** A carriage return
|
|
54827
|
+
* starts the line over, so a progress bar stays one line, and the line still
|
|
54828
|
+
* being written is shown as it stands. ANSI colors and weights are drawn, in
|
|
54829
|
+
* the sixteen colors the styled tier takes from your theme, and every other
|
|
54830
|
+
* escape code is dropped. Give `parse` a function to read each finished line,
|
|
54831
|
+
* such as a level off its prefix or a group off a marker.
|
|
54832
|
+
*
|
|
54833
|
+
* **Steps fold.** Lines that name a group in `groups` stand under its heading,
|
|
54834
|
+
* which shows its status and how long it took and opens and closes the lines.
|
|
54835
|
+
* A group a reader opens or closes fires `helix-expand` with every open group.
|
|
54836
|
+
*
|
|
54837
|
+
* **Search with `query`.** The log shows only the lines that hold it, marks
|
|
54838
|
+
* each match, opens the groups that hold one, and says how many lines match.
|
|
54839
|
+
*
|
|
54840
|
+
* `line-numbers` numbers the lines from the first ever written, so a number
|
|
54841
|
+
* still names its line once `limit` has let older lines go, and `line-href`
|
|
54842
|
+
* makes each number a link, such as `#L{n}`. `scrollToLine(n)` takes a reader
|
|
54843
|
+
* to one. `timestamps` shows each line's `at`, on the clock or as the time
|
|
54844
|
+
* into the run. `mark-lines` marks lines, such as `12, 40-44`.
|
|
54845
|
+
*
|
|
54846
|
+
* **What a screen reader hears.** The log is a `log` and stays quiet as lines
|
|
54847
|
+
* arrive, since reading a build aloud line by line helps nobody. A separate
|
|
54848
|
+
* status region says each line at `error` once it arrives, each step once it
|
|
54849
|
+
* finishes or fails, and the end of the run once `done` is set or `source`
|
|
54850
|
+
* ends. Set `done` yourself when output you `write` is complete.
|
|
54851
|
+
*
|
|
54852
|
+
* The log scrolls on this tier. It carries `data-scroller`, so following the
|
|
54853
|
+
* newest line and drawing a window work with no stylesheet. Give the log a
|
|
54854
|
+
* block size, such as `helix-headless-log::part(log) { block-size: 20rem }`.
|
|
54855
|
+
*
|
|
54856
|
+
* ```js
|
|
54857
|
+
* import '@fusion.dev/helix/log'
|
|
54858
|
+
* ```
|
|
54859
|
+
*
|
|
54860
|
+
* ## Attributes & Properties
|
|
54861
|
+
*
|
|
54862
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
54863
|
+
*
|
|
54864
|
+
* - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
|
|
54865
|
+
* `default-pinned="false"` opens it where it starts.
|
|
54866
|
+
* - `done`: Whether the run is over, which a screen reader is told once.
|
|
54867
|
+
*
|
|
54868
|
+
* Set it when output you `write` is complete. A `source` sets it when the
|
|
54869
|
+
* stream ends.
|
|
54870
|
+
* - `done-label`/`doneLabel`: What a screen reader hears when the run is over.
|
|
54871
|
+
* - `dropped-label`/`droppedLabel`: What the line above the log says once `limit` has let lines go. `{count}` is how many.
|
|
54872
|
+
* - `empty-text`/`emptyText`: The text shown and announced when the log has no lines.
|
|
54873
|
+
* - `error-label`/`errorLabel`: What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
54874
|
+
* many arrived together and `{text}` is the first of them.
|
|
54875
|
+
* - `fallback-label`/`fallbackLabel`: The log's name, read by screen readers, where `label` is empty.
|
|
54876
|
+
* - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
54877
|
+
* the step's heading and `{status}` is `done` or `failed`.
|
|
54878
|
+
* - `label`: The log's name, read by screen readers.
|
|
54879
|
+
* - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
|
|
54880
|
+
* let go, and the line above the log says how many.
|
|
54881
|
+
* - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
|
|
54882
|
+
* `#L{n}`. Empty leaves the numbers as text.
|
|
54883
|
+
* - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number, handed to each
|
|
54884
|
+
* line the log draws. `{number}` is the number.
|
|
54885
|
+
* - `line-numbers`/`lineNumbers`: Whether each line shows its number.
|
|
54886
|
+
* - `mark-lines`/`markLines`: Lines to mark, as numbers and ranges such as `12, 40-44`.
|
|
54887
|
+
* - `matches-label`/`matchesLabel`: What a screen reader hears when `query` changes. `{count}` is how many lines match.
|
|
54888
|
+
* - `pinned`: Whether the log follows its newest line.
|
|
54889
|
+
*
|
|
54890
|
+
* The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
|
|
54891
|
+
* consumer refusing it takes the decision and assigns their own value. Not
|
|
54892
|
+
* reflected, for the reason `Chat` gives at its own `pinned`: a default of
|
|
54893
|
+
* true would write the attribute on upgrade.
|
|
54894
|
+
* - `query`: Text a line has to hold to be shown, ignoring case. Empty shows every line.
|
|
54895
|
+
* - `resume-label`/`resumeLabel`: The words on the button that returns to the newest line, where `resume` is empty.
|
|
54896
|
+
* - `threshold`: How near the newest line still counts as being at it, in pixels.
|
|
54897
|
+
* - `timestamps`: How each line shows its `at`: `absolute` on the clock, `relative` as the
|
|
54898
|
+
* time since the first line. Absent shows no time.
|
|
54899
|
+
* - `wrap`: Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways.
|
|
54900
|
+
* - `loading`: Whether the rows are still loading.
|
|
54901
|
+
*
|
|
54902
|
+
* Reflected, because a stylesheet needs it: the rows that are already there
|
|
54903
|
+
* are dimmed rather than removed while a new set arrives, and only CSS can
|
|
54904
|
+
* say that without the component knowing what a row looks like.
|
|
54905
|
+
* - `loading-text`/`loadingText`: The text shown and announced while the rows load.
|
|
54906
|
+
* - `groups`: The steps the lines from data name in `group`. A step stands where its
|
|
54907
|
+
* first line is, and one with no line yet stands at the end.
|
|
54908
|
+
*
|
|
54909
|
+
* Replaced rather than mutated, as `lines` is: a step finishing is a new
|
|
54910
|
+
* array with its `status` changed. (property only)
|
|
54911
|
+
* - `lines`: The lines as data. Reading it gives every line kept, oldest first, with
|
|
54912
|
+
* the line still being written left out.
|
|
54913
|
+
*
|
|
54914
|
+
* Replaced rather than mutated: setting it starts the log over with these
|
|
54915
|
+
* lines, and `write` adds to them. Set it or write children, not both. (property only)
|
|
54916
|
+
* - `parse`: Reads each finished line of written text: return the fields to set, such
|
|
54917
|
+
* as `level` or `group`, or `null` to drop the line. Lines in `lines` are
|
|
54918
|
+
* taken as they are. (property only)
|
|
54919
|
+
* - `source`: Text to read as it arrives, to the end: a `ReadableStream` of text or
|
|
54920
|
+
* bytes, such as a `fetch` response's body, or an async iterable. Bytes are
|
|
54921
|
+
* read as UTF-8. The log sets `done` when it ends, and a new source stops
|
|
54922
|
+
* reading the last one. (property only)
|
|
54923
|
+
* - `text`: Every line kept, as plain text with the escape codes taken out, one to a
|
|
54924
|
+
* row: what a download or a copy of the log should hold. (property only) (readonly)
|
|
54925
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
54926
|
+
*
|
|
54927
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
54928
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
54929
|
+
* base class takes the name every subclass then cannot use.
|
|
54930
|
+
*
|
|
54931
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
54932
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
54933
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
54934
|
+
* instead.
|
|
54935
|
+
*
|
|
54936
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
54937
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
54938
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
54939
|
+
*
|
|
54940
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
54941
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
54942
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
54943
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
54944
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
54945
|
+
*
|
|
54946
|
+
* ## Events
|
|
54947
|
+
*
|
|
54948
|
+
* Events that will be emitted by the component.
|
|
54949
|
+
*
|
|
54950
|
+
* - `helix-before-pin`: Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable.
|
|
54951
|
+
* - `helix-expand`: Fired after a reader opens or closes a group drawn from `groups`, with the `id` of every open group in `detail.value`, separated by commas.
|
|
54952
|
+
* - `helix-pin`: Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`.
|
|
54953
|
+
*
|
|
54954
|
+
* ## Slots
|
|
54955
|
+
*
|
|
54956
|
+
* Areas where markup can be added to the component.
|
|
54957
|
+
*
|
|
54958
|
+
* - `(default)`: The lines, as `Log.Line` and `Log.Group` elements.
|
|
54959
|
+
* - `resume`: The control that returns to the newest line, shown while the reader is scrolled away. Defaults to a button named by `resume-label`.
|
|
54960
|
+
* - `toolbar`: Controls above the log, such as a search field or a button that wraps lines.
|
|
54961
|
+
*
|
|
54962
|
+
* ## Methods
|
|
54963
|
+
*
|
|
54964
|
+
* Methods that can be called to access component functionality.
|
|
54965
|
+
*
|
|
54966
|
+
* - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
|
|
54967
|
+
* after the last one is the line still being written.
|
|
54968
|
+
* - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
|
|
54969
|
+
* `groups`, `parse`, and `limit`.
|
|
54970
|
+
* - `resume() => void`: Puts the log back at its newest line, and follows it again.
|
|
54971
|
+
* - `scrollToLine(number: number, options: LogScrollOptions = {}) => Promise<boolean>`: Scrolls to line `number`, counted from the first line ever written, and
|
|
54972
|
+
* stops following the newest. Opens a shut group the line is in. Resolves
|
|
54973
|
+
* to whether the line is shown: false for a line `limit` let go or `query`
|
|
54974
|
+
* hides.
|
|
54975
|
+
*
|
|
54976
|
+
* ## CSS Custom Properties
|
|
54977
|
+
*
|
|
54978
|
+
* CSS variables available for styling the component.
|
|
54979
|
+
*
|
|
54980
|
+
* - `--log-ansi-background`: The background a run takes where ANSI swaps the colors and named none. Defaults to the log's own background on the styled tier.
|
|
54981
|
+
* - `--log-ansi-black`: The ANSI color black, which codes `30` and `40` draw.
|
|
54982
|
+
* - `--log-ansi-blue`: The ANSI color blue, which codes `34` and `44` draw.
|
|
54983
|
+
* - `--log-ansi-bright-black`: The ANSI color bright black, which codes `90` and `100` draw.
|
|
54984
|
+
* - `--log-ansi-bright-blue`: The ANSI color bright blue, which codes `94` and `104` draw.
|
|
54985
|
+
* - `--log-ansi-bright-cyan`: The ANSI color bright cyan, which codes `96` and `106` draw.
|
|
54986
|
+
* - `--log-ansi-bright-green`: The ANSI color bright green, which codes `92` and `102` draw.
|
|
54987
|
+
* - `--log-ansi-bright-magenta`: The ANSI color bright magenta, which codes `95` and `105` draw.
|
|
54988
|
+
* - `--log-ansi-bright-red`: The ANSI color bright red, which codes `91` and `101` draw.
|
|
54989
|
+
* - `--log-ansi-bright-white`: The ANSI color bright white, which codes `97` and `107` draw.
|
|
54990
|
+
* - `--log-ansi-bright-yellow`: The ANSI color bright yellow, which codes `93` and `103` draw.
|
|
54991
|
+
* - `--log-ansi-cyan`: The ANSI color cyan, which codes `36` and `46` draw.
|
|
54992
|
+
* - `--log-ansi-foreground`: The text color a run takes where ANSI swaps the colors and named none. Defaults to the log's own text color on the styled tier.
|
|
54993
|
+
* - `--log-ansi-green`: The ANSI color green, which codes `32` and `42` draw.
|
|
54994
|
+
* - `--log-ansi-magenta`: The ANSI color magenta, which codes `35` and `45` draw.
|
|
54995
|
+
* - `--log-ansi-red`: The ANSI color red, which codes `31` and `41` draw.
|
|
54996
|
+
* - `--log-ansi-white`: The ANSI color white, which codes `37` and `47` draw.
|
|
54997
|
+
* - `--log-ansi-yellow`: The ANSI color yellow, which codes `33` and `43` draw.
|
|
54998
|
+
* - `--log-digits`: Written on the `log`: how many digits the largest line number has, while `line-numbers` is set, so a stylesheet can size the column of numbers.
|
|
54999
|
+
*
|
|
55000
|
+
* ## CSS Parts
|
|
55001
|
+
*
|
|
55002
|
+
* Custom selectors for styling elements within the component.
|
|
55003
|
+
*
|
|
55004
|
+
* - `after`: The space the rows below the drawn ones would take. Only for lines drawn from data.
|
|
55005
|
+
* - `before`: The space the rows above the drawn ones would take. Only for lines drawn from data.
|
|
55006
|
+
* - `dropped`: The line above the log that says how many earlier lines `limit` let go.
|
|
55007
|
+
* - `empty`: Shown when the log has no lines.
|
|
55008
|
+
* - `group-content`: Not drawn: a group drawn from data stands for its heading, and its lines are rows beside it.
|
|
55009
|
+
* - `group-duration`: How long a step drawn from `groups` took.
|
|
55010
|
+
* - `group-heading`: The heading of a step drawn from `groups`.
|
|
55011
|
+
* - `group-mark`: The caret of a step drawn from `groups`.
|
|
55012
|
+
* - `group-status`: The status mark of a step drawn from `groups`.
|
|
55013
|
+
* - `group-summary`: The button that opens and closes a step drawn from `groups`.
|
|
55014
|
+
* - `group-summary-done`: The button of a step drawn from `groups` that is `done`.
|
|
55015
|
+
* - `group-summary-failed`: The button of a step drawn from `groups` that `failed`.
|
|
55016
|
+
* - `group-summary-pending`: The button of a step drawn from `groups` that is `pending`.
|
|
55017
|
+
* - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
|
|
55018
|
+
* - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
|
|
55019
|
+
* - `line`: The row of a line drawn from data.
|
|
55020
|
+
* - `line-debug`: The row of a line drawn from data at `debug`.
|
|
55021
|
+
* - `line-error`: The row of a line drawn from data at `error`.
|
|
55022
|
+
* - `line-marked`: The row of a line drawn from data that `mark-lines` names.
|
|
55023
|
+
* - `line-match`: Text in a line drawn from data that matches `query`.
|
|
55024
|
+
* - `line-number`: The number of a line drawn from data.
|
|
55025
|
+
* - `line-run`: A stretch of a line drawn from data in an ANSI style.
|
|
55026
|
+
* - `line-run-bold`: A run drawn bold.
|
|
55027
|
+
* - `line-run-dim`: A run drawn faint.
|
|
55028
|
+
* - `line-run-italic`: A run drawn italic.
|
|
55029
|
+
* - `line-run-strike`: A run drawn struck through.
|
|
55030
|
+
* - `line-run-underline`: A run drawn underlined.
|
|
55031
|
+
* - `line-text`: The text of a line drawn from data.
|
|
55032
|
+
* - `line-time`: The time of a line drawn from data.
|
|
55033
|
+
* - `line-warn`: The row of a line drawn from data at `warn`.
|
|
55034
|
+
* - `live`: The region where screen readers hear errors, finished steps, and the end of the run.
|
|
55035
|
+
* - `loading`: Shown while `loading` is set.
|
|
55036
|
+
* - `log`: The lines, which scroll. On this tier, it needs only a block size.
|
|
55037
|
+
* - `resume`: The control shown while the reader is scrolled away from the newest line.
|
|
55038
|
+
* - `resume-button`: The button the `resume` region shows when nothing is slotted into it.
|
|
55039
|
+
* - `resume-mark`: The arrow on the default `resume-button`.
|
|
55040
|
+
* - `row`: The wrapper around one row drawn from data, a line or a group's heading.
|
|
55041
|
+
* - `toolbar`: The `toolbar` slot, above the log.
|
|
55042
|
+
*
|
|
55043
|
+
* ## CSS States
|
|
55044
|
+
*
|
|
55045
|
+
* These can be used to apply styling when a component is in a given state.
|
|
55046
|
+
*
|
|
55047
|
+
* - `done`: The run is over: `done` is set, or `source` ended.
|
|
55048
|
+
* - `empty`: The log has no lines.
|
|
55049
|
+
* - `filtered`: `query` is set, so only matching lines are shown.
|
|
55050
|
+
* - `pinned`: The log follows its newest line.
|
|
55051
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
55052
|
+
*/
|
|
55053
|
+
"helix-headless-log": Partial<
|
|
55054
|
+
HelixHeadlessLogProps & BaseProps<HelixHeadlessLog> & BaseEvents<HelixHeadlessLog>
|
|
55055
|
+
>;
|
|
55056
|
+
|
|
54208
55057
|
/**
|
|
54209
55058
|
* `connectMap` fills the shape as a layer of the map, under its place names.
|
|
54210
55059
|
* The frame lists each area by its `label` and `description` for screen
|
|
@@ -86079,6 +86928,448 @@ export type CustomElementsSolidJs = {
|
|
|
86079
86928
|
BaseEvents<HelixHeadlessLoader>
|
|
86080
86929
|
>;
|
|
86081
86930
|
|
|
86931
|
+
/**
|
|
86932
|
+
* A group is a disclosure: its heading is a button that shows and hides the
|
|
86933
|
+
* lines inside it, and says whether they are shown with `aria-expanded`. Put
|
|
86934
|
+
* `Log.Line` elements inside it, and nest groups for steps within steps.
|
|
86935
|
+
*
|
|
86936
|
+
* `status` draws a mark before the heading, and a screen reader hears the
|
|
86937
|
+
* status after the heading (`status-label`). `duration` stands at the end of
|
|
86938
|
+
* the heading, as you write it, such as `12s`.
|
|
86939
|
+
*
|
|
86940
|
+
* A group starts shut. Write `default-open` on the step a reader should see,
|
|
86941
|
+
* such as the one that failed.
|
|
86942
|
+
*
|
|
86943
|
+
* ## Attributes & Properties
|
|
86944
|
+
*
|
|
86945
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
86946
|
+
*
|
|
86947
|
+
* - `duration`: How long the step took, as it should read, such as `12s`.
|
|
86948
|
+
* - `heading`: What the step is called. The `heading` slot replaces it.
|
|
86949
|
+
* - `status`: Where the step stands, which draws a mark before the heading.
|
|
86950
|
+
* - `status-label`/`statusLabel`: What a screen reader hears for the status, after the heading.
|
|
86951
|
+
* `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`.
|
|
86952
|
+
* - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
|
|
86953
|
+
* - `open`: Whether the element is open.
|
|
86954
|
+
*
|
|
86955
|
+
* One property, not two, so `dialog.open` answers the question anyone
|
|
86956
|
+
* asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
86957
|
+
* same statement in markup.
|
|
86958
|
+
*
|
|
86959
|
+
* **Not reflected, and that is required rather than tidy.** Reflection
|
|
86960
|
+
* writes the resolved state back as an attribute, so an element that opened
|
|
86961
|
+
* itself would put `open` on its own host: cloned, serialized for
|
|
86962
|
+
* hydration, or diffed by a framework, it comes back holding whatever the
|
|
86963
|
+
* last reader did rather than what the author wrote. `:state(open)` carries
|
|
86964
|
+
* the resolved state for stylesheets, which is what the mirror is for.
|
|
86965
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
86966
|
+
*
|
|
86967
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
86968
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
86969
|
+
* base class takes the name every subclass then cannot use.
|
|
86970
|
+
*
|
|
86971
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
86972
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
86973
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
86974
|
+
* instead.
|
|
86975
|
+
*
|
|
86976
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
86977
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
86978
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
86979
|
+
*
|
|
86980
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
86981
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
86982
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
86983
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
86984
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
86985
|
+
*
|
|
86986
|
+
* ## Events
|
|
86987
|
+
*
|
|
86988
|
+
* Events that will be emitted by the component.
|
|
86989
|
+
*
|
|
86990
|
+
* - `helix-before-close`: Fired before the group closes. Cancelable.
|
|
86991
|
+
* - `helix-before-open`: Fired before the group opens. Cancelable.
|
|
86992
|
+
* - `toggle`: Fired after the group opens or closes, with `newState` and `oldState`.
|
|
86993
|
+
*
|
|
86994
|
+
* ## Slots
|
|
86995
|
+
*
|
|
86996
|
+
* Areas where markup can be added to the component.
|
|
86997
|
+
*
|
|
86998
|
+
* - `(default)`: The lines of the step, and any groups inside it.
|
|
86999
|
+
* - `heading`: The heading, where it holds more than text. Defaults to `heading`.
|
|
87000
|
+
*
|
|
87001
|
+
* ## Methods
|
|
87002
|
+
*
|
|
87003
|
+
* Methods that can be called to access component functionality.
|
|
87004
|
+
*
|
|
87005
|
+
* - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
|
|
87006
|
+
* was applied.
|
|
87007
|
+
*
|
|
87008
|
+
* Announces before it acts, so `preventDefault()` on the `helix-before-open` or
|
|
87009
|
+
* `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
|
|
87010
|
+
* element opens or closes itself, whether or not a consumer declared
|
|
87011
|
+
* `open`: a declared property is a seed and a correction, and a consumer
|
|
87012
|
+
* who wants the decision for themselves refuses it and assigns their own.
|
|
87013
|
+
* - `toggleOpen() => boolean`: Requests the opposite of the current state.
|
|
87014
|
+
*
|
|
87015
|
+
* ## CSS Parts
|
|
87016
|
+
*
|
|
87017
|
+
* Custom selectors for styling elements within the component.
|
|
87018
|
+
*
|
|
87019
|
+
* - `content`: The lines, hidden while the group is shut.
|
|
87020
|
+
* - `duration`: How long the step took.
|
|
87021
|
+
* - `heading`: The heading.
|
|
87022
|
+
* - `mark`: The caret that turns as the group opens, an `<svg>` you size.
|
|
87023
|
+
* - `status`: The mark for the status, an `<svg>` you size.
|
|
87024
|
+
* - `summary`: The button that opens and closes the group.
|
|
87025
|
+
*
|
|
87026
|
+
* ## CSS States
|
|
87027
|
+
*
|
|
87028
|
+
* These can be used to apply styling when a component is in a given state.
|
|
87029
|
+
*
|
|
87030
|
+
* - `open`: The group shows its lines.
|
|
87031
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
87032
|
+
*/
|
|
87033
|
+
"helix-headless-log-group": Partial<
|
|
87034
|
+
HelixHeadlessLogGroupProps &
|
|
87035
|
+
HelixHeadlessLogGroupSolidJsProps &
|
|
87036
|
+
BaseProps<HelixHeadlessLogGroup> &
|
|
87037
|
+
BaseEvents<HelixHeadlessLogGroup>
|
|
87038
|
+
>;
|
|
87039
|
+
|
|
87040
|
+
/**
|
|
87041
|
+
* Write one for each line of a log you serve whole, inside a `Log` or a
|
|
87042
|
+
* `Log.Group`. The log numbers each line, counting the lines of every group,
|
|
87043
|
+
* and tells it whether to show its number and its time.
|
|
87044
|
+
*
|
|
87045
|
+
* `level` says how much a line matters, and the styled tier draws `warn` and
|
|
87046
|
+
* `error` lines apart. The text is the line's own content, so you can mark it
|
|
87047
|
+
* up yourself.
|
|
87048
|
+
*
|
|
87049
|
+
* ## Attributes & Properties
|
|
87050
|
+
*
|
|
87051
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
87052
|
+
*
|
|
87053
|
+
* - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
|
|
87054
|
+
* - `level`: How much the line matters. Absent is `info`.
|
|
87055
|
+
* - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
|
|
87056
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
87057
|
+
*
|
|
87058
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
87059
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
87060
|
+
* base class takes the name every subclass then cannot use.
|
|
87061
|
+
*
|
|
87062
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
87063
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
87064
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
87065
|
+
* instead.
|
|
87066
|
+
*
|
|
87067
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
87068
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
87069
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
87070
|
+
*
|
|
87071
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
87072
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
87073
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
87074
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
87075
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
87076
|
+
*
|
|
87077
|
+
* ## Slots
|
|
87078
|
+
*
|
|
87079
|
+
* Areas where markup can be added to the component.
|
|
87080
|
+
*
|
|
87081
|
+
* - `(default)`: The text of the line.
|
|
87082
|
+
*
|
|
87083
|
+
* ## CSS Custom Properties
|
|
87084
|
+
*
|
|
87085
|
+
* CSS variables available for styling the component.
|
|
87086
|
+
*
|
|
87087
|
+
* - `--log-run-background-color`: Written on a `run` with a background, in the same form as `--log-run-color`.
|
|
87088
|
+
* - `--log-run-color`: Written on a `run` with a text color: one of the sixteen `--log-ansi-*` colors the log publishes, or the color itself.
|
|
87089
|
+
*
|
|
87090
|
+
* ## CSS Parts
|
|
87091
|
+
*
|
|
87092
|
+
* Custom selectors for styling elements within the component.
|
|
87093
|
+
*
|
|
87094
|
+
* - `line`: The row the number, the time, and the text sit in.
|
|
87095
|
+
* - `line-debug`: The row of a line at `debug`.
|
|
87096
|
+
* - `line-error`: The row of a line at `error`.
|
|
87097
|
+
* - `line-marked`: The row of a line `mark-lines` names on the log.
|
|
87098
|
+
* - `line-warn`: The row of a line at `warn`.
|
|
87099
|
+
* - `match`: Text that matches the log's `query`, in a line the log draws from data.
|
|
87100
|
+
* - `number`: The line's number, shown with `line-numbers`, and a link with `line-href`.
|
|
87101
|
+
* - `run`: A stretch of text drawn in an ANSI style, in a line the log draws from data. Its color is `--log-run-color` and its background `--log-run-background-color`.
|
|
87102
|
+
* - `run-bold`: A run drawn bold.
|
|
87103
|
+
* - `run-dim`: A run drawn faint.
|
|
87104
|
+
* - `run-italic`: A run drawn italic.
|
|
87105
|
+
* - `run-strike`: A run drawn struck through.
|
|
87106
|
+
* - `run-underline`: A run drawn underlined.
|
|
87107
|
+
* - `text`: The text of the line.
|
|
87108
|
+
* - `time`: When the line was written, shown with `timestamps`.
|
|
87109
|
+
*
|
|
87110
|
+
* ## CSS States
|
|
87111
|
+
*
|
|
87112
|
+
* These can be used to apply styling when a component is in a given state.
|
|
87113
|
+
*
|
|
87114
|
+
* - `filtered`: The log's `query` does not match the line, so it draws nothing.
|
|
87115
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
87116
|
+
*/
|
|
87117
|
+
"helix-headless-log-line": Partial<
|
|
87118
|
+
HelixHeadlessLogLineProps &
|
|
87119
|
+
HelixHeadlessLogLineSolidJsProps &
|
|
87120
|
+
BaseProps<HelixHeadlessLogLine> &
|
|
87121
|
+
BaseEvents<HelixHeadlessLogLine>
|
|
87122
|
+
>;
|
|
87123
|
+
|
|
87124
|
+
/**
|
|
87125
|
+
* A log holds lines in the order they were written and keeps the reader at
|
|
87126
|
+
* the newest one, until they scroll up to read. It stays where they left it
|
|
87127
|
+
* while lines keep arriving, and a button returns them to the end
|
|
87128
|
+
* (`resume-label`, "Jump to latest").
|
|
87129
|
+
*
|
|
87130
|
+
* **Lines arrive two ways.** For a log you serve whole, write `Log.Line`
|
|
87131
|
+
* elements as children, inside `Log.Group` elements for the steps. For a log
|
|
87132
|
+
* that is still being written, hand it text: `write(chunk)` takes text as it
|
|
87133
|
+
* arrives, in pieces that need not end at a line break, and `source` takes a
|
|
87134
|
+
* `ReadableStream` or an async iterable and reads it to the end. `lines` takes
|
|
87135
|
+
* the lines as data. Text drawn from data is drawn one window at a time, so a
|
|
87136
|
+
* log of a hundred thousand lines holds a screenful of elements, and the log
|
|
87137
|
+
* needs a block size of its own. Do not use both ways at once.
|
|
87138
|
+
*
|
|
87139
|
+
* **Written text is read the way a terminal shows it.** A carriage return
|
|
87140
|
+
* starts the line over, so a progress bar stays one line, and the line still
|
|
87141
|
+
* being written is shown as it stands. ANSI colors and weights are drawn, in
|
|
87142
|
+
* the sixteen colors the styled tier takes from your theme, and every other
|
|
87143
|
+
* escape code is dropped. Give `parse` a function to read each finished line,
|
|
87144
|
+
* such as a level off its prefix or a group off a marker.
|
|
87145
|
+
*
|
|
87146
|
+
* **Steps fold.** Lines that name a group in `groups` stand under its heading,
|
|
87147
|
+
* which shows its status and how long it took and opens and closes the lines.
|
|
87148
|
+
* A group a reader opens or closes fires `helix-expand` with every open group.
|
|
87149
|
+
*
|
|
87150
|
+
* **Search with `query`.** The log shows only the lines that hold it, marks
|
|
87151
|
+
* each match, opens the groups that hold one, and says how many lines match.
|
|
87152
|
+
*
|
|
87153
|
+
* `line-numbers` numbers the lines from the first ever written, so a number
|
|
87154
|
+
* still names its line once `limit` has let older lines go, and `line-href`
|
|
87155
|
+
* makes each number a link, such as `#L{n}`. `scrollToLine(n)` takes a reader
|
|
87156
|
+
* to one. `timestamps` shows each line's `at`, on the clock or as the time
|
|
87157
|
+
* into the run. `mark-lines` marks lines, such as `12, 40-44`.
|
|
87158
|
+
*
|
|
87159
|
+
* **What a screen reader hears.** The log is a `log` and stays quiet as lines
|
|
87160
|
+
* arrive, since reading a build aloud line by line helps nobody. A separate
|
|
87161
|
+
* status region says each line at `error` once it arrives, each step once it
|
|
87162
|
+
* finishes or fails, and the end of the run once `done` is set or `source`
|
|
87163
|
+
* ends. Set `done` yourself when output you `write` is complete.
|
|
87164
|
+
*
|
|
87165
|
+
* The log scrolls on this tier. It carries `data-scroller`, so following the
|
|
87166
|
+
* newest line and drawing a window work with no stylesheet. Give the log a
|
|
87167
|
+
* block size, such as `helix-headless-log::part(log) { block-size: 20rem }`.
|
|
87168
|
+
*
|
|
87169
|
+
* ```js
|
|
87170
|
+
* import '@fusion.dev/helix/log'
|
|
87171
|
+
* ```
|
|
87172
|
+
*
|
|
87173
|
+
* ## Attributes & Properties
|
|
87174
|
+
*
|
|
87175
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
87176
|
+
*
|
|
87177
|
+
* - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
|
|
87178
|
+
* `default-pinned="false"` opens it where it starts.
|
|
87179
|
+
* - `done`: Whether the run is over, which a screen reader is told once.
|
|
87180
|
+
*
|
|
87181
|
+
* Set it when output you `write` is complete. A `source` sets it when the
|
|
87182
|
+
* stream ends.
|
|
87183
|
+
* - `done-label`/`doneLabel`: What a screen reader hears when the run is over.
|
|
87184
|
+
* - `dropped-label`/`droppedLabel`: What the line above the log says once `limit` has let lines go. `{count}` is how many.
|
|
87185
|
+
* - `empty-text`/`emptyText`: The text shown and announced when the log has no lines.
|
|
87186
|
+
* - `error-label`/`errorLabel`: What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
87187
|
+
* many arrived together and `{text}` is the first of them.
|
|
87188
|
+
* - `fallback-label`/`fallbackLabel`: The log's name, read by screen readers, where `label` is empty.
|
|
87189
|
+
* - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
87190
|
+
* the step's heading and `{status}` is `done` or `failed`.
|
|
87191
|
+
* - `label`: The log's name, read by screen readers.
|
|
87192
|
+
* - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
|
|
87193
|
+
* let go, and the line above the log says how many.
|
|
87194
|
+
* - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
|
|
87195
|
+
* `#L{n}`. Empty leaves the numbers as text.
|
|
87196
|
+
* - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number, handed to each
|
|
87197
|
+
* line the log draws. `{number}` is the number.
|
|
87198
|
+
* - `line-numbers`/`lineNumbers`: Whether each line shows its number.
|
|
87199
|
+
* - `mark-lines`/`markLines`: Lines to mark, as numbers and ranges such as `12, 40-44`.
|
|
87200
|
+
* - `matches-label`/`matchesLabel`: What a screen reader hears when `query` changes. `{count}` is how many lines match.
|
|
87201
|
+
* - `pinned`: Whether the log follows its newest line.
|
|
87202
|
+
*
|
|
87203
|
+
* The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
|
|
87204
|
+
* consumer refusing it takes the decision and assigns their own value. Not
|
|
87205
|
+
* reflected, for the reason `Chat` gives at its own `pinned`: a default of
|
|
87206
|
+
* true would write the attribute on upgrade.
|
|
87207
|
+
* - `query`: Text a line has to hold to be shown, ignoring case. Empty shows every line.
|
|
87208
|
+
* - `resume-label`/`resumeLabel`: The words on the button that returns to the newest line, where `resume` is empty.
|
|
87209
|
+
* - `threshold`: How near the newest line still counts as being at it, in pixels.
|
|
87210
|
+
* - `timestamps`: How each line shows its `at`: `absolute` on the clock, `relative` as the
|
|
87211
|
+
* time since the first line. Absent shows no time.
|
|
87212
|
+
* - `wrap`: Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways.
|
|
87213
|
+
* - `loading`: Whether the rows are still loading.
|
|
87214
|
+
*
|
|
87215
|
+
* Reflected, because a stylesheet needs it: the rows that are already there
|
|
87216
|
+
* are dimmed rather than removed while a new set arrives, and only CSS can
|
|
87217
|
+
* say that without the component knowing what a row looks like.
|
|
87218
|
+
* - `loading-text`/`loadingText`: The text shown and announced while the rows load.
|
|
87219
|
+
* - `groups`: The steps the lines from data name in `group`. A step stands where its
|
|
87220
|
+
* first line is, and one with no line yet stands at the end.
|
|
87221
|
+
*
|
|
87222
|
+
* Replaced rather than mutated, as `lines` is: a step finishing is a new
|
|
87223
|
+
* array with its `status` changed. (property only)
|
|
87224
|
+
* - `lines`: The lines as data. Reading it gives every line kept, oldest first, with
|
|
87225
|
+
* the line still being written left out.
|
|
87226
|
+
*
|
|
87227
|
+
* Replaced rather than mutated: setting it starts the log over with these
|
|
87228
|
+
* lines, and `write` adds to them. Set it or write children, not both. (property only)
|
|
87229
|
+
* - `parse`: Reads each finished line of written text: return the fields to set, such
|
|
87230
|
+
* as `level` or `group`, or `null` to drop the line. Lines in `lines` are
|
|
87231
|
+
* taken as they are. (property only)
|
|
87232
|
+
* - `source`: Text to read as it arrives, to the end: a `ReadableStream` of text or
|
|
87233
|
+
* bytes, such as a `fetch` response's body, or an async iterable. Bytes are
|
|
87234
|
+
* read as UTF-8. The log sets `done` when it ends, and a new source stops
|
|
87235
|
+
* reading the last one. (property only)
|
|
87236
|
+
* - `text`: Every line kept, as plain text with the escape codes taken out, one to a
|
|
87237
|
+
* row: what a download or a copy of the log should hold. (property only) (readonly)
|
|
87238
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
87239
|
+
*
|
|
87240
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
87241
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
87242
|
+
* base class takes the name every subclass then cannot use.
|
|
87243
|
+
*
|
|
87244
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
87245
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
87246
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
87247
|
+
* instead.
|
|
87248
|
+
*
|
|
87249
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
87250
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
87251
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
87252
|
+
*
|
|
87253
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
87254
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
87255
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
87256
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
87257
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
87258
|
+
*
|
|
87259
|
+
* ## Events
|
|
87260
|
+
*
|
|
87261
|
+
* Events that will be emitted by the component.
|
|
87262
|
+
*
|
|
87263
|
+
* - `helix-before-pin`: Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable.
|
|
87264
|
+
* - `helix-expand`: Fired after a reader opens or closes a group drawn from `groups`, with the `id` of every open group in `detail.value`, separated by commas.
|
|
87265
|
+
* - `helix-pin`: Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`.
|
|
87266
|
+
*
|
|
87267
|
+
* ## Slots
|
|
87268
|
+
*
|
|
87269
|
+
* Areas where markup can be added to the component.
|
|
87270
|
+
*
|
|
87271
|
+
* - `(default)`: The lines, as `Log.Line` and `Log.Group` elements.
|
|
87272
|
+
* - `resume`: The control that returns to the newest line, shown while the reader is scrolled away. Defaults to a button named by `resume-label`.
|
|
87273
|
+
* - `toolbar`: Controls above the log, such as a search field or a button that wraps lines.
|
|
87274
|
+
*
|
|
87275
|
+
* ## Methods
|
|
87276
|
+
*
|
|
87277
|
+
* Methods that can be called to access component functionality.
|
|
87278
|
+
*
|
|
87279
|
+
* - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
|
|
87280
|
+
* after the last one is the line still being written.
|
|
87281
|
+
* - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
|
|
87282
|
+
* `groups`, `parse`, and `limit`.
|
|
87283
|
+
* - `resume() => void`: Puts the log back at its newest line, and follows it again.
|
|
87284
|
+
* - `scrollToLine(number: number, options: LogScrollOptions = {}) => Promise<boolean>`: Scrolls to line `number`, counted from the first line ever written, and
|
|
87285
|
+
* stops following the newest. Opens a shut group the line is in. Resolves
|
|
87286
|
+
* to whether the line is shown: false for a line `limit` let go or `query`
|
|
87287
|
+
* hides.
|
|
87288
|
+
*
|
|
87289
|
+
* ## CSS Custom Properties
|
|
87290
|
+
*
|
|
87291
|
+
* CSS variables available for styling the component.
|
|
87292
|
+
*
|
|
87293
|
+
* - `--log-ansi-background`: The background a run takes where ANSI swaps the colors and named none. Defaults to the log's own background on the styled tier.
|
|
87294
|
+
* - `--log-ansi-black`: The ANSI color black, which codes `30` and `40` draw.
|
|
87295
|
+
* - `--log-ansi-blue`: The ANSI color blue, which codes `34` and `44` draw.
|
|
87296
|
+
* - `--log-ansi-bright-black`: The ANSI color bright black, which codes `90` and `100` draw.
|
|
87297
|
+
* - `--log-ansi-bright-blue`: The ANSI color bright blue, which codes `94` and `104` draw.
|
|
87298
|
+
* - `--log-ansi-bright-cyan`: The ANSI color bright cyan, which codes `96` and `106` draw.
|
|
87299
|
+
* - `--log-ansi-bright-green`: The ANSI color bright green, which codes `92` and `102` draw.
|
|
87300
|
+
* - `--log-ansi-bright-magenta`: The ANSI color bright magenta, which codes `95` and `105` draw.
|
|
87301
|
+
* - `--log-ansi-bright-red`: The ANSI color bright red, which codes `91` and `101` draw.
|
|
87302
|
+
* - `--log-ansi-bright-white`: The ANSI color bright white, which codes `97` and `107` draw.
|
|
87303
|
+
* - `--log-ansi-bright-yellow`: The ANSI color bright yellow, which codes `93` and `103` draw.
|
|
87304
|
+
* - `--log-ansi-cyan`: The ANSI color cyan, which codes `36` and `46` draw.
|
|
87305
|
+
* - `--log-ansi-foreground`: The text color a run takes where ANSI swaps the colors and named none. Defaults to the log's own text color on the styled tier.
|
|
87306
|
+
* - `--log-ansi-green`: The ANSI color green, which codes `32` and `42` draw.
|
|
87307
|
+
* - `--log-ansi-magenta`: The ANSI color magenta, which codes `35` and `45` draw.
|
|
87308
|
+
* - `--log-ansi-red`: The ANSI color red, which codes `31` and `41` draw.
|
|
87309
|
+
* - `--log-ansi-white`: The ANSI color white, which codes `37` and `47` draw.
|
|
87310
|
+
* - `--log-ansi-yellow`: The ANSI color yellow, which codes `33` and `43` draw.
|
|
87311
|
+
* - `--log-digits`: Written on the `log`: how many digits the largest line number has, while `line-numbers` is set, so a stylesheet can size the column of numbers.
|
|
87312
|
+
*
|
|
87313
|
+
* ## CSS Parts
|
|
87314
|
+
*
|
|
87315
|
+
* Custom selectors for styling elements within the component.
|
|
87316
|
+
*
|
|
87317
|
+
* - `after`: The space the rows below the drawn ones would take. Only for lines drawn from data.
|
|
87318
|
+
* - `before`: The space the rows above the drawn ones would take. Only for lines drawn from data.
|
|
87319
|
+
* - `dropped`: The line above the log that says how many earlier lines `limit` let go.
|
|
87320
|
+
* - `empty`: Shown when the log has no lines.
|
|
87321
|
+
* - `group-content`: Not drawn: a group drawn from data stands for its heading, and its lines are rows beside it.
|
|
87322
|
+
* - `group-duration`: How long a step drawn from `groups` took.
|
|
87323
|
+
* - `group-heading`: The heading of a step drawn from `groups`.
|
|
87324
|
+
* - `group-mark`: The caret of a step drawn from `groups`.
|
|
87325
|
+
* - `group-status`: The status mark of a step drawn from `groups`.
|
|
87326
|
+
* - `group-summary`: The button that opens and closes a step drawn from `groups`.
|
|
87327
|
+
* - `group-summary-done`: The button of a step drawn from `groups` that is `done`.
|
|
87328
|
+
* - `group-summary-failed`: The button of a step drawn from `groups` that `failed`.
|
|
87329
|
+
* - `group-summary-pending`: The button of a step drawn from `groups` that is `pending`.
|
|
87330
|
+
* - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
|
|
87331
|
+
* - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
|
|
87332
|
+
* - `line`: The row of a line drawn from data.
|
|
87333
|
+
* - `line-debug`: The row of a line drawn from data at `debug`.
|
|
87334
|
+
* - `line-error`: The row of a line drawn from data at `error`.
|
|
87335
|
+
* - `line-marked`: The row of a line drawn from data that `mark-lines` names.
|
|
87336
|
+
* - `line-match`: Text in a line drawn from data that matches `query`.
|
|
87337
|
+
* - `line-number`: The number of a line drawn from data.
|
|
87338
|
+
* - `line-run`: A stretch of a line drawn from data in an ANSI style.
|
|
87339
|
+
* - `line-run-bold`: A run drawn bold.
|
|
87340
|
+
* - `line-run-dim`: A run drawn faint.
|
|
87341
|
+
* - `line-run-italic`: A run drawn italic.
|
|
87342
|
+
* - `line-run-strike`: A run drawn struck through.
|
|
87343
|
+
* - `line-run-underline`: A run drawn underlined.
|
|
87344
|
+
* - `line-text`: The text of a line drawn from data.
|
|
87345
|
+
* - `line-time`: The time of a line drawn from data.
|
|
87346
|
+
* - `line-warn`: The row of a line drawn from data at `warn`.
|
|
87347
|
+
* - `live`: The region where screen readers hear errors, finished steps, and the end of the run.
|
|
87348
|
+
* - `loading`: Shown while `loading` is set.
|
|
87349
|
+
* - `log`: The lines, which scroll. On this tier, it needs only a block size.
|
|
87350
|
+
* - `resume`: The control shown while the reader is scrolled away from the newest line.
|
|
87351
|
+
* - `resume-button`: The button the `resume` region shows when nothing is slotted into it.
|
|
87352
|
+
* - `resume-mark`: The arrow on the default `resume-button`.
|
|
87353
|
+
* - `row`: The wrapper around one row drawn from data, a line or a group's heading.
|
|
87354
|
+
* - `toolbar`: The `toolbar` slot, above the log.
|
|
87355
|
+
*
|
|
87356
|
+
* ## CSS States
|
|
87357
|
+
*
|
|
87358
|
+
* These can be used to apply styling when a component is in a given state.
|
|
87359
|
+
*
|
|
87360
|
+
* - `done`: The run is over: `done` is set, or `source` ended.
|
|
87361
|
+
* - `empty`: The log has no lines.
|
|
87362
|
+
* - `filtered`: `query` is set, so only matching lines are shown.
|
|
87363
|
+
* - `pinned`: The log follows its newest line.
|
|
87364
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
87365
|
+
*/
|
|
87366
|
+
"helix-headless-log": Partial<
|
|
87367
|
+
HelixHeadlessLogProps &
|
|
87368
|
+
HelixHeadlessLogSolidJsProps &
|
|
87369
|
+
BaseProps<HelixHeadlessLog> &
|
|
87370
|
+
BaseEvents<HelixHeadlessLog>
|
|
87371
|
+
>;
|
|
87372
|
+
|
|
86082
87373
|
/**
|
|
86083
87374
|
* `connectMap` fills the shape as a layer of the map, under its place names.
|
|
86084
87375
|
* The frame lists each area by its `label` and `description` for screen
|
|
@@ -103255,6 +104546,48 @@ export type CustomCssProperties = {
|
|
|
103255
104546
|
"--list-first"?: (string) | undefined;
|
|
103256
104547
|
/** What each row adds to the number before it: `1`, or `-1` where `reversed`. */
|
|
103257
104548
|
"--list-step"?: (string) | undefined;
|
|
104549
|
+
/** Written on a `run` with a background, in the same form as `--log-run-color`. */
|
|
104550
|
+
"--log-run-background-color"?: (string) | undefined;
|
|
104551
|
+
/** Written on a `run` with a text color: one of the sixteen `--log-ansi-*` colors the log publishes, or the color itself. */
|
|
104552
|
+
"--log-run-color"?: (string) | undefined;
|
|
104553
|
+
/** The background a run takes where ANSI swaps the colors and named none. Defaults to the log's own background on the styled tier. */
|
|
104554
|
+
"--log-ansi-background"?: (string) | undefined;
|
|
104555
|
+
/** The ANSI color black, which codes `30` and `40` draw. */
|
|
104556
|
+
"--log-ansi-black"?: (string) | undefined;
|
|
104557
|
+
/** The ANSI color blue, which codes `34` and `44` draw. */
|
|
104558
|
+
"--log-ansi-blue"?: (string) | undefined;
|
|
104559
|
+
/** The ANSI color bright black, which codes `90` and `100` draw. */
|
|
104560
|
+
"--log-ansi-bright-black"?: (string) | undefined;
|
|
104561
|
+
/** The ANSI color bright blue, which codes `94` and `104` draw. */
|
|
104562
|
+
"--log-ansi-bright-blue"?: (string) | undefined;
|
|
104563
|
+
/** The ANSI color bright cyan, which codes `96` and `106` draw. */
|
|
104564
|
+
"--log-ansi-bright-cyan"?: (string) | undefined;
|
|
104565
|
+
/** The ANSI color bright green, which codes `92` and `102` draw. */
|
|
104566
|
+
"--log-ansi-bright-green"?: (string) | undefined;
|
|
104567
|
+
/** The ANSI color bright magenta, which codes `95` and `105` draw. */
|
|
104568
|
+
"--log-ansi-bright-magenta"?: (string) | undefined;
|
|
104569
|
+
/** The ANSI color bright red, which codes `91` and `101` draw. */
|
|
104570
|
+
"--log-ansi-bright-red"?: (string) | undefined;
|
|
104571
|
+
/** The ANSI color bright white, which codes `97` and `107` draw. */
|
|
104572
|
+
"--log-ansi-bright-white"?: (string) | undefined;
|
|
104573
|
+
/** The ANSI color bright yellow, which codes `93` and `103` draw. */
|
|
104574
|
+
"--log-ansi-bright-yellow"?: (string) | undefined;
|
|
104575
|
+
/** The ANSI color cyan, which codes `36` and `46` draw. */
|
|
104576
|
+
"--log-ansi-cyan"?: (string) | undefined;
|
|
104577
|
+
/** The text color a run takes where ANSI swaps the colors and named none. Defaults to the log's own text color on the styled tier. */
|
|
104578
|
+
"--log-ansi-foreground"?: (string) | undefined;
|
|
104579
|
+
/** The ANSI color green, which codes `32` and `42` draw. */
|
|
104580
|
+
"--log-ansi-green"?: (string) | undefined;
|
|
104581
|
+
/** The ANSI color magenta, which codes `35` and `45` draw. */
|
|
104582
|
+
"--log-ansi-magenta"?: (string) | undefined;
|
|
104583
|
+
/** The ANSI color red, which codes `31` and `41` draw. */
|
|
104584
|
+
"--log-ansi-red"?: (string) | undefined;
|
|
104585
|
+
/** The ANSI color white, which codes `37` and `47` draw. */
|
|
104586
|
+
"--log-ansi-white"?: (string) | undefined;
|
|
104587
|
+
/** The ANSI color yellow, which codes `33` and `43` draw. */
|
|
104588
|
+
"--log-ansi-yellow"?: (string) | undefined;
|
|
104589
|
+
/** Written on the `log`: how many digits the largest line number has, while `line-numbers` is set, so a stylesheet can size the column of numbers. */
|
|
104590
|
+
"--log-digits"?: (string) | undefined;
|
|
103258
104591
|
/** How far the needle turns to point north, as an angle. The frame writes it from `bearing`. */
|
|
103259
104592
|
"--map-needle-turn"?: (string) | undefined;
|
|
103260
104593
|
/** The height of the panel this one took over from, written on the surface while it is open. */
|