@fusion.dev/helix 0.199.1 → 0.201.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/types/jsx.d.ts CHANGED
@@ -118,6 +118,9 @@ import type {
118
118
  HelixLoadEvent,
119
119
  HelixLoadMoreEvent,
120
120
  HelixLoader,
121
+ HelixLog,
122
+ HelixLogGroup,
123
+ HelixLogLine,
121
124
  HelixMap,
122
125
  HelixMapArea,
123
126
  HelixMapBuildings,
@@ -22366,6 +22369,406 @@ progress. */
22366
22369
  textContent?: (string | number) | undefined;
22367
22370
  };
22368
22371
 
22372
+ /** `HelixLogGroup` component event */
22373
+ export type HelixLogGroupElementEvent<E = Event> = TypedEvent<HelixLogGroup, E>;
22374
+ /** `toggle` event type */
22375
+ export type HelixLogGroupToggleElementEvent =
22376
+ HelixLogGroupElementEvent<ToggleEvent>;
22377
+ /** `helix-before-close` event type */
22378
+ export type HelixLogGroupHelixBeforeCloseElementEvent =
22379
+ HelixLogGroupElementEvent<HelixBeforeCloseEvent>;
22380
+ /** `helix-before-open` event type */
22381
+ export type HelixLogGroupHelixBeforeOpenElementEvent =
22382
+ HelixLogGroupElementEvent<HelixBeforeOpenEvent>;
22383
+
22384
+ export type HelixLogGroupProps = {
22385
+ /** Whether the element starts open. Ignored once `open` is written. */
22386
+ "default-open"?: (HelixLogGroup["defaultOpen"]) | undefined;
22387
+ /** Whether the element starts open. Ignored once `open` is written. */
22388
+ defaultOpen?: (HelixLogGroup["defaultOpen"]) | undefined;
22389
+ /** Whether the element is open.
22390
+
22391
+ One property, not two, so `dialog.open` answers the question anyone
22392
+ asking it meant. Writing always applies; `<helix-dialog open>` is the
22393
+ same statement in markup.
22394
+
22395
+ **Not reflected, and that is required rather than tidy.** Reflection
22396
+ writes the resolved state back as an attribute, so an element that opened
22397
+ itself would put `open` on its own host: cloned, serialized for
22398
+ hydration, or diffed by a framework, it comes back holding whatever the
22399
+ last reader did rather than what the author wrote. `:state(open)` carries
22400
+ the resolved state for stylesheets, which is what the mirror is for. */
22401
+ open?: (HelixLogGroup["open"]) | undefined;
22402
+ /** How long the step took, as it should read, such as `12s`. */
22403
+ duration?: (HelixLogGroup["duration"]) | undefined;
22404
+ /** What the step is called. The `heading` slot replaces it. */
22405
+ heading?: (HelixLogGroup["heading"]) | undefined;
22406
+ /** Where the step stands, which draws a mark before the heading. */
22407
+ status?: (HelixLogGroup["status"]) | undefined;
22408
+ /** What a screen reader hears for the status, after the heading.
22409
+ `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
22410
+ "status-label"?: (HelixLogGroup["statusLabel"]) | undefined;
22411
+ /** What a screen reader hears for the status, after the heading.
22412
+ `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
22413
+ statusLabel?: (HelixLogGroup["statusLabel"]) | undefined;
22414
+
22415
+ /** Fired after the group opens or closes, with `newState` and `oldState`. */
22416
+ ontoggle?: ((e: HelixLogGroupToggleElementEvent) => void) | undefined;
22417
+ /** Fired before the group closes. Cancelable. */
22418
+ "onhelix-before-close"?: ((
22419
+ e: HelixLogGroupHelixBeforeCloseElementEvent,
22420
+ ) => void) | undefined;
22421
+ /** Fired before the group opens. Cancelable. */
22422
+ "onhelix-before-open"?: ((e: HelixLogGroupHelixBeforeOpenElementEvent) => void) | undefined;
22423
+ };
22424
+
22425
+ export type HelixLogGroupSolidJsProps = {
22426
+ /** Whether the element starts open. Ignored once `open` is written. */
22427
+ "bool:default-open"?: (HelixLogGroup["defaultOpen"]) | undefined;
22428
+ /** Whether the element starts open. Ignored once `open` is written. */
22429
+ "prop:defaultOpen"?: (HelixLogGroup["defaultOpen"]) | undefined;
22430
+ /** Whether the element is open.
22431
+
22432
+ One property, not two, so `dialog.open` answers the question anyone
22433
+ asking it meant. Writing always applies; `<helix-dialog open>` is the
22434
+ same statement in markup.
22435
+
22436
+ **Not reflected, and that is required rather than tidy.** Reflection
22437
+ writes the resolved state back as an attribute, so an element that opened
22438
+ itself would put `open` on its own host: cloned, serialized for
22439
+ hydration, or diffed by a framework, it comes back holding whatever the
22440
+ last reader did rather than what the author wrote. `:state(open)` carries
22441
+ the resolved state for stylesheets, which is what the mirror is for. */
22442
+ "prop:open"?: (HelixLogGroup["open"]) | undefined;
22443
+ /** How long the step took, as it should read, such as `12s`. */
22444
+ "prop:duration"?: (HelixLogGroup["duration"]) | undefined;
22445
+ /** What the step is called. The `heading` slot replaces it. */
22446
+ "prop:heading"?: (HelixLogGroup["heading"]) | undefined;
22447
+ /** Where the step stands, which draws a mark before the heading. */
22448
+ "prop:status"?: (HelixLogGroup["status"]) | undefined;
22449
+ /** What a screen reader hears for the status, after the heading.
22450
+ `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
22451
+ "attr:status-label"?: (HelixLogGroup["statusLabel"]) | undefined;
22452
+ /** What a screen reader hears for the status, after the heading.
22453
+ `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`. */
22454
+ "prop:statusLabel"?: (HelixLogGroup["statusLabel"]) | undefined;
22455
+ /** Fired after the group opens or closes, with `newState` and `oldState`. */
22456
+ "on:toggle"?: ((e: HelixLogGroupToggleElementEvent) => void) | undefined;
22457
+ /** Fired before the group closes. Cancelable. */
22458
+ "on:helix-before-close"?: ((
22459
+ e: HelixLogGroupHelixBeforeCloseElementEvent,
22460
+ ) => void) | undefined;
22461
+ /** Fired before the group opens. Cancelable. */
22462
+ "on:helix-before-open"?: ((
22463
+ e: HelixLogGroupHelixBeforeOpenElementEvent,
22464
+ ) => void) | undefined;
22465
+
22466
+ /** Set the innerHTML of the element */
22467
+ innerHTML?: (string) | undefined;
22468
+ /** Set the textContent of the element */
22469
+ textContent?: (string | number) | undefined;
22470
+ };
22471
+
22472
+ export type HelixLogLineProps = {
22473
+ /** When the line was written: milliseconds since the epoch, or anything `Date` parses. */
22474
+ at?: (HelixLogLine["at"]) | undefined;
22475
+ /** How much the line matters. Absent is `info`. */
22476
+ level?: (HelixLogLine["level"]) | undefined;
22477
+ /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
22478
+ "line-label"?: (HelixLogLine["lineLabel"]) | undefined;
22479
+ /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
22480
+ lineLabel?: (HelixLogLine["lineLabel"]) | undefined;
22481
+ };
22482
+
22483
+ export type HelixLogLineSolidJsProps = {
22484
+ /** When the line was written: milliseconds since the epoch, or anything `Date` parses. */
22485
+ "prop:at"?: (HelixLogLine["at"]) | undefined;
22486
+ /** How much the line matters. Absent is `info`. */
22487
+ "prop:level"?: (HelixLogLine["level"]) | undefined;
22488
+ /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
22489
+ "attr:line-label"?: (HelixLogLine["lineLabel"]) | undefined;
22490
+ /** What a screen reader hears for the link on a line's number. `{number}` is the number. */
22491
+ "prop:lineLabel"?: (HelixLogLine["lineLabel"]) | undefined;
22492
+
22493
+ /** Set the innerHTML of the element */
22494
+ innerHTML?: (string) | undefined;
22495
+ /** Set the textContent of the element */
22496
+ textContent?: (string | number) | undefined;
22497
+ };
22498
+
22499
+ /** `HelixLog` component event */
22500
+ export type HelixLogElementEvent<E = Event> = TypedEvent<HelixLog, E>;
22501
+ /** `helix-before-pin` event type */
22502
+ export type HelixLogHelixBeforePinElementEvent =
22503
+ HelixLogElementEvent<HelixBeforePinEvent>;
22504
+ /** `helix-expand` event type */
22505
+ export type HelixLogHelixExpandElementEvent =
22506
+ HelixLogElementEvent<HelixExpandEvent>;
22507
+ /** `helix-pin` event type */
22508
+ export type HelixLogHelixPinElementEvent = HelixLogElementEvent<HelixPinEvent>;
22509
+
22510
+ export type HelixLogProps = {
22511
+ /** The text shown and announced when there are no rows and none are loading. */
22512
+ "empty-text"?: (HelixLog["emptyText"]) | undefined;
22513
+ /** The text shown and announced when there are no rows and none are loading. */
22514
+ emptyText?: (HelixLog["emptyText"]) | undefined;
22515
+ /** Whether the rows are still loading.
22516
+
22517
+ Reflected, because a stylesheet needs it: the rows that are already there
22518
+ are dimmed rather than removed while a new set arrives, and only CSS can
22519
+ say that without the component knowing what a row looks like. */
22520
+ loading?: (HelixLog["loading"]) | undefined;
22521
+ /** The text shown and announced while the rows load. */
22522
+ "loading-text"?: (HelixLog["loadingText"]) | undefined;
22523
+ /** The text shown and announced while the rows load. */
22524
+ loadingText?: (HelixLog["loadingText"]) | undefined;
22525
+ /** Whether the log opens following its newest line, when `pinned` is not set.
22526
+ `default-pinned="false"` opens it where it starts. */
22527
+ "default-pinned"?: (HelixLog["defaultPinned"]) | undefined;
22528
+ /** Whether the log opens following its newest line, when `pinned` is not set.
22529
+ `default-pinned="false"` opens it where it starts. */
22530
+ defaultPinned?: (HelixLog["defaultPinned"]) | undefined;
22531
+ /** Whether the run is over, which a screen reader is told once.
22532
+
22533
+ Set it when output you `write` is complete. A `source` sets it when the
22534
+ stream ends. */
22535
+ done?: (HelixLog["done"]) | undefined;
22536
+ /** What a screen reader hears when the run is over. */
22537
+ "done-label"?: (HelixLog["doneLabel"]) | undefined;
22538
+ /** What a screen reader hears when the run is over. */
22539
+ doneLabel?: (HelixLog["doneLabel"]) | undefined;
22540
+ /** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
22541
+ "dropped-label"?: (HelixLog["droppedLabel"]) | undefined;
22542
+ /** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
22543
+ droppedLabel?: (HelixLog["droppedLabel"]) | undefined;
22544
+ /** What a screen reader hears when lines at `error` arrive. `{count}` is how
22545
+ many arrived together and `{text}` is the first of them. */
22546
+ "error-label"?: (HelixLog["errorLabel"]) | undefined;
22547
+ /** What a screen reader hears when lines at `error` arrive. `{count}` is how
22548
+ many arrived together and `{text}` is the first of them. */
22549
+ errorLabel?: (HelixLog["errorLabel"]) | undefined;
22550
+ /** The log's name, read by screen readers, where `label` is empty. */
22551
+ "fallback-label"?: (HelixLog["fallbackLabel"]) | undefined;
22552
+ /** The log's name, read by screen readers, where `label` is empty. */
22553
+ fallbackLabel?: (HelixLog["fallbackLabel"]) | undefined;
22554
+ /** What a screen reader hears when a step finishes or fails. `{heading}` is
22555
+ the step's heading and `{status}` is `done` or `failed`. */
22556
+ "group-label"?: (HelixLog["groupLabel"]) | undefined;
22557
+ /** What a screen reader hears when a step finishes or fails. `{heading}` is
22558
+ the step's heading and `{status}` is `done` or `failed`. */
22559
+ groupLabel?: (HelixLog["groupLabel"]) | undefined;
22560
+ /** The log's name, read by screen readers. */
22561
+ label?: (HelixLog["label"]) | undefined;
22562
+ /** The most lines kept, or 0 to keep them all. Past it the oldest lines are
22563
+ let go, and the line above the log says how many. */
22564
+ limit?: (HelixLog["limit"]) | undefined;
22565
+ /** A link for each line number, with `{n}` where the number goes, such as
22566
+ `#L{n}`. Empty leaves the numbers as text. */
22567
+ "line-href"?: (HelixLog["lineHref"]) | undefined;
22568
+ /** A link for each line number, with `{n}` where the number goes, such as
22569
+ `#L{n}`. Empty leaves the numbers as text. */
22570
+ lineHref?: (HelixLog["lineHref"]) | undefined;
22571
+ /** What a screen reader hears for the link on a line's number, handed to each
22572
+ line the log draws. `{number}` is the number. */
22573
+ "line-label"?: (HelixLog["lineLabel"]) | undefined;
22574
+ /** What a screen reader hears for the link on a line's number, handed to each
22575
+ line the log draws. `{number}` is the number. */
22576
+ lineLabel?: (HelixLog["lineLabel"]) | undefined;
22577
+ /** Whether each line shows its number. */
22578
+ "line-numbers"?: (HelixLog["lineNumbers"]) | undefined;
22579
+ /** Whether each line shows its number. */
22580
+ lineNumbers?: (HelixLog["lineNumbers"]) | undefined;
22581
+ /** Lines to mark, as numbers and ranges such as `12, 40-44`. */
22582
+ "mark-lines"?: (HelixLog["markLines"]) | undefined;
22583
+ /** Lines to mark, as numbers and ranges such as `12, 40-44`. */
22584
+ markLines?: (HelixLog["markLines"]) | undefined;
22585
+ /** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
22586
+ "matches-label"?: (HelixLog["matchesLabel"]) | undefined;
22587
+ /** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
22588
+ matchesLabel?: (HelixLog["matchesLabel"]) | undefined;
22589
+ /** Whether the log follows its newest line.
22590
+
22591
+ The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
22592
+ consumer refusing it takes the decision and assigns their own value. Not
22593
+ reflected, for the reason `Chat` gives at its own `pinned`: a default of
22594
+ true would write the attribute on upgrade. */
22595
+ pinned?: (HelixLog["pinned"]) | undefined;
22596
+ /** Text a line has to hold to be shown, ignoring case. Empty shows every line. */
22597
+ query?: (HelixLog["query"]) | undefined;
22598
+ /** The words on the button that returns to the newest line, where `resume` is empty. */
22599
+ "resume-label"?: (HelixLog["resumeLabel"]) | undefined;
22600
+ /** The words on the button that returns to the newest line, where `resume` is empty. */
22601
+ resumeLabel?: (HelixLog["resumeLabel"]) | undefined;
22602
+ /** How near the newest line still counts as being at it, in pixels. */
22603
+ threshold?: (HelixLog["threshold"]) | undefined;
22604
+ /** How each line shows its `at`: `absolute` on the clock, `relative` as the
22605
+ time since the first line. Absent shows no time. */
22606
+ timestamps?: (HelixLog["timestamps"]) | undefined;
22607
+ /** Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways. */
22608
+ wrap?: (HelixLog["wrap"]) | undefined;
22609
+ /** The steps the lines from data name in `group`. A step stands where its
22610
+ first line is, and one with no line yet stands at the end.
22611
+
22612
+ Replaced rather than mutated, as `lines` is: a step finishing is a new
22613
+ array with its `status` changed. */
22614
+ groups?: (HelixLog["groups"]) | undefined;
22615
+ /** The lines as data. Reading it gives every line kept, oldest first, with
22616
+ the line still being written left out.
22617
+
22618
+ Replaced rather than mutated: setting it starts the log over with these
22619
+ lines, and `write` adds to them. Set it or write children, not both. */
22620
+ lines?: (HelixLog["lines"]) | undefined;
22621
+ /** Reads each finished line of written text: return the fields to set, such
22622
+ as `level` or `group`, or `null` to drop the line. Lines in `lines` are
22623
+ taken as they are. */
22624
+ parse?: (HelixLog["parse"]) | undefined;
22625
+ /** Text to read as it arrives, to the end: a `ReadableStream` of text or
22626
+ bytes, such as a `fetch` response's body, or an async iterable. Bytes are
22627
+ read as UTF-8. The log sets `done` when it ends, and a new source stops
22628
+ reading the last one. */
22629
+ source?: (HelixLog["source"]) | undefined;
22630
+
22631
+ /** Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable. */
22632
+ "onhelix-before-pin"?: ((e: HelixLogHelixBeforePinElementEvent) => void) | undefined;
22633
+ /** 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. */
22634
+ "onhelix-expand"?: ((e: HelixLogHelixExpandElementEvent) => void) | undefined;
22635
+ /** Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`. */
22636
+ "onhelix-pin"?: ((e: HelixLogHelixPinElementEvent) => void) | undefined;
22637
+ };
22638
+
22639
+ export type HelixLogSolidJsProps = {
22640
+ /** The text shown and announced when there are no rows and none are loading. */
22641
+ "attr:empty-text"?: (HelixLog["emptyText"]) | undefined;
22642
+ /** The text shown and announced when there are no rows and none are loading. */
22643
+ "prop:emptyText"?: (HelixLog["emptyText"]) | undefined;
22644
+ /** Whether the rows are still loading.
22645
+
22646
+ Reflected, because a stylesheet needs it: the rows that are already there
22647
+ are dimmed rather than removed while a new set arrives, and only CSS can
22648
+ say that without the component knowing what a row looks like. */
22649
+ "prop:loading"?: (HelixLog["loading"]) | undefined;
22650
+ /** The text shown and announced while the rows load. */
22651
+ "attr:loading-text"?: (HelixLog["loadingText"]) | undefined;
22652
+ /** The text shown and announced while the rows load. */
22653
+ "prop:loadingText"?: (HelixLog["loadingText"]) | undefined;
22654
+ /** Whether the log opens following its newest line, when `pinned` is not set.
22655
+ `default-pinned="false"` opens it where it starts. */
22656
+ "bool:default-pinned"?: (HelixLog["defaultPinned"]) | undefined;
22657
+ /** Whether the log opens following its newest line, when `pinned` is not set.
22658
+ `default-pinned="false"` opens it where it starts. */
22659
+ "prop:defaultPinned"?: (HelixLog["defaultPinned"]) | undefined;
22660
+ /** Whether the run is over, which a screen reader is told once.
22661
+
22662
+ Set it when output you `write` is complete. A `source` sets it when the
22663
+ stream ends. */
22664
+ "prop:done"?: (HelixLog["done"]) | undefined;
22665
+ /** What a screen reader hears when the run is over. */
22666
+ "attr:done-label"?: (HelixLog["doneLabel"]) | undefined;
22667
+ /** What a screen reader hears when the run is over. */
22668
+ "prop:doneLabel"?: (HelixLog["doneLabel"]) | undefined;
22669
+ /** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
22670
+ "attr:dropped-label"?: (HelixLog["droppedLabel"]) | undefined;
22671
+ /** What the line above the log says once `limit` has let lines go. `{count}` is how many. */
22672
+ "prop:droppedLabel"?: (HelixLog["droppedLabel"]) | undefined;
22673
+ /** What a screen reader hears when lines at `error` arrive. `{count}` is how
22674
+ many arrived together and `{text}` is the first of them. */
22675
+ "attr:error-label"?: (HelixLog["errorLabel"]) | undefined;
22676
+ /** What a screen reader hears when lines at `error` arrive. `{count}` is how
22677
+ many arrived together and `{text}` is the first of them. */
22678
+ "prop:errorLabel"?: (HelixLog["errorLabel"]) | undefined;
22679
+ /** The log's name, read by screen readers, where `label` is empty. */
22680
+ "attr:fallback-label"?: (HelixLog["fallbackLabel"]) | undefined;
22681
+ /** The log's name, read by screen readers, where `label` is empty. */
22682
+ "prop:fallbackLabel"?: (HelixLog["fallbackLabel"]) | undefined;
22683
+ /** What a screen reader hears when a step finishes or fails. `{heading}` is
22684
+ the step's heading and `{status}` is `done` or `failed`. */
22685
+ "attr:group-label"?: (HelixLog["groupLabel"]) | undefined;
22686
+ /** What a screen reader hears when a step finishes or fails. `{heading}` is
22687
+ the step's heading and `{status}` is `done` or `failed`. */
22688
+ "prop:groupLabel"?: (HelixLog["groupLabel"]) | undefined;
22689
+ /** The log's name, read by screen readers. */
22690
+ "prop:label"?: (HelixLog["label"]) | undefined;
22691
+ /** The most lines kept, or 0 to keep them all. Past it the oldest lines are
22692
+ let go, and the line above the log says how many. */
22693
+ "prop:limit"?: (HelixLog["limit"]) | undefined;
22694
+ /** A link for each line number, with `{n}` where the number goes, such as
22695
+ `#L{n}`. Empty leaves the numbers as text. */
22696
+ "attr:line-href"?: (HelixLog["lineHref"]) | undefined;
22697
+ /** A link for each line number, with `{n}` where the number goes, such as
22698
+ `#L{n}`. Empty leaves the numbers as text. */
22699
+ "prop:lineHref"?: (HelixLog["lineHref"]) | undefined;
22700
+ /** What a screen reader hears for the link on a line's number, handed to each
22701
+ line the log draws. `{number}` is the number. */
22702
+ "attr:line-label"?: (HelixLog["lineLabel"]) | undefined;
22703
+ /** What a screen reader hears for the link on a line's number, handed to each
22704
+ line the log draws. `{number}` is the number. */
22705
+ "prop:lineLabel"?: (HelixLog["lineLabel"]) | undefined;
22706
+ /** Whether each line shows its number. */
22707
+ "bool:line-numbers"?: (HelixLog["lineNumbers"]) | undefined;
22708
+ /** Whether each line shows its number. */
22709
+ "prop:lineNumbers"?: (HelixLog["lineNumbers"]) | undefined;
22710
+ /** Lines to mark, as numbers and ranges such as `12, 40-44`. */
22711
+ "attr:mark-lines"?: (HelixLog["markLines"]) | undefined;
22712
+ /** Lines to mark, as numbers and ranges such as `12, 40-44`. */
22713
+ "prop:markLines"?: (HelixLog["markLines"]) | undefined;
22714
+ /** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
22715
+ "attr:matches-label"?: (HelixLog["matchesLabel"]) | undefined;
22716
+ /** What a screen reader hears when `query` changes. `{count}` is how many lines match. */
22717
+ "prop:matchesLabel"?: (HelixLog["matchesLabel"]) | undefined;
22718
+ /** Whether the log follows its newest line.
22719
+
22720
+ The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
22721
+ consumer refusing it takes the decision and assigns their own value. Not
22722
+ reflected, for the reason `Chat` gives at its own `pinned`: a default of
22723
+ true would write the attribute on upgrade. */
22724
+ "prop:pinned"?: (HelixLog["pinned"]) | undefined;
22725
+ /** Text a line has to hold to be shown, ignoring case. Empty shows every line. */
22726
+ "prop:query"?: (HelixLog["query"]) | undefined;
22727
+ /** The words on the button that returns to the newest line, where `resume` is empty. */
22728
+ "attr:resume-label"?: (HelixLog["resumeLabel"]) | undefined;
22729
+ /** The words on the button that returns to the newest line, where `resume` is empty. */
22730
+ "prop:resumeLabel"?: (HelixLog["resumeLabel"]) | undefined;
22731
+ /** How near the newest line still counts as being at it, in pixels. */
22732
+ "prop:threshold"?: (HelixLog["threshold"]) | undefined;
22733
+ /** How each line shows its `at`: `absolute` on the clock, `relative` as the
22734
+ time since the first line. Absent shows no time. */
22735
+ "prop:timestamps"?: (HelixLog["timestamps"]) | undefined;
22736
+ /** Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways. */
22737
+ "prop:wrap"?: (HelixLog["wrap"]) | undefined;
22738
+ /** The steps the lines from data name in `group`. A step stands where its
22739
+ first line is, and one with no line yet stands at the end.
22740
+
22741
+ Replaced rather than mutated, as `lines` is: a step finishing is a new
22742
+ array with its `status` changed. */
22743
+ "prop:groups"?: (HelixLog["groups"]) | undefined;
22744
+ /** The lines as data. Reading it gives every line kept, oldest first, with
22745
+ the line still being written left out.
22746
+
22747
+ Replaced rather than mutated: setting it starts the log over with these
22748
+ lines, and `write` adds to them. Set it or write children, not both. */
22749
+ "prop:lines"?: (HelixLog["lines"]) | undefined;
22750
+ /** Reads each finished line of written text: return the fields to set, such
22751
+ as `level` or `group`, or `null` to drop the line. Lines in `lines` are
22752
+ taken as they are. */
22753
+ "prop:parse"?: (HelixLog["parse"]) | undefined;
22754
+ /** Text to read as it arrives, to the end: a `ReadableStream` of text or
22755
+ bytes, such as a `fetch` response's body, or an async iterable. Bytes are
22756
+ read as UTF-8. The log sets `done` when it ends, and a new source stops
22757
+ reading the last one. */
22758
+ "prop:source"?: (HelixLog["source"]) | undefined;
22759
+ /** Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable. */
22760
+ "on:helix-before-pin"?: ((e: HelixLogHelixBeforePinElementEvent) => void) | undefined;
22761
+ /** 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. */
22762
+ "on:helix-expand"?: ((e: HelixLogHelixExpandElementEvent) => void) | undefined;
22763
+ /** Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`. */
22764
+ "on:helix-pin"?: ((e: HelixLogHelixPinElementEvent) => void) | undefined;
22765
+
22766
+ /** Set the innerHTML of the element */
22767
+ innerHTML?: (string) | undefined;
22768
+ /** Set the textContent of the element */
22769
+ textContent?: (string | number) | undefined;
22770
+ };
22771
+
22369
22772
  /** `HelixMapArea` component event */
22370
22773
  export type HelixMapAreaElementEvent<E = Event> = TypedEvent<HelixMapArea, E>;
22371
22774
  /** `helix-map-part-change` event type */
@@ -29986,6 +30389,10 @@ document, each path, such as `utils.js`, to its source. Not read where
29986
30389
  /** The name of the button that opens the example in a new tab, under
29987
30390
  `controls`. */
29988
30391
  openLabel?: (HelixSandboxPreview["openLabel"]) | undefined;
30392
+ /** Path prefixes the frame may ask this page to fetch for it, separated by
30393
+ spaces, each starting and ending with a slash, such as `/sandbox/ /fonts/`.
30394
+ Empty relays nothing. */
30395
+ relay?: (HelixSandboxPreview["relay"]) | undefined;
29989
30396
  /** The name of the button that reloads the frame's document, under
29990
30397
  `controls`. */
29991
30398
  "reload-label"?: (HelixSandboxPreview["reloadLabel"]) | undefined;
@@ -30085,6 +30492,10 @@ document, each path, such as `utils.js`, to its source. Not read where
30085
30492
  /** The name of the button that opens the example in a new tab, under
30086
30493
  `controls`. */
30087
30494
  "prop:openLabel"?: (HelixSandboxPreview["openLabel"]) | undefined;
30495
+ /** Path prefixes the frame may ask this page to fetch for it, separated by
30496
+ spaces, each starting and ending with a slash, such as `/sandbox/ /fonts/`.
30497
+ Empty relays nothing. */
30498
+ "prop:relay"?: (HelixSandboxPreview["relay"]) | undefined;
30088
30499
  /** The name of the button that reloads the frame's document, under
30089
30500
  `controls`. */
30090
30501
  "attr:reload-label"?: (HelixSandboxPreview["reloadLabel"]) | undefined;
@@ -59210,6 +59621,407 @@ export type CustomElements = {
59210
59621
  HelixLoaderProps & BaseProps<HelixLoader> & BaseEvents<HelixLoader>
59211
59622
  >;
59212
59623
 
59624
+ /**
59625
+ * The heading is a row in the sans face with a caret, the status mark in its
59626
+ * color, the heading, and the duration at the far end. A step that is `done`
59627
+ * takes the success color, one that `failed` the danger color, and one that
59628
+ * is `running` the info color.
59629
+ *
59630
+ * ## Attributes & Properties
59631
+ *
59632
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
59633
+ *
59634
+ * - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
59635
+ * - `open`: Whether the element is open.
59636
+ *
59637
+ * One property, not two, so `dialog.open` answers the question anyone
59638
+ * asking it meant. Writing always applies; `<helix-dialog open>` is the
59639
+ * same statement in markup.
59640
+ *
59641
+ * **Not reflected, and that is required rather than tidy.** Reflection
59642
+ * writes the resolved state back as an attribute, so an element that opened
59643
+ * itself would put `open` on its own host: cloned, serialized for
59644
+ * hydration, or diffed by a framework, it comes back holding whatever the
59645
+ * last reader did rather than what the author wrote. `:state(open)` carries
59646
+ * the resolved state for stylesheets, which is what the mirror is for.
59647
+ * - `duration`: How long the step took, as it should read, such as `12s`.
59648
+ * - `heading`: What the step is called. The `heading` slot replaces it.
59649
+ * - `status`: Where the step stands, which draws a mark before the heading.
59650
+ * - `status-label`/`statusLabel`: What a screen reader hears for the status, after the heading.
59651
+ * `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`.
59652
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
59653
+ *
59654
+ * **Named `whenSettled` because `settled` is taken four times over**, by
59655
+ * Image, Splitter and both color controls, none of them about transitions. A
59656
+ * base class takes the name every subclass then cannot use.
59657
+ *
59658
+ * **The state it reports cannot be watched, which is why this exists.** A
59659
+ * custom state is deliberately not in the DOM, so there is no
59660
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
59661
+ * instead.
59662
+ *
59663
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
59664
+ * the suppression is still active in. That is the distinction `readyToMove`
59665
+ * in `@fusion.dev/helix-testing` is written around.
59666
+ *
59667
+ * It never resolves where `requestAnimationFrame` never fires, which is a
59668
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
59669
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
59670
+ * browser harness's awaits it alone: a browser always runs the frame, and a
59671
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59672
+ *
59673
+ * ## Events
59674
+ *
59675
+ * Events that will be emitted by the component.
59676
+ *
59677
+ * - `toggle`: Fired after the group opens or closes, with `newState` and `oldState`.
59678
+ * - `helix-before-close`: Fired before the group closes. Cancelable.
59679
+ * - `helix-before-open`: Fired before the group opens. Cancelable.
59680
+ *
59681
+ * ## Slots
59682
+ *
59683
+ * Areas where markup can be added to the component.
59684
+ *
59685
+ * - `(default)`: The lines of the step, and any groups inside it.
59686
+ * - `heading`: The heading, where it holds more than text. Defaults to `heading`.
59687
+ *
59688
+ * ## Methods
59689
+ *
59690
+ * Methods that can be called to access component functionality.
59691
+ *
59692
+ * - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
59693
+ * was applied.
59694
+ *
59695
+ * Announces before it acts, so `preventDefault()` on the `helix-before-open` or
59696
+ * `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
59697
+ * element opens or closes itself, whether or not a consumer declared
59698
+ * `open`: a declared property is a seed and a correction, and a consumer
59699
+ * who wants the decision for themselves refuses it and assigns their own.
59700
+ * - `toggleOpen() => boolean`: Requests the opposite of the current state.
59701
+ *
59702
+ * ## CSS Parts
59703
+ *
59704
+ * Custom selectors for styling elements within the component.
59705
+ *
59706
+ * - `content`: The lines, hidden while the group is shut.
59707
+ * - `duration`: How long the step took.
59708
+ * - `heading`: The heading.
59709
+ * - `mark`: The caret that turns as the group opens, an `<svg>` you size.
59710
+ * - `status`: The mark for the status, an `<svg>` you size.
59711
+ * - `summary`: The button that opens and closes the group.
59712
+ *
59713
+ * ## CSS States
59714
+ *
59715
+ * These can be used to apply styling when a component is in a given state.
59716
+ *
59717
+ * - `open`: The group shows its lines.
59718
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
59719
+ */
59720
+ "helix-log-group": Partial<
59721
+ HelixLogGroupProps & BaseProps<HelixLogGroup> & BaseEvents<HelixLogGroup>
59722
+ >;
59723
+
59724
+ /**
59725
+ * A row with the number, the time, and the text side by side. A line at
59726
+ * `warn` or `error` takes a band of its color, and a line `mark-lines` names
59727
+ * takes the band `Code Block` draws behind a marked line.
59728
+ *
59729
+ * ## Attributes & Properties
59730
+ *
59731
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
59732
+ *
59733
+ * - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
59734
+ * - `level`: How much the line matters. Absent is `info`.
59735
+ * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
59736
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
59737
+ *
59738
+ * **Named `whenSettled` because `settled` is taken four times over**, by
59739
+ * Image, Splitter and both color controls, none of them about transitions. A
59740
+ * base class takes the name every subclass then cannot use.
59741
+ *
59742
+ * **The state it reports cannot be watched, which is why this exists.** A
59743
+ * custom state is deliberately not in the DOM, so there is no
59744
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
59745
+ * instead.
59746
+ *
59747
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
59748
+ * the suppression is still active in. That is the distinction `readyToMove`
59749
+ * in `@fusion.dev/helix-testing` is written around.
59750
+ *
59751
+ * It never resolves where `requestAnimationFrame` never fires, which is a
59752
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
59753
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
59754
+ * browser harness's awaits it alone: a browser always runs the frame, and a
59755
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59756
+ *
59757
+ * ## Slots
59758
+ *
59759
+ * Areas where markup can be added to the component.
59760
+ *
59761
+ * - `(default)`: The text of the line.
59762
+ *
59763
+ * ## CSS Custom Properties
59764
+ *
59765
+ * CSS variables available for styling the component.
59766
+ *
59767
+ * - `--log-error-color`: The color of a line at `error`, and of the band behind it. Defaults to the danger color.
59768
+ * - `--log-mark-background-color`: The band behind a line `mark-lines` names.
59769
+ * - `--log-match-background-color`: The fill behind text that matches the log's `query`.
59770
+ * - `--log-warn-color`: The color of a line at `warn`, and of the band behind it. Defaults to the warning color.
59771
+ * - `--log-run-background-color`: Written on a `run` with a background, in the same form as `--log-run-color`.
59772
+ * - `--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.
59773
+ *
59774
+ * ## CSS Parts
59775
+ *
59776
+ * Custom selectors for styling elements within the component.
59777
+ *
59778
+ * - `line`: The row the number, the time, and the text sit in.
59779
+ * - `line-debug`: The row of a line at `debug`.
59780
+ * - `line-error`: The row of a line at `error`.
59781
+ * - `line-marked`: The row of a line `mark-lines` names on the log.
59782
+ * - `line-warn`: The row of a line at `warn`.
59783
+ * - `match`: Text that matches the log's `query`, in a line the log draws from data.
59784
+ * - `number`: The line's number, shown with `line-numbers`, and a link with `line-href`.
59785
+ * - `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`.
59786
+ * - `run-bold`: A run drawn bold.
59787
+ * - `run-dim`: A run drawn faint.
59788
+ * - `run-italic`: A run drawn italic.
59789
+ * - `run-strike`: A run drawn struck through.
59790
+ * - `run-underline`: A run drawn underlined.
59791
+ * - `text`: The text of the line.
59792
+ * - `time`: When the line was written, shown with `timestamps`.
59793
+ *
59794
+ * ## CSS States
59795
+ *
59796
+ * These can be used to apply styling when a component is in a given state.
59797
+ *
59798
+ * - `filtered`: The log's `query` does not match the line, so it draws nothing.
59799
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
59800
+ */
59801
+ "helix-log-line": Partial<
59802
+ HelixLogLineProps & BaseProps<HelixLogLine> & BaseEvents<HelixLogLine>
59803
+ >;
59804
+
59805
+ /**
59806
+ * A bordered box in the monospaced face, at the size of the page's small
59807
+ * text, that scrolls after 30rem (`--log-max-block-size`). Lines keep their
59808
+ * spaces and run past the edge of the box, which scrolls sideways, until
59809
+ * `wrap` is set.
59810
+ *
59811
+ * The sixteen ANSI colors come from your theme: red is the danger color,
59812
+ * green success, yellow warning, and blue info. Set `--log-ansi-red` and its
59813
+ * siblings on the log to choose them yourself.
59814
+ *
59815
+ * Put a search field or the controls for the log in the `toolbar` slot, in
59816
+ * one element such as a `Toolbar` or a `Flex`. It sits above the lines with a
59817
+ * rule under it.
59818
+ *
59819
+ * ## Attributes & Properties
59820
+ *
59821
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
59822
+ *
59823
+ * - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
59824
+ * - `loading`: Whether the rows are still loading.
59825
+ *
59826
+ * Reflected, because a stylesheet needs it: the rows that are already there
59827
+ * are dimmed rather than removed while a new set arrives, and only CSS can
59828
+ * say that without the component knowing what a row looks like.
59829
+ * - `loading-text`/`loadingText`: The text shown and announced while the rows load.
59830
+ * - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
59831
+ * `default-pinned="false"` opens it where it starts.
59832
+ * - `done`: Whether the run is over, which a screen reader is told once.
59833
+ *
59834
+ * Set it when output you `write` is complete. A `source` sets it when the
59835
+ * stream ends.
59836
+ * - `done-label`/`doneLabel`: What a screen reader hears when the run is over.
59837
+ * - `dropped-label`/`droppedLabel`: What the line above the log says once `limit` has let lines go. `{count}` is how many.
59838
+ * - `error-label`/`errorLabel`: What a screen reader hears when lines at `error` arrive. `{count}` is how
59839
+ * many arrived together and `{text}` is the first of them.
59840
+ * - `fallback-label`/`fallbackLabel`: The log's name, read by screen readers, where `label` is empty.
59841
+ * - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
59842
+ * the step's heading and `{status}` is `done` or `failed`.
59843
+ * - `label`: The log's name, read by screen readers.
59844
+ * - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
59845
+ * let go, and the line above the log says how many.
59846
+ * - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
59847
+ * `#L{n}`. Empty leaves the numbers as text.
59848
+ * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number, handed to each
59849
+ * line the log draws. `{number}` is the number.
59850
+ * - `line-numbers`/`lineNumbers`: Whether each line shows its number.
59851
+ * - `mark-lines`/`markLines`: Lines to mark, as numbers and ranges such as `12, 40-44`.
59852
+ * - `matches-label`/`matchesLabel`: What a screen reader hears when `query` changes. `{count}` is how many lines match.
59853
+ * - `pinned`: Whether the log follows its newest line.
59854
+ *
59855
+ * The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
59856
+ * consumer refusing it takes the decision and assigns their own value. Not
59857
+ * reflected, for the reason `Chat` gives at its own `pinned`: a default of
59858
+ * true would write the attribute on upgrade.
59859
+ * - `query`: Text a line has to hold to be shown, ignoring case. Empty shows every line.
59860
+ * - `resume-label`/`resumeLabel`: The words on the button that returns to the newest line, where `resume` is empty.
59861
+ * - `threshold`: How near the newest line still counts as being at it, in pixels.
59862
+ * - `timestamps`: How each line shows its `at`: `absolute` on the clock, `relative` as the
59863
+ * time since the first line. Absent shows no time.
59864
+ * - `wrap`: Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways.
59865
+ * - `groups`: The steps the lines from data name in `group`. A step stands where its
59866
+ * first line is, and one with no line yet stands at the end.
59867
+ *
59868
+ * Replaced rather than mutated, as `lines` is: a step finishing is a new
59869
+ * array with its `status` changed. (property only)
59870
+ * - `lines`: The lines as data. Reading it gives every line kept, oldest first, with
59871
+ * the line still being written left out.
59872
+ *
59873
+ * Replaced rather than mutated: setting it starts the log over with these
59874
+ * lines, and `write` adds to them. Set it or write children, not both. (property only)
59875
+ * - `parse`: Reads each finished line of written text: return the fields to set, such
59876
+ * as `level` or `group`, or `null` to drop the line. Lines in `lines` are
59877
+ * taken as they are. (property only)
59878
+ * - `source`: Text to read as it arrives, to the end: a `ReadableStream` of text or
59879
+ * bytes, such as a `fetch` response's body, or an async iterable. Bytes are
59880
+ * read as UTF-8. The log sets `done` when it ends, and a new source stops
59881
+ * reading the last one. (property only)
59882
+ * - `text`: Every line kept, as plain text with the escape codes taken out, one to a
59883
+ * row: what a download or a copy of the log should hold. (property only) (readonly)
59884
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
59885
+ *
59886
+ * **Named `whenSettled` because `settled` is taken four times over**, by
59887
+ * Image, Splitter and both color controls, none of them about transitions. A
59888
+ * base class takes the name every subclass then cannot use.
59889
+ *
59890
+ * **The state it reports cannot be watched, which is why this exists.** A
59891
+ * custom state is deliberately not in the DOM, so there is no
59892
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
59893
+ * instead.
59894
+ *
59895
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
59896
+ * the suppression is still active in. That is the distinction `readyToMove`
59897
+ * in `@fusion.dev/helix-testing` is written around.
59898
+ *
59899
+ * It never resolves where `requestAnimationFrame` never fires, which is a
59900
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
59901
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
59902
+ * browser harness's awaits it alone: a browser always runs the frame, and a
59903
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
59904
+ *
59905
+ * ## Events
59906
+ *
59907
+ * Events that will be emitted by the component.
59908
+ *
59909
+ * - `helix-before-pin`: Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable.
59910
+ * - `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.
59911
+ * - `helix-pin`: Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`.
59912
+ *
59913
+ * ## Slots
59914
+ *
59915
+ * Areas where markup can be added to the component.
59916
+ *
59917
+ * - `(default)`: The lines, as `Log.Line` and `Log.Group` elements.
59918
+ * - `resume`: The control that returns to the newest line, shown while the reader is scrolled away. Defaults to a button named by `resume-label`.
59919
+ * - `toolbar`: Controls above the log, such as a search field or a button that wraps lines.
59920
+ *
59921
+ * ## Methods
59922
+ *
59923
+ * Methods that can be called to access component functionality.
59924
+ *
59925
+ * - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
59926
+ * after the last one is the line still being written.
59927
+ * - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
59928
+ * `groups`, `parse`, and `limit`.
59929
+ * - `resume() => void`: Puts the log back at its newest line, and follows it again.
59930
+ * - `scrollToLine(number: number, options: LogScrollOptions = {}) => Promise<boolean>`: Scrolls to line `number`, counted from the first line ever written, and
59931
+ * stops following the newest. Opens a shut group the line is in. Resolves
59932
+ * to whether the line is shown: false for a line `limit` let go or `query`
59933
+ * hides.
59934
+ *
59935
+ * ## CSS Custom Properties
59936
+ *
59937
+ * CSS variables available for styling the component.
59938
+ *
59939
+ * - `--log-background-color`: The fill behind the lines. Defaults to the page background.
59940
+ * - `--log-border-color`: The edge around the log and the rules inside it.
59941
+ * - `--log-color`: The text color of the lines.
59942
+ * - `--log-font-family`: The face of the lines. Defaults to the monospaced face.
59943
+ * - `--log-font-size`: The size of the lines. Defaults to the small text step.
59944
+ * - `--log-line-height`: The height of one line.
59945
+ * - `--log-max-block-size`: How tall the log may get before the lines scroll. Defaults to 30rem.
59946
+ * - `--log-padding-inline`: Space either side of every line and heading.
59947
+ * - `--log-radius`: The corners of the log.
59948
+ * - `--log-scrollbar-thumb-color`: The thumb of the scrollbar. Defaults to `--helix-scrollbar-thumb-color`.
59949
+ * - `--log-scrollbar-track-color`: The track of the scrollbar. Defaults to `--helix-scrollbar-track-color`.
59950
+ * - `--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.
59951
+ * - `--log-ansi-black`: The ANSI color black, which codes `30` and `40` draw.
59952
+ * - `--log-ansi-blue`: The ANSI color blue, which codes `34` and `44` draw.
59953
+ * - `--log-ansi-bright-black`: The ANSI color bright black, which codes `90` and `100` draw.
59954
+ * - `--log-ansi-bright-blue`: The ANSI color bright blue, which codes `94` and `104` draw.
59955
+ * - `--log-ansi-bright-cyan`: The ANSI color bright cyan, which codes `96` and `106` draw.
59956
+ * - `--log-ansi-bright-green`: The ANSI color bright green, which codes `92` and `102` draw.
59957
+ * - `--log-ansi-bright-magenta`: The ANSI color bright magenta, which codes `95` and `105` draw.
59958
+ * - `--log-ansi-bright-red`: The ANSI color bright red, which codes `91` and `101` draw.
59959
+ * - `--log-ansi-bright-white`: The ANSI color bright white, which codes `97` and `107` draw.
59960
+ * - `--log-ansi-bright-yellow`: The ANSI color bright yellow, which codes `93` and `103` draw.
59961
+ * - `--log-ansi-cyan`: The ANSI color cyan, which codes `36` and `46` draw.
59962
+ * - `--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.
59963
+ * - `--log-ansi-green`: The ANSI color green, which codes `32` and `42` draw.
59964
+ * - `--log-ansi-magenta`: The ANSI color magenta, which codes `35` and `45` draw.
59965
+ * - `--log-ansi-red`: The ANSI color red, which codes `31` and `41` draw.
59966
+ * - `--log-ansi-white`: The ANSI color white, which codes `37` and `47` draw.
59967
+ * - `--log-ansi-yellow`: The ANSI color yellow, which codes `33` and `43` draw.
59968
+ * - `--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.
59969
+ *
59970
+ * ## CSS Parts
59971
+ *
59972
+ * Custom selectors for styling elements within the component.
59973
+ *
59974
+ * - `after`: The space the rows below the drawn ones would take. Only for lines drawn from data.
59975
+ * - `before`: The space the rows above the drawn ones would take. Only for lines drawn from data.
59976
+ * - `dropped`: The line above the log that says how many earlier lines `limit` let go.
59977
+ * - `empty`: Shown when the log has no lines.
59978
+ * - `group-content`: Not drawn: a group drawn from data stands for its heading, and its lines are rows beside it.
59979
+ * - `group-duration`: How long a step drawn from `groups` took.
59980
+ * - `group-heading`: The heading of a step drawn from `groups`.
59981
+ * - `group-mark`: The caret of a step drawn from `groups`.
59982
+ * - `group-status`: The status mark of a step drawn from `groups`.
59983
+ * - `group-summary`: The button that opens and closes a step drawn from `groups`.
59984
+ * - `group-summary-done`: The button of a step drawn from `groups` that is `done`.
59985
+ * - `group-summary-failed`: The button of a step drawn from `groups` that `failed`.
59986
+ * - `group-summary-pending`: The button of a step drawn from `groups` that is `pending`.
59987
+ * - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
59988
+ * - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
59989
+ * - `line`: The row of a line drawn from data.
59990
+ * - `line-debug`: The row of a line drawn from data at `debug`.
59991
+ * - `line-error`: The row of a line drawn from data at `error`.
59992
+ * - `line-marked`: The row of a line drawn from data that `mark-lines` names.
59993
+ * - `line-match`: Text in a line drawn from data that matches `query`.
59994
+ * - `line-number`: The number of a line drawn from data.
59995
+ * - `line-run`: A stretch of a line drawn from data in an ANSI style.
59996
+ * - `line-run-bold`: A run drawn bold.
59997
+ * - `line-run-dim`: A run drawn faint.
59998
+ * - `line-run-italic`: A run drawn italic.
59999
+ * - `line-run-strike`: A run drawn struck through.
60000
+ * - `line-run-underline`: A run drawn underlined.
60001
+ * - `line-text`: The text of a line drawn from data.
60002
+ * - `line-time`: The time of a line drawn from data.
60003
+ * - `line-warn`: The row of a line drawn from data at `warn`.
60004
+ * - `live`: The region where screen readers hear errors, finished steps, and the end of the run.
60005
+ * - `loading`: Shown while `loading` is set.
60006
+ * - `log`: The lines, which scroll. On this tier, it needs only a block size.
60007
+ * - `resume`: The control shown while the reader is scrolled away from the newest line.
60008
+ * - `resume-button`: The button the `resume` region shows when nothing is slotted into it.
60009
+ * - `resume-mark`: The arrow on the default `resume-button`.
60010
+ * - `row`: The wrapper around one row drawn from data, a line or a group's heading.
60011
+ * - `toolbar`: The `toolbar` slot, above the log.
60012
+ *
60013
+ * ## CSS States
60014
+ *
60015
+ * These can be used to apply styling when a component is in a given state.
60016
+ *
60017
+ * - `done`: The run is over: `done` is set, or `source` ended.
60018
+ * - `empty`: The log has no lines.
60019
+ * - `filtered`: `query` is set, so only matching lines are shown.
60020
+ * - `pinned`: The log follows its newest line.
60021
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
60022
+ */
60023
+ "helix-log": Partial<HelixLogProps & BaseProps<HelixLog> & BaseEvents<HelixLog>>;
60024
+
59213
60025
  /**
59214
60026
  * Fills the area in your theme's colors. Uses your primary color unless
59215
60027
  * `tone` sets another.
@@ -65094,6 +65906,21 @@ export type CustomElements = {
65094
65906
  * reader reads it with the frame. Hide it with `::part(error) { display: none }`
65095
65907
  * where the page draws its own.
65096
65908
  *
65909
+ * **`relay` lets a frame on a login-protected site load its own files.** The
65910
+ * frame's opaque origin makes every request it sends cross-site, and a login
65911
+ * cookie is not sent on one, so behind a login such as a Vercel preview the
65912
+ * frame's script and stylesheet come back as the login page. With `relay` set
65913
+ * to path prefixes, such as `/sandbox/ /fonts/`, the frame can ask this
65914
+ * element for a file under them and gets the body back, fetched from this
65915
+ * page with its cookies. The page fetches only a `GET` on its own origin,
65916
+ * under those prefixes, in plain characters, following no redirect, and it
65917
+ * passes on only a script, a stylesheet, a font, a model, or an image of up
65918
+ * to 8 MB. Name only prefixes that hold files the site serves to anyone: an
65919
+ * example in the frame is untrusted, and it can ask too. Empty, the default,
65920
+ * relays nothing. A frame asks only while its own origin is opaque, so a page
65921
+ * elsewhere that frames the same document without a sandbox cannot use the
65922
+ * answer to run script on the site.
65923
+ *
65097
65924
  * **`controls` draws two buttons in the preview's corner**: one reloads the
65098
65925
  * frame's document, as `reload()` does, and one opens the example in a new
65099
65926
  * tab, as `open()` does. The tab runs it in a frame sandboxed as this one is.
@@ -65150,6 +65977,9 @@ export type CustomElements = {
65150
65977
  * `src` is set.
65151
65978
  * - `open-label`/`openLabel`: The name of the button that opens the example in a new tab, under
65152
65979
  * `controls`.
65980
+ * - `relay`: Path prefixes the frame may ask this page to fetch for it, separated by
65981
+ * spaces, each starting and ending with a slash, such as `/sandbox/ /fonts/`.
65982
+ * Empty relays nothing.
65153
65983
  * - `reload-label`/`reloadLabel`: The name of the button that reloads the frame's document, under
65154
65984
  * `controls`.
65155
65985
  * - `script`: A script to run as a module after the markup, on every render of new
@@ -90936,6 +91766,415 @@ export type CustomElementsSolidJs = {
90936
91766
  BaseEvents<HelixLoader>
90937
91767
  >;
90938
91768
 
91769
+ /**
91770
+ * The heading is a row in the sans face with a caret, the status mark in its
91771
+ * color, the heading, and the duration at the far end. A step that is `done`
91772
+ * takes the success color, one that `failed` the danger color, and one that
91773
+ * is `running` the info color.
91774
+ *
91775
+ * ## Attributes & Properties
91776
+ *
91777
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
91778
+ *
91779
+ * - `default-open`/`defaultOpen`: Whether the element starts open. Ignored once `open` is written.
91780
+ * - `open`: Whether the element is open.
91781
+ *
91782
+ * One property, not two, so `dialog.open` answers the question anyone
91783
+ * asking it meant. Writing always applies; `<helix-dialog open>` is the
91784
+ * same statement in markup.
91785
+ *
91786
+ * **Not reflected, and that is required rather than tidy.** Reflection
91787
+ * writes the resolved state back as an attribute, so an element that opened
91788
+ * itself would put `open` on its own host: cloned, serialized for
91789
+ * hydration, or diffed by a framework, it comes back holding whatever the
91790
+ * last reader did rather than what the author wrote. `:state(open)` carries
91791
+ * the resolved state for stylesheets, which is what the mirror is for.
91792
+ * - `duration`: How long the step took, as it should read, such as `12s`.
91793
+ * - `heading`: What the step is called. The `heading` slot replaces it.
91794
+ * - `status`: Where the step stands, which draws a mark before the heading.
91795
+ * - `status-label`/`statusLabel`: What a screen reader hears for the status, after the heading.
91796
+ * `{status}` is one of `pending`, `running`, `done`, `failed`, and `skipped`.
91797
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
91798
+ *
91799
+ * **Named `whenSettled` because `settled` is taken four times over**, by
91800
+ * Image, Splitter and both color controls, none of them about transitions. A
91801
+ * base class takes the name every subclass then cannot use.
91802
+ *
91803
+ * **The state it reports cannot be watched, which is why this exists.** A
91804
+ * custom state is deliberately not in the DOM, so there is no
91805
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
91806
+ * instead.
91807
+ *
91808
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
91809
+ * the suppression is still active in. That is the distinction `readyToMove`
91810
+ * in `@fusion.dev/helix-testing` is written around.
91811
+ *
91812
+ * It never resolves where `requestAnimationFrame` never fires, which is a
91813
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
91814
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
91815
+ * browser harness's awaits it alone: a browser always runs the frame, and a
91816
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
91817
+ *
91818
+ * ## Events
91819
+ *
91820
+ * Events that will be emitted by the component.
91821
+ *
91822
+ * - `toggle`: Fired after the group opens or closes, with `newState` and `oldState`.
91823
+ * - `helix-before-close`: Fired before the group closes. Cancelable.
91824
+ * - `helix-before-open`: Fired before the group opens. Cancelable.
91825
+ *
91826
+ * ## Slots
91827
+ *
91828
+ * Areas where markup can be added to the component.
91829
+ *
91830
+ * - `(default)`: The lines of the step, and any groups inside it.
91831
+ * - `heading`: The heading, where it holds more than text. Defaults to `heading`.
91832
+ *
91833
+ * ## Methods
91834
+ *
91835
+ * Methods that can be called to access component functionality.
91836
+ *
91837
+ * - `requestOpen(next: boolean) => boolean`: Requests that the element open or close, and returns whether the change
91838
+ * was applied.
91839
+ *
91840
+ * Announces before it acts, so `preventDefault()` on the `helix-before-open` or
91841
+ * `helix-before-close` is a refusal and nothing moves. Nobody refusing means the
91842
+ * element opens or closes itself, whether or not a consumer declared
91843
+ * `open`: a declared property is a seed and a correction, and a consumer
91844
+ * who wants the decision for themselves refuses it and assigns their own.
91845
+ * - `toggleOpen() => boolean`: Requests the opposite of the current state.
91846
+ *
91847
+ * ## CSS Parts
91848
+ *
91849
+ * Custom selectors for styling elements within the component.
91850
+ *
91851
+ * - `content`: The lines, hidden while the group is shut.
91852
+ * - `duration`: How long the step took.
91853
+ * - `heading`: The heading.
91854
+ * - `mark`: The caret that turns as the group opens, an `<svg>` you size.
91855
+ * - `status`: The mark for the status, an `<svg>` you size.
91856
+ * - `summary`: The button that opens and closes the group.
91857
+ *
91858
+ * ## CSS States
91859
+ *
91860
+ * These can be used to apply styling when a component is in a given state.
91861
+ *
91862
+ * - `open`: The group shows its lines.
91863
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
91864
+ */
91865
+ "helix-log-group": Partial<
91866
+ HelixLogGroupProps &
91867
+ HelixLogGroupSolidJsProps &
91868
+ BaseProps<HelixLogGroup> &
91869
+ BaseEvents<HelixLogGroup>
91870
+ >;
91871
+
91872
+ /**
91873
+ * A row with the number, the time, and the text side by side. A line at
91874
+ * `warn` or `error` takes a band of its color, and a line `mark-lines` names
91875
+ * takes the band `Code Block` draws behind a marked line.
91876
+ *
91877
+ * ## Attributes & Properties
91878
+ *
91879
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
91880
+ *
91881
+ * - `at`: When the line was written: milliseconds since the epoch, or anything `Date` parses.
91882
+ * - `level`: How much the line matters. Absent is `info`.
91883
+ * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number. `{number}` is the number.
91884
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
91885
+ *
91886
+ * **Named `whenSettled` because `settled` is taken four times over**, by
91887
+ * Image, Splitter and both color controls, none of them about transitions. A
91888
+ * base class takes the name every subclass then cannot use.
91889
+ *
91890
+ * **The state it reports cannot be watched, which is why this exists.** A
91891
+ * custom state is deliberately not in the DOM, so there is no
91892
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
91893
+ * instead.
91894
+ *
91895
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
91896
+ * the suppression is still active in. That is the distinction `readyToMove`
91897
+ * in `@fusion.dev/helix-testing` is written around.
91898
+ *
91899
+ * It never resolves where `requestAnimationFrame` never fires, which is a
91900
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
91901
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
91902
+ * browser harness's awaits it alone: a browser always runs the frame, and a
91903
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
91904
+ *
91905
+ * ## Slots
91906
+ *
91907
+ * Areas where markup can be added to the component.
91908
+ *
91909
+ * - `(default)`: The text of the line.
91910
+ *
91911
+ * ## CSS Custom Properties
91912
+ *
91913
+ * CSS variables available for styling the component.
91914
+ *
91915
+ * - `--log-error-color`: The color of a line at `error`, and of the band behind it. Defaults to the danger color.
91916
+ * - `--log-mark-background-color`: The band behind a line `mark-lines` names.
91917
+ * - `--log-match-background-color`: The fill behind text that matches the log's `query`.
91918
+ * - `--log-warn-color`: The color of a line at `warn`, and of the band behind it. Defaults to the warning color.
91919
+ * - `--log-run-background-color`: Written on a `run` with a background, in the same form as `--log-run-color`.
91920
+ * - `--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.
91921
+ *
91922
+ * ## CSS Parts
91923
+ *
91924
+ * Custom selectors for styling elements within the component.
91925
+ *
91926
+ * - `line`: The row the number, the time, and the text sit in.
91927
+ * - `line-debug`: The row of a line at `debug`.
91928
+ * - `line-error`: The row of a line at `error`.
91929
+ * - `line-marked`: The row of a line `mark-lines` names on the log.
91930
+ * - `line-warn`: The row of a line at `warn`.
91931
+ * - `match`: Text that matches the log's `query`, in a line the log draws from data.
91932
+ * - `number`: The line's number, shown with `line-numbers`, and a link with `line-href`.
91933
+ * - `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`.
91934
+ * - `run-bold`: A run drawn bold.
91935
+ * - `run-dim`: A run drawn faint.
91936
+ * - `run-italic`: A run drawn italic.
91937
+ * - `run-strike`: A run drawn struck through.
91938
+ * - `run-underline`: A run drawn underlined.
91939
+ * - `text`: The text of the line.
91940
+ * - `time`: When the line was written, shown with `timestamps`.
91941
+ *
91942
+ * ## CSS States
91943
+ *
91944
+ * These can be used to apply styling when a component is in a given state.
91945
+ *
91946
+ * - `filtered`: The log's `query` does not match the line, so it draws nothing.
91947
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
91948
+ */
91949
+ "helix-log-line": Partial<
91950
+ HelixLogLineProps &
91951
+ HelixLogLineSolidJsProps &
91952
+ BaseProps<HelixLogLine> &
91953
+ BaseEvents<HelixLogLine>
91954
+ >;
91955
+
91956
+ /**
91957
+ * A bordered box in the monospaced face, at the size of the page's small
91958
+ * text, that scrolls after 30rem (`--log-max-block-size`). Lines keep their
91959
+ * spaces and run past the edge of the box, which scrolls sideways, until
91960
+ * `wrap` is set.
91961
+ *
91962
+ * The sixteen ANSI colors come from your theme: red is the danger color,
91963
+ * green success, yellow warning, and blue info. Set `--log-ansi-red` and its
91964
+ * siblings on the log to choose them yourself.
91965
+ *
91966
+ * Put a search field or the controls for the log in the `toolbar` slot, in
91967
+ * one element such as a `Toolbar` or a `Flex`. It sits above the lines with a
91968
+ * rule under it.
91969
+ *
91970
+ * ## Attributes & Properties
91971
+ *
91972
+ * Component attributes and properties that can be applied to the element or by using JavaScript.
91973
+ *
91974
+ * - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
91975
+ * - `loading`: Whether the rows are still loading.
91976
+ *
91977
+ * Reflected, because a stylesheet needs it: the rows that are already there
91978
+ * are dimmed rather than removed while a new set arrives, and only CSS can
91979
+ * say that without the component knowing what a row looks like.
91980
+ * - `loading-text`/`loadingText`: The text shown and announced while the rows load.
91981
+ * - `default-pinned`/`defaultPinned`: Whether the log opens following its newest line, when `pinned` is not set.
91982
+ * `default-pinned="false"` opens it where it starts.
91983
+ * - `done`: Whether the run is over, which a screen reader is told once.
91984
+ *
91985
+ * Set it when output you `write` is complete. A `source` sets it when the
91986
+ * stream ends.
91987
+ * - `done-label`/`doneLabel`: What a screen reader hears when the run is over.
91988
+ * - `dropped-label`/`droppedLabel`: What the line above the log says once `limit` has let lines go. `{count}` is how many.
91989
+ * - `error-label`/`errorLabel`: What a screen reader hears when lines at `error` arrive. `{count}` is how
91990
+ * many arrived together and `{text}` is the first of them.
91991
+ * - `fallback-label`/`fallbackLabel`: The log's name, read by screen readers, where `label` is empty.
91992
+ * - `group-label`/`groupLabel`: What a screen reader hears when a step finishes or fails. `{heading}` is
91993
+ * the step's heading and `{status}` is `done` or `failed`.
91994
+ * - `label`: The log's name, read by screen readers.
91995
+ * - `limit`: The most lines kept, or 0 to keep them all. Past it the oldest lines are
91996
+ * let go, and the line above the log says how many.
91997
+ * - `line-href`/`lineHref`: A link for each line number, with `{n}` where the number goes, such as
91998
+ * `#L{n}`. Empty leaves the numbers as text.
91999
+ * - `line-label`/`lineLabel`: What a screen reader hears for the link on a line's number, handed to each
92000
+ * line the log draws. `{number}` is the number.
92001
+ * - `line-numbers`/`lineNumbers`: Whether each line shows its number.
92002
+ * - `mark-lines`/`markLines`: Lines to mark, as numbers and ranges such as `12, 40-44`.
92003
+ * - `matches-label`/`matchesLabel`: What a screen reader hears when `query` changes. `{count}` is how many lines match.
92004
+ * - `pinned`: Whether the log follows its newest line.
92005
+ *
92006
+ * The reader's scrolling asks first: `helix-before-pin` is cancelable, so a
92007
+ * consumer refusing it takes the decision and assigns their own value. Not
92008
+ * reflected, for the reason `Chat` gives at its own `pinned`: a default of
92009
+ * true would write the attribute on upgrade.
92010
+ * - `query`: Text a line has to hold to be shown, ignoring case. Empty shows every line.
92011
+ * - `resume-label`/`resumeLabel`: The words on the button that returns to the newest line, where `resume` is empty.
92012
+ * - `threshold`: How near the newest line still counts as being at it, in pixels.
92013
+ * - `timestamps`: How each line shows its `at`: `absolute` on the clock, `relative` as the
92014
+ * time since the first line. Absent shows no time.
92015
+ * - `wrap`: Whether a line longer than the box wraps onto the next row. Otherwise the log scrolls sideways.
92016
+ * - `groups`: The steps the lines from data name in `group`. A step stands where its
92017
+ * first line is, and one with no line yet stands at the end.
92018
+ *
92019
+ * Replaced rather than mutated, as `lines` is: a step finishing is a new
92020
+ * array with its `status` changed. (property only)
92021
+ * - `lines`: The lines as data. Reading it gives every line kept, oldest first, with
92022
+ * the line still being written left out.
92023
+ *
92024
+ * Replaced rather than mutated: setting it starts the log over with these
92025
+ * lines, and `write` adds to them. Set it or write children, not both. (property only)
92026
+ * - `parse`: Reads each finished line of written text: return the fields to set, such
92027
+ * as `level` or `group`, or `null` to drop the line. Lines in `lines` are
92028
+ * taken as they are. (property only)
92029
+ * - `source`: Text to read as it arrives, to the end: a `ReadableStream` of text or
92030
+ * bytes, such as a `fetch` response's body, or an async iterable. Bytes are
92031
+ * read as UTF-8. The log sets `done` when it ends, and a new source stops
92032
+ * reading the last one. (property only)
92033
+ * - `text`: Every line kept, as plain text with the escape codes taken out, one to a
92034
+ * row: what a download or a copy of the log should hold. (property only) (readonly)
92035
+ * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
92036
+ *
92037
+ * **Named `whenSettled` because `settled` is taken four times over**, by
92038
+ * Image, Splitter and both color controls, none of them about transitions. A
92039
+ * base class takes the name every subclass then cannot use.
92040
+ *
92041
+ * **The state it reports cannot be watched, which is why this exists.** A
92042
+ * custom state is deliberately not in the DOM, so there is no
92043
+ * `MutationObserver` equivalent for `ElementInternals.states`. Await this
92044
+ * instead.
92045
+ *
92046
+ * Separate from `updateComplete`, which resolves in the microtask checkpoint
92047
+ * the suppression is still active in. That is the distinction `readyToMove`
92048
+ * in `@fusion.dev/helix-testing` is written around.
92049
+ *
92050
+ * It never resolves where `requestAnimationFrame` never fires, which is a
92051
+ * server, a hidden tab, and happy-dom. Callers that must not hang there race
92052
+ * it against a timeout, as the happy-dom harness's `readyToMove` does. The
92053
+ * browser harness's awaits it alone: a browser always runs the frame, and a
92054
+ * timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
92055
+ *
92056
+ * ## Events
92057
+ *
92058
+ * Events that will be emitted by the component.
92059
+ *
92060
+ * - `helix-before-pin`: Fired when the reader leaves the newest line by scrolling, or comes back to it. Cancelable.
92061
+ * - `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.
92062
+ * - `helix-pin`: Fired after the log follows the newest line or lets go of it, with `true` or `false` in `detail.value`.
92063
+ *
92064
+ * ## Slots
92065
+ *
92066
+ * Areas where markup can be added to the component.
92067
+ *
92068
+ * - `(default)`: The lines, as `Log.Line` and `Log.Group` elements.
92069
+ * - `resume`: The control that returns to the newest line, shown while the reader is scrolled away. Defaults to a button named by `resume-label`.
92070
+ * - `toolbar`: Controls above the log, such as a search field or a button that wraps lines.
92071
+ *
92072
+ * ## Methods
92073
+ *
92074
+ * Methods that can be called to access component functionality.
92075
+ *
92076
+ * - `write(chunk: string) => void`: Adds text as it arrives. A line ends at each line break, and the text
92077
+ * after the last one is the line still being written.
92078
+ * - `clear() => void`: Lets every line go, and forgets which groups the reader opened, keeping
92079
+ * `groups`, `parse`, and `limit`.
92080
+ * - `resume() => void`: Puts the log back at its newest line, and follows it again.
92081
+ * - `scrollToLine(number: number, options: LogScrollOptions = {}) => Promise<boolean>`: Scrolls to line `number`, counted from the first line ever written, and
92082
+ * stops following the newest. Opens a shut group the line is in. Resolves
92083
+ * to whether the line is shown: false for a line `limit` let go or `query`
92084
+ * hides.
92085
+ *
92086
+ * ## CSS Custom Properties
92087
+ *
92088
+ * CSS variables available for styling the component.
92089
+ *
92090
+ * - `--log-background-color`: The fill behind the lines. Defaults to the page background.
92091
+ * - `--log-border-color`: The edge around the log and the rules inside it.
92092
+ * - `--log-color`: The text color of the lines.
92093
+ * - `--log-font-family`: The face of the lines. Defaults to the monospaced face.
92094
+ * - `--log-font-size`: The size of the lines. Defaults to the small text step.
92095
+ * - `--log-line-height`: The height of one line.
92096
+ * - `--log-max-block-size`: How tall the log may get before the lines scroll. Defaults to 30rem.
92097
+ * - `--log-padding-inline`: Space either side of every line and heading.
92098
+ * - `--log-radius`: The corners of the log.
92099
+ * - `--log-scrollbar-thumb-color`: The thumb of the scrollbar. Defaults to `--helix-scrollbar-thumb-color`.
92100
+ * - `--log-scrollbar-track-color`: The track of the scrollbar. Defaults to `--helix-scrollbar-track-color`.
92101
+ * - `--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.
92102
+ * - `--log-ansi-black`: The ANSI color black, which codes `30` and `40` draw.
92103
+ * - `--log-ansi-blue`: The ANSI color blue, which codes `34` and `44` draw.
92104
+ * - `--log-ansi-bright-black`: The ANSI color bright black, which codes `90` and `100` draw.
92105
+ * - `--log-ansi-bright-blue`: The ANSI color bright blue, which codes `94` and `104` draw.
92106
+ * - `--log-ansi-bright-cyan`: The ANSI color bright cyan, which codes `96` and `106` draw.
92107
+ * - `--log-ansi-bright-green`: The ANSI color bright green, which codes `92` and `102` draw.
92108
+ * - `--log-ansi-bright-magenta`: The ANSI color bright magenta, which codes `95` and `105` draw.
92109
+ * - `--log-ansi-bright-red`: The ANSI color bright red, which codes `91` and `101` draw.
92110
+ * - `--log-ansi-bright-white`: The ANSI color bright white, which codes `97` and `107` draw.
92111
+ * - `--log-ansi-bright-yellow`: The ANSI color bright yellow, which codes `93` and `103` draw.
92112
+ * - `--log-ansi-cyan`: The ANSI color cyan, which codes `36` and `46` draw.
92113
+ * - `--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.
92114
+ * - `--log-ansi-green`: The ANSI color green, which codes `32` and `42` draw.
92115
+ * - `--log-ansi-magenta`: The ANSI color magenta, which codes `35` and `45` draw.
92116
+ * - `--log-ansi-red`: The ANSI color red, which codes `31` and `41` draw.
92117
+ * - `--log-ansi-white`: The ANSI color white, which codes `37` and `47` draw.
92118
+ * - `--log-ansi-yellow`: The ANSI color yellow, which codes `33` and `43` draw.
92119
+ * - `--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.
92120
+ *
92121
+ * ## CSS Parts
92122
+ *
92123
+ * Custom selectors for styling elements within the component.
92124
+ *
92125
+ * - `after`: The space the rows below the drawn ones would take. Only for lines drawn from data.
92126
+ * - `before`: The space the rows above the drawn ones would take. Only for lines drawn from data.
92127
+ * - `dropped`: The line above the log that says how many earlier lines `limit` let go.
92128
+ * - `empty`: Shown when the log has no lines.
92129
+ * - `group-content`: Not drawn: a group drawn from data stands for its heading, and its lines are rows beside it.
92130
+ * - `group-duration`: How long a step drawn from `groups` took.
92131
+ * - `group-heading`: The heading of a step drawn from `groups`.
92132
+ * - `group-mark`: The caret of a step drawn from `groups`.
92133
+ * - `group-status`: The status mark of a step drawn from `groups`.
92134
+ * - `group-summary`: The button that opens and closes a step drawn from `groups`.
92135
+ * - `group-summary-done`: The button of a step drawn from `groups` that is `done`.
92136
+ * - `group-summary-failed`: The button of a step drawn from `groups` that `failed`.
92137
+ * - `group-summary-pending`: The button of a step drawn from `groups` that is `pending`.
92138
+ * - `group-summary-running`: The button of a step drawn from `groups` that is `running`.
92139
+ * - `group-summary-skipped`: The button of a step drawn from `groups` that was `skipped`.
92140
+ * - `line`: The row of a line drawn from data.
92141
+ * - `line-debug`: The row of a line drawn from data at `debug`.
92142
+ * - `line-error`: The row of a line drawn from data at `error`.
92143
+ * - `line-marked`: The row of a line drawn from data that `mark-lines` names.
92144
+ * - `line-match`: Text in a line drawn from data that matches `query`.
92145
+ * - `line-number`: The number of a line drawn from data.
92146
+ * - `line-run`: A stretch of a line drawn from data in an ANSI style.
92147
+ * - `line-run-bold`: A run drawn bold.
92148
+ * - `line-run-dim`: A run drawn faint.
92149
+ * - `line-run-italic`: A run drawn italic.
92150
+ * - `line-run-strike`: A run drawn struck through.
92151
+ * - `line-run-underline`: A run drawn underlined.
92152
+ * - `line-text`: The text of a line drawn from data.
92153
+ * - `line-time`: The time of a line drawn from data.
92154
+ * - `line-warn`: The row of a line drawn from data at `warn`.
92155
+ * - `live`: The region where screen readers hear errors, finished steps, and the end of the run.
92156
+ * - `loading`: Shown while `loading` is set.
92157
+ * - `log`: The lines, which scroll. On this tier, it needs only a block size.
92158
+ * - `resume`: The control shown while the reader is scrolled away from the newest line.
92159
+ * - `resume-button`: The button the `resume` region shows when nothing is slotted into it.
92160
+ * - `resume-mark`: The arrow on the default `resume-button`.
92161
+ * - `row`: The wrapper around one row drawn from data, a line or a group's heading.
92162
+ * - `toolbar`: The `toolbar` slot, above the log.
92163
+ *
92164
+ * ## CSS States
92165
+ *
92166
+ * These can be used to apply styling when a component is in a given state.
92167
+ *
92168
+ * - `done`: The run is over: `done` is set, or `source` ended.
92169
+ * - `empty`: The log has no lines.
92170
+ * - `filtered`: `query` is set, so only matching lines are shown.
92171
+ * - `pinned`: The log follows its newest line.
92172
+ * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
92173
+ */
92174
+ "helix-log": Partial<
92175
+ HelixLogProps & HelixLogSolidJsProps & BaseProps<HelixLog> & BaseEvents<HelixLog>
92176
+ >;
92177
+
90939
92178
  /**
90940
92179
  * Fills the area in your theme's colors. Uses your primary color unless
90941
92180
  * `tone` sets another.
@@ -96940,6 +98179,21 @@ export type CustomElementsSolidJs = {
96940
98179
  * reader reads it with the frame. Hide it with `::part(error) { display: none }`
96941
98180
  * where the page draws its own.
96942
98181
  *
98182
+ * **`relay` lets a frame on a login-protected site load its own files.** The
98183
+ * frame's opaque origin makes every request it sends cross-site, and a login
98184
+ * cookie is not sent on one, so behind a login such as a Vercel preview the
98185
+ * frame's script and stylesheet come back as the login page. With `relay` set
98186
+ * to path prefixes, such as `/sandbox/ /fonts/`, the frame can ask this
98187
+ * element for a file under them and gets the body back, fetched from this
98188
+ * page with its cookies. The page fetches only a `GET` on its own origin,
98189
+ * under those prefixes, in plain characters, following no redirect, and it
98190
+ * passes on only a script, a stylesheet, a font, a model, or an image of up
98191
+ * to 8 MB. Name only prefixes that hold files the site serves to anyone: an
98192
+ * example in the frame is untrusted, and it can ask too. Empty, the default,
98193
+ * relays nothing. A frame asks only while its own origin is opaque, so a page
98194
+ * elsewhere that frames the same document without a sandbox cannot use the
98195
+ * answer to run script on the site.
98196
+ *
96943
98197
  * **`controls` draws two buttons in the preview's corner**: one reloads the
96944
98198
  * frame's document, as `reload()` does, and one opens the example in a new
96945
98199
  * tab, as `open()` does. The tab runs it in a frame sandboxed as this one is.
@@ -96996,6 +98250,9 @@ export type CustomElementsSolidJs = {
96996
98250
  * `src` is set.
96997
98251
  * - `open-label`/`openLabel`: The name of the button that opens the example in a new tab, under
96998
98252
  * `controls`.
98253
+ * - `relay`: Path prefixes the frame may ask this page to fetch for it, separated by
98254
+ * spaces, each starting and ending with a slash, such as `/sandbox/ /fonts/`.
98255
+ * Empty relays nothing.
96999
98256
  * - `reload-label`/`reloadLabel`: The name of the button that reloads the frame's document, under
97000
98257
  * `controls`.
97001
98258
  * - `script`: A script to run as a module after the markup, on every render of new
@@ -109352,6 +110609,78 @@ export type CustomCssProperties = {
109352
110609
  "--loader-track-color"?: (string) | undefined;
109353
110610
  /** Width of the arc and the circle behind it, in units of a 24-unit drawing. Defaults to 2. */
109354
110611
  "--loader-track-width"?: (string) | undefined;
110612
+ /** The color of a line at `error`, and of the band behind it. Defaults to the danger color. */
110613
+ "--log-error-color"?: (string) | undefined;
110614
+ /** The band behind a line `mark-lines` names. */
110615
+ "--log-mark-background-color"?: (string) | undefined;
110616
+ /** The fill behind text that matches the log's `query`. */
110617
+ "--log-match-background-color"?: (string) | undefined;
110618
+ /** The color of a line at `warn`, and of the band behind it. Defaults to the warning color. */
110619
+ "--log-warn-color"?: (string) | undefined;
110620
+ /** Written on a `run` with a background, in the same form as `--log-run-color`. */
110621
+ "--log-run-background-color"?: (string) | undefined;
110622
+ /** Written on a `run` with a text color: one of the sixteen `--log-ansi-*` colors the log publishes, or the color itself. */
110623
+ "--log-run-color"?: (string) | undefined;
110624
+ /** The fill behind the lines. Defaults to the page background. */
110625
+ "--log-background-color"?: (string) | undefined;
110626
+ /** The edge around the log and the rules inside it. */
110627
+ "--log-border-color"?: (string) | undefined;
110628
+ /** The text color of the lines. */
110629
+ "--log-color"?: (string) | undefined;
110630
+ /** The face of the lines. Defaults to the monospaced face. */
110631
+ "--log-font-family"?: (string) | undefined;
110632
+ /** The size of the lines. Defaults to the small text step. */
110633
+ "--log-font-size"?: (string) | undefined;
110634
+ /** The height of one line. */
110635
+ "--log-line-height"?: (string) | undefined;
110636
+ /** How tall the log may get before the lines scroll. Defaults to 30rem. */
110637
+ "--log-max-block-size"?: (string) | undefined;
110638
+ /** Space either side of every line and heading. */
110639
+ "--log-padding-inline"?: (string) | undefined;
110640
+ /** The corners of the log. */
110641
+ "--log-radius"?: (string) | undefined;
110642
+ /** The thumb of the scrollbar. Defaults to `--helix-scrollbar-thumb-color`. */
110643
+ "--log-scrollbar-thumb-color"?: (string) | undefined;
110644
+ /** The track of the scrollbar. Defaults to `--helix-scrollbar-track-color`. */
110645
+ "--log-scrollbar-track-color"?: (string) | undefined;
110646
+ /** The background a run takes where ANSI swaps the colors and named none. Defaults to the log's own background on the styled tier. */
110647
+ "--log-ansi-background"?: (string) | undefined;
110648
+ /** The ANSI color black, which codes `30` and `40` draw. */
110649
+ "--log-ansi-black"?: (string) | undefined;
110650
+ /** The ANSI color blue, which codes `34` and `44` draw. */
110651
+ "--log-ansi-blue"?: (string) | undefined;
110652
+ /** The ANSI color bright black, which codes `90` and `100` draw. */
110653
+ "--log-ansi-bright-black"?: (string) | undefined;
110654
+ /** The ANSI color bright blue, which codes `94` and `104` draw. */
110655
+ "--log-ansi-bright-blue"?: (string) | undefined;
110656
+ /** The ANSI color bright cyan, which codes `96` and `106` draw. */
110657
+ "--log-ansi-bright-cyan"?: (string) | undefined;
110658
+ /** The ANSI color bright green, which codes `92` and `102` draw. */
110659
+ "--log-ansi-bright-green"?: (string) | undefined;
110660
+ /** The ANSI color bright magenta, which codes `95` and `105` draw. */
110661
+ "--log-ansi-bright-magenta"?: (string) | undefined;
110662
+ /** The ANSI color bright red, which codes `91` and `101` draw. */
110663
+ "--log-ansi-bright-red"?: (string) | undefined;
110664
+ /** The ANSI color bright white, which codes `97` and `107` draw. */
110665
+ "--log-ansi-bright-white"?: (string) | undefined;
110666
+ /** The ANSI color bright yellow, which codes `93` and `103` draw. */
110667
+ "--log-ansi-bright-yellow"?: (string) | undefined;
110668
+ /** The ANSI color cyan, which codes `36` and `46` draw. */
110669
+ "--log-ansi-cyan"?: (string) | undefined;
110670
+ /** 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. */
110671
+ "--log-ansi-foreground"?: (string) | undefined;
110672
+ /** The ANSI color green, which codes `32` and `42` draw. */
110673
+ "--log-ansi-green"?: (string) | undefined;
110674
+ /** The ANSI color magenta, which codes `35` and `45` draw. */
110675
+ "--log-ansi-magenta"?: (string) | undefined;
110676
+ /** The ANSI color red, which codes `31` and `41` draw. */
110677
+ "--log-ansi-red"?: (string) | undefined;
110678
+ /** The ANSI color white, which codes `37` and `47` draw. */
110679
+ "--log-ansi-white"?: (string) | undefined;
110680
+ /** The ANSI color yellow, which codes `33` and `43` draw. */
110681
+ "--log-ansi-yellow"?: (string) | undefined;
110682
+ /** 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. */
110683
+ "--log-digits"?: (string) | undefined;
109355
110684
  /** The area's color when no tone is set. */
109356
110685
  "--map-area-color"?: (string) | undefined;
109357
110686
  /** The buildings' color when no tone is set. */