@fusion.dev/helix 0.37.0 → 0.39.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
@@ -160,7 +160,7 @@ import type {
160
160
  HelixResizeEvent,
161
161
  HelixShortcutEvent,
162
162
  HelixReadEvent,
163
- HelixBeforeActivateEvent,
163
+ HelixActivateEvent,
164
164
  HelixCompleteEvent,
165
165
  HelixConsoleEvent,
166
166
  HelixBeforeEditEvent,
@@ -169,7 +169,7 @@ import type {
169
169
  HelixCaretEvent,
170
170
  HelixBeforeCollapseEvent,
171
171
  HelixBeforeResizeEvent,
172
- HelixActivateEvent,
172
+ HelixBeforeActivateEvent,
173
173
  HelixTourAskEvent,
174
174
  HelixNextEvent,
175
175
  HelixPreviousEvent,
@@ -2326,7 +2326,16 @@ toggles rather than replaces, and the arrows move without choosing. What
2326
2326
  this adds is the tags, and keeping the panel open between picks.
2327
2327
 
2328
2328
  A comma is therefore not available inside an option's value, which is the
2329
- listbox's contract and not this element's to change. */
2329
+ listbox's contract and not this element's to change.
2330
+
2331
+ **The list is told, and the field is not.** `aria-multiselectable` belongs
2332
+ to `listbox`, `grid`, `tree` and `tablist`, and `combobox` dropped it in
2333
+ ARIA 1.2; the list sets it on itself through `ElementInternals`, where a
2334
+ reader on the field hears it through `aria-controls`. This element wrote it
2335
+ onto its own `role="combobox"` input as well, which an audit reports as a
2336
+ property the role does not support and no spec here ever asserted: the one
2337
+ that covers this says in as many words that telling the list is what this
2338
+ element is responsible for. */
2330
2339
  multiple?: (HelixCombobox["multiple"]) | undefined;
2331
2340
  /** Text shown while nothing has been chosen. */
2332
2341
  placeholder?: (HelixCombobox["placeholder"]) | undefined;
@@ -3292,10 +3301,11 @@ export type HelixDatePickerVueEvents = {
3292
3301
  };
3293
3302
 
3294
3303
  export type HelixDescriptionListItemVueProps = {
3295
- /** What the value is, for the common case of plain text.
3304
+ /** What the value is called, for the common case of plain text.
3296
3305
 
3297
3306
  The fallback of the `label` slot, so slotted content replaces it rather than
3298
- appearing beside it. */
3307
+ appearing beside it. The value itself is the default slot: it is the half
3308
+ that varies and is often more than text. */
3299
3309
  label?: (HelixDescriptionListItem["label"]) | undefined;
3300
3310
  };
3301
3311
 
@@ -3552,12 +3562,12 @@ export type HelixDonutChartVueEvents = {};
3552
3562
 
3553
3563
  /** `HelixDrawer` component event */
3554
3564
  export type HelixDrawerElementEvent<E = Event> = TypedEvent<HelixDrawer, E>;
3555
- /** `helix-before-open` event type */
3556
- export type HelixDrawerHelixBeforeOpenElementEvent =
3557
- HelixDrawerElementEvent<HelixBeforeOpenEvent>;
3558
3565
  /** `helix-before-close` event type */
3559
3566
  export type HelixDrawerHelixBeforeCloseElementEvent =
3560
3567
  HelixDrawerElementEvent<HelixBeforeCloseEvent>;
3568
+ /** `helix-before-open` event type */
3569
+ export type HelixDrawerHelixBeforeOpenElementEvent =
3570
+ HelixDrawerElementEvent<HelixBeforeOpenEvent>;
3561
3571
 
3562
3572
  export type HelixDrawerVueProps = {
3563
3573
  /** Whether the panel is glass rather than opaque.
@@ -3653,12 +3663,12 @@ survives to it and a consumer reading one back gets what they wrote. */
3653
3663
  };
3654
3664
 
3655
3665
  export type HelixDrawerVueEvents = {
3656
- /** Fired before the drawer opens or closes. Cancelable: refusing it takes the decision and nothing moves. */
3657
- "helix-before-open": HelixDrawerHelixBeforeOpenElementEvent;
3658
3666
  /** Relayed, because the platform's own does not escape. */
3659
3667
  close: HelixDrawerElementEvent;
3660
3668
  /** Fired before the panel closes, and cancelable. */
3661
3669
  "helix-before-close": HelixDrawerHelixBeforeCloseElementEvent;
3670
+ /** Fired before the panel opens. Cancelable: refusing it takes the decision and nothing moves. */
3671
+ "helix-before-open": HelixDrawerHelixBeforeOpenElementEvent;
3662
3672
  /** Says the state moved, carrying `newState` and `oldState`. */
3663
3673
  toggle: HelixDrawerElementEvent;
3664
3674
  };
@@ -4245,9 +4255,15 @@ shadow root names a table in that root rather than in the document. A
4245
4255
  Absent falls back to the table's own caption, which is usually the right
4246
4256
  words and is already written. */
4247
4257
  label?: (HelixHeatmap["label"]) | undefined;
4248
- /** Shown when the table has no readings in it. */
4258
+ /** Shown when the table has no readings in it.
4259
+
4260
+ Never shown while the table cannot be read at all, which is a server render
4261
+ and the hydrating one after it: see `sourceKnown`. */
4249
4262
  "empty-text"?: (HelixHeatmap["emptyText"]) | undefined;
4250
- /** Shown when the table has no readings in it. */
4263
+ /** Shown when the table has no readings in it.
4264
+
4265
+ Never shown while the table cannot be read at all, which is a server render
4266
+ and the hydrating one after it: see `sourceKnown`. */
4251
4267
  emptyText?: (HelixHeatmap["emptyText"]) | undefined;
4252
4268
  /** Space between cells, in CSS pixels, for the same reason `min-cell` is a
4253
4269
  number. */
@@ -5302,8 +5318,16 @@ fits.
5302
5318
  a band is not a question of paint: a band is not placed against the trigger,
5303
5319
  so the controller has to be told not to measure, and that decision is here
5304
5320
  whatever the stylesheet says. Writing the width in both places would be one
5305
- number in two languages, drifting the first time either moved. This sets
5306
- `data-narrow` on the host and the stylesheet arranges itself off that. */
5321
+ number in two languages, drifting the first time either moved. This records
5322
+ `:state(narrow)` on the host and the stylesheet arranges itself off that.
5323
+
5324
+ **A custom state and never `data-narrow`, which is what it was.** The width
5325
+ is read in `connectedCallback`, so on a phone this is true on the very first
5326
+ update: an attribute written there is markup a consumer's server never sent,
5327
+ which React reports as a mismatch and answers by rebuilding the subtree. The
5328
+ narrow exception the server specs describe covers a mirror that can only
5329
+ become true long after hydration, and a viewport measured before the first
5330
+ paint is the opposite case. See `MixinControllerOpen` on `open`. */
5307
5331
  "full-below"?: (HelixMegamenu["fullBelow"] | `${number}`) | undefined;
5308
5332
  /** The width, in pixels, under which a card becomes a band. Zero never does.
5309
5333
 
@@ -5318,8 +5342,16 @@ fits.
5318
5342
  a band is not a question of paint: a band is not placed against the trigger,
5319
5343
  so the controller has to be told not to measure, and that decision is here
5320
5344
  whatever the stylesheet says. Writing the width in both places would be one
5321
- number in two languages, drifting the first time either moved. This sets
5322
- `data-narrow` on the host and the stylesheet arranges itself off that. */
5345
+ number in two languages, drifting the first time either moved. This records
5346
+ `:state(narrow)` on the host and the stylesheet arranges itself off that.
5347
+
5348
+ **A custom state and never `data-narrow`, which is what it was.** The width
5349
+ is read in `connectedCallback`, so on a phone this is true on the very first
5350
+ update: an attribute written there is markup a consumer's server never sent,
5351
+ which React reports as a mismatch and answers by rebuilding the subtree. The
5352
+ narrow exception the server specs describe covers a mirror that can only
5353
+ become true long after hydration, and a viewport measured before the first
5354
+ paint is the opposite case. See `MixinControllerOpen` on `open`. */
5323
5355
  fullBelow?: (HelixMegamenu["fullBelow"]) | undefined;
5324
5356
  /** The section's name, which names the default trigger and the panel. */
5325
5357
  label?: (HelixMegamenu["label"]) | undefined;
@@ -5974,12 +6006,26 @@ page's markup should not take the page down over a comma. */
5974
6006
  /** Whether to leave the copy button off.
5975
6007
 
5976
6008
  Negative for the reason Code Block's is: a boolean attribute defaulting to
5977
- true could never be turned off from markup. */
6009
+ true could never be turned off from markup.
6010
+
6011
+ **It does not reflect, where Code Block's does**, and the difference is what
6012
+ the two sheets need. Code Block reserves the button's width with
6013
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
6014
+ who set the property. This button is positioned out of the flow and takes no
6015
+ room, so nothing selects on it, and reflection exists so that a selector can
6016
+ reach a value. */
5978
6017
  "no-copy"?: (HelixObjectInspector["noCopy"]) | undefined;
5979
6018
  /** Whether to leave the copy button off.
5980
6019
 
5981
6020
  Negative for the reason Code Block's is: a boolean attribute defaulting to
5982
- true could never be turned off from markup. */
6021
+ true could never be turned off from markup.
6022
+
6023
+ **It does not reflect, where Code Block's does**, and the difference is what
6024
+ the two sheets need. Code Block reserves the button's width with
6025
+ `:host(:not([no-copy]))`, so the attribute has to be there for a consumer
6026
+ who set the property. This button is positioned out of the flow and takes no
6027
+ room, so nothing selects on it, and reflection exists so that a selector can
6028
+ reach a value. */
5983
6029
  noCopy?: (HelixObjectInspector["noCopy"]) | undefined;
5984
6030
  /** Whether to draw only the rows in view.
5985
6031
 
@@ -6138,9 +6184,9 @@ export type HelixOrbVueEvents = {};
6138
6184
 
6139
6185
  /** `HelixOutline` component event */
6140
6186
  export type HelixOutlineElementEvent<E = Event> = TypedEvent<HelixOutline, E>;
6141
- /** `helix-before-activate` event type */
6142
- export type HelixOutlineHelixBeforeActivateElementEvent =
6143
- HelixOutlineElementEvent<HelixBeforeActivateEvent>;
6187
+ /** `helix-activate` event type */
6188
+ export type HelixOutlineHelixActivateElementEvent =
6189
+ HelixOutlineElementEvent<HelixActivateEvent>;
6144
6190
 
6145
6191
  export type HelixOutlineVueProps = {
6146
6192
  /** How a click on one of these links travels to its section.
@@ -6175,8 +6221,8 @@ under the chrome rather than as it reaches the top of what can be seen. */
6175
6221
  };
6176
6222
 
6177
6223
  export type HelixOutlineVueEvents = {
6178
- /** The section being read has changed, carrying its id as the value. Cancelable: refusing it takes the decision and nothing moves. */
6179
- "helix-before-activate": HelixOutlineHelixBeforeActivateElementEvent;
6224
+ /** The section being read has changed, carrying its id as the value. An announcement: it is read off where the page is scrolled to, so there is no decision here to take. */
6225
+ "helix-activate": HelixOutlineHelixActivateElementEvent;
6180
6226
  };
6181
6227
 
6182
6228
  /** `HelixPagination` component event */
@@ -10415,7 +10461,7 @@ export type CustomCssProperties = {
10415
10461
  "--combobox-border-color"?: (string) | undefined;
10416
10462
  /** Width of the panel's edge. Follows `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a theme says otherwise. */
10417
10463
  "--combobox-border-width"?: (string) | undefined;
10418
- /** Smallest the text field shrinks to */
10464
+ /** Smallest the text field shrinks to once tags share its line. */
10419
10465
  "--combobox-control-size"?: (string) | undefined;
10420
10466
  /** Width of the panel. Follows the field by default. */
10421
10467
  "--combobox-panel-size"?: (string) | undefined;
@@ -10449,6 +10495,8 @@ export type CustomCssProperties = {
10449
10495
  "--data-table-rule-color"?: (string) | undefined;
10450
10496
  /** Type size, headings and cells alike. */
10451
10497
  "--data-table-text"?: (string) | undefined;
10498
+ /** The edge the column a cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the component onto each cell it draws, read by the sheet that paints one; `helix-table` publishes `--table-cell-align` for the same attribute on the cells a consumer wrote, under its own family's name. */
10499
+ "--data-table-cell-align"?: (string) | undefined;
10452
10500
  /** The column track list this element worked out from the columns declared in it. Written by the component, read by the sheet that paints: a stylesheet takes it to lay the grid out, and setting it does nothing, because the component writes it inline on the very element that reads it and an inline declaration beats any sheet. `--data-table-columns` is the one to set. */
10453
10501
  "--data-table-template"?: (string) | undefined;
10454
10502
  /** Fill behind the field. */
@@ -10473,7 +10521,7 @@ export type CustomCssProperties = {
10473
10521
  "--date-picker-track-size"?: (string) | undefined;
10474
10522
  /** How many month columns are drawn, capped at two. `--date-picker-columns` overrides it. */
10475
10523
  "--date-picker-column-count"?: (string) | undefined;
10476
- /** Space between one pair and the next. */
10524
+ /** Space between one pair and the next. Its resting value is tighter with `direction="row"` than stacked, a row of pairs needing less air between them than a column of them does, and setting this takes both. */
10477
10525
  "--description-list-gap"?: (string) | undefined;
10478
10526
  /** Color of the panel's edge. */
10479
10527
  "--dialog-border-color"?: (string) | undefined;
@@ -10511,7 +10559,7 @@ export type CustomCssProperties = {
10511
10559
  "--donut-chart-track-color"?: (string) | undefined;
10512
10560
  /** How thick the ring is drawn, derived from `hole`. */
10513
10561
  "--donut-chart-stroke"?: (string) | undefined;
10514
- /** Filter applied behind a `material="glass"` drawer. Follows the theme's material policy; set it to override the strength on one drawer. */
10562
+ /** Filter applied behind a `frosted` or `glass` drawer. Follows the theme's material policy; set it to override the strength on one drawer. */
10515
10563
  "--drawer-backdrop"?: (string) | undefined;
10516
10564
  /** Surface behind the panel. */
10517
10565
  "--drawer-background-color"?: (string) | undefined;
@@ -10521,7 +10569,7 @@ export type CustomCssProperties = {
10521
10569
  "--drawer-border-width"?: (string) | undefined;
10522
10570
  /** Padding inside the panel. */
10523
10571
  "--drawer-padding"?: (string) | undefined;
10524
- /** Padding above the content, which clears the close control. */
10572
+ /** Padding above the header, which is a step deeper than the other three so the first line clears the window's own edge. Falls back to `--drawer-padding`, so setting that alone governs all four sides. */
10525
10573
  "--drawer-padding-block-start"?: (string) | undefined;
10526
10574
  /** Corner radius on the edges that face the page. */
10527
10575
  "--drawer-radius"?: (string) | undefined;
@@ -10679,7 +10727,7 @@ export type CustomCssProperties = {
10679
10727
  "--loader-size"?: (string) | undefined;
10680
10728
  /** Color of the circle behind it. */
10681
10729
  "--loader-track-color"?: (string) | undefined;
10682
- /** A filter behind the panel, for glass. */
10730
+ /** A filter behind the panel, which is `none` until one is asked for: this family carries no `material`, so the pair is two hooks rather than a word. */
10683
10731
  "--megamenu-backdrop"?: (string) | undefined;
10684
10732
  /** The panel's own fill. */
10685
10733
  "--megamenu-background-color"?: (string) | undefined;
@@ -11115,7 +11163,7 @@ export type CustomCssProperties = {
11115
11163
  "--toolbar-gap"?: (string) | undefined;
11116
11164
  /** Size of the point at the bubble's edge. */
11117
11165
  "--tooltip-arrow-size"?: (string) | undefined;
11118
- /** Blur behind a `glass` bubble. */
11166
+ /** Blur behind a `frosted` or `glass` bubble. */
11119
11167
  "--tooltip-backdrop"?: (string) | undefined;
11120
11168
  /** Fill of the bubble. */
11121
11169
  "--tooltip-background-color"?: (string) | undefined;
@@ -11653,7 +11701,7 @@ export interface WcToolkitVueGlobalComponents {
11653
11701
  HelixOrbVueProps,
11654
11702
  HelixOrbVueEvents
11655
11703
  >;
11656
- /** A rule down the leading edge with the current section lit along it, which is the shape a table of contents has taken since printed marginalia: the line says the list is one thing, and the lit segment says where in it you are. Nesting is the consumer's, expressed as 'data-level' on a link. An outline that read heading levels itself would have to look at the document, and the document is not always where the headings are. */
11704
+ /** A rule down the leading edge with the current section lit along it, which is the shape a table of contents has taken since printed marginalia: the line says the list is one thing, and the lit segment says where in it you are. Nesting is the consumer's, expressed as 'data-level' on a link, and the levels are the heading levels: '2' through '6' each take one more step of '--outline-indent', and a link with no 'data-level' is the top one. An outline that read heading levels itself would have to look at the document, and the document is not always where the headings are. */
11657
11705
  "helix-outline": DefineCustomElement<
11658
11706
  HelixOutline,
11659
11707
  HelixOutlineVueProps,