@fusion.dev/helix-headless 0.42.0 → 0.44.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.
Files changed (33) hide show
  1. package/custom-elements.json +61 -65
  2. package/dist/chat/composer/chat-composer.d.ts +1 -1
  3. package/dist/chat/message/chat-message.d.ts +1 -1
  4. package/dist/chat/message/chat-message.js +1 -1
  5. package/dist/chat/root/chat-root.d.ts +1 -1
  6. package/dist/color-picker/root/color-picker-root.js +1 -2
  7. package/dist/date-picker/root/date-picker-root.d.ts +1 -1
  8. package/dist/element-events.generated.js +0 -1
  9. package/dist/format-date/root/format-date-root.d.ts +1 -1
  10. package/dist/notifications/group/notification-group.d.ts +17 -3
  11. package/dist/notifications/group/notification-group.js +8 -11
  12. package/dist/notifications/notification/notification.d.ts +3 -1
  13. package/dist/notifications/notification/notification.js +1 -1
  14. package/dist/notifications/root/notifications-root.d.ts +8 -3
  15. package/dist/option/root/option-root.d.ts +21 -11
  16. package/dist/option/root/option-root.js +2 -3
  17. package/dist/radio/root/radio-root.d.ts +16 -5
  18. package/dist/radio/root/radio-root.js +2 -3
  19. package/dist/slider/root/slider-root.d.ts +10 -3
  20. package/dist/speed-dial/item/speed-dial-item.d.ts +1 -1
  21. package/dist/speed-dial/root/speed-dial-root.d.ts +1 -1
  22. package/dist/splitter/root/splitter-root.d.ts +26 -3
  23. package/dist/splitter/root/splitter-root.js +4 -3
  24. package/dist/toast/item/toast-item.d.ts +1 -1
  25. package/dist/toast/root/toast-root.d.ts +2 -2
  26. package/dist/toggle/group/toggle-group.d.ts +45 -1
  27. package/dist/toggle/group/toggle-group.js +11 -0
  28. package/dist/toggle/root/toggle-root.d.ts +17 -6
  29. package/dist/toggle/root/toggle-root.js +2 -3
  30. package/dist/tour/root/tour-root.d.ts +0 -1
  31. package/package.json +5 -5
  32. package/types/jsx.d.ts +246 -80
  33. package/types/vue.d.ts +58 -22
package/types/vue.d.ts CHANGED
@@ -5318,15 +5318,27 @@ Written by the listbox. */
5318
5318
 
5319
5319
  `<option selected>` reflects to `defaultSelected` and `option.selected` is
5320
5320
  live state that does not reflect, and those are two different facts. This
5321
- element has one `selected` doing both jobs, so what is captured here is what
5322
- the markup said at upgrade, before anything could overwrite it: read the
5323
- attribute later and the listbox's own writes answer instead.
5324
-
5325
- **The deeper half is 302 and is not this.** State reflecting under the
5326
- declaration's name is the fault `TreeItem` already avoids by mirroring to
5327
- `data-selected`, and four families here still write `selected` back into a
5328
- consumer's markup. Splitting them means moving what every stylesheet selects
5329
- on, which is a change of its own rather than a property being added. */
5321
+ element has one `selected` doing both jobs, so the declaration is the
5322
+ attribute and the state is the property.
5323
+
5324
+ **The attribute, read when it is asked for, and never a snapshot taken in
5325
+ the constructor.** A field initializer runs there, and an element the HTML
5326
+ parser created has none of its attributes yet at that moment: measured on
5327
+ this element, on `Radio` and on `Toggle`, `<helix-option value="a"
5328
+ selected>` reported `defaultSelected` as `false` both from parsed markup
5329
+ and from `createElement` followed by `setAttribute`, which is every way a
5330
+ consumer writes one. The snapshot could only ever be true for an element
5331
+ already in the document when `customElements.define` ran.
5332
+
5333
+ Nothing overwrites it either, which is what makes reading it late correct
5334
+ rather than merely later: `selected` does not reflect, for the reason
5335
+ `willUpdate` records, so the listbox's writes never reach the attribute and
5336
+ what it says is what the markup said.
5337
+
5338
+ **The deeper half is not this.** State reflecting under the declaration's
5339
+ name is the fault `TreeItem` avoids by mirroring to `data-selected`.
5340
+ Splitting them means moving what every stylesheet selects on, which is a
5341
+ change of its own rather than a property being added. */
5330
5342
  defaultSelected?: (HelixHeadlessOption["defaultSelected"]) | undefined;
5331
5343
  };
5332
5344
 
@@ -5987,9 +5999,22 @@ Written by the group. */
5987
5999
 
5988
6000
  `<option selected>` reflects to `defaultSelected` and `option.selected` is
5989
6001
  live state that does not reflect, and those are two different facts. This
5990
- element has one `selected` doing both jobs, so what is captured here is what
5991
- the markup said at upgrade, before anything could overwrite it: read the
5992
- attribute later and the listbox's own writes answer instead.
6002
+ element has one `selected` doing both jobs, so the declaration is the
6003
+ attribute and the state is the property.
6004
+
6005
+ **The attribute, read when it is asked for, and never a snapshot taken in
6006
+ the constructor.** A field initializer runs there, and an element the HTML
6007
+ parser created has none of its attributes yet at that moment: measured on
6008
+ this element, on `Option` and on `Toggle`, `<helix-radio value="a"
6009
+ selected>` reported `defaultSelected` as `false` both from parsed markup
6010
+ and from `createElement` followed by `setAttribute`, which is every way a
6011
+ consumer writes one. The snapshot could only ever be true for an element
6012
+ already in the document when `customElements.define` ran.
6013
+
6014
+ Nothing overwrites it either, which is what makes reading it late correct
6015
+ rather than merely later: `selected` does not reflect, for the reason
6016
+ `willUpdate` records, so the group's writes never reach the attribute and
6017
+ what it says is what the markup said.
5993
6018
 
5994
6019
  **The deeper half is not this.** State reflecting under the declaration's
5995
6020
  name is the fault `TreeItem` avoids by mirroring to `data-selected`.
@@ -6697,9 +6722,9 @@ has an honest answer. */
6697
6722
  };
6698
6723
 
6699
6724
  export type HelixHeadlessSplitterVueEvents = {
6700
- /** Fired before a pane shuts or reopens, and cancelable. */
6725
+ /** Fired before a pane shuts or reopens, and only where the position it is derived from stood. Cancelable: refusing it leaves the pane as it was and the divider where the gesture put it. */
6701
6726
  "helix-before-collapse": HelixHeadlessSplitterHelixBeforeCollapseElementEvent;
6702
- /** Fired before the divider settles, and cancelable. */
6727
+ /** Fired before the divider settles. Cancelable: refusing it takes the whole of where the gesture ended, so no collapse follows from it either. A drag has already drawn itself by then and holds where it was dropped until the consumer assigns their own. */
6703
6728
  "helix-before-resize": HelixHeadlessSplitterHelixBeforeResizeElementEvent;
6704
6729
  };
6705
6730
 
@@ -7967,9 +7992,22 @@ export type HelixHeadlessToggleVueProps = {
7967
7992
 
7968
7993
  `<option selected>` reflects to `defaultSelected` and `option.selected` is
7969
7994
  live state that does not reflect, and those are two different facts. This
7970
- element has one `selected` doing both jobs, so what is captured here is what
7971
- the markup said at upgrade, before anything could overwrite it: read the
7972
- attribute later and the listbox's own writes answer instead.
7995
+ element has one `selected` doing both jobs, so the declaration is the
7996
+ attribute and the state is the property.
7997
+
7998
+ **The attribute, read when it is asked for, and never a snapshot taken in
7999
+ the constructor.** A field initializer runs there, and an element the HTML
8000
+ parser created has none of its attributes yet at that moment: measured on
8001
+ this element, on `Option` and on `Radio`, `<helix-toggle value="light"
8002
+ selected>` reported `defaultSelected` as `false` both from parsed markup
8003
+ and from `createElement` followed by `setAttribute`, which is every way a
8004
+ consumer writes one. The snapshot could only ever be true for an element
8005
+ already in the document when `customElements.define` ran.
8006
+
8007
+ Nothing overwrites it either, which is what makes reading it late correct
8008
+ rather than merely later: `selected` does not reflect, for the reason
8009
+ `willUpdate` records, so the group's writes never reach the attribute and
8010
+ what it says is what the markup said.
7973
8011
 
7974
8012
  **The deeper half is not this.** State reflecting under the declaration's
7975
8013
  name is the fault `TreeItem` avoids by mirroring to `data-selected`.
@@ -8187,8 +8225,6 @@ export type HelixHeadlessTourVueEvents = {
8187
8225
  "helix-complete": HelixHeadlessTourHelixCompleteElementEvent;
8188
8226
  /** A stop's own controls asking the tour to move, dispatched by the stop and heard here because the tour is what moves. */
8189
8227
  "helix-tour-ask": HelixHeadlessTourHelixTourAskElementEvent;
8190
- /** Says the state moved, carrying `newState` and `oldState`. */
8191
- toggle: HelixHeadlessTourElementEvent;
8192
8228
  };
8193
8229
 
8194
8230
  /** `HelixHeadlessTourStop` component event */
@@ -8928,11 +8964,11 @@ export type CustomCssProperties = {
8928
8964
  "--chart-tick"?: (string) | undefined;
8929
8965
  /** The value as a fraction of the range, 0 to 1. */
8930
8966
  "--slider-fraction"?: (string) | undefined;
8931
- /** Where the filled span starts, as a percentage of the track. */
8967
+ /** Where a range's filled span starts, as a fraction of the track, 0 to 1. */
8932
8968
  "--slider-from"?: (string) | undefined;
8933
8969
  /** Where one marker sits, as a percentage of the track. */
8934
8970
  "--slider-marker-at"?: (string) | undefined;
8935
- /** Where the filled span ends, as a percentage of the track. */
8971
+ /** Where a range's filled span ends, as a fraction of the track, 0 to 1. */
8936
8972
  "--slider-to"?: (string) | undefined;
8937
8973
  /** Where a nested splitter crosses this one, as a percentage. */
8938
8974
  "--splitter-corner-at"?: (string) | undefined;
@@ -9494,7 +9530,7 @@ export interface WcToolkitVueGlobalComponents {
9494
9530
  HelixHeadlessSkipLinkVueProps,
9495
9531
  HelixHeadlessSkipLinkVueEvents
9496
9532
  >;
9497
- /** A real '<input type="range">', so the drag, the arrow keys, Home and End, the page keys and the touch target are the platform's. The last is the one nobody notices: a native range has a hit area larger than its thumb, sized by the platform for a finger. **The value is a string, like every other form control's.** A range submits text and 'MixinControllerValue' holds text, so the number is a reading of the value. 'valueAsNumber' is there for arithmetic. **Marks are drawn rather than left to '<datalist>'**, whose ticks cannot be styled and which Firefox does not render for a range at all. A mark is decoration; what a reader can land on is 'step', which the input enforces whether or not anything is drawn. 'markers' is a count rather than a flag, so a slider from zero to a hundred cannot silently ask for a hundred and one. **A range is two of them.** There is no native two-thumb range, so two are stacked on one track and each thumb keeps its own. */
9533
+ /** A real '<input type="range">', so the drag, the arrow keys, Home and End, the page keys and the touch target are the platform's. The last is the one nobody notices: a native range has a hit area larger than its thumb, sized by the platform for a finger. **The value is a string, like every other form control's.** A range submits text and 'MixinControllerValue' holds text, so the number is a reading of the value. 'valueAsNumber' is there for arithmetic. **Marks are drawn rather than left to '<datalist>'**, whose ticks cannot be styled and which Firefox does not render for a range at all. A mark is decoration; what a reader can land on is 'step', which the input enforces whether or not anything is drawn. 'markers' is a count rather than a flag, so a slider from zero to a hundred cannot silently ask for a hundred and one. **A range is two of them.** There is no native two-thumb range, so two are stacked on one track and each thumb keeps its own. **'required' arrives with the field mixin and cannot fail here**, which is worth saying rather than leaving a reader to find. A range is never empty: the platform shows its own midpoint whatever is set, and 'willUpdate' seeds that midpoint into 'defaultValue' so the value agrees with the handle from the first render. HTML does not apply 'required' to a range either, so it stays off the control and the marker beside the label is all it does. */
9498
9534
  "helix-headless-slider": DefineCustomElement<
9499
9535
  HelixHeadlessSlider,
9500
9536
  HelixHeadlessSliderVueProps,