@fusion.dev/helix 0.105.0 → 0.107.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 (178) hide show
  1. package/custom-elements.json +8259 -4085
  2. package/dist/accordion/item/accordion-item.d.ts +9 -10
  3. package/dist/accordion/root/accordion-root.d.ts +8 -9
  4. package/dist/announcement/root/announcement-root.d.ts +7 -7
  5. package/dist/app-header/root/app-header-root.d.ts +14 -12
  6. package/dist/area-chart/root/area-chart-root.d.ts +23 -32
  7. package/dist/aura/root/aura-root.d.ts +32 -31
  8. package/dist/avatar/group/avatar-group.d.ts +8 -11
  9. package/dist/avatar/root/avatar-root.d.ts +4 -5
  10. package/dist/badge/root/badge-root.d.ts +7 -8
  11. package/dist/bar-chart/root/bar-chart-root.d.ts +17 -16
  12. package/dist/blockquote/root/blockquote-root.d.ts +4 -5
  13. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +7 -7
  14. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +2 -2
  15. package/dist/button/root/button-root.d.ts +16 -13
  16. package/dist/button-group/root/button-group-root.d.ts +6 -6
  17. package/dist/callout/root/callout-root.d.ts +8 -8
  18. package/dist/canvas/edge/canvas-edge.d.ts +3 -3
  19. package/dist/canvas/node/canvas-node.d.ts +17 -18
  20. package/dist/canvas/root/canvas-root.d.ts +18 -19
  21. package/dist/card/root/card-root.d.ts +14 -14
  22. package/dist/carousel/root/carousel-root.d.ts +11 -14
  23. package/dist/chat/composer/chat-composer.d.ts +10 -11
  24. package/dist/chat/message/chat-message.d.ts +18 -18
  25. package/dist/chat/root/chat-root.d.ts +15 -18
  26. package/dist/checkbox/root/checkbox-root.d.ts +17 -16
  27. package/dist/checkbox-group/root/checkbox-group-root.d.ts +6 -5
  28. package/dist/code/root/code-root.d.ts +9 -9
  29. package/dist/code-block/root/code-block-root.d.ts +14 -15
  30. package/dist/color-input/root/color-input-root.d.ts +13 -18
  31. package/dist/color-picker/root/color-picker-root.d.ts +26 -27
  32. package/dist/combobox/root/combobox-root.css.js +3 -2
  33. package/dist/combobox/root/combobox-root.d.ts +8 -8
  34. package/dist/command/root/command-root.d.ts +5 -6
  35. package/dist/copy-button/root/copy-button-root.d.ts +4 -5
  36. package/dist/data-table/root/data-table-root.d.ts +30 -37
  37. package/dist/date-input/root/date-input-root.d.ts +15 -17
  38. package/dist/date-picker/root/date-picker-root.d.ts +11 -12
  39. package/dist/description-list/item/description-list-item.d.ts +2 -2
  40. package/dist/description-list/root/description-list-root.d.ts +13 -14
  41. package/dist/dialog/root/dialog-root.d.ts +9 -10
  42. package/dist/divider/root/divider-root.d.ts +11 -12
  43. package/dist/donut-chart/root/donut-chart-root.d.ts +12 -15
  44. package/dist/drawer/root/drawer-root.d.ts +14 -13
  45. package/dist/drilldown/item/drilldown-item.d.ts +3 -4
  46. package/dist/drilldown/root/drilldown-root.d.ts +6 -9
  47. package/dist/element-events.generated.js +7 -0
  48. package/dist/empty/root/empty-root.d.ts +3 -4
  49. package/dist/file-input/root/file-input-root.d.ts +8 -12
  50. package/dist/filter-input/chip/filter-chip.d.ts +11 -10
  51. package/dist/filter-input/field/filter-field.d.ts +7 -8
  52. package/dist/filter-input/menu/filter-menu.d.ts +7 -8
  53. package/dist/filter-input/operator/filter-operator.d.ts +5 -5
  54. package/dist/filter-input/root/filter-input-root.d.ts +25 -27
  55. package/dist/flex/root/flex-root.d.ts +9 -14
  56. package/dist/format-date/root/format-date-root.d.ts +5 -8
  57. package/dist/grid/root/grid-root.d.ts +13 -11
  58. package/dist/heatmap/root/heatmap-root.d.ts +34 -31
  59. package/dist/icon/root/icon-root.d.ts +6 -6
  60. package/dist/icon-button/root/icon-button-root.d.ts +9 -10
  61. package/dist/image/root/image-root.d.ts +10 -10
  62. package/dist/input/root/input-root.d.ts +10 -13
  63. package/dist/kbd/root/kbd-root.d.ts +6 -7
  64. package/dist/legend/root/legend-root.d.ts +19 -20
  65. package/dist/lightbox/item/lightbox-item.d.ts +4 -5
  66. package/dist/lightbox/root/lightbox-root.d.ts +13 -16
  67. package/dist/line-chart/root/line-chart-root.d.ts +24 -25
  68. package/dist/list/item/list-item.d.ts +7 -8
  69. package/dist/list/root/list-root.d.ts +7 -9
  70. package/dist/listbox/root/listbox-root.d.ts +8 -9
  71. package/dist/loader/root/loader-root.d.ts +5 -7
  72. package/dist/map/buildings/map-buildings.css.d.ts +1 -0
  73. package/dist/map/buildings/map-buildings.css.js +27 -0
  74. package/dist/map/buildings/map-buildings.d.ts +28 -0
  75. package/dist/map/buildings/map-buildings.js +20 -0
  76. package/dist/map/contours/map-contours.css.d.ts +1 -0
  77. package/dist/map/contours/map-contours.css.js +8 -0
  78. package/dist/map/contours/map-contours.d.ts +25 -0
  79. package/dist/map/contours/map-contours.js +16 -0
  80. package/dist/map/index.d.ts +5 -0
  81. package/dist/map/index.js +5 -0
  82. package/dist/map/landcover/map-landcover.css.d.ts +1 -0
  83. package/dist/map/landcover/map-landcover.css.js +5 -0
  84. package/dist/map/landcover/map-landcover.d.ts +25 -0
  85. package/dist/map/landcover/map-landcover.js +16 -0
  86. package/dist/map/marker/map-marker.css.js +5 -0
  87. package/dist/map/position/map-position.css.js +5 -0
  88. package/dist/map/raster/map-raster.css.d.ts +1 -0
  89. package/dist/map/raster/map-raster.css.js +4 -0
  90. package/dist/map/raster/map-raster.d.ts +23 -0
  91. package/dist/map/raster/map-raster.js +16 -0
  92. package/dist/map/root/map-root.css.js +218 -1
  93. package/dist/map/terrain/map-terrain.css.d.ts +1 -0
  94. package/dist/map/terrain/map-terrain.css.js +12 -0
  95. package/dist/map/terrain/map-terrain.d.ts +27 -0
  96. package/dist/map/terrain/map-terrain.js +16 -0
  97. package/dist/megamenu/root/megamenu-root.d.ts +14 -14
  98. package/dist/menu/item/menu-item.d.ts +8 -8
  99. package/dist/menu/root/menu-root.d.ts +9 -9
  100. package/dist/meter/root/meter-root.d.ts +29 -38
  101. package/dist/navigation/root/navigation-root.d.ts +4 -5
  102. package/dist/notifications/group/notification-group.d.ts +9 -13
  103. package/dist/notifications/notification/notification.d.ts +27 -33
  104. package/dist/notifications/root/notifications-root.d.ts +9 -11
  105. package/dist/number-input/root/number-input-root.d.ts +16 -18
  106. package/dist/object-inspector/root/object-inspector-root.d.ts +11 -12
  107. package/dist/option/group/option-group.d.ts +3 -4
  108. package/dist/option/root/option-root.d.ts +7 -8
  109. package/dist/orb/root/orb-root.d.ts +30 -36
  110. package/dist/outline/root/outline-root.d.ts +8 -10
  111. package/dist/pagination/root/pagination-root.d.ts +13 -23
  112. package/dist/pagination/size/pagination-size.d.ts +7 -7
  113. package/dist/pagination/summary/pagination-summary.d.ts +3 -4
  114. package/dist/pin-input/root/pin-input-root.d.ts +8 -11
  115. package/dist/popover/root/popover-root.d.ts +14 -16
  116. package/dist/progress/root/progress-root.d.ts +10 -13
  117. package/dist/qr-code/root/qr-code-root.d.ts +13 -14
  118. package/dist/quote/root/quote-root.d.ts +2 -2
  119. package/dist/radio/group/radio-group.d.ts +6 -6
  120. package/dist/radio/root/radio-root.d.ts +16 -19
  121. package/dist/rating/root/rating-root.d.ts +9 -9
  122. package/dist/sandbox/preview/sandbox-preview.d.ts +18 -19
  123. package/dist/sandbox/root/sandbox-root.d.ts +27 -27
  124. package/dist/sandbox/source/sandbox-source.d.ts +9 -12
  125. package/dist/sandbox/status-bar/sandbox-status-bar.d.ts +9 -11
  126. package/dist/sandbox/terminal/sandbox-terminal.d.ts +13 -15
  127. package/dist/sandbox/toolbar/sandbox-toolbar.d.ts +8 -9
  128. package/dist/scatter-chart/root/scatter-chart-root.d.ts +18 -29
  129. package/dist/scroll-area/root/scroll-area-root.d.ts +13 -13
  130. package/dist/select/root/select-root.d.ts +14 -14
  131. package/dist/shared/mixin-control-surface/mixin-control-surface.d.ts +8 -2
  132. package/dist/shared/viewport/viewport.css.js +5 -1
  133. package/dist/skeleton/root/skeleton-root.d.ts +6 -7
  134. package/dist/skip-link/root/skip-link-root.d.ts +16 -19
  135. package/dist/slider/root/slider-root.d.ts +16 -18
  136. package/dist/sparkline/root/sparkline-root.d.ts +16 -24
  137. package/dist/speed-dial/item/speed-dial-item.d.ts +5 -5
  138. package/dist/speed-dial/root/speed-dial-root.d.ts +3 -4
  139. package/dist/splitter/root/splitter-root.d.ts +23 -32
  140. package/dist/stat/group/stat-group.d.ts +4 -5
  141. package/dist/stat/root/stat-root.d.ts +4 -5
  142. package/dist/steps/root/steps-root.d.ts +12 -13
  143. package/dist/switch/root/switch-root.d.ts +13 -17
  144. package/dist/table/cell/table-cell.css.js +5 -0
  145. package/dist/table/cell/table-cell.d.ts +4 -4
  146. package/dist/table/column/table-column.d.ts +3 -4
  147. package/dist/table/root/table-root.d.ts +5 -6
  148. package/dist/table/row/table-row.d.ts +3 -3
  149. package/dist/tabs/panel/tab-panel.d.ts +2 -3
  150. package/dist/tabs/root/tabs-root.d.ts +12 -11
  151. package/dist/tabs/tab/tab.d.ts +4 -4
  152. package/dist/tag/root/tag-root.d.ts +10 -11
  153. package/dist/text/root/text-root.d.ts +22 -30
  154. package/dist/textarea/root/textarea-root.d.ts +4 -5
  155. package/dist/time-input/root/time-input-root.d.ts +12 -14
  156. package/dist/time-picker/root/time-picker-root.d.ts +8 -10
  157. package/dist/timeline/item/timeline-item.d.ts +2 -2
  158. package/dist/timeline/root/timeline-root.d.ts +3 -3
  159. package/dist/toast/item/toast-item.d.ts +7 -8
  160. package/dist/toast/root/toast-root.d.ts +10 -12
  161. package/dist/toggle/group/toggle-group.d.ts +10 -12
  162. package/dist/toggle/root/toggle-root.d.ts +2 -3
  163. package/dist/toolbar/root/toolbar-root.d.ts +3 -3
  164. package/dist/tooltip/root/tooltip-root.d.ts +10 -10
  165. package/dist/tour/root/tour-root.d.ts +5 -6
  166. package/dist/tour/stop/tour-stop.d.ts +14 -14
  167. package/dist/tree/item/tree-item.d.ts +6 -9
  168. package/dist/tree/root/tree-root.d.ts +7 -8
  169. package/dist/trend/root/trend-root.d.ts +12 -19
  170. package/dist/video/root/video-root.d.ts +15 -21
  171. package/dist/video-playlist/item/video-playlist-item.d.ts +4 -4
  172. package/dist/video-playlist/menu/video-playlist-menu.d.ts +14 -16
  173. package/dist/video-playlist/root/video-playlist-root.d.ts +5 -5
  174. package/dist/virtual-list/root/virtual-list-root.d.ts +6 -8
  175. package/package.json +6 -6
  176. package/types/jsx.d.ts +10064 -8833
  177. package/types/svelte.d.ts +5 -0
  178. package/types/vue.d.ts +1909 -1480
@@ -5,13 +5,16 @@ declare const HelixButton_base: (new (...args: any[]) => import("../../shared/mi
5
5
  * @summary Triggers an action, submits a form, or navigates.
6
6
  *
7
7
  * @description
8
- * Four appearances, all drawn on one control so a link styled as a button and a
9
- * real button are indistinguishable to a reader. There are no sizes: a control
10
- * takes its height from the region it is in, through `data-density`, which is
11
- * the one size axis in the library and the reason a row of controls cannot come
12
- * out ragged. The focus ring is declared here rather than inherited, because the
13
- * base layer's `:focus-visible` rule is a light-DOM rule and stops at the shadow
14
- * boundary.
8
+ * Four appearances, all drawn on the same control, so a link styled as a button
9
+ * looks the same as a real button.
10
+ *
11
+ * There are no sizes. A control takes its height from the `data-density` of the
12
+ * region it is in, so a row of controls lines up. `data-density` is the only
13
+ * size setting in the library.
14
+ *
15
+ * The focus ring is declared in the component's styles, because the base
16
+ * layer's `:focus-visible` rule applies to the light DOM and stops at the
17
+ * shadow boundary.
15
18
  *
16
19
  * @since 0.1.0
17
20
  * @status stable
@@ -25,11 +28,11 @@ declare const HelixButton_base: (new (...args: any[]) => import("../../shared/mi
25
28
  * @csspart button - The inner control.
26
29
  *
27
30
  * @cssproperty --button-background-color - Fill behind the button, in every state.
28
- * @cssproperty --button-background-color-hover - Fill behind the button under the pointer. Only needed beside the one above, which otherwise holds through hover.
31
+ * @cssproperty --button-background-color-hover - Fill behind the button under the pointer. Without it, `--button-background-color` also applies on hover.
29
32
  * @cssproperty --button-foreground-color - Label and icon color.
30
- * @cssproperty --button-gap - Space between the label and whatever flanks it.
31
- * @cssproperty --button-inline-size - A width floor. Inherits, so a section can set it once for every button under it.
32
- * @cssproperty --button-padding-inline - Inline padding, for a container whose rhythm is not the control default.
33
+ * @cssproperty --button-gap - Space between the label and the content on either side of it.
34
+ * @cssproperty --button-inline-size - Minimum width. It inherits, so you can set it once on a section for every button inside it.
35
+ * @cssproperty --button-padding-inline - Inline padding, for a container with spacing of its own.
33
36
  * @cssproperty --button-radius - Corner radius of the control.
34
37
  * @cssproperty --button-radius-end - Trailing corners, which a group flattens.
35
38
  * @cssproperty --button-radius-end-end - The bottom trailing corner, for a group stacking down.
@@ -37,11 +40,11 @@ declare const HelixButton_base: (new (...args: any[]) => import("../../shared/mi
37
40
  * @cssproperty --button-radius-start - Leading corners, which a group flattens.
38
41
  * @cssproperty --button-radius-start-end - The top trailing corner, for a group stacking down.
39
42
  * @cssproperty --button-radius-start-start - The top leading corner, for a group stacking down.
40
- * @cssproperty --button-size - Height of the control, for a container whose row is not one of the density steps.
43
+ * @cssproperty --button-size - Height of the control, for a row height outside the density steps.
41
44
  */
42
45
  export declare class HelixButton extends HelixButton_base {
43
46
  /**
44
- * How much of the space available to it the button takes.
47
+ * How much of the available width the button takes.
45
48
  *
46
49
  * - `auto` is the default and is never written: the button is as wide as its
47
50
  * label, which is what a control in a toolbar or beside a field should be.
@@ -4,13 +4,13 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary Groups related buttons into one control.
5
5
  *
6
6
  * @description
7
- * The buttons are joined into a single shape: the outer corners keep their
8
- * radius, the inner ones lose it, and adjacent borders collapse into one line.
7
+ * Joins the buttons into one shape: the outer corners keep their radius, the
8
+ * inner corners lose it, and adjacent borders collapse into one line.
9
9
  *
10
- * That joining is in the base layer, paired with `data-button` the way the
11
- * button's own box is, because the corner belongs to the control inside each
12
- * button's shadow root and a rule in here cannot reach it. The same rule
13
- * therefore serves a consumer's own anchor styled as a button.
10
+ * The joining rule is in the base layer, paired with `data-button` like the
11
+ * button's own box, because the corner is on the control inside each button's
12
+ * shadow root, where this component's styles cannot reach. The same rule works
13
+ * for your own anchor styled as a button.
14
14
  *
15
15
  * @since 0.1.0
16
16
  * @status stable
@@ -1,15 +1,15 @@
1
1
  import { HelixHeadlessCallout } from '@fusion.dev/helix-headless/callout';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary Sets a passage apart as information, a warning, or an error.
4
+ * @summary A passage set apart as information, a warning, or an error.
5
5
  *
6
6
  * @description
7
- * Tinted from the tone's status color with `color-mix`, and marked with a bar
8
- * on the inline start so the tone survives being read in grayscale or by anyone
9
- * who does not distinguish the hues.
7
+ * The background is a tint of the tone's status color, mixed with `color-mix`.
8
+ * A bar on the inline start edge also marks the tone, so it still shows in
9
+ * grayscale and for people who do not distinguish the hues.
10
10
  *
11
- * There is no treatment axis here. `tone` carries the meaning and lives on the
12
- * headless tier; this tier only decides what that meaning looks like.
11
+ * This tier has no treatment property. `tone` is set on the headless tier and
12
+ * carries the meaning, and this tier draws it.
13
13
  *
14
14
  * @since 0.1.0
15
15
  * @status stable
@@ -23,8 +23,8 @@ import type { CSSResultGroup } from 'lit';
23
23
  * @csspart content - The content region.
24
24
  * @csspart icon - The icon region.
25
25
  *
26
- * @cssproperty --callout-background-color - Fill behind the callout.
27
- * @cssproperty --callout-radius - Corner radius of the callout.
26
+ * @cssproperty --callout-background-color - The fill behind the callout.
27
+ * @cssproperty --callout-radius - The corner radius of the callout.
28
28
  */
29
29
  export declare class HelixCallout extends HelixHeadlessCallout {
30
30
  static styles: CSSResultGroup;
@@ -4,9 +4,9 @@ import { type CSSResultGroup } from 'lit';
4
4
  * @summary A connector between two cards on a canvas.
5
5
  *
6
6
  * @description
7
- * Draws nothing and takes no room: the board draws every connector into one
8
- * layer under the cards, which is the only place a line between two of them can
9
- * be drawn. What this element carries is which cards and which sides.
7
+ * Draws nothing and takes no room. The board draws every connector into one
8
+ * layer under the cards. The element carries which cards and which sides the
9
+ * connector joins.
10
10
  *
11
11
  * @since 0.100.0
12
12
  * @status experimental
@@ -4,13 +4,11 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary One card or group on a canvas.
5
5
  *
6
6
  * @description
7
- * The card is the host, because the board places the host: its coordinates are
8
- * written onto this element, so a wrapper inside would have to be told the same
9
- * things twice.
7
+ * The card is the host element, because the board writes the card's coordinates
8
+ * onto the host.
10
9
  *
11
- * **Before it is placed it is a card in the flow**, which is what a page
12
- * without JavaScript has: the text somebody wrote, in the order they wrote it,
13
- * rather than a heap at the origin.
10
+ * Before the board places it, the card sits in normal flow. Without JavaScript,
11
+ * the page shows the cards' text in the order it was written.
14
12
  *
15
13
  * @since 0.100.0
16
14
  * @status experimental
@@ -18,26 +16,27 @@ import type { CSSResultGroup } from 'lit';
18
16
  * @aliases CanvasCard, BoardNode
19
17
  * @documentation https://fusion.dev/helix/components/canvas
20
18
  *
21
- * @cssproperty --canvas-grip-size - How large the corners a selected card is resized from are.
22
- * @cssproperty --canvas-handle-size - How large the points a connection is drawn from are.
23
- * @cssproperty --canvas-move-block-size - How tall the grip a selected card is moved by is.
24
- * @cssproperty --canvas-move-inline-size - How wide the grip a selected card is moved by is.
25
- * @cssproperty --canvas-move-inset - How far in from the card's corner that grip sits.
26
- * @cssproperty --canvas-node-background-color - The ground the card is drawn on.
27
- * @cssproperty --canvas-node-color - A color with no meaning, where a tone will not do: a hex a document chose.
28
- * @cssproperty --canvas-node-padding - Space between the card's edge and what it holds.
29
- * @cssproperty --canvas-node-shadow - The lift under the card, which `separation="elevated"` sets.
19
+ * @cssproperty --canvas-grip-size - The size of the corner handles that resize a selected card.
20
+ * @cssproperty --canvas-handle-size - The size of the points you draw a connection from.
21
+ * @cssproperty --canvas-move-block-size - The height of the handle that moves a selected card.
22
+ * @cssproperty --canvas-move-inline-size - The width of the handle that moves a selected card.
23
+ * @cssproperty --canvas-move-inset - The distance between the move handle and the card's corner.
24
+ * @cssproperty --canvas-node-background-color - The card's background.
25
+ * @cssproperty --canvas-node-color - A color for the card that carries no meaning, such as a hex color from a document. Use it when no tone fits.
26
+ * @cssproperty --canvas-node-padding - The space between the card's edge and its content.
27
+ * @cssproperty --canvas-node-shadow - The shadow under the card, set by `separation="elevated"`.
30
28
  */
31
29
  export declare class HelixCanvasNode extends HelixHeadlessCanvasNode {
32
30
  /**
33
- * What the card's ground is made of: `glass` or `frosted`, which let the
34
- * board's ruling show through, or `transparent`.
31
+ * The material of the card's background: `glass` or `frosted`, which let the
32
+ * board's grid lines show through, or `transparent`.
35
33
  *
36
34
  * Absent is an opaque surface, a resting value being an attribute's absence.
37
35
  */
38
36
  material?: 'frosted' | 'glass' | 'transparent';
39
37
  /**
40
- * How the card stands off the board.
38
+ * How the card is set apart from the board: `outlined`, `filled`,
39
+ * `elevated`, or `plain`.
41
40
  *
42
41
  * Outlined is where it rests, a surface with its color as the edge. `filled`
43
42
  * puts the color into the ground, `elevated` lifts it and keeps the edge, and
@@ -1,17 +1,16 @@
1
1
  import { HelixHeadlessCanvas } from '@fusion.dev/helix-headless/canvas';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A board of cards and the connections between them, which a reader can walk, rearrange and connect.
4
+ * @summary A board of cards and the connections between them, which can be navigated, rearranged, and connected.
5
5
  *
6
6
  * @description
7
- * **Cards and connections say what they mean with `tone`**, the word every
8
- * other family uses, and the tones resolve to semantic tokens, so a board
9
- * follows the page into dark mode rather than carrying somebody else's hex into
10
- * it. JSON Canvas's six color presets arrive as tones through `fromJsonCanvas`.
7
+ * Cards and connections take `tone`, like every other family. The tones resolve
8
+ * to semantic tokens, so a board follows the page into dark mode.
9
+ * `fromJsonCanvas` maps the six JSON Canvas color presets to tones.
11
10
  *
12
- * The plane is the one thing that moves: panning and zooming write three custom
13
- * properties and one transform reads them, so the cards are placed once in the
14
- * document's own coordinates and never laid out again.
11
+ * Panning and zooming move only the plane. They write three custom properties
12
+ * that one transform reads, so the cards are placed once in the document's
13
+ * coordinates and are not laid out again.
15
14
  *
16
15
  * @since 0.100.0
17
16
  * @status experimental
@@ -19,19 +18,19 @@ import type { CSSResultGroup } from 'lit';
19
18
  * @aliases Board, JSON Canvas, Whiteboard
20
19
  * @documentation https://fusion.dev/helix/components/canvas
21
20
  *
22
- * @cssproperty --canvas-background-color - The well behind the board.
23
- * @cssproperty --canvas-block-size - How tall the frame is.
24
- * @cssproperty --canvas-border-color - Color of the frame's edge.
25
- * @cssproperty --canvas-edge-color - Color of a connector with no tone. Written in an edge's own `style`, it colors that edge alone.
26
- * @cssproperty --canvas-edge-target-width - How wide a connector is to a pointer, which is wider than it is drawn.
27
- * @cssproperty --canvas-grid-size - How far apart the ruling is, in the document's own units, so it scales with the zoom.
28
- * @cssproperty --canvas-handle-size - How large the ends of a selected connection are, one name with a card's points.
29
- * @cssproperty --canvas-label-editor-inline-size - How wide the field a label is edited in is.
30
- * @cssproperty --viewport-control-background-color - The ground under the pan and zoom buttons, one name with `Map`.
21
+ * @cssproperty --canvas-background-color - The background behind the board.
22
+ * @cssproperty --canvas-block-size - The height of the frame.
23
+ * @cssproperty --canvas-border-color - The color of the frame's edge.
24
+ * @cssproperty --canvas-edge-color - The color of a connection with no tone. Set it in one edge's `style` to color only that edge.
25
+ * @cssproperty --canvas-edge-target-width - The width of the area a pointer can press on a connection, which is wider than the drawn line.
26
+ * @cssproperty --canvas-grid-size - The spacing of the grid lines or dots, in the document's units, so it scales with the zoom.
27
+ * @cssproperty --canvas-handle-size - The size of the ends of a selected connection. A card's connection points use the same property.
28
+ * @cssproperty --canvas-label-editor-inline-size - The width of the field for editing a label.
29
+ * @cssproperty --viewport-control-background-color - The background of the pan and zoom buttons. `Map` uses the same property.
31
30
  */
32
31
  export declare class HelixCanvas extends HelixHeadlessCanvas {
33
32
  /**
34
- * Rules the plane, so a reader can see it move.
33
+ * Draws `lines` or `dots` on the board's plane, so you can see it move.
35
34
  *
36
35
  * **Baked in rather than a family of its own**, which was the question worth
37
36
  * asking: a grid has no content, no position and nothing to slot, so an
@@ -48,7 +47,7 @@ export declare class HelixCanvas extends HelixHeadlessCanvas {
48
47
  */
49
48
  grid?: 'lines' | 'dots';
50
49
  /**
51
- * How the board stands off the page: `plain` for no frame at all.
50
+ * How the board is set apart from the page. `plain` draws no frame.
52
51
  *
53
52
  * Framed is where it rests. Plain is for a board that fills a panel or an
54
53
  * app's working area, where the container is already the frame.
@@ -4,17 +4,16 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary Groups related content and actions into a single surface.
5
5
  *
6
6
  * @description
7
- * Regions are bare slots with no wrapper element: `media`, `header`, the default
8
- * slot for content, and `footer`. An omitted one occupies no space without the
9
- * card having to detect that it is missing, so a card with only content needs no
10
- * wrapper markup at all. Style slotted content directly rather than reaching for
11
- * a part: a header is whatever element you slotted, not a wrapper around it.
7
+ * The regions are the `media`, `header`, and `footer` slots and the default
8
+ * slot for content. None of them has a wrapper element. A region you leave out
9
+ * takes no space, so a card with only content needs no extra markup. Style
10
+ * slotted content directly: a header is the element you slotted, so there is no
11
+ * part to target.
12
12
  *
13
13
  * `media` runs edge to edge and clips to the card's corners, so an image needs
14
- * no inset correction. Set `orientation="horizontal"` to move it alongside the
15
- * header, content, and footer stack rather than above it, or
16
- * `media-placement="end"` to put it under the content instead of over it, which
17
- * is what a chart concluding a card wants.
14
+ * no inset. Set `orientation="horizontal"` to put the media beside the header,
15
+ * content, and footer. Set `media-placement="end"` to put it below the content,
16
+ * for example for a chart that ends a card.
18
17
  *
19
18
  * @since 0.1.0
20
19
  * @status stable
@@ -35,15 +34,16 @@ import type { CSSResultGroup } from 'lit';
35
34
  * @cssproperty --card-background-color - Surface behind the card.
36
35
  * @cssproperty --card-border-color - Border color of the surface.
37
36
  * @cssproperty --card-border-width - Width of the surface's edge. Follows
38
- * `--helix-border-surface`, a hairline, so the surface is told apart by its edge unless a
39
- * theme says otherwise.
37
+ * `--helix-border-surface`, which is a hairline unless your theme sets another width.
38
+ * The edge is what sets the surface apart.
40
39
  * @cssproperty --card-media-block-size - Height of the media region. Defaults to
41
- * `auto`, which is an image's own shape and is not a height a chart has.
40
+ * `auto`, which follows an image's own proportions. A chart has no height of its own,
41
+ * so set one here for a chart.
42
42
  * @cssproperty --card-media-size - Width of the media column when horizontal.
43
43
  * @cssproperty --card-padding - Inset applied to each region.
44
44
  * @cssproperty --card-radius - Corner radius of the surface.
45
- * @cssproperty --card-shadow - Shadow under the surface. What `elevated` sets, and what a
46
- * `data-card` link raises on hover.
45
+ * @cssproperty --card-shadow - Shadow under the surface. `elevated` sets it, and a
46
+ * `data-card` link raises it on hover.
47
47
  */
48
48
  export declare class HelixCard extends HelixHeadlessCard {
49
49
  /**
@@ -4,16 +4,13 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary Shows one slide of several, with controls to move between them.
5
5
  *
6
6
  * @description
7
- * The track scroll-snaps, so a drag and a trackpad swipe move it with the
8
- * browser's own momentum and the controls only have to scroll.
7
+ * The track scroll-snaps, so dragging and trackpad swipes use the browser's
8
+ * momentum, and the controls only scroll the track.
9
9
  *
10
- * Slides take the full track by default. `per-view` fits more than one across,
11
- * at any count, and is declared on the tier below because it decides how many
12
- * positions the track has rather than only how wide a slide is,
13
- * which is what a run of cards wants rather than a run of full-width panels.
14
- * This sheet divides the track by the number that tier publishes rather than
15
- * enumerating the values it will answer for, so there is no count it silently
16
- * draws one across.
10
+ * Each slide fills the track by default. `per-view` shows more than one slide
11
+ * across, at any count, for a run of cards. It is declared on the headless tier
12
+ * because it sets how many positions the track has. The styles divide the track
13
+ * by the count the headless tier publishes, so every count works.
17
14
  *
18
15
  * @since 0.1.0
19
16
  * @status stable
@@ -21,14 +18,14 @@ import type { CSSResultGroup } from 'lit';
21
18
  * @aliases Slider, Gallery, Slideshow
22
19
  * @documentation https://fusion.dev/helix/components/carousel
23
20
  *
24
- * @cssproperty --carousel-bleed - Room inside the scroller so a slide's own shadow, border or
25
- * focus ring is not clipped by it. Defaults to enough for `--helix-shadow-md`, which reaches
26
- * 16px below the box it is on; a slide on `--helix-shadow-lg` reaches 44px and wants more.
21
+ * @cssproperty --carousel-bleed - Room inside the scroller so it does not clip a slide's
22
+ * shadow, border, or focus ring. The default leaves room for `--helix-shadow-md`, which
23
+ * reaches 16px below its box. A slide with `--helix-shadow-lg` reaches 44px and needs more.
27
24
  * @cssproperty --carousel-block-size - Height of a vertical track.
28
25
  */
29
26
  export declare class HelixCarousel extends HelixHeadlessCarousel {
30
27
  /**
31
- * Where along that side the arrows sit. See `indicatorAlign`.
28
+ * Where the arrows sit along their side of the slides. See `indicatorAlign`.
32
29
  *
33
30
  * `overlay` answers it too, and the edge there is the whole slide: the bar is
34
31
  * stretched across the picture, so this moves the arrows up and down within
@@ -60,7 +57,7 @@ export declare class HelixCarousel extends HelixHeadlessCarousel {
60
57
  */
61
58
  controlsPlacement?: 'start' | 'end' | 'top' | 'bottom' | 'overlay';
62
59
  /**
63
- * Where along that side the dots sit.
60
+ * Where the dots sit along their side of the slides.
64
61
  *
65
62
  * The second half of the answer to "where do they go". `indicatorPlacement`
66
63
  * says which edge and this says where along it, so the pair spells out the
@@ -1,30 +1,29 @@
1
1
  import { HelixHeadlessChatComposer } from '@fusion.dev/helix-headless/chat';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary Where the reader writes their turn.
4
+ * @summary A field for writing a turn in a conversation.
5
5
  *
6
6
  * @description
7
- * One row, and the field takes the room. **It grows with the text and stops at a
8
- * ceiling**, through `field-sizing: content` rather than a script measuring
9
- * anything: where that is not supported the field keeps its rows and scrolls,
10
- * which is the answer a textarea has always given. A composer that grows without
11
- * a ceiling eats the transcript it belongs to.
7
+ * The composer is one row, and the field takes the remaining width. The field
8
+ * grows with its text up to a maximum height, through `field-sizing: content`.
9
+ * Where that is not supported, the field keeps its rows and scrolls. The
10
+ * maximum height keeps the composer from covering the transcript.
12
11
  *
13
12
  * @since 0.1.0
14
13
  * @status stable
15
14
  * @category forms
16
15
  * @documentation https://fusion.dev/helix/components/chat
17
16
  *
18
- * @slot end - Under the field, beside the send control.
19
- * @slot start - Under the field, at the leading edge: attachments, a model picker.
17
+ * @slot end - Content under the field, beside the send button.
18
+ * @slot start - Content under the field at the leading edge, such as an attachment button or a model picker.
20
19
  *
21
20
  * @csspart field - The text field.
22
- * @csspart send - The control that offers the turn.
21
+ * @csspart send - The send button.
23
22
  * @csspart tools - The row under the field.
24
23
  *
25
24
  * @cssproperty --chat-composer-background-color - Fill behind the composer.
26
- * @cssproperty --chat-composer-border-width - The composer's edge, so a theme can remove it.
27
- * @cssproperty --chat-composer-max-block-size - How tall the field may grow.
25
+ * @cssproperty --chat-composer-border-width - Width of the composer's edge, so your theme can remove it.
26
+ * @cssproperty --chat-composer-max-block-size - Maximum height the field grows to.
28
27
  */
29
28
  export declare class HelixChatComposer extends HelixHeadlessChatComposer {
30
29
  static tier: string;
@@ -1,42 +1,42 @@
1
1
  import { HelixHeadlessChatMessage } from '@fusion.dev/helix-headless/chat';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary One turn in a conversation, and what has happened to it.
4
+ * @summary One turn in a conversation, with its state, such as sending or failed.
5
5
  *
6
6
  * @description
7
- * **`author="me"` is the one piece of paint that says whose turn it is**, and it
8
- * says it by which edge the turn sits against. Everything else about a turn is
9
- * the same on both sides, because two bubble styles is two components.
7
+ * `author="me"` is the only style that shows whose turn it is, and it sets
8
+ * which edge the turn sits against. Everything else about a turn looks the same
9
+ * on both sides.
10
10
  *
11
- * A failure is the only state that takes a tone, because it is the one a reader
12
- * has to find rather than notice. `streaming` is left alone: the text arriving
13
- * is the signal, and decorating it competes with the thing it is decorating.
11
+ * Only a failed turn takes a tone, because the user has to find a failure.
12
+ * `streaming` has no extra style, because the arriving text already shows it.
14
13
  *
15
14
  * @since 0.1.0
16
15
  * @status stable
17
16
  * @category feedback
18
17
  * @documentation https://fusion.dev/helix/components/chat
19
18
  *
20
- * @slot - What was said.
21
- * @slot actions - What can be done with it.
22
- * @slot avatar - Who said it.
23
- * @slot indicator - The wait before the first token, in place of the three dots.
19
+ * @slot - The turn's content.
20
+ * @slot actions - Controls for the turn.
21
+ * @slot avatar - The author's avatar.
22
+ * @slot indicator - The indicator shown before the first token arrives. Replaces the three dots.
24
23
  *
25
- * @csspart content - What was said.
26
- * @csspart indicator - The three dots, when nothing is slotted over them.
24
+ * @csspart content - The turn's content.
25
+ * @csspart indicator - The three dots, shown when nothing is in the `indicator` slot.
27
26
  * @csspart meta - The time and the state together.
28
27
  *
29
- * @cssproperty --chat-indicator-background-color - Ground behind a slotted waiting indicator, which is a chip so the mark and its word read as one thing.
28
+ * @cssproperty --chat-indicator-background-color - Fill behind a slotted indicator, drawn as a chip so its icon and its text read as one unit.
30
29
  * @cssproperty --chat-message-background-color - Fill behind a turn.
31
- * @cssproperty --chat-message-background-color-me - Fill behind the reader's own turns.
32
- * @cssproperty --chat-message-color - Ink in a turn.
33
- * @cssproperty --chat-message-measure - How wide a turn may get before it wraps.
30
+ * @cssproperty --chat-message-background-color-me - Fill behind turns by `me`.
31
+ * @cssproperty --chat-message-color - Text color in a turn.
32
+ * @cssproperty --chat-message-measure - Maximum width of a turn before its text wraps.
34
33
  */
35
34
  export declare class HelixChatMessage extends HelixHeadlessChatMessage {
36
35
  static tier: string;
37
36
  static styles: CSSResultGroup;
38
37
  /**
39
- * Where the turn's surface ends.
38
+ * How the turn is set apart. `filled` draws a bubble, and `plain` draws the
39
+ * turn as text on the transcript.
40
40
  *
41
41
  * **A bubble is one answer and not the only one.** Two people messaging read
42
42
  * as two columns of bubbles; an assistant answering does not, the reply being
@@ -3,20 +3,17 @@ import type { CSSResultGroup } from 'lit';
3
3
  import '../composer/chat-composer.js';
4
4
  import '../message/chat-message.js';
5
5
  /**
6
- * @summary A conversation: the turns, and where the reader is in them.
6
+ * @summary A conversation's turns in a scrolling transcript that keeps the user's place.
7
7
  *
8
8
  * @description
9
- * Three regions stacked, and only the transcript scrolls: a composer that slid
10
- * away as the reader scrolled up to re-read would be the thing they were about
11
- * to type into.
9
+ * The chat stacks three regions, and only the transcript scrolls, so the
10
+ * composer stays in view while the user scrolls back to read.
12
11
  *
13
- * **The transcript keeps its turns at the bottom when there are too few to fill
14
- * it**, which is what a conversation looks like. A new one starting at the top
15
- * of an empty column reads as a document.
12
+ * When there are too few turns to fill the transcript, they sit at the bottom,
13
+ * the way a conversation looks.
16
14
  *
17
- * The way back sits over the transcript rather than in the column, so offering
18
- * it does not move what the reader is reading, which is the whole point of
19
- * offering it.
15
+ * The control that returns to the bottom sits over the transcript, so showing
16
+ * it does not move the text the user is reading.
20
17
  *
21
18
  * @since 0.1.0
22
19
  * @status stable
@@ -24,20 +21,20 @@ import '../message/chat-message.js';
24
21
  * @documentation https://fusion.dev/helix/components/chat
25
22
  *
26
23
  * @slot - The turns.
27
- * @slot composer - Below the transcript, where the reader writes.
28
- * @slot header - Above the transcript.
29
- * @slot resume - The way back to the bottom.
30
- * @slot status - Beside the composer: somebody typing, connection lost.
24
+ * @slot composer - The composer, below the transcript.
25
+ * @slot header - Content above the transcript.
26
+ * @slot resume - The control that returns to the bottom.
27
+ * @slot status - Status beside the composer, such as someone typing or a lost connection.
31
28
  *
32
29
  * @csspart composer - The region the composer sits in.
33
- * @csspart log - The transcript, which is the thing that scrolls.
30
+ * @csspart log - The transcript, which scrolls.
34
31
  *
35
32
  * @cssproperty --chat-gap - Space between turns.
36
33
  * @cssproperty --chat-max-block-size - How tall the conversation may get before the transcript scrolls.
37
34
  * @cssproperty --chat-padding-inline - Space either side of every region.
38
- * @cssproperty --chat-resume-border-color - The edge around the way back.
39
- * @cssproperty --chat-resume-border-width - How thick that edge is, for a surface over content.
40
- * @cssproperty --chat-resume-shadow - The lift under the way back, which floats over the transcript.
35
+ * @cssproperty --chat-resume-border-color - Color of the edge around the resume control.
36
+ * @cssproperty --chat-resume-border-width - Width of the edge around the resume control, which sits over content.
37
+ * @cssproperty --chat-resume-shadow - Shadow under the resume control, which floats over the transcript.
41
38
  * @cssproperty --chat-rule - The hairline under the header.
42
39
  */
43
40
  export declare class HelixChat extends HelixHeadlessChat {
@@ -1,16 +1,16 @@
1
1
  import { HelixHeadlessCheckbox } from '@fusion.dev/helix-headless/checkbox';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A box that is ticked, or not, or neither.
4
+ * @summary A box that is checked, unchecked, or indeterminate.
5
5
  *
6
6
  * @description
7
- * The box is the native input with its own drawing switched off, so the control
8
- * stays a control for anything reading the page while the tick and the
9
- * indeterminate dash are drawn here, as masks over a mark beside it, and their
10
- * weight, color and motion are the design system's rather than the browser's.
7
+ * The box is the native input with its own drawing turned off, so it stays a
8
+ * real control for assistive technology. The tick and the indeterminate dash
9
+ * are masks over a mark beside it, and their weight, color, and motion come
10
+ * from the design system.
11
11
  *
12
- * The label sits beside it and the whole thing is the click target, which is
13
- * what a native `<label>` wrapping a checkbox gives and what a reader expects.
12
+ * The label sits beside the box, and the whole component is the click target,
13
+ * as with a native `<label>` wrapping a checkbox.
14
14
  *
15
15
  * @since 0.1.0
16
16
  * @status stable
@@ -18,19 +18,20 @@ import type { CSSResultGroup } from 'lit';
18
18
  * @aliases Tickbox
19
19
  * @documentation https://fusion.dev/helix/components/checkbox
20
20
  *
21
- * @cssproperty --checkbox-background-color - Fill of the box, which does not change when it is ticked.
22
- * @cssproperty --checkbox-border-color - Edge of the box, in every state.
23
- * @cssproperty --checkbox-card-background-color - Fill behind a card-shaped choice.
24
- * @cssproperty --checkbox-card-border-color - Edge around one.
25
- * @cssproperty --checkbox-card-padding - Inset of the card appearance.
26
- * @cssproperty --checkbox-checked-color - Edge of a ticked box, where `--checkbox-border-color` is unset.
27
- * @cssproperty --checkbox-mark-color - Ink the tick is drawn in.
28
- * @cssproperty --checkbox-size - Width and height of the box.
21
+ * @cssproperty --checkbox-background-color - The fill of the box. It stays the same when the box is checked.
22
+ * @cssproperty --checkbox-border-color - The border color of the box, in every state.
23
+ * @cssproperty --checkbox-card-background-color - The fill of the card.
24
+ * @cssproperty --checkbox-card-border-color - The border color of the card.
25
+ * @cssproperty --checkbox-card-padding - The padding of the card.
26
+ * @cssproperty --checkbox-checked-color - The border color of a checked box when `--checkbox-border-color` is not set.
27
+ * @cssproperty --checkbox-mark-color - The color of the check mark and the dash.
28
+ * @cssproperty --checkbox-size - The width and height of the box.
29
29
  */
30
30
  export declare class HelixCheckbox extends HelixHeadlessCheckbox {
31
31
  static styles: CSSResultGroup;
32
32
  /**
33
- * Where the choice's own surface ends.
33
+ * How the option is set off from the page. `plain` shows the box next to its
34
+ * label, and `outlined` and `filled` draw the option as a card.
34
35
  *
35
36
  * The question `separation` asks everywhere else, asked of one option, so it
36
37
  * is that word: what these values pick is a surface, and `plain` is already
@@ -1,11 +1,11 @@
1
1
  import { HelixHeadlessCheckboxGroup } from '@fusion.dev/helix-headless/checkbox-group';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary Groups related checkboxes, and reports them as one set.
4
+ * @summary A group of related checkboxes under one label, with one value for the set.
5
5
  *
6
6
  * @description
7
- * A column by default, which is what a list of choices wants: the eye scans one
8
- * line per answer rather than hunting along a row.
7
+ * Lays the checkboxes out in a column by default, one choice per line, which is
8
+ * easier to scan than a row.
9
9
  *
10
10
  * @since 0.1.0
11
11
  * @status stable
@@ -13,11 +13,12 @@ import type { CSSResultGroup } from 'lit';
13
13
  * @aliases Checkbox list, Multi-select
14
14
  * @documentation https://fusion.dev/helix/components/checkbox-group
15
15
  *
16
- * @cssproperty --checkbox-group-gap - Space between the boxes.
16
+ * @cssproperty --checkbox-group-gap - The space between the checkboxes.
17
17
  */
18
18
  export declare class HelixCheckboxGroup extends HelixHeadlessCheckboxGroup {
19
19
  /**
20
- * Which way the boxes run.
20
+ * The direction the checkboxes run. Set `horizontal` for a row. Unset is a
21
+ * column.
21
22
  */
22
23
  orientation?: 'horizontal';
23
24
  static styles: CSSResultGroup;