@fusion.dev/helix-headless 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.
- package/custom-elements.json +10386 -3813
- package/dist/accordion/item/accordion-item.d.ts +17 -16
- package/dist/accordion/root/accordion-root.d.ts +13 -17
- package/dist/announcement/root/announcement-root.d.ts +24 -31
- package/dist/app-header/root/app-header-root.d.ts +14 -14
- package/dist/area-chart/root/area-chart-root.d.ts +29 -48
- package/dist/avatar/group/avatar-group.d.ts +6 -8
- package/dist/avatar/root/avatar-root.d.ts +11 -11
- package/dist/badge/root/badge-root.d.ts +14 -15
- package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
- package/dist/blockquote/root/blockquote-root.d.ts +5 -7
- package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
- package/dist/button/root/button-root.d.ts +16 -17
- package/dist/button-group/root/button-group-root.d.ts +9 -10
- package/dist/callout/root/callout-root.d.ts +10 -15
- package/dist/canvas/edge/canvas-edge.d.ts +21 -21
- package/dist/canvas/node/canvas-node.d.ts +43 -45
- package/dist/canvas/root/canvas-root.d.ts +100 -99
- package/dist/card/root/card-root.d.ts +10 -12
- package/dist/carousel/root/carousel-root.d.ts +32 -33
- package/dist/chat/composer/chat-composer.d.ts +24 -26
- package/dist/chat/message/chat-message.d.ts +30 -33
- package/dist/chat/root/chat-root.d.ts +63 -80
- package/dist/checkbox/root/checkbox-root.d.ts +30 -32
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
- package/dist/code/root/code-root.d.ts +6 -10
- package/dist/code-block/root/code-block-root.d.ts +35 -48
- package/dist/color-input/root/color-input-root.d.ts +62 -56
- package/dist/color-input/root/color-input-root.js +3 -0
- package/dist/color-picker/root/color-picker-root.d.ts +61 -49
- package/dist/color-picker/root/color-picker-root.js +4 -0
- package/dist/combobox/root/combobox-root.d.ts +52 -53
- package/dist/command/root/command-root.d.ts +40 -40
- package/dist/command/root/command-root.js +1 -0
- package/dist/copy-button/root/copy-button-root.d.ts +24 -26
- package/dist/data-table/root/data-table-root.d.ts +106 -107
- package/dist/date-input/root/date-input-root.d.ts +54 -53
- package/dist/date-picker/root/date-picker-root.d.ts +25 -21
- package/dist/description-list/item/description-list-item.d.ts +7 -7
- package/dist/description-list/root/description-list-root.d.ts +10 -15
- package/dist/dialog/root/dialog-root.d.ts +22 -19
- package/dist/divider/root/divider-root.d.ts +12 -13
- package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
- package/dist/drawer/root/drawer-root.d.ts +19 -18
- package/dist/drilldown/item/drilldown-item.d.ts +28 -28
- package/dist/drilldown/root/drilldown-root.d.ts +22 -28
- package/dist/element-events.generated.js +19 -1
- package/dist/empty/root/empty-root.d.ts +16 -19
- package/dist/file-input/root/file-input-root.d.ts +32 -32
- package/dist/filter-input/chip/filter-chip.d.ts +36 -39
- package/dist/filter-input/field/filter-field.d.ts +25 -31
- package/dist/filter-input/menu/filter-menu.d.ts +50 -47
- package/dist/filter-input/operator/filter-operator.d.ts +15 -20
- package/dist/filter-input/root/filter-input-root.d.ts +80 -98
- package/dist/format-date/root/format-date-root.d.ts +19 -27
- package/dist/heatmap/root/heatmap-root.d.ts +40 -41
- package/dist/icon/root/icon-root.d.ts +21 -23
- package/dist/icon-button/root/icon-button-root.d.ts +12 -14
- package/dist/image/root/image-root.d.ts +30 -30
- package/dist/input/root/input-root.d.ts +36 -35
- package/dist/kbd/root/kbd-root.d.ts +13 -15
- package/dist/legend/root/legend-root.d.ts +18 -16
- package/dist/lightbox/item/lightbox-item.d.ts +13 -15
- package/dist/lightbox/root/lightbox-root.d.ts +40 -41
- package/dist/line-chart/root/line-chart-root.d.ts +20 -29
- package/dist/list/item/list-item.d.ts +17 -22
- package/dist/list/root/list-root.d.ts +6 -7
- package/dist/listbox/root/listbox-root.d.ts +42 -41
- package/dist/loader/root/loader-root.d.ts +16 -20
- package/dist/map/area/map-area.d.ts +48 -0
- package/dist/map/area/map-area.js +40 -0
- package/dist/map/buildings/map-buildings.d.ts +45 -0
- package/dist/map/buildings/map-buildings.js +37 -0
- package/dist/map/contours/map-contours.d.ts +61 -0
- package/dist/map/contours/map-contours.js +54 -0
- package/dist/map/index.d.ts +14 -0
- package/dist/map/index.js +10 -0
- package/dist/map/landcover/map-landcover.d.ts +47 -0
- package/dist/map/landcover/map-landcover.js +37 -0
- package/dist/map/marker/map-marker.d.ts +120 -0
- package/dist/map/marker/map-marker.js +109 -0
- package/dist/map/points/map-points.d.ts +139 -0
- package/dist/map/points/map-points.js +161 -0
- package/dist/map/position/map-position.d.ts +70 -0
- package/dist/map/position/map-position.js +89 -0
- package/dist/map/raster/map-raster.d.ts +84 -0
- package/dist/map/raster/map-raster.js +96 -0
- package/dist/map/root/map-root.d.ts +269 -52
- package/dist/map/root/map-root.js +473 -5
- package/dist/map/route/map-route.d.ts +73 -0
- package/dist/map/route/map-route.js +52 -0
- package/dist/map/terrain/map-terrain.d.ts +68 -0
- package/dist/map/terrain/map-terrain.js +58 -0
- package/dist/megamenu/root/megamenu-root.d.ts +27 -25
- package/dist/menu/item/menu-item.d.ts +30 -31
- package/dist/menu/root/menu-root.d.ts +25 -29
- package/dist/meter/root/meter-root.d.ts +22 -21
- package/dist/navigation/root/navigation-root.d.ts +13 -16
- package/dist/notifications/group/notification-group.d.ts +27 -28
- package/dist/notifications/notification/notification.d.ts +35 -42
- package/dist/notifications/root/notifications-root.d.ts +22 -24
- package/dist/number-input/root/number-input-root.d.ts +46 -50
- package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
- package/dist/option/group/option-group.d.ts +11 -11
- package/dist/option/root/option-root.d.ts +28 -33
- package/dist/outline/root/outline-root.d.ts +18 -17
- package/dist/pagination/root/pagination-root.d.ts +37 -39
- package/dist/pagination/size/pagination-size.d.ts +37 -43
- package/dist/pagination/summary/pagination-summary.d.ts +12 -14
- package/dist/pin-input/root/pin-input-root.d.ts +32 -38
- package/dist/popover/root/popover-root.d.ts +16 -21
- package/dist/progress/root/progress-root.d.ts +16 -14
- package/dist/qr-code/root/qr-code-root.d.ts +22 -25
- package/dist/quote/root/quote-root.d.ts +5 -6
- package/dist/radio/group/radio-group.d.ts +26 -28
- package/dist/radio/root/radio-root.d.ts +24 -28
- package/dist/rating/root/rating-root.d.ts +27 -30
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
- package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
- package/dist/select/root/select-root.d.ts +41 -44
- package/dist/skeleton/root/skeleton-root.d.ts +7 -8
- package/dist/skip-link/root/skip-link-root.d.ts +21 -28
- package/dist/slider/root/slider-root.d.ts +36 -39
- package/dist/sparkline/root/sparkline-root.d.ts +22 -28
- package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
- package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
- package/dist/splitter/root/splitter-root.d.ts +37 -41
- package/dist/stat/group/stat-group.d.ts +4 -4
- package/dist/stat/root/stat-root.d.ts +8 -9
- package/dist/steps/root/steps-root.d.ts +11 -14
- package/dist/steps/step/step.d.ts +22 -29
- package/dist/switch/root/switch-root.d.ts +20 -24
- package/dist/table/cell/table-cell.d.ts +18 -8
- package/dist/table/cell/table-cell.js +5 -1
- package/dist/table/column/table-column.d.ts +62 -55
- package/dist/table/root/table-root.d.ts +16 -17
- package/dist/table/row/table-row.d.ts +3 -3
- package/dist/tabs/panel/tab-panel.d.ts +3 -3
- package/dist/tabs/root/tabs-root.d.ts +19 -17
- package/dist/tabs/tab/tab.d.ts +6 -6
- package/dist/tag/root/tag-root.d.ts +11 -12
- package/dist/textarea/root/textarea-root.d.ts +29 -32
- package/dist/time-input/root/time-input-root.d.ts +70 -69
- package/dist/time-picker/root/time-picker-root.d.ts +58 -66
- package/dist/timeline/item/timeline-item.d.ts +18 -24
- package/dist/timeline/root/timeline-root.d.ts +13 -21
- package/dist/toast/item/toast-item.d.ts +21 -22
- package/dist/toast/root/toast-root.d.ts +18 -23
- package/dist/toggle/group/toggle-group.d.ts +23 -25
- package/dist/toggle/root/toggle-root.d.ts +8 -8
- package/dist/toolbar/root/toolbar-root.d.ts +7 -10
- package/dist/tooltip/root/tooltip-root.d.ts +41 -47
- package/dist/tour/root/tour-root.d.ts +24 -26
- package/dist/tour/stop/tour-stop.d.ts +39 -48
- package/dist/tree/item/tree-item.d.ts +23 -25
- package/dist/tree/root/tree-root.d.ts +13 -12
- package/dist/trend/root/trend-root.d.ts +18 -19
- package/dist/video/root/video-root.d.ts +108 -101
- package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
- package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
- package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
- package/package.json +5 -5
- package/types/jsx.d.ts +14011 -11983
- package/types/svelte.d.ts +10 -0
- package/types/vue.d.ts +2143 -1497
|
@@ -2,67 +2,58 @@ import { HelixElement, type Placement } from '@fusion.dev/helix-core';
|
|
|
2
2
|
import type { PropertyValues, TemplateResult } from 'lit';
|
|
3
3
|
import '../../button/index.js';
|
|
4
4
|
/**
|
|
5
|
-
* @summary One stop on a tour:
|
|
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
|
-
* A stop names
|
|
9
|
-
*
|
|
10
|
-
* tour abstracts the three things that are genuinely hard, and the words are
|
|
11
|
-
* the consumer's.
|
|
8
|
+
* A stop names its target with `for` and holds the content you put in it. The
|
|
9
|
+
* stop handles three things:
|
|
12
10
|
*
|
|
13
|
-
*
|
|
11
|
+
* - **Placement.** The panel is anchored to the target by the same floating
|
|
12
|
+
* positioning as the other Helix overlays.
|
|
13
|
+
* - **Stacking.** The panel is a popover, so it is in the top layer and shows
|
|
14
|
+
* above dialogs, scrolling regions, and other stacking contexts.
|
|
15
|
+
* - **Visibility.** The stop shows when it is `current`, which the root sets.
|
|
14
16
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* - **That it is on top.** A popover, so it is in the top layer. A tour points
|
|
18
|
-
* at things inside dialogs, inside scrollers, inside anything with a stacking
|
|
19
|
-
* context, and a panel in the ordinary flow loses to all three.
|
|
20
|
-
* - **When it shows.** Which is `current`, and which the root decides.
|
|
17
|
+
* Put any content in the stop, such as a `Card`, or a heading and a line of
|
|
18
|
+
* text. There are no fixed title or body parts.
|
|
21
19
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* allowed to say.
|
|
20
|
+
* **The buttons are slot fallback.** With nothing in the `actions` slot, you
|
|
21
|
+
* get Back, Next, and Skip, already wired. Slot your own `actions` and drive
|
|
22
|
+
* them with `next()`, `back()`, and `skip()` on the root.
|
|
26
23
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* `skip()` on the root, which are public for exactly that.
|
|
31
|
-
*
|
|
32
|
-
* **`for` is an id, the same as `Tooltip`'s.** The target is elsewhere on the
|
|
33
|
-
* page, and an id is the one reference a consumer can write in markup without
|
|
34
|
-
* holding an element. Resolved against the root node, so a stop inside a shadow
|
|
35
|
-
* tree points at a target in that tree.
|
|
24
|
+
* **`for` is an id, as with `Tooltip`**, so you can point at a target elsewhere
|
|
25
|
+
* on the page from markup. It resolves against the stop's root node, so a stop
|
|
26
|
+
* inside a shadow tree points at a target in that tree.
|
|
36
27
|
*
|
|
37
28
|
* @since 0.1.0
|
|
38
29
|
* @status stable
|
|
39
30
|
* @category overlays
|
|
40
31
|
* @documentation https://fusion.dev/helix/components/tour
|
|
41
32
|
*
|
|
42
|
-
* @slot -
|
|
43
|
-
* @slot actions - Replaces the controls, which are Back, Next and Skip.
|
|
33
|
+
* @slot - The stop's content. Any content works, such as a card, or a heading and a line.
|
|
34
|
+
* @slot actions - Replaces the controls, which are Back, Next, and Skip.
|
|
44
35
|
*
|
|
45
|
-
* @event {HelixTourAskEvent} helix-tour-ask -
|
|
36
|
+
* @event {HelixTourAskEvent} helix-tour-ask - Fired when one of the stop's controls is pressed, to move the tour.
|
|
46
37
|
*
|
|
47
38
|
* @csspart actions - The row the controls sit in.
|
|
48
|
-
* @csspart arrow - The
|
|
49
|
-
* @csspart arrow-bottom - The
|
|
50
|
-
* @csspart arrow-left - The
|
|
51
|
-
* @csspart arrow-right - The
|
|
52
|
-
* @csspart arrow-top - The
|
|
39
|
+
* @csspart arrow - The arrow that points at the target.
|
|
40
|
+
* @csspart arrow-bottom - The arrow while the panel is below its target, on the panel's top edge. Applied with `arrow`.
|
|
41
|
+
* @csspart arrow-left - The arrow while the panel is left of its target, on the panel's right edge. Applied with `arrow`.
|
|
42
|
+
* @csspart arrow-right - The arrow while the panel is right of its target, on the panel's left edge. Applied with `arrow`.
|
|
43
|
+
* @csspart arrow-top - The arrow while the panel is above its target, on the panel's bottom edge. Applied with `arrow`.
|
|
53
44
|
* @csspart back - The control that goes to the previous stop.
|
|
54
|
-
* @csspart back-button - The
|
|
45
|
+
* @csspart back-button - The button inside `back`.
|
|
55
46
|
* @csspart bubble - The panel that points at the target.
|
|
56
47
|
* @csspart content - The region holding the slotted content.
|
|
57
|
-
* @csspart next - The control that goes
|
|
58
|
-
* @csspart next-button - The
|
|
59
|
-
* @csspart skip - The control that
|
|
60
|
-
* @csspart skip-button - The
|
|
48
|
+
* @csspart next - The control that goes to the next stop, and finishes the tour on the last stop.
|
|
49
|
+
* @csspart next-button - The button inside `next`.
|
|
50
|
+
* @csspart skip - The control that ends the tour early.
|
|
51
|
+
* @csspart skip-button - The button inside `skip`.
|
|
61
52
|
*
|
|
62
|
-
* @cssstate placed-bottom -
|
|
63
|
-
* @cssstate placed-left -
|
|
64
|
-
* @cssstate placed-right -
|
|
65
|
-
* @cssstate placed-top -
|
|
53
|
+
* @cssstate placed-bottom - The panel sits below its target.
|
|
54
|
+
* @cssstate placed-left - The panel sits to the left of its target.
|
|
55
|
+
* @cssstate placed-right - The panel sits to the right of its target.
|
|
56
|
+
* @cssstate placed-top - The panel sits above its target.
|
|
66
57
|
*/
|
|
67
58
|
export declare class HelixHeadlessTourStop extends HelixElement {
|
|
68
59
|
/**
|
|
@@ -70,7 +61,7 @@ export declare class HelixHeadlessTourStop extends HelixElement {
|
|
|
70
61
|
*/
|
|
71
62
|
backLabel: string;
|
|
72
63
|
/**
|
|
73
|
-
* Whether
|
|
64
|
+
* Whether the stop is the one being shown.
|
|
74
65
|
*
|
|
75
66
|
* Written by the root rather than by a consumer, which is the one place this
|
|
76
67
|
* family writes onto markup it does not own. It is acceptable here for a
|
|
@@ -84,15 +75,15 @@ export declare class HelixHeadlessTourStop extends HelixElement {
|
|
|
84
75
|
*/
|
|
85
76
|
doneLabel: string;
|
|
86
77
|
/**
|
|
87
|
-
* Whether
|
|
78
|
+
* Whether the stop is the first one, with no stop before it.
|
|
88
79
|
*/
|
|
89
80
|
first: boolean;
|
|
90
81
|
/**
|
|
91
|
-
* The id of the element
|
|
82
|
+
* The id of the element the stop points at.
|
|
92
83
|
*/
|
|
93
84
|
for: string;
|
|
94
85
|
/**
|
|
95
|
-
* Whether
|
|
86
|
+
* Whether the stop is the last one. Its next control then shows `doneLabel`.
|
|
96
87
|
*/
|
|
97
88
|
last: boolean;
|
|
98
89
|
/**
|
|
@@ -100,7 +91,7 @@ export declare class HelixHeadlessTourStop extends HelixElement {
|
|
|
100
91
|
*/
|
|
101
92
|
nextLabel: string;
|
|
102
93
|
/**
|
|
103
|
-
*
|
|
94
|
+
* The side of the target the panel is placed on when there is room.
|
|
104
95
|
*/
|
|
105
96
|
placement: Placement;
|
|
106
97
|
/**
|
|
@@ -113,7 +104,7 @@ export declare class HelixHeadlessTourStop extends HelixElement {
|
|
|
113
104
|
* makes.
|
|
114
105
|
*/
|
|
115
106
|
private side?;
|
|
116
|
-
/** The element
|
|
107
|
+
/** The element the stop points at, or `null` when no element has the `for` id. */
|
|
117
108
|
get target(): HTMLElement | null;
|
|
118
109
|
private readonly floating;
|
|
119
110
|
protected willUpdate(changed: PropertyValues): void;
|
|
@@ -5,23 +5,19 @@ declare const HelixHeadlessTreeItem_base: (new (...args: any[]) => import("@fusi
|
|
|
5
5
|
* @summary One node in a tree.
|
|
6
6
|
*
|
|
7
7
|
* @description
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* branch opened nor own the state. `aria-expanded` is still what the row
|
|
12
|
-
* renders: the property differs, not the semantics.
|
|
8
|
+
* `open` comes from `MixinControllerOpen`, the same state a disclosure holds,
|
|
9
|
+
* so you can respond to a branch opening and control the state yourself. The
|
|
10
|
+
* row renders `aria-expanded`.
|
|
13
11
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
12
|
+
* Each item is an element because it holds state: whether it is open, selected,
|
|
13
|
+
* and focused.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* direction.
|
|
15
|
+
* An item is a branch when something is slotted into `children`. This is
|
|
16
|
+
* detected on the client, so server-rendered markup shows a leaf and the twisty
|
|
17
|
+
* appears on hydration.
|
|
21
18
|
*
|
|
22
|
-
* **`href` makes the row
|
|
23
|
-
*
|
|
24
|
-
* click, no status bar. Given an `href` the row *is* an `<a>`.
|
|
19
|
+
* **`href` makes the whole row a link**, rendered as an `<a>`. Enter, middle
|
|
20
|
+
* click, and the status bar then work anywhere on the row.
|
|
25
21
|
*
|
|
26
22
|
* @since 0.1.0
|
|
27
23
|
* @status stable
|
|
@@ -30,13 +26,13 @@ declare const HelixHeadlessTreeItem_base: (new (...args: any[]) => import("@fusi
|
|
|
30
26
|
*
|
|
31
27
|
* @slot - The item's label.
|
|
32
28
|
* @slot children - Nested items, which make this a branch.
|
|
33
|
-
* @slot end -
|
|
34
|
-
* @slot start -
|
|
29
|
+
* @slot end - Content after the label, at the far side of the row, such as a count or a state.
|
|
30
|
+
* @slot start - Content before the label and after the chevron, such as a mark for the item.
|
|
35
31
|
*
|
|
36
32
|
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before a branch closes, and cancelable.
|
|
37
33
|
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before a branch opens, and cancelable.
|
|
38
|
-
* @event {HelixSelectEvent} helix-select - Fired when the item is chosen.
|
|
39
|
-
* @event {Event} toggle -
|
|
34
|
+
* @event {HelixSelectEvent} helix-select - Fired when the item is chosen, and cancelable. Canceling it changes nothing.
|
|
35
|
+
* @event {Event} toggle - Sent when the branch opens or closes, with `newState` and `oldState`.
|
|
40
36
|
*
|
|
41
37
|
* @csspart group - The container for nested items.
|
|
42
38
|
* @csspart item - The node, and the focus target unless `href` moves it to the row.
|
|
@@ -51,7 +47,7 @@ declare const HelixHeadlessTreeItem_base: (new (...args: any[]) => import("@fusi
|
|
|
51
47
|
*/
|
|
52
48
|
export declare class HelixHeadlessTreeItem extends HelixHeadlessTreeItem_base {
|
|
53
49
|
/**
|
|
54
|
-
*
|
|
50
|
+
* The URL this node links to. Setting it makes the row a link.
|
|
55
51
|
*
|
|
56
52
|
* Unset by default, and unreflected: a tree of choosable nodes is not a tree
|
|
57
53
|
* of links, and an empty `href` written onto every row would be a link to the
|
|
@@ -59,7 +55,8 @@ export declare class HelixHeadlessTreeItem extends HelixHeadlessTreeItem_base {
|
|
|
59
55
|
*/
|
|
60
56
|
href: string;
|
|
61
57
|
/**
|
|
62
|
-
*
|
|
58
|
+
* The node's depth from the root. The tree counts it, so indentation needs no
|
|
59
|
+
* nested CSS.
|
|
63
60
|
*
|
|
64
61
|
* **Read rather than written, and no attribute at all.** The tree counts the
|
|
65
62
|
* items a row sits inside and assigns this on every sync, so a value declared
|
|
@@ -79,7 +76,8 @@ export declare class HelixHeadlessTreeItem extends HelixHeadlessTreeItem_base {
|
|
|
79
76
|
*/
|
|
80
77
|
level?: number;
|
|
81
78
|
/**
|
|
82
|
-
*
|
|
79
|
+
* The link's `rel` value, which describes how the linked page relates to this
|
|
80
|
+
* one.
|
|
83
81
|
*
|
|
84
82
|
* Set by the consumer rather than derived from `target`: `noreferrer` is a
|
|
85
83
|
* decision about their own analytics and a component should not make it for
|
|
@@ -100,11 +98,11 @@ export declare class HelixHeadlessTreeItem extends HelixHeadlessTreeItem_base {
|
|
|
100
98
|
*/
|
|
101
99
|
selected: boolean;
|
|
102
100
|
/**
|
|
103
|
-
* Where the link opens
|
|
101
|
+
* Where the link opens. Use it for a row that leaves the site.
|
|
104
102
|
*/
|
|
105
103
|
target: string;
|
|
106
104
|
/**
|
|
107
|
-
* Identifies the item to
|
|
105
|
+
* Identifies the item to your code. It is sent in `helix-select`.
|
|
108
106
|
*/
|
|
109
107
|
value: string;
|
|
110
108
|
/**
|
|
@@ -137,10 +135,10 @@ export declare class HelixHeadlessTreeItem extends HelixHeadlessTreeItem_base {
|
|
|
137
135
|
* row rather than the wrapper around it.
|
|
138
136
|
*/
|
|
139
137
|
focusItem(): void;
|
|
140
|
-
/** Selects this node and
|
|
138
|
+
/** Selects this node and sends `helix-select`. */
|
|
141
139
|
select(): void;
|
|
142
140
|
/**
|
|
143
|
-
* Chooses this node
|
|
141
|
+
* Chooses this node, as a press or Enter does.
|
|
144
142
|
*
|
|
145
143
|
* Selecting and following are two things and this is where they meet, so the
|
|
146
144
|
* pointer and the keyboard take one path to the same end. The tree calls this
|
|
@@ -2,16 +2,16 @@ import { HelixElement } from '@fusion.dev/helix-core';
|
|
|
2
2
|
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
3
3
|
declare const HelixHeadlessTree_base: (new (...args: any[]) => import("@fusion.dev/helix-core").CollectionElement) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerActiveInterface) & typeof HelixElement;
|
|
4
4
|
/**
|
|
5
|
-
* @summary A
|
|
5
|
+
* @summary A hierarchy of items, with branches that open and close.
|
|
6
6
|
*
|
|
7
7
|
* @description
|
|
8
|
-
*
|
|
9
|
-
* pattern requires
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* The tree is a single tab stop, and arrow keys move focus between items, as
|
|
9
|
+
* the tree pattern requires, so Tab moves past a long sidebar in one press. The
|
|
10
|
+
* tree moves the tab stop to the focused item, so the browser's focus order
|
|
11
|
+
* stays intact.
|
|
12
12
|
*
|
|
13
13
|
* Items are found with `instanceof`, never by tag name, so the headless tier
|
|
14
|
-
* does not
|
|
14
|
+
* does not depend on the styled one.
|
|
15
15
|
*
|
|
16
16
|
* @since 0.1.0
|
|
17
17
|
* @status stable
|
|
@@ -21,13 +21,13 @@ declare const HelixHeadlessTree_base: (new (...args: any[]) => import("@fusion.d
|
|
|
21
21
|
*
|
|
22
22
|
* @slot - The tree's items.
|
|
23
23
|
*
|
|
24
|
-
* @event {HelixActivateEvent} helix-activate - Fired
|
|
25
|
-
* @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the current node
|
|
26
|
-
* @event {HelixSelectEvent} helix-select - Fired when an item is chosen.
|
|
24
|
+
* @event {HelixActivateEvent} helix-activate - Fired after the current node changes, so the tree already holds the new one.
|
|
25
|
+
* @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the current node changes, and cancelable. Canceling it is the only way to stop the change.
|
|
26
|
+
* @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.
|
|
27
27
|
*
|
|
28
28
|
* @csspart empty - Shown when there are no rows to show.
|
|
29
|
-
* @csspart live -
|
|
30
|
-
* @csspart loading - Shown while the rows
|
|
29
|
+
* @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.
|
|
30
|
+
* @csspart loading - Shown while the rows load.
|
|
31
31
|
* @csspart tree - The tree container.
|
|
32
32
|
*/
|
|
33
33
|
export declare class HelixHeadlessTree extends HelixHeadlessTree_base {
|
|
@@ -36,7 +36,8 @@ export declare class HelixHeadlessTree extends HelixHeadlessTree_base {
|
|
|
36
36
|
*/
|
|
37
37
|
label: string;
|
|
38
38
|
/**
|
|
39
|
-
* What a
|
|
39
|
+
* What a deeper level means: `peer` for no change, `subordinate` for a lower
|
|
40
|
+
* rank, or `heading` for a parent that heads the items under it.
|
|
40
41
|
*
|
|
41
42
|
* All three answers are right, for different trees, which is why this is
|
|
42
43
|
* asked rather than decided. `peer` is a file explorer: every row is the same
|
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import { HelixElement } from '@fusion.dev/helix-core';
|
|
2
2
|
import { type TemplateResult } from 'lit';
|
|
3
3
|
/**
|
|
4
|
-
* @summary
|
|
4
|
+
* @summary An indicator that shows which way a measurement moved, and whether the change is good.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
*
|
|
8
|
-
* and a label
|
|
9
|
-
*
|
|
10
|
-
* separate facts.
|
|
7
|
+
* A trend has three parts: a direction of up, down, or neutral, the metric that
|
|
8
|
+
* moved, and a label for the period it moved over. The arrow shows the
|
|
9
|
+
* direction and its color shows whether the change is good. Direction and
|
|
10
|
+
* judgment are separate properties because they are separate facts.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* that varies.
|
|
12
|
+
* `good` is unset by default, so a trend with no judgment is gray. For churn,
|
|
13
|
+
* latency, error rate, cost, and bounce rate, up is bad. Set the metric's
|
|
14
|
+
* polarity once with `good`, and the component picks the color from the
|
|
15
|
+
* direction.
|
|
17
16
|
*
|
|
18
|
-
* The direction is also written as a word,
|
|
19
|
-
*
|
|
20
|
-
*
|
|
17
|
+
* The direction is also written as a word, so a screen reader reads it. The
|
|
18
|
+
* styled tier hides `part="direction"` visually and keeps it in the
|
|
19
|
+
* accessibility tree.
|
|
21
20
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* The metric and the label are bare slots. An element that assigned its own
|
|
22
|
+
* slot on connect would add an attribute to its host after upgrade, which the
|
|
23
|
+
* React server markup did not have.
|
|
25
24
|
*
|
|
26
25
|
* @since 0.1.0
|
|
27
26
|
* @status stable
|
|
@@ -30,9 +29,9 @@ import { type TemplateResult } from 'lit';
|
|
|
30
29
|
* @documentation https://fusion.dev/helix/components/trend
|
|
31
30
|
*
|
|
32
31
|
* @slot - The metric that moved.
|
|
33
|
-
* @slot label -
|
|
32
|
+
* @slot label - The period the metric moved over.
|
|
34
33
|
*
|
|
35
|
-
* @csspart direction - The direction as a word, for
|
|
34
|
+
* @csspart direction - The direction as a word, for people who cannot see the arrow.
|
|
36
35
|
* @csspart icon - The arrow.
|
|
37
36
|
*/
|
|
38
37
|
export declare class HelixHeadlessTrend extends HelixElement {
|
|
@@ -48,7 +47,7 @@ export declare class HelixHeadlessTrend extends HelixElement {
|
|
|
48
47
|
*/
|
|
49
48
|
direction?: 'down' | 'neutral' | 'up';
|
|
50
49
|
/**
|
|
51
|
-
* Which direction
|
|
50
|
+
* Which direction counts as an improvement for this metric.
|
|
52
51
|
*
|
|
53
52
|
* Absent states the movement without judging it, which is the honest default:
|
|
54
53
|
* revenue up is good news and latency up is bad news, and only the consumer
|