@fusion.dev/helix 0.163.0 → 0.165.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
@@ -3866,6 +3866,11 @@ A word property: register it for a locale under the host's key. A family
3866
3866
  that names the control otherwise, such as Tag's `Remove {label}`,
3867
3867
  declares its own English with `@words` above the override. */
3868
3868
  dismissLabel?: (HelixCallout["dismissLabel"]) | undefined;
3869
+ /** Whether the callout is showing. A dismissal nobody canceled turns it
3870
+ false and the callout hides itself, and setting it true shows the callout
3871
+ again. Not reflected: open is the resting state, so an `open` attribute
3872
+ would appear on markup a server sent without it. */
3873
+ open?: (HelixCallout["open"]) | undefined;
3869
3874
  /** What kind of attention the passage needs.
3870
3875
 
3871
3876
  `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -3898,7 +3903,7 @@ out keeps its English, and `tone-label` wins over both.
3898
3903
  `neutral` as "Note", for what the passage is. */
3899
3904
  toneLabels?: (HelixCallout["toneLabels"]) | undefined;
3900
3905
 
3901
- /** The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable. */
3906
+ /** The dismiss button was pressed. Unless a listener cancels it, the callout hides itself, and a listener may remove it instead. Cancelable: cancel it to keep the callout showing. */
3902
3907
  "onhelix-dismiss"?: ((e: HelixCalloutHelixDismissElementEvent) => void) | undefined;
3903
3908
  };
3904
3909
 
@@ -3938,6 +3943,11 @@ A word property: register it for a locale under the host's key. A family
3938
3943
  that names the control otherwise, such as Tag's `Remove {label}`,
3939
3944
  declares its own English with `@words` above the override. */
3940
3945
  "prop:dismissLabel"?: (HelixCallout["dismissLabel"]) | undefined;
3946
+ /** Whether the callout is showing. A dismissal nobody canceled turns it
3947
+ false and the callout hides itself, and setting it true shows the callout
3948
+ again. Not reflected: open is the resting state, so an `open` attribute
3949
+ would appear on markup a server sent without it. */
3950
+ "prop:open"?: (HelixCallout["open"]) | undefined;
3941
3951
  /** What kind of attention the passage needs.
3942
3952
 
3943
3953
  `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -3969,7 +3979,7 @@ out keeps its English, and `tone-label` wins over both.
3969
3979
  `danger` is said as "Error", the word a reader understands, and
3970
3980
  `neutral` as "Note", for what the passage is. */
3971
3981
  "prop:toneLabels"?: (HelixCallout["toneLabels"]) | undefined;
3972
- /** The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable. */
3982
+ /** The dismiss button was pressed. Unless a listener cancels it, the callout hides itself, and a listener may remove it instead. Cancelable: cancel it to keep the callout showing. */
3973
3983
  "on:helix-dismiss"?: ((e: HelixCalloutHelixDismissElementEvent) => void) | undefined;
3974
3984
 
3975
3985
  /** Set the innerHTML of the element */
@@ -7698,6 +7708,14 @@ app.ts", as `code-name-label` puts it. */
7698
7708
  "collapse-label"?: (HelixCodeBlock["collapseLabel"]) | undefined;
7699
7709
  /** The expand button's words while the block shows every line. */
7700
7710
  collapseLabel?: (HelixCodeBlock["collapseLabel"]) | undefined;
7711
+ /** In a diff, how many unchanged lines to keep beside each change. Each
7712
+ longer run of unchanged lines is folded behind a button that shows it.
7713
+ Unset shows every line the diff holds. */
7714
+ "context-lines"?: (HelixCodeBlock["contextLines"] | `${number}`) | undefined;
7715
+ /** In a diff, how many unchanged lines to keep beside each change. Each
7716
+ longer run of unchanged lines is folded behind a button that shows it.
7717
+ Unset shows every line the diff holds. */
7718
+ contextLines?: (HelixCodeBlock["contextLines"]) | undefined;
7701
7719
  /** The copy button's name and tooltip text after a copy. */
7702
7720
  "copied-label"?: (HelixCodeBlock["copiedLabel"]) | undefined;
7703
7721
  /** The copy button's name and tooltip text after a copy. */
@@ -7736,6 +7754,14 @@ block lays out. Not for a diff, whose files each scroll on their own. */
7736
7754
  "expand-label"?: (HelixCodeBlock["expandLabel"]) | undefined;
7737
7755
  /** The expand button's words while the cap hides lines. */
7738
7756
  expandLabel?: (HelixCodeBlock["expandLabel"]) | undefined;
7757
+ /** The words of a button that hides a run of unchanged lines it showed, in a
7758
+ diff with `context-lines`. `{count}` is how many, and each language
7759
+ writes the forms it has. */
7760
+ "hide-unchanged-label"?: (HelixCodeBlock["hideUnchangedLabel"]) | undefined;
7761
+ /** The words of a button that hides a run of unchanged lines it showed, in a
7762
+ diff with `context-lines`. `{count}` is how many, and each language
7763
+ writes the forms it has. */
7764
+ hideUnchangedLabel?: (HelixCodeBlock["hideUnchangedLabel"]) | undefined;
7739
7765
  /** The block's name, usually a file name, drawn in the header.
7740
7766
 
7741
7767
  Absent, the block is named by `language` where there is one. In a diff,
@@ -7811,6 +7837,12 @@ A false boolean reflects as the attribute's absence, so this costs no
7811
7837
  reflected property taking no default is satisfied by the default being
7812
7838
  `false`. */
7813
7839
  noCopy?: (HelixCodeBlock["noCopy"]) | undefined;
7840
+ /** The words of a button that shows a folded run of unchanged lines, in a
7841
+ diff with `context-lines`. `{count}` is how many. */
7842
+ "show-unchanged-label"?: (HelixCodeBlock["showUnchangedLabel"]) | undefined;
7843
+ /** The words of a button that shows a folded run of unchanged lines, in a
7844
+ diff with `context-lines`. `{count}` is how many. */
7845
+ showUnchangedLabel?: (HelixCodeBlock["showUnchangedLabel"]) | undefined;
7814
7846
  /** How a diff's two versions are arranged. It has no effect without `diff`.
7815
7847
 
7816
7848
  Absent is unified, each removal above its replacement, which fits any
@@ -7885,6 +7917,14 @@ app.ts", as `code-name-label` puts it. */
7885
7917
  "attr:collapse-label"?: (HelixCodeBlock["collapseLabel"]) | undefined;
7886
7918
  /** The expand button's words while the block shows every line. */
7887
7919
  "prop:collapseLabel"?: (HelixCodeBlock["collapseLabel"]) | undefined;
7920
+ /** In a diff, how many unchanged lines to keep beside each change. Each
7921
+ longer run of unchanged lines is folded behind a button that shows it.
7922
+ Unset shows every line the diff holds. */
7923
+ "attr:context-lines"?: (HelixCodeBlock["contextLines"] | `${number}`) | undefined;
7924
+ /** In a diff, how many unchanged lines to keep beside each change. Each
7925
+ longer run of unchanged lines is folded behind a button that shows it.
7926
+ Unset shows every line the diff holds. */
7927
+ "prop:contextLines"?: (HelixCodeBlock["contextLines"]) | undefined;
7888
7928
  /** The copy button's name and tooltip text after a copy. */
7889
7929
  "attr:copied-label"?: (HelixCodeBlock["copiedLabel"]) | undefined;
7890
7930
  /** The copy button's name and tooltip text after a copy. */
@@ -7923,6 +7963,14 @@ block lays out. Not for a diff, whose files each scroll on their own. */
7923
7963
  "attr:expand-label"?: (HelixCodeBlock["expandLabel"]) | undefined;
7924
7964
  /** The expand button's words while the cap hides lines. */
7925
7965
  "prop:expandLabel"?: (HelixCodeBlock["expandLabel"]) | undefined;
7966
+ /** The words of a button that hides a run of unchanged lines it showed, in a
7967
+ diff with `context-lines`. `{count}` is how many, and each language
7968
+ writes the forms it has. */
7969
+ "attr:hide-unchanged-label"?: (HelixCodeBlock["hideUnchangedLabel"]) | undefined;
7970
+ /** The words of a button that hides a run of unchanged lines it showed, in a
7971
+ diff with `context-lines`. `{count}` is how many, and each language
7972
+ writes the forms it has. */
7973
+ "prop:hideUnchangedLabel"?: (HelixCodeBlock["hideUnchangedLabel"]) | undefined;
7926
7974
  /** The block's name, usually a file name, drawn in the header.
7927
7975
 
7928
7976
  Absent, the block is named by `language` where there is one. In a diff,
@@ -7998,6 +8046,12 @@ A false boolean reflects as the attribute's absence, so this costs no
7998
8046
  reflected property taking no default is satisfied by the default being
7999
8047
  `false`. */
8000
8048
  "prop:noCopy"?: (HelixCodeBlock["noCopy"]) | undefined;
8049
+ /** The words of a button that shows a folded run of unchanged lines, in a
8050
+ diff with `context-lines`. `{count}` is how many. */
8051
+ "attr:show-unchanged-label"?: (HelixCodeBlock["showUnchangedLabel"]) | undefined;
8052
+ /** The words of a button that shows a folded run of unchanged lines, in a
8053
+ diff with `context-lines`. `{count}` is how many. */
8054
+ "prop:showUnchangedLabel"?: (HelixCodeBlock["showUnchangedLabel"]) | undefined;
8001
8055
  /** How a diff's two versions are arranged. It has no effect without `diff`.
8002
8056
 
8003
8057
  Absent is unified, each removal above its replacement, which fits any
@@ -16298,7 +16352,9 @@ place of the date: `long` ("3 hours ago"), `short` ("3 hr. ago") or
16298
16352
  `narrow` ("3h ago").
16299
16353
 
16300
16354
  The reading refreshes as it goes stale, as `elapsed` does, and the whole
16301
- date is its title. `elapsed` wins where both are set. */
16355
+ date is its title. `elapsed` wins where both are set. Written with no
16356
+ value, as `elapsed` is, or with a style `Intl` does not know, it reads
16357
+ `long`. */
16302
16358
  relative?: (HelixFormatDate["relative"]) | undefined;
16303
16359
  /** How the second is written, where a time of day is shown. */
16304
16360
  second?: (HelixFormatDate["second"]) | undefined;
@@ -16440,7 +16496,9 @@ place of the date: `long` ("3 hours ago"), `short` ("3 hr. ago") or
16440
16496
  `narrow` ("3h ago").
16441
16497
 
16442
16498
  The reading refreshes as it goes stale, as `elapsed` does, and the whole
16443
- date is its title. `elapsed` wins where both are set. */
16499
+ date is its title. `elapsed` wins where both are set. Written with no
16500
+ value, as `elapsed` is, or with a style `Intl` does not know, it reads
16501
+ `long`. */
16444
16502
  "prop:relative"?: (HelixFormatDate["relative"]) | undefined;
16445
16503
  /** How the second is written, where a time of day is shown. */
16446
16504
  "prop:second"?: (HelixFormatDate["second"]) | undefined;
@@ -24835,10 +24893,11 @@ one they already know. */
24835
24893
  invalid, as it is in a native number field.
24836
24894
 
24837
24895
  Unset, a step moves by one, or by one percent under a percent format, and
24838
- a typed number is rounded to the smallest amount `format-options` shows
24839
- rather than to whole steps, as React Aria's NumberField does: a field
24840
- showing dollars keeps the cents typed into it. Without `format-options`
24841
- the grid is whole numbers, as in a native number field. */
24896
+ a typed number is rounded to the smallest amount the format shows, as
24897
+ React Aria's NumberField does: a field showing dollars keeps the cents
24898
+ typed into it, and one with no `format-options` keeps three decimal
24899
+ places. `any` puts the number on no grid, as it does in a native number
24900
+ field: a step moves by one, and any number in range is valid. */
24842
24901
  step?: (HelixNumberInput["step"]) | undefined;
24843
24902
  /** The message the browser shows when the number is off the step grid, with
24844
24903
  `{below}` and `{above}` filled in with the nearest valid values, written in
@@ -25113,10 +25172,11 @@ one they already know. */
25113
25172
  invalid, as it is in a native number field.
25114
25173
 
25115
25174
  Unset, a step moves by one, or by one percent under a percent format, and
25116
- a typed number is rounded to the smallest amount `format-options` shows
25117
- rather than to whole steps, as React Aria's NumberField does: a field
25118
- showing dollars keeps the cents typed into it. Without `format-options`
25119
- the grid is whole numbers, as in a native number field. */
25175
+ a typed number is rounded to the smallest amount the format shows, as
25176
+ React Aria's NumberField does: a field showing dollars keeps the cents
25177
+ typed into it, and one with no `format-options` keeps three decimal
25178
+ places. `any` puts the number on no grid, as it does in a native number
25179
+ field: a step moves by one, and any number in range is valid. */
25120
25180
  "prop:step"?: (HelixNumberInput["step"]) | undefined;
25121
25181
  /** The message the browser shows when the number is off the step grid, with
25122
25182
  `{below}` and `{above}` filled in with the nearest valid values, written in
@@ -25263,6 +25323,12 @@ reader sees the shape of the value before its contents. `0` starts with the
25263
25323
  root closed; a large number opens everything, which on a big value is the
25264
25324
  wall of text this exists to avoid. */
25265
25325
  defaultDepth?: (HelixObjectInspector["defaultDepth"]) | undefined;
25326
+ /** What the tree says while there is no value to show, such as before a
25327
+ fetch answers. The `empty` slot replaces it. */
25328
+ "empty-label"?: (HelixObjectInspector["emptyLabel"]) | undefined;
25329
+ /** What the tree says while there is no value to show, such as before a
25330
+ fetch answers. The `empty` slot replaces it. */
25331
+ emptyLabel?: (HelixObjectInspector["emptyLabel"]) | undefined;
25266
25332
  /** Text the tree is narrowed to: the entries whose key or value holds it,
25267
25333
  ignoring case, and the branches that lead to them. Empty shows everything. */
25268
25334
  filter?: (HelixObjectInspector["filter"]) | undefined;
@@ -25332,6 +25398,12 @@ who set the property. This button is positioned out of the flow and takes no
25332
25398
  room, so nothing selects on it, and reflection exists so that a selector can
25333
25399
  reach a value. */
25334
25400
  noCopy?: (HelixObjectInspector["noCopy"]) | undefined;
25401
+ /** What the tree says while a filter matched no entry. The `empty` slot
25402
+ replaces it. */
25403
+ "no-matches-label"?: (HelixObjectInspector["noMatchesLabel"]) | undefined;
25404
+ /** What the tree says while a filter matched no entry. The `empty` slot
25405
+ replaces it. */
25406
+ noMatchesLabel?: (HelixObjectInspector["noMatchesLabel"]) | undefined;
25335
25407
  /** What a screen reader hears when a filter matches one entry, where
25336
25408
  `results-label` should not say it. `{count}` is the count. */
25337
25409
  "result-label"?: (HelixObjectInspector["resultLabel"]) | undefined;
@@ -25445,6 +25517,12 @@ reader sees the shape of the value before its contents. `0` starts with the
25445
25517
  root closed; a large number opens everything, which on a big value is the
25446
25518
  wall of text this exists to avoid. */
25447
25519
  "prop:defaultDepth"?: (HelixObjectInspector["defaultDepth"]) | undefined;
25520
+ /** What the tree says while there is no value to show, such as before a
25521
+ fetch answers. The `empty` slot replaces it. */
25522
+ "attr:empty-label"?: (HelixObjectInspector["emptyLabel"]) | undefined;
25523
+ /** What the tree says while there is no value to show, such as before a
25524
+ fetch answers. The `empty` slot replaces it. */
25525
+ "prop:emptyLabel"?: (HelixObjectInspector["emptyLabel"]) | undefined;
25448
25526
  /** Text the tree is narrowed to: the entries whose key or value holds it,
25449
25527
  ignoring case, and the branches that lead to them. Empty shows everything. */
25450
25528
  "prop:filter"?: (HelixObjectInspector["filter"]) | undefined;
@@ -25514,6 +25592,12 @@ who set the property. This button is positioned out of the flow and takes no
25514
25592
  room, so nothing selects on it, and reflection exists so that a selector can
25515
25593
  reach a value. */
25516
25594
  "prop:noCopy"?: (HelixObjectInspector["noCopy"]) | undefined;
25595
+ /** What the tree says while a filter matched no entry. The `empty` slot
25596
+ replaces it. */
25597
+ "attr:no-matches-label"?: (HelixObjectInspector["noMatchesLabel"]) | undefined;
25598
+ /** What the tree says while a filter matched no entry. The `empty` slot
25599
+ replaces it. */
25600
+ "prop:noMatchesLabel"?: (HelixObjectInspector["noMatchesLabel"]) | undefined;
25517
25601
  /** What a screen reader hears when a filter matches one entry, where
25518
25602
  `results-label` should not say it. `{count}` is the count. */
25519
25603
  "attr:result-label"?: (HelixObjectInspector["resultLabel"]) | undefined;
@@ -39336,9 +39420,15 @@ export type HelixVideoPlaylistHelixActivateElementEvent =
39336
39420
  /** `helix-before-activate` event type */
39337
39421
  export type HelixVideoPlaylistHelixBeforeActivateElementEvent =
39338
39422
  HelixVideoPlaylistElementEvent<HelixBeforeActivateEvent>;
39423
+ /** `helix-before-reorder` event type */
39424
+ export type HelixVideoPlaylistHelixBeforeReorderElementEvent =
39425
+ HelixVideoPlaylistElementEvent<HelixBeforeReorderEvent>;
39339
39426
  /** `helix-end` event type */
39340
39427
  export type HelixVideoPlaylistHelixEndElementEvent =
39341
39428
  HelixVideoPlaylistElementEvent<HelixEndEvent>;
39429
+ /** `helix-reorder` event type */
39430
+ export type HelixVideoPlaylistHelixReorderElementEvent =
39431
+ HelixVideoPlaylistElementEvent<HelixReorderEvent>;
39342
39432
 
39343
39433
  export type HelixVideoPlaylistProps = {
39344
39434
  /** The `value` of the current item.
@@ -39358,12 +39448,32 @@ Ignored once `active` is written. */
39358
39448
 
39359
39449
  Ignored once `active` is written. */
39360
39450
  defaultActive?: (HelixVideoPlaylist["defaultActive"]) | undefined;
39451
+ /** What screen readers hear when a move is put back, in a `reorderable`
39452
+ playlist. `{name}` is the entry's words. */
39453
+ "canceled-label"?: (HelixVideoPlaylist["canceledLabel"]) | undefined;
39454
+ /** What screen readers hear when a move is put back, in a `reorderable`
39455
+ playlist. `{name}` is the entry's words. */
39456
+ canceledLabel?: (HelixVideoPlaylist["canceledLabel"]) | undefined;
39457
+ /** What screen readers hear when a moved entry is let go, in a `reorderable`
39458
+ playlist. `{name}` is the entry's words. */
39459
+ "dropped-label"?: (HelixVideoPlaylist["droppedLabel"]) | undefined;
39460
+ /** What screen readers hear when a moved entry is let go, in a `reorderable`
39461
+ playlist. `{name}` is the entry's words. */
39462
+ droppedLabel?: (HelixVideoPlaylist["droppedLabel"]) | undefined;
39361
39463
  /** What the playlist says while it has no entries. The `empty` slot replaces it. */
39362
39464
  "empty-label"?: (HelixVideoPlaylist["emptyLabel"]) | undefined;
39363
39465
  /** What the playlist says while it has no entries. The `empty` slot replaces it. */
39364
39466
  emptyLabel?: (HelixVideoPlaylist["emptyLabel"]) | undefined;
39365
39467
  /** The list's name, read by screen readers. */
39366
39468
  label?: (HelixVideoPlaylist["label"]) | undefined;
39469
+ /** What screen readers hear each time a key moves an entry, in a
39470
+ `reorderable` playlist. `{name}` is the entry's words, `{position}` its
39471
+ new place, counting from 1, and `{count}` the number of entries. */
39472
+ "moved-label"?: (HelixVideoPlaylist["movedLabel"]) | undefined;
39473
+ /** What screen readers hear each time a key moves an entry, in a
39474
+ `reorderable` playlist. `{name}` is the entry's words, `{position}` its
39475
+ new place, counting from 1, and `{count}` the number of entries. */
39476
+ movedLabel?: (HelixVideoPlaylist["movedLabel"]) | undefined;
39367
39477
  /** Stays on an entry when its clip ends, where the playlist would otherwise
39368
39478
  play the next one. The player's controls, a press, and `next()` still
39369
39479
  move. `repeat="one"` still plays the entry again. */
@@ -39372,6 +39482,12 @@ move. `repeat="one"` still plays the entry again. */
39372
39482
  play the next one. The player's controls, a press, and `next()` still
39373
39483
  move. `repeat="one"` still plays the entry again. */
39374
39484
  noAdvance?: (HelixVideoPlaylist["noAdvance"]) | undefined;
39485
+ /** What screen readers hear when a pointer picks up an entry, in a
39486
+ `reorderable` playlist. `{name}` is the entry's words. */
39487
+ "picked-up-label"?: (HelixVideoPlaylist["pickedUpLabel"]) | undefined;
39488
+ /** What screen readers hear when a pointer picks up an entry, in a
39489
+ `reorderable` playlist. `{name}` is the entry's words. */
39490
+ pickedUpLabel?: (HelixVideoPlaylist["pickedUpLabel"]) | undefined;
39375
39491
  /** What the live region says when the playlist moves to another entry.
39376
39492
  `{title}` is the entry's name.
39377
39493
 
@@ -39386,6 +39502,10 @@ playlist starts the next one, and the only other trace of that is the
39386
39502
  playlist starts the next one, and the only other trace of that is the
39387
39503
  `aria-current` on a button the reader is not on. */
39388
39504
  playingLabel?: (HelixVideoPlaylist["playingLabel"]) | undefined;
39505
+ /** Lets a reader move the entries, with Alt and the arrow keys or by
39506
+ dragging one. The playlist moves no entry itself: you move your entries
39507
+ on `helix-reorder`. */
39508
+ reorderable?: (HelixVideoPlaylist["reorderable"]) | undefined;
39389
39509
  /** What happens when an entry ends with no next one to go to. `one` plays the
39390
39510
  same entry again, and `all` goes from the last entry back to the first.
39391
39511
  Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -39405,8 +39525,14 @@ arrives or leaves, so previous goes back through what has played. */
39405
39525
  "onhelix-before-activate"?: ((
39406
39526
  e: HelixVideoPlaylistHelixBeforeActivateElementEvent,
39407
39527
  ) => void) | undefined;
39528
+ /** An entry was moved to a new place, in a `reorderable` playlist, with every entry's value in the new order in `detail.keys`. Cancelable: cancel it to keep the entry where it is. */
39529
+ "onhelix-before-reorder"?: ((
39530
+ e: HelixVideoPlaylistHelixBeforeReorderElementEvent,
39531
+ ) => void) | undefined;
39408
39532
  /** The last entry finished playing, and the playlist stopped there. Not sent while `repeat` is set. */
39409
39533
  "onhelix-end"?: ((e: HelixVideoPlaylistHelixEndElementEvent) => void) | undefined;
39534
+ /** Fired after `helix-before-reorder` when nobody canceled it. Move your entries to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
39535
+ "onhelix-reorder"?: ((e: HelixVideoPlaylistHelixReorderElementEvent) => void) | undefined;
39410
39536
  };
39411
39537
 
39412
39538
  export type HelixVideoPlaylistSolidJsProps = {
@@ -39427,12 +39553,32 @@ Ignored once `active` is written. */
39427
39553
 
39428
39554
  Ignored once `active` is written. */
39429
39555
  "prop:defaultActive"?: (HelixVideoPlaylist["defaultActive"]) | undefined;
39556
+ /** What screen readers hear when a move is put back, in a `reorderable`
39557
+ playlist. `{name}` is the entry's words. */
39558
+ "attr:canceled-label"?: (HelixVideoPlaylist["canceledLabel"]) | undefined;
39559
+ /** What screen readers hear when a move is put back, in a `reorderable`
39560
+ playlist. `{name}` is the entry's words. */
39561
+ "prop:canceledLabel"?: (HelixVideoPlaylist["canceledLabel"]) | undefined;
39562
+ /** What screen readers hear when a moved entry is let go, in a `reorderable`
39563
+ playlist. `{name}` is the entry's words. */
39564
+ "attr:dropped-label"?: (HelixVideoPlaylist["droppedLabel"]) | undefined;
39565
+ /** What screen readers hear when a moved entry is let go, in a `reorderable`
39566
+ playlist. `{name}` is the entry's words. */
39567
+ "prop:droppedLabel"?: (HelixVideoPlaylist["droppedLabel"]) | undefined;
39430
39568
  /** What the playlist says while it has no entries. The `empty` slot replaces it. */
39431
39569
  "attr:empty-label"?: (HelixVideoPlaylist["emptyLabel"]) | undefined;
39432
39570
  /** What the playlist says while it has no entries. The `empty` slot replaces it. */
39433
39571
  "prop:emptyLabel"?: (HelixVideoPlaylist["emptyLabel"]) | undefined;
39434
39572
  /** The list's name, read by screen readers. */
39435
39573
  "prop:label"?: (HelixVideoPlaylist["label"]) | undefined;
39574
+ /** What screen readers hear each time a key moves an entry, in a
39575
+ `reorderable` playlist. `{name}` is the entry's words, `{position}` its
39576
+ new place, counting from 1, and `{count}` the number of entries. */
39577
+ "attr:moved-label"?: (HelixVideoPlaylist["movedLabel"]) | undefined;
39578
+ /** What screen readers hear each time a key moves an entry, in a
39579
+ `reorderable` playlist. `{name}` is the entry's words, `{position}` its
39580
+ new place, counting from 1, and `{count}` the number of entries. */
39581
+ "prop:movedLabel"?: (HelixVideoPlaylist["movedLabel"]) | undefined;
39436
39582
  /** Stays on an entry when its clip ends, where the playlist would otherwise
39437
39583
  play the next one. The player's controls, a press, and `next()` still
39438
39584
  move. `repeat="one"` still plays the entry again. */
@@ -39441,6 +39587,12 @@ move. `repeat="one"` still plays the entry again. */
39441
39587
  play the next one. The player's controls, a press, and `next()` still
39442
39588
  move. `repeat="one"` still plays the entry again. */
39443
39589
  "prop:noAdvance"?: (HelixVideoPlaylist["noAdvance"]) | undefined;
39590
+ /** What screen readers hear when a pointer picks up an entry, in a
39591
+ `reorderable` playlist. `{name}` is the entry's words. */
39592
+ "attr:picked-up-label"?: (HelixVideoPlaylist["pickedUpLabel"]) | undefined;
39593
+ /** What screen readers hear when a pointer picks up an entry, in a
39594
+ `reorderable` playlist. `{name}` is the entry's words. */
39595
+ "prop:pickedUpLabel"?: (HelixVideoPlaylist["pickedUpLabel"]) | undefined;
39444
39596
  /** What the live region says when the playlist moves to another entry.
39445
39597
  `{title}` is the entry's name.
39446
39598
 
@@ -39455,6 +39607,10 @@ playlist starts the next one, and the only other trace of that is the
39455
39607
  playlist starts the next one, and the only other trace of that is the
39456
39608
  `aria-current` on a button the reader is not on. */
39457
39609
  "prop:playingLabel"?: (HelixVideoPlaylist["playingLabel"]) | undefined;
39610
+ /** Lets a reader move the entries, with Alt and the arrow keys or by
39611
+ dragging one. The playlist moves no entry itself: you move your entries
39612
+ on `helix-reorder`. */
39613
+ "prop:reorderable"?: (HelixVideoPlaylist["reorderable"]) | undefined;
39458
39614
  /** What happens when an entry ends with no next one to go to. `one` plays the
39459
39615
  same entry again, and `all` goes from the last entry back to the first.
39460
39616
  Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -39475,8 +39631,14 @@ arrives or leaves, so previous goes back through what has played. */
39475
39631
  "on:helix-before-activate"?: ((
39476
39632
  e: HelixVideoPlaylistHelixBeforeActivateElementEvent,
39477
39633
  ) => void) | undefined;
39634
+ /** An entry was moved to a new place, in a `reorderable` playlist, with every entry's value in the new order in `detail.keys`. Cancelable: cancel it to keep the entry where it is. */
39635
+ "on:helix-before-reorder"?: ((
39636
+ e: HelixVideoPlaylistHelixBeforeReorderElementEvent,
39637
+ ) => void) | undefined;
39478
39638
  /** The last entry finished playing, and the playlist stopped there. Not sent while `repeat` is set. */
39479
39639
  "on:helix-end"?: ((e: HelixVideoPlaylistHelixEndElementEvent) => void) | undefined;
39640
+ /** Fired after `helix-before-reorder` when nobody canceled it. Move your entries to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
39641
+ "on:helix-reorder"?: ((e: HelixVideoPlaylistHelixReorderElementEvent) => void) | undefined;
39480
39642
 
39481
39643
  /** Set the innerHTML of the element */
39482
39644
  innerHTML?: (string) | undefined;
@@ -43466,6 +43628,10 @@ export type CustomElements = {
43466
43628
  * A word property: register it for a locale under the host's key. A family
43467
43629
  * that names the control otherwise, such as Tag's `Remove {label}`,
43468
43630
  * declares its own English with `@words` above the override.
43631
+ * - `open`: Whether the callout is showing. A dismissal nobody canceled turns it
43632
+ * false and the callout hides itself, and setting it true shows the callout
43633
+ * again. Not reflected: open is the resting state, so an `open` attribute
43634
+ * would appear on markup a server sent without it.
43469
43635
  * - `tone`: What kind of attention the passage needs.
43470
43636
  *
43471
43637
  * `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -43507,7 +43673,7 @@ export type CustomElements = {
43507
43673
  *
43508
43674
  * Events that will be emitted by the component.
43509
43675
  *
43510
- * - `helix-dismiss`: The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable.
43676
+ * - `helix-dismiss`: The dismiss button was pressed. Unless a listener cancels it, the callout hides itself, and a listener may remove it instead. Cancelable: cancel it to keep the callout showing.
43511
43677
  *
43512
43678
  * ## Slots
43513
43679
  *
@@ -43550,6 +43716,11 @@ export type CustomElements = {
43550
43716
  *
43551
43717
  * These can be used to apply styling when a component is in a given state.
43552
43718
  *
43719
+ * - `closed`: While `open` is false: the callout was dismissed, and is leaving or hidden.
43720
+ * - `entering`: While a callout shown again by `open` runs its entrance animations.
43721
+ * - `exiting`: While a dismissed callout runs its exit animations, before it is hidden.
43722
+ * - `has-heading`: Something is slotted into `heading`.
43723
+ * - `has-icon`: An icon of your own is slotted into `icon`, in place of the tone's.
43553
43724
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
43554
43725
  */
43555
43726
  "helix-callout": Partial<
@@ -45774,6 +45945,9 @@ export type CustomElements = {
45774
45945
  * - `code-name-label`/`codeNameLabel`: The name of a block that scrolls, where the block has a name. `{code}` is
45775
45946
  * `code-label` and `{name}` the block's name.
45776
45947
  * - `collapse-label`/`collapseLabel`: The expand button's words while the block shows every line.
45948
+ * - `context-lines`/`contextLines`: In a diff, how many unchanged lines to keep beside each change. Each
45949
+ * longer run of unchanged lines is folded behind a button that shows it.
45950
+ * Unset shows every line the diff holds.
45777
45951
  * - `copied-label`/`copiedLabel`: The copy button's name and tooltip text after a copy.
45778
45952
  * - `copy-label`/`copyLabel`: The copy button's name and tooltip text before a copy.
45779
45953
  *
@@ -45793,6 +45967,9 @@ export type CustomElements = {
45793
45967
  * the button is drawn only while the cap hides something, measured as the
45794
45968
  * block lays out. Not for a diff, whose files each scroll on their own.
45795
45969
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
45970
+ * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
45971
+ * diff with `context-lines`. `{count}` is how many, and each language
45972
+ * writes the forms it has.
45796
45973
  * - `label`: The block's name, usually a file name, drawn in the header.
45797
45974
  *
45798
45975
  * Absent, the block is named by `language` where there is one. In a diff,
@@ -45832,6 +46009,8 @@ export type CustomElements = {
45832
46009
  * `no-copy=""` on hosts that never asked for one, and the rule about a
45833
46010
  * reflected property taking no default is satisfied by the default being
45834
46011
  * `false`.
46012
+ * - `show-unchanged-label`/`showUnchangedLabel`: The words of a button that shows a folded run of unchanged lines, in a
46013
+ * diff with `context-lines`. `{count}` is how many.
45835
46014
  * - `variant`: How a diff's two versions are arranged. It has no effect without `diff`.
45836
46015
  *
45837
46016
  * Absent is unified, each removal above its replacement, which fits any
@@ -45939,6 +46118,7 @@ export type CustomElements = {
45939
46118
  * - `actions`: The box in the header that holds the `actions` slot, drawn while something is slotted there.
45940
46119
  * - `added`: In a diff, a line only the new version has, an `<ins>`.
45941
46120
  * - `block`: The scrolling `<pre>`.
46121
+ * - `changed`: In a diff, the words of a changed line that the line opposite it does not have, inside its `text`.
45942
46122
  * - `code`: The `<code>` inside it.
45943
46123
  * - `context`: In a diff, a line both versions share.
45944
46124
  * - `copy`: The copy button. It sits in the header when there is one, and beside the code otherwise.
@@ -45960,6 +46140,7 @@ export type CustomElements = {
45960
46140
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
45961
46141
  * - `file`: In a diff, one file's header and block.
45962
46142
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
46143
+ * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
45963
46144
  * - `frame`: The code, and the copy button beside it where there is no header.
45964
46145
  * - `gutter`: The line numbers beside the code, shown when `line-numbers` is set.
45965
46146
  * - `header`: The bar that holds the name and the copy button, shown when there is a name.
@@ -48068,6 +48249,7 @@ export type CustomElements = {
48068
48249
  *
48069
48250
  * - `empty`: While there are no rows to show and none are loading.
48070
48251
  * - `error`: While `error-text` is set.
48252
+ * - `loading`: While `loading` is set, as the rows are on their way.
48071
48253
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
48072
48254
  */
48073
48255
  "helix-data-table": Partial<
@@ -51552,7 +51734,9 @@ export type CustomElements = {
51552
51734
  * `narrow` ("3h ago").
51553
51735
  *
51554
51736
  * The reading refreshes as it goes stale, as `elapsed` does, and the whole
51555
- * date is its title. `elapsed` wins where both are set.
51737
+ * date is its title. `elapsed` wins where both are set. Written with no
51738
+ * value, as `elapsed` is, or with a style `Intl` does not know, it reads
51739
+ * `long`.
51556
51740
  * - `second`: How the second is written, where a time of day is shown.
51557
51741
  * - `time-style`/`timeStyle`: The locale's own pattern for the time of day: `full`, `long`, `medium`, or
51558
51742
  * `short`. Set, it stands in for `hour`, `minute`, `second` and
@@ -57645,10 +57829,11 @@ export type CustomElements = {
57645
57829
  * invalid, as it is in a native number field.
57646
57830
  *
57647
57831
  * Unset, a step moves by one, or by one percent under a percent format, and
57648
- * a typed number is rounded to the smallest amount `format-options` shows
57649
- * rather than to whole steps, as React Aria's NumberField does: a field
57650
- * showing dollars keeps the cents typed into it. Without `format-options`
57651
- * the grid is whole numbers, as in a native number field.
57832
+ * a typed number is rounded to the smallest amount the format shows, as
57833
+ * React Aria's NumberField does: a field showing dollars keeps the cents
57834
+ * typed into it, and one with no `format-options` keeps three decimal
57835
+ * places. `any` puts the number on no grid, as it does in a native number
57836
+ * field: a step moves by one, and any number in range is valid.
57652
57837
  * - `step-mismatch-message`/`stepMismatchMessage`: The message the browser shows when the number is off the step grid, with
57653
57838
  * `{below}` and `{above}` filled in with the nearest valid values, written in
57654
57839
  * the locale.
@@ -57844,6 +58029,8 @@ export type CustomElements = {
57844
58029
  *
57845
58030
  * These can be used to apply styling when a component is in a given state.
57846
58031
  *
58032
+ * - `at-max`: The number is at `max`, so it cannot step up, as React Aria's NumberField says with `canIncrement`.
58033
+ * - `at-min`: The number is at `min`, so it cannot step down.
57847
58034
  * - `invalid`: The control has an error to show, from the browser's validation or from your `feedback`.
57848
58035
  * - `scrubbing`: The label is being dragged to change the value, under `scrub`, as Zag's scrubber says while it is held.
57849
58036
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -57883,6 +58070,8 @@ export type CustomElements = {
57883
58070
  * reader sees the shape of the value before its contents. `0` starts with the
57884
58071
  * root closed; a large number opens everything, which on a big value is the
57885
58072
  * wall of text this exists to avoid.
58073
+ * - `empty-label`/`emptyLabel`: What the tree says while there is no value to show, such as before a
58074
+ * fetch answers. The `empty` slot replaces it.
57886
58075
  * - `filter`: Text the tree is narrowed to: the entries whose key or value holds it,
57887
58076
  * ignoring case, and the branches that lead to them. Empty shows everything.
57888
58077
  * - `filterable`: Whether to show a field that sets `filter`.
@@ -57914,6 +58103,8 @@ export type CustomElements = {
57914
58103
  * who set the property. This button is positioned out of the flow and takes no
57915
58104
  * room, so nothing selects on it, and reflection exists so that a selector can
57916
58105
  * reach a value.
58106
+ * - `no-matches-label`/`noMatchesLabel`: What the tree says while a filter matched no entry. The `empty` slot
58107
+ * replaces it.
57917
58108
  * - `result-label`/`resultLabel`: What a screen reader hears when a filter matches one entry, where
57918
58109
  * `results-label` should not say it. `{count}` is the count.
57919
58110
  * - `results-label`/`resultsLabel`: What a screen reader hears when a filter matches entries. `{count}` is
@@ -57975,6 +58166,12 @@ export type CustomElements = {
57975
58166
  * - `helix-filtered`: The filter field changed `filter`, which now holds the text.
57976
58167
  * - `toggle`: A reader opened or closed a branch, with `newState` and `oldState`. `expanded` holds every open branch.
57977
58168
  *
58169
+ * ## Slots
58170
+ *
58171
+ * Areas where markup can be added to the component.
58172
+ *
58173
+ * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
58174
+ *
57978
58175
  * ## CSS Custom Properties
57979
58176
  *
57980
58177
  * CSS variables available for styling the component.
@@ -58011,6 +58208,7 @@ export type CustomElements = {
58011
58208
  * - `copy-tooltip-right`: The tooltip while it is right of the copy button. Set alongside `copy-tooltip`.
58012
58209
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Set alongside `copy-tooltip`.
58013
58210
  * - `count`: The number of entries a branch holds.
58211
+ * - `empty`: The row shown in the tree while it has no entries to show: no value, or a filter that matched none. It holds the `empty` slot.
58014
58212
  * - `frame`: The tree and the copy button beside it.
58015
58213
  * - `header`: The bar that holds the label, when there is one.
58016
58214
  * - `key`: A property name or an array index.
@@ -58032,6 +58230,9 @@ export type CustomElements = {
58032
58230
  *
58033
58231
  * These can be used to apply styling when a component is in a given state.
58034
58232
  *
58233
+ * - `empty`: While the tree has no entries to show: no value, or a filter that matched none.
58234
+ * - `filtered`: While `filter` holds text.
58235
+ * - `matched`: While `filter` holds text and matched at least one entry.
58035
58236
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
58036
58237
  */
58037
58238
  "helix-object-inspector": Partial<
@@ -64798,6 +64999,7 @@ export type CustomElements = {
64798
64999
  *
64799
65000
  * - `empty`: While there are no rows and none are loading.
64800
65001
  * - `error`: While `error-text` is set.
65002
+ * - `loading`: While `loading` is set, as the rows are on their way.
64801
65003
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
64802
65004
  */
64803
65005
  "helix-table": Partial<HelixTableProps & BaseProps<HelixTable> & BaseEvents<HelixTable>>;
@@ -68882,6 +69084,9 @@ export type CustomElements = {
68882
69084
  * These can be used to apply styling when a component is in a given state.
68883
69085
  *
68884
69086
  * - `current`: The entry that is playing.
69087
+ * - `dragging`: The entry a pointer is dragging, in a `reorderable` playlist.
69088
+ * - `drop-after`: The entry the dragged one would land after, which the drop indicator is drawn under.
69089
+ * - `drop-before`: The entry the dragged one would land before, which the drop indicator is drawn over.
68885
69090
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
68886
69091
  */
68887
69092
  "helix-video-playlist-item": Partial<
@@ -69011,17 +69216,29 @@ export type CustomElements = {
69011
69216
  * - `default-active`/`defaultActive`: The `value` of the item declared current in markup.
69012
69217
  *
69013
69218
  * Ignored once `active` is written.
69219
+ * - `canceled-label`/`canceledLabel`: What screen readers hear when a move is put back, in a `reorderable`
69220
+ * playlist. `{name}` is the entry's words.
69221
+ * - `dropped-label`/`droppedLabel`: What screen readers hear when a moved entry is let go, in a `reorderable`
69222
+ * playlist. `{name}` is the entry's words.
69014
69223
  * - `empty-label`/`emptyLabel`: What the playlist says while it has no entries. The `empty` slot replaces it.
69015
69224
  * - `label`: The list's name, read by screen readers.
69225
+ * - `moved-label`/`movedLabel`: What screen readers hear each time a key moves an entry, in a
69226
+ * `reorderable` playlist. `{name}` is the entry's words, `{position}` its
69227
+ * new place, counting from 1, and `{count}` the number of entries.
69016
69228
  * - `no-advance`/`noAdvance`: Stays on an entry when its clip ends, where the playlist would otherwise
69017
69229
  * play the next one. The player's controls, a press, and `next()` still
69018
69230
  * move. `repeat="one"` still plays the entry again.
69231
+ * - `picked-up-label`/`pickedUpLabel`: What screen readers hear when a pointer picks up an entry, in a
69232
+ * `reorderable` playlist. `{name}` is the entry's words.
69019
69233
  * - `playing-label`/`playingLabel`: What the live region says when the playlist moves to another entry.
69020
69234
  * `{title}` is the entry's name.
69021
69235
  *
69022
69236
  * **A move a reader did not make is said.** At the end of a clip the
69023
69237
  * playlist starts the next one, and the only other trace of that is the
69024
69238
  * `aria-current` on a button the reader is not on.
69239
+ * - `reorderable`: Lets a reader move the entries, with Alt and the arrow keys or by
69240
+ * dragging one. The playlist moves no entry itself: you move your entries
69241
+ * on `helix-reorder`.
69025
69242
  * - `repeat`: What happens when an entry ends with no next one to go to. `one` plays the
69026
69243
  * same entry again, and `all` goes from the last entry back to the first.
69027
69244
  * Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -69065,7 +69282,9 @@ export type CustomElements = {
69065
69282
  *
69066
69283
  * - `helix-activate`: The current entry changed. The playlist already holds the new entry when this is sent, and `detail.previous` is the entry it left. `currentEntry` is the entry itself, with its `src`, `poster` and name.
69067
69284
  * - `helix-before-activate`: The current entry is about to change, and `detail.cause` says why: `press`, `next`, `previous`, `ended`, or `removed`. Cancelable: cancel it to keep the current entry.
69285
+ * - `helix-before-reorder`: An entry was moved to a new place, in a `reorderable` playlist, with every entry's value in the new order in `detail.keys`. Cancelable: cancel it to keep the entry where it is.
69068
69286
  * - `helix-end`: The last entry finished playing, and the playlist stopped there. Not sent while `repeat` is set.
69287
+ * - `helix-reorder`: Fired after `helix-before-reorder` when nobody canceled it. Move your entries to the order in `keys`. Cancelable: cancel it to say the move did not happen.
69069
69288
  *
69070
69289
  * ## Slots
69071
69290
  *
@@ -72475,6 +72694,10 @@ export type CustomElementsSolidJs = {
72475
72694
  * A word property: register it for a locale under the host's key. A family
72476
72695
  * that names the control otherwise, such as Tag's `Remove {label}`,
72477
72696
  * declares its own English with `@words` above the override.
72697
+ * - `open`: Whether the callout is showing. A dismissal nobody canceled turns it
72698
+ * false and the callout hides itself, and setting it true shows the callout
72699
+ * again. Not reflected: open is the resting state, so an `open` attribute
72700
+ * would appear on markup a server sent without it.
72478
72701
  * - `tone`: What kind of attention the passage needs.
72479
72702
  *
72480
72703
  * `tone` is the axis for what a thing means, and this is a subset of it: a
@@ -72516,7 +72739,7 @@ export type CustomElementsSolidJs = {
72516
72739
  *
72517
72740
  * Events that will be emitted by the component.
72518
72741
  *
72519
- * - `helix-dismiss`: The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable.
72742
+ * - `helix-dismiss`: The dismiss button was pressed. Unless a listener cancels it, the callout hides itself, and a listener may remove it instead. Cancelable: cancel it to keep the callout showing.
72520
72743
  *
72521
72744
  * ## Slots
72522
72745
  *
@@ -72559,6 +72782,11 @@ export type CustomElementsSolidJs = {
72559
72782
  *
72560
72783
  * These can be used to apply styling when a component is in a given state.
72561
72784
  *
72785
+ * - `closed`: While `open` is false: the callout was dismissed, and is leaving or hidden.
72786
+ * - `entering`: While a callout shown again by `open` runs its entrance animations.
72787
+ * - `exiting`: While a dismissed callout runs its exit animations, before it is hidden.
72788
+ * - `has-heading`: Something is slotted into `heading`.
72789
+ * - `has-icon`: An icon of your own is slotted into `icon`, in place of the tone's.
72562
72790
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
72563
72791
  */
72564
72792
  "helix-callout": Partial<
@@ -74814,6 +75042,9 @@ export type CustomElementsSolidJs = {
74814
75042
  * - `code-name-label`/`codeNameLabel`: The name of a block that scrolls, where the block has a name. `{code}` is
74815
75043
  * `code-label` and `{name}` the block's name.
74816
75044
  * - `collapse-label`/`collapseLabel`: The expand button's words while the block shows every line.
75045
+ * - `context-lines`/`contextLines`: In a diff, how many unchanged lines to keep beside each change. Each
75046
+ * longer run of unchanged lines is folded behind a button that shows it.
75047
+ * Unset shows every line the diff holds.
74817
75048
  * - `copied-label`/`copiedLabel`: The copy button's name and tooltip text after a copy.
74818
75049
  * - `copy-label`/`copyLabel`: The copy button's name and tooltip text before a copy.
74819
75050
  *
@@ -74833,6 +75064,9 @@ export type CustomElementsSolidJs = {
74833
75064
  * the button is drawn only while the cap hides something, measured as the
74834
75065
  * block lays out. Not for a diff, whose files each scroll on their own.
74835
75066
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
75067
+ * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
75068
+ * diff with `context-lines`. `{count}` is how many, and each language
75069
+ * writes the forms it has.
74836
75070
  * - `label`: The block's name, usually a file name, drawn in the header.
74837
75071
  *
74838
75072
  * Absent, the block is named by `language` where there is one. In a diff,
@@ -74872,6 +75106,8 @@ export type CustomElementsSolidJs = {
74872
75106
  * `no-copy=""` on hosts that never asked for one, and the rule about a
74873
75107
  * reflected property taking no default is satisfied by the default being
74874
75108
  * `false`.
75109
+ * - `show-unchanged-label`/`showUnchangedLabel`: The words of a button that shows a folded run of unchanged lines, in a
75110
+ * diff with `context-lines`. `{count}` is how many.
74875
75111
  * - `variant`: How a diff's two versions are arranged. It has no effect without `diff`.
74876
75112
  *
74877
75113
  * Absent is unified, each removal above its replacement, which fits any
@@ -74979,6 +75215,7 @@ export type CustomElementsSolidJs = {
74979
75215
  * - `actions`: The box in the header that holds the `actions` slot, drawn while something is slotted there.
74980
75216
  * - `added`: In a diff, a line only the new version has, an `<ins>`.
74981
75217
  * - `block`: The scrolling `<pre>`.
75218
+ * - `changed`: In a diff, the words of a changed line that the line opposite it does not have, inside its `text`.
74982
75219
  * - `code`: The `<code>` inside it.
74983
75220
  * - `context`: In a diff, a line both versions share.
74984
75221
  * - `copy`: The copy button. It sits in the header when there is one, and beside the code otherwise.
@@ -75000,6 +75237,7 @@ export type CustomElementsSolidJs = {
75000
75237
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
75001
75238
  * - `file`: In a diff, one file's header and block.
75002
75239
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
75240
+ * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
75003
75241
  * - `frame`: The code, and the copy button beside it where there is no header.
75004
75242
  * - `gutter`: The line numbers beside the code, shown when `line-numbers` is set.
75005
75243
  * - `header`: The bar that holds the name and the copy button, shown when there is a name.
@@ -77128,6 +77366,7 @@ export type CustomElementsSolidJs = {
77128
77366
  *
77129
77367
  * - `empty`: While there are no rows to show and none are loading.
77130
77368
  * - `error`: While `error-text` is set.
77369
+ * - `loading`: While `loading` is set, as the rows are on their way.
77131
77370
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
77132
77371
  */
77133
77372
  "helix-data-table": Partial<
@@ -80668,7 +80907,9 @@ export type CustomElementsSolidJs = {
80668
80907
  * `narrow` ("3h ago").
80669
80908
  *
80670
80909
  * The reading refreshes as it goes stale, as `elapsed` does, and the whole
80671
- * date is its title. `elapsed` wins where both are set.
80910
+ * date is its title. `elapsed` wins where both are set. Written with no
80911
+ * value, as `elapsed` is, or with a style `Intl` does not know, it reads
80912
+ * `long`.
80672
80913
  * - `second`: How the second is written, where a time of day is shown.
80673
80914
  * - `time-style`/`timeStyle`: The locale's own pattern for the time of day: `full`, `long`, `medium`, or
80674
80915
  * `short`. Set, it stands in for `hour`, `minute`, `second` and
@@ -86874,10 +87115,11 @@ export type CustomElementsSolidJs = {
86874
87115
  * invalid, as it is in a native number field.
86875
87116
  *
86876
87117
  * Unset, a step moves by one, or by one percent under a percent format, and
86877
- * a typed number is rounded to the smallest amount `format-options` shows
86878
- * rather than to whole steps, as React Aria's NumberField does: a field
86879
- * showing dollars keeps the cents typed into it. Without `format-options`
86880
- * the grid is whole numbers, as in a native number field.
87118
+ * a typed number is rounded to the smallest amount the format shows, as
87119
+ * React Aria's NumberField does: a field showing dollars keeps the cents
87120
+ * typed into it, and one with no `format-options` keeps three decimal
87121
+ * places. `any` puts the number on no grid, as it does in a native number
87122
+ * field: a step moves by one, and any number in range is valid.
86881
87123
  * - `step-mismatch-message`/`stepMismatchMessage`: The message the browser shows when the number is off the step grid, with
86882
87124
  * `{below}` and `{above}` filled in with the nearest valid values, written in
86883
87125
  * the locale.
@@ -87073,6 +87315,8 @@ export type CustomElementsSolidJs = {
87073
87315
  *
87074
87316
  * These can be used to apply styling when a component is in a given state.
87075
87317
  *
87318
+ * - `at-max`: The number is at `max`, so it cannot step up, as React Aria's NumberField says with `canIncrement`.
87319
+ * - `at-min`: The number is at `min`, so it cannot step down.
87076
87320
  * - `invalid`: The control has an error to show, from the browser's validation or from your `feedback`.
87077
87321
  * - `scrubbing`: The label is being dragged to change the value, under `scrub`, as Zag's scrubber says while it is held.
87078
87322
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -87115,6 +87359,8 @@ export type CustomElementsSolidJs = {
87115
87359
  * reader sees the shape of the value before its contents. `0` starts with the
87116
87360
  * root closed; a large number opens everything, which on a big value is the
87117
87361
  * wall of text this exists to avoid.
87362
+ * - `empty-label`/`emptyLabel`: What the tree says while there is no value to show, such as before a
87363
+ * fetch answers. The `empty` slot replaces it.
87118
87364
  * - `filter`: Text the tree is narrowed to: the entries whose key or value holds it,
87119
87365
  * ignoring case, and the branches that lead to them. Empty shows everything.
87120
87366
  * - `filterable`: Whether to show a field that sets `filter`.
@@ -87146,6 +87392,8 @@ export type CustomElementsSolidJs = {
87146
87392
  * who set the property. This button is positioned out of the flow and takes no
87147
87393
  * room, so nothing selects on it, and reflection exists so that a selector can
87148
87394
  * reach a value.
87395
+ * - `no-matches-label`/`noMatchesLabel`: What the tree says while a filter matched no entry. The `empty` slot
87396
+ * replaces it.
87149
87397
  * - `result-label`/`resultLabel`: What a screen reader hears when a filter matches one entry, where
87150
87398
  * `results-label` should not say it. `{count}` is the count.
87151
87399
  * - `results-label`/`resultsLabel`: What a screen reader hears when a filter matches entries. `{count}` is
@@ -87207,6 +87455,12 @@ export type CustomElementsSolidJs = {
87207
87455
  * - `helix-filtered`: The filter field changed `filter`, which now holds the text.
87208
87456
  * - `toggle`: A reader opened or closed a branch, with `newState` and `oldState`. `expanded` holds every open branch.
87209
87457
  *
87458
+ * ## Slots
87459
+ *
87460
+ * Areas where markup can be added to the component.
87461
+ *
87462
+ * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
87463
+ *
87210
87464
  * ## CSS Custom Properties
87211
87465
  *
87212
87466
  * CSS variables available for styling the component.
@@ -87243,6 +87497,7 @@ export type CustomElementsSolidJs = {
87243
87497
  * - `copy-tooltip-right`: The tooltip while it is right of the copy button. Set alongside `copy-tooltip`.
87244
87498
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Set alongside `copy-tooltip`.
87245
87499
  * - `count`: The number of entries a branch holds.
87500
+ * - `empty`: The row shown in the tree while it has no entries to show: no value, or a filter that matched none. It holds the `empty` slot.
87246
87501
  * - `frame`: The tree and the copy button beside it.
87247
87502
  * - `header`: The bar that holds the label, when there is one.
87248
87503
  * - `key`: A property name or an array index.
@@ -87264,6 +87519,9 @@ export type CustomElementsSolidJs = {
87264
87519
  *
87265
87520
  * These can be used to apply styling when a component is in a given state.
87266
87521
  *
87522
+ * - `empty`: While the tree has no entries to show: no value, or a filter that matched none.
87523
+ * - `filtered`: While `filter` holds text.
87524
+ * - `matched`: While `filter` holds text and matched at least one entry.
87267
87525
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
87268
87526
  */
87269
87527
  "helix-object-inspector": Partial<
@@ -94162,6 +94420,7 @@ export type CustomElementsSolidJs = {
94162
94420
  *
94163
94421
  * - `empty`: While there are no rows and none are loading.
94164
94422
  * - `error`: While `error-text` is set.
94423
+ * - `loading`: While `loading` is set, as the rows are on their way.
94165
94424
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
94166
94425
  */
94167
94426
  "helix-table": Partial<
@@ -98321,6 +98580,9 @@ export type CustomElementsSolidJs = {
98321
98580
  * These can be used to apply styling when a component is in a given state.
98322
98581
  *
98323
98582
  * - `current`: The entry that is playing.
98583
+ * - `dragging`: The entry a pointer is dragging, in a `reorderable` playlist.
98584
+ * - `drop-after`: The entry the dragged one would land after, which the drop indicator is drawn under.
98585
+ * - `drop-before`: The entry the dragged one would land before, which the drop indicator is drawn over.
98324
98586
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
98325
98587
  */
98326
98588
  "helix-video-playlist-item": Partial<
@@ -98456,17 +98718,29 @@ export type CustomElementsSolidJs = {
98456
98718
  * - `default-active`/`defaultActive`: The `value` of the item declared current in markup.
98457
98719
  *
98458
98720
  * Ignored once `active` is written.
98721
+ * - `canceled-label`/`canceledLabel`: What screen readers hear when a move is put back, in a `reorderable`
98722
+ * playlist. `{name}` is the entry's words.
98723
+ * - `dropped-label`/`droppedLabel`: What screen readers hear when a moved entry is let go, in a `reorderable`
98724
+ * playlist. `{name}` is the entry's words.
98459
98725
  * - `empty-label`/`emptyLabel`: What the playlist says while it has no entries. The `empty` slot replaces it.
98460
98726
  * - `label`: The list's name, read by screen readers.
98727
+ * - `moved-label`/`movedLabel`: What screen readers hear each time a key moves an entry, in a
98728
+ * `reorderable` playlist. `{name}` is the entry's words, `{position}` its
98729
+ * new place, counting from 1, and `{count}` the number of entries.
98461
98730
  * - `no-advance`/`noAdvance`: Stays on an entry when its clip ends, where the playlist would otherwise
98462
98731
  * play the next one. The player's controls, a press, and `next()` still
98463
98732
  * move. `repeat="one"` still plays the entry again.
98733
+ * - `picked-up-label`/`pickedUpLabel`: What screen readers hear when a pointer picks up an entry, in a
98734
+ * `reorderable` playlist. `{name}` is the entry's words.
98464
98735
  * - `playing-label`/`playingLabel`: What the live region says when the playlist moves to another entry.
98465
98736
  * `{title}` is the entry's name.
98466
98737
  *
98467
98738
  * **A move a reader did not make is said.** At the end of a clip the
98468
98739
  * playlist starts the next one, and the only other trace of that is the
98469
98740
  * `aria-current` on a button the reader is not on.
98741
+ * - `reorderable`: Lets a reader move the entries, with Alt and the arrow keys or by
98742
+ * dragging one. The playlist moves no entry itself: you move your entries
98743
+ * on `helix-reorder`.
98470
98744
  * - `repeat`: What happens when an entry ends with no next one to go to. `one` plays the
98471
98745
  * same entry again, and `all` goes from the last entry back to the first.
98472
98746
  * Absent, the playlist stops on the last entry and sends `helix-end`.
@@ -98510,7 +98784,9 @@ export type CustomElementsSolidJs = {
98510
98784
  *
98511
98785
  * - `helix-activate`: The current entry changed. The playlist already holds the new entry when this is sent, and `detail.previous` is the entry it left. `currentEntry` is the entry itself, with its `src`, `poster` and name.
98512
98786
  * - `helix-before-activate`: The current entry is about to change, and `detail.cause` says why: `press`, `next`, `previous`, `ended`, or `removed`. Cancelable: cancel it to keep the current entry.
98787
+ * - `helix-before-reorder`: An entry was moved to a new place, in a `reorderable` playlist, with every entry's value in the new order in `detail.keys`. Cancelable: cancel it to keep the entry where it is.
98513
98788
  * - `helix-end`: The last entry finished playing, and the playlist stopped there. Not sent while `repeat` is set.
98789
+ * - `helix-reorder`: Fired after `helix-before-reorder` when nobody canceled it. Move your entries to the order in `keys`. Cancelable: cancel it to say the move did not happen.
98514
98790
  *
98515
98791
  * ## Slots
98516
98792
  *