@fusion.dev/helix-headless 0.199.1 → 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/svelte.d.ts
CHANGED
|
@@ -95,6 +95,9 @@ declare module 'svelte/elements' {
|
|
|
95
95
|
'helix-headless-list': Helix<'helix-headless-list'>
|
|
96
96
|
'helix-headless-listbox': Helix<'helix-headless-listbox'>
|
|
97
97
|
'helix-headless-loader': Helix<'helix-headless-loader'>
|
|
98
|
+
'helix-headless-log-group': Helix<'helix-headless-log-group'>
|
|
99
|
+
'helix-headless-log-line': Helix<'helix-headless-log-line'>
|
|
100
|
+
'helix-headless-log': Helix<'helix-headless-log'>
|
|
98
101
|
'helix-headless-map-area': Helix<'helix-headless-map-area'>
|
|
99
102
|
'helix-headless-map-buildings': Helix<'helix-headless-map-buildings'>
|
|
100
103
|
'helix-headless-map-contours': Helix<'helix-headless-map-contours'>
|
package/types/vue.d.ts
CHANGED
|
@@ -83,6 +83,10 @@ import type {
|
|
|
83
83
|
HelixHeadlessList,
|
|
84
84
|
HelixHeadlessListbox,
|
|
85
85
|
HelixHeadlessLoader,
|
|
86
|
+
HelixHeadlessLogGroup,
|
|
87
|
+
timeOf,
|
|
88
|
+
HelixHeadlessLogLine,
|
|
89
|
+
HelixHeadlessLog,
|
|
86
90
|
HelixHeadlessMapArea,
|
|
87
91
|
HelixHeadlessMapBuildings,
|
|
88
92
|
HelixHeadlessMapContours,
|
|
@@ -10050,6 +10054,221 @@ progress. */
|
|
|
10050
10054
|
|
|
10051
10055
|
export type HelixHeadlessLoaderVueEvents = {};
|
|
10052
10056
|
|
|
10057
|
+
/** `HelixHeadlessLogGroup` component event */
|
|
10058
|
+
export type HelixHeadlessLogGroupElementEvent<E = Event> = TypedEvent<
|
|
10059
|
+
HelixHeadlessLogGroup,
|
|
10060
|
+
E
|
|
10061
|
+
>;
|
|
10062
|
+
/** `helix-before-close` event type */
|
|
10063
|
+
export type HelixHeadlessLogGroupHelixBeforeCloseElementEvent =
|
|
10064
|
+
HelixHeadlessLogGroupElementEvent<HelixBeforeCloseEvent>;
|
|
10065
|
+
/** `helix-before-open` event type */
|
|
10066
|
+
export type HelixHeadlessLogGroupHelixBeforeOpenElementEvent =
|
|
10067
|
+
HelixHeadlessLogGroupElementEvent<HelixBeforeOpenEvent>;
|
|
10068
|
+
/** `toggle` event type */
|
|
10069
|
+
export type HelixHeadlessLogGroupToggleElementEvent =
|
|
10070
|
+
HelixHeadlessLogGroupElementEvent<ToggleEvent>;
|
|
10071
|
+
|
|
10072
|
+
export type HelixHeadlessLogGroupVueProps = {
|
|
10073
|
+
/** How long the step took, as it should read, such as `12s`. */
|
|
10074
|
+
duration?: (HelixHeadlessLogGroup["duration"]) | undefined;
|
|
10075
|
+
/** What the step is called. The `heading` slot replaces it. */
|
|
10076
|
+
heading?: (HelixHeadlessLogGroup["heading"]) | undefined;
|
|
10077
|
+
/** Where the step stands, which draws a mark before the heading. */
|
|
10078
|
+
status?: (HelixHeadlessLogGroup["status"]) | undefined;
|
|
10079
|
+
/** What a screen reader hears for the status, after the heading.
|
|
10080
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
10081
|
+
"status-label"?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
10082
|
+
/** What a screen reader hears for the status, after the heading.
|
|
10083
|
+
`{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
|
|
10084
|
+
statusLabel?: (HelixHeadlessLogGroup["statusLabel"]) | undefined;
|
|
10085
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
10086
|
+
"default-open"?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
10087
|
+
/** Whether the element starts open. Ignored once `open` is written. */
|
|
10088
|
+
defaultOpen?: (HelixHeadlessLogGroup["defaultOpen"]) | undefined;
|
|
10089
|
+
/** Whether the element is open.
|
|
10090
|
+
|
|
10091
|
+
One property, not two, so `dialog.open` answers the question anyone
|
|
10092
|
+
asking it meant. Writing always applies; `<helix-dialog open>` is the
|
|
10093
|
+
same statement in markup.
|
|
10094
|
+
|
|
10095
|
+
**Not reflected, and that is required rather than tidy.** Reflection
|
|
10096
|
+
writes the resolved state back as an attribute, so an element that opened
|
|
10097
|
+
itself would put `open` on its own host: cloned, serialized for
|
|
10098
|
+
hydration, or diffed by a framework, it comes back holding whatever the
|
|
10099
|
+
last reader did rather than what the author wrote. `:state(open)` carries
|
|
10100
|
+
the resolved state for stylesheets, which is what the mirror is for. */
|
|
10101
|
+
open?: (HelixHeadlessLogGroup["open"]) | undefined;
|
|
10102
|
+
};
|
|
10103
|
+
|
|
10104
|
+
export type HelixHeadlessLogGroupVueEvents = {
|
|
10105
|
+
/** Fired before the group closes. Cancelable. */
|
|
10106
|
+
"helix-before-close": HelixHeadlessLogGroupHelixBeforeCloseElementEvent;
|
|
10107
|
+
/** Fired before the group opens. Cancelable. */
|
|
10108
|
+
"helix-before-open": HelixHeadlessLogGroupHelixBeforeOpenElementEvent;
|
|
10109
|
+
/** Fired after the group opens or closes, with `newState` and `oldState`. */
|
|
10110
|
+
toggle: HelixHeadlessLogGroupToggleElementEvent;
|
|
10111
|
+
};
|
|
10112
|
+
|
|
10113
|
+
export type HelixHeadlessLogLineVueProps = {
|
|
10114
|
+
/** When the line was written: milliseconds since the epoch, or anything `Date` parses. */
|
|
10115
|
+
at?: (HelixHeadlessLogLine["at"]) | undefined;
|
|
10116
|
+
/** How much the line matters. Absent is `info`. */
|
|
10117
|
+
level?: (HelixHeadlessLogLine["level"]) | undefined;
|
|
10118
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
10119
|
+
"line-label"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
10120
|
+
/** What a screen reader hears for the link on a line's number. `{number}` is the number. */
|
|
10121
|
+
lineLabel?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
|
|
10122
|
+
};
|
|
10123
|
+
|
|
10124
|
+
export type HelixHeadlessLogLineVueEvents = {};
|
|
10125
|
+
|
|
10126
|
+
/** `HelixHeadlessLog` component event */
|
|
10127
|
+
export type HelixHeadlessLogElementEvent<E = Event> = TypedEvent<
|
|
10128
|
+
HelixHeadlessLog,
|
|
10129
|
+
E
|
|
10130
|
+
>;
|
|
10131
|
+
/** `helix-before-pin` event type */
|
|
10132
|
+
export type HelixHeadlessLogHelixBeforePinElementEvent =
|
|
10133
|
+
HelixHeadlessLogElementEvent<HelixBeforePinEvent>;
|
|
10134
|
+
/** `helix-expand` event type */
|
|
10135
|
+
export type HelixHeadlessLogHelixExpandElementEvent =
|
|
10136
|
+
HelixHeadlessLogElementEvent<HelixExpandEvent>;
|
|
10137
|
+
/** `helix-pin` event type */
|
|
10138
|
+
export type HelixHeadlessLogHelixPinElementEvent =
|
|
10139
|
+
HelixHeadlessLogElementEvent<HelixPinEvent>;
|
|
10140
|
+
|
|
10141
|
+
export type HelixHeadlessLogVueProps = {
|
|
10142
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
10143
|
+
`default-pinned="false"` opens it where it starts. */
|
|
10144
|
+
"default-pinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
10145
|
+
/** Whether the log opens following its newest line, when `pinned` is not set.
|
|
10146
|
+
`default-pinned="false"` opens it where it starts. */
|
|
10147
|
+
defaultPinned?: (HelixHeadlessLog["defaultPinned"]) | undefined;
|
|
10148
|
+
/** Whether the run is over, which a screen reader is told once.
|
|
10149
|
+
|
|
10150
|
+
Set it when output you `write` is complete. A `source` sets it when the
|
|
10151
|
+
stream ends. */
|
|
10152
|
+
done?: (HelixHeadlessLog["done"]) | undefined;
|
|
10153
|
+
/** What a screen reader hears when the run is over. */
|
|
10154
|
+
"done-label"?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
10155
|
+
/** What a screen reader hears when the run is over. */
|
|
10156
|
+
doneLabel?: (HelixHeadlessLog["doneLabel"]) | undefined;
|
|
10157
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
10158
|
+
"dropped-label"?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
10159
|
+
/** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
|
|
10160
|
+
droppedLabel?: (HelixHeadlessLog["droppedLabel"]) | undefined;
|
|
10161
|
+
/** The text shown and announced when the log has no lines. */
|
|
10162
|
+
"empty-text"?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
10163
|
+
/** The text shown and announced when the log has no lines. */
|
|
10164
|
+
emptyText?: (HelixHeadlessLog["emptyText"]) | undefined;
|
|
10165
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
10166
|
+
many arrived together and `{text}` is the first of them. */
|
|
10167
|
+
"error-label"?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
10168
|
+
/** What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
10169
|
+
many arrived together and `{text}` is the first of them. */
|
|
10170
|
+
errorLabel?: (HelixHeadlessLog["errorLabel"]) | undefined;
|
|
10171
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
10172
|
+
"fallback-label"?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
10173
|
+
/** The log's name, read by screen readers, where `label` is empty. */
|
|
10174
|
+
fallbackLabel?: (HelixHeadlessLog["fallbackLabel"]) | undefined;
|
|
10175
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
10176
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
10177
|
+
"group-label"?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
10178
|
+
/** What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
10179
|
+
the step's heading and `{status}` is `done` or `failed`. */
|
|
10180
|
+
groupLabel?: (HelixHeadlessLog["groupLabel"]) | undefined;
|
|
10181
|
+
/** The log's name, read by screen readers. */
|
|
10182
|
+
label?: (HelixHeadlessLog["label"]) | undefined;
|
|
10183
|
+
/** The most lines kept, or 0 to keep them all. Past it the oldest lines are
|
|
10184
|
+
let go, and the line above the log says how many. */
|
|
10185
|
+
limit?: (HelixHeadlessLog["limit"]) | undefined;
|
|
10186
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
10187
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
10188
|
+
"line-href"?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
10189
|
+
/** A link for each line number, with `{n}` where the number goes, such as
|
|
10190
|
+
`#L{n}`. Empty leaves the numbers as text. */
|
|
10191
|
+
lineHref?: (HelixHeadlessLog["lineHref"]) | undefined;
|
|
10192
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
10193
|
+
line the log draws. `{number}` is the number. */
|
|
10194
|
+
"line-label"?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
10195
|
+
/** What a screen reader hears for the link on a line's number, handed to each
|
|
10196
|
+
line the log draws. `{number}` is the number. */
|
|
10197
|
+
lineLabel?: (HelixHeadlessLog["lineLabel"]) | undefined;
|
|
10198
|
+
/** Whether each line shows its number. */
|
|
10199
|
+
"line-numbers"?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
10200
|
+
/** Whether each line shows its number. */
|
|
10201
|
+
lineNumbers?: (HelixHeadlessLog["lineNumbers"]) | undefined;
|
|
10202
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
10203
|
+
"mark-lines"?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
10204
|
+
/** Lines to mark, as numbers and ranges such as `12, 40-44`. */
|
|
10205
|
+
markLines?: (HelixHeadlessLog["markLines"]) | undefined;
|
|
10206
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
10207
|
+
"matches-label"?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
10208
|
+
/** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
|
|
10209
|
+
matchesLabel?: (HelixHeadlessLog["matchesLabel"]) | undefined;
|
|
10210
|
+
/** Whether the log follows its newest line.
|
|
10211
|
+
|
|
10212
|
+
The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
|
|
10213
|
+
consumer refusing it takes the decision and assigns their own value. Not
|
|
10214
|
+
reflected, for the reason `Chat` gives at its own `pinned`: a default of
|
|
10215
|
+
true would write the attribute on upgrade. */
|
|
10216
|
+
pinned?: (HelixHeadlessLog["pinned"]) | undefined;
|
|
10217
|
+
/** Text a line has to hold to be shown, ignoring case. Empty shows every line. */
|
|
10218
|
+
query?: (HelixHeadlessLog["query"]) | undefined;
|
|
10219
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
10220
|
+
"resume-label"?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
10221
|
+
/** The words on the button that returns to the newest line, where `resume` is empty. */
|
|
10222
|
+
resumeLabel?: (HelixHeadlessLog["resumeLabel"]) | undefined;
|
|
10223
|
+
/** How near the newest line still counts as being at it, in pixels. */
|
|
10224
|
+
threshold?: (HelixHeadlessLog["threshold"]) | undefined;
|
|
10225
|
+
/** How each line shows its `at`: `absolute` on the clock, `relative` as the
|
|
10226
|
+
time since the first line. Absent shows no time. */
|
|
10227
|
+
timestamps?: (HelixHeadlessLog["timestamps"]) | undefined;
|
|
10228
|
+
/** Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways. */
|
|
10229
|
+
wrap?: (HelixHeadlessLog["wrap"]) | undefined;
|
|
10230
|
+
/** Whether the rows are still loading.
|
|
10231
|
+
|
|
10232
|
+
Reflected, because a stylesheet needs it: the rows that are already there
|
|
10233
|
+
are dimmed rather than removed while a new set arrives, and only CSS can
|
|
10234
|
+
say that without the component knowing what a row looks like. */
|
|
10235
|
+
loading?: (HelixHeadlessLog["loading"]) | undefined;
|
|
10236
|
+
/** The text shown and announced while the rows load. */
|
|
10237
|
+
"loading-text"?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
10238
|
+
/** The text shown and announced while the rows load. */
|
|
10239
|
+
loadingText?: (HelixHeadlessLog["loadingText"]) | undefined;
|
|
10240
|
+
/** The steps the lines from data name in `group`. A step stands where its
|
|
10241
|
+
first line is, and one with no line yet stands at the end.
|
|
10242
|
+
|
|
10243
|
+
Replaced rather than mutated, as `lines` is: a step finishing is a new
|
|
10244
|
+
array with its `status` changed. */
|
|
10245
|
+
groups?: (HelixHeadlessLog["groups"]) | undefined;
|
|
10246
|
+
/** The lines as data. Reading it gives every line kept, oldest first, with
|
|
10247
|
+
the line still being written left out.
|
|
10248
|
+
|
|
10249
|
+
Replaced rather than mutated: setting it starts the log over with these
|
|
10250
|
+
lines, and `write` adds to them. Set it or write children, not both. */
|
|
10251
|
+
lines?: (HelixHeadlessLog["lines"]) | undefined;
|
|
10252
|
+
/** Reads each finished line of written text: return the fields to set, such
|
|
10253
|
+
as `level` or `group`, or `null` to drop the line. Lines in `lines` are
|
|
10254
|
+
taken as they are. */
|
|
10255
|
+
parse?: (HelixHeadlessLog["parse"]) | undefined;
|
|
10256
|
+
/** Text to read as it arrives, to the end: a `ReadableStream` of text or
|
|
10257
|
+
bytes, such as a `fetch` response's body, or an async iterable. Bytes are
|
|
10258
|
+
read as UTF-8. The log sets `done` when it ends, and a new source stops
|
|
10259
|
+
reading the last one. */
|
|
10260
|
+
source?: (HelixHeadlessLog["source"]) | undefined;
|
|
10261
|
+
};
|
|
10262
|
+
|
|
10263
|
+
export type HelixHeadlessLogVueEvents = {
|
|
10264
|
+
/** Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable. */
|
|
10265
|
+
"helix-before-pin": HelixHeadlessLogHelixBeforePinElementEvent;
|
|
10266
|
+
/** 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. */
|
|
10267
|
+
"helix-expand": HelixHeadlessLogHelixExpandElementEvent;
|
|
10268
|
+
/** Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`. */
|
|
10269
|
+
"helix-pin": HelixHeadlessLogHelixPinElementEvent;
|
|
10270
|
+
};
|
|
10271
|
+
|
|
10053
10272
|
/** `HelixHeadlessMapArea` component event */
|
|
10054
10273
|
export type HelixHeadlessMapAreaElementEvent<E = Event> = TypedEvent<
|
|
10055
10274
|
HelixHeadlessMapArea,
|
|
@@ -20229,6 +20448,48 @@ export type CustomCssProperties = {
|
|
|
20229
20448
|
"--list-first"?: (string) | undefined;
|
|
20230
20449
|
/** What each row adds to the number before it: `1`, or `-1` where `reversed`. */
|
|
20231
20450
|
"--list-step"?: (string) | undefined;
|
|
20451
|
+
/** Written on a `run` with a background, in the same form as `--log-run-color`. */
|
|
20452
|
+
"--log-run-background-color"?: (string) | undefined;
|
|
20453
|
+
/** Written on a `run` with a text color: one of the sixteen `--log-ansi-*` colors the log publishes, or the color itself. */
|
|
20454
|
+
"--log-run-color"?: (string) | undefined;
|
|
20455
|
+
/** The background a run takes where ANSI swaps the colors and named none. Defaults to the log's own background on the styled tier. */
|
|
20456
|
+
"--log-ansi-background"?: (string) | undefined;
|
|
20457
|
+
/** The ANSI color black, which codes `30` and `40` draw. */
|
|
20458
|
+
"--log-ansi-black"?: (string) | undefined;
|
|
20459
|
+
/** The ANSI color blue, which codes `34` and `44` draw. */
|
|
20460
|
+
"--log-ansi-blue"?: (string) | undefined;
|
|
20461
|
+
/** The ANSI color bright black, which codes `90` and `100` draw. */
|
|
20462
|
+
"--log-ansi-bright-black"?: (string) | undefined;
|
|
20463
|
+
/** The ANSI color bright blue, which codes `94` and `104` draw. */
|
|
20464
|
+
"--log-ansi-bright-blue"?: (string) | undefined;
|
|
20465
|
+
/** The ANSI color bright cyan, which codes `96` and `106` draw. */
|
|
20466
|
+
"--log-ansi-bright-cyan"?: (string) | undefined;
|
|
20467
|
+
/** The ANSI color bright green, which codes `92` and `102` draw. */
|
|
20468
|
+
"--log-ansi-bright-green"?: (string) | undefined;
|
|
20469
|
+
/** The ANSI color bright magenta, which codes `95` and `105` draw. */
|
|
20470
|
+
"--log-ansi-bright-magenta"?: (string) | undefined;
|
|
20471
|
+
/** The ANSI color bright red, which codes `91` and `101` draw. */
|
|
20472
|
+
"--log-ansi-bright-red"?: (string) | undefined;
|
|
20473
|
+
/** The ANSI color bright white, which codes `97` and `107` draw. */
|
|
20474
|
+
"--log-ansi-bright-white"?: (string) | undefined;
|
|
20475
|
+
/** The ANSI color bright yellow, which codes `93` and `103` draw. */
|
|
20476
|
+
"--log-ansi-bright-yellow"?: (string) | undefined;
|
|
20477
|
+
/** The ANSI color cyan, which codes `36` and `46` draw. */
|
|
20478
|
+
"--log-ansi-cyan"?: (string) | undefined;
|
|
20479
|
+
/** 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. */
|
|
20480
|
+
"--log-ansi-foreground"?: (string) | undefined;
|
|
20481
|
+
/** The ANSI color green, which codes `32` and `42` draw. */
|
|
20482
|
+
"--log-ansi-green"?: (string) | undefined;
|
|
20483
|
+
/** The ANSI color magenta, which codes `35` and `45` draw. */
|
|
20484
|
+
"--log-ansi-magenta"?: (string) | undefined;
|
|
20485
|
+
/** The ANSI color red, which codes `31` and `41` draw. */
|
|
20486
|
+
"--log-ansi-red"?: (string) | undefined;
|
|
20487
|
+
/** The ANSI color white, which codes `37` and `47` draw. */
|
|
20488
|
+
"--log-ansi-white"?: (string) | undefined;
|
|
20489
|
+
/** The ANSI color yellow, which codes `33` and `43` draw. */
|
|
20490
|
+
"--log-ansi-yellow"?: (string) | undefined;
|
|
20491
|
+
/** 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. */
|
|
20492
|
+
"--log-digits"?: (string) | undefined;
|
|
20232
20493
|
/** How far the needle turns to point north, as an angle. The frame writes it from `bearing`. */
|
|
20233
20494
|
"--map-needle-turn"?: (string) | undefined;
|
|
20234
20495
|
/** The height of the panel this one took over from, written on the surface while it is open. */
|
|
@@ -20739,6 +21000,24 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
20739
21000
|
HelixHeadlessLoaderVueProps,
|
|
20740
21001
|
HelixHeadlessLoaderVueEvents
|
|
20741
21002
|
>;
|
|
21003
|
+
/** A group is a disclosure: its heading is a button that shows and hides the lines inside it, and says whether they are shown with 'aria-expanded'. Put 'Log.Line' elements inside it, and nest groups for steps within steps. 'status' draws a mark before the heading, and a screen reader hears the status after the heading ('status-label'). 'duration' stands at the end of the heading, as you write it, such as '12s'. A group starts shut. Write 'default-open' on the step a reader should see, such as the one that failed. */
|
|
21004
|
+
"helix-headless-log-group": DefineCustomElement<
|
|
21005
|
+
HelixHeadlessLogGroup,
|
|
21006
|
+
HelixHeadlessLogGroupVueProps,
|
|
21007
|
+
HelixHeadlessLogGroupVueEvents
|
|
21008
|
+
>;
|
|
21009
|
+
/** Write one for each line of a log you serve whole, inside a 'Log' or a 'Log.Group'. The log numbers each line, counting the lines of every group, and tells it whether to show its number and its time. 'level' says how much a line matters, and the styled tier draws 'warn' and 'error' lines apart. The text is the line's own content, so you can mark it up yourself. */
|
|
21010
|
+
"helix-headless-log-line": DefineCustomElement<
|
|
21011
|
+
HelixHeadlessLogLine,
|
|
21012
|
+
HelixHeadlessLogLineVueProps,
|
|
21013
|
+
HelixHeadlessLogLineVueEvents
|
|
21014
|
+
>;
|
|
21015
|
+
/** A log holds lines in the order they were written and keeps the reader at the newest one, until they scroll up to read. It stays where they left it while lines keep arriving, and a button returns them to the end ('resume-label', "Jump to latest"). **Lines arrive two ways.** For a log you serve whole, write 'Log.Line' elements as children, inside 'Log.Group' elements for the steps. For a log that is still being written, hand it text: 'write(chunk)' takes text as it arrives, in pieces that need not end at a line break, and 'source' takes a 'ReadableStream' or an async iterable and reads it to the end. 'lines' takes the lines as data. Text drawn from data is drawn one window at a time, so a log of a hundred thousand lines holds a screenful of elements, and the log needs a block size of its own. Do not use both ways at once. **Written text is read the way a terminal shows it.** A carriage return starts the line over, so a progress bar stays one line, and the line still being written is shown as it stands. ANSI colors and weights are drawn, in the sixteen colors the styled tier takes from your theme, and every other escape code is dropped. Give 'parse' a function to read each finished line, such as a level off its prefix or a group off a marker. **Steps fold.** Lines that name a group in 'groups' stand under its heading, which shows its status and how long it took and opens and closes the lines. A group a reader opens or closes fires 'helix-expand' with every open group. **Search with 'query'.** The log shows only the lines that hold it, marks each match, opens the groups that hold one, and says how many lines match. 'line-numbers' numbers the lines from the first ever written, so a number still names its line once 'limit' has let older lines go, and 'line-href' makes each number a link, such as '#L{n}'. 'scrollToLine(n)' takes a reader to one. 'timestamps' shows each line's 'at', on the clock or as the time into the run. 'mark-lines' marks lines, such as '12, 40-44'. **What a screen reader hears.** The log is a 'log' and stays quiet as lines arrive, since reading a build aloud line by line helps nobody. A separate status region says each line at 'error' once it arrives, each step once it finishes or fails, and the end of the run once 'done' is set or 'source' ends. Set 'done' yourself when output you 'write' is complete. The log scrolls on this tier. It carries 'data-scroller', so following the newest line and drawing a window work with no stylesheet. Give the log a block size, such as 'helix-headless-log::part(log) { block-size: 20rem }'. '''js import '@fusion.dev/helix/log' ''' */
|
|
21016
|
+
"helix-headless-log": DefineCustomElement<
|
|
21017
|
+
HelixHeadlessLog,
|
|
21018
|
+
HelixHeadlessLogVueProps,
|
|
21019
|
+
HelixHeadlessLogVueEvents
|
|
21020
|
+
>;
|
|
20742
21021
|
/** 'connectMap' fills the shape as a layer of the map, under its place names. The frame lists each area by its 'label' and 'description' for screen readers. Set 'caption' to draw words on the map with the area, such as a letter for a search sector, in a color that reads on the map. It is drawn rather than focusable, so it adds nothing to the tab order, and a screen reader reads the area's 'label' in the frame's list. */
|
|
20743
21022
|
"helix-headless-map-area": DefineCustomElement<
|
|
20744
21023
|
HelixHeadlessMapArea,
|
package/types/words.d.ts
CHANGED
|
@@ -2115,6 +2115,77 @@ declare module '@fusion.dev/helix-core' {
|
|
|
2115
2115
|
*/
|
|
2116
2116
|
label: Message
|
|
2117
2117
|
}
|
|
2118
|
+
'helix-log': {
|
|
2119
|
+
/**
|
|
2120
|
+
* What a screen reader hears when the run is over.
|
|
2121
|
+
*
|
|
2122
|
+
* English: `Finished`
|
|
2123
|
+
*/
|
|
2124
|
+
doneLabel: Message
|
|
2125
|
+
/**
|
|
2126
|
+
* What the line above the log says once `limit` has let lines go. `{count}` is how many.
|
|
2127
|
+
*
|
|
2128
|
+
* English: `{count, plural, one {# earlier line is} other {# earlier lines are}} not kept`
|
|
2129
|
+
*/
|
|
2130
|
+
droppedLabel: Message
|
|
2131
|
+
/**
|
|
2132
|
+
* The text shown and announced when the log has no lines.
|
|
2133
|
+
*
|
|
2134
|
+
* English: `No output yet`
|
|
2135
|
+
*/
|
|
2136
|
+
emptyText: Message
|
|
2137
|
+
/**
|
|
2138
|
+
* What a screen reader hears when lines at `error` arrive. `{count}` is how
|
|
2139
|
+
* many arrived together and `{text}` is the first of them.
|
|
2140
|
+
*
|
|
2141
|
+
* English: `{count, plural, one {Error} other {# errors}}: {text}`
|
|
2142
|
+
*/
|
|
2143
|
+
errorLabel: Message
|
|
2144
|
+
/**
|
|
2145
|
+
* The log's name, read by screen readers, where `label` is empty.
|
|
2146
|
+
*
|
|
2147
|
+
* English: `Log`
|
|
2148
|
+
*/
|
|
2149
|
+
fallbackLabel: Message
|
|
2150
|
+
/**
|
|
2151
|
+
* What a screen reader hears when a step finishes or fails. `{heading}` is
|
|
2152
|
+
* the step's heading and `{status}` is `done` or `failed`.
|
|
2153
|
+
*
|
|
2154
|
+
* English: `{status, select, failed {{heading} failed} other {{heading} finished}}`
|
|
2155
|
+
*/
|
|
2156
|
+
groupLabel: Message
|
|
2157
|
+
/**
|
|
2158
|
+
* What a screen reader hears for the link on a line's number. `{number}` is the number.
|
|
2159
|
+
*
|
|
2160
|
+
* English: `Line {number}`
|
|
2161
|
+
*/
|
|
2162
|
+
lineLabel: Message
|
|
2163
|
+
/**
|
|
2164
|
+
* The text shown and announced while the rows load.
|
|
2165
|
+
*
|
|
2166
|
+
* English: `Loading`
|
|
2167
|
+
*/
|
|
2168
|
+
loadingText: Message
|
|
2169
|
+
/**
|
|
2170
|
+
* What a screen reader hears when `query` changes. `{count}` is how many lines match.
|
|
2171
|
+
*
|
|
2172
|
+
* English: `{count, plural, =0 {No lines match} one {# line matches} other {# lines match}}`
|
|
2173
|
+
*/
|
|
2174
|
+
matchesLabel: Message
|
|
2175
|
+
/**
|
|
2176
|
+
* The words on the button that returns to the newest line, where `resume` is empty.
|
|
2177
|
+
*
|
|
2178
|
+
* English: `Jump to latest`
|
|
2179
|
+
*/
|
|
2180
|
+
resumeLabel: Message
|
|
2181
|
+
/**
|
|
2182
|
+
* What a screen reader hears for the status, after the heading.
|
|
2183
|
+
* `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`.
|
|
2184
|
+
*
|
|
2185
|
+
* English: `{status, select, pending {waiting} running {running} done {finished} failed {failed} skipped {skipped} other {}}`
|
|
2186
|
+
*/
|
|
2187
|
+
statusLabel: Message
|
|
2188
|
+
}
|
|
2118
2189
|
'helix-map': {
|
|
2119
2190
|
/**
|
|
2120
2191
|
* The hint shown when the map, waiting to be pressed with
|