@fusion.dev/helix 0.105.0 → 0.106.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
@@ -1,11 +1,11 @@
1
1
  import { HelixHeadlessMegamenu } from '@fusion.dev/helix-headless/megamenu';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A section of a navigation that opens a panel of destinations.
4
+ * @summary A section of a navigation with a trigger that opens a panel of links.
5
5
  *
6
6
  * @description
7
- * Presentation only: the trigger, and the panel it opens as a grid of columns.
8
- * Everything about what opens it and what closes it is the base class.
7
+ * Styles the trigger and lays out the panel it opens as a grid of columns. What
8
+ * opens and closes the panel comes from the base class.
9
9
  *
10
10
  * @since 0.1.0
11
11
  * @status stable
@@ -13,17 +13,17 @@ import type { CSSResultGroup } from 'lit';
13
13
  * @aliases Mega menu, Flyout, Nav panel
14
14
  * @documentation https://fusion.dev/helix/components/megamenu
15
15
  *
16
- * @cssproperty --megamenu-backdrop - A filter behind the panel, which is `none` until one is
17
- * asked for: this family carries no `material`, so the pair is two hooks rather than a word.
18
- * @cssproperty --megamenu-background-color - The panel's own fill.
19
- * @cssproperty --megamenu-border-width - Width of the panel's edge. Follows
20
- * `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
21
- * theme says otherwise.
22
- * @cssproperty --megamenu-column-size - The narrowest a column goes before the grid wraps.
23
- * @cssproperty --megamenu-full-size - How wide the band's contents may get, centered in it.
24
- * @cssproperty --megamenu-shadow - Lift under the panel. Follows `--helix-shadow-floating`: a
25
- * floating surface sits over content nobody can predict, so it keeps a lift by default.
26
- * @cssproperty --megamenu-size - How wide the panel may get.
16
+ * @cssproperty --megamenu-backdrop - The filter behind the panel, `none` by default. This family
17
+ * has no `material` property, so this and `--megamenu-background-color` set the panel's material.
18
+ * @cssproperty --megamenu-background-color - The panel's fill.
19
+ * @cssproperty --megamenu-border-width - The width of the panel's edge. Follows
20
+ * `--helix-border-floating`, which is `0` unless a theme changes it, so the panel stands out
21
+ * by its shadow.
22
+ * @cssproperty --megamenu-column-size - The minimum width of a column before the grid wraps.
23
+ * @cssproperty --megamenu-full-size - The maximum width of the band's contents, which are centered in it.
24
+ * @cssproperty --megamenu-shadow - The shadow under the panel. Follows `--helix-shadow-floating`,
25
+ * so the panel has a shadow by default, because it sits over content you cannot predict.
26
+ * @cssproperty --megamenu-size - The maximum width of the panel.
27
27
  */
28
28
  export declare class HelixMegamenu extends HelixHeadlessMegamenu {
29
29
  static styles: CSSResultGroup;
@@ -4,21 +4,21 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary One row in a menu: a command, a choice, or a way into a submenu.
5
5
  *
6
6
  * @description
7
- * A row draws a column beside its label only where it has something to put in
8
- * one, and the width is the menu's rather than the row's: the page reserves a
9
- * leading or a trailing track as soon as any row on it fills one, so every
10
- * label on that page starts at the same edge and a page that fills neither pays
11
- * for neither. A row knows about its own slots and nothing about its
12
- * neighbors, which is why the reservation is not made here.
7
+ * A row draws a leading or trailing column only when it has content for it. The
8
+ * menu page sets the column width: once any row on a page fills a leading or
9
+ * trailing slot, the page reserves that track for every row, so all labels on
10
+ * the page start at the same edge. A page that fills neither reserves nothing.
11
+ * The reservation is made on the page because each row's styles cover only its
12
+ * own slots.
13
13
  *
14
14
  * @since 0.1.0
15
15
  * @status stable
16
16
  * @aliases Menu option, Menu row
17
17
  * @documentation https://fusion.dev/helix/components/menu
18
18
  *
19
- * @cssproperty --menu-item-end - Width of the trailing column, seam included, which holds a tick or the caret into a page.
19
+ * @cssproperty --menu-item-end - Width of the trailing column, including the gap before it, which holds a check mark or a submenu caret.
20
20
  * @cssproperty --menu-item-hover-color - Fill under the pointer.
21
- * @cssproperty --menu-item-start - Width of the leading column, seam included, for a row carrying more than a mark. The menu sets it per page and zero is no column at all.
21
+ * @cssproperty --menu-item-start - Width of the leading column, including the gap after it, for a row with more than a mark. The menu sets it for each page, and `0` removes the column.
22
22
  */
23
23
  export declare class HelixMenuItem extends HelixHeadlessMenuItem {
24
24
  static styles: CSSResultGroup;
@@ -1,14 +1,14 @@
1
1
  import { HelixHeadlessMenu } from '@fusion.dev/helix-headless/menu';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A menu of commands, opened from a trigger.
4
+ * @summary A menu of commands that opens from a trigger.
5
5
  *
6
6
  * @description
7
- * The surface is in the top layer, so it needs no `z-index` and cannot be
8
- * clipped by whatever it sits inside.
7
+ * The surface is in the top layer, so it needs no `z-index` and its container
8
+ * cannot clip it.
9
9
  *
10
- * A submenu replaces the page rather than opening beside it, so the panel stays
11
- * one panel and reads the same on a phone as on a desk.
10
+ * A submenu replaces the current page, so the menu stays one panel and works
11
+ * the same on a phone as on a desktop.
12
12
  *
13
13
  * @since 0.1.0
14
14
  * @status stable
@@ -18,12 +18,12 @@ import type { CSSResultGroup } from 'lit';
18
18
  *
19
19
  * @cssproperty --menu-background-color - Fill of the surface.
20
20
  * @cssproperty --menu-border-color - Color of the panel's edge.
21
- * @cssproperty --menu-border-width - Width of the panel's edge. Follows
21
+ * @cssproperty --menu-border-width - Width of the panel's edge. Defaults to `--helix-border-floating`, which is `0`, so the panel stands out by its shadow unless a theme sets a border.
22
22
  * `--helix-border-floating`, which is `0`, so the panel is told apart by its lift unless a
23
23
  * theme says otherwise.
24
- * @cssproperty --menu-max-block-size - Tallest the surface grows before it scrolls.
25
- * @cssproperty --menu-min-inline-size - Narrowest the surface gets.
26
- * @cssproperty --menu-shadow - Lift under the panel. Follows `--helix-shadow-floating`: a
24
+ * @cssproperty --menu-max-block-size - The tallest the menu grows before it scrolls.
25
+ * @cssproperty --menu-min-inline-size - The narrowest the menu gets.
26
+ * @cssproperty --menu-shadow - Shadow under the panel. Defaults to `--helix-shadow-floating`, so the panel keeps a shadow over any content below it.
27
27
  * floating surface sits over content nobody can predict, so it keeps a lift by default.
28
28
  */
29
29
  export declare class HelixMenu extends HelixHeadlessMenu {
@@ -1,35 +1,26 @@
1
1
  import { HelixHeadlessMeter } from '@fusion.dev/helix-headless/meter';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A measurement in a known range, and whether it is where you want it.
4
+ * @summary A measurement in a known range, with optional bands that mark it good, fair, or poor.
5
5
  *
6
6
  * @description
7
- * The bar `Progress` draws, at twice the height and on the house corner rather
8
- * than its pill.
7
+ * Draws the same bar as `Progress`, at twice the height, with the library's
8
+ * standard corner radius in place of the pill shape.
9
9
  *
10
- * Taller than a progress bar rather than matched to it. The two are unrelated
11
- * controls, and a reader telling a level from a task at a glance is the point
12
- * rather than the cost. A meter also carries more, a fill and a mark at each
13
- * threshold, and at eight pixels those marks are hairlines. At sixteen they are
14
- * unmistakable.
10
+ * The extra height makes a meter easy to tell apart from a progress bar and
11
+ * keeps the tick at each threshold visible. At eight pixels the ticks are
12
+ * hairlines. At sixteen they are clear. The ticks cut the fill into segments,
13
+ * which is why the corners are square: a pill-shaped bar would have round outer
14
+ * ends and square inner ends.
15
15
  *
16
- * The corner is the ticks' doing: they cut the fill into segments, and a
17
- * pill-ended bar comes out as a run whose outer ends are round and whose inner
18
- * ends are square.
16
+ * Once you set thresholds, the fill takes the success, warning, or danger tone
17
+ * of the band the reading falls in. A meter with no thresholds is neutral. A
18
+ * tick marks each threshold, so the reading can be placed against the bands
19
+ * without relying on color.
19
20
  *
20
- * What else differs is what the color means. A progress bar is one color because
21
- * there is one thing to say; a meter's fill takes the success, warning or danger
22
- * tone from the band its reading falls in, and only once thresholds have been
23
- * declared. An unbanded meter is neutral, because a gauge with nothing said
24
- * about it is a reading rather than good news.
25
- *
26
- * A tick marks each threshold, so the reading can be placed against the bands
27
- * without seeing color at all.
28
- *
29
- * A reading past either end squares the corner it ran out at, which is the
30
- * convention for a quantity continuing past the frame it is drawn in. The bar
31
- * itself stops, because that is what an end is; the words and the accessible
32
- * reading are what say how far past.
21
+ * A reading past either end squares the corner on that side, the convention for
22
+ * a quantity that continues past its frame. The bar stops at the end, and the
23
+ * text and the accessible value give the actual reading.
33
24
  *
34
25
  * @since 0.1.0
35
26
  * @status stable
@@ -38,26 +29,26 @@ import type { CSSResultGroup } from 'lit';
38
29
  * @aliases Gauge, Level, Capacity
39
30
  * @documentation https://fusion.dev/helix/components/meter
40
31
  *
41
- * @csspart indicator - The part of it the value fills.
42
- * @csspart indicator-fair - The fill while the reading is in a band beside the good one, beside `indicator`.
43
- * @csspart indicator-good - The fill while the reading is in the good band, beside `indicator`.
44
- * @csspart indicator-over - The fill while the value is past the top, beside `indicator`.
45
- * @csspart indicator-poor - The fill while the reading is two bands from the good one, beside `indicator`.
46
- * @csspart indicator-under - The fill while the value is below the floor, beside `indicator`.
32
+ * @csspart indicator - The part of the track the value fills.
33
+ * @csspart indicator-fair - The fill while the reading is in a band next to the good band. Set alongside `indicator`.
34
+ * @csspart indicator-good - The fill while the reading is in the good band. Set alongside `indicator`.
35
+ * @csspart indicator-over - The fill while the value is above `max`. Set alongside `indicator`.
36
+ * @csspart indicator-poor - The fill while the reading is two bands from the good band. Set alongside `indicator`.
37
+ * @csspart indicator-under - The fill while the value is below `min`. Set alongside `indicator`.
47
38
  * @csspart tick - A mark at `low` or at `high`.
48
39
  * @csspart track - The whole range.
49
- * @csspart value - The reading, under `show-value`.
40
+ * @csspart value - The reading as text, shown when `show-value` is set.
50
41
  *
51
- * @cssproperty --meter-color - The fill, overriding the band's own tone.
52
- * @cssproperty --meter-ring-size - Edge length of the drawing, in `ring` and `arc`.
53
- * @cssproperty --meter-ring-width - Thickness of the stroke there.
54
- * @cssproperty --meter-size - How thick the bar is.
55
- * @cssproperty --meter-tick-color - The mark at a threshold.
56
- * @cssproperty --meter-track-color - The groove behind the fill.
42
+ * @cssproperty --meter-color - The fill color. Overrides the band's tone.
43
+ * @cssproperty --meter-ring-size - The width and height of the drawing in `ring` and `arc`.
44
+ * @cssproperty --meter-ring-width - The thickness of the stroke in `ring` and `arc`.
45
+ * @cssproperty --meter-size - The thickness of the bar.
46
+ * @cssproperty --meter-tick-color - The color of the mark at each threshold.
47
+ * @cssproperty --meter-track-color - The color of the groove behind the fill.
57
48
  */
58
49
  export declare class HelixMeter extends HelixHeadlessMeter {
59
50
  /**
60
- * How much ink the reading claims.
51
+ * How strongly the reading is drawn. `subtle` draws it as a wash of its color.
61
52
  *
62
53
  * `subtle` is the reading as a wash of its own color: still legible, no longer
63
54
  * the loudest thing in the region. The case is a dashboard of several meters
@@ -4,10 +4,9 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary A set of destinations, with a marker on the current one.
5
5
  *
6
6
  * @description
7
- * One marker that travels, rather than a background that appears on whichever
8
- * destination is current. A fill that swaps is two things changing at once and
9
- * reads as a flicker; one that moves is a single object the eye follows, and it
10
- * says where the current page was as well as where it is.
7
+ * One marker moves to the current destination. A moving marker is easier to
8
+ * follow than a background that switches from one item to another, and the
9
+ * movement shows which page you came from as well as which one is current.
11
10
  *
12
11
  * @since 0.1.0
13
12
  * @status stable
@@ -16,7 +15,7 @@ import type { CSSResultGroup } from 'lit';
16
15
  * @documentation https://fusion.dev/helix/components/navigation
17
16
  *
18
17
  * @cssproperty --navigation-gap - Space between destinations.
19
- * @cssproperty --navigation-indicator-color - Fill of the traveling marker.
18
+ * @cssproperty --navigation-indicator-color - Fill of the marker on the current destination.
20
19
  */
21
20
  export declare class HelixNavigation extends HelixHeadlessNavigation {
22
21
  static styles: CSSResultGroup;
@@ -5,18 +5,14 @@ import type { CSSResultGroup } from 'lit';
5
5
  * them.
6
6
  *
7
7
  * @description
8
- * The heading is chrome: it says which pile a reader is looking at and is never
9
- * the thing they came to read, so it is drawn quieter than a row's title. A feed
10
- * cut into five days has five of these, and a heading at the weight of the
11
- * content turns a list of notifications into a list of dates.
8
+ * The heading is drawn quieter than a row's title. It labels a group, and at
9
+ * full weight a feed split into days would read as a list of dates.
12
10
  *
13
- * **The stack is two lines rather than two cards.** Collapsed, the rows behind
14
- * the first are not rendered at all, so there is nothing to see through: what
15
- * draws the pile is a pair of pseudo-elements above the visible row, offset and
16
- * inset so they read as the top edges of cards behind it. A shadow could not do
17
- * it, spreading on four sides where this has a top edge and no bottom one, and
18
- * having no way to sit narrower than the thing it is behind, which is the cue
19
- * that says there is something back there.
11
+ * In a collapsed group, the rows after the first are not rendered. Two
12
+ * pseudo-elements above the visible row draw the stack, offset and inset so
13
+ * they look like the top edges of cards behind it. A shadow cannot draw this,
14
+ * because it spreads on all four sides and cannot be narrower than the element
15
+ * it is behind.
20
16
  *
21
17
  * @since 0.24.0
22
18
  * @status stable
@@ -24,8 +20,8 @@ import type { CSSResultGroup } from 'lit';
24
20
  * @aliases NotificationSection, FeedGroup
25
21
  * @documentation https://fusion.dev/helix/components/notifications
26
22
  *
27
- * @event {HelixBeforeCloseEvent} helix-before-close - Fired before the group folds, and cancelable.
28
- * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the group unfolds. Cancelable: refusing it takes the decision and nothing moves.
23
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before the group collapses. Cancelable.
24
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the group expands. Cancelable: cancel it to keep the group collapsed.
29
25
  */
30
26
  export declare class HelixNotificationGroup extends HelixHeadlessNotificationGroup {
31
27
  static styles: CSSResultGroup;
@@ -2,67 +2,61 @@ import { HelixHeadlessNotification } from '@fusion.dev/helix-headless/notificati
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  import '../../format-date/index.js';
4
4
  /**
5
- * @summary One thing that happened, which a reader may not have seen yet.
5
+ * @summary A single notification about something that happened, marked read or unread.
6
6
  *
7
7
  * @description
8
- * A four-column grid: media, body, actions, dismiss.
8
+ * A four-column grid: media, body, actions, and dismiss.
9
9
  *
10
- * **The media column is held open by the feed, not by the item.** Each item is
11
- * its own grid, so nothing about one row's tracks reaches the row below it: a
12
- * feed where some items had an avatar and some did not drew its text at two
13
- * different left edges, which is the fault a grid was chosen to prevent. The
14
- * root publishes whether anything in it has media and every item reserves that
15
- * much, so a mixed feed reads down one edge and a feed with no media anywhere
16
- * pays nothing for the column.
10
+ * The feed holds the media column open. Each item is its own grid, so the root
11
+ * reports whether any item has media, and every item reserves that column. In a
12
+ * mixed feed, all text starts at one edge. A feed with no media reserves no
13
+ * column.
17
14
  *
18
- * **Unread is weight and a mark on the inline start edge, not a fill.** Depth
19
- * comes from a single border in this library, and a filled row is elevation
20
- * spelled differently; a feed of filled rows is a striped list nobody can read.
21
- * The mark is a fixed height on the first line rather than the height of the
22
- * row, so it says the same thing about a one line notification and a five line
23
- * one.
15
+ * Unread is shown by font weight and a mark on the inline start edge. The row
16
+ * has no fill, because depth in Helix comes from a single border. The mark has
17
+ * a fixed height on the first line, so it looks the same on a one-line and a
18
+ * five-line notification.
24
19
  *
25
- * **Narrow, the actions go under the body.** How much room the row was given is
26
- * a fact about this box and about nothing else, so it is a container query: a
27
- * feed in a 320 pixel side panel is narrow inside a 1400 pixel window, and a
28
- * viewport rule would hand it the wide branch.
20
+ * In a narrow container, the actions move under the body. This is a container
21
+ * query, so a feed in a 320 pixel side panel gets the narrow layout inside a
22
+ * 1400 pixel window.
29
23
  *
30
24
  * @since 0.1.0
31
25
  * @status stable
32
26
  * @category feedback
33
27
  * @documentation https://fusion.dev/helix/components/notifications
34
28
  *
35
- * @slot - What happened, in the consumer's own markup.
36
- * @slot actions - What a reader can do about it.
29
+ * @slot - What happened, in your own markup.
30
+ * @slot actions - Actions the user can take on the notification.
37
31
  * @slot media - An avatar or icon identifying who or what it came from.
38
32
  *
39
- * @csspart controls - The actions and the dismiss, which replace the time.
40
- * @csspart dismiss - The control that removes it.
41
- * @csspart dismiss-mark - The glyph on that control, where none is slotted.
33
+ * @csspart controls - The actions and the dismiss control, shown in place of the time.
34
+ * @csspart dismiss - The control that dismisses the notification.
35
+ * @csspart dismiss-mark - The icon on the dismiss control, when no icon is slotted.
42
36
  * @csspart item - The whole notification.
43
37
  * @csspart time - When it happened.
44
38
  * @csspart trailing - The column holding the time and the controls.
45
39
  *
46
- * @cssproperty --notifications-color - Ink in an item that has been read.
47
- * @cssproperty --notifications-dismiss-color - Ink on the control that removes an item, which is `danger` because removing one is the end of it.
40
+ * @cssproperty --notifications-color - Text color in a read item.
41
+ * @cssproperty --notifications-dismiss-color - Color of the dismiss control. It is `danger`, because dismissing an item removes it for good.
48
42
  * @cssproperty --notifications-item-edge - Color of a carded row's border.
49
43
  * @cssproperty --notifications-item-fill - Fill behind a `filled` row.
50
- * @cssproperty --notifications-item-gap - Space between carded rows, which replaces the hairline.
44
+ * @cssproperty --notifications-item-gap - Space between carded rows, which have no hairline.
51
45
  * @cssproperty --notifications-item-radius - Corner radius of a carded row.
52
46
  * @cssproperty --notifications-padding-block - Space above and below an item.
53
47
  * @cssproperty --notifications-padding-inline - Space either side of an item.
54
48
  * @cssproperty --notifications-rule - The hairline between items.
55
- * @cssproperty --notifications-unread-block-size - How long that mark is.
56
- * @cssproperty --notifications-unread-inline-size - How thick that mark is.
57
- * @cssproperty --notifications-unread-inset - How far it sits from the row's leading edge.
49
+ * @cssproperty --notifications-unread-block-size - Length of the unread mark.
50
+ * @cssproperty --notifications-unread-inline-size - Thickness of the unread mark.
51
+ * @cssproperty --notifications-unread-inset - Distance from the unread mark to the row's leading edge.
58
52
  * @cssproperty --notifications-unread-mark - Color of the edge mark on an unread item.
59
- * @cssproperty --notifications-unread-offset - How far it sits from the row's top.
60
- * @cssproperty --notifications-unread-radius - Its corner radius, which is what turns it into a dot.
53
+ * @cssproperty --notifications-unread-offset - Distance from the unread mark to the row's top edge.
54
+ * @cssproperty --notifications-unread-radius - Corner radius of the unread mark, which can turn it into a dot.
61
55
  */
62
56
  export declare class HelixNotification extends HelixHeadlessNotification {
63
57
  static tier: string;
64
58
  /**
65
- * How a row is told apart from the one above it.
59
+ * How a row is separated from the one above it.
66
60
  *
67
61
  * `plain` is the resting one and is a hairline and nothing else: the row has
68
62
  * no box of its own, and what separates it is a line the list draws between
@@ -2,18 +2,16 @@ import { HelixHeadlessNotifications } from '@fusion.dev/helix-headless/notificat
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  import '../notification/notification.js';
4
4
  /**
5
- * @summary A feed a reader comes back to, made of notifications they may not have seen.
5
+ * @summary A feed of notifications, each marked read or unread.
6
6
  *
7
7
  * @description
8
- * Three rows: header, a list that scrolls, footer. The list scrolls and the
9
- * other two do not, because a panel is opened at a fixed height and a mark-all
10
- * control that slides away as the reader scrolls is the control they were
11
- * reaching for.
8
+ * Three rows: a header, a scrolling list, and a footer. Only the list scrolls,
9
+ * so the controls in the header and footer stay in view in a fixed-height
10
+ * panel.
12
11
  *
13
- * **It does not virtualize and it cannot**, which is the headless tier's note
14
- * and worth repeating where the choice is made: the items are the consumer's own
15
- * elements, so N notifications is N elements by construction. A feed that really
16
- * holds thousands wants `helix-data-table` with a custom cell.
12
+ * The list does not virtualize. The items are your own elements, so N
13
+ * notifications are N elements. For a feed of thousands, use `helix-data-table`
14
+ * with a custom cell.
17
15
  *
18
16
  * @since 0.1.0
19
17
  * @status stable
@@ -25,11 +23,11 @@ import '../notification/notification.js';
25
23
  * @slot header - Above the list, for a title and the mark-all control.
26
24
  *
27
25
  * @csspart list - The list itself.
28
- * @csspart live - The empty and loading lines again, in a region a screen reader hears when they change. Visually hidden in the styled tier.
26
+ * @csspart live - A copy of the empty and loading messages, in a live region that screen readers announce when they change. Visually hidden in the styled tier.
29
27
  * @csspart mark-all - The control that marks everything read.
30
28
  *
31
29
  * @cssproperty --notifications-max-block-size - How tall the feed may get before the list scrolls.
32
- * @cssproperty --notifications-media-column - The gutter every item holds open where something in the feed has media.
30
+ * @cssproperty --notifications-media-column - Width of the media column that every item keeps when any item in the feed has media.
33
31
  * @cssproperty --notifications-padding-inline - Space either side of the header and footer.
34
32
  * @cssproperty --notifications-rule - The hairline between items and around the regions.
35
33
  */
@@ -1,21 +1,19 @@
1
1
  import { HelixHeadlessNumberInput } from '@fusion.dev/helix-headless/number-input';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A number a reader types or steps to.
4
+ * @summary A field for a number, typed or changed with step buttons.
5
5
  *
6
6
  * @description
7
- * The frame an `Input` wears, because in a form this stands in a row with them.
8
- * The difference is inside it: a button at each end of the box rather than
9
- * beside it, so the whole reads as one field rather than a field with two
10
- * controls after it.
7
+ * Uses the same frame as `Input`, so the two line up in a form. A button sits
8
+ * at each end inside the box, so the whole control reads as one field.
11
9
  *
12
- * The number is centered and set in tabular figures, which is the one place this
13
- * differs from every other field in the library. Digits are what changes under a
14
- * repeated press, and proportional ones make the number shuffle while it counts.
10
+ * The number is centered and set in tabular figures, which no other field in
11
+ * the library does. The digits change under repeated presses, and proportional
12
+ * figures would make the number shift as it counts.
15
13
  *
16
- * The steppers are out of the tab order. A keyboard reader already has four keys
17
- * on the field itself, and two more tab stops per number is a form that takes
18
- * three times as long to cross.
14
+ * The stepper buttons are out of the tab order. The field already has four keys
15
+ * for keyboard users, and two more tab stops per number would make a form three
16
+ * times as long to cross.
19
17
  *
20
18
  * @since 0.1.0
21
19
  * @status stable
@@ -23,15 +21,15 @@ import type { CSSResultGroup } from 'lit';
23
21
  * @aliases NumberField, Stepper, InputNumber
24
22
  * @documentation https://fusion.dev/helix/components/number-input
25
23
  *
26
- * @slot end - After it.
27
- * @slot start - Before the number, for a unit or an icon.
24
+ * @slot end - Content after the number, such as a unit.
25
+ * @slot start - Content before the number, such as a unit or an icon.
28
26
  *
29
- * @csspart control - The field itself.
30
- * @csspart decrement - The control that steps down.
31
- * @csspart field - The box holding everything.
32
- * @csspart increment - The control that steps up.
27
+ * @csspart control - The input that holds the number.
28
+ * @csspart decrement - The button that steps the value down.
29
+ * @csspart field - The box that holds the whole control.
30
+ * @csspart increment - The button that steps the value up.
33
31
  *
34
- * @cssproperty --number-input-background-color - Fill behind the number.
32
+ * @cssproperty --number-input-background-color - The fill behind the number.
35
33
  */
36
34
  export declare class HelixNumberInput extends HelixHeadlessNumberInput {
37
35
  static styles: CSSResultGroup;
@@ -2,15 +2,14 @@ import { HelixHeadlessObjectInspector } from '@fusion.dev/helix-headless/object-
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  import '../../copy-button/index.js';
4
4
  /**
5
- * @summary A value read as a tree: collapse what you do not need, count what
6
- * you collapsed, copy the part you do.
5
+ * @summary A structured value shown as a tree, where you can close branches,
6
+ * see how many entries each holds, and copy any part.
7
7
  *
8
8
  * @description
9
- * Code Block's frame around a tree of entries. Each type takes its ink from the
10
- * syntax set the code blocks already use, a key in one, a string in another and
11
- * a number, a boolean and a null in theirs, and each row is one line with a long
12
- * string ending in an ellipsis, so every row is one height and a windowed tree
13
- * never has to measure them one by one.
9
+ * The styled tier draws the tree in the Code Block frame. Keys and each type of
10
+ * value take their colors from the syntax colors code blocks use. Each row is
11
+ * one line, and a long string ends in an ellipsis, so every row has the same
12
+ * height and a windowed tree does not measure rows one by one.
14
13
  *
15
14
  * @since 0.1.0
16
15
  * @status stable
@@ -18,11 +17,11 @@ import '../../copy-button/index.js';
18
17
  * @aliases JSON viewer, Object viewer, Inspector, Data explorer
19
18
  * @documentation https://fusion.dev/helix/components/object-inspector
20
19
  *
21
- * @cssproperty --object-inspector-background-color - Ground under the tree.
22
- * @cssproperty --object-inspector-block-size - Height of the scrolling box, when windowed.
23
- * @cssproperty --object-inspector-border-color - The edge around the tree and its header.
24
- * @cssproperty --object-inspector-header-background-color - The bar carrying the label.
25
- * @cssproperty --object-inspector-radius - Corner radius of the tree.
20
+ * @cssproperty --object-inspector-background-color - The background of the tree.
21
+ * @cssproperty --object-inspector-block-size - The height of the scrolling box when `windowed` is set.
22
+ * @cssproperty --object-inspector-border-color - The color of the edge around the tree and its header.
23
+ * @cssproperty --object-inspector-header-background-color - The background of the bar that holds the label.
24
+ * @cssproperty --object-inspector-radius - The corner radius of the tree.
26
25
  */
27
26
  export declare class HelixObjectInspector extends HelixHeadlessObjectInspector {
28
27
  static tier: string;
@@ -1,12 +1,11 @@
1
1
  import { HelixHeadlessOptionGroup } from '@fusion.dev/helix-headless/option';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A named run of options inside a listbox.
4
+ * @summary A labeled group of options inside a listbox.
5
5
  *
6
6
  * @description
7
- * The heading is set small and quiet, because it is a divider that happens to
8
- * have words on it: a run of options is read as a list and the heading is what
9
- * tells you which list, not something to read on its own.
7
+ * The heading is small and muted. It labels the run of options below it and is
8
+ * not meant to be read as content of its own.
10
9
  *
11
10
  * @since 0.1.0
12
11
  * @status stable
@@ -4,10 +4,9 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary One choice in a listbox.
5
5
  *
6
6
  * @description
7
- * Two states that look different on purpose: chosen, which is a fact about the
8
- * value, and active, which is where the keyboard is. A list that draws them the
9
- * same way leaves a reader arrowing through it unable to tell what they have
10
- * picked from what they are looking at.
7
+ * Selected and active look different. Selected is the value, and active is
8
+ * where the keyboard is. If both looked the same, you could not tell what you
9
+ * picked from where you are while moving through the list with the arrow keys.
11
10
  *
12
11
  * @since 0.1.0
13
12
  * @status stable
@@ -15,10 +14,10 @@ import type { CSSResultGroup } from 'lit';
15
14
  * @aliases Item, Choice
16
15
  * @documentation https://fusion.dev/helix/components/option
17
16
  *
18
- * @cssproperty --option-active-color - Wash behind the option the keyboard is on.
19
- * @cssproperty --option-block-padding - Space above and below it. `Command` raises this, a palette being a page of rows read at speed rather than a select's short list.
20
- * @cssproperty --option-padding - Space before the label, shared with a group heading.
21
- * @cssproperty --option-radius - Corner radius of the row. A listbox and a select flatten it.
17
+ * @cssproperty --option-active-color - The background of the option the keyboard is on.
18
+ * @cssproperty --option-block-padding - The space above and below the option. `Command` increases it for its longer list of rows.
19
+ * @cssproperty --option-padding - The space before the label, shared with a group heading.
20
+ * @cssproperty --option-radius - The corner radius of the row. A listbox and a select remove it.
22
21
  */
23
22
  export declare class HelixOption extends HelixHeadlessOption {
24
23
  static styles: CSSResultGroup;