@fusion.dev/helix 0.44.0 → 0.46.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/vue.d.ts CHANGED
@@ -1558,7 +1558,7 @@ case is the absent attribute, and the styles read it that way. */
1558
1558
  };
1559
1559
 
1560
1560
  export type HelixCarouselVueEvents = {
1561
- /** Fired when the slide in view changes, with its index. Cancelable where the carousel is about to move: refusing a control or an indicator takes the decision and nothing moves. A drag has already moved the track, so that one announces after the fact and refusing it does nothing. See `handleScroll`. */
1561
+ /** Fired before the slide in view changes, with the index being asked for. Cancelable: refusing it takes the decision and nothing moves, including a drag, which is put back on the slide the index still holds. See `handleScroll`. */
1562
1562
  "helix-select": HelixCarouselHelixSelectElementEvent;
1563
1563
  };
1564
1564
 
@@ -1670,12 +1670,15 @@ Reflected, because every one of the four is a visual state and a stylesheet
1670
1670
  has no other way to know. Absent is a settled message with nothing to
1671
1671
  report, which is what most of a transcript is, and it is the absence of the
1672
1672
  attribute rather than a value of it: there is no initializer, so nothing is
1673
- reflected until something happens. */
1673
+ reflected until something happens.
1674
+
1675
+ **The turn writes this once, on a retry nobody refused**, and `handleRetry`
1676
+ holds the reason. Everything else that moves it is the consumer's. */
1674
1677
  state?: (HelixChatMessage["state"]) | undefined;
1675
1678
  };
1676
1679
 
1677
1680
  export type HelixChatMessageVueEvents = {
1678
- /** Fired when the reader asks to send a failed message again, and cancelable. */
1681
+ /** Fired when the reader asks to send a failed message again. Cancelable: a retry that stands puts the turn back on its way, and refusing it leaves the failure and the control offering it exactly where they were. */
1679
1682
  "helix-send": HelixChatMessageHelixSendElementEvent;
1680
1683
  };
1681
1684
 
@@ -3907,7 +3910,7 @@ Here rather than on each control. */
3907
3910
  export type HelixFileInputVueEvents = {
3908
3911
  /** Announced once the value has moved. */
3909
3912
  change: HelixFileInputElementEvent;
3910
- /** Fired before the chosen files change, with their names. Cancelable: refusing it takes the decision and nothing moves. */
3913
+ /** Fired before the chosen files change, with their names. Cancelable: refusing it takes the decision and the field keeps the files it had, a pick the browser has already written included. */
3911
3914
  "helix-before-change": HelixFileInputHelixBeforeChangeElementEvent;
3912
3915
  /** Announced once the value has moved. */
3913
3916
  input: HelixFileInputElementEvent;
@@ -7029,6 +7032,21 @@ name is the fault `TreeItem` avoids by mirroring to `data-selected`.
7029
7032
  Splitting them means moving what every stylesheet selects on, which is a
7030
7033
  change of its own rather than a property being added. */
7031
7034
  defaultSelected?: (HelixRadio["defaultSelected"]) | undefined;
7035
+ /** Whether this choice holds the group's tab stop while nothing is chosen.
7036
+
7037
+ The stop rides on the selection, and an unanswered group has no selection,
7038
+ so without this every choice is `tabindex="-1"` and the keyboard cannot
7039
+ enter the set at all.
7040
+
7041
+ **Written by the group, with no attribute, and it reaches the control
7042
+ rather than the host.** A `tabindex` on the host is two faults at once: it
7043
+ is markup a consumer rendered and their server never sent, which React
7044
+ reports as a mismatch and does not patch up, and it puts the tab stop on
7045
+ the element rather than on the `<button role="radio">` inside it, so a
7046
+ screen reader meets an unnamed box where a native group would have given
7047
+ them an unchecked radio. `Toggle.Root` carries the same property for the
7048
+ same reason. */
7049
+ focusable?: (HelixRadio["focusable"]) | undefined;
7032
7050
  };
7033
7051
 
7034
7052
  export type HelixRadioVueEvents = {
@@ -7223,11 +7241,26 @@ keyed on this attribute, and of the 56 tokens that differ by scheme the
7223
7241
  theme engine emits 19. The other 37 would stay light in a dark preview,
7224
7242
  including every one of the 24 series colors a chart reads. */
7225
7243
  colorMode?: (HelixSandboxPreview["colorMode"]) | undefined;
7226
- /** Writing direction inside the frame. */
7244
+ /** Writing direction inside the frame.
7245
+
7246
+ Not reflected. It is payload for the render message and nothing selects on
7247
+ it, here or anywhere: a frame is a document of its own and what is written
7248
+ on this host reaches nothing inside it, which is the same reason
7249
+ `colorMode` has to be sent rather than set. */
7227
7250
  direction?: (HelixSandboxPreview["direction"]) | undefined;
7228
7251
  /** Accessible name for the frame. */
7229
7252
  label?: (HelixSandboxPreview["label"]) | undefined;
7230
- /** How the example is placed in the frame. */
7253
+ /** How the example is placed in the frame.
7254
+
7255
+ `padded` insets it and leaves it at the top, which is the resting case and
7256
+ what an absent value sends. `centered` gives it a measure and centers that
7257
+ box in the frame. `hug` shrinks the example to its own content and centers
7258
+ what is left, which is the difference that matters for a component whose
7259
+ root is a full-width block. `fullscreen` is the whole frame with no inset.
7260
+
7261
+ Not reflected, for `direction`'s reason: the placement is applied by the
7262
+ document inside the frame, against its own root, so no rule on this side
7263
+ could read it. */
7231
7264
  layout?: (HelixSandboxPreview["layout"]) | undefined;
7232
7265
  /** Markup to render. */
7233
7266
  source?: (HelixSandboxPreview["source"]) | undefined;
@@ -7318,7 +7351,12 @@ names below keeps that true whichever way round they sit.
7318
7351
  `split` follows the lead pane rather than the source, so `split="30"` means
7319
7352
  the same thing in both directions: thirty percent to whatever comes first. */
7320
7353
  lead?: (HelixSandbox["lead"]) | undefined;
7321
- /** Whether the panes sit side by side or stacked. */
7354
+ /** Whether the panes sit side by side or stacked.
7355
+
7356
+ Not reflected, for `lead`'s reason above: no rule selects on it. The axis
7357
+ reaches the stylesheet as the inner splitter's own `orientation`, which is
7358
+ where the panes are laid out, and this element's sheet names no host
7359
+ attribute at all. */
7322
7360
  orientation?: (HelixSandbox["orientation"]) | undefined;
7323
7361
  /** What the panel's height becomes when it is closed.
7324
7362