@fusion.dev/helix-core 0.146.0 → 0.147.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 +1299 -60
- package/dist/controllers/aria-forward-controller/aria-forward-controller.js +5 -3
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.d.ts +6 -0
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.js +13 -0
- package/dist/controllers/copy-controller/copy-controller.d.ts +4 -1
- package/dist/controllers/copy-controller/copy-controller.js +2 -1
- package/dist/controllers/countdown-controller/countdown-controller.d.ts +4 -1
- package/dist/controllers/countdown-controller/countdown-controller.js +3 -1
- package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.d.ts +5 -0
- package/dist/controllers/source-controller/source-controller.js +2 -0
- package/dist/controllers/swipe-controller/swipe-controller.d.ts +10 -1
- package/dist/controllers/swipe-controller/swipe-controller.js +1 -1
- package/dist/controllers/virtualize-controller/virtualize-controller.js +8 -6
- package/dist/events/band.d.ts +13 -0
- package/dist/events/band.js +11 -0
- package/dist/events/details.d.ts +5 -0
- package/dist/events/events.d.ts +4 -2
- package/dist/events/events.js +3 -1
- package/dist/events/names.d.ts +3 -0
- package/dist/events/names.js +13 -88
- package/dist/helix-element/helix-element.js +9 -43
- package/dist/helix-element/react-bridge.d.ts +13 -0
- package/dist/helix-element/react-bridge.js +1 -1
- package/dist/index.d.ts +18 -9
- package/dist/index.js +18 -9
- package/dist/mixins/mixin-chart-source/mixin-chart-source.d.ts +7 -0
- package/dist/mixins/mixin-chart-source/mixin-chart-source.js +1 -0
- package/dist/mixins/mixin-dismissible/mixin-dismissible.js +25 -4
- package/dist/mixins/mixin-picker-feedback/mixin-picker-feedback.d.ts +42 -0
- package/dist/mixins/mixin-picker-feedback/mixin-picker-feedback.js +46 -0
- package/dist/mixins/mixin-picker-field/mixin-picker-field.d.ts +2 -11
- package/dist/mixins/mixin-picker-field/mixin-picker-field.js +1 -6
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.d.ts +1 -1
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.js +10 -6
- package/dist/utils/audit-name/audit-name.d.ts +7 -2
- package/dist/utils/audit-name/audit-name.js +12 -3
- package/dist/utils/audit-source/audit-source-off.d.ts +10 -0
- package/dist/utils/audit-source/audit-source-off.js +1 -0
- package/dist/utils/audit-source/audit-source.d.ts +19 -0
- package/dist/utils/audit-source/audit-source.js +27 -0
- package/dist/utils/call-listener/call-listener.d.ts +16 -0
- package/dist/utils/call-listener/call-listener.js +17 -0
- package/dist/utils/chord/chord.d.ts +14 -0
- package/dist/utils/chord/chord.js +1 -0
- package/dist/utils/clamp/clamp.d.ts +7 -0
- package/dist/utils/clamp/clamp.js +1 -0
- package/dist/utils/css-color/css-color.js +1 -1
- package/dist/utils/elapsed-time/elapsed-time.d.ts +1 -1
- package/dist/utils/elapsed-time/elapsed-time.js +2 -5
- package/dist/utils/host-words/host-words.d.ts +16 -0
- package/dist/utils/host-words/host-words.js +13 -0
- package/dist/utils/load-more/load-more.d.ts +25 -0
- package/dist/utils/load-more/load-more.js +1 -0
- package/dist/utils/locale-of/locale-of.d.ts +18 -0
- package/dist/utils/locale-of/locale-of.js +26 -0
- package/dist/utils/nearest/nearest.d.ts +9 -0
- package/dist/utils/nearest/nearest.js +9 -0
- package/dist/utils/number-format/number-format.d.ts +9 -0
- package/dist/utils/number-format/number-format.js +4 -0
- package/dist/utils/own-rule/own-rule.d.ts +16 -0
- package/dist/utils/own-rule/own-rule.js +7 -0
- package/dist/utils/platform/platform.d.ts +8 -0
- package/dist/utils/platform/platform.js +1 -0
- package/dist/utils/read-series/read-series.d.ts +14 -0
- package/dist/utils/read-series/read-series.js +15 -0
- package/dist/utils/relative-time/relative-time.d.ts +8 -0
- package/dist/utils/relative-time/relative-time.js +5 -2
- package/dist/utils/report-render/report-render.js +2 -14
- package/dist/utils/report-runtime/report-runtime.d.ts +5 -1
- package/dist/utils/report-runtime/report-runtime.js +2 -14
- package/dist/utils/report-usage/report-usage.js +2 -14
- package/dist/utils/scroll-item-into-view/scroll-item-into-view.d.ts +33 -0
- package/dist/utils/scroll-item-into-view/scroll-item-into-view.js +13 -3
- package/dist/utils/slotted-glyph/slotted-glyph.d.ts +33 -0
- package/dist/utils/slotted-glyph/slotted-glyph.js +27 -0
- package/dist/utils/typeahead/typeahead.d.ts +8 -0
- package/dist/utils/typeahead/typeahead.js +1 -0
- package/dist/utils/verdict-flags/verdict-flags.d.ts +13 -0
- package/dist/utils/verdict-flags/verdict-flags.js +6 -0
- package/dist/utils/written-list/written-list.d.ts +31 -0
- package/dist/utils/written-list/written-list.js +16 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +15 -4
|
@@ -74,9 +74,11 @@ export class AriaForwardController {
|
|
|
74
74
|
continue;
|
|
75
75
|
}
|
|
76
76
|
const ids = (this.host.getAttribute(attribute) ?? '').split(/\s+/).filter(Boolean);
|
|
77
|
-
const referenced = ids
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
const referenced = ids.length > 0
|
|
78
|
+
? ids
|
|
79
|
+
.map((id) => elementById(this.host, id))
|
|
80
|
+
.filter((element) => element !== null)
|
|
81
|
+
: [...(this.host[property] ?? [])];
|
|
80
82
|
const elements = referenced.length === 0 && attribute === 'aria-labelledby'
|
|
81
83
|
? this.hostLabels(target)
|
|
82
84
|
: referenced;
|
|
@@ -49,6 +49,12 @@ export interface ChartPointerHost extends ReactiveControllerHost, HTMLElement {
|
|
|
49
49
|
* The keys pass over a hidden reading, as they pass over a hidden series.
|
|
50
50
|
*/
|
|
51
51
|
showsReading?(at: number): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Where PageUp or PageDown goes from the reading at `at`, by place among the
|
|
54
|
+
* readings, for a chart whose page is no fixed count: a calendar's month.
|
|
55
|
+
* Undefined keeps the fixed page.
|
|
56
|
+
*/
|
|
57
|
+
pageFrom?(at: number, forward: boolean): number | undefined;
|
|
52
58
|
/**
|
|
53
59
|
* The words for where a reading stands among them, with `{position}` and
|
|
54
60
|
* `{count}` to fill. Absent or empty, no position is said.
|
|
@@ -27,6 +27,19 @@ export class ChartPointerController {
|
|
|
27
27
|
}
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
+
const paged = (event.key === 'PageDown' || event.key === 'PageUp') && this.at >= 0
|
|
31
|
+
? this.host.pageFrom?.(this.at, event.key === 'PageDown')
|
|
32
|
+
: undefined;
|
|
33
|
+
if (paged !== undefined && shown.includes(paged)) {
|
|
34
|
+
event.preventDefault();
|
|
35
|
+
if (paged !== this.at) {
|
|
36
|
+
this.at = paged;
|
|
37
|
+
this.keyed = true;
|
|
38
|
+
this.moved = true;
|
|
39
|
+
this.host.requestUpdate();
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
30
43
|
const next = stepReading(event.key, { at: shown.indexOf(this.at), series: this.series }, {
|
|
31
44
|
axis: this.axis,
|
|
32
45
|
count,
|
|
@@ -7,8 +7,11 @@ export interface CopyOptions {
|
|
|
7
7
|
* On a timer rather than on the pointer leaving, so it survives a hand that
|
|
8
8
|
* has already moved on: the press and the reading of it are two moments, and
|
|
9
9
|
* a mark that vanishes with the cursor is one a fast reader never sees.
|
|
10
|
+
*
|
|
11
|
+
* A function is read at each copy, for a host whose duration is a property
|
|
12
|
+
* a page can change, as other controllers' options are.
|
|
10
13
|
*/
|
|
11
|
-
after?: number;
|
|
14
|
+
after?: number | (() => number);
|
|
12
15
|
}
|
|
13
16
|
/**
|
|
14
17
|
* Puts text on the clipboard and holds a confirmation for a moment.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HelixCopyEvent } from '../../events/events.js';
|
|
2
2
|
import { deepActiveElement } from '../../utils/focusable-elements/focusable-elements.js';
|
|
3
|
+
const read = (option) => typeof option === 'function' ? option() : option;
|
|
3
4
|
const write = async (text) => {
|
|
4
5
|
try {
|
|
5
6
|
await navigator.clipboard.writeText(text);
|
|
@@ -53,7 +54,7 @@ export class CopyController {
|
|
|
53
54
|
this.copied = false;
|
|
54
55
|
this.failed = false;
|
|
55
56
|
this.host.requestUpdate();
|
|
56
|
-
}, this.options.after ?? 1200);
|
|
57
|
+
}, read(this.options.after) ?? 1200);
|
|
57
58
|
return wrote;
|
|
58
59
|
}
|
|
59
60
|
hostDisconnected() {
|
|
@@ -46,7 +46,10 @@ export declare class CountdownController implements ReactiveController {
|
|
|
46
46
|
pause(): void;
|
|
47
47
|
/** Runs the clock again from where it stopped. */
|
|
48
48
|
resume(): void;
|
|
49
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
* Stops the clock for good, as a dismissal does: nothing is left to resume
|
|
51
|
+
* until the next `start`, so a hold and a release after it run nothing.
|
|
52
|
+
*/
|
|
50
53
|
cancel(): void;
|
|
51
54
|
/** One more reason to hold the clock, such as a pointer arriving. */
|
|
52
55
|
hold(): void;
|
|
@@ -36,13 +36,15 @@ export class CountdownController {
|
|
|
36
36
|
this.startedAt = Date.now();
|
|
37
37
|
this.options.paused?.(false);
|
|
38
38
|
this.timer = setTimeout(() => {
|
|
39
|
-
this.
|
|
39
|
+
this.cancel();
|
|
40
40
|
this.options.done();
|
|
41
41
|
}, this.remaining);
|
|
42
42
|
}
|
|
43
43
|
cancel() {
|
|
44
44
|
clearTimeout(this.timer);
|
|
45
45
|
this.timer = undefined;
|
|
46
|
+
this.remaining = undefined;
|
|
47
|
+
this.startedAt = undefined;
|
|
46
48
|
}
|
|
47
49
|
hold() {
|
|
48
50
|
this.holds += 1;
|
|
@@ -19,6 +19,11 @@ export interface NavigableItem {
|
|
|
19
19
|
select(): void;
|
|
20
20
|
/** Whether the item is the current one, which is where movement starts. */
|
|
21
21
|
selected: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The words a reader types the start of, for a set that types ahead with
|
|
24
|
+
* `typeaheadByWords`.
|
|
25
|
+
*/
|
|
26
|
+
readonly words?: string;
|
|
22
27
|
}
|
|
23
28
|
/** Where a move starts from: the item that has focus, or the chosen item. */
|
|
24
29
|
export type KeyboardOrigin = 'focus' | 'selection';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { auditSource } from '#audit-source';
|
|
1
2
|
import { elementById } from '../../utils/element-by-id/element-by-id.js';
|
|
2
3
|
import { readRows, readSeries, seriesKey, } from '../../utils/read-series/read-series.js';
|
|
3
4
|
const HIDDEN = new WeakMap();
|
|
@@ -92,6 +93,7 @@ export class SourceController {
|
|
|
92
93
|
}
|
|
93
94
|
hostConnected() {
|
|
94
95
|
this.watch();
|
|
96
|
+
auditSource(this.host, () => this.resolve());
|
|
95
97
|
}
|
|
96
98
|
hostUpdated() {
|
|
97
99
|
if (this.deferred) {
|
|
@@ -10,6 +10,12 @@ export interface SwipeOptions {
|
|
|
10
10
|
end: (dx: number, dy: number, vx: number, vy: number) => void;
|
|
11
11
|
/** Called as the pointer moves, with how far it has gone from the press. */
|
|
12
12
|
move: (dx: number, dy: number) => void;
|
|
13
|
+
/**
|
|
14
|
+
* How far a press travels before it is a swipe, in pixels: 8 where this is
|
|
15
|
+
* not given. A mouse drag that takes over sooner, such as Carousel's at 4,
|
|
16
|
+
* says so here.
|
|
17
|
+
*/
|
|
18
|
+
slop?: number;
|
|
13
19
|
/**
|
|
14
20
|
* Whether a press may start a swipe, given the element it landed on. Every
|
|
15
21
|
* press may where this is not given. A field, a scroller that has its own use
|
|
@@ -32,7 +38,10 @@ export interface SwipeOptions {
|
|
|
32
38
|
* axis.** Before that it is still a press, so a tap on a button inside the
|
|
33
39
|
* surface is a tap, and a drag across the axis, a reader scrolling, is left to
|
|
34
40
|
* the page. Once it is a swipe, the click that ends it is swallowed, so a
|
|
35
|
-
* swipe that started on a button does not also press it.
|
|
41
|
+
* swipe that started on a button does not also press it. The swallow is held on
|
|
42
|
+
* the window for one task after the release, so a spec that swipes and then
|
|
43
|
+
* presses a control in the same task sees that press swallowed: wait a task
|
|
44
|
+
* between them, as a reader's next press always does.
|
|
36
45
|
*
|
|
37
46
|
* The move and the release are heard on the window, so a pointer that leaves
|
|
38
47
|
* the surface mid-swipe is still followed.
|
|
@@ -34,7 +34,7 @@ export class SwipeController {
|
|
|
34
34
|
if (!this.swiping) {
|
|
35
35
|
const along = Math.abs(axis === 'x' ? dx : dy);
|
|
36
36
|
const across = Math.abs(axis === 'x' ? dy : dx);
|
|
37
|
-
if (Math.max(along, across) < SLOP) {
|
|
37
|
+
if (Math.max(along, across) < (this.options.slop ?? SLOP)) {
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
40
|
if (across >= along) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { endInSight } from '../../utils/load-more/load-more.js';
|
|
1
2
|
import { reportRuntime } from '../../utils/report-runtime/report-runtime.js';
|
|
2
3
|
import { Heights } from './heights.js';
|
|
3
4
|
const UNSTABLE = 10;
|
|
@@ -159,12 +160,13 @@ export class VirtualizeController {
|
|
|
159
160
|
return Math.max(0, length - Math.max(0, box.scrollTop) - box.clientHeight);
|
|
160
161
|
}
|
|
161
162
|
endInSight(length = Math.max(0, this.options.count())) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
if (this.options.count() <= 0 ||
|
|
164
|
+
!endInSight({
|
|
165
|
+
askedAt: this.askedAt,
|
|
166
|
+
count: length,
|
|
167
|
+
remaining: this.remaining(),
|
|
168
|
+
screen: this.options.container()?.clientHeight ?? 0,
|
|
169
|
+
})) {
|
|
168
170
|
return false;
|
|
169
171
|
}
|
|
170
172
|
this.askedAt = length;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BandDetail } from './details.js';
|
|
2
|
+
/**
|
|
3
|
+
* A reading moved into another band: a meter whose value crossed `low`,
|
|
4
|
+
* `high` or `optimum` into `good`, `fair` or `poor`.
|
|
5
|
+
*
|
|
6
|
+
* Sent once for each crossing, not on every value, so a listener can say the
|
|
7
|
+
* change aloud or recolor something else on the page. Not cancelable, since
|
|
8
|
+
* the reading has already moved. Bubbles and is composed.
|
|
9
|
+
*/
|
|
10
|
+
export declare class HelixBandEvent extends CustomEvent<BandDetail> {
|
|
11
|
+
static readonly eventName = "helix-band";
|
|
12
|
+
constructor(detail: BandDetail);
|
|
13
|
+
}
|
package/dist/events/details.d.ts
CHANGED
|
@@ -354,6 +354,11 @@ export interface PressDetail {
|
|
|
354
354
|
/** What the press came from. */
|
|
355
355
|
pointerType: PressPointerType;
|
|
356
356
|
}
|
|
357
|
+
/** Detail carried by `helix-band`. */
|
|
358
|
+
export interface BandDetail {
|
|
359
|
+
/** The band the reading is in now, or `''` where it is in none. */
|
|
360
|
+
band: '' | 'fair' | 'good' | 'poor';
|
|
361
|
+
}
|
|
357
362
|
/** Detail carried by `helix-tour-status`. */
|
|
358
363
|
export interface TourStatusDetail {
|
|
359
364
|
/** The stop it happened at, counting from 0. */
|
package/dist/events/events.d.ts
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
import { HelixActionEvent } from './action.js';
|
|
32
32
|
import { HelixActivateEvent } from './activate.js';
|
|
33
33
|
import { HelixAuraFallbackEvent } from './aura-fallback.js';
|
|
34
|
+
import { HelixBandEvent } from './band.js';
|
|
34
35
|
import { HelixBeforeActivateEvent } from './before-activate.js';
|
|
35
36
|
import { HelixBeforeChangeEvent } from './before-change.js';
|
|
36
37
|
import { HelixBeforeCloseEvent } from './before-close.js';
|
|
@@ -114,9 +115,9 @@ import { HelixToggleEvent } from './toggle.js';
|
|
|
114
115
|
import { HelixTourAskEvent } from './tour-ask.js';
|
|
115
116
|
import { HelixTourStatusEvent } from './tour-status.js';
|
|
116
117
|
import { HelixTypingEvent } from './typing.js';
|
|
117
|
-
export type { ActivateDetail, AuraFallbackDetail, CanvasView, CaretDetail, ChangeDetail, CompleteDetail, ConnectDetail, ConsoleDetail, CopyDetail, CreateDetail, DismissDetail, FacetDetail, FilterDetail, GraphFilterDetail, GraphLayoutDetail, GraphPartChangeDetail, GraphSignalDetail, MapClusterDetail, MapPanDetail, MapPartChangeDetail, MapRotateDetail, MapTiltDetail, MapZoomDetail, MoveDetail, NavigateDetail, OpenDetail, PressDetail, PressPointerType, RangeDetail, ReadDetail, ReconnectDetail, Refusal, RefusedFile, RejectDetail, RelabelDetail, RemoveDetail, ResizeDetail, ScrolledDetail, SelectDetail, SendDetail, ShortcutDetail, SkipDetail, SortDetail, ToggleDetail, TourAskDetail, TourStatusDetail, TypingDetail, ViewportPanDetail, ViewportZoomDetail, } from './details.js';
|
|
118
|
+
export type { ActivateDetail, AuraFallbackDetail, BandDetail, CanvasView, CaretDetail, ChangeDetail, CompleteDetail, ConnectDetail, ConsoleDetail, CopyDetail, CreateDetail, DismissDetail, FacetDetail, FilterDetail, GraphFilterDetail, GraphLayoutDetail, GraphPartChangeDetail, GraphSignalDetail, MapClusterDetail, MapPanDetail, MapPartChangeDetail, MapRotateDetail, MapTiltDetail, MapZoomDetail, MoveDetail, NavigateDetail, OpenDetail, PressDetail, PressPointerType, RangeDetail, ReadDetail, ReconnectDetail, Refusal, RefusedFile, RejectDetail, RelabelDetail, RemoveDetail, ResizeDetail, ScrolledDetail, SelectDetail, SendDetail, ShortcutDetail, SkipDetail, SortDetail, ToggleDetail, TourAskDetail, TourStatusDetail, TypingDetail, ViewportPanDetail, ViewportZoomDetail, } from './details.js';
|
|
118
119
|
export { helixEventNames } from './names.js';
|
|
119
|
-
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, };
|
|
120
|
+
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, };
|
|
120
121
|
/**
|
|
121
122
|
* Every event class, and the one place a new one is registered: a class in a
|
|
122
123
|
* module of its own, imported above, and named here and in `names.ts`.
|
|
@@ -133,6 +134,7 @@ declare const registry: {
|
|
|
133
134
|
readonly HelixActionEvent: typeof HelixActionEvent;
|
|
134
135
|
readonly HelixActivateEvent: typeof HelixActivateEvent;
|
|
135
136
|
readonly HelixAuraFallbackEvent: typeof HelixAuraFallbackEvent;
|
|
137
|
+
readonly HelixBandEvent: typeof HelixBandEvent;
|
|
136
138
|
readonly HelixBeforeActivateEvent: typeof HelixBeforeActivateEvent;
|
|
137
139
|
readonly HelixBeforeChangeEvent: typeof HelixBeforeChangeEvent;
|
|
138
140
|
readonly HelixBeforeCloseEvent: typeof HelixBeforeCloseEvent;
|
package/dist/events/events.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HelixActionEvent } from './action.js';
|
|
2
2
|
import { HelixActivateEvent } from './activate.js';
|
|
3
3
|
import { HelixAuraFallbackEvent } from './aura-fallback.js';
|
|
4
|
+
import { HelixBandEvent } from './band.js';
|
|
4
5
|
import { HelixBeforeActivateEvent } from './before-activate.js';
|
|
5
6
|
import { HelixBeforeChangeEvent } from './before-change.js';
|
|
6
7
|
import { HelixBeforeCloseEvent } from './before-close.js';
|
|
@@ -85,11 +86,12 @@ import { HelixTourAskEvent } from './tour-ask.js';
|
|
|
85
86
|
import { HelixTourStatusEvent } from './tour-status.js';
|
|
86
87
|
import { HelixTypingEvent } from './typing.js';
|
|
87
88
|
export { helixEventNames } from './names.js';
|
|
88
|
-
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, };
|
|
89
|
+
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, };
|
|
89
90
|
const registry = {
|
|
90
91
|
HelixActionEvent,
|
|
91
92
|
HelixActivateEvent,
|
|
92
93
|
HelixAuraFallbackEvent,
|
|
94
|
+
HelixBandEvent,
|
|
93
95
|
HelixBeforeActivateEvent,
|
|
94
96
|
HelixBeforeChangeEvent,
|
|
95
97
|
HelixBeforeCloseEvent,
|
package/dist/events/names.d.ts
CHANGED
|
@@ -11,5 +11,8 @@
|
|
|
11
11
|
* bundle: a Badge shipped all eighty of them. As strings, a family ships the
|
|
12
12
|
* classes it dispatches and no others. `events.pure.spec.ts` holds this list to
|
|
13
13
|
* the classes, so a class added without its name here fails.
|
|
14
|
+
*
|
|
15
|
+
* **Without the shared `helix-`, and separated by spaces.** Every element carries this
|
|
16
|
+
* list, and as quoted strings each paid its quotes, its comma and the prefix.
|
|
14
17
|
*/
|
|
15
18
|
export declare const helixEventNames: ReadonlySet<string>;
|
package/dist/events/names.js
CHANGED
|
@@ -1,88 +1,13 @@
|
|
|
1
|
-
export const helixEventNames = new Set(
|
|
2
|
-
'
|
|
3
|
-
'
|
|
4
|
-
'
|
|
5
|
-
'
|
|
6
|
-
'
|
|
7
|
-
'
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'
|
|
13
|
-
|
|
14
|
-
'helix-before-reconnect',
|
|
15
|
-
'helix-before-relabel',
|
|
16
|
-
'helix-before-resize',
|
|
17
|
-
'helix-before-split',
|
|
18
|
-
'helix-before-toggle',
|
|
19
|
-
'helix-canvas-edit',
|
|
20
|
-
'helix-canvas-pan',
|
|
21
|
-
'helix-canvas-view',
|
|
22
|
-
'helix-canvas-zoom',
|
|
23
|
-
'helix-caret',
|
|
24
|
-
'helix-clear',
|
|
25
|
-
'helix-collapse',
|
|
26
|
-
'helix-complete',
|
|
27
|
-
'helix-connect',
|
|
28
|
-
'helix-console',
|
|
29
|
-
'helix-copy',
|
|
30
|
-
'helix-copy-error',
|
|
31
|
-
'helix-create',
|
|
32
|
-
'helix-dismiss',
|
|
33
|
-
'helix-edit',
|
|
34
|
-
'helix-end',
|
|
35
|
-
'helix-expand',
|
|
36
|
-
'helix-facet',
|
|
37
|
-
'helix-filter',
|
|
38
|
-
'helix-filtered',
|
|
39
|
-
'helix-graph-filter',
|
|
40
|
-
'helix-graph-layout',
|
|
41
|
-
'helix-graph-pan',
|
|
42
|
-
'helix-graph-part-change',
|
|
43
|
-
'helix-graph-ready',
|
|
44
|
-
'helix-graph-signal',
|
|
45
|
-
'helix-graph-zoom',
|
|
46
|
-
'helix-history',
|
|
47
|
-
'helix-load',
|
|
48
|
-
'helix-load-more',
|
|
49
|
-
'helix-map-cluster',
|
|
50
|
-
'helix-map-pan',
|
|
51
|
-
'helix-map-part-change',
|
|
52
|
-
'helix-map-ready',
|
|
53
|
-
'helix-map-rotate',
|
|
54
|
-
'helix-map-tilt',
|
|
55
|
-
'helix-map-zoom',
|
|
56
|
-
'helix-move',
|
|
57
|
-
'helix-navigate',
|
|
58
|
-
'helix-next',
|
|
59
|
-
'helix-panel-resize',
|
|
60
|
-
'helix-pin',
|
|
61
|
-
'helix-press',
|
|
62
|
-
'helix-preview',
|
|
63
|
-
'helix-previous',
|
|
64
|
-
'helix-range-change',
|
|
65
|
-
'helix-read',
|
|
66
|
-
'helix-reconnect',
|
|
67
|
-
'helix-reject',
|
|
68
|
-
'helix-relabel',
|
|
69
|
-
'helix-remove',
|
|
70
|
-
'helix-reorder',
|
|
71
|
-
'helix-reordered',
|
|
72
|
-
'helix-resize',
|
|
73
|
-
'helix-resized',
|
|
74
|
-
'helix-sample-end',
|
|
75
|
-
'helix-sample-start',
|
|
76
|
-
'helix-scrolled',
|
|
77
|
-
'helix-select',
|
|
78
|
-
'helix-selected',
|
|
79
|
-
'helix-send',
|
|
80
|
-
'helix-shortcut',
|
|
81
|
-
'helix-sort',
|
|
82
|
-
'helix-sorted',
|
|
83
|
-
'helix-split',
|
|
84
|
-
'helix-toggle',
|
|
85
|
-
'helix-tour-ask',
|
|
86
|
-
'helix-tour-status',
|
|
87
|
-
'helix-typing',
|
|
88
|
-
]);
|
|
1
|
+
export const helixEventNames = new Set(('action activate aura-fallback band before-activate before-change before-close ' +
|
|
2
|
+
'before-collapse before-edit before-move before-open before-panel-resize before-pin ' +
|
|
3
|
+
'before-reconnect before-relabel before-resize before-split before-toggle ' +
|
|
4
|
+
'canvas-edit canvas-pan canvas-view canvas-zoom caret clear collapse complete ' +
|
|
5
|
+
'connect console copy copy-error create dismiss edit end expand facet filter ' +
|
|
6
|
+
'filtered graph-filter graph-layout graph-pan graph-part-change graph-ready ' +
|
|
7
|
+
'graph-signal graph-zoom history load load-more map-cluster map-pan map-part-change ' +
|
|
8
|
+
'map-ready map-rotate map-tilt map-zoom move navigate next panel-resize pin press ' +
|
|
9
|
+
'preview previous range-change read reconnect reject relabel remove reorder ' +
|
|
10
|
+
'reordered resize resized sample-end sample-start scrolled select selected send ' +
|
|
11
|
+
'shortcut sort sorted split toggle tour-ask tour-status typing')
|
|
12
|
+
.split(' ')
|
|
13
|
+
.map((name) => `helix-${name}`));
|
|
@@ -1,41 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LitElement, unsafeCSS } from 'lit';
|
|
2
2
|
import { unsafeStatic } from 'lit/static-html.js';
|
|
3
3
|
import { measuring, reportRender } from '../utils/report-render/report-render.js';
|
|
4
4
|
import { noteVersion, reportUsage } from '../utils/report-usage/report-usage.js';
|
|
5
5
|
import { applyReactProperties, auditReactProps, bindReactHandler, reactPropsOf, } from './react-bridge.js';
|
|
6
|
-
const BOX_SIZING =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const HIDDEN = css `
|
|
14
|
-
:host([hidden]:not([hidden='until-found'])) {
|
|
15
|
-
display: none;
|
|
16
|
-
}
|
|
17
|
-
`;
|
|
18
|
-
const SCROLLER = css `
|
|
19
|
-
[data-scroller] {
|
|
20
|
-
overflow: auto;
|
|
21
|
-
}
|
|
22
|
-
`;
|
|
23
|
-
const VIRTUAL = css `
|
|
24
|
-
[data-virtual] {
|
|
25
|
-
overflow-anchor: none;
|
|
26
|
-
}
|
|
27
|
-
`;
|
|
28
|
-
const MIRROR = css `
|
|
29
|
-
:host(:dir(rtl)) [data-mirror] {
|
|
30
|
-
scale: -1 1;
|
|
31
|
-
}
|
|
32
|
-
`;
|
|
33
|
-
const SETTLED = css `
|
|
34
|
-
:host(:not(:state(settled))),
|
|
35
|
-
:host(:not(:state(settled))) * {
|
|
36
|
-
transition: none !important;
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
6
|
+
const BOX_SIZING = '*,::before,::after{box-sizing:border-box}';
|
|
7
|
+
const HIDDEN = ":host([hidden]:not([hidden='until-found'])){display:none}";
|
|
8
|
+
const SCROLLER = '[data-scroller]{overflow:auto}';
|
|
9
|
+
const VIRTUAL = '[data-virtual]{overflow-anchor:none}';
|
|
10
|
+
const MIRROR = ':host(:dir(rtl)) [data-mirror]{scale:-1 1}';
|
|
11
|
+
const SETTLED = ':host(:not(:state(settled))),:host(:not(:state(settled))) *{transition:none!important}';
|
|
12
|
+
const BASE = unsafeCSS(BOX_SIZING + HIDDEN + SCROLLER + VIRTUAL + MIRROR + SETTLED);
|
|
39
13
|
const LOOK_EVERY = 16;
|
|
40
14
|
const LOOK_FOR = 96;
|
|
41
15
|
export class HelixElement extends LitElement {
|
|
@@ -117,15 +91,7 @@ export class HelixElement extends LitElement {
|
|
|
117
91
|
}));
|
|
118
92
|
}
|
|
119
93
|
static finalizeStyles(styles) {
|
|
120
|
-
return [
|
|
121
|
-
BOX_SIZING,
|
|
122
|
-
HIDDEN,
|
|
123
|
-
SCROLLER,
|
|
124
|
-
VIRTUAL,
|
|
125
|
-
MIRROR,
|
|
126
|
-
SETTLED,
|
|
127
|
-
...LitElement.finalizeStyles(styles),
|
|
128
|
-
];
|
|
94
|
+
return [BASE, ...LitElement.finalizeStyles(styles)];
|
|
129
95
|
}
|
|
130
96
|
performUpdate() {
|
|
131
97
|
if (this.hasUpdated || !measuring()) {
|
|
@@ -56,6 +56,19 @@ export declare const auditReactProps: (host: EventTarget, props: Record<string,
|
|
|
56
56
|
* `reactNativeProp`.
|
|
57
57
|
*/
|
|
58
58
|
export declare const reactPropFor: (event: Event) => string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* React's casing for the native events whose names are two words run together.
|
|
61
|
+
*
|
|
62
|
+
* React spells these as two words, `onTimeUpdate` for `timeupdate`, and that
|
|
63
|
+
* is the prop its own `<video>` typings teach a consumer to write. The media
|
|
64
|
+
* names are the ones `Video` relays from its inner `<video>`; `scrollend` is
|
|
65
|
+
* `Scroll Area`'s. A single word needs no entry: its first letter is the whole
|
|
66
|
+
* of the rule.
|
|
67
|
+
*
|
|
68
|
+
* `@fusion.dev/helix-cem` keeps the same table for the typings it writes, and
|
|
69
|
+
* its spec holds that copy to this one.
|
|
70
|
+
*/
|
|
71
|
+
export declare const REACT_CASING: Readonly<Record<string, string>>;
|
|
59
72
|
/**
|
|
60
73
|
* The prop React reads for a native event: `onError` for `error`, and
|
|
61
74
|
* `onTimeUpdate` for `timeupdate`.
|
package/dist/index.d.ts
CHANGED
|
@@ -30,10 +30,10 @@ export { SwipeController, type SwipeOptions, } from './controllers/swipe-control
|
|
|
30
30
|
export { type TokenColor, TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
|
|
31
31
|
export { type Rendered, VirtualizeController, type VirtualizeOptions, type Window as VirtualizeWindow, } from './controllers/virtualize-controller/virtualize-controller.js';
|
|
32
32
|
export { eventsForTag, registerElementEvents } from './events/element-events.js';
|
|
33
|
-
export { type ActivateDetail, type AuraFallbackDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type PressDetail, type PressPointerType, type RangeDetail, type ReadDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type TourStatusDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
33
|
+
export { type ActivateDetail, type AuraFallbackDetail, type BandDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type PressDetail, type PressPointerType, type RangeDetail, type ReadDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type TourStatusDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
34
34
|
export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
|
|
35
35
|
export { HelixFormElement } from './helix-form-element/helix-form-element.js';
|
|
36
|
-
export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
|
|
36
|
+
export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, POSITION_LABEL, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
|
|
37
37
|
export { type CollectionElement, MixinCollection, } from './mixins/mixin-collection/mixin-collection.js';
|
|
38
38
|
export { MixinControllerActive, type MixinControllerActiveInterface, } from './mixins/mixin-controller-active/mixin-controller-active.js';
|
|
39
39
|
export { MixinControllerChecked, type MixinControllerCheckedInterface, } from './mixins/mixin-controller-checked/mixin-controller-checked.js';
|
|
@@ -42,6 +42,7 @@ export { MixinControllerValue, type MixinControllerValueInterface, } from './mix
|
|
|
42
42
|
export { type DismissibleElement, MixinDismissible, } from './mixins/mixin-dismissible/mixin-dismissible.js';
|
|
43
43
|
export { MixinField, type MixinFieldInterface } from './mixins/mixin-field/mixin-field.js';
|
|
44
44
|
export { MixinPickerEditing, type MixinPickerEditingInterface, } from './mixins/mixin-picker-editing/mixin-picker-editing.js';
|
|
45
|
+
export { MixinPickerFeedback, type MixinPickerFeedbackInterface, } from './mixins/mixin-picker-feedback/mixin-picker-feedback.js';
|
|
45
46
|
export { MixinPickerField, type MixinPickerFieldInterface, } from './mixins/mixin-picker-field/mixin-picker-field.js';
|
|
46
47
|
export { MixinSegmentedField, type MixinSegmentedFieldInterface, } from './mixins/mixin-segmented-field/mixin-segmented-field.js';
|
|
47
48
|
export { MixinSelectableItem, type MixinSelectableItemInterface, } from './mixins/mixin-selectable-item/mixin-selectable-item.js';
|
|
@@ -51,7 +52,8 @@ export { anchorElement } from './utils/anchor-element/anchor-element.js';
|
|
|
51
52
|
export { arrowReach, sideOf } from './utils/arrow/arrow.js';
|
|
52
53
|
export { addDays, addMonths, type Barring, barredBy, type CalendarView, localToday, monthOf, monthOut, type PeriodCell, type PeriodPage, periodCells, periodKey, periodMove, sameMonth, weekStartOf, YEARS_SHOWN, yearOut, yearPageOf, } from './utils/calendar/calendar.js';
|
|
53
54
|
export { capturePointer } from './utils/capture-pointer/capture-pointer.js';
|
|
54
|
-
export { ariaChord, type ChordPress, chordParts, matchesChord, printableChord, } from './utils/chord/chord.js';
|
|
55
|
+
export { ariaChord, type ChordPress, chordParts, matchesChord, printableChord, selectsAll, } from './utils/chord/chord.js';
|
|
56
|
+
export { clamp } from './utils/clamp/clamp.js';
|
|
55
57
|
export { clockLocale, dayPeriod, type HourCycle, isTwelveHour, nearestTime, offeredTimes, type TimeFault, type TimeRules, timeBarred, timeFault, wheelParts, wholeHour, } from './utils/clock/clock.js';
|
|
56
58
|
export { closestInstance } from './utils/closest-instance/closest-instance.js';
|
|
57
59
|
export { type ColorWords, colorName, hueName } from './utils/color-name/color-name.js';
|
|
@@ -72,22 +74,28 @@ export { formatNumbers } from './utils/format-numbers/format-numbers.js';
|
|
|
72
74
|
export { headingIn, headingsIn } from './utils/heading-in/heading-in.js';
|
|
73
75
|
export { headingLevel } from './utils/heading-level/heading-level.js';
|
|
74
76
|
export { type HostAria, hostAria } from './utils/host-aria/host-aria.js';
|
|
77
|
+
export { hostWords } from './utils/host-words/host-words.js';
|
|
75
78
|
export { defaultButton, submitImplicitly, submits, submitsOnEnter, } from './utils/implicit-submit/implicit-submit.js';
|
|
76
79
|
export { type DisableableItem, forgetDisabled, inheritDisabled, } from './utils/inherit-disabled/inherit-disabled.js';
|
|
77
80
|
export { inlineStep } from './utils/inline-step/inline-step.js';
|
|
78
81
|
export { isRtl } from './utils/is-rtl/is-rtl.js';
|
|
79
82
|
export { keyClaimed } from './utils/key-claimed/key-claimed.js';
|
|
80
83
|
export { type Curve, linePath, type Point } from './utils/line-path/line-path.js';
|
|
84
|
+
export { type EndInSight, endInSight } from './utils/load-more/load-more.js';
|
|
85
|
+
export { localeOf } from './utils/locale-of/locale-of.js';
|
|
81
86
|
export { markRegion, type RegionOptions } from './utils/mark-region/mark-region.js';
|
|
82
87
|
export { copiesOf, type MediaCopy, sameCopies, } from './utils/media-copy/media-copy.js';
|
|
83
|
-
export {
|
|
88
|
+
export { nameText } from './utils/name-text/name-text.js';
|
|
89
|
+
export { nearest } from './utils/nearest/nearest.js';
|
|
90
|
+
export { formatNumber, parseNumber, readingText } from './utils/number-format/number-format.js';
|
|
84
91
|
export { onUnlessFalse } from './utils/on-unless-false/on-unless-false.js';
|
|
92
|
+
export { applyOwnRule, type OwnRule } from './utils/own-rule/own-rule.js';
|
|
85
93
|
export { plainClick } from './utils/plain-click/plain-click.js';
|
|
86
|
-
export { appleTouch, onApple, type Platform } from './utils/platform/platform.js';
|
|
94
|
+
export { appleTouch, onAndroid, onApple, type Platform } from './utils/platform/platform.js';
|
|
87
95
|
export { pressType, type RecentPress } from './utils/press-type/press-type.js';
|
|
88
96
|
export { rangeAdd } from './utils/range-add/range-add.js';
|
|
89
97
|
export { type ColorBytes, readColor, rgbOf } from './utils/read-color/read-color.js';
|
|
90
|
-
export { byRow, type Row, type RowCell, readRows, readSeries, type Series, type SeriesPoint, seriesKey, unbroken, } from './utils/read-series/read-series.js';
|
|
98
|
+
export { byRow, type Extremes, extremesOf, type Row, type RowCell, readRows, readSeries, type Series, type SeriesPoint, seriesKey, unbroken, } from './utils/read-series/read-series.js';
|
|
91
99
|
export { type ElementsProperty, linkDescription, reflectElements, unlinkDescription, } from './utils/reflect-elements/reflect-elements.js';
|
|
92
100
|
export { type Relative, type RelativeOptions, relativeTime, } from './utils/relative-time/relative-time.js';
|
|
93
101
|
export { measuring, RENDER_SLOT, reportRender } from './utils/report-render/report-render.js';
|
|
@@ -102,9 +110,10 @@ export { valueAt } from './utils/row-data/row-data.js';
|
|
|
102
110
|
export { type Arranged, type Axis, arranged, cycle, type DataRow, filter, format, type Ordered, ordered, parse, type Sort, sort, window_, } from './utils/row-order/row-order.js';
|
|
103
111
|
export { extent, linear, type Scale } from './utils/scale/scale.js';
|
|
104
112
|
export { ticks } from './utils/scale/ticks.js';
|
|
105
|
-
export { type ScrollItemOptions, scrollItemIntoView, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
|
|
113
|
+
export { type ScrollerOptions, type ScrollItemOptions, scrollItemIntoView, scrollingAncestor, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
|
|
106
114
|
export { lockScroll, scrollHolders, unlockScroll } from './utils/scroll-lock/scroll-lock.js';
|
|
107
115
|
export { slotFilled } from './utils/slot-filled/slot-filled.js';
|
|
116
|
+
export { SlottedGlyph } from './utils/slotted-glyph/slotted-glyph.js';
|
|
108
117
|
export { slottedWords } from './utils/slotted-words/slotted-words.js';
|
|
109
118
|
export { splitValues } from './utils/split-values/split-values.js';
|
|
110
119
|
export { edgeOffset, FLING, parseSnapPoints, type SwipeAxis, type SwipeEdge, type SwipeRelease, settleSwipe, snapTravel, swipeAxis, swipeEdge, swipeStep, towardEdge, } from './utils/swipe/swipe.js';
|
|
@@ -112,10 +121,10 @@ export { tellDisclosure } from './utils/tell-disclosure/tell-disclosure.js';
|
|
|
112
121
|
export { subscribe } from './utils/ticker/ticker.js';
|
|
113
122
|
export { type HelixStatusTone, TONE_MARKS, type ToneMark, toneMark, } from './utils/tone-marks/tone-marks.js';
|
|
114
123
|
export { type TreeArrow, type TreeArrowRow, treeArrow } from './utils/tree-arrow/tree-arrow.js';
|
|
115
|
-
export { Typeahead, type TypeaheadBy, typeaheadBy, typesCharacter, } from './utils/typeahead/typeahead.js';
|
|
124
|
+
export { Typeahead, type TypeaheadBy, typeaheadBy, typeaheadByWords, typesCharacter, } from './utils/typeahead/typeahead.js';
|
|
116
125
|
export { dateAsValue, isClockValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, secondsAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsSeconds, valueAsTime, } from './utils/value-as/value-as.js';
|
|
117
126
|
export { watchTheme } from './utils/watch-theme/watch-theme.js';
|
|
118
127
|
export { wordsConverter } from './utils/words-converter/words-converter.js';
|
|
119
128
|
export { writeClock, writeTime } from './utils/write-time/write-time.js';
|
|
120
|
-
export { commaList, pressedValue, prunedValue, type SelectionMode, toggleEvery, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
|
|
129
|
+
export { anchorAt, commaList, everyState, inRowOrder, pressedValue, prunedValue, type SelectionMode, toggleEvery, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
|
|
121
130
|
export { VERSION } from './version.js';
|