@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
|
@@ -4,25 +4,23 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
4
4
|
export type InputType = 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';
|
|
5
5
|
declare const HelixHeadlessInput_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinFieldInterface) & typeof HelixFormElement;
|
|
6
6
|
/**
|
|
7
|
-
* @summary A single line of text
|
|
7
|
+
* @summary A field for a single line of text.
|
|
8
8
|
*
|
|
9
9
|
* @description
|
|
10
|
-
* Renders a real `<input>`, so the caret, selection, autofill, spellcheck,
|
|
11
|
-
* password
|
|
12
|
-
*
|
|
13
|
-
* before any script loads.
|
|
10
|
+
* Renders a real `<input>`, so the caret, selection, autofill, spellcheck,
|
|
11
|
+
* password managers, and a phone's on-screen keyboard all work natively. The
|
|
12
|
+
* field is in the server markup, so it works before any script loads.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* answers a form reset.
|
|
14
|
+
* An input inside a shadow root does not submit with a form outside it, so the
|
|
15
|
+
* host is form-associated and reports its value through `ElementInternals`.
|
|
16
|
+
* That also carries validity and handles a form reset.
|
|
19
17
|
*
|
|
20
|
-
* `value` and `defaultValue`
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* `value` and `defaultValue` work like `checked` and `defaultChecked`. `value`
|
|
19
|
+
* is what is in the field now, and `defaultValue` is the value from the markup,
|
|
20
|
+
* which a reset restores.
|
|
23
21
|
*
|
|
24
|
-
*
|
|
25
|
-
* input and its `validity` is copied
|
|
22
|
+
* Validity comes from the browser. `type` and `required` are set on the real
|
|
23
|
+
* input, and its `validity` is copied to the host.
|
|
26
24
|
*
|
|
27
25
|
* @since 0.1.0
|
|
28
26
|
* @status stable
|
|
@@ -33,34 +31,35 @@ declare const HelixHeadlessInput_base: (new (...args: any[]) => import("@fusion.
|
|
|
33
31
|
* @slot end - After the text, for an icon or a unit.
|
|
34
32
|
* @slot start - Before the text, for an icon or a prefix.
|
|
35
33
|
*
|
|
36
|
-
* @event {Event} change -
|
|
37
|
-
* @event {HelixBeforeChangeEvent} helix-before-change -
|
|
38
|
-
* @event {Event} input -
|
|
34
|
+
* @event {Event} change - Sent when the user finishes changing the value. Relayed from the native input.
|
|
35
|
+
* @event {HelixBeforeChangeEvent} helix-before-change - The text is about to change. Cancelable: cancel it to keep the current text.
|
|
36
|
+
* @event {Event} input - Fired as the value changes.
|
|
39
37
|
*
|
|
40
38
|
* @csspart clear - The button that empties the field.
|
|
41
|
-
* @csspart control - The input
|
|
42
|
-
* @csspart feedback -
|
|
43
|
-
* @csspart field - The box
|
|
44
|
-
* @csspart hint - Help under the field, while
|
|
45
|
-
* @csspart label - The
|
|
39
|
+
* @csspart control - The native input.
|
|
40
|
+
* @csspart feedback - The message that says what is wrong with the value.
|
|
41
|
+
* @csspart field - The box around the input, its slots, and its buttons.
|
|
42
|
+
* @csspart hint - Help text under the field, shown while there is no feedback.
|
|
43
|
+
* @csspart label - The label above the field.
|
|
46
44
|
* @csspart reveal - The button that shows and hides a password.
|
|
47
|
-
* @csspart reveal-pressed - The reveal button while the password
|
|
45
|
+
* @csspart reveal-pressed - The reveal button while the password is shown, added beside `reveal`.
|
|
48
46
|
*
|
|
49
|
-
* @cssstate invalid -
|
|
47
|
+
* @cssstate invalid - The control has an error to show, from the browser's validation or from your `feedback`.
|
|
50
48
|
*/
|
|
51
49
|
export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
52
50
|
protected readonly aria: AriaForwardController;
|
|
53
51
|
/** Typed or dragged, so every edit is announced. See `announcesInput`. */
|
|
54
52
|
protected readonly announcesInput = true;
|
|
55
53
|
/**
|
|
56
|
-
* What the browser may autofill
|
|
54
|
+
* What the browser may autofill in the field, as an HTML `autocomplete`
|
|
55
|
+
* token.
|
|
57
56
|
*
|
|
58
57
|
* Empty leaves the attribute off, which is the browser's default. Set it to
|
|
59
58
|
* a token like `email` or `bday` to ask for autofill, or to `off` to refuse.
|
|
60
59
|
*/
|
|
61
60
|
autocomplete: string;
|
|
62
61
|
/**
|
|
63
|
-
* Whether the field
|
|
62
|
+
* Whether the field shows a button that empties it.
|
|
64
63
|
*
|
|
65
64
|
* Shown only while there is something to clear, because a control that does
|
|
66
65
|
* nothing is worse than no control: a reader who presses it and sees no
|
|
@@ -69,7 +68,7 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
69
68
|
*/
|
|
70
69
|
clearable: boolean;
|
|
71
70
|
/**
|
|
72
|
-
*
|
|
71
|
+
* The accessible name of the clear button, which shows only an icon.
|
|
73
72
|
*/
|
|
74
73
|
clearLabel: string;
|
|
75
74
|
/**
|
|
@@ -89,13 +88,14 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
89
88
|
*/
|
|
90
89
|
pattern: string;
|
|
91
90
|
/**
|
|
92
|
-
*
|
|
91
|
+
* The text shown while the field is empty.
|
|
93
92
|
*
|
|
94
93
|
* Not a label: it goes when typing starts.
|
|
95
94
|
*/
|
|
96
95
|
placeholder: string;
|
|
97
96
|
/**
|
|
98
|
-
* Whether the field
|
|
97
|
+
* Whether the field blocks editing. A read-only field still submits its
|
|
98
|
+
* value.
|
|
99
99
|
*
|
|
100
100
|
* **The attribute is `readonly`, which is the platform's spelling.** A
|
|
101
101
|
* camelCase property needs an explicit `attribute`, and dash-casing a word
|
|
@@ -128,7 +128,7 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
128
128
|
/** Focus is delegated to the input, so the host is never the focus target. */
|
|
129
129
|
static shadowRootOptions: ShadowRootInit;
|
|
130
130
|
/**
|
|
131
|
-
* The
|
|
131
|
+
* The direction of the selection, as the native input names it.
|
|
132
132
|
*
|
|
133
133
|
* The `<input>` is inside this shadow root, so a consumer had no way to ask
|
|
134
134
|
* where the selection is, let alone move it: `querySelector` does not cross
|
|
@@ -149,8 +149,8 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
149
149
|
get selectionStart(): number;
|
|
150
150
|
set selectionStart(at: number);
|
|
151
151
|
/**
|
|
152
|
-
* Selects
|
|
153
|
-
* cannot
|
|
152
|
+
* Selects the range from `start` to `end` in one call, which setting
|
|
153
|
+
* `selectionStart` and `selectionEnd` one at a time cannot always do.
|
|
154
154
|
*
|
|
155
155
|
* Setting `selectionStart` past the current `selectionEnd` drags the end
|
|
156
156
|
* along, so the two writes a consumer would make in sequence do not compose
|
|
@@ -185,7 +185,7 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
185
185
|
private readonly handleChange;
|
|
186
186
|
/** Reports the value and the validity the host stands behind. */
|
|
187
187
|
private sync;
|
|
188
|
-
/** Puts the caret in the field,
|
|
188
|
+
/** Puts the caret in the field, as clicking its label does. */
|
|
189
189
|
focus(options?: FocusOptions): void;
|
|
190
190
|
/** Selects everything in the field. */
|
|
191
191
|
select(): void;
|
|
@@ -208,13 +208,14 @@ export declare class HelixHeadlessInput extends HelixHeadlessInput_base {
|
|
|
208
208
|
*/
|
|
209
209
|
reveal: boolean;
|
|
210
210
|
/**
|
|
211
|
-
*
|
|
211
|
+
* The accessible name of the reveal toggle.
|
|
212
212
|
*
|
|
213
213
|
* The state is `aria-pressed`, not this.
|
|
214
214
|
*/
|
|
215
215
|
revealLabel: string;
|
|
216
216
|
/**
|
|
217
|
-
*
|
|
217
|
+
* The kind of text the field accepts. It sets the on-screen keyboard and the
|
|
218
|
+
* validation.
|
|
218
219
|
*
|
|
219
220
|
* **Not reflected.** Reflection exists so a selector can reach a value, and
|
|
220
221
|
* no stylesheet in this repository selects on `type`. Reflecting it writes
|
|
@@ -4,21 +4,18 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
4
4
|
* @summary A keyboard key or chord, set inline with text.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
* Renders a
|
|
8
|
-
* reading the markup.
|
|
7
|
+
* Renders a `<kbd>` element.
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* a component inserting one would have to guess which.
|
|
9
|
+
* Each element holds one key, except when you use `keys`. For a sequence or a
|
|
10
|
+
* chord, write one element per key and put the separator between them as text,
|
|
11
|
+
* such as "then" or "plus".
|
|
14
12
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* `⌘K` on Apple and `Ctrl+K` everywhere else.
|
|
13
|
+
* `keys` renders the right glyphs for the platform. Given `mod`, it renders
|
|
14
|
+
* `⌘K` on Apple devices and `Ctrl+K` everywhere else. A `⌘K` typed into a
|
|
15
|
+
* template is wrong for anyone on Windows.
|
|
19
16
|
*
|
|
20
|
-
*
|
|
21
|
-
* key and listens for nothing
|
|
17
|
+
* The element binds the shortcut only when `within` is set. By default it draws
|
|
18
|
+
* the key and listens for nothing.
|
|
22
19
|
*
|
|
23
20
|
* @since 0.1.0
|
|
24
21
|
* @status stable
|
|
@@ -28,13 +25,13 @@ import { type PropertyValues, type TemplateResult } from 'lit';
|
|
|
28
25
|
*
|
|
29
26
|
* @slot - The key's label, where `keys` is not set.
|
|
30
27
|
*
|
|
31
|
-
* @event {HelixShortcutEvent} helix-shortcut -
|
|
28
|
+
* @event {HelixShortcutEvent} helix-shortcut - The chord was pressed. Cancelable: cancel it to let the key press keep its usual effect.
|
|
32
29
|
*
|
|
33
30
|
* @csspart kbd - The key.
|
|
34
31
|
*/
|
|
35
32
|
export declare class HelixHeadlessKbd extends HelixElement {
|
|
36
33
|
/**
|
|
37
|
-
* The chord,
|
|
34
|
+
* The key or chord to show, such as `mod+k`, `shift+?`, or `/`.
|
|
38
35
|
*
|
|
39
36
|
* `mod` is the platform's own command modifier, which is the reason to write
|
|
40
37
|
* a chord here rather than a glyph: it is the one token whose right answer
|
|
@@ -42,7 +39,8 @@ export declare class HelixHeadlessKbd extends HelixElement {
|
|
|
42
39
|
*/
|
|
43
40
|
keys: string;
|
|
44
41
|
/**
|
|
45
|
-
* Where the chord is listened for
|
|
42
|
+
* Where the chord is listened for. `control` listens inside the control the
|
|
43
|
+
* key sits in, and `document` listens on the whole page.
|
|
46
44
|
*
|
|
47
45
|
* Unset draws a key and binds nothing.
|
|
48
46
|
*
|
|
@@ -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
|
|
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
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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`
|
|
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
|
-
*
|
|
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.
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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
|
-
*
|
|
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
|
|
4
|
+
* @summary One item a lightbox can show, such as a picture, a video frame, or a chart.
|
|
5
5
|
*
|
|
6
6
|
* @description
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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 -
|
|
24
|
-
* @slot description - A line under
|
|
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 -
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
|
5
|
+
* @summary A viewer that shows one item at a time over the page.
|
|
6
6
|
*
|
|
7
7
|
* @description
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
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
|
-
*
|
|
30
|
-
* back on a pointer move or a focus. `fullscreen`
|
|
31
|
-
*
|
|
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 -
|
|
41
|
-
* @slot header -
|
|
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 -
|
|
44
|
-
* @event {HelixActivateEvent} helix-activate - Fired
|
|
45
|
-
* @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the shown item changes
|
|
46
|
-
* @event {HelixBeforeCloseEvent} helix-before-close - Fired before
|
|
47
|
-
* @event {HelixBeforeOpenEvent} helix-before-open - Fired before
|
|
48
|
-
* @event {Event} toggle -
|
|
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
|
|
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 -
|
|
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
|
|
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
|
-
*
|
|
61
|
+
* The viewer's name, read by screen readers.
|
|
69
62
|
*/
|
|
70
63
|
label: string;
|
|
71
64
|
/**
|
|
72
|
-
* Whether
|
|
65
|
+
* Whether moving past the last item returns to the first.
|
|
73
66
|
*/
|
|
74
67
|
loop: boolean;
|
|
75
68
|
/**
|
|
76
|
-
* The
|
|
77
|
-
*
|
|
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
|
-
/**
|
|
98
|
+
/** Closes the viewer, unless a `helix-before-close` listener cancels it. */
|
|
106
99
|
close(): void;
|
|
107
|
-
/**
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
|
6
|
+
* @summary A chart that draws series over time as lines, read from a table.
|
|
7
7
|
*
|
|
8
8
|
* @description
|
|
9
|
-
*
|
|
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
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* edge is the total and each band is a share.
|
|
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
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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
|
|
36
|
-
*
|
|
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
|
|
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 -
|
|
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
|
-
*
|
|
78
|
-
*
|
|
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
|
|
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,
|