@fusion.dev/helix-headless 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 (162) hide show
  1. package/custom-elements.json +7324 -3890
  2. package/dist/accordion/item/accordion-item.d.ts +17 -16
  3. package/dist/accordion/root/accordion-root.d.ts +13 -17
  4. package/dist/announcement/root/announcement-root.d.ts +24 -31
  5. package/dist/app-header/root/app-header-root.d.ts +14 -14
  6. package/dist/area-chart/root/area-chart-root.d.ts +29 -48
  7. package/dist/avatar/group/avatar-group.d.ts +6 -8
  8. package/dist/avatar/root/avatar-root.d.ts +11 -11
  9. package/dist/badge/root/badge-root.d.ts +14 -15
  10. package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
  11. package/dist/blockquote/root/blockquote-root.d.ts +5 -7
  12. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
  13. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
  14. package/dist/button/root/button-root.d.ts +16 -17
  15. package/dist/button-group/root/button-group-root.d.ts +9 -10
  16. package/dist/callout/root/callout-root.d.ts +10 -15
  17. package/dist/canvas/edge/canvas-edge.d.ts +21 -21
  18. package/dist/canvas/node/canvas-node.d.ts +43 -45
  19. package/dist/canvas/root/canvas-root.d.ts +100 -99
  20. package/dist/card/root/card-root.d.ts +10 -12
  21. package/dist/carousel/root/carousel-root.d.ts +32 -33
  22. package/dist/chat/composer/chat-composer.d.ts +24 -26
  23. package/dist/chat/message/chat-message.d.ts +30 -33
  24. package/dist/chat/root/chat-root.d.ts +63 -80
  25. package/dist/checkbox/root/checkbox-root.d.ts +30 -32
  26. package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
  27. package/dist/code/root/code-root.d.ts +6 -10
  28. package/dist/code-block/root/code-block-root.d.ts +35 -48
  29. package/dist/color-input/root/color-input-root.d.ts +52 -56
  30. package/dist/color-picker/root/color-picker-root.d.ts +49 -49
  31. package/dist/combobox/root/combobox-root.d.ts +52 -53
  32. package/dist/command/root/command-root.d.ts +35 -40
  33. package/dist/copy-button/root/copy-button-root.d.ts +24 -26
  34. package/dist/data-table/root/data-table-root.d.ts +106 -107
  35. package/dist/date-input/root/date-input-root.d.ts +54 -53
  36. package/dist/date-picker/root/date-picker-root.d.ts +25 -21
  37. package/dist/description-list/item/description-list-item.d.ts +7 -7
  38. package/dist/description-list/root/description-list-root.d.ts +10 -15
  39. package/dist/dialog/root/dialog-root.d.ts +22 -19
  40. package/dist/divider/root/divider-root.d.ts +12 -13
  41. package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
  42. package/dist/drawer/root/drawer-root.d.ts +19 -18
  43. package/dist/drilldown/item/drilldown-item.d.ts +28 -28
  44. package/dist/drilldown/root/drilldown-root.d.ts +22 -28
  45. package/dist/element-events.generated.js +7 -0
  46. package/dist/empty/root/empty-root.d.ts +16 -19
  47. package/dist/file-input/root/file-input-root.d.ts +32 -32
  48. package/dist/filter-input/chip/filter-chip.d.ts +36 -39
  49. package/dist/filter-input/field/filter-field.d.ts +25 -31
  50. package/dist/filter-input/menu/filter-menu.d.ts +50 -47
  51. package/dist/filter-input/operator/filter-operator.d.ts +15 -20
  52. package/dist/filter-input/root/filter-input-root.d.ts +80 -98
  53. package/dist/format-date/root/format-date-root.d.ts +19 -27
  54. package/dist/heatmap/root/heatmap-root.d.ts +40 -41
  55. package/dist/icon/root/icon-root.d.ts +21 -23
  56. package/dist/icon-button/root/icon-button-root.d.ts +12 -14
  57. package/dist/image/root/image-root.d.ts +30 -30
  58. package/dist/input/root/input-root.d.ts +36 -35
  59. package/dist/kbd/root/kbd-root.d.ts +13 -15
  60. package/dist/legend/root/legend-root.d.ts +18 -16
  61. package/dist/lightbox/item/lightbox-item.d.ts +13 -15
  62. package/dist/lightbox/root/lightbox-root.d.ts +40 -41
  63. package/dist/line-chart/root/line-chart-root.d.ts +20 -29
  64. package/dist/list/item/list-item.d.ts +17 -22
  65. package/dist/list/root/list-root.d.ts +6 -7
  66. package/dist/listbox/root/listbox-root.d.ts +42 -41
  67. package/dist/loader/root/loader-root.d.ts +16 -20
  68. package/dist/map/area/map-area.d.ts +6 -0
  69. package/dist/map/area/map-area.js +3 -0
  70. package/dist/map/buildings/map-buildings.d.ts +45 -0
  71. package/dist/map/buildings/map-buildings.js +37 -0
  72. package/dist/map/contours/map-contours.d.ts +61 -0
  73. package/dist/map/contours/map-contours.js +54 -0
  74. package/dist/map/index.d.ts +7 -0
  75. package/dist/map/index.js +5 -0
  76. package/dist/map/landcover/map-landcover.d.ts +47 -0
  77. package/dist/map/landcover/map-landcover.js +37 -0
  78. package/dist/map/marker/map-marker.d.ts +11 -4
  79. package/dist/map/marker/map-marker.js +13 -1
  80. package/dist/map/points/map-points.d.ts +7 -1
  81. package/dist/map/points/map-points.js +3 -0
  82. package/dist/map/raster/map-raster.d.ts +84 -0
  83. package/dist/map/raster/map-raster.js +96 -0
  84. package/dist/map/root/map-root.d.ts +169 -7
  85. package/dist/map/root/map-root.js +352 -4
  86. package/dist/map/route/map-route.d.ts +6 -0
  87. package/dist/map/route/map-route.js +3 -0
  88. package/dist/map/terrain/map-terrain.d.ts +68 -0
  89. package/dist/map/terrain/map-terrain.js +58 -0
  90. package/dist/megamenu/root/megamenu-root.d.ts +27 -25
  91. package/dist/menu/item/menu-item.d.ts +30 -31
  92. package/dist/menu/root/menu-root.d.ts +25 -29
  93. package/dist/meter/root/meter-root.d.ts +22 -21
  94. package/dist/navigation/root/navigation-root.d.ts +13 -16
  95. package/dist/notifications/group/notification-group.d.ts +27 -28
  96. package/dist/notifications/notification/notification.d.ts +35 -42
  97. package/dist/notifications/root/notifications-root.d.ts +22 -24
  98. package/dist/number-input/root/number-input-root.d.ts +46 -50
  99. package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
  100. package/dist/option/group/option-group.d.ts +11 -11
  101. package/dist/option/root/option-root.d.ts +28 -33
  102. package/dist/outline/root/outline-root.d.ts +18 -17
  103. package/dist/pagination/root/pagination-root.d.ts +37 -39
  104. package/dist/pagination/size/pagination-size.d.ts +37 -43
  105. package/dist/pagination/summary/pagination-summary.d.ts +12 -14
  106. package/dist/pin-input/root/pin-input-root.d.ts +32 -38
  107. package/dist/popover/root/popover-root.d.ts +16 -21
  108. package/dist/progress/root/progress-root.d.ts +16 -14
  109. package/dist/qr-code/root/qr-code-root.d.ts +22 -25
  110. package/dist/quote/root/quote-root.d.ts +5 -6
  111. package/dist/radio/group/radio-group.d.ts +26 -28
  112. package/dist/radio/root/radio-root.d.ts +24 -28
  113. package/dist/rating/root/rating-root.d.ts +27 -30
  114. package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
  115. package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
  116. package/dist/select/root/select-root.d.ts +41 -44
  117. package/dist/skeleton/root/skeleton-root.d.ts +7 -8
  118. package/dist/skip-link/root/skip-link-root.d.ts +21 -28
  119. package/dist/slider/root/slider-root.d.ts +36 -39
  120. package/dist/sparkline/root/sparkline-root.d.ts +22 -28
  121. package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
  122. package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
  123. package/dist/splitter/root/splitter-root.d.ts +37 -41
  124. package/dist/stat/group/stat-group.d.ts +4 -4
  125. package/dist/stat/root/stat-root.d.ts +8 -9
  126. package/dist/steps/root/steps-root.d.ts +11 -14
  127. package/dist/steps/step/step.d.ts +22 -29
  128. package/dist/switch/root/switch-root.d.ts +20 -24
  129. package/dist/table/cell/table-cell.d.ts +18 -8
  130. package/dist/table/cell/table-cell.js +5 -1
  131. package/dist/table/column/table-column.d.ts +62 -55
  132. package/dist/table/root/table-root.d.ts +16 -17
  133. package/dist/table/row/table-row.d.ts +3 -3
  134. package/dist/tabs/panel/tab-panel.d.ts +3 -3
  135. package/dist/tabs/root/tabs-root.d.ts +19 -17
  136. package/dist/tabs/tab/tab.d.ts +6 -6
  137. package/dist/tag/root/tag-root.d.ts +11 -12
  138. package/dist/textarea/root/textarea-root.d.ts +29 -32
  139. package/dist/time-input/root/time-input-root.d.ts +70 -69
  140. package/dist/time-picker/root/time-picker-root.d.ts +58 -66
  141. package/dist/timeline/item/timeline-item.d.ts +18 -24
  142. package/dist/timeline/root/timeline-root.d.ts +13 -21
  143. package/dist/toast/item/toast-item.d.ts +21 -22
  144. package/dist/toast/root/toast-root.d.ts +18 -23
  145. package/dist/toggle/group/toggle-group.d.ts +23 -25
  146. package/dist/toggle/root/toggle-root.d.ts +8 -8
  147. package/dist/toolbar/root/toolbar-root.d.ts +7 -10
  148. package/dist/tooltip/root/tooltip-root.d.ts +41 -47
  149. package/dist/tour/root/tour-root.d.ts +24 -26
  150. package/dist/tour/stop/tour-stop.d.ts +39 -48
  151. package/dist/tree/item/tree-item.d.ts +23 -25
  152. package/dist/tree/root/tree-root.d.ts +13 -12
  153. package/dist/trend/root/trend-root.d.ts +18 -19
  154. package/dist/video/root/video-root.d.ts +108 -101
  155. package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
  156. package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
  157. package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
  158. package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
  159. package/package.json +5 -5
  160. package/types/jsx.d.ts +10363 -9520
  161. package/types/svelte.d.ts +5 -0
  162. package/types/vue.d.ts +1440 -1032
@@ -1,20 +1,22 @@
1
1
  import { HelixElement, SourceController } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary The names a chart draws, each beside the color it is drawn in.
4
+ * @summary A list of the series in a chart, each name beside the color it is drawn in.
5
5
  *
6
6
  * @description
7
- * A legend is a list, so it is a list: not part of a chart, and shared by
8
- * whichever of them needs one. It takes its entries from the same table the
9
- * chart reads, through `for`, so the two cannot disagree.
7
+ * Renders a legend as a list, separate from any chart, so any chart can use
8
+ * one. Set `for` to the table the chart reads, and the legend takes its entries
9
+ * from that table, so the two always match.
10
10
  *
11
- * `entries` picks which way to read that table. `series` is one entry per data
12
- * column, named by the header row, which is a line or a bar chart.
13
- * `categories` is one entry per body row, which is a donut: its slices are the
14
- * rows and it has no axis to write their names along. `measures` drops the
15
- * first data column, which is a scatter.
11
+ * `entries` sets how the table is read:
16
12
  *
17
- * **The table is resolved on the client and there is no server pass.**
13
+ * - `series`: one entry per data column, named by the header row. Use it for a
14
+ * line or bar chart.
15
+ * - `categories`: one entry per body row. Use it for a donut, whose slices are
16
+ * the rows and which has no axis to name them on.
17
+ * - `measures`: drops the first data column. Use it for a scatter.
18
+ *
19
+ * The table is resolved on the client. There is no server pass.
18
20
  *
19
21
  * @since 0.1.0
20
22
  * @status stable
@@ -22,16 +24,16 @@ import { type PropertyValues, type TemplateResult } from 'lit';
22
24
  * @aliases Key, Series Key
23
25
  * @documentation https://fusion.dev/helix/components/legend
24
26
  *
25
- * @csspart entry - One name and its swatch. The swatch is drawn on the entry,
26
- * which is `::part(entry)::before` from a consumer's sheet: the series is
27
- * already on the entry as `--chart-series`, so a box would have carried nothing,
28
- * and this tier ships no CSS.
29
- * @csspart list - The list itself.
27
+ * @csspart entry - One name and its swatch. Draw the swatch with
28
+ * `::part(entry)::before` in your stylesheet. The entry holds its series color
29
+ * as `--chart-series`, and this tier ships no CSS.
30
+ * @csspart list - The list of entries.
30
31
  * @csspart name - One series name.
31
32
  */
32
33
  export declare class HelixHeadlessLegend extends HelixElement {
33
34
  /**
34
- * Which way to read the table.
35
+ * How the entries are read from the table: `series`, `categories`, or
36
+ * `measures`.
35
37
  *
36
38
  * Absent is `series`, one entry per data column. `categories` reads one entry
37
39
  * per body row instead, for a donut, whose slices are the rows.
@@ -1,18 +1,16 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary One thing a lightbox can show.
4
+ * @summary One item a lightbox can show, such as a picture, a video frame, or a chart.
5
5
  *
6
6
  * @description
7
- * A wrapper around whatever the consumer opened, which is the whole of what it
8
- * is: a picture, a frame of video, a chart. The family shows one at a time and
9
- * this is how it says which, so the content stays the consumer's and the
10
- * arithmetic stays the root's.
7
+ * Wraps one piece of content in the lightbox, such as a picture, a video frame,
8
+ * or a chart. The lightbox shows one item at a time, and the root decides
9
+ * which.
11
10
  *
12
- * Hidden rather than unmounted while another item is current, for the reason
13
- * `TabPanel` gives: what is in the markup is what a crawler reads and what a
14
- * server sent, and an `<img>` that has already decoded does not decode again
15
- * when the reader walks back to it.
11
+ * An item that is not current is hidden and stays in the DOM, as a `TabPanel`
12
+ * does. Crawlers can read it, it is in the server-rendered markup, and an
13
+ * `<img>` that has decoded does not decode again when you go back to it.
16
14
  *
17
15
  * @since 0.100.0
18
16
  * @status stable
@@ -20,26 +18,26 @@ import { type PropertyValues, type TemplateResult } from 'lit';
20
18
  * @aliases LightboxSlide, GalleryItem
21
19
  * @documentation https://fusion.dev/helix/components/lightbox
22
20
  *
23
- * @slot - What is being shown.
24
- * @slot description - A line under it saying what it is.
21
+ * @slot - The content to show.
22
+ * @slot description - A line under the content that describes it.
25
23
  *
26
24
  * @csspart item - The box the content is shown in.
27
25
  *
28
- * @cssstate current - While this is the item the lightbox is showing.
26
+ * @cssstate current - The item the lightbox is showing.
29
27
  */
30
28
  export declare class HelixHeadlessLightboxItem extends HelixElement {
31
29
  /**
32
- * Whether this is the one being shown.
30
+ * Whether this item is the one shown.
33
31
  *
34
32
  * Written by the root, which is the only thing that sees the set.
35
33
  */
36
34
  current: boolean;
37
35
  /**
38
- * What this item is called, for the reading that says where the reader is.
36
+ * The item's name, used in the status text that says which item is shown.
39
37
  */
40
38
  label: string;
41
39
  /**
42
- * What names this item, and what `active` on the root is compared against.
40
+ * The item's identifier. The root compares its `active` value against it.
43
41
  */
44
42
  value: string;
45
43
  /**
@@ -2,33 +2,25 @@ import { CommandController, HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  declare const HelixHeadlessLightbox_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerActiveInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & typeof HelixElement;
4
4
  /**
5
- * @summary A viewer that opens one thing over the page.
5
+ * @summary A viewer that shows one item at a time over the page.
6
6
  *
7
7
  * @description
8
- * **A lightbox is chrome around a picture rather than a picture.** It draws
9
- * nothing of its own: what it shows is whatever the consumer opened, so this
10
- * earns its place on the frame, the keyboard and the reading that says where in
11
- * the set the reader is.
8
+ * The frame around content you open, such as a picture, a video frame, or a
9
+ * chart. The lightbox draws no content of its own. It provides the frame, the
10
+ * keyboard behavior, and text that states the current position in the set.
12
11
  *
13
- * **The modal half is the platform's.** A real `<dialog>` opened with
14
- * `showModal()` brings the top layer, a backdrop, Escape and `inert` behind it,
15
- * and this repository has already removed one hand-written focus trap for being
16
- * worse than that: `inert` on the rest of the document is something no
17
- * JavaScript trap can achieve. Every way it can close comes back through
18
- * `requestOpen`, which is what `Dialog` and `Drawer` both do and for the reason
19
- * they both give.
12
+ * The modal behavior comes from a native `<dialog>` opened with `showModal()`,
13
+ * which provides the top layer, a backdrop, Escape to close, and `inert` on the
14
+ * rest of the document. Every way of closing goes through `requestOpen`, as in
15
+ * `Dialog` and `Drawer`.
20
16
  *
21
- * **The set is this component's own and not `Carousel`'s.** A carousel is a
22
- * track: a scroller with snap points, per-view arithmetic and stops it can rest
23
- * between. A lightbox shows one thing at a time and has no track, so what it
24
- * needs is which item is current, which is `active` and the same pair `Tabs`
25
- * uses. The arrow keys move the picture under a reader whose focus stays in the
26
- * dialog, which is also why `KeyboardNavigationController` is not the right
27
- * tool: that one moves focus between focusable items, and these are pictures.
17
+ * A lightbox shows one item at a time and has no scrolling track, so `active`
18
+ * holds the current item, as in `Tabs`. The arrow keys change the item while
19
+ * focus stays in the dialog.
28
20
  *
29
- * **Chrome hides while the reader is still**, on `IdleController`, and comes
30
- * back on a pointer move or a focus. `fullscreen` is `FullscreenController`, the
31
- * same pair `Video` holds and the only two it shares.
21
+ * The chrome hides when there is no input, through `IdleController`, and comes
22
+ * back on a pointer move or a focus. `fullscreen` uses `FullscreenController`,
23
+ * as `Video` does.
32
24
  *
33
25
  * @since 0.100.0
34
26
  * @status stable
@@ -37,27 +29,28 @@ declare const HelixHeadlessLightbox_base: (new (...args: any[]) => import("@fusi
37
29
  * @documentation https://fusion.dev/helix/components/lightbox
38
30
  *
39
31
  * @slot - The items, which are `<helix-headless-lightbox-item>` elements.
40
- * @slot footer - Chrome below the item, such as a counter or a thumbnail strip.
41
- * @slot header - Chrome above the item, such as a title and a close button.
32
+ * @slot footer - Content below the item, such as a counter or a thumbnail strip.
33
+ * @slot header - Content above the item, such as a title and a close button.
42
34
  *
43
- * @event {Event} close - Relayed, because the platform's own does not escape.
44
- * @event {HelixActivateEvent} helix-activate - Fired once the shown item has moved, so the element already holds it.
45
- * @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the shown item changes, and cancelable. The only way to refuse one.
46
- * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
47
- * @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
48
- * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
35
+ * @event {Event} close - Fired when the viewer closes. The component dispatches it again from the host, because the dialog's own event does not leave the shadow root.
36
+ * @event {HelixActivateEvent} helix-activate - Fired after the shown item changes, when the element already holds the new item.
37
+ * @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the shown item changes. Cancelable: cancel it to keep the current item. It is the only way to stop the change.
38
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before the viewer closes. Cancelable.
39
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the viewer opens. Cancelable.
40
+ * @event {Event} toggle - Fired when the viewer opens or closes, with `newState` and `oldState`.
49
41
  *
50
42
  * @csspart dialog - The native dialog element.
51
- * @csspart live - The region that says which item is shown.
43
+ * @csspart live - The live region that announces which item is shown.
52
44
  * @csspart viewport - The box the current item is shown in.
53
45
  *
54
46
  * @cssstate fullscreen - While the viewer fills the screen.
55
- * @cssstate idle - While the reader has been still long enough to hide the chrome.
47
+ * @cssstate idle - The user has been still long enough for the controls to hide.
56
48
  * @cssstate open - While the viewer is open.
57
49
  */
58
50
  export declare class HelixHeadlessLightbox extends HelixHeadlessLightbox_base {
59
51
  /**
60
- * How long the reader may be still before the chrome hides, in milliseconds.
52
+ * How long the user can be idle before the header and footer hide, in
53
+ * milliseconds.
61
54
  *
62
55
  * Zero keeps it up, which is what a viewer with a caption worth reading
63
56
  * wants. The wait is only ever about idling: whether anything else should
@@ -65,16 +58,16 @@ export declare class HelixHeadlessLightbox extends HelixHeadlessLightbox_base {
65
58
  */
66
59
  idleDelay: number;
67
60
  /**
68
- * Accessible name for the viewer.
61
+ * The viewer's name, read by screen readers.
69
62
  */
70
63
  label: string;
71
64
  /**
72
- * Whether walking past the end comes back to the beginning.
65
+ * Whether moving past the last item returns to the first.
73
66
  */
74
67
  loop: boolean;
75
68
  /**
76
- * The reading that says where in the set the reader is, with `{index}` and
77
- * `{count}` filled in.
69
+ * The status text that says which item is shown, with `{index}` and `{count}`
70
+ * filled in.
78
71
  *
79
72
  * Announced rather than only drawn, because the picture changing under a
80
73
  * reader who cannot see it is otherwise silent. A consumer who has their own
@@ -102,13 +95,19 @@ export declare class HelixHeadlessLightbox extends HelixHeadlessLightbox_base {
102
95
  private get dialog();
103
96
  /** Opens the viewer, which makes the rest of the page inert. */
104
97
  show(): void;
105
- /** Asks to close, which a consumer may refuse. */
98
+ /** Closes the viewer, unless a `helix-before-close` listener cancels it. */
106
99
  close(): void;
107
- /** Shows the next item, or the first where it is past the end and looping. */
100
+ /**
101
+ * Shows the next item. After the last item, it shows the first when `loop`
102
+ * is set.
103
+ */
108
104
  next(): void;
109
- /** Shows the previous item, or the last where it is past the start and looping. */
105
+ /**
106
+ * Shows the previous item. Before the first item, it shows the last when
107
+ * `loop` is set.
108
+ */
110
109
  previous(): void;
111
- /** Fills the screen with the viewer, or comes back. */
110
+ /** Makes the viewer fill the screen, or exits fullscreen. */
112
111
  toggleFullscreen(): void;
113
112
  /**
114
113
  * Moves the shown item, through `requestActive` so a consumer can refuse.
@@ -3,37 +3,28 @@ import { nothing, type TemplateResult } from 'lit';
3
3
  import '../../tooltip/index.js';
4
4
  declare const HelixHeadlessLineChart_base: typeof HelixElement & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinChartSourceInterface);
5
5
  /**
6
- * @summary A series over time as a line, read from a table.
6
+ * @summary A chart that draws series over time as lines, read from a table.
7
7
  *
8
8
  * @description
9
- * The chart for a shape rather than for a quantity, which is what decides the
10
- * one thing a bar chart is not allowed to do.
9
+ * A line chart shows the shape of each series: where the readings went.
11
10
  *
12
- * **It measures from its own range and not from zero, deliberately.** `BarChart`
13
- * refuses that switch because a bar's length *is* its value, so a baseline
14
- * anywhere else makes the lengths proportional to nothing. A line claims no
15
- * such thing: it says where the readings went, and forcing zero into the range
16
- * of a series that moves between 980 and 1020 flattens the entire shape into a
17
- * rule across the top of the box. The two rules are opposite because the two
18
- * charts answer opposite questions, and `zero` is here for the case where the
19
- * distance from nothing is the point.
11
+ * The scale covers the range of the data. Including zero in the range of a
12
+ * series that moves between 980 and 1020 would flatten the line into a rule
13
+ * across the top of the box. `BarChart` always starts at zero, because a bar's
14
+ * length is its value. Set `zero` when the distance from zero is the point.
20
15
  *
21
- * **One scale across every series**, the same as the bar chart, because two
22
- * series drawn to different scales are two charts sharing a picture.
16
+ * Every series shares one scale, as in the bar chart.
23
17
  *
24
- * **Not the chart for a total made of parts.** `area` washes each series from
25
- * the floor on its own, so they overlap; `Area Chart` stacks them, so the top
26
- * edge is the total and each band is a share. A line chart answers how each
27
- * series moved, an area chart how the whole is made up.
18
+ * `area` fills each series down to the floor on its own, so the fills overlap.
19
+ * For a total made of parts, use `Area Chart`, which stacks the series so the
20
+ * top edge is the total and each band is a share.
28
21
  *
29
- * **The labels are HTML beside the drawing rather than `<text>` inside it**, for
30
- * the reason `BarChart` records: an `<svg>` that fills its box scales its type
31
- * with everything else, the same `font-size` arriving at 10px in a narrow chart
32
- * and 43px in a wide one, and there is no non-scaling-font to answer it the way
33
- * `vector-effect` answers strokes.
22
+ * The labels are HTML beside the drawing, as in `BarChart`. Text inside an
23
+ * `<svg>` that fills its box scales with the box, so the same `font-size` can
24
+ * render at 10px in a narrow chart and 43px in a wide one.
34
25
  *
35
- * The table is the accessible representation and this drawing is `aria-hidden`.
36
- * A reader who wants the numbers gets the numbers, not a described picture.
26
+ * The table is the accessible representation, and the drawing is `aria-hidden`.
27
+ * Screen reader users get the numbers.
37
28
  *
38
29
  * @since 0.1.0
39
30
  * @status stable
@@ -42,13 +33,13 @@ declare const HelixHeadlessLineChart_base: typeof HelixElement & (new (...args:
42
33
  * @documentation https://fusion.dev/helix/components/line-chart
43
34
  *
44
35
  * @csspart area - The wash under one line, where `area` is set.
45
- * @csspart band - The slot the pointer is resting in.
36
+ * @csspart band - The band around the reading under the pointer.
46
37
  * @csspart baseline - The rule at zero, where zero is inside the range.
47
38
  * @csspart gridline - One rule across the plot, under `gridlines`.
48
39
  * @csspart guide - A rule down the reading a pointer is resting on.
49
40
  * @csspart label - One reading's name.
50
41
  * @csspart labels - The row of reading names.
51
- * @csspart line - One series.
42
+ * @csspart line - The line for one series.
52
43
  * @csspart mark - The invisible point the tooltip is anchored to.
53
44
  * @csspart plot - The drawing.
54
45
  * @csspart svg - The drawing surface the lines and areas sit on.
@@ -74,8 +65,8 @@ declare const HelixHeadlessLineChart_base: typeof HelixElement & (new (...args:
74
65
  */
75
66
  export declare class HelixHeadlessLineChart extends HelixHeadlessLineChart_base {
76
67
  /**
77
- * Whether a wash is drawn under each line, each from the floor on its own.
78
- * The washes overlap rather than add up: for parts that make a total, use
68
+ * Draws a wash under each line, down to the floor of the plot. The washes
69
+ * overlap and do not add up, so for parts that make a total, use
79
70
  * `Area Chart`, which stacks them.
80
71
  *
81
72
  * Absent is lines alone, which is what suits more than one series: washes
@@ -174,7 +165,7 @@ export declare class HelixHeadlessLineChart extends HelixHeadlessLineChart_base
174
165
  /** The domain every series is drawn against, which the tooltip also needs. */
175
166
  private range;
176
167
  /**
177
- * Whether zero is forced into the range.
168
+ * Whether the range always includes zero.
178
169
  *
179
170
  * Absent measures from the data's own extent, which is what a line is for.
180
171
  * Set it where the distance from nothing is the point rather than the shape,
@@ -4,26 +4,21 @@ import { nothing, type PropertyValues, type TemplateResult } from 'lit';
4
4
  * @summary One row of a list.
5
5
  *
6
6
  * @description
7
- * Layout and semantics, and deliberately not a target.
7
+ * Provides layout and semantics. The row is a target only when you set `href`.
8
8
  *
9
- * **`href` makes the row itself the link.** A whole-row target needs the anchor
10
- * to wrap the layout, which a *consumer's* anchor cannot do for slots it does not
11
- * own. The component's can: an `<a part="row">` wraps this component's own layout
12
- * perfectly well, which is what `Tree.Item` does.
9
+ * **`href` makes the whole row a link.** The component wraps its own layout in
10
+ * an `<a part="row">`, as `Tree.Item` does. An anchor of your own cannot wrap
11
+ * slots it does not own. With the anchor, the whole row is a target, Enter
12
+ * follows it, middle click opens a new tab, the status bar shows the
13
+ * destination, and all of it works before JavaScript runs.
13
14
  *
14
- * What the anchor buys is what the row could not fake: the whole row is a
15
- * target, Enter follows it, middle click opens a tab, the status bar shows the
16
- * destination, and it all works before any JavaScript runs.
15
+ * Client-side routing needs your own handling. A router cannot render its
16
+ * anchor inside the shadow root, so to navigate without a page load, intercept
17
+ * the click: the anchor is in `composedPath()`. Handle only a plain primary
18
+ * click, so native gestures keep working.
17
19
  *
18
- * What it costs is client-side routing, and that is the consumer's to restore.
19
- * A router renders its own anchor and cannot render one inside this shadow
20
- * root, so a framework wanting a soft navigation intercepts the click on the
21
- * way out: the anchor is in `composedPath()`, and taking only a plain primary
22
- * press leaves every native gesture alone.
23
- *
24
- * **`data-list-item` is still the answer for a row that is not a destination.**
25
- * A list row is often a container of controls rather than a place to go, and a
26
- * row with `href` unset behaves exactly as it always did.
20
+ * **For a row that holds controls and is not a destination, use
21
+ * `data-list-item`.** With `href` unset, the row is not a link.
27
22
  *
28
23
  * @since 0.1.0
29
24
  * @status stable
@@ -35,11 +30,11 @@ import { nothing, type PropertyValues, type TemplateResult } from 'lit';
35
30
  * @slot end - Trailing content.
36
31
  * @slot start - Leading content, usually an icon or an avatar.
37
32
  *
38
- * @csspart row - The layout, held off the host so the host can carry a marker.
33
+ * @csspart row - The row's layout. It sits inside the host so the host can carry a list marker.
39
34
  */
40
35
  export declare class HelixHeadlessListItem extends HelixElement {
41
36
  /**
42
- * Where the row goes, and nothing when it goes nowhere.
37
+ * The URL the row links to. Leave it empty for a row that is not a link.
43
38
  *
44
39
  * Empty rather than optional, and unset by default: a list is not always a
45
40
  * list of links, and an empty `href` written onto every row would be a link
@@ -47,12 +42,12 @@ export declare class HelixHeadlessListItem extends HelixElement {
47
42
  */
48
43
  href: string;
49
44
  /**
50
- * What the link declares about where it goes. The consumer's decision rather
51
- * than one derived from `target`, for the reason `Tree.Item` gives.
45
+ * The link's `rel` value. You set it yourself. It is not derived from
46
+ * `target`, for the reason `Tree.Item` gives.
52
47
  */
53
48
  rel: string;
54
49
  /**
55
- * Where the link opens, for the rare row that leaves the site.
50
+ * Where the link opens. Use it for a row that leaves the site.
56
51
  */
57
52
  target: string;
58
53
  protected willUpdate(changed: PropertyValues): void;
@@ -1,12 +1,11 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary A set of rows, read as a set.
4
+ * @summary A set of rows, announced as a list.
5
5
  *
6
6
  * @description
7
- * `role="list"` on the host, so the rows are counted and announced as "1 of 7"
8
- * rather than as seven unrelated passages. That count is the whole reason to
9
- * use a list rather than a stack of divs.
7
+ * Sets `role="list"` on the host, so a screen reader counts the rows and
8
+ * announces each one's position, such as "1 of 7".
10
9
  *
11
10
  * @since 0.1.0
12
11
  * @status stable
@@ -18,7 +17,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
18
17
  */
19
18
  export declare class HelixHeadlessList extends HelixElement {
20
19
  /**
21
- * What kind of list this is, which is a fact about the content.
20
+ * The kind of list, which follows from the content.
22
21
  *
23
22
  * On the headless tier because it is meaning rather than decoration, the same
24
23
  * argument `severity` makes on `Callout`. A numbered list is numbered because
@@ -41,11 +40,11 @@ export declare class HelixHeadlessList extends HelixElement {
41
40
  */
42
41
  kind?: 'default' | 'description' | 'ordered' | 'unordered';
43
42
  /**
44
- * Accessible name for the set.
43
+ * The list's name, read by screen readers.
45
44
  */
46
45
  label: string;
47
46
  /**
48
- * Which markers an ordered list draws, in `<ol type>`'s own five values.
47
+ * The markers an ordered list draws. It takes the five values of `<ol type>`.
49
48
  *
50
49
  * Reflected, because this is one of the things a stylesheet selects on, each
51
50
  * value mapping to a `list-style-type`. The platform's spellings rather than