@fusion.dev/helix-headless 0.212.1 → 0.213.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-headless",
3
3
  "description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
4
- "version": "0.212.1",
4
+ "version": "0.213.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -58,14 +58,14 @@
58
58
  },
59
59
  "bugs": "https://github.com/project-fusion/fusion/issues",
60
60
  "dependencies": {
61
- "@fusion.dev/helix-core": "0.212.1",
62
- "@fusion.dev/helix-icons": "0.212.1",
61
+ "@fusion.dev/helix-core": "0.213.0",
62
+ "@fusion.dev/helix-icons": "0.213.0",
63
63
  "tslib": "^2.8.1",
64
64
  "uqr": "^0.1.3"
65
65
  },
66
66
  "devDependencies": {
67
- "@fusion.dev/helix-cem": "0.212.1",
68
- "@fusion.dev/helix-testing": "0.212.1",
67
+ "@fusion.dev/helix-cem": "0.213.0",
68
+ "@fusion.dev/helix-testing": "0.213.0",
69
69
  "@fusion.dev/scripts": "0.0.0-dev",
70
70
  "@happy-dom/global-registrator": "^20.14.5",
71
71
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -20230,10 +20230,28 @@ export type HelixHeadlessLogLineProps = {
20230
20230
  at?: (HelixHeadlessLogLine["at"]) | undefined;
20231
20231
  /** How much the line matters. Absent is `info`. */
20232
20232
  level?: (HelixHeadlessLogLine["level"]) | undefined;
20233
+ /** What a screen reader hears before the text of a line at each level, for a
20234
+ page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
20235
+ A line at `info` or `log` hears nothing extra, and nor does a line whose
20236
+ text already starts with its words, such as `Error: Cannot find module`.
20237
+ As an attribute it is that object as JSON. */
20238
+ "level-words"?: (HelixHeadlessLogLine["levelWords"]) | undefined;
20239
+ /** What a screen reader hears before the text of a line at each level, for a
20240
+ page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
20241
+ A line at `info` or `log` hears nothing extra, and nor does a line whose
20242
+ text already starts with its words, such as `Error: Cannot find module`.
20243
+ As an attribute it is that object as JSON. */
20244
+ levelWords?: (HelixHeadlessLogLine["levelWords"]) | undefined;
20233
20245
  /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
20234
20246
  "line-label"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
20235
20247
  /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
20236
20248
  lineLabel?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
20249
+ /** What a screen reader hears after a line written more than once in a row.
20250
+ `{count}` is how many times, in the locale. */
20251
+ "times-label"?: (HelixHeadlessLogLine["timesLabel"]) | undefined;
20252
+ /** What a screen reader hears after a line written more than once in a row.
20253
+ `{count}` is how many times, in the locale. */
20254
+ timesLabel?: (HelixHeadlessLogLine["timesLabel"]) | undefined;
20237
20255
  };
20238
20256
 
20239
20257
  export type HelixHeadlessLogLineSolidJsProps = {
@@ -20241,10 +20259,28 @@ export type HelixHeadlessLogLineSolidJsProps = {
20241
20259
  "prop:at"?: (HelixHeadlessLogLine["at"]) | undefined;
20242
20260
  /** How much the line matters. Absent is `info`. */
20243
20261
  "prop:level"?: (HelixHeadlessLogLine["level"]) | undefined;
20262
+ /** What a screen reader hears before the text of a line at each level, for a
20263
+ page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
20264
+ A line at `info` or `log` hears nothing extra, and nor does a line whose
20265
+ text already starts with its words, such as `Error: Cannot find module`.
20266
+ As an attribute it is that object as JSON. */
20267
+ "attr:level-words"?: (HelixHeadlessLogLine["levelWords"]) | undefined;
20268
+ /** What a screen reader hears before the text of a line at each level, for a
20269
+ page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
20270
+ A line at `info` or `log` hears nothing extra, and nor does a line whose
20271
+ text already starts with its words, such as `Error: Cannot find module`.
20272
+ As an attribute it is that object as JSON. */
20273
+ "prop:levelWords"?: (HelixHeadlessLogLine["levelWords"]) | undefined;
20244
20274
  /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
20245
20275
  "attr:line-label"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
20246
20276
  /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
20247
20277
  "prop:lineLabel"?: (HelixHeadlessLogLine["lineLabel"]) | undefined;
20278
+ /** What a screen reader hears after a line written more than once in a row.
20279
+ `{count}` is how many times, in the locale. */
20280
+ "attr:times-label"?: (HelixHeadlessLogLine["timesLabel"]) | undefined;
20281
+ /** What a screen reader hears after a line written more than once in a row.
20282
+ `{count}` is how many times, in the locale. */
20283
+ "prop:timesLabel"?: (HelixHeadlessLogLine["timesLabel"]) | undefined;
20248
20284
 
20249
20285
  /** Set the innerHTML of the element */
20250
20286
  innerHTML?: (string) | undefined;
@@ -20274,6 +20310,11 @@ export type HelixHeadlessLogHelixSelectedElementEvent =
20274
20310
  HelixHeadlessLogElementEvent<HelixSelectedEvent>;
20275
20311
 
20276
20312
  export type HelixHeadlessLogProps = {
20313
+ /** Folds a line written again straight after itself into it, with a count,
20314
+ as a browser's console does, so a loop writing one warning a thousand
20315
+ times is one line. For lines written or given as data, read as they
20316
+ arrive; numbers, `line-href` and the selection count a folded line once. */
20317
+ collapse?: (HelixHeadlessLog["collapse"]) | undefined;
20277
20318
  /** Whether the log opens following its newest line, when `pinned` is not set.
20278
20319
  `default-pinned="false"` opens it where it starts. */
20279
20320
  "default-pinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
@@ -20320,6 +20361,11 @@ the step's heading and `{status}` is `done` or `failed`. */
20320
20361
  groupLabel?: (HelixHeadlessLog["groupLabel"]) | undefined;
20321
20362
  /** The log's name, read by screen readers. */
20322
20363
  label?: (HelixHeadlessLog["label"]) | undefined;
20364
+ /** The quietest level shown: `info` hides `debug` and `log` lines, `warn`
20365
+ shows warnings and errors, and `error` errors only. Unset shows every line.
20366
+ Lines it hides are kept, so lowering it shows them again, and a step shows
20367
+ while it holds a line that shows. */
20368
+ level?: (HelixHeadlessLog["level"]) | undefined;
20323
20369
  /** The most lines kept, or 0 to keep them all. Past it the oldest lines are
20324
20370
  let go, and the line above the log says how many. */
20325
20371
  limit?: (HelixHeadlessLog["limit"]) | undefined;
@@ -20429,6 +20475,11 @@ reading the last one. */
20429
20475
  };
20430
20476
 
20431
20477
  export type HelixHeadlessLogSolidJsProps = {
20478
+ /** Folds a line written again straight after itself into it, with a count,
20479
+ as a browser's console does, so a loop writing one warning a thousand
20480
+ times is one line. For lines written or given as data, read as they
20481
+ arrive; numbers, `line-href` and the selection count a folded line once. */
20482
+ "prop:collapse"?: (HelixHeadlessLog["collapse"]) | undefined;
20432
20483
  /** Whether the log opens following its newest line, when `pinned` is not set.
20433
20484
  `default-pinned="false"` opens it where it starts. */
20434
20485
  "bool:default-pinned"?: (HelixHeadlessLog["defaultPinned"]) | undefined;
@@ -20475,6 +20526,11 @@ the step's heading and `{status}` is `done` or `failed`. */
20475
20526
  "prop:groupLabel"?: (HelixHeadlessLog["groupLabel"]) | undefined;
20476
20527
  /** The log's name, read by screen readers. */
20477
20528
  "prop:label"?: (HelixHeadlessLog["label"]) | undefined;
20529
+ /** The quietest level shown: `info` hides `debug` and `log` lines, `warn`
20530
+ shows warnings and errors, and `error` errors only. Unset shows every line.
20531
+ Lines it hides are kept, so lowering it shows them again, and a step shows
20532
+ while it holds a line that shows. */
20533
+ "prop:level"?: (HelixHeadlessLog["level"]) | undefined;
20478
20534
  /** The most lines kept, or 0 to keep them all. Past it the oldest lines are
20479
20535
  let go, and the line above the log says how many. */
20480
20536
  "prop:limit"?: (HelixHeadlessLog["limit"]) | undefined;
@@ -34369,10 +34425,24 @@ exit code, written as the process gave it, and code `0` is a clean exit. */
34369
34425
  "find-controls-label"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
34370
34426
  /** The name of the find bar's row of buttons, read by screen readers. */
34371
34427
  findControlsLabel?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
34428
+ /** What the find bar says when its regular expression cannot be read. */
34429
+ "find-invalid-label"?: (HelixHeadlessTerminal["findInvalidLabel"]) | undefined;
34430
+ /** What the find bar says when its regular expression cannot be read. */
34431
+ findInvalidLabel?: (HelixHeadlessTerminal["findInvalidLabel"]) | undefined;
34372
34432
  /** The find button's label, and the find field's name and placeholder. */
34373
34433
  "find-label"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
34374
34434
  /** The find button's label, and the find field's name and placeholder. */
34375
34435
  findLabel?: (HelixHeadlessTerminal["findLabel"]) | undefined;
34436
+ /** Whether the find bar matches case, so "Error" does not find "error". The
34437
+ reader turns it on and off from the bar. */
34438
+ "find-match-case"?: (HelixHeadlessTerminal["findMatchCase"]) | undefined;
34439
+ /** Whether the find bar matches case, so "Error" does not find "error". The
34440
+ reader turns it on and off from the bar. */
34441
+ findMatchCase?: (HelixHeadlessTerminal["findMatchCase"]) | undefined;
34442
+ /** The match case button's label. */
34443
+ "find-match-case-label"?: (HelixHeadlessTerminal["findMatchCaseLabel"]) | undefined;
34444
+ /** The match case button's label. */
34445
+ findMatchCaseLabel?: (HelixHeadlessTerminal["findMatchCaseLabel"]) | undefined;
34376
34446
  /** The next match button's label. */
34377
34447
  "find-next-label"?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
34378
34448
  /** The next match button's label. */
@@ -34381,6 +34451,24 @@ exit code, written as the process gave it, and code `0` is a clean exit. */
34381
34451
  "find-previous-label"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
34382
34452
  /** The previous match button's label. */
34383
34453
  findPreviousLabel?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
34454
+ /** Whether the find bar reads what the reader types as a regular expression,
34455
+ in JavaScript's syntax. The reader turns it on and off from the bar. */
34456
+ "find-regex"?: (HelixHeadlessTerminal["findRegex"]) | undefined;
34457
+ /** Whether the find bar reads what the reader types as a regular expression,
34458
+ in JavaScript's syntax. The reader turns it on and off from the bar. */
34459
+ findRegex?: (HelixHeadlessTerminal["findRegex"]) | undefined;
34460
+ /** The regular expression button's label. */
34461
+ "find-regex-label"?: (HelixHeadlessTerminal["findRegexLabel"]) | undefined;
34462
+ /** The regular expression button's label. */
34463
+ findRegexLabel?: (HelixHeadlessTerminal["findRegexLabel"]) | undefined;
34464
+ /** Whether the find bar matches whole words only. The reader turns it on and off from the bar. */
34465
+ "find-whole-word"?: (HelixHeadlessTerminal["findWholeWord"]) | undefined;
34466
+ /** Whether the find bar matches whole words only. The reader turns it on and off from the bar. */
34467
+ findWholeWord?: (HelixHeadlessTerminal["findWholeWord"]) | undefined;
34468
+ /** The whole word button's label. */
34469
+ "find-whole-word-label"?: (HelixHeadlessTerminal["findWholeWordLabel"]) | undefined;
34470
+ /** The whole word button's label. */
34471
+ findWholeWordLabel?: (HelixHeadlessTerminal["findWholeWordLabel"]) | undefined;
34384
34472
  /** The fullscreen button's label. */
34385
34473
  "fullscreen-label"?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
34386
34474
  /** The fullscreen button's label. */
@@ -34510,10 +34598,24 @@ exit code, written as the process gave it, and code `0` is a clean exit. */
34510
34598
  "attr:find-controls-label"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
34511
34599
  /** The name of the find bar's row of buttons, read by screen readers. */
34512
34600
  "prop:findControlsLabel"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
34601
+ /** What the find bar says when its regular expression cannot be read. */
34602
+ "attr:find-invalid-label"?: (HelixHeadlessTerminal["findInvalidLabel"]) | undefined;
34603
+ /** What the find bar says when its regular expression cannot be read. */
34604
+ "prop:findInvalidLabel"?: (HelixHeadlessTerminal["findInvalidLabel"]) | undefined;
34513
34605
  /** The find button's label, and the find field's name and placeholder. */
34514
34606
  "attr:find-label"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
34515
34607
  /** The find button's label, and the find field's name and placeholder. */
34516
34608
  "prop:findLabel"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
34609
+ /** Whether the find bar matches case, so "Error" does not find "error". The
34610
+ reader turns it on and off from the bar. */
34611
+ "bool:find-match-case"?: (HelixHeadlessTerminal["findMatchCase"]) | undefined;
34612
+ /** Whether the find bar matches case, so "Error" does not find "error". The
34613
+ reader turns it on and off from the bar. */
34614
+ "prop:findMatchCase"?: (HelixHeadlessTerminal["findMatchCase"]) | undefined;
34615
+ /** The match case button's label. */
34616
+ "attr:find-match-case-label"?: (HelixHeadlessTerminal["findMatchCaseLabel"]) | undefined;
34617
+ /** The match case button's label. */
34618
+ "prop:findMatchCaseLabel"?: (HelixHeadlessTerminal["findMatchCaseLabel"]) | undefined;
34517
34619
  /** The next match button's label. */
34518
34620
  "attr:find-next-label"?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
34519
34621
  /** The next match button's label. */
@@ -34522,6 +34624,24 @@ exit code, written as the process gave it, and code `0` is a clean exit. */
34522
34624
  "attr:find-previous-label"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
34523
34625
  /** The previous match button's label. */
34524
34626
  "prop:findPreviousLabel"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
34627
+ /** Whether the find bar reads what the reader types as a regular expression,
34628
+ in JavaScript's syntax. The reader turns it on and off from the bar. */
34629
+ "bool:find-regex"?: (HelixHeadlessTerminal["findRegex"]) | undefined;
34630
+ /** Whether the find bar reads what the reader types as a regular expression,
34631
+ in JavaScript's syntax. The reader turns it on and off from the bar. */
34632
+ "prop:findRegex"?: (HelixHeadlessTerminal["findRegex"]) | undefined;
34633
+ /** The regular expression button's label. */
34634
+ "attr:find-regex-label"?: (HelixHeadlessTerminal["findRegexLabel"]) | undefined;
34635
+ /** The regular expression button's label. */
34636
+ "prop:findRegexLabel"?: (HelixHeadlessTerminal["findRegexLabel"]) | undefined;
34637
+ /** Whether the find bar matches whole words only. The reader turns it on and off from the bar. */
34638
+ "bool:find-whole-word"?: (HelixHeadlessTerminal["findWholeWord"]) | undefined;
34639
+ /** Whether the find bar matches whole words only. The reader turns it on and off from the bar. */
34640
+ "prop:findWholeWord"?: (HelixHeadlessTerminal["findWholeWord"]) | undefined;
34641
+ /** The whole word button's label. */
34642
+ "attr:find-whole-word-label"?: (HelixHeadlessTerminal["findWholeWordLabel"]) | undefined;
34643
+ /** The whole word button's label. */
34644
+ "prop:findWholeWordLabel"?: (HelixHeadlessTerminal["findWholeWordLabel"]) | undefined;
34525
34645
  /** The fullscreen button's label. */
34526
34646
  "attr:fullscreen-label"?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
34527
34647
  /** The fullscreen button's label. */
@@ -56053,8 +56173,10 @@ export type CustomElements<F extends Framework = "other"> = {
56053
56173
  * and tells it whether to show its number and its time.
56054
56174
  *
56055
56175
  * `level` says how much a line matters, and the styled tier draws `warn` and
56056
- * `error` lines apart. The text is the line's own content, so you can mark it
56057
- * up yourself.
56176
+ * `error` lines apart. A line at `debug`, `warn` or `error` says its level in
56177
+ * words before its text, so a reader moving through the log hears it as well
56178
+ * as the color shows it. The text is the line's own content, so you can mark
56179
+ * it up yourself.
56058
56180
  *
56059
56181
  * ## Attributes & Properties
56060
56182
  *
@@ -56062,7 +56184,14 @@ export type CustomElements<F extends Framework = "other"> = {
56062
56184
  *
56063
56185
  * - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
56064
56186
  * - `level`: How much the line matters. Absent is `info`.
56187
+ * - `level-words`/`levelWords`: What a screen reader hears before the text of a line at each level, for a
56188
+ * page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
56189
+ * A line at `info` or `log` hears nothing extra, and nor does a line whose
56190
+ * text already starts with its words, such as `Error: Cannot find module`.
56191
+ * As an attribute it is that object as JSON.
56065
56192
  * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
56193
+ * - `times-label`/`timesLabel`: What a screen reader hears after a line written more than once in a row.
56194
+ * `{count}` is how many times, in the locale.
56066
56195
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
56067
56196
  *
56068
56197
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -56101,6 +56230,9 @@ export type CustomElements<F extends Framework = "other"> = {
56101
56230
  *
56102
56231
  * Custom selectors for styling elements within the component.
56103
56232
  *
56233
+ * - `count`: How many times a line written again straight after itself was written, where the log's `collapse` folds repeats. Hidden from screen readers, which hear `count-label`.
56234
+ * - `count-label`: What a screen reader hears for the count, such as "3 times". Visually hidden in the styled tier.
56235
+ * - `level`: What a screen reader hears before the text for a line at `debug`, `warn` or `error`, such as "Warning:". Visually hidden in the styled tier.
56104
56236
  * - `line`: The row the number, the time, and the text sit in.
56105
56237
  * - `line-debug`: The row of a line at `debug`.
56106
56238
  * - `line-error`: The row of a line at `error`.
@@ -56123,7 +56255,7 @@ export type CustomElements<F extends Framework = "other"> = {
56123
56255
  *
56124
56256
  * These can be used to apply styling when a component is in a given state.
56125
56257
  *
56126
- * - `filtered`: The log's `query` does not match the line, so it draws nothing.
56258
+ * - `filtered`: The log's `query` does not match the line, or its `level` is quieter than the log shows, so it draws nothing.
56127
56259
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
56128
56260
  */
56129
56261
  "helix-headless-log-line": Partial<
@@ -56204,6 +56336,10 @@ export type CustomElements<F extends Framework = "other"> = {
56204
56336
  *
56205
56337
  * Component attributes and properties that can be applied to the element or by using JavaScript.
56206
56338
  *
56339
+ * - `collapse`: Folds a line written again straight after itself into it, with a count,
56340
+ * as a browser's console does, so a loop writing one warning a thousand
56341
+ * times is one line. For lines written or given as data, read as they
56342
+ * arrive; numbers, `line-href` and the selection count a folded line once.
56207
56343
  * - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
56208
56344
  * `default-pinned="false"` opens it where it starts.
56209
56345
  * - `done`: Whether the run is over, which a screen reader is told once.
@@ -56223,6 +56359,10 @@ export type CustomElements<F extends Framework = "other"> = {
56223
56359
  * - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
56224
56360
  * the step's heading and `{status}` is `done` or `failed`.
56225
56361
  * - `label`: The log's name, read by screen readers.
56362
+ * - `level`: The quietest level shown: `info` hides `debug` and `log` lines, `warn`
56363
+ * shows warnings and errors, and `error` errors only. Unset shows every line.
56364
+ * Lines it hides are kept, so lowering it shows them again, and a step shows
56365
+ * while it holds a line that shows.
56226
56366
  * - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
56227
56367
  * let go, and the line above the log says how many.
56228
56368
  * - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
@@ -56323,6 +56463,10 @@ export type CustomElements<F extends Framework = "other"> = {
56323
56463
  *
56324
56464
  * - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
56325
56465
  * after the last one is the line still being written.
56466
+ * - `writeLine(line: LogLine) => void`: Adds one line as data, after the lines the log holds: its text, and its
56467
+ * level, time and group where it has them. For lines that arrive one at a
56468
+ * time with a level of their own, such as a console's, where `write` takes
56469
+ * text.
56326
56470
  * - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
56327
56471
  * `groups`, `parse`, and `limit`.
56328
56472
  * - `resume() => void`: Puts the log back at its newest line, and follows it again.
@@ -56375,9 +56519,12 @@ export type CustomElements<F extends Framework = "other"> = {
56375
56519
  * - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
56376
56520
  * - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
56377
56521
  * - `line`: The row of a line drawn from data.
56522
+ * - `line-count`: How many times a folded line was written, under `collapse`. Hidden from screen readers, which hear `line-count-label`.
56523
+ * - `line-count-label`: What a screen reader hears for a folded line's count, such as "3 times". Visually hidden in the styled tier.
56378
56524
  * - `line-debug`: The row of a line drawn from data at `debug`.
56379
56525
  * - `line-error`: The row of a line drawn from data at `error`.
56380
56526
  * - `line-grouped`: The row of a line drawn from data that belongs to a step.
56527
+ * - `line-level`: What a screen reader hears before the text of a line drawn from data at `debug`, `warn` or `error`. Visually hidden in the styled tier.
56381
56528
  * - `line-marked`: The row of a line drawn from data that `mark-lines` names.
56382
56529
  * - `line-match`: Text in a line drawn from data that matches `query`.
56383
56530
  * - `line-number`: The number of a line drawn from data.
@@ -56406,7 +56553,7 @@ export type CustomElements<F extends Framework = "other"> = {
56406
56553
  *
56407
56554
  * - `done`: The run is over: `done` is set, or `source` ended.
56408
56555
  * - `empty`: The log has no lines.
56409
- * - `filtered`: `query` is set, so only matching lines are shown.
56556
+ * - `filtered`: `query` or `level` is set, so only the lines they keep are shown.
56410
56557
  * - `pinned`: The log follows its newest line.
56411
56558
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
56412
56559
  */
@@ -68715,6 +68862,8 @@ export type CustomElements<F extends Framework = "other"> = {
68715
68862
  * Shift+Enter move between the matches, and Escape closes the bar and
68716
68863
  * returns focus to the terminal.
68717
68864
  * - Control+Shift+C copies the selection. On a Mac, Command+C does.
68865
+ * - Control+Shift+V pastes, as it does in the browser, and the program reads
68866
+ * it as typed text. On a Mac, Command+V does.
68718
68867
  * - Control+M, or Control+Shift+M on a Mac, switches Tab between typing in the
68719
68868
  * terminal and moving focus out of it. The status line says when Tab moves
68720
68869
  * focus, and the terminal's input describes the key to a screen reader.
@@ -68745,9 +68894,18 @@ export type CustomElements<F extends Framework = "other"> = {
68745
68894
  * - `fallback-label`/`fallbackLabel`: The terminal's name where `label` is empty and the host has no `aria-label`.
68746
68895
  * - `find-close-label`/`findCloseLabel`: The label of the button that closes the find bar.
68747
68896
  * - `find-controls-label`/`findControlsLabel`: The name of the find bar's row of buttons, read by screen readers.
68897
+ * - `find-invalid-label`/`findInvalidLabel`: What the find bar says when its regular expression cannot be read.
68748
68898
  * - `find-label`/`findLabel`: The find button's label, and the find field's name and placeholder.
68899
+ * - `find-match-case`/`findMatchCase`: Whether the find bar matches case, so "Error" does not find "error". The
68900
+ * reader turns it on and off from the bar.
68901
+ * - `find-match-case-label`/`findMatchCaseLabel`: The match case button's label.
68749
68902
  * - `find-next-label`/`findNextLabel`: The next match button's label.
68750
68903
  * - `find-previous-label`/`findPreviousLabel`: The previous match button's label.
68904
+ * - `find-regex`/`findRegex`: Whether the find bar reads what the reader types as a regular expression,
68905
+ * in JavaScript's syntax. The reader turns it on and off from the bar.
68906
+ * - `find-regex-label`/`findRegexLabel`: The regular expression button's label.
68907
+ * - `find-whole-word`/`findWholeWord`: Whether the find bar matches whole words only. The reader turns it on and off from the bar.
68908
+ * - `find-whole-word-label`/`findWholeWordLabel`: The whole word button's label.
68751
68909
  * - `fullscreen-label`/`fullscreenLabel`: The fullscreen button's label.
68752
68910
  * - `input-label`/`inputLabel`: The name of the element the reader types into, which the renderer draws.
68753
68911
  * - `label`: The terminal's name, in the header and for screen readers, such as the
@@ -68808,11 +68966,14 @@ export type CustomElements<F extends Framework = "other"> = {
68808
68966
  * - `clear-icon`: Replaces the glyph inside the clear button.
68809
68967
  * - `copy-icon`: Replaces the glyph inside the copy button.
68810
68968
  * - `exit-actions`: Controls of your own beside Restart, shown once the process exits, such as a button that opens the whole log.
68811
- * - `find-actions`: Controls of your own in the find bar, between the count and the buttons that move between matches.
68969
+ * - `find-actions`: Controls of your own in the find bar, between its options and the buttons that move between matches.
68812
68970
  * - `find-close-icon`: Replaces the glyph inside the button that closes the find bar.
68813
68971
  * - `find-icon`: Replaces the glyph inside the find button.
68972
+ * - `find-match-case-icon`: Replaces the glyph inside the match case button.
68814
68973
  * - `find-next-icon`: Replaces the glyph inside the next match button.
68815
68974
  * - `find-previous-icon`: Replaces the glyph inside the previous match button.
68975
+ * - `find-regex-icon`: Replaces the glyph inside the regular expression button.
68976
+ * - `find-whole-word-icon`: Replaces the glyph inside the whole word button.
68816
68977
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
68817
68978
  * - `label`: The terminal's name in the header, such as an icon beside the shell's name. Replaces `label` there.
68818
68979
  * - `restart-icon`: Replaces the glyph inside the Restart button.
@@ -68903,6 +69064,11 @@ export type CustomElements<F extends Framework = "other"> = {
68903
69064
  * - `find-count`: Which match is current and how many there are, such as "3 of 12 matches".
68904
69065
  * - `find-field`: The search field in the find bar.
68905
69066
  * - `find-live`: The find button's live region, which speaks while the button is pending.
69067
+ * - `find-match-case`: The button that matches case in the find bar. Pressed while it does.
69068
+ * - `find-match-case-button`: The match case button's inner button.
69069
+ * - `find-match-case-live`: The match case button's live region, which speaks while the button is pending.
69070
+ * - `find-match-case-spinner`: The ring the match case button turns while it is pending.
69071
+ * - `find-match-case-text`: The box the match case button's icon sits in.
68906
69072
  * - `find-next`: The button that moves to the next match.
68907
69073
  * - `find-next-button`: The next match button's inner button.
68908
69074
  * - `find-next-live`: The next match button's live region, which speaks while the button is pending.
@@ -68913,8 +69079,18 @@ export type CustomElements<F extends Framework = "other"> = {
68913
69079
  * - `find-previous-live`: The previous match button's live region, which speaks while the button is pending.
68914
69080
  * - `find-previous-spinner`: The ring the previous match button turns while it is pending.
68915
69081
  * - `find-previous-text`: The box the previous match button's icon sits in.
69082
+ * - `find-regex`: The button that reads the find field as a regular expression. Pressed while it does.
69083
+ * - `find-regex-button`: The regular expression button's inner button.
69084
+ * - `find-regex-live`: The regular expression button's live region, which speaks while the button is pending.
69085
+ * - `find-regex-spinner`: The ring the regular expression button turns while it is pending.
69086
+ * - `find-regex-text`: The box the regular expression button's icon sits in.
68916
69087
  * - `find-spinner`: The ring the find button turns while it is pending.
68917
69088
  * - `find-text`: The box the find button's icon sits in.
69089
+ * - `find-whole-word`: The button that matches whole words only in the find bar. Pressed while it does.
69090
+ * - `find-whole-word-button`: The whole word button's inner button.
69091
+ * - `find-whole-word-live`: The whole word button's live region, which speaks while the button is pending.
69092
+ * - `find-whole-word-spinner`: The ring the whole word button turns while it is pending.
69093
+ * - `find-whole-word-text`: The box the whole word button's icon sits in.
68918
69094
  * - `fullscreen`: The button that makes the terminal fill the screen. Pressed while it does.
68919
69095
  * - `fullscreen-button`: The fullscreen button's inner button.
68920
69096
  * - `fullscreen-live`: The fullscreen button's live region, which speaks while the button is pending.
@@ -89266,8 +89442,10 @@ export type CustomElementsSolidJs = {
89266
89442
  * and tells it whether to show its number and its time.
89267
89443
  *
89268
89444
  * `level` says how much a line matters, and the styled tier draws `warn` and
89269
- * `error` lines apart. The text is the line's own content, so you can mark it
89270
- * up yourself.
89445
+ * `error` lines apart. A line at `debug`, `warn` or `error` says its level in
89446
+ * words before its text, so a reader moving through the log hears it as well
89447
+ * as the color shows it. The text is the line's own content, so you can mark
89448
+ * it up yourself.
89271
89449
  *
89272
89450
  * ## Attributes & Properties
89273
89451
  *
@@ -89275,7 +89453,14 @@ export type CustomElementsSolidJs = {
89275
89453
  *
89276
89454
  * - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
89277
89455
  * - `level`: How much the line matters. Absent is `info`.
89456
+ * - `level-words`/`levelWords`: What a screen reader hears before the text of a line at each level, for a
89457
+ * page in another language, keyed by level, such as `{ warn: 'Warnung:' }`.
89458
+ * A line at `info` or `log` hears nothing extra, and nor does a line whose
89459
+ * text already starts with its words, such as `Error: Cannot find module`.
89460
+ * As an attribute it is that object as JSON.
89278
89461
  * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
89462
+ * - `times-label`/`timesLabel`: What a screen reader hears after a line written more than once in a row.
89463
+ * `{count}` is how many times, in the locale.
89279
89464
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
89280
89465
  *
89281
89466
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -89314,6 +89499,9 @@ export type CustomElementsSolidJs = {
89314
89499
  *
89315
89500
  * Custom selectors for styling elements within the component.
89316
89501
  *
89502
+ * - `count`: How many times a line written again straight after itself was written, where the log's `collapse` folds repeats. Hidden from screen readers, which hear `count-label`.
89503
+ * - `count-label`: What a screen reader hears for the count, such as "3 times". Visually hidden in the styled tier.
89504
+ * - `level`: What a screen reader hears before the text for a line at `debug`, `warn` or `error`, such as "Warning:". Visually hidden in the styled tier.
89317
89505
  * - `line`: The row the number, the time, and the text sit in.
89318
89506
  * - `line-debug`: The row of a line at `debug`.
89319
89507
  * - `line-error`: The row of a line at `error`.
@@ -89336,7 +89524,7 @@ export type CustomElementsSolidJs = {
89336
89524
  *
89337
89525
  * These can be used to apply styling when a component is in a given state.
89338
89526
  *
89339
- * - `filtered`: The log's `query` does not match the line, so it draws nothing.
89527
+ * - `filtered`: The log's `query` does not match the line, or its `level` is quieter than the log shows, so it draws nothing.
89340
89528
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
89341
89529
  */
89342
89530
  "helix-headless-log-line": Partial<
@@ -89420,6 +89608,10 @@ export type CustomElementsSolidJs = {
89420
89608
  *
89421
89609
  * Component attributes and properties that can be applied to the element or by using JavaScript.
89422
89610
  *
89611
+ * - `collapse`: Folds a line written again straight after itself into it, with a count,
89612
+ * as a browser's console does, so a loop writing one warning a thousand
89613
+ * times is one line. For lines written or given as data, read as they
89614
+ * arrive; numbers, `line-href` and the selection count a folded line once.
89423
89615
  * - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
89424
89616
  * `default-pinned="false"` opens it where it starts.
89425
89617
  * - `done`: Whether the run is over, which a screen reader is told once.
@@ -89439,6 +89631,10 @@ export type CustomElementsSolidJs = {
89439
89631
  * - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
89440
89632
  * the step's heading and `{status}` is `done` or `failed`.
89441
89633
  * - `label`: The log's name, read by screen readers.
89634
+ * - `level`: The quietest level shown: `info` hides `debug` and `log` lines, `warn`
89635
+ * shows warnings and errors, and `error` errors only. Unset shows every line.
89636
+ * Lines it hides are kept, so lowering it shows them again, and a step shows
89637
+ * while it holds a line that shows.
89442
89638
  * - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
89443
89639
  * let go, and the line above the log says how many.
89444
89640
  * - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
@@ -89539,6 +89735,10 @@ export type CustomElementsSolidJs = {
89539
89735
  *
89540
89736
  * - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
89541
89737
  * after the last one is the line still being written.
89738
+ * - `writeLine(line: LogLine) => void`: Adds one line as data, after the lines the log holds: its text, and its
89739
+ * level, time and group where it has them. For lines that arrive one at a
89740
+ * time with a level of their own, such as a console's, where `write` takes
89741
+ * text.
89542
89742
  * - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
89543
89743
  * `groups`, `parse`, and `limit`.
89544
89744
  * - `resume() => void`: Puts the log back at its newest line, and follows it again.
@@ -89591,9 +89791,12 @@ export type CustomElementsSolidJs = {
89591
89791
  * - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
89592
89792
  * - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
89593
89793
  * - `line`: The row of a line drawn from data.
89794
+ * - `line-count`: How many times a folded line was written, under `collapse`. Hidden from screen readers, which hear `line-count-label`.
89795
+ * - `line-count-label`: What a screen reader hears for a folded line's count, such as "3 times". Visually hidden in the styled tier.
89594
89796
  * - `line-debug`: The row of a line drawn from data at `debug`.
89595
89797
  * - `line-error`: The row of a line drawn from data at `error`.
89596
89798
  * - `line-grouped`: The row of a line drawn from data that belongs to a step.
89799
+ * - `line-level`: What a screen reader hears before the text of a line drawn from data at `debug`, `warn` or `error`. Visually hidden in the styled tier.
89597
89800
  * - `line-marked`: The row of a line drawn from data that `mark-lines` names.
89598
89801
  * - `line-match`: Text in a line drawn from data that matches `query`.
89599
89802
  * - `line-number`: The number of a line drawn from data.
@@ -89622,7 +89825,7 @@ export type CustomElementsSolidJs = {
89622
89825
  *
89623
89826
  * - `done`: The run is over: `done` is set, or `source` ended.
89624
89827
  * - `empty`: The log has no lines.
89625
- * - `filtered`: `query` is set, so only matching lines are shown.
89828
+ * - `filtered`: `query` or `level` is set, so only the lines they keep are shown.
89626
89829
  * - `pinned`: The log follows its newest line.
89627
89830
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
89628
89831
  */
@@ -102081,6 +102284,8 @@ export type CustomElementsSolidJs = {
102081
102284
  * Shift+Enter move between the matches, and Escape closes the bar and
102082
102285
  * returns focus to the terminal.
102083
102286
  * - Control+Shift+C copies the selection. On a Mac, Command+C does.
102287
+ * - Control+Shift+V pastes, as it does in the browser, and the program reads
102288
+ * it as typed text. On a Mac, Command+V does.
102084
102289
  * - Control+M, or Control+Shift+M on a Mac, switches Tab between typing in the
102085
102290
  * terminal and moving focus out of it. The status line says when Tab moves
102086
102291
  * focus, and the terminal's input describes the key to a screen reader.
@@ -102111,9 +102316,18 @@ export type CustomElementsSolidJs = {
102111
102316
  * - `fallback-label`/`fallbackLabel`: The terminal's name where `label` is empty and the host has no `aria-label`.
102112
102317
  * - `find-close-label`/`findCloseLabel`: The label of the button that closes the find bar.
102113
102318
  * - `find-controls-label`/`findControlsLabel`: The name of the find bar's row of buttons, read by screen readers.
102319
+ * - `find-invalid-label`/`findInvalidLabel`: What the find bar says when its regular expression cannot be read.
102114
102320
  * - `find-label`/`findLabel`: The find button's label, and the find field's name and placeholder.
102321
+ * - `find-match-case`/`findMatchCase`: Whether the find bar matches case, so "Error" does not find "error". The
102322
+ * reader turns it on and off from the bar.
102323
+ * - `find-match-case-label`/`findMatchCaseLabel`: The match case button's label.
102115
102324
  * - `find-next-label`/`findNextLabel`: The next match button's label.
102116
102325
  * - `find-previous-label`/`findPreviousLabel`: The previous match button's label.
102326
+ * - `find-regex`/`findRegex`: Whether the find bar reads what the reader types as a regular expression,
102327
+ * in JavaScript's syntax. The reader turns it on and off from the bar.
102328
+ * - `find-regex-label`/`findRegexLabel`: The regular expression button's label.
102329
+ * - `find-whole-word`/`findWholeWord`: Whether the find bar matches whole words only. The reader turns it on and off from the bar.
102330
+ * - `find-whole-word-label`/`findWholeWordLabel`: The whole word button's label.
102117
102331
  * - `fullscreen-label`/`fullscreenLabel`: The fullscreen button's label.
102118
102332
  * - `input-label`/`inputLabel`: The name of the element the reader types into, which the renderer draws.
102119
102333
  * - `label`: The terminal's name, in the header and for screen readers, such as the
@@ -102174,11 +102388,14 @@ export type CustomElementsSolidJs = {
102174
102388
  * - `clear-icon`: Replaces the glyph inside the clear button.
102175
102389
  * - `copy-icon`: Replaces the glyph inside the copy button.
102176
102390
  * - `exit-actions`: Controls of your own beside Restart, shown once the process exits, such as a button that opens the whole log.
102177
- * - `find-actions`: Controls of your own in the find bar, between the count and the buttons that move between matches.
102391
+ * - `find-actions`: Controls of your own in the find bar, between its options and the buttons that move between matches.
102178
102392
  * - `find-close-icon`: Replaces the glyph inside the button that closes the find bar.
102179
102393
  * - `find-icon`: Replaces the glyph inside the find button.
102394
+ * - `find-match-case-icon`: Replaces the glyph inside the match case button.
102180
102395
  * - `find-next-icon`: Replaces the glyph inside the next match button.
102181
102396
  * - `find-previous-icon`: Replaces the glyph inside the previous match button.
102397
+ * - `find-regex-icon`: Replaces the glyph inside the regular expression button.
102398
+ * - `find-whole-word-icon`: Replaces the glyph inside the whole word button.
102182
102399
  * - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
102183
102400
  * - `label`: The terminal's name in the header, such as an icon beside the shell's name. Replaces `label` there.
102184
102401
  * - `restart-icon`: Replaces the glyph inside the Restart button.
@@ -102269,6 +102486,11 @@ export type CustomElementsSolidJs = {
102269
102486
  * - `find-count`: Which match is current and how many there are, such as "3 of 12 matches".
102270
102487
  * - `find-field`: The search field in the find bar.
102271
102488
  * - `find-live`: The find button's live region, which speaks while the button is pending.
102489
+ * - `find-match-case`: The button that matches case in the find bar. Pressed while it does.
102490
+ * - `find-match-case-button`: The match case button's inner button.
102491
+ * - `find-match-case-live`: The match case button's live region, which speaks while the button is pending.
102492
+ * - `find-match-case-spinner`: The ring the match case button turns while it is pending.
102493
+ * - `find-match-case-text`: The box the match case button's icon sits in.
102272
102494
  * - `find-next`: The button that moves to the next match.
102273
102495
  * - `find-next-button`: The next match button's inner button.
102274
102496
  * - `find-next-live`: The next match button's live region, which speaks while the button is pending.
@@ -102279,8 +102501,18 @@ export type CustomElementsSolidJs = {
102279
102501
  * - `find-previous-live`: The previous match button's live region, which speaks while the button is pending.
102280
102502
  * - `find-previous-spinner`: The ring the previous match button turns while it is pending.
102281
102503
  * - `find-previous-text`: The box the previous match button's icon sits in.
102504
+ * - `find-regex`: The button that reads the find field as a regular expression. Pressed while it does.
102505
+ * - `find-regex-button`: The regular expression button's inner button.
102506
+ * - `find-regex-live`: The regular expression button's live region, which speaks while the button is pending.
102507
+ * - `find-regex-spinner`: The ring the regular expression button turns while it is pending.
102508
+ * - `find-regex-text`: The box the regular expression button's icon sits in.
102282
102509
  * - `find-spinner`: The ring the find button turns while it is pending.
102283
102510
  * - `find-text`: The box the find button's icon sits in.
102511
+ * - `find-whole-word`: The button that matches whole words only in the find bar. Pressed while it does.
102512
+ * - `find-whole-word-button`: The whole word button's inner button.
102513
+ * - `find-whole-word-live`: The whole word button's live region, which speaks while the button is pending.
102514
+ * - `find-whole-word-spinner`: The ring the whole word button turns while it is pending.
102515
+ * - `find-whole-word-text`: The box the whole word button's icon sits in.
102284
102516
  * - `fullscreen`: The button that makes the terminal fill the screen. Pressed while it does.
102285
102517
  * - `fullscreen-button`: The fullscreen button's inner button.
102286
102518
  * - `fullscreen-live`: The fullscreen button's live region, which speaks while the button is pending.