@fusion.dev/helix 0.166.0 → 0.167.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 (30) hide show
  1. package/custom-elements.json +2583 -477
  2. package/dist/canvas/root/canvas-root.css.js +1 -1
  3. package/dist/canvas/root/canvas-root.d.ts +2 -0
  4. package/dist/canvas/root/canvas-root.js +1 -0
  5. package/dist/chat/composer/chat-composer.css.js +1 -1
  6. package/dist/color-picker/root/color-picker-root.css.js +2 -2
  7. package/dist/combobox/root/combobox-root.d.ts +1 -1
  8. package/dist/combobox/root/combobox-root.js +1 -1
  9. package/dist/command/root/command-root.css.js +1 -1
  10. package/dist/element-events.generated.js +2 -0
  11. package/dist/file-input/root/file-input-root.d.ts +1 -1
  12. package/dist/file-input/root/file-input-root.js +1 -1
  13. package/dist/graph/root/graph-root.css.js +1 -1
  14. package/dist/listbox/root/listbox-root.css.js +1 -1
  15. package/dist/object-inspector/root/object-inspector-root.css.js +1 -1
  16. package/dist/sandbox/source/sandbox-source.css.js +1 -1
  17. package/dist/sandbox/terminal/sandbox-terminal.css.js +1 -1
  18. package/dist/shared/field/field-frame.css.js +1 -1
  19. package/dist/shared/field/field-segments.css.js +1 -1
  20. package/dist/table/root/table-root.css.js +7 -1
  21. package/dist/table/root/table-root.d.ts +4 -0
  22. package/dist/time-picker/root/time-picker-root.css.js +1 -1
  23. package/dist/time-picker/root/time-picker-root.d.ts +1 -0
  24. package/dist/virtual-list/root/virtual-list-root.css.js +1 -1
  25. package/dist/virtual-list/root/virtual-list-root.d.ts +1 -1
  26. package/lint.json +1 -1
  27. package/package.json +6 -6
  28. package/types/jsx.d.ts +383 -63
  29. package/types/vue.d.ts +89 -2
  30. package/types/words.d.ts +27 -0
package/types/vue.d.ts CHANGED
@@ -174,6 +174,7 @@ import type {
174
174
  HelixBeforeChangeEvent,
175
175
  HelixPressEvent,
176
176
  HelixBeforeMoveEvent,
177
+ HelixBeforePasteEvent,
177
178
  HelixBeforeReconnectEvent,
178
179
  HelixBeforeRelabelEvent,
179
180
  HelixCanvasEditEvent,
@@ -182,6 +183,7 @@ import type {
182
183
  HelixCanvasZoomEvent,
183
184
  HelixConnectEvent,
184
185
  HelixMoveEvent,
186
+ HelixPastedEvent,
185
187
  HelixReconnectEvent,
186
188
  HelixRelabelEvent,
187
189
  HelixRemoveEvent,
@@ -2230,6 +2232,9 @@ export type HelixCanvasElementEvent<E = Event> = TypedEvent<HelixCanvas, E>;
2230
2232
  /** `helix-before-move` event type */
2231
2233
  export type HelixCanvasHelixBeforeMoveElementEvent =
2232
2234
  HelixCanvasElementEvent<HelixBeforeMoveEvent>;
2235
+ /** `helix-before-paste` event type */
2236
+ export type HelixCanvasHelixBeforePasteElementEvent =
2237
+ HelixCanvasElementEvent<HelixBeforePasteEvent>;
2233
2238
  /** `helix-before-reconnect` event type */
2234
2239
  export type HelixCanvasHelixBeforeReconnectElementEvent =
2235
2240
  HelixCanvasElementEvent<HelixBeforeReconnectEvent>;
@@ -2254,6 +2259,9 @@ export type HelixCanvasHelixConnectElementEvent =
2254
2259
  /** `helix-move` event type */
2255
2260
  export type HelixCanvasHelixMoveElementEvent =
2256
2261
  HelixCanvasElementEvent<HelixMoveEvent>;
2262
+ /** `helix-pasted` event type */
2263
+ export type HelixCanvasHelixPastedElementEvent =
2264
+ HelixCanvasElementEvent<HelixPastedEvent>;
2257
2265
  /** `helix-reconnect` event type */
2258
2266
  export type HelixCanvasHelixReconnectElementEvent =
2259
2267
  HelixCanvasElementEvent<HelixReconnectEvent>;
@@ -2426,6 +2434,10 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
2426
2434
  /** The hint shown when the board, waiting to be pressed with
2427
2435
  `gestures="activate"`, is scrolled or swiped over. */
2428
2436
  activateHintLabel?: (HelixCanvas["activateHintLabel"]) | undefined;
2437
+ /** What screen readers hear after `arrange()` moves the cards. */
2438
+ "arranged-label"?: (HelixCanvas["arrangedLabel"]) | undefined;
2439
+ /** What screen readers hear after `arrange()` moves the cards. */
2440
+ arrangedLabel?: (HelixCanvas["arrangedLabel"]) | undefined;
2429
2441
  /** The text read with a card to say where its connections come from, with `{cards}`. */
2430
2442
  "comes-from-label"?: (HelixCanvas["comesFromLabel"]) | undefined;
2431
2443
  /** The text read with a card to say where its connections come from, with `{cards}`. */
@@ -2524,6 +2536,10 @@ on a board that is a flow is the order its author meant.
2524
2536
  Absent is spatial, a resting value being an attribute's absence: a default
2525
2537
  that reflected would write a choice onto every host that no server sent. */
2526
2538
  order?: (HelixCanvas["order"]) | undefined;
2539
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
2540
+ "pasted-label"?: (HelixCanvas["pastedLabel"]) | undefined;
2541
+ /** What screen readers hear after a paste, with `{count}` for the cards pasted. */
2542
+ pastedLabel?: (HelixCanvas["pastedLabel"]) | undefined;
2527
2543
  /** The route every connection takes when it sets no `path` of its own:
2528
2544
  `straight`, or `step` for right angles.
2529
2545
 
@@ -2557,6 +2573,14 @@ walk the cards. */
2557
2573
  "redone-label"?: (HelixCanvas["redoneLabel"]) | undefined;
2558
2574
  /** What screen readers hear after a move or a resize is made again. */
2559
2575
  redoneLabel?: (HelixCanvas["redoneLabel"]) | undefined;
2576
+ /** What screen readers hear when Delete asks to remove what is selected, with
2577
+ `{count}` for how many cards and connections, and `{name}` for the one
2578
+ where there is one. */
2579
+ "removed-label"?: (HelixCanvas["removedLabel"]) | undefined;
2580
+ /** What screen readers hear when Delete asks to remove what is selected, with
2581
+ `{count}` for how many cards and connections, and `{name}` for the one
2582
+ where there is one. */
2583
+ removedLabel?: (HelixCanvas["removedLabel"]) | undefined;
2560
2584
  /** What screen readers hear after a key resizes a card, with `{name}` for the
2561
2585
  card and `{width}` and `{height}` for its new size, in the document's
2562
2586
  units. */
@@ -2702,6 +2726,8 @@ it rather than fitting the board again. */
2702
2726
  export type HelixCanvasVueEvents = {
2703
2727
  /** Cards are about to move. Cancelable: cancel it to keep the positions in your own state. */
2704
2728
  "helix-before-move": HelixCanvasHelixBeforeMoveElementEvent;
2729
+ /** Cards and connections are about to be pasted. Cancelable: cancel it to add the detail's document to your own state. */
2730
+ "helix-before-paste": HelixCanvasHelixBeforePasteElementEvent;
2705
2731
  /** A connection's end is about to move to another card or side. Cancelable: cancel it to keep connections in your own state. */
2706
2732
  "helix-before-reconnect": HelixCanvasHelixBeforeReconnectElementEvent;
2707
2733
  /** A connection's label or a group's name is about to change. Cancelable: cancel it to keep labels in your own state. */
@@ -2718,6 +2744,8 @@ export type HelixCanvasVueEvents = {
2718
2744
  "helix-connect": HelixCanvasHelixConnectElementEvent;
2719
2745
  /** Cards moved and the move is finished: a drag was released, a click put a card down, or a key was pressed. */
2720
2746
  "helix-move": HelixCanvasHelixMoveElementEvent;
2747
+ /** Cards and connections were pasted, and the board holds them. */
2748
+ "helix-pasted": HelixCanvasHelixPastedElementEvent;
2721
2749
  /** A connection's end moved, and the move is finished. */
2722
2750
  "helix-reconnect": HelixCanvasHelixReconnectElementEvent;
2723
2751
  /** A connection's label or a group's name changed. */
@@ -8370,7 +8398,8 @@ such as `buddhist` for `th-TH`, and `gregory` for every other, such as
8370
8398
  `persian` for `fa-IR`, so a date written here reads as the same date a
8371
8399
  Date Picker beside it shows. Write `calendar="persian"` for Mehr 14, 1405. */
8372
8400
  calendar?: (HelixFormatDate["calendar"]) | undefined;
8373
- /** The timestamp, in any format `Date` can parse.
8401
+ /** The timestamp: a `Date`, milliseconds since the epoch, or a string in any
8402
+ format `Date` can parse. The attribute is the string.
8374
8403
 
8375
8404
  An ISO string is what an API sends and what `<time datetime>` takes, so it
8376
8405
  is the shape that needs no translation at either end. Left unset this
@@ -17507,6 +17536,15 @@ order has its whole sentence. `{order}` is the deprecated
17507
17536
  "unsorted-label"?: (HelixTable["unsortedLabel"]) | undefined;
17508
17537
  /** What screen readers hear when the table stops being sorted. */
17509
17538
  unsortedLabel?: (HelixTable["unsortedLabel"]) | undefined;
17539
+ /** Draws only the rows in view, with empty space in place of the rest, as
17540
+ Data Table's `windowed` does. The table's box then scrolls, at the
17541
+ height `--table-block-size` gives it in the styled tier, and the
17542
+ headings stick to its top.
17543
+
17544
+ Off by default. Windowing costs a scroll listener, a measurement per row
17545
+ drawn, and a height on the table, and a table of twenty rows should pay
17546
+ none of them. */
17547
+ windowed?: (HelixTable["windowed"]) | undefined;
17510
17548
  };
17511
17549
 
17512
17550
  export type HelixTableVueEvents = {
@@ -18794,6 +18832,12 @@ and a wheel has exactly one value by construction. Rather than draw
18794
18832
  something that cannot say what it holds, `wheels` renders as a list
18795
18833
  whenever a mode is set. */
18796
18834
  mode?: (HelixTimePicker["mode"]) | undefined;
18835
+ /** The words on the button that chooses the current time, drawn with
18836
+ `show-now`. */
18837
+ "now-label"?: (HelixTimePicker["nowLabel"]) | undefined;
18838
+ /** The words on the button that chooses the current time, drawn with
18839
+ `show-now`. */
18840
+ nowLabel?: (HelixTimePicker["nowLabel"]) | undefined;
18797
18841
  /** The validation message for a time after `max`. `{max}` is replaced with
18798
18842
  `max`, written in `locale`. */
18799
18843
  "range-overflow-message"?: (HelixTimePicker["rangeOverflowMessage"]) | undefined;
@@ -18850,6 +18894,22 @@ wheels take a column of seconds, and `step` counts seconds, the unit
18850
18894
  rows, so give `seconds` a `step` and bounds that keep it a list, or use
18851
18895
  the wheels. */
18852
18896
  seconds?: (HelixTimePicker["seconds"]) | undefined;
18897
+ /** Draws a button under the times that chooses the current time, as
18898
+ `selectNow()` does.
18899
+
18900
+ For a form about something happening now, such as a shift starting or a
18901
+ dose taken, where the reader would otherwise scroll to the time on the
18902
+ clock. The button is a tab stop after the times, and its words are
18903
+ `now-label`. */
18904
+ "show-now"?: (HelixTimePicker["showNow"]) | undefined;
18905
+ /** Draws a button under the times that chooses the current time, as
18906
+ `selectNow()` does.
18907
+
18908
+ For a form about something happening now, such as a shift starting or a
18909
+ dose taken, where the reader would otherwise scroll to the time on the
18910
+ clock. The button is a tab stop after the times, and its words are
18911
+ `now-label`. */
18912
+ showNow?: (HelixTimePicker["showNow"]) | undefined;
18853
18913
  /** How far apart the offered times are, in minutes, or in seconds with
18854
18914
  `seconds`.
18855
18915
 
@@ -21004,6 +21064,23 @@ follows the box as it resizes, which `columns` then does not decide. */
21004
21064
  out as many columns as fit the box at that width, at least one, and
21005
21065
  follows the box as it resizes, which `columns` then does not decide. */
21006
21066
  minColumnWidth?: (HelixVirtualList["minColumnWidth"]) | undefined;
21067
+ /** Which way the list runs. `horizontal` lays the items out along a line
21068
+ and scrolls it sideways: Left and Right move between items, the other
21069
+ way round on a right-to-left page, and `estimate` is an item's width. A
21070
+ grid always runs down. */
21071
+ orientation?: (HelixVirtualList["orientation"]) | undefined;
21072
+ /** The field of each item that names its section, as a key or a path of
21073
+ keys. Set, the items are drawn in sections: a header, then the items, in
21074
+ an element with the `group` role that the header names. A section starts
21075
+ wherever the field changes, so give the items in order. A list of one
21076
+ column only. */
21077
+ "section-field"?: (HelixVirtualList["sectionField"]) | undefined;
21078
+ /** The field of each item that names its section, as a key or a path of
21079
+ keys. Set, the items are drawn in sections: a header, then the items, in
21080
+ an element with the `group` role that the header names. A section starts
21081
+ wherever the field changes, so give the items in order. A list of one
21082
+ column only. */
21083
+ sectionField?: (HelixVirtualList["sectionField"]) | undefined;
21007
21084
  /** What a press does to the items already chosen: `toggle` adds or takes out
21008
21085
  the item, and `replace` selects it alone and lets the arrow keys carry the
21009
21086
  selection, with Control or Command adding or taking out one item. */
@@ -21046,6 +21123,10 @@ It returns what Lit renders: a template from `html`, a string, or a DOM
21046
21123
  node. The list wraps each result in a `<div>` that carries the row's role
21047
21124
  and place in the set. Where it is unset, the row `<template>` is used. */
21048
21125
  renderItem?: (HelixVirtualList["renderItem"]) | undefined;
21126
+ /** Draws each section's header, given its name and its place among the
21127
+ sections, for a list given `section-field`. Set it as a property. Where
21128
+ it is unset, the header is the name as text. */
21129
+ renderSection?: (HelixVirtualList["renderSection"]) | undefined;
21049
21130
  };
21050
21131
 
21051
21132
  export type HelixVirtualListVueEvents = {
@@ -23084,6 +23165,8 @@ export type CustomCssProperties = {
23084
23165
  "--switch-thumb-color"?: (string) | undefined;
23085
23166
  /** The text alignment of the column above the cell: `start`, `center`, or `end`, and unset when the column sets none. The table writes it, and the stylesheet that draws the cell reads it for `justify-content` and `text-align`, which both follow the writing direction. */
23086
23167
  "--table-cell-align"?: (string) | undefined;
23168
+ /** How tall the table's box is while `windowed`, when it scrolls its rows. 24em by default. */
23169
+ "--table-block-size"?: (string) | undefined;
23087
23170
  /** Track list for the columns. It overrides the track list worked out from the columns. */
23088
23171
  "--table-columns"?: (string) | undefined;
23089
23172
  /** The fill behind the copy of a row a pointer drags. */
@@ -23100,6 +23183,8 @@ export type CustomCssProperties = {
23100
23183
  "--table-drag-preview-shadow"?: (string) | undefined;
23101
23184
  /** The color of the words in the line shown while `error-text` is set. */
23102
23185
  "--table-error-color"?: (string) | undefined;
23186
+ /** The fill behind the headings while `windowed`, which the rows scroll under. The page's background by default. */
23187
+ "--table-heading-background-color"?: (string) | undefined;
23103
23188
  /** The color of the words in the `heading` slot. */
23104
23189
  "--table-title-color"?: (string) | undefined;
23105
23190
  /** The space between the `heading` slot and the grid. */
@@ -23232,6 +23317,8 @@ export type CustomCssProperties = {
23232
23317
  "--time-picker-list-block-size"?: (string) | undefined;
23233
23318
  /** The corners of the mark on a wheel's row. */
23234
23319
  "--time-picker-mark-radius"?: (string) | undefined;
23320
+ /** The ink of the button that chooses the current time, with `show-now`. */
23321
+ "--time-picker-now-color"?: (string) | undefined;
23235
23322
  /** Fill behind the times inside a range. */
23236
23323
  "--time-picker-range-color"?: (string) | undefined;
23237
23324
  /** Height and minimum width of one row in a wheel. */
@@ -23518,7 +23605,7 @@ export type CustomCssProperties = {
23518
23605
  "--video-level"?: (string) | undefined;
23519
23606
  /** How far playback has reached, as a fraction of the duration. */
23520
23607
  "--video-progress"?: (string) | undefined;
23521
- /** How tall the scrolling box is. */
23608
+ /** How tall the scrolling box is. A list that runs across is as tall as its rows unless you set it. */
23522
23609
  "--virtual-list-block-size"?: (string) | undefined;
23523
23610
  /** How faint a row `disabled-keys` names is drawn. */
23524
23611
  "--virtual-list-disabled-opacity"?: (string) | undefined;
package/types/words.d.ts CHANGED
@@ -16,6 +16,12 @@ declare module '@fusion.dev/helix-core' {
16
16
  * English: `Press the board to use it`
17
17
  */
18
18
  activateHintLabel: Message
19
+ /**
20
+ * What screen readers hear after `arrange()` moves the cards.
21
+ *
22
+ * English: `Cards arranged`
23
+ */
24
+ arrangedLabel: Message
19
25
  /**
20
26
  * What a screen reader hears when a turn arrives. `{author}` is who wrote
21
27
  * it, as its name says it, and `{text}` its words. A turn with no author a
@@ -528,6 +534,12 @@ declare module '@fusion.dev/helix-core' {
528
534
  * English: `Pan up`
529
535
  */
530
536
  panUpLabel: Message
537
+ /**
538
+ * What screen readers hear after a paste, with `{count}` for the cards pasted.
539
+ *
540
+ * English: `{count, plural, one {# card pasted} other {# cards pasted}}`
541
+ */
542
+ pastedLabel: Message
531
543
  /**
532
544
  * What screen readers hear when a key or a click picks up a row, with
533
545
  * `reorderable-rows`. `{name}` is the row's name.
@@ -622,6 +634,14 @@ declare module '@fusion.dev/helix-core' {
622
634
  * English: `Move made again`
623
635
  */
624
636
  redoneLabel: Message
637
+ /**
638
+ * What screen readers hear when Delete asks to remove what is selected, with
639
+ * `{count}` for how many cards and connections, and `{name}` for the one
640
+ * where there is one.
641
+ *
642
+ * English: `{count, plural, one {Asked to remove {name}.} other {Asked to remove # items.}}`
643
+ */
644
+ removedLabel: Message
625
645
  /**
626
646
  * The name of the control that removes one chosen option, with `{name}`
627
647
  * filled in.
@@ -2509,6 +2529,13 @@ declare module '@fusion.dev/helix-core' {
2509
2529
  * English: `Time`
2510
2530
  */
2511
2531
  label: Message
2532
+ /**
2533
+ * The words on the button that chooses the current time, drawn with
2534
+ * `show-now`.
2535
+ *
2536
+ * English: `Now`
2537
+ */
2538
+ nowLabel: Message
2512
2539
  /**
2513
2540
  * The validation message for a time after `max`. `{max}` is replaced with
2514
2541
  * `max`, written in `locale`.