@fusion.dev/helix 0.31.0 → 0.33.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 (35) hide show
  1. package/custom-elements.json +1419 -173
  2. package/dist/aura/root/aura-root.css.js +4 -0
  3. package/dist/aura/root/aura-root.d.ts +66 -3
  4. package/dist/aura/root/aura-root.js +61 -5
  5. package/dist/bar-chart/root/bar-chart-root.css.js +4 -0
  6. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +0 -4
  7. package/dist/carousel/root/carousel-root.css.js +4 -7
  8. package/dist/color-picker/root/color-picker-root.css.js +13 -3
  9. package/dist/data-table/root/data-table-root.css.js +15 -10
  10. package/dist/date-picker/root/date-picker-root.css.js +0 -2
  11. package/dist/donut-chart/root/donut-chart-root.css.js +8 -0
  12. package/dist/drilldown/item/drilldown-item.css.js +7 -0
  13. package/dist/drilldown/root/drilldown-root.css.js +0 -4
  14. package/dist/heatmap/root/heatmap-root.d.ts +8 -0
  15. package/dist/menu/item/menu-item.css.js +0 -4
  16. package/dist/menu/root/menu-root.css.js +0 -4
  17. package/dist/object-inspector/root/object-inspector-root.css.js +0 -4
  18. package/dist/orb/root/orb-root.css.js +4 -0
  19. package/dist/orb/root/orb-root.d.ts +24 -1
  20. package/dist/orb/root/orb-root.js +30 -2
  21. package/dist/pagination/root/pagination-root.css.js +0 -4
  22. package/dist/pin-input/root/pin-input-root.css.js +1 -0
  23. package/dist/scatter-chart/root/scatter-chart-root.css.js +7 -2
  24. package/dist/scroll-area/root/scroll-area-root.css.js +9 -2
  25. package/dist/shared/chart/terminus.css.js +8 -0
  26. package/dist/slider/root/slider-root.css.js +43 -7
  27. package/dist/table/cell/table-cell.css.js +6 -1
  28. package/dist/table/column/table-column.css.js +23 -5
  29. package/dist/tooltip/root/tooltip-root.css.js +16 -32
  30. package/dist/tour/root/tour-root.css.js +3 -2
  31. package/dist/tour/stop/tour-stop.css.js +13 -17
  32. package/dist/tree/item/tree-item.css.js +4 -0
  33. package/package.json +6 -6
  34. package/types/jsx.d.ts +1570 -628
  35. package/types/vue.d.ts +61 -18
package/types/vue.d.ts CHANGED
@@ -3047,7 +3047,8 @@ submits a string, and two fields for one question is a different control. */
3047
3047
 
3048
3048
  Worth more than one mainly for a range, where picking a start in March and
3049
3049
  an end in April otherwise means paging between them and losing sight of the
3050
- first. The panel is sized by its content, so this widens it. */
3050
+ first. The panel is sized by its content, so this widens it, and where the
3051
+ window has no room for that width it shows one month until there is. */
3051
3052
  months?: (HelixDateInput["months"]) | undefined;
3052
3053
  /** What the field says before a date is in it. */
3053
3054
  placeholder?: (HelixDateInput["placeholder"]) | undefined;
@@ -4291,8 +4292,9 @@ container that cannot get narrow. */
4291
4292
 
4292
4293
  `1` is a status strip and `7` is a calendar week, which are the two readings
4293
4294
  this covers. Cells fill down the column and then across, which is what a
4294
- calendar heatmap does: a week is a column, so the strip reads left to right
4295
- in weeks and top to bottom in days. */
4295
+ calendar heatmap does: a week is a column, so the strip reads along the
4296
+ line in weeks, from the right on a right-to-left page, and top to bottom in
4297
+ days. */
4296
4298
  rows?: (HelixHeatmap["rows"]) | undefined;
4297
4299
  /** Lower bounds for the tone buckets, in the order the tones are given.
4298
4300
 
@@ -4530,6 +4532,12 @@ export type HelixIconButtonVueEvents = {};
4530
4532
  export type HelixIconVueProps = {
4531
4533
  /** Accessible name, for an icon that is not decorative. */
4532
4534
  label?: (HelixIcon["label"]) | undefined;
4535
+ /** Turns the glyph round on a right-to-left page, for an arrow meaning forward or back.
4536
+
4537
+ Asked for rather than inferred from the name. The names are physical, and
4538
+ `arrow-left` drawn pointing right on an Arabic page would be the icon
4539
+ disagreeing with its own name for every reader who meant the left. */
4540
+ mirror?: (HelixIcon["mirror"]) | undefined;
4533
4541
  /** Name of the icon in the Helix set. */
4534
4542
  name?: (HelixIcon["name"]) | undefined;
4535
4543
  };
@@ -5017,7 +5025,7 @@ Absent is a dot, and absent rather than defaulted because a reflecting
5017
5025
  property with a default writes its attribute onto a host the consumer
5018
5026
  rendered, which React reports as a hydration mismatch.
5019
5027
 
5020
- **One per series, in a column at the right edge**, because every series here
5028
+ **One per series, in a column at the far edge**, because every series here
5021
5029
  shares an x-axis and therefore ends at the same reading. That column is the
5022
5030
  useful thing: it is where a reader looks for "and what is it now", which is
5023
5031
  the question a sparkline's single mark answers too.
@@ -8148,7 +8156,21 @@ export type HelixTableColumnVueProps = {
8148
8156
 
8149
8157
  `end` is what a column of numbers wants, so digits of the same magnitude sit
8150
8158
  above each other. Left unset the cell inherits the table's own alignment,
8151
- which is `start` for text in either writing direction. */
8159
+ which is `start` for text in either writing direction. `helix-data-table`
8160
+ aligns the cells it draws. A `helix-table`'s cells are markup the consumer
8161
+ wrote, so the table writes nothing onto them: it publishes the edge to each
8162
+ cell under this column as `--table-cell-align`, which `@fusion.dev/helix`
8163
+ reads. The heading is this element's own, and `@fusion.dev/helix` sets it to
8164
+ the same edge in either table. `end` is the inline end, so in a
8165
+ right-to-left table it is the left.
8166
+
8167
+ **Reflected, because the heading is drawn by a stylesheet and has no other
8168
+ way to learn it.** Set as a property, which is how React sets it, an
8169
+ unreflected `align` left no attribute to select on, so the heading stayed at
8170
+ the start over a column of digits set to the end. It is the author's
8171
+ declaration and nothing moves it afterwards, so an attribute cannot come to
8172
+ disagree with the element, which is the reason `open` records a custom
8173
+ state instead. No default, so an unset column writes nothing onto its host. */
8152
8174
  align?: (HelixTableColumn["align"]) | undefined;
8153
8175
  /** The key this column reads out of a row.
8154
8176
 
@@ -8175,13 +8197,23 @@ stores the widths can take the decision. */
8175
8197
 
8176
8198
  Ignored without a `field`, and silently: a column with nothing to sort by
8177
8199
  has no order to offer, and refusing loudly would mean an actions column
8178
- carrying `sortable` breaks a table rather than doing nothing. */
8200
+ carrying `sortable` breaks a table rather than doing nothing.
8201
+
8202
+ **Reflected, because a stylesheet selects on it.** `@fusion.dev/helix`
8203
+ gives a data table's sortable headings a pointer through
8204
+ `::slotted(helix-table-column[sortable])`, and set as a property, which is
8205
+ how React sets it, an unreflected `sortable` left no attribute to match.
8206
+ `false` reflects as no attribute at all, so an unset column writes nothing
8207
+ onto its host. */
8179
8208
  sortable?: (HelixTableColumn["sortable"]) | undefined;
8180
8209
  /** The track this column takes, as CSS.
8181
8210
 
8182
8211
  A single track value, so anything valid in `grid-template-columns` works:
8183
- `16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column shares what is
8184
- left over equally, as `minmax(max-content, 1fr)`.
8212
+ `16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column takes the track
8213
+ in its place in a `helix-table`'s `columns`, where that table sets one, and
8214
+ otherwise shares what is left over equally, as `minmax(max-content, 1fr)`.
8215
+ Set here, it wins over that list, which is what lets a reader resize a
8216
+ column in a table that set one.
8185
8217
 
8186
8218
  **The floor is `max-content`, never `0` and never `min-content`.** A zero
8187
8219
  floor lets a track shrink under its own content: at 375 the columns squeeze
@@ -8236,15 +8268,24 @@ say that without the component knowing what a row looks like. */
8236
8268
  "loading-text"?: (HelixTable["loadingText"]) | undefined;
8237
8269
  /** What is said while they are on their way. */
8238
8270
  loadingText?: (HelixTable["loadingText"]) | undefined;
8239
- /** Column track list, as CSS. Deprecated: declare columns instead.
8240
-
8241
- Kept for a table that has no `helix-table-column` children, and ignored the
8242
- moment it has one. A raw track list is the right shape for the value and
8243
- the wrong place for it: the headings and the widths were two halves of one
8244
- fact held in two places, and nothing checked that they agreed. Worse, the
8245
- value is CSS, so handing it headings by mistake produced an invalid track
8246
- list, which a grid ignores in silence: the table collapsed to one column
8247
- and said nothing. Columns carry both halves now. */
8271
+ /** The column widths as one track list, written once on the table.
8272
+
8273
+ With `helix-table-column` children, each track sizes the column in its
8274
+ place, a hidden column counted, so hiding one takes its track with it and
8275
+ the rest keep theirs. The columns decide how many tracks there are and this
8276
+ list only how wide: a track past the last column is dropped, and a column
8277
+ past the last track shares what is left. With no columns declared it is
8278
+ the whole track list. Tracks count as the grid counts them, so
8279
+ `minmax(0, 1fr)` is one and `repeat(2, 8rem)` is two, and one the grid
8280
+ would refuse leaves its column at the default rather than taking the table
8281
+ down to one column.
8282
+
8283
+ **A column's own `width` wins over its track here.** The width is written
8284
+ on the column it sizes, which is the more particular statement, and it is
8285
+ where a resize lands: a reader dragging a column's edge writes `width`, so
8286
+ were this list to win, the drag would move the separator and leave the
8287
+ track where the list put it. This is the table's default for its columns,
8288
+ and each column may say otherwise. */
8248
8289
  columns?: (HelixTable["columns"]) | undefined;
8249
8290
  /** Accessible name for the table. */
8250
8291
  label?: (HelixTable["label"]) | undefined;
@@ -10980,6 +11021,8 @@ export type CustomCssProperties = {
10980
11021
  "--switch-on-color"?: (string) | undefined;
10981
11022
  /** The handle, in both states. */
10982
11023
  "--switch-thumb-color"?: (string) | undefined;
11024
+ /** The edge the column this cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the table around it, since the cell is the consumer's markup and nothing is written onto it; read by the sheet that draws the cell, where `justify-content` and `text-align` both take it as it comes and both follow the writing direction. */
11025
+ "--table-cell-align"?: (string) | undefined;
10983
11026
  /** Track list for the columns. */
10984
11027
  "--table-columns"?: (string) | undefined;
10985
11028
  /** 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. `--table-columns` is the one to set. */
@@ -11154,7 +11197,7 @@ export interface WcToolkitVueGlobalComponents {
11154
11197
  HelixAreaChartVueProps,
11155
11198
  HelixAreaChartVueEvents
11156
11199
  >;
11157
- /** One fragment shader over a full-screen triangle, with the palette read from the tokens rather than given as colors. A background written with hex values is an asset that has to be re-cut when the brand moves; one written against '--helix-color-primary' is a consequence of it. **Every shape ramps through four token stops**, and the token layer inverts each: the page's background, 'primary-subtle', 'primary', then a peak. The peak is the foreground on a dark page and 'primary-active' on a light one, because mixing a saturated hue toward near-black takes the chroma out of the pixels carrying most of it. Which way the page runs is read off the ground's own luminance rather than asked of the mode, which is a private token. **No dependency, and no scene graph.** The geometry is three vertices derived from 'gl_VertexID', so there is no attribute, no buffer and no upload. **It stops when nobody is looking**, off screen and in a background tab, and 'prefers-reduced-motion' gets one still frame rather than an empty box. Styled only, and with behavior, which the tier split does not otherwise allow: the behavior is drawing to a canvas, so there is no structure a consumer could restyle and nothing for a headless twin to hold. */
11200
+ /** One fragment shader over a full-screen triangle, with the palette read from the tokens rather than given as colors. A background written with hex values is an asset that has to be re-cut when the brand moves; one written against '--helix-color-primary' is a consequence of it. **Every shape ramps through four token stops**, and the token layer inverts each: the page's background, 'primary-subtle', 'primary', then a peak. The peak is the foreground on a dark page and 'primary-active' on a light one, because mixing a saturated hue toward near-black takes the chroma out of the pixels carrying most of it. Which way the page runs is read off the ground's own luminance rather than asked of the mode, which is a private token. **No dependency, and no scene graph.** The geometry is three vertices derived from 'gl_VertexID', so there is no attribute, no buffer and no upload. **It stops when nobody is looking**, off screen and in a background tab, and 'prefers-reduced-motion' gets one still frame rather than an empty box. A context the browser takes back, on a GPU reset or past its cap of about sixteen, stops it too, and the gradient shows until the context returns. Styled only, and with behavior, which the tier split does not otherwise allow: the behavior is drawing to a canvas, so there is no structure a consumer could restyle and nothing for a headless twin to hold. */
11158
11201
  "helix-aura": DefineCustomElement<
11159
11202
  HelixAura,
11160
11203
  HelixAuraVueProps,