@fusion.dev/helix 0.104.1 → 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 (198) hide show
  1. package/custom-elements.json +13098 -4950
  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 +19 -1
  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/area/map-area.css.d.ts +1 -0
  73. package/dist/map/area/map-area.css.js +24 -0
  74. package/dist/map/area/map-area.d.ts +27 -0
  75. package/dist/map/area/map-area.js +20 -0
  76. package/dist/map/buildings/map-buildings.css.d.ts +1 -0
  77. package/dist/map/buildings/map-buildings.css.js +27 -0
  78. package/dist/map/buildings/map-buildings.d.ts +28 -0
  79. package/dist/map/buildings/map-buildings.js +20 -0
  80. package/dist/map/contours/map-contours.css.d.ts +1 -0
  81. package/dist/map/contours/map-contours.css.js +8 -0
  82. package/dist/map/contours/map-contours.d.ts +25 -0
  83. package/dist/map/contours/map-contours.js +16 -0
  84. package/dist/map/index.d.ts +10 -0
  85. package/dist/map/index.js +10 -0
  86. package/dist/map/landcover/map-landcover.css.d.ts +1 -0
  87. package/dist/map/landcover/map-landcover.css.js +5 -0
  88. package/dist/map/landcover/map-landcover.d.ts +25 -0
  89. package/dist/map/landcover/map-landcover.js +16 -0
  90. package/dist/map/marker/map-marker.css.d.ts +1 -0
  91. package/dist/map/marker/map-marker.css.js +340 -0
  92. package/dist/map/marker/map-marker.d.ts +51 -0
  93. package/dist/map/marker/map-marker.js +29 -0
  94. package/dist/map/points/map-points.css.d.ts +1 -0
  95. package/dist/map/points/map-points.css.js +82 -0
  96. package/dist/map/points/map-points.d.ts +29 -0
  97. package/dist/map/points/map-points.js +20 -0
  98. package/dist/map/position/map-position.css.d.ts +1 -0
  99. package/dist/map/position/map-position.css.js +239 -0
  100. package/dist/map/position/map-position.d.ts +41 -0
  101. package/dist/map/position/map-position.js +26 -0
  102. package/dist/map/raster/map-raster.css.d.ts +1 -0
  103. package/dist/map/raster/map-raster.css.js +4 -0
  104. package/dist/map/raster/map-raster.d.ts +23 -0
  105. package/dist/map/raster/map-raster.js +16 -0
  106. package/dist/map/root/map-root.css.js +252 -1
  107. package/dist/map/root/map-root.d.ts +13 -12
  108. package/dist/map/root/map-root.js +4 -0
  109. package/dist/map/route/map-route.css.d.ts +1 -0
  110. package/dist/map/route/map-route.css.js +25 -0
  111. package/dist/map/route/map-route.d.ts +31 -0
  112. package/dist/map/route/map-route.js +23 -0
  113. package/dist/map/terrain/map-terrain.css.d.ts +1 -0
  114. package/dist/map/terrain/map-terrain.css.js +12 -0
  115. package/dist/map/terrain/map-terrain.d.ts +27 -0
  116. package/dist/map/terrain/map-terrain.js +16 -0
  117. package/dist/megamenu/root/megamenu-root.d.ts +14 -14
  118. package/dist/menu/item/menu-item.d.ts +8 -8
  119. package/dist/menu/root/menu-root.d.ts +9 -9
  120. package/dist/meter/root/meter-root.d.ts +29 -38
  121. package/dist/navigation/root/navigation-root.d.ts +4 -5
  122. package/dist/notifications/group/notification-group.d.ts +9 -13
  123. package/dist/notifications/notification/notification.d.ts +27 -33
  124. package/dist/notifications/root/notifications-root.d.ts +9 -11
  125. package/dist/number-input/root/number-input-root.d.ts +16 -18
  126. package/dist/object-inspector/root/object-inspector-root.d.ts +11 -12
  127. package/dist/option/group/option-group.d.ts +3 -4
  128. package/dist/option/root/option-root.d.ts +7 -8
  129. package/dist/orb/root/orb-root.d.ts +30 -36
  130. package/dist/outline/root/outline-root.d.ts +8 -10
  131. package/dist/pagination/root/pagination-root.d.ts +13 -23
  132. package/dist/pagination/size/pagination-size.d.ts +7 -7
  133. package/dist/pagination/summary/pagination-summary.d.ts +3 -4
  134. package/dist/pin-input/root/pin-input-root.d.ts +8 -11
  135. package/dist/popover/root/popover-root.d.ts +14 -16
  136. package/dist/progress/root/progress-root.d.ts +10 -13
  137. package/dist/qr-code/root/qr-code-root.d.ts +13 -14
  138. package/dist/quote/root/quote-root.d.ts +2 -2
  139. package/dist/radio/group/radio-group.d.ts +6 -6
  140. package/dist/radio/root/radio-root.d.ts +16 -19
  141. package/dist/rating/root/rating-root.d.ts +9 -9
  142. package/dist/sandbox/preview/sandbox-preview.d.ts +18 -19
  143. package/dist/sandbox/root/sandbox-root.d.ts +27 -27
  144. package/dist/sandbox/source/sandbox-source.d.ts +9 -12
  145. package/dist/sandbox/status-bar/sandbox-status-bar.d.ts +9 -11
  146. package/dist/sandbox/terminal/sandbox-terminal.d.ts +13 -15
  147. package/dist/sandbox/toolbar/sandbox-toolbar.d.ts +8 -9
  148. package/dist/scatter-chart/root/scatter-chart-root.d.ts +18 -29
  149. package/dist/scroll-area/root/scroll-area-root.d.ts +13 -13
  150. package/dist/select/root/select-root.d.ts +14 -14
  151. package/dist/shared/mixin-control-surface/mixin-control-surface.d.ts +8 -2
  152. package/dist/shared/viewport/viewport.css.js +7 -2
  153. package/dist/skeleton/root/skeleton-root.d.ts +6 -7
  154. package/dist/skip-link/root/skip-link-root.d.ts +16 -19
  155. package/dist/slider/root/slider-root.d.ts +16 -18
  156. package/dist/sparkline/root/sparkline-root.d.ts +16 -24
  157. package/dist/speed-dial/item/speed-dial-item.d.ts +5 -5
  158. package/dist/speed-dial/root/speed-dial-root.d.ts +3 -4
  159. package/dist/splitter/root/splitter-root.d.ts +23 -32
  160. package/dist/stat/group/stat-group.d.ts +4 -5
  161. package/dist/stat/root/stat-root.d.ts +4 -5
  162. package/dist/steps/root/steps-root.d.ts +12 -13
  163. package/dist/switch/root/switch-root.d.ts +13 -17
  164. package/dist/table/cell/table-cell.css.js +5 -0
  165. package/dist/table/cell/table-cell.d.ts +4 -4
  166. package/dist/table/column/table-column.d.ts +3 -4
  167. package/dist/table/root/table-root.d.ts +5 -6
  168. package/dist/table/row/table-row.d.ts +3 -3
  169. package/dist/tabs/panel/tab-panel.d.ts +2 -3
  170. package/dist/tabs/root/tabs-root.d.ts +12 -11
  171. package/dist/tabs/tab/tab.d.ts +4 -4
  172. package/dist/tag/root/tag-root.d.ts +10 -11
  173. package/dist/text/root/text-root.d.ts +22 -30
  174. package/dist/textarea/root/textarea-root.d.ts +4 -5
  175. package/dist/time-input/root/time-input-root.d.ts +12 -14
  176. package/dist/time-picker/root/time-picker-root.d.ts +8 -10
  177. package/dist/timeline/item/timeline-item.d.ts +2 -2
  178. package/dist/timeline/root/timeline-root.d.ts +3 -3
  179. package/dist/toast/item/toast-item.d.ts +7 -8
  180. package/dist/toast/root/toast-root.d.ts +10 -12
  181. package/dist/toggle/group/toggle-group.d.ts +10 -12
  182. package/dist/toggle/root/toggle-root.d.ts +2 -3
  183. package/dist/toolbar/root/toolbar-root.d.ts +3 -3
  184. package/dist/tooltip/root/tooltip-root.d.ts +10 -10
  185. package/dist/tour/root/tour-root.d.ts +5 -6
  186. package/dist/tour/stop/tour-stop.d.ts +14 -14
  187. package/dist/tree/item/tree-item.d.ts +6 -9
  188. package/dist/tree/root/tree-root.d.ts +7 -8
  189. package/dist/trend/root/trend-root.d.ts +12 -19
  190. package/dist/video/root/video-root.d.ts +15 -21
  191. package/dist/video-playlist/item/video-playlist-item.d.ts +4 -4
  192. package/dist/video-playlist/menu/video-playlist-menu.d.ts +14 -16
  193. package/dist/video-playlist/root/video-playlist-root.d.ts +5 -5
  194. package/dist/virtual-list/root/virtual-list-root.d.ts +6 -8
  195. package/package.json +6 -6
  196. package/types/jsx.d.ts +14221 -11621
  197. package/types/svelte.d.ts +10 -0
  198. package/types/vue.d.ts +2679 -1951
@@ -2,28 +2,28 @@ import { HelixHeadlessTourStop } from '@fusion.dev/helix-headless/tour';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  import '../../button/index.js';
4
4
  /**
5
- * @summary One stop on a tour: what it points at, and a panel to say it in.
5
+ * @summary One stop on a tour: the element it points at, and a panel of content about it.
6
6
  *
7
7
  * @description
8
- * The panel is `Popover`'s panel by another name, on purpose: a surface, an
9
- * inset and a lift, so a stop and a flyout on the same page are the same
10
- * object. What this tier adds beyond that is the point, which no other surface
11
- * here draws.
8
+ * The panel uses the same styles as `Popover`'s panel, with a surface, an
9
+ * inset, and a shadow, so a stop matches a popover on the same page. The styled
10
+ * tier adds the pointer toward the target, which no other Helix surface draws.
12
11
  *
13
12
  * @since 0.1.0
14
13
  * @status stable
15
14
  * @category overlays
16
15
  * @documentation https://fusion.dev/helix/components/tour
17
16
  *
18
- * @cssproperty --tour-arrow-size - The point's box, before it is rotated.
19
- * @cssproperty --tour-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 --tour-bubble-size - How wide the panel may grow.
23
- * @cssproperty --tour-padding - Inset inside the panel.
24
- * @cssproperty --tour-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 --tour-surface-color - The panel's own surface.
17
+ * @cssproperty --tour-arrow-size - The size of the arrow's box, before it is rotated.
18
+ * @cssproperty --tour-border-width - The width of the panel's border. It follows
19
+ * `--helix-border-floating`, which is `0`, so the panel stands out by its
20
+ * shadow unless a theme sets a border.
21
+ * @cssproperty --tour-bubble-size - The widest the panel can grow.
22
+ * @cssproperty --tour-padding - The padding inside the panel.
23
+ * @cssproperty --tour-shadow - The shadow under the panel. It follows
24
+ * `--helix-shadow-floating`. The panel can sit over any content, so it has a
25
+ * shadow by default.
26
+ * @cssproperty --tour-surface-color - The color of the panel's surface.
27
27
  */
28
28
  export declare class HelixTourStop extends HelixHeadlessTourStop {
29
29
  static tier: string;
@@ -4,14 +4,11 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary One node in a tree.
5
5
  *
6
6
  * @description
7
- * Indent comes from the `level` the tree sets, as a multiple of one hook, so a
8
- * node moved to another depth re-indents without any nested selector. Nesting
9
- * selectors by depth is the usual approach and stops working at whatever depth
10
- * nobody wrote a rule for.
7
+ * Indentation is a multiple of one hook, set from the `level` the tree assigns,
8
+ * so an item moved to another depth re-indents with no nested selectors, at any
9
+ * depth.
11
10
  *
12
- * The twisty rotates rather than swapping glyphs, so opening a branch is a
13
- * short movement instead of a substitution. Motion carries the state change;
14
- * the row itself stays flat.
11
+ * The twisty rotates when a branch opens. The row itself stays flat.
15
12
  *
16
13
  * @since 0.1.0
17
14
  * @status stable
@@ -21,7 +18,7 @@ import type { CSSResultGroup } from 'lit';
21
18
  * @slot - The item's label.
22
19
  * @slot children - Nested items, which make this a branch.
23
20
  *
24
- * @event {HelixSelectEvent} helix-select - Fired when the item is chosen. Cancelable: refusing it takes the decision and nothing moves.
21
+ * @event {HelixSelectEvent} helix-select - Fired when the item is chosen, and cancelable. Canceling it changes nothing.
25
22
  *
26
23
  * @csspart group - The container for nested items.
27
24
  * @csspart item - The node, and the focus target.
@@ -32,7 +29,7 @@ import type { CSSResultGroup } from 'lit';
32
29
  * @cssproperty --tree-chevron-size - Size of the chevron, and the gutter a leaf reserves.
33
30
  * @cssproperty --tree-gap - Space between rows.
34
31
  * @cssproperty --tree-indent - Indent added per level.
35
- * @cssproperty --tree-row-size - Least height of a row, so rows with and without an icon match.
32
+ * @cssproperty --tree-row-size - Minimum height of a row, so rows with and without an icon match.
36
33
  */
37
34
  export declare class HelixTreeItem extends HelixHeadlessTreeItem {
38
35
  static styles: CSSResultGroup;
@@ -1,12 +1,11 @@
1
1
  import { HelixHeadlessTree } from '@fusion.dev/helix-headless/tree';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A tree of items, navigable entirely from the keyboard.
4
+ * @summary A hierarchy of items, with branches that open and close.
5
5
  *
6
6
  * @description
7
7
  * Quiet by default: no rules between rows and no fill except on the selected
8
- * item. A navigation tree is read by scanning, and every line of chrome added
9
- * to it is one more thing between the reader and the label.
8
+ * item, so the labels are easy to scan.
10
9
  *
11
10
  * @since 0.1.0
12
11
  * @status stable
@@ -16,17 +15,17 @@ import type { CSSResultGroup } from 'lit';
16
15
  *
17
16
  * @slot - The tree's items.
18
17
  *
19
- * @event {HelixSelectEvent} helix-select - Fired when an item is chosen. Dispatched by the item and listened for here, because the tree is what a consumer holds a reference to. Cancelable: refusing it takes the decision and nothing moves.
18
+ * @event {HelixSelectEvent} helix-select - Fired when an item is chosen. The item sends it, and you can listen for it on the tree. Cancelable: canceling it changes nothing.
20
19
  *
21
- * @csspart live - The empty and loading lines again, in a region a screen reader hears when they change. Visually hidden in the styled tier.
20
+ * @csspart live - A copy of the empty and loading messages, in a live region that announces them when they change. Visually hidden in the styled tier.
22
21
  * @csspart tree - The tree container.
23
22
  *
24
- * @cssproperty --tree-chevron-gap - Set from `chevron-placement`; the space before the chevron.
25
- * @cssproperty --tree-chevron-order - Set from `chevron-placement`; read by each item.
23
+ * @cssproperty --tree-chevron-gap - The space before the chevron. Set from `chevron-placement`.
24
+ * @cssproperty --tree-chevron-order - The chevron's order in the row. Set from `chevron-placement` and read by each item.
26
25
  * @cssproperty --tree-chevron-size - Size of the chevron, and the gutter a leaf reserves.
27
26
  * @cssproperty --tree-gap - Space between rows.
28
27
  * @cssproperty --tree-indent - Indent added per level.
29
- * @cssproperty --tree-row-size - Least height of a row, so rows with and without an icon match.
28
+ * @cssproperty --tree-row-size - Minimum height of a row, so rows with and without an icon match.
30
29
  */
31
30
  export declare class HelixTree extends HelixHeadlessTree {
32
31
  /**
@@ -2,28 +2,21 @@ import { HelixHeadlessTrend } from '@fusion.dev/helix-headless/trend';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  import '../../icon/index.js';
4
4
  /**
5
- * @summary Which way a measurement moved, and whether that is good news.
5
+ * @summary An indicator that shows which way a measurement moved, and whether the change is good.
6
6
  *
7
7
  * @description
8
- * The arrow takes the judgment color and the number does not, which is the
9
- * opposite of the dashboard convention and is measured rather than preferred:
10
- * in light mode the success token is 3.8:1 on the surface, enough for a glyph
11
- * and short of what 13px text needs, and there is no darker green in the ramp.
12
- * The number therefore keeps the page's own foreground and stays the most
13
- * legible thing here, which is right anyway, since the number is what a reader
14
- * reads and the judgment is a gloss on it.
8
+ * The arrow takes the judgment color and the number keeps the foreground color.
9
+ * In light mode the success token has 3.8:1 contrast on the surface, enough for
10
+ * a glyph and short of what 13px text needs, and the ramp has no darker green.
11
+ * The number stays the most legible part.
15
12
  *
16
- * **No visual axis applies here, and that is the answer rather than a gap.**
17
- * `emphasis` is how much ink a mark claims, and there is no mark: an arrow glyph
18
- * and two runs of text, whose weight is `Text`'s business and whose size is the
19
- * region's. `material` is what reads through a surface, and a 13px glyph has
20
- * nothing behind it. `wash` is a gradient across an area, and there is no area.
13
+ * Trend has no `emphasis`, `material`, or `wash`. It has no mark for emphasis,
14
+ * no surface for material, and no area for a wash. The text weight comes from
15
+ * `Text` and the size from the region.
21
16
  *
22
- * The meaning axis is here and is *derived*, which is the more interesting half:
23
- * `direction` and `good` together resolve to success, danger or muted, so a
24
- * consumer states the metric's polarity once rather than picking a color. A
25
- * declared `tone` would let the color disagree with the arrow, which is the one
26
- * thing this component exists to stop.
17
+ * The meaning axis is derived: `direction` and `good` resolve to success,
18
+ * danger, or muted, so you state the metric's polarity once. There is no
19
+ * `tone`, because a declared tone could disagree with the arrow.
27
20
  *
28
21
  * @since 0.1.0
29
22
  * @status stable
@@ -32,7 +25,7 @@ import '../../icon/index.js';
32
25
  * @aliases Delta, Change, Movement
33
26
  * @documentation https://fusion.dev/helix/components/trend
34
27
  *
35
- * @cssproperty --trend-color - Color of the arrow, overriding the judgment.
28
+ * @cssproperty --trend-color - Color of the arrow. Setting it overrides the color that `good` sets.
36
29
  * @cssproperty --trend-icon-size - Size of the arrow.
37
30
  */
38
31
  export declare class HelixTrend extends HelixHeadlessTrend {
@@ -3,39 +3,33 @@ import type { CSSResultGroup } from 'lit';
3
3
  import '../../icon/index.js';
4
4
  import '../../menu/index.js';
5
5
  /**
6
- * @summary Plays a video, with controls this library draws rather than the
7
- * browser's.
6
+ * @summary A video player with controls drawn by Helix.
8
7
  *
9
8
  * @description
10
- * The player is the headless tier's. What this adds is the bar: where it sits, when
11
- * it is there, and what the two ranges look like, which is the whole reason to
12
- * replace a control set that cannot be styled.
9
+ * The player comes from the headless tier. This tier adds the control bar:
10
+ * where it sits, when it shows, and how the two ranges look.
13
11
  *
14
- * **The bar is over the picture, not under it.** A bar in the layout would move
15
- * everything below the video by its own height and would leave a strip of page
16
- * color under a picture that is meant to be the whole of it. Over it, the
17
- * video is the component's size and the controls belong to it.
12
+ * The bar sits over the picture, so the video keeps its own size and nothing
13
+ * below it moves.
18
14
  *
19
- * **It goes when nobody is using it, and comes back for the keyboard.** Hidden
20
- * once a playing video has gone `idle-delay` without being touched, shown again
21
- * the moment the pointer moves, and shown whenever anything inside it has
22
- * focus, which is what keeps it reachable without a pointer. A paused video
23
- * keeps its bar, because a reader who stopped it is deciding what to do next.
15
+ * The bar hides once a playing video has gone `idle-delay` without input. It
16
+ * shows again when the pointer moves, and whenever anything inside it has
17
+ * focus, so you can reach it with the keyboard. A paused video keeps its bar.
24
18
  *
25
19
  * @since 0.1.0
26
20
  * @status stable
27
21
  * @category media
28
22
  * @documentation https://fusion.dev/helix/components/video
29
23
  *
30
- * @cssproperty --video-accent-color - The played part of the scrubber.
24
+ * @cssproperty --video-accent-color - Color of the played part of the scrubber.
31
25
  * @cssproperty --video-aspect-ratio - The shape of the box. Defaults to the
32
26
  * video's own once known, and `16 / 9` until then.
33
- * @cssproperty --video-controls-color - The ink on the bar.
34
- * @cssproperty --video-radius - The corner it is cut to.
35
- * @cssproperty --video-speed-size - How wide the playback speed control is
36
- * held, so the row does not move when the number changes.
37
- * @cssproperty --video-start-size - Width of the mark that starts it.
38
- * @cssproperty --video-well-color - Behind the picture, and in the letterbox bars.
27
+ * @cssproperty --video-controls-color - Color of the icons and text on the control bar.
28
+ * @cssproperty --video-radius - Corner radius of the player.
29
+ * @cssproperty --video-speed-size - Width of the playback speed control, fixed so the row
30
+ * does not shift when the number changes.
31
+ * @cssproperty --video-start-size - Width of the large play button.
32
+ * @cssproperty --video-well-color - Color behind the picture and in the letterbox bars.
39
33
  */
40
34
  export declare class HelixVideo extends HelixHeadlessVideo {
41
35
  /**
@@ -4,16 +4,16 @@ import type { CSSResultGroup } from 'lit';
4
4
  * @summary One entry in a video playlist.
5
5
  *
6
6
  * @description
7
- * Presentation only: the row, its thumbnail column, and the mark on the one
8
- * playing. The base class holds what the entry is and what it announces.
7
+ * Styles the row, its thumbnail column, and the marker on the playing entry.
8
+ * The base class holds the entry's data and its accessibility semantics.
9
9
  *
10
10
  * @since 0.1.0
11
11
  * @status stable
12
12
  * @category media
13
13
  * @documentation https://fusion.dev/helix/components/video-playlist
14
14
  *
15
- * @cssproperty --video-playlist-item-background-color - Fill behind a row.
16
- * @cssproperty --video-playlist-media-size - Width of the thumbnail column.
15
+ * @cssproperty --video-playlist-item-background-color - The fill behind a row.
16
+ * @cssproperty --video-playlist-media-size - The width of the thumbnail column.
17
17
  */
18
18
  export declare class HelixVideoPlaylistItem extends HelixHeadlessVideoPlaylistItem {
19
19
  static styles: CSSResultGroup;
@@ -6,21 +6,19 @@ import '../../menu/index.js';
6
6
  * @summary The playlist's entries, as a menu inside the player's control bar.
7
7
  *
8
8
  * @description
9
- * Presentation only: a control-bar button drawn like the ones beside it, and a
10
- * menu that opens over the picture rather than under it. The base class holds
11
- * where the playlist is, what the entries are, and what choosing announces.
9
+ * Styles the trigger as a control-bar button like the ones beside it, and opens
10
+ * the menu over the video. The base class holds the link to the playlist, the
11
+ * entries, and what a screen reader announces when you choose one.
12
12
  *
13
- * The trigger's declarations are `Video`'s control rule written out a second
14
- * time, which is not duplication that could be avoided. That rule is
15
- * `[part="controls"] :where(a, button)` inside `Video`'s shadow root, and this
16
- * element sits in its light DOM: a shadow rule reaches an assigned node only
17
- * through `::slotted()` and never reaches into the node's own shadow root at
18
- * all. So the button here is two boundaries away from the rule that styles
19
- * every button beside it, and the same tokens are what make the two agree.
13
+ * The trigger repeats the declarations of `Video`'s control rule,
14
+ * `[part="controls"] :where(a, button)`. That rule is inside `Video`'s shadow
15
+ * root, and this element is in its light DOM. A shadow rule reaches a slotted
16
+ * node only through `::slotted()` and never reaches into that node's own shadow
17
+ * root, so the rule cannot style this button. Shared tokens keep the two
18
+ * buttons consistent.
20
19
  *
21
- * Color is inherited rather than named, so the bar's own color arrives on
22
- * its own. `--video-playlist-menu-color` is there for the case where it should
23
- * not.
20
+ * Color is inherited from the control bar. To set a different color, use
21
+ * `--video-playlist-menu-color`.
24
22
  *
25
23
  * @since 0.1.0
26
24
  * @status stable
@@ -28,9 +26,9 @@ import '../../menu/index.js';
28
26
  * @aliases Episode Menu, Queue Menu, Up Next
29
27
  * @documentation https://fusion.dev/helix/components/video-playlist
30
28
  *
31
- * @cssproperty --video-playlist-menu-color - Color of the trigger, defaulting to the control bar's.
32
- * @cssproperty --video-playlist-menu-poster - Width of an entry's still.
33
- * @cssproperty --video-playlist-menu-size - Size of the trigger's glyph.
29
+ * @cssproperty --video-playlist-menu-color - The color of the trigger. Defaults to the control bar's color.
30
+ * @cssproperty --video-playlist-menu-poster - The width of an entry's poster image.
31
+ * @cssproperty --video-playlist-menu-size - The size of the trigger's icon.
34
32
  */
35
33
  export declare class HelixVideoPlaylistMenu extends HelixHeadlessVideoPlaylistMenu {
36
34
  static tier: string;
@@ -1,11 +1,11 @@
1
1
  import { HelixHeadlessVideoPlaylist } from '@fusion.dev/helix-headless/video-playlist';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary A set of clips and the one player they take turns in.
4
+ * @summary A list of video clips that play one after another in a single player.
5
5
  *
6
6
  * @description
7
- * Presentation only: the arrangement of the two regions and the scroller the
8
- * entries sit in. Everything about which clip is current is the base class.
7
+ * Styles the layout of the two regions and the scroller that holds the entries.
8
+ * The base class tracks which clip is current.
9
9
  *
10
10
  * @since 0.1.0
11
11
  * @status stable
@@ -13,8 +13,8 @@ import type { CSSResultGroup } from 'lit';
13
13
  * @aliases Playlist, Queue, Up next
14
14
  * @documentation https://fusion.dev/helix/components/video-playlist
15
15
  *
16
- * @cssproperty --video-playlist-layout - Columns for the player and the list.
17
- * @cssproperty --video-playlist-size - How tall the list gets before it scrolls.
16
+ * @cssproperty --video-playlist-layout - The grid columns for the player and the list.
17
+ * @cssproperty --video-playlist-size - The height the list reaches before it scrolls.
18
18
  */
19
19
  export declare class HelixVideoPlaylist extends HelixHeadlessVideoPlaylist {
20
20
  static styles: CSSResultGroup;
@@ -1,22 +1,20 @@
1
1
  import { HelixHeadlessVirtualList } from '@fusion.dev/helix-headless/virtual-list';
2
2
  import type { CSSResultGroup } from 'lit';
3
3
  /**
4
- * @summary Renders the rows of a long set that are on screen, and no others.
4
+ * @summary A list that renders only the rows of a long set that are on screen.
5
5
  *
6
6
  * @description
7
- * The styled tier adds the scrolling box's own treatment and nothing else. Rows
8
- * are the consumer's markup in the light DOM, so they are styled by the
9
- * consumer's stylesheet the way any other content is, and this must not reach
10
- * into them: a rule here for a row would be a design system styling markup it
11
- * did not write.
7
+ * The styled tier styles only the scrolling box. Rows are your markup in the
8
+ * light DOM, so your stylesheet styles them the same as any other content, and
9
+ * this tier sets no rules for them.
12
10
  *
13
11
  * @category layout
14
12
  * @since 0.1.0
15
13
  * @status stable
16
14
  * @documentation https://fusion.dev/helix/components/virtual-list
17
15
  *
18
- * @csspart after - The space standing in for rows below the window.
19
- * @csspart before - The space standing in for rows above the window.
16
+ * @csspart after - The space that stands in for the rows below the rendered ones.
17
+ * @csspart before - The space that stands in for the rows above the rendered ones.
20
18
  * @csspart viewport - The scrolling box.
21
19
  *
22
20
  * @cssproperty --virtual-list-block-size - How tall the scrolling box is.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.104.1",
4
+ "version": "0.106.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -47,13 +47,13 @@
47
47
  },
48
48
  "bugs": "https://github.com/project-fusion/fusion/issues",
49
49
  "dependencies": {
50
- "@fusion.dev/helix-core": "0.104.1",
51
- "@fusion.dev/helix-headless": "0.104.1",
52
- "@fusion.dev/helix-styles": "0.104.1"
50
+ "@fusion.dev/helix-core": "0.106.0",
51
+ "@fusion.dev/helix-headless": "0.106.0",
52
+ "@fusion.dev/helix-styles": "0.106.0"
53
53
  },
54
54
  "devDependencies": {
55
- "@fusion.dev/helix-cem": "0.104.1",
56
- "@fusion.dev/helix-testing": "0.104.1",
55
+ "@fusion.dev/helix-cem": "0.106.0",
56
+ "@fusion.dev/helix-testing": "0.106.0",
57
57
  "@fusion.dev/scripts": "0.0.0-dev",
58
58
  "@happy-dom/global-registrator": "^20.0.0",
59
59
  "@lit-labs/ssr": "^4.1.0",