@fusion.dev/helix-core 0.145.0 → 0.146.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 +5203 -1777
- package/dist/controllers/aria-forward-controller/aria-forward-controller.d.ts +3 -2
- package/dist/controllers/aria-forward-controller/aria-forward-controller.js +3 -14
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.d.ts +65 -3
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.js +37 -9
- package/dist/controllers/chart-pointer-controller/reading-step.d.ts +7 -1
- package/dist/controllers/chart-pointer-controller/reading-step.js +5 -0
- package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.d.ts +9 -55
- package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.js +7 -39
- package/dist/controllers/relative-clock-controller/relative-clock-controller.d.ts +44 -0
- package/dist/controllers/relative-clock-controller/relative-clock-controller.js +31 -0
- package/dist/controllers/source-controller/source-controller.d.ts +10 -3
- package/dist/controllers/source-controller/source-controller.js +7 -4
- package/dist/controllers/virtualize-controller/virtualize-controller.d.ts +48 -1
- package/dist/controllers/virtualize-controller/virtualize-controller.js +50 -7
- package/dist/events/action.d.ts +12 -0
- package/dist/events/action.js +6 -0
- package/dist/events/activate.d.ts +22 -0
- package/dist/events/activate.js +11 -0
- package/dist/events/aura-fallback.d.ts +12 -0
- package/dist/events/aura-fallback.js +11 -0
- package/dist/events/before-activate.d.ts +24 -0
- package/dist/events/before-activate.js +11 -0
- package/dist/events/before-change.d.ts +26 -0
- package/dist/events/before-change.js +11 -0
- package/dist/events/before-close.d.ts +6 -0
- package/dist/events/before-close.js +11 -0
- package/dist/events/before-collapse.d.ts +6 -0
- package/dist/events/before-collapse.js +11 -0
- package/dist/events/before-edit.d.ts +6 -0
- package/dist/events/before-edit.js +11 -0
- package/dist/events/before-move.d.ts +17 -0
- package/dist/events/before-move.js +11 -0
- package/dist/events/before-open.d.ts +17 -0
- package/dist/events/before-open.js +11 -0
- package/dist/events/before-panel-resize.d.ts +13 -0
- package/dist/events/before-panel-resize.js +11 -0
- package/dist/events/before-pin.d.ts +6 -0
- package/dist/events/before-pin.js +11 -0
- package/dist/events/before-reconnect.d.ts +14 -0
- package/dist/events/before-reconnect.js +11 -0
- package/dist/events/before-relabel.d.ts +15 -0
- package/dist/events/before-relabel.js +11 -0
- package/dist/events/before-resize.d.ts +6 -0
- package/dist/events/before-resize.js +11 -0
- package/dist/events/before-split.d.ts +12 -0
- package/dist/events/before-split.js +11 -0
- package/dist/events/before-toggle.d.ts +23 -0
- package/dist/events/before-toggle.js +11 -0
- package/dist/events/canvas-edit.d.ts +16 -0
- package/dist/events/canvas-edit.js +11 -0
- package/dist/events/canvas-pan.d.ts +13 -0
- package/dist/events/canvas-pan.js +11 -0
- package/dist/events/canvas-view.d.ts +14 -0
- package/dist/events/canvas-view.js +11 -0
- package/dist/events/canvas-zoom.d.ts +6 -0
- package/dist/events/canvas-zoom.js +11 -0
- package/dist/events/caret.d.ts +17 -0
- package/dist/events/caret.js +11 -0
- package/dist/events/clear.d.ts +11 -0
- package/dist/events/clear.js +6 -0
- package/dist/events/collapse.d.ts +12 -0
- package/dist/events/collapse.js +11 -0
- package/dist/events/complete.d.ts +26 -0
- package/dist/events/complete.js +11 -0
- package/dist/events/connect.d.ts +14 -0
- package/dist/events/connect.js +11 -0
- package/dist/events/console.d.ts +13 -0
- package/dist/events/console.js +11 -0
- package/dist/events/copy-error.d.ts +9 -0
- package/dist/events/copy-error.js +6 -0
- package/dist/events/copy.d.ts +12 -0
- package/dist/events/copy.js +10 -0
- package/dist/events/create.d.ts +18 -0
- package/dist/events/create.js +11 -0
- package/dist/events/details.d.ts +454 -0
- package/dist/events/details.js +1 -0
- package/dist/events/dismiss.d.ts +16 -0
- package/dist/events/dismiss.js +11 -0
- package/dist/events/edit.d.ts +12 -0
- package/dist/events/edit.js +11 -0
- package/dist/events/end.d.ts +9 -0
- package/dist/events/end.js +6 -0
- package/dist/events/events.d.ts +111 -1478
- package/dist/events/events.js +91 -863
- package/dist/events/expand.d.ts +10 -0
- package/dist/events/expand.js +11 -0
- package/dist/events/facet.d.ts +17 -0
- package/dist/events/facet.js +11 -0
- package/dist/events/filter.d.ts +12 -0
- package/dist/events/filter.js +11 -0
- package/dist/events/filtered.d.ts +12 -0
- package/dist/events/filtered.js +11 -0
- package/dist/events/graph-filter.d.ts +10 -0
- package/dist/events/graph-filter.js +11 -0
- package/dist/events/graph-layout.d.ts +10 -0
- package/dist/events/graph-layout.js +11 -0
- package/dist/events/graph-pan.d.ts +9 -0
- package/dist/events/graph-pan.js +11 -0
- package/dist/events/graph-part-change.d.ts +10 -0
- package/dist/events/graph-part-change.js +11 -0
- package/dist/events/graph-ready.d.ts +8 -0
- package/dist/events/graph-ready.js +6 -0
- package/dist/events/graph-signal.d.ts +11 -0
- package/dist/events/graph-signal.js +11 -0
- package/dist/events/graph-zoom.d.ts +6 -0
- package/dist/events/graph-zoom.js +11 -0
- package/dist/events/history.d.ts +16 -0
- package/dist/events/history.js +11 -0
- package/dist/events/load-more.d.ts +12 -0
- package/dist/events/load-more.js +6 -0
- package/dist/events/load.d.ts +12 -0
- package/dist/events/load.js +6 -0
- package/dist/events/map-cluster.d.ts +15 -0
- package/dist/events/map-cluster.js +11 -0
- package/dist/events/map-pan.d.ts +18 -0
- package/dist/events/map-pan.js +11 -0
- package/dist/events/map-part-change.d.ts +16 -0
- package/dist/events/map-part-change.js +11 -0
- package/dist/events/map-ready.d.ts +15 -0
- package/dist/events/map-ready.js +6 -0
- package/dist/events/map-rotate.d.ts +9 -0
- package/dist/events/map-rotate.js +11 -0
- package/dist/events/map-tilt.d.ts +9 -0
- package/dist/events/map-tilt.js +11 -0
- package/dist/events/map-zoom.d.ts +13 -0
- package/dist/events/map-zoom.js +11 -0
- package/dist/events/move.d.ts +11 -0
- package/dist/events/move.js +11 -0
- package/dist/events/names.d.ts +15 -0
- package/dist/events/names.js +88 -0
- package/dist/events/navigate.d.ts +13 -0
- package/dist/events/navigate.js +11 -0
- package/dist/events/next.d.ts +23 -0
- package/dist/events/next.js +11 -0
- package/dist/events/panel-resize.d.ts +12 -0
- package/dist/events/panel-resize.js +11 -0
- package/dist/events/pin.d.ts +12 -0
- package/dist/events/pin.js +11 -0
- package/dist/events/press.d.ts +19 -0
- package/dist/events/press.js +11 -0
- package/dist/events/preview.d.ts +14 -0
- package/dist/events/preview.js +11 -0
- package/dist/events/previous.d.ts +6 -0
- package/dist/events/previous.js +11 -0
- package/dist/events/range-change.d.ts +10 -0
- package/dist/events/range-change.js +11 -0
- package/dist/events/read.d.ts +19 -0
- package/dist/events/read.js +11 -0
- package/dist/events/reconnect.d.ts +6 -0
- package/dist/events/reconnect.js +11 -0
- package/dist/events/reject.d.ts +13 -0
- package/dist/events/reject.js +11 -0
- package/dist/events/relabel.d.ts +6 -0
- package/dist/events/relabel.js +11 -0
- package/dist/events/remove.d.ts +12 -0
- package/dist/events/remove.js +11 -0
- package/dist/events/reorder.d.ts +18 -0
- package/dist/events/reorder.js +11 -0
- package/dist/events/reordered.d.ts +12 -0
- package/dist/events/reordered.js +11 -0
- package/dist/events/resize.d.ts +19 -0
- package/dist/events/resize.js +11 -0
- package/dist/events/resized.d.ts +16 -0
- package/dist/events/resized.js +11 -0
- package/dist/events/sample-end.d.ts +5 -0
- package/dist/events/sample-end.js +6 -0
- package/dist/events/sample-start.d.ts +18 -0
- package/dist/events/sample-start.js +6 -0
- package/dist/events/scrolled.d.ts +32 -0
- package/dist/events/scrolled.js +11 -0
- package/dist/events/select.d.ts +12 -0
- package/dist/events/select.js +11 -0
- package/dist/events/selected.d.ts +12 -0
- package/dist/events/selected.js +11 -0
- package/dist/events/send.d.ts +18 -0
- package/dist/events/send.js +11 -0
- package/dist/events/shortcut.d.ts +13 -0
- package/dist/events/shortcut.js +11 -0
- package/dist/events/sort.d.ts +17 -0
- package/dist/events/sort.js +11 -0
- package/dist/events/sorted.d.ts +15 -0
- package/dist/events/sorted.js +11 -0
- package/dist/events/split.d.ts +12 -0
- package/dist/events/split.js +11 -0
- package/dist/events/toggle.d.ts +15 -0
- package/dist/events/toggle.js +11 -0
- package/dist/events/tour-ask.d.ts +16 -0
- package/dist/events/tour-ask.js +11 -0
- package/dist/events/tour-status.d.ts +14 -0
- package/dist/events/tour-status.js +11 -0
- package/dist/events/typing.d.ts +10 -0
- package/dist/events/typing.js +11 -0
- package/dist/helix-element/react-bridge.d.ts +10 -0
- package/dist/helix-element/react-bridge.js +1 -1
- package/dist/helix-form-element/helix-form-element.d.ts +5 -20
- package/dist/helix-form-element/helix-form-element.js +4 -56
- package/dist/index.d.ts +15 -3
- package/dist/index.js +15 -3
- package/dist/mixins/mixin-chart-source/mixin-chart-source.d.ts +17 -2
- package/dist/mixins/mixin-chart-source/mixin-chart-source.js +22 -1
- package/dist/mixins/mixin-controller-active/mixin-controller-active.js +4 -3
- package/dist/mixins/mixin-controller-checked/mixin-controller-checked.d.ts +5 -2
- package/dist/mixins/mixin-controller-checked/mixin-controller-checked.js +2 -1
- package/dist/mixins/mixin-controller-value/mixin-controller-value.d.ts +4 -2
- package/dist/mixins/mixin-controller-value/mixin-controller-value.js +7 -2
- package/dist/mixins/mixin-dismissible/mixin-dismissible.js +20 -4
- package/dist/mixins/mixin-field/mixin-field.js +2 -2
- package/dist/mixins/mixin-picker-field/mixin-picker-field.d.ts +15 -3
- package/dist/mixins/mixin-picker-field/mixin-picker-field.js +11 -4
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.d.ts +1 -1
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.js +10 -4
- package/dist/utils/audit-name/audit-name-off.d.ts +10 -0
- package/dist/utils/audit-name/audit-name-off.js +1 -0
- package/dist/utils/audit-name/audit-name.d.ts +19 -6
- package/dist/utils/audit-name/audit-name.js +10 -27
- package/dist/utils/calendar/calendar.js +7 -7
- package/dist/utils/draw-tooltip/draw-tooltip.d.ts +1 -1
- package/dist/utils/draw-tooltip/draw-tooltip.js +3 -1
- package/dist/utils/draw-tooltip/spoken-reading.d.ts +6 -2
- package/dist/utils/draw-tooltip/spoken-reading.js +5 -4
- package/dist/utils/heading-level/heading-level.d.ts +8 -0
- package/dist/utils/heading-level/heading-level.js +4 -0
- package/dist/utils/implicit-submit/implicit-submit.d.ts +25 -0
- package/dist/utils/implicit-submit/implicit-submit.js +52 -0
- package/dist/utils/name-text/name-text.d.ts +12 -0
- package/dist/utils/name-text/name-text.js +25 -0
- package/dist/utils/number-format/number-format.d.ts +2 -1
- package/dist/utils/number-format/number-format.js +13 -5
- package/dist/utils/plain-click/plain-click.d.ts +10 -0
- package/dist/utils/plain-click/plain-click.js +1 -0
- package/dist/utils/press-type/press-type.d.ts +20 -0
- package/dist/utils/press-type/press-type.js +15 -0
- package/dist/utils/report-runtime/report-runtime.d.ts +6 -3
- package/dist/utils/row-data/row-data.d.ts +15 -0
- package/dist/utils/row-data/row-data.js +17 -0
- package/dist/utils/row-order/row-order.d.ts +141 -0
- package/dist/utils/row-order/row-order.js +76 -0
- package/dist/utils/tell-disclosure/tell-disclosure.d.ts +4 -0
- package/dist/utils/tree-arrow/tree-arrow.d.ts +23 -0
- package/dist/utils/tree-arrow/tree-arrow.js +9 -0
- package/dist/utils/typeahead/typeahead.d.ts +67 -0
- package/dist/utils/typeahead/typeahead.js +36 -0
- package/dist/utils/value-as/value-as.d.ts +9 -0
- package/dist/utils/value-as/value-as.js +9 -1
- package/dist/utils/watch-labels/watch-labels.d.ts +16 -0
- package/dist/utils/watch-labels/watch-labels.js +34 -0
- package/dist/utils/words-converter/words-converter.d.ts +14 -0
- package/dist/utils/words-converter/words-converter.js +15 -0
- package/dist/utils/written-list/written-list.d.ts +29 -0
- package/dist/utils/written-list/written-list.js +30 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +18 -5
package/dist/events/events.d.ts
CHANGED
|
@@ -11,1476 +11,115 @@
|
|
|
11
11
|
* for consumers writing plain HTML, who never see the React wrappers.
|
|
12
12
|
* 3. The event name lives on the class as `eventName`, so a listener and a
|
|
13
13
|
* dispatch cannot disagree about the string.
|
|
14
|
-
*/
|
|
15
|
-
/** Detail carried by `helix-before-open` and `helix-before-close`. */
|
|
16
|
-
export interface OpenDetail {
|
|
17
|
-
/** The state the element is moving to. */
|
|
18
|
-
open: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Fired when an element is about to open.
|
|
22
|
-
*
|
|
23
|
-
* Cancelable: `preventDefault()` refuses the change, and the element stays
|
|
24
|
-
* closed. Paired with `helix-before-close` rather than being one event carrying a
|
|
25
|
-
* boolean, so a listener that only cares about one direction says so by which
|
|
26
|
-
* event it listens for.
|
|
27
|
-
*
|
|
28
|
-
* Neither bubbles nor composed. A dialog inside a drawer inside a popover is
|
|
29
|
-
* three overlays, and an inner one opening must not read as the outer one
|
|
30
|
-
* opening.
|
|
31
|
-
*/
|
|
32
|
-
export declare class HelixBeforeOpenEvent extends CustomEvent<OpenDetail> {
|
|
33
|
-
static readonly eventName = "helix-before-open";
|
|
34
|
-
constructor();
|
|
35
|
-
}
|
|
36
|
-
/** Fired when an element is about to close. See `HelixBeforeOpenEvent`. */
|
|
37
|
-
export declare class HelixBeforeCloseEvent extends CustomEvent<OpenDetail> {
|
|
38
|
-
static readonly eventName = "helix-before-close";
|
|
39
|
-
constructor();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Fired when the reader asks for the next thing in a set.
|
|
43
|
-
*
|
|
44
|
-
* Paired with `helix-previous` rather than being one event carrying a
|
|
45
|
-
* direction, which is the reason `helix-before-open` gives for its own pair: a
|
|
46
|
-
* listener that only cares about one direction says so by which event it
|
|
47
|
-
* listens for. The detail carries the direction anyway, so a consumer who does
|
|
48
|
-
* want one handler can have one.
|
|
49
|
-
*
|
|
50
|
-
* Bubbles and is composed, because the thing that answers this is usually not
|
|
51
|
-
* the thing that asked. A video has no notion of a set: it plays one resource,
|
|
52
|
-
* and what comes next is a playlist's business or the consumer's, so the event
|
|
53
|
-
* has to reach a wrapper.
|
|
54
|
-
*
|
|
55
|
-
* Not cancelable. There is no default action to refuse: the component that
|
|
56
|
-
* fires this does nothing on its own, and an event whose `preventDefault` means
|
|
57
|
-
* nothing is an event that lies about what it offers.
|
|
58
|
-
*/
|
|
59
|
-
export declare class HelixNextEvent extends CustomEvent<SkipDetail> {
|
|
60
|
-
static readonly eventName = "helix-next";
|
|
61
|
-
constructor();
|
|
62
|
-
}
|
|
63
|
-
/** Fired when the reader asks for the previous one. See `HelixNextEvent`. */
|
|
64
|
-
export declare class HelixPreviousEvent extends CustomEvent<SkipDetail> {
|
|
65
|
-
static readonly eventName = "helix-previous";
|
|
66
|
-
constructor();
|
|
67
|
-
}
|
|
68
|
-
/** Detail carried by `helix-next` and `helix-previous`. */
|
|
69
|
-
export interface SkipDetail {
|
|
70
|
-
/** Which way the reader asked to go. */
|
|
71
|
-
to: 'next' | 'previous';
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Detail carried by a pan request, `helix-map-pan` being the one Map sends.
|
|
75
|
-
*
|
|
76
|
-
* Named for the surface rather than for the map, because the surface is shared:
|
|
77
|
-
* `MixinViewport` is what asks, and a canvas or a graph asking the same question
|
|
78
|
-
* should not be importing a type with `Map` in its name. `MapPanDetail` stays as
|
|
79
|
-
* an alias, that being what a consumer of Map wrote before this was split.
|
|
80
|
-
*/
|
|
81
|
-
export interface ViewportPanDetail {
|
|
82
|
-
/** Which way the reader asked to go, in reading order rather than compass order. */
|
|
83
|
-
to: 'up' | 'down' | 'start' | 'end';
|
|
84
|
-
/** How far, as a fraction of the viewport the map is drawn in. */
|
|
85
|
-
by: number;
|
|
86
|
-
}
|
|
87
|
-
/** Detail carried by a zoom request, named for the surface for the same reason. */
|
|
88
|
-
export interface ViewportZoomDetail {
|
|
89
|
-
/** Which way, `1` in and `-1` out, so a consumer can multiply by their own step. */
|
|
90
|
-
by: number;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* The board moved, which on a canvas is a fact rather than a request.
|
|
94
|
-
*
|
|
95
|
-
* **`Map` asks and `Canvas` tells, and the difference is who draws.** A map is
|
|
96
|
-
* somebody else's, so the frame can only ask them to move it; a canvas is drawn
|
|
97
|
-
* here from a document, so the same press moves it and this says that it did.
|
|
98
|
-
* The detail is the same shape either way, being a direction and a distance.
|
|
99
|
-
*/
|
|
100
|
-
export declare class HelixCanvasPanEvent extends CustomEvent<ViewportPanDetail> {
|
|
101
|
-
static readonly eventName = "helix-canvas-pan";
|
|
102
|
-
constructor(detail: ViewportPanDetail);
|
|
103
|
-
}
|
|
104
|
-
/** The board zoomed, and told, for the same reason. */
|
|
105
|
-
export declare class HelixCanvasZoomEvent extends CustomEvent<ViewportZoomDetail> {
|
|
106
|
-
static readonly eventName = "helix-canvas-zoom";
|
|
107
|
-
constructor(detail: ViewportZoomDetail);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Where a move or a resize puts each card it carries, in the board's own
|
|
111
|
-
* units.
|
|
112
|
-
*
|
|
113
|
-
* **One contract for both**, because what a controlled page does with either
|
|
114
|
-
* is the same: write the geometry the detail says onto the cards it renders. A
|
|
115
|
-
* resize says `width` and `height` as well, and moves `x` and `y` too when it
|
|
116
|
-
* is dragged from a corner other than the bottom right.
|
|
117
|
-
*/
|
|
118
|
-
export interface MoveDetail {
|
|
119
|
-
/**
|
|
120
|
-
* Every card the gesture moves, the one the reader took hold of first.
|
|
121
|
-
*
|
|
122
|
-
* **A list, because a group carries what is inside it.** Dragging a group
|
|
123
|
-
* moves its cards with it, which is what every board does, and a controlled
|
|
124
|
-
* consumer who refuses the move has to write every position it would have
|
|
125
|
-
* written, not only the one the pointer was on.
|
|
126
|
-
*/
|
|
127
|
-
nodes: Array<{
|
|
128
|
-
name: string;
|
|
129
|
-
x: number;
|
|
130
|
-
y: number;
|
|
131
|
-
width?: number;
|
|
132
|
-
height?: number;
|
|
133
|
-
}>;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Cards are about to move, and can be refused.
|
|
137
|
-
*
|
|
138
|
-
* **This is the controlled half, the way `helix-before-open` is for a
|
|
139
|
-
* dialog.** A board moves its own cards by default, writing `x` and `y` onto
|
|
140
|
-
* each one the way an input writes its own value. A consumer who keeps the
|
|
141
|
-
* positions in their own state calls `preventDefault()` here, writes what the
|
|
142
|
-
* detail says into that state, and renders the cards where it puts them.
|
|
143
|
-
*
|
|
144
|
-
* Sent for every step of a drag, so a controlled board follows the pointer
|
|
145
|
-
* rather than jumping on the drop.
|
|
146
|
-
*/
|
|
147
|
-
export declare class HelixBeforeMoveEvent extends CustomEvent<MoveDetail> {
|
|
148
|
-
static readonly eventName = "helix-before-move";
|
|
149
|
-
constructor(detail: MoveDetail);
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Cards moved, and the move is finished: a drag let go, or a key press.
|
|
153
|
-
*
|
|
154
|
-
* The `change` to `helix-before-move`'s `input`: what a consumer binds who
|
|
155
|
-
* only wants to save a board once somebody has finished rearranging it.
|
|
156
|
-
*/
|
|
157
|
-
export declare class HelixMoveEvent extends CustomEvent<MoveDetail> {
|
|
158
|
-
static readonly eventName = "helix-move";
|
|
159
|
-
constructor(detail: MoveDetail);
|
|
160
|
-
}
|
|
161
|
-
/** Which two cards a reader asked to join, by name, and the side they started from. */
|
|
162
|
-
export interface ConnectDetail {
|
|
163
|
-
from: string;
|
|
164
|
-
to: string;
|
|
165
|
-
/** The side the reader drew from, where they drew from one. */
|
|
166
|
-
fromSide?: 'top' | 'right' | 'bottom' | 'left' | undefined;
|
|
167
|
-
/** The side nearest where they let go, where they let go over a card. */
|
|
168
|
-
toSide?: 'top' | 'right' | 'bottom' | 'left' | undefined;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* A reader asked for two cards to be joined.
|
|
172
|
-
*
|
|
173
|
-
* **A request with no default, which is the difference from a move.** A board
|
|
174
|
-
* writes a card's position onto the card, because the card is already there.
|
|
175
|
-
* A connection is a new element, and a board that added one to markup React
|
|
176
|
-
* renders would have it put back or thrown away on the next render. So the board
|
|
177
|
-
* asks and the page adds the `helix-canvas-edge`, the way `Map` asks to be panned.
|
|
178
|
-
*/
|
|
179
|
-
export declare class HelixConnectEvent extends CustomEvent<ConnectDetail> {
|
|
180
|
-
static readonly eventName = "helix-connect";
|
|
181
|
-
constructor(detail: ConnectDetail);
|
|
182
|
-
}
|
|
183
|
-
/** Where a connection's ends are going, and where they were. */
|
|
184
|
-
export interface ReconnectDetail {
|
|
185
|
-
/** The connection's name, where it has one. */
|
|
186
|
-
name: string;
|
|
187
|
-
/** Its ends before, so a page that named none of its connections can find it. */
|
|
188
|
-
was: {
|
|
189
|
-
from: string;
|
|
190
|
-
to: string;
|
|
191
|
-
};
|
|
192
|
-
from: string;
|
|
193
|
-
to: string;
|
|
194
|
-
fromSide?: 'top' | 'right' | 'bottom' | 'left' | undefined;
|
|
195
|
-
toSide?: 'top' | 'right' | 'bottom' | 'left' | undefined;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* A connection's end is about to move to another card or another side, and can
|
|
199
|
-
* be refused.
|
|
200
|
-
*
|
|
201
|
-
* **A move, not a request, and that is the difference from `helix-connect`.**
|
|
202
|
-
* The connection is already an element on the page, so the board rewrites its
|
|
203
|
-
* ends itself, the way it writes a card's position onto the card; a page that
|
|
204
|
-
* holds its connections in state refuses this and writes them there.
|
|
205
|
-
*/
|
|
206
|
-
export declare class HelixBeforeReconnectEvent extends CustomEvent<ReconnectDetail> {
|
|
207
|
-
static readonly eventName = "helix-before-reconnect";
|
|
208
|
-
constructor(detail: ReconnectDetail);
|
|
209
|
-
}
|
|
210
|
-
/** A connection's end moved, and the move is finished. */
|
|
211
|
-
export declare class HelixReconnectEvent extends CustomEvent<ReconnectDetail> {
|
|
212
|
-
static readonly eventName = "helix-reconnect";
|
|
213
|
-
constructor(detail: ReconnectDetail);
|
|
214
|
-
}
|
|
215
|
-
/** A label a reader rewrote on a board, and what it said before. */
|
|
216
|
-
export interface RelabelDetail {
|
|
217
|
-
/** What was relabelled: a connection, or a group, whose name the board draws. */
|
|
218
|
-
target: 'edge' | 'group';
|
|
219
|
-
/** Its name on the board. */
|
|
220
|
-
name: string;
|
|
221
|
-
/** A connection's ends, so a page that named none of its connections can find it. */
|
|
222
|
-
from?: string | undefined;
|
|
223
|
-
to?: string | undefined;
|
|
224
|
-
/** The new label, empty for none. */
|
|
225
|
-
label: string;
|
|
226
|
-
/** The label before. */
|
|
227
|
-
was: string;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* A label the board draws is about to change, and can be refused.
|
|
231
|
-
*
|
|
232
|
-
* **The board edits what it draws and asks for what it does not.** A
|
|
233
|
-
* connection's label and a group's name are drawn by the board from an
|
|
234
|
-
* attribute, so the board edits them in place and writes the attribute back,
|
|
235
|
-
* the way it writes a card's position; a page holding them in state refuses
|
|
236
|
-
* this and writes them there. A card's own content is the page's, which is why
|
|
237
|
-
* that is `helix-canvas-edit`, a request, rather than this.
|
|
238
|
-
*/
|
|
239
|
-
export declare class HelixBeforeRelabelEvent extends CustomEvent<RelabelDetail> {
|
|
240
|
-
static readonly eventName = "helix-before-relabel";
|
|
241
|
-
constructor(detail: RelabelDetail);
|
|
242
|
-
}
|
|
243
|
-
/** A label the board draws changed. */
|
|
244
|
-
export declare class HelixRelabelEvent extends CustomEvent<RelabelDetail> {
|
|
245
|
-
static readonly eventName = "helix-relabel";
|
|
246
|
-
constructor(detail: RelabelDetail);
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* A reader asked to edit a card: a double-click, or Enter or F2 on it.
|
|
250
|
-
*
|
|
251
|
-
* **A request, because what a card holds is the page's.** Text, a picture, a
|
|
252
|
-
* chart: the board cannot know what editing any of those means, so it says
|
|
253
|
-
* which card and the page opens its own editor, in place, in a dialog, or in a
|
|
254
|
-
* panel beside the board.
|
|
255
|
-
*/
|
|
256
|
-
export declare class HelixCanvasEditEvent extends CustomEvent<{
|
|
257
|
-
name: string;
|
|
258
|
-
}> {
|
|
259
|
-
static readonly eventName = "helix-canvas-edit";
|
|
260
|
-
constructor(detail: {
|
|
261
|
-
name: string;
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
/** Why a file field did not take a file. */
|
|
265
|
-
export type Refusal = 'count' | 'invalid' | 'size' | 'type';
|
|
266
|
-
/** One file a file field did not take, and why. */
|
|
267
|
-
export interface RefusedFile {
|
|
268
|
-
/** The file. */
|
|
269
|
-
readonly file: File;
|
|
270
|
-
/** What the field's `validate` said about it, where it was the one refusing. */
|
|
271
|
-
readonly message?: string;
|
|
272
|
-
/** Why it was not taken. */
|
|
273
|
-
readonly reason: Refusal;
|
|
274
|
-
}
|
|
275
|
-
/** The files a file field refused. */
|
|
276
|
-
export interface RejectDetail {
|
|
277
|
-
/** Each refused file with its reason, in the order they arrived. */
|
|
278
|
-
files: RefusedFile[];
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Files arrived at a file field and some were refused: by `accept`, by
|
|
282
|
-
* `max-file-size`, by `max-files`, or by the field's own `validate`.
|
|
283
|
-
*
|
|
284
|
-
* A notification and not a request, because the files are already left out;
|
|
285
|
-
* the event is how a page tells the reader why. Bubbles and is composed, so a
|
|
286
|
-
* form around the field hears it.
|
|
287
|
-
*/
|
|
288
|
-
export declare class HelixRejectEvent extends CustomEvent<RejectDetail> {
|
|
289
|
-
static readonly eventName = "helix-reject";
|
|
290
|
-
constructor(detail: RejectDetail);
|
|
291
|
-
}
|
|
292
|
-
/** What a reader asked to take off the board. */
|
|
293
|
-
export interface RemoveDetail {
|
|
294
|
-
/** The cards, by name. */
|
|
295
|
-
nodes: string[];
|
|
296
|
-
/**
|
|
297
|
-
* The connections, including every one attached to a card being removed,
|
|
298
|
-
* since a line to nothing is not drawn but its element would stay behind.
|
|
299
|
-
* Each carries its ends as well as its name, so a page that named none of
|
|
300
|
-
* its connections can still find them.
|
|
301
|
-
*/
|
|
302
|
-
edges: Array<{
|
|
303
|
-
name: string;
|
|
304
|
-
from: string;
|
|
305
|
-
to: string;
|
|
306
|
-
}>;
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* A reader asked for cards or connections to be taken away.
|
|
310
|
-
*
|
|
311
|
-
* A request for the reason `helix-connect` is one: the elements are the page's,
|
|
312
|
-
* so the page removes them. Nothing to refuse, because nothing happens unless
|
|
313
|
-
* the page acts.
|
|
314
|
-
*/
|
|
315
|
-
export declare class HelixRemoveEvent extends CustomEvent<RemoveDetail> {
|
|
316
|
-
static readonly eventName = "helix-remove";
|
|
317
|
-
constructor(detail: RemoveDetail);
|
|
318
|
-
}
|
|
319
|
-
/**
|
|
320
|
-
* Where a board is looking: the point at the middle of the view, in the
|
|
321
|
-
* document's own units, and how far it is zoomed.
|
|
322
|
-
*
|
|
323
|
-
* The middle rather than a corner, so a view saved in one box and restored in
|
|
324
|
-
* a box of another size shows the same thing in the middle of it.
|
|
325
|
-
*/
|
|
326
|
-
export interface CanvasView {
|
|
327
|
-
x: number;
|
|
328
|
-
y: number;
|
|
329
|
-
zoom: number;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* The board's view changed, however it changed: a drag, the wheel, a press on
|
|
333
|
-
* a control, a card brought into view, or the board fitting itself.
|
|
334
|
-
*
|
|
335
|
-
* **One event for all of them**, because what a consumer keeping a minimap or a
|
|
336
|
-
* saved position in step needs is where the board is now, not which of six
|
|
337
|
-
* gestures put it there; `helix-canvas-pan` and `helix-canvas-zoom` still say
|
|
338
|
-
* which control was pressed. Sent for every step of a drag, the way `input` is.
|
|
339
|
-
*/
|
|
340
|
-
export declare class HelixCanvasViewEvent extends CustomEvent<CanvasView> {
|
|
341
|
-
static readonly eventName = "helix-canvas-view";
|
|
342
|
-
constructor(detail: CanvasView);
|
|
343
|
-
}
|
|
344
|
-
/** What `ViewportPanDetail` was called when only Map had one. */
|
|
345
|
-
export type MapPanDetail = ViewportPanDetail;
|
|
346
|
-
/** What `ViewportZoomDetail` was called when only Map had one. */
|
|
347
|
-
export type MapZoomDetail = ViewportZoomDetail;
|
|
348
|
-
/** Detail carried by `helix-navigate`. */
|
|
349
|
-
export interface NavigateDetail {
|
|
350
|
-
/**
|
|
351
|
-
* The page asked for, as a number, where the component pages by number.
|
|
352
|
-
*
|
|
353
|
-
* Beside `value` rather than in place of it, because a calendar pages by
|
|
354
|
-
* month and its `value` is a month.
|
|
355
|
-
*/
|
|
356
|
-
page?: number;
|
|
357
|
-
/** Where the view is moving to, in whatever the component pages by. */
|
|
358
|
-
value: string;
|
|
359
|
-
}
|
|
360
|
-
/** Detail carried by `helix-filter`. */
|
|
361
|
-
export interface FilterDetail {
|
|
362
|
-
/** What the list is being narrowed to. */
|
|
363
|
-
value: string;
|
|
364
|
-
}
|
|
365
|
-
/**
|
|
366
|
-
* Detail carried by `helix-facet`.
|
|
367
|
-
*
|
|
368
|
-
* **Everything needed to draw the chip, so nothing has to be looked up again.**
|
|
369
|
-
* A consumer hearing this renders a `FilterChip` from it and stops: the labels
|
|
370
|
-
* are the reader's words and the names are their own model's, and both are here
|
|
371
|
-
* because only the thing that read the declarations knows both.
|
|
372
|
-
*/
|
|
373
|
-
export interface FacetDetail {
|
|
374
|
-
/**
|
|
375
|
-
* How many values the comparison in force takes.
|
|
376
|
-
*
|
|
377
|
-
* **What tells an empty filter from no filter.** `values` empty usually means
|
|
378
|
-
* the field is not being filtered any more, and a consumer drops the chip; a
|
|
379
|
-
* comparison of arity `none`, `is empty` or `is set`, is a filter that has no
|
|
380
|
-
* values to carry and never will. Without this the two arrive identical, and
|
|
381
|
-
* the thing that read the declaration is the only thing that could say which.
|
|
382
|
-
*/
|
|
383
|
-
arity: 'many' | 'none' | 'one';
|
|
384
|
-
/** What the consumer's model calls the field. */
|
|
385
|
-
field: string;
|
|
386
|
-
/** What a reader is shown for the field. */
|
|
387
|
-
label: string;
|
|
388
|
-
/** What the consumer's model calls the comparison in force. */
|
|
389
|
-
operator: string;
|
|
390
|
-
/**
|
|
391
|
-
* The comparison as a reader sees it, and **empty for the field's usual one**.
|
|
392
|
-
*
|
|
393
|
-
* Passed straight to a chip's `operator-label`, which draws the segment only
|
|
394
|
-
* where there is one. Deciding it here is the point: the thing that read the
|
|
395
|
-
* field knows which of its operators is the default, and the chip never has
|
|
396
|
-
* to.
|
|
397
|
-
*/
|
|
398
|
-
operatorLabel: string;
|
|
399
|
-
/** What the field is compared to, as the consumer's own values. */
|
|
400
|
-
values: readonly string[];
|
|
401
|
-
}
|
|
402
|
-
/** Detail carried by `helix-read`. */
|
|
403
|
-
export interface ReadDetail {
|
|
404
|
-
/**
|
|
405
|
-
* The state being asked for, as a boolean rather than a word that reads like
|
|
406
|
-
* one, which is `helix-before-toggle`'s rule and for the same reason: `"false"` is
|
|
407
|
-
* truthy and a consumer who forgets that marks everything read.
|
|
408
|
-
*/
|
|
409
|
-
read: boolean;
|
|
410
|
-
}
|
|
411
|
-
/** Detail carried by `helix-send`. */
|
|
412
|
-
export interface SendDetail {
|
|
413
|
-
/** What the reader wrote, as they left it. */
|
|
414
|
-
value: string;
|
|
415
|
-
}
|
|
416
|
-
/** Detail carried by `helix-sort`. */
|
|
417
|
-
export interface SortDetail {
|
|
418
|
-
/**
|
|
419
|
-
* The order being asked for, as `field:direction`.
|
|
420
|
-
*
|
|
421
|
-
* **One string rather than a field and a direction beside it**, because a sort
|
|
422
|
-
* is one fact and two properties holding half of it each is the mistake
|
|
423
|
-
* `helix-table`'s `columns` string already made in this family: the headings
|
|
424
|
-
* and the widths were two halves of one thing kept in two places with nothing
|
|
425
|
-
* holding them together. `name:asc` is also what a URL query carries and what
|
|
426
|
-
* an API takes, so a consumer syncing either does no translation.
|
|
427
|
-
*
|
|
428
|
-
* Empty means unsorted, which is a state a reader can ask for: a third click
|
|
429
|
-
* on a sortable heading returns the set to the order it arrived in, and that
|
|
430
|
-
* order is information the data came with.
|
|
431
|
-
*/
|
|
432
|
-
value: string;
|
|
433
|
-
}
|
|
434
|
-
/** Detail carried by `helix-dismiss`. */
|
|
435
|
-
export interface DismissDetail {
|
|
436
|
-
/** Text content of the element asking to go, for identifying which it was. */
|
|
437
|
-
label: string;
|
|
438
|
-
}
|
|
439
|
-
/** What a stop's own controls ask the tour to do. */
|
|
440
|
-
export interface TourAskDetail {
|
|
441
|
-
/**
|
|
442
|
-
* Which control was pressed.
|
|
443
|
-
*/
|
|
444
|
-
what: 'back' | 'next' | 'skip';
|
|
445
|
-
}
|
|
446
|
-
/**
|
|
447
|
-
* A stop asking the tour to move.
|
|
448
|
-
*
|
|
449
|
-
* Composed and bubbling, because a stop is slotted into the root and the root
|
|
450
|
-
* has to hear it across that boundary.
|
|
451
|
-
*
|
|
452
|
-
* **A class rather than a hand-rolled `CustomEvent`.** A dispatch is matched as
|
|
453
|
-
* `new HelixSomethingEvent(`, so a raw `CustomEvent` is not held to being
|
|
454
|
-
* declared and nothing carries it into the manifest: consumers can hear it and
|
|
455
|
-
* cannot find it.
|
|
456
|
-
*/
|
|
457
|
-
export declare class HelixTourAskEvent extends CustomEvent<TourAskDetail> {
|
|
458
|
-
static readonly eventName = "helix-tour-ask";
|
|
459
|
-
constructor(detail: TourAskDetail);
|
|
460
|
-
}
|
|
461
|
-
/**
|
|
462
|
-
* The eyedropper opening, and closing again.
|
|
463
14
|
*
|
|
464
|
-
*
|
|
465
|
-
*
|
|
466
|
-
*
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
*
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
*
|
|
571
|
-
*
|
|
572
|
-
* answers against whatever they slotted: MapLibre, Leaflet, Google, or their
|
|
573
|
-
* own. The direction is in reading order rather than compass order, because the
|
|
574
|
-
* control that sent it is a button a reader pressed and `start` on a
|
|
575
|
-
* right-to-left page is east.
|
|
576
|
-
*
|
|
577
|
-
* Not cancelable. Nothing here moves on its own, and an event whose
|
|
578
|
-
* `preventDefault` means nothing is an event that lies about what it offers.
|
|
579
|
-
*/
|
|
580
|
-
export declare class HelixMapPanEvent extends CustomEvent<ViewportPanDetail> {
|
|
581
|
-
static readonly eventName = "helix-map-pan";
|
|
582
|
-
constructor(detail: MapPanDetail);
|
|
583
|
-
}
|
|
584
|
-
/**
|
|
585
|
-
* The reader asked the map to zoom, and for the same reason it is a request.
|
|
586
|
-
*
|
|
587
|
-
* `by` is a direction rather than a level: a scale a consumer's map understands
|
|
588
|
-
* is the consumer's to decide, and a frame that said "go to zoom 14" would be
|
|
589
|
-
* asserting a numbering that Leaflet, MapLibre and a static tile server do not
|
|
590
|
-
* agree on.
|
|
591
|
-
*/
|
|
592
|
-
export declare class HelixMapZoomEvent extends CustomEvent<ViewportZoomDetail> {
|
|
593
|
-
static readonly eventName = "helix-map-zoom";
|
|
594
|
-
constructor(detail: MapZoomDetail);
|
|
595
|
-
}
|
|
596
|
-
/**
|
|
597
|
-
* The reader asked the graph to move. A request, as a map's is: Helix draws no
|
|
598
|
-
* graph, and the renderer the page slotted, or `connectGraph`, answers it.
|
|
599
|
-
*/
|
|
600
|
-
export declare class HelixGraphPanEvent extends CustomEvent<ViewportPanDetail> {
|
|
601
|
-
static readonly eventName = "helix-graph-pan";
|
|
602
|
-
constructor(detail: ViewportPanDetail);
|
|
603
|
-
}
|
|
604
|
-
/** The reader asked the graph to zoom, a direction and not a level, as a map's is. */
|
|
605
|
-
export declare class HelixGraphZoomEvent extends CustomEvent<ViewportZoomDetail> {
|
|
606
|
-
static readonly eventName = "helix-graph-zoom";
|
|
607
|
-
constructor(detail: ViewportZoomDetail);
|
|
608
|
-
}
|
|
609
|
-
/** Where each note was laid out, by its `id`, in the renderer's own units. */
|
|
610
|
-
export interface GraphLayoutDetail {
|
|
611
|
-
positions: Record<string, {
|
|
612
|
-
x: number;
|
|
613
|
-
y: number;
|
|
614
|
-
z?: number | undefined;
|
|
615
|
-
}>;
|
|
616
|
-
}
|
|
617
|
-
/**
|
|
618
|
-
* A layout settled, with where it put every note. Keep the positions and hand
|
|
619
|
-
* them back as each note's `x` and `y`, and the graph opens where the reader
|
|
620
|
-
* left it, with no layout to run.
|
|
621
|
-
*/
|
|
622
|
-
export declare class HelixGraphLayoutEvent extends CustomEvent<GraphLayoutDetail> {
|
|
623
|
-
static readonly eventName = "helix-graph-layout";
|
|
624
|
-
constructor(detail: GraphLayoutDetail);
|
|
625
|
-
}
|
|
626
|
-
/** What changed on a graph frame that the renderer has to hear. */
|
|
627
|
-
export interface GraphPartChangeDetail {
|
|
628
|
-
/**
|
|
629
|
-
* `data` for the notes or the links, which are drawn again; `focus` for the
|
|
630
|
-
* selected note or the depth, which change what is emphasized and shown;
|
|
631
|
-
* `gestures` for which gestures the renderer takes.
|
|
632
|
-
*/
|
|
633
|
-
kind: 'data' | 'focus' | 'gestures';
|
|
634
|
-
}
|
|
635
|
-
/**
|
|
636
|
-
* The frame's notes, links, selection, depth or gestures changed, which the
|
|
637
|
-
* connector hears and the renderer is told. It stays on the frame, being the
|
|
638
|
-
* family's own bookkeeping rather than news for a page.
|
|
639
|
-
*/
|
|
640
|
-
export declare class HelixGraphPartChangeEvent extends CustomEvent<GraphPartChangeDetail> {
|
|
641
|
-
static readonly eventName = "helix-graph-part-change";
|
|
642
|
-
constructor(detail: GraphPartChangeDetail);
|
|
643
|
-
}
|
|
644
|
-
/** One signal between two notes, as the frame's `signal()` sends it. */
|
|
645
|
-
export interface GraphSignalDetail {
|
|
646
|
-
/** The note the signal leaves, by its `id`. */
|
|
647
|
-
from: string;
|
|
648
|
-
/**
|
|
649
|
-
* What the signal means, which colors it. Where none is given, the signal
|
|
650
|
-
* turns from the first note's color to the second's as it crosses.
|
|
651
|
-
*/
|
|
652
|
-
tone?: 'accent' | 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning' | undefined;
|
|
653
|
-
/** The note the signal reaches, by its `id`. */
|
|
654
|
-
to: string;
|
|
655
|
-
}
|
|
656
|
-
/**
|
|
657
|
-
* Something passed between two notes, which the renderer draws traveling
|
|
658
|
-
* from one to the other. The connector hears it and the renderer draws it; it
|
|
659
|
-
* stays on the frame, being the family's own bookkeeping rather than news for
|
|
660
|
-
* a page.
|
|
661
|
-
*/
|
|
662
|
-
export declare class HelixGraphSignalEvent extends CustomEvent<GraphSignalDetail> {
|
|
663
|
-
static readonly eventName = "helix-graph-signal";
|
|
664
|
-
constructor(detail: GraphSignalDetail);
|
|
665
|
-
}
|
|
666
|
-
/**
|
|
667
|
-
* The graph has been drawn whole, laid out and settled, sent once each time it
|
|
668
|
-
* is connected, from the frame, which then matches `:state(ready)`.
|
|
669
|
-
*/
|
|
670
|
-
export declare class HelixGraphReadyEvent extends Event {
|
|
671
|
-
static readonly eventName = "helix-graph-ready";
|
|
672
|
-
constructor();
|
|
673
|
-
}
|
|
674
|
-
/** Detail carried by `helix-graph-filter`. */
|
|
675
|
-
export interface GraphFilterDetail {
|
|
676
|
-
/** The groups the graph would hide, by name: every group the reader has turned off, after this press. */
|
|
677
|
-
hidden: readonly string[];
|
|
678
|
-
}
|
|
679
|
-
/**
|
|
680
|
-
* A reader pressed a group in the graph's legend, which would show or hide
|
|
681
|
-
* its notes, sent from the frame before it does. Cancelable: cancel it to
|
|
682
|
-
* keep the groups as they were, or to set `hiddenGroups` yourself.
|
|
683
|
-
*/
|
|
684
|
-
export declare class HelixGraphFilterEvent extends CustomEvent<GraphFilterDetail> {
|
|
685
|
-
static readonly eventName = "helix-graph-filter";
|
|
686
|
-
constructor(detail: GraphFilterDetail);
|
|
687
|
-
}
|
|
688
|
-
/** A rotate request: turn by some degrees, or turn to a bearing. */
|
|
689
|
-
export interface MapRotateDetail {
|
|
690
|
-
/** Degrees to turn the map clockwise. Negative turns it counterclockwise. */
|
|
691
|
-
by?: number;
|
|
692
|
-
/** The bearing to turn the map to, in degrees clockwise from north. `0` faces north. */
|
|
693
|
-
to?: number;
|
|
694
|
-
}
|
|
695
|
-
/** A tilt request, in degrees. */
|
|
696
|
-
export interface MapTiltDetail {
|
|
697
|
-
/** Degrees to tilt the map toward the horizon. Negative tilts it back toward flat. */
|
|
698
|
-
by?: number;
|
|
699
|
-
/** The tilt to go to, in degrees from looking straight down. `0` is flat. */
|
|
700
|
-
to?: number;
|
|
701
|
-
}
|
|
702
|
-
/**
|
|
703
|
-
* The user asked the map to rotate, from a rotate button or key. Turn your map
|
|
704
|
-
* in response. Not cancelable, because the frame moves nothing itself.
|
|
705
|
-
*/
|
|
706
|
-
export declare class HelixMapRotateEvent extends CustomEvent<MapRotateDetail> {
|
|
707
|
-
static readonly eventName = "helix-map-rotate";
|
|
708
|
-
constructor(detail: MapRotateDetail);
|
|
709
|
-
}
|
|
710
|
-
/**
|
|
711
|
-
* The user asked the map to tilt, from a tilt button or key. Tilt your map in
|
|
712
|
-
* response. Not cancelable, because the frame moves nothing itself.
|
|
713
|
-
*/
|
|
714
|
-
export declare class HelixMapTiltEvent extends CustomEvent<MapTiltDetail> {
|
|
715
|
-
static readonly eventName = "helix-map-tilt";
|
|
716
|
-
constructor(detail: MapTiltDetail);
|
|
717
|
-
}
|
|
718
|
-
/** What changed on a part of a map: a line or a shape, or something standing on a place. */
|
|
719
|
-
export interface MapPartChangeDetail {
|
|
720
|
-
/**
|
|
721
|
-
* `layer` for a route or an area, which is redrawn; `place` for a marker or
|
|
722
|
-
* a position, which is moved; `cluster` for a marker gathered into another
|
|
723
|
-
* or let go, which moves the frame's tab stop; `menu` for the frame's layers
|
|
724
|
-
* menu opening, which asks for its map-type previews; `gestures` for which
|
|
725
|
-
* gestures the map takes, which the renderer is told.
|
|
726
|
-
*/
|
|
727
|
-
kind: 'cluster' | 'gestures' | 'layer' | 'menu' | 'place';
|
|
728
|
-
}
|
|
729
|
-
/**
|
|
730
|
-
* A marker, a position, a route or an area changed what it says: where it is,
|
|
731
|
-
* its points, its progress, its name.
|
|
732
|
-
*
|
|
733
|
-
* **Said rather than reflected.** The connector and the frame follow the
|
|
734
|
-
* parts, and heard them through their attributes until the parts reflected
|
|
735
|
-
* nothing CSS selects on: a live position's coordinates are state, and a
|
|
736
|
-
* route's points are a payload, neither of which belongs in the markup. It
|
|
737
|
-
* bubbles to the frame, whose light-DOM children the parts are, and goes no
|
|
738
|
-
* further, being the family's own bookkeeping rather than news for a page.
|
|
739
|
-
*/
|
|
740
|
-
export declare class HelixMapPartChangeEvent extends CustomEvent<MapPartChangeDetail> {
|
|
741
|
-
static readonly eventName = "helix-map-part-change";
|
|
742
|
-
constructor(detail: MapPartChangeDetail);
|
|
743
|
-
}
|
|
744
|
-
/** What a cluster a reader pressed holds. */
|
|
745
|
-
export interface MapClusterDetail {
|
|
746
|
-
/**
|
|
747
|
-
* A points layer's count, as the connector keyed it, where the cluster is
|
|
748
|
-
* one the renderer drew rather than one of markers.
|
|
749
|
-
*/
|
|
750
|
-
key?: string | undefined;
|
|
751
|
-
/** The names of the places it stands for, the one it is drawn as first, where they are known. */
|
|
752
|
-
labels: string[];
|
|
753
|
-
}
|
|
754
|
-
/**
|
|
755
|
-
* A reader pressed a cluster, one marker standing for several that would have
|
|
756
|
-
* drawn over each other.
|
|
757
|
-
*
|
|
758
|
-
* **Opened by zooming in**, which the connector does, framing the places the
|
|
759
|
-
* cluster holds, as pressing one does on every map a reader has used. Told
|
|
760
|
-
* rather than asked: a page that lists them in a panel instead connects with
|
|
761
|
-
* `clusterZoom: false`. Sent from the marker the cluster is drawn as, and
|
|
762
|
-
* bubbles through the frame to the page.
|
|
763
|
-
*/
|
|
764
|
-
export declare class HelixMapClusterEvent extends CustomEvent<MapClusterDetail> {
|
|
765
|
-
static readonly eventName = "helix-map-cluster";
|
|
766
|
-
constructor(detail: MapClusterDetail);
|
|
767
|
-
}
|
|
768
|
-
/**
|
|
769
|
-
* The map has been drawn whole: its style, every tile the view needs, and the
|
|
770
|
-
* ground raised where it has terrain. Sent once each time a map is connected,
|
|
771
|
-
* from the frame, which then matches `:state(ready)`.
|
|
772
|
-
*
|
|
773
|
-
* **What a page waits on to show a map that is finished**, where it would
|
|
774
|
-
* otherwise watch it draw in stages: the streets, then the imagery tile by
|
|
775
|
-
* tile, then the ground rising under the markers about half a second in. The
|
|
776
|
-
* shapes the frame draws are left out of "whole", since a route that animates
|
|
777
|
-
* is redrawn every frame and would never count as drawn.
|
|
778
|
-
*/
|
|
779
|
-
export declare class HelixMapReadyEvent extends Event {
|
|
780
|
-
static readonly eventName = "helix-map-ready";
|
|
781
|
-
constructor();
|
|
782
|
-
}
|
|
783
|
-
/** A message is about to be pinned or unpinned, and can be refused. */
|
|
784
|
-
export declare class HelixBeforePinEvent extends CustomEvent<ChangeDetail> {
|
|
785
|
-
static readonly eventName = "helix-before-pin";
|
|
786
|
-
constructor(detail: ChangeDetail);
|
|
787
|
-
}
|
|
788
|
-
/**
|
|
789
|
-
* A transcript was pinned to the bottom, or let go of it.
|
|
790
|
-
*
|
|
791
|
-
* The notification half of `helix-before-pin`, sent once `pinned` has moved,
|
|
792
|
-
* so `currentTarget.pinned` is the new state and `detail.value` says it as
|
|
793
|
-
* `true` or `false`. Not cancelable: the decision was the request's.
|
|
794
|
-
*/
|
|
795
|
-
export declare class HelixPinEvent extends CustomEvent<ChangeDetail> {
|
|
796
|
-
static readonly eventName = "helix-pin";
|
|
797
|
-
constructor(detail: ChangeDetail);
|
|
798
|
-
}
|
|
799
|
-
/** A divider is about to move, and can be refused. */
|
|
800
|
-
export declare class HelixBeforeResizeEvent extends CustomEvent<ChangeDetail> {
|
|
801
|
-
static readonly eventName = "helix-before-resize";
|
|
802
|
-
constructor(detail: ChangeDetail);
|
|
803
|
-
}
|
|
804
|
-
/**
|
|
805
|
-
* A divider settled somewhere new.
|
|
806
|
-
*
|
|
807
|
-
* The notification half of `helix-before-resize`, sent once `position` has
|
|
808
|
-
* moved, with the new position. Not cancelable: the decision was the
|
|
809
|
-
* request's.
|
|
810
|
-
*
|
|
811
|
-
* **Past tense, because `helix-resize` was already taken** by a measurement,
|
|
812
|
-
* the height a sandboxed preview reports for what it drew, and one name cannot
|
|
813
|
-
* carry both.
|
|
814
|
-
*/
|
|
815
|
-
export declare class HelixResizedEvent extends CustomEvent<ChangeDetail> {
|
|
816
|
-
static readonly eventName = "helix-resized";
|
|
817
|
-
constructor(detail: ChangeDetail);
|
|
818
|
-
}
|
|
819
|
-
/**
|
|
820
|
-
* The divider between a sandbox's panes is about to move, and can be refused.
|
|
821
|
-
*
|
|
822
|
-
* Its own verb rather than a `helix-before-resize` carrying which divider moved:
|
|
823
|
-
* a sandbox has two, and they were told apart by a field on a detail every other
|
|
824
|
-
* request in this file also carries.
|
|
825
|
-
*/
|
|
826
|
-
export declare class HelixBeforeSplitEvent extends CustomEvent<ChangeDetail> {
|
|
827
|
-
static readonly eventName = "helix-before-split";
|
|
828
|
-
constructor(detail: ChangeDetail);
|
|
829
|
-
}
|
|
830
|
-
/**
|
|
831
|
-
* The divider between a sandbox's panes settled somewhere new.
|
|
832
|
-
*
|
|
833
|
-
* The notification half of `helix-before-split`, sent once `split` has moved,
|
|
834
|
-
* with the lead pane's new share. Not cancelable: the decision was the
|
|
835
|
-
* request's.
|
|
836
|
-
*/
|
|
837
|
-
export declare class HelixSplitEvent extends CustomEvent<ChangeDetail> {
|
|
838
|
-
static readonly eventName = "helix-split";
|
|
839
|
-
constructor(detail: ChangeDetail);
|
|
840
|
-
}
|
|
841
|
-
/**
|
|
842
|
-
* A sandbox's panel is about to change height, and can be refused.
|
|
843
|
-
*
|
|
844
|
-
* The sibling of `helix-before-split`, and named for the divider rather than for
|
|
845
|
-
* the axis because a reader binding one of the two is choosing which divider they
|
|
846
|
-
* care about. `value` is pixels here and a percentage there, which is what each
|
|
847
|
-
* property already publishes.
|
|
848
|
-
*/
|
|
849
|
-
export declare class HelixBeforePanelResizeEvent extends CustomEvent<ChangeDetail> {
|
|
850
|
-
static readonly eventName = "helix-before-panel-resize";
|
|
851
|
-
constructor(detail: ChangeDetail);
|
|
852
|
-
}
|
|
853
|
-
/**
|
|
854
|
-
* A sandbox's panel settled at a new height.
|
|
855
|
-
*
|
|
856
|
-
* The notification half of `helix-before-panel-resize`, sent once `panelSize`
|
|
857
|
-
* has moved, with the height in pixels. Not cancelable: the decision was the
|
|
858
|
-
* request's.
|
|
859
|
-
*/
|
|
860
|
-
export declare class HelixPanelResizeEvent extends CustomEvent<ChangeDetail> {
|
|
861
|
-
static readonly eventName = "helix-panel-resize";
|
|
862
|
-
constructor(detail: ChangeDetail);
|
|
863
|
-
}
|
|
864
|
-
/** A pane is about to collapse or reopen, and can be refused. */
|
|
865
|
-
export declare class HelixBeforeCollapseEvent extends CustomEvent<ChangeDetail> {
|
|
866
|
-
static readonly eventName = "helix-before-collapse";
|
|
867
|
-
constructor(detail: ChangeDetail);
|
|
868
|
-
}
|
|
869
|
-
/**
|
|
870
|
-
* A pane shut or reopened.
|
|
871
|
-
*
|
|
872
|
-
* The notification half of `helix-before-collapse`, sent once `collapsed` has
|
|
873
|
-
* moved. `detail.value` is the side that is shut, or empty where both panes
|
|
874
|
-
* are open. Not cancelable: the decision was the request's.
|
|
875
|
-
*/
|
|
876
|
-
export declare class HelixCollapseEvent extends CustomEvent<ChangeDetail> {
|
|
877
|
-
static readonly eventName = "helix-collapse";
|
|
878
|
-
constructor(detail: ChangeDetail);
|
|
879
|
-
}
|
|
880
|
-
/** Source is about to be edited, and can be refused. */
|
|
881
|
-
export declare class HelixBeforeEditEvent extends CustomEvent<ChangeDetail> {
|
|
882
|
-
static readonly eventName = "helix-before-edit";
|
|
883
|
-
constructor(detail: ChangeDetail);
|
|
884
|
-
}
|
|
885
|
-
/**
|
|
886
|
-
* Source was edited.
|
|
887
|
-
*
|
|
888
|
-
* The notification half of `helix-before-edit`, sent once the pane holds the
|
|
889
|
-
* new source, with that source. Not cancelable: the decision was the
|
|
890
|
-
* request's.
|
|
891
|
-
*/
|
|
892
|
-
export declare class HelixEditEvent extends CustomEvent<ChangeDetail> {
|
|
893
|
-
static readonly eventName = "helix-edit";
|
|
894
|
-
constructor(detail: ChangeDetail);
|
|
895
|
-
}
|
|
896
|
-
/**
|
|
897
|
-
* A value is about to change, and the change can be refused.
|
|
898
|
-
*
|
|
899
|
-
* **The request half of every value control.** It announces the value being
|
|
900
|
-
* *proposed*, before anything moves, so a listener calling `preventDefault()`
|
|
901
|
-
* refuses it and the control stays where it was. That is how a consumer takes
|
|
902
|
-
* one decision without declaring a mode, which is what 294 settled: the element
|
|
903
|
-
* always owns and applies its state, and refusing is the way to take it over.
|
|
904
|
-
*
|
|
905
|
-
* **The notification is native and separate.** Once this has gone out and the
|
|
906
|
-
* value has moved, the control announces it again under the platform's own
|
|
907
|
-
* name, `input` while a reader is editing and `change` when they are done, so
|
|
908
|
-
* `onChange` in React and `onchange=` in HTML both reach it and
|
|
909
|
-
* `currentTarget.value` is correct by the time a handler reads it. This event
|
|
910
|
-
* carries the detail because at the moment it fires the value is not on the
|
|
911
|
-
* element yet.
|
|
912
|
-
*
|
|
913
|
-
* **`announcesInput` picks which native notification fires, not which name this
|
|
914
|
-
* carries.** Granularity is the platform's own distinction, `input` against
|
|
915
|
-
* `change`; the request is always this one event.
|
|
916
|
-
*/
|
|
917
|
-
export declare class HelixBeforeChangeEvent extends CustomEvent<ChangeDetail> {
|
|
918
|
-
static readonly eventName = "helix-before-change";
|
|
919
|
-
constructor(detail: ChangeDetail);
|
|
920
|
-
}
|
|
921
|
-
/**
|
|
922
|
-
* A checked state is about to change, and the change can be refused.
|
|
923
|
-
*
|
|
924
|
-
* **Its own event rather than a `helix-before-change` carrying a boolean.**
|
|
925
|
-
* Through the value event the state arrives as `String(checked)`, so a consumer
|
|
926
|
-
* receives the string `"false"`, which is truthy, and a test asserting the value
|
|
927
|
-
* passes on that bug. A control whose state is a boolean wants an event with a
|
|
928
|
-
* typed boolean in it.
|
|
929
|
-
*
|
|
930
|
-
* The notification is native, as it is for a value: the control relays `change`
|
|
931
|
-
* from the inner input and announces `input` beside it, so `onChange` reads
|
|
932
|
-
* `currentTarget.checked` and gets a boolean from the platform.
|
|
933
|
-
*
|
|
934
|
-
* It also ends a collision: Checkbox Group listened for its boxes' change and
|
|
935
|
-
* dispatched its own under the same name from the same host, so it needed
|
|
936
|
-
* `stopImmediatePropagation` to keep a consumer from receiving one box's boolean
|
|
937
|
-
* alongside the whole set. Two names, two facts.
|
|
938
|
-
*/
|
|
939
|
-
export declare class HelixBeforeToggleEvent extends CustomEvent<ToggleDetail> {
|
|
940
|
-
static readonly eventName = "helix-before-toggle";
|
|
941
|
-
constructor(detail: ToggleDetail);
|
|
942
|
-
}
|
|
943
|
-
/** Detail carried by `helix-scrolled`. */
|
|
944
|
-
export interface ScrolledDetail {
|
|
945
|
-
/**
|
|
946
|
-
* Whether the page is scrolled away from the top, as a boolean and not a word
|
|
947
|
-
* that reads like one. Follows `helix-before-toggle`'s rule for the same reason.
|
|
948
|
-
*/
|
|
949
|
-
scrolled: boolean;
|
|
950
|
-
}
|
|
951
|
-
/** Detail carried by `helix-before-toggle`. */
|
|
952
|
-
export interface ToggleDetail {
|
|
953
|
-
/** The state being asked for, as a boolean and not a word that reads like one. */
|
|
954
|
-
checked: boolean;
|
|
955
|
-
}
|
|
956
|
-
/** Detail carried by `helix-create`. */
|
|
957
|
-
export interface CreateDetail {
|
|
958
|
-
/** What the reader typed, which is being offered as a new answer. */
|
|
959
|
-
value: string;
|
|
960
|
-
}
|
|
961
|
-
/**
|
|
962
|
-
* The reader asked for something the list does not hold.
|
|
963
|
-
*
|
|
964
|
-
* Cancelable, and announced before anything is applied, because the options are
|
|
965
|
-
* the consumer's own light DOM and no component here writes into it. What the
|
|
966
|
-
* control can do is say what was asked for and take the value; putting an
|
|
967
|
-
* option in the list, or a row in a database, is the consumer's, and a consumer
|
|
968
|
-
* who validates first refuses this and adds nothing.
|
|
969
|
-
*
|
|
970
|
-
* The detail carries the text as typed, not a slug of it. Trimming or lowering
|
|
971
|
-
* it here would be this element deciding what a name means, and a consumer who
|
|
972
|
-
* wants an identifier can make one from what they were given.
|
|
973
|
-
*/
|
|
974
|
-
export declare class HelixCreateEvent extends CustomEvent<CreateDetail> {
|
|
975
|
-
static readonly eventName = "helix-create";
|
|
976
|
-
constructor(detail: CreateDetail);
|
|
977
|
-
}
|
|
978
|
-
/** Detail carried by `helix-aura-fallback`. */
|
|
979
|
-
export interface AuraFallbackDetail {
|
|
980
|
-
/**
|
|
981
|
-
* Why the gradient shows: `software` for a renderer that draws on the CPU,
|
|
982
|
-
* `unavailable` for no WebGL or a shader the browser refused, and `lost` for
|
|
983
|
-
* a context the browser took back, on a GPU reset or past its limit of about
|
|
984
|
-
* sixteen.
|
|
985
|
-
*/
|
|
986
|
-
reason: 'lost' | 'software' | 'unavailable';
|
|
987
|
-
}
|
|
988
|
-
/**
|
|
989
|
-
* An aura stopped drawing its shader and shows its gradient, and says why.
|
|
990
|
-
*
|
|
991
|
-
* Sent each time it falls back, from the aura, which then matches
|
|
992
|
-
* `:state(fallback)` until it draws again. Not cancelable: there is nothing
|
|
993
|
-
* left to refuse.
|
|
994
|
-
*/
|
|
995
|
-
export declare class HelixAuraFallbackEvent extends CustomEvent<AuraFallbackDetail> {
|
|
996
|
-
static readonly eventName = "helix-aura-fallback";
|
|
997
|
-
constructor(detail: AuraFallbackDetail);
|
|
998
|
-
}
|
|
999
|
-
/**
|
|
1000
|
-
* A reader cleared the value: an input's clear button emptied the field, or a
|
|
1001
|
-
* clearable rating went back to unrated.
|
|
1002
|
-
*
|
|
1003
|
-
* Sent after the value is cleared, and after the `input` and `change` the
|
|
1004
|
-
* clear sends. Carries nothing, because the value is the cleared one.
|
|
1005
|
-
*/
|
|
1006
|
-
export declare class HelixClearEvent extends Event {
|
|
1007
|
-
static readonly eventName = "helix-clear";
|
|
1008
|
-
constructor();
|
|
1009
|
-
}
|
|
1010
|
-
/**
|
|
1011
|
-
* A press put nothing on the clipboard: the browser did not allow the write,
|
|
1012
|
-
* such as on a page without the clipboard permission, or there was nothing to
|
|
1013
|
-
* copy.
|
|
1014
|
-
*/
|
|
1015
|
-
export declare class HelixCopyErrorEvent extends Event {
|
|
1016
|
-
static readonly eventName = "helix-copy-error";
|
|
1017
|
-
constructor();
|
|
1018
|
-
}
|
|
1019
|
-
/**
|
|
1020
|
-
* A reader asked for more items: a feed's or a table's `load-more` button, or
|
|
1021
|
-
* a list scrolled near its end. Append them, and set `loading` while they are
|
|
1022
|
-
* on their way.
|
|
1023
|
-
*
|
|
1024
|
-
* Carries nothing, because what comes next is the consumer's to know. Not
|
|
1025
|
-
* cancelable: nothing is loaded until the consumer loads it.
|
|
1026
|
-
*/
|
|
1027
|
-
export declare class HelixLoadMoreEvent extends Event {
|
|
1028
|
-
static readonly eventName = "helix-load-more";
|
|
1029
|
-
constructor();
|
|
1030
|
-
}
|
|
1031
|
-
/**
|
|
1032
|
-
* A lazy branch opened and asks for its children: a tree item with `lazy`.
|
|
1033
|
-
* Sent from the item, so `target` is the branch to fill.
|
|
1034
|
-
*
|
|
1035
|
-
* Carries nothing, because the children are the consumer's to fetch. Not
|
|
1036
|
-
* cancelable: the branch is already open, and says it is busy until children
|
|
1037
|
-
* arrive.
|
|
1038
|
-
*/
|
|
1039
|
-
export declare class HelixLoadEvent extends Event {
|
|
1040
|
-
static readonly eventName = "helix-load";
|
|
1041
|
-
constructor();
|
|
1042
|
-
}
|
|
1043
|
-
/** Detail carried by `helix-range-change`. */
|
|
1044
|
-
export interface RangeDetail {
|
|
1045
|
-
/** The index of the first item on screen. */
|
|
1046
|
-
first: number;
|
|
1047
|
-
/** One past the index of the last item on screen. */
|
|
1048
|
-
last: number;
|
|
1049
|
-
}
|
|
1050
|
-
/**
|
|
1051
|
-
* The items on screen changed: a virtual list was scrolled or resized, or its
|
|
1052
|
-
* items changed. Carries the new range, which the list's `range` also holds.
|
|
1053
|
-
* Not cancelable: the list has already moved.
|
|
1054
|
-
*/
|
|
1055
|
-
export declare class HelixRangeChangeEvent extends CustomEvent<RangeDetail> {
|
|
1056
|
-
static readonly eventName = "helix-range-change";
|
|
1057
|
-
constructor(detail: RangeDetail);
|
|
1058
|
-
}
|
|
1059
|
-
/**
|
|
1060
|
-
* Rows opened or closed in place: a data table's tree of rows. Carries every
|
|
1061
|
-
* open row's key, separated by commas, which the table's `expanded` also
|
|
1062
|
-
* holds. Not cancelable: the rows have already moved.
|
|
1063
|
-
*/
|
|
1064
|
-
export declare class HelixExpandEvent extends CustomEvent<ChangeDetail> {
|
|
1065
|
-
static readonly eventName = "helix-expand";
|
|
1066
|
-
constructor(detail: ChangeDetail);
|
|
1067
|
-
}
|
|
1068
|
-
/**
|
|
1069
|
-
* A sequence played to its last entry and stopped there: a video playlist
|
|
1070
|
-
* with no `repeat`. Carries nothing, because the playlist still holds the last
|
|
1071
|
-
* entry. Not cancelable: playback has already ended.
|
|
1072
|
-
*/
|
|
1073
|
-
export declare class HelixEndEvent extends Event {
|
|
1074
|
-
static readonly eventName = "helix-end";
|
|
1075
|
-
constructor();
|
|
1076
|
-
}
|
|
1077
|
-
/** Detail carried by `helix-typing`. */
|
|
1078
|
-
export interface TypingDetail {
|
|
1079
|
-
/** Whether the user is writing now, as a boolean and not a word that reads like one. */
|
|
1080
|
-
typing: boolean;
|
|
1081
|
-
}
|
|
1082
|
-
/**
|
|
1083
|
-
* The user started or stopped writing: a chat composer, for a typing
|
|
1084
|
-
* indicator on the other side. Carries which, as the composer's `typing` does.
|
|
1085
|
-
* Not cancelable: it reports what the user did.
|
|
1086
|
-
*/
|
|
1087
|
-
export declare class HelixTypingEvent extends CustomEvent<TypingDetail> {
|
|
1088
|
-
static readonly eventName = "helix-typing";
|
|
1089
|
-
constructor(detail: TypingDetail);
|
|
1090
|
-
}
|
|
1091
|
-
/**
|
|
1092
|
-
* A reader acted on a row: Enter on a list row, or a press in a list that
|
|
1093
|
-
* selects nothing. Sent from the row, so `target` is the row acted on.
|
|
1094
|
-
*
|
|
1095
|
-
* Carries nothing, because the row is the whole of the answer. Not cancelable:
|
|
1096
|
-
* a row with a link follows it and sends nothing, so there is no default left
|
|
1097
|
-
* to refuse.
|
|
1098
|
-
*/
|
|
1099
|
-
export declare class HelixActionEvent extends Event {
|
|
1100
|
-
static readonly eventName = "helix-action";
|
|
1101
|
-
constructor();
|
|
1102
|
-
}
|
|
1103
|
-
/**
|
|
1104
|
-
* A checked state changed after `helix-before-toggle` let it: a map layer
|
|
1105
|
-
* shown or hidden from the layers menu. Sent from what changed, with the state
|
|
1106
|
-
* it now holds.
|
|
1107
|
-
*
|
|
1108
|
-
* **Not the native `toggle`.** That one is a `ToggleEvent` saying a popover or
|
|
1109
|
-
* a `<details>` opened or closed, with `newState` of `open` or `closed`, and a
|
|
1110
|
-
* layer shown on a map is neither: it is the request's own verb without
|
|
1111
|
-
* `before`, carrying the same `checked` the request did.
|
|
1112
|
-
*/
|
|
1113
|
-
export declare class HelixToggleEvent extends CustomEvent<ToggleDetail> {
|
|
1114
|
-
static readonly eventName = "helix-toggle";
|
|
1115
|
-
constructor(detail: ToggleDetail);
|
|
1116
|
-
}
|
|
1117
|
-
/** Detail carried by `helix-copy`. */
|
|
1118
|
-
export interface CopyDetail {
|
|
1119
|
-
/** What was put on the clipboard. */
|
|
1120
|
-
value: string;
|
|
1121
|
-
}
|
|
1122
|
-
/**
|
|
1123
|
-
* Something was copied to the clipboard.
|
|
1124
|
-
*
|
|
1125
|
-
* Not cancelable, and deliberately: it is announced after the write, because a
|
|
1126
|
-
* clipboard write is a permission the platform may refuse and there is nothing
|
|
1127
|
-
* useful to report until it has either happened or not.
|
|
1128
|
-
*/
|
|
1129
|
-
export declare class HelixCopyEvent extends CustomEvent<CopyDetail> {
|
|
1130
|
-
static readonly eventName = "helix-copy";
|
|
1131
|
-
constructor(detail: CopyDetail);
|
|
1132
|
-
}
|
|
1133
|
-
/** Detail carried by `helix-console`. */
|
|
1134
|
-
export interface ConsoleDetail {
|
|
1135
|
-
/** How the message was logged. */
|
|
1136
|
-
level: 'log' | 'info' | 'warn' | 'error';
|
|
1137
|
-
/** The message, already flattened to text. */
|
|
1138
|
-
text: string;
|
|
1139
|
-
}
|
|
1140
|
-
/**
|
|
1141
|
-
* Fired when something being previewed writes to the console.
|
|
1142
|
-
*
|
|
1143
|
-
* Carries text rather than the logged values. The preview is a separate
|
|
1144
|
-
* document, so what arrives has crossed `postMessage` and been through
|
|
1145
|
-
* structured clone: a DOM node or a function does not survive that, and half a
|
|
1146
|
-
* value is worse than a string of it.
|
|
1147
|
-
*/
|
|
1148
|
-
export declare class HelixConsoleEvent extends CustomEvent<ConsoleDetail> {
|
|
1149
|
-
static readonly eventName = "helix-console";
|
|
1150
|
-
constructor(detail: ConsoleDetail);
|
|
1151
|
-
}
|
|
1152
|
-
/** Detail carried by `helix-resize`. */
|
|
1153
|
-
export interface ResizeDetail {
|
|
1154
|
-
/** How tall the content is, in CSS pixels. */
|
|
1155
|
-
size: number;
|
|
1156
|
-
}
|
|
1157
|
-
/**
|
|
1158
|
-
* Fired when something reports how much room its content actually needs.
|
|
1159
|
-
*
|
|
1160
|
-
* **A measurement crossing a boundary the measurer is on the far side of.** A
|
|
1161
|
-
* sandboxed preview is its own document: nothing outside it can read the height
|
|
1162
|
-
* of what it drew, because the frame is opaque and a box sized from the outside
|
|
1163
|
-
* only ever reports the box. So the document measures itself and says so, and
|
|
1164
|
-
* this is what it says it with.
|
|
1165
|
-
*
|
|
1166
|
-
* A number rather than a box, because the width is the container's to decide and
|
|
1167
|
-
* only the block size follows the content. A consumer that wants to act on it
|
|
1168
|
-
* clamps it: what arrives is what was drawn, which for an empty example is
|
|
1169
|
-
* nearly nothing and for a long one is more than a page.
|
|
1170
|
-
*/
|
|
1171
|
-
export declare class HelixResizeEvent extends CustomEvent<ResizeDetail> {
|
|
1172
|
-
static readonly eventName = "helix-resize";
|
|
1173
|
-
constructor(detail: ResizeDetail);
|
|
1174
|
-
}
|
|
1175
|
-
/**
|
|
1176
|
-
* Fired when a header crosses the threshold between resting at the top of the
|
|
1177
|
-
* page and floating over it.
|
|
1178
|
-
*
|
|
1179
|
-
* **The threshold lives in a custom state, and is announced rather than
|
|
1180
|
-
* reflected.** A `data-scrolled` on the host is an attribute nobody rendered: a
|
|
1181
|
-
* server sends the element without it and the element adds it on upgrade, so a
|
|
1182
|
-
* framework hydrating the page finds markup that no longer matches what it sent.
|
|
1183
|
-
* A custom state is deliberately not in the DOM and therefore not something a
|
|
1184
|
-
* hydration pass can disagree with.
|
|
1185
|
-
*
|
|
1186
|
-
* That closes the observability an attribute would accidentally provide. A
|
|
1187
|
-
* `MutationObserver` can watch an attribute and there is no equivalent for
|
|
1188
|
-
* `ElementInternals.states`, so a component holding a boolean nothing can read
|
|
1189
|
-
* is a component with a private opinion its consumers demonstrably need: the
|
|
1190
|
-
* bar's own backdrop is drawn by the page around it, and the page has to know
|
|
1191
|
-
* when to light it.
|
|
1192
|
-
*
|
|
1193
|
-
* Not cancelable. It reports where the page is rather than asking permission to
|
|
1194
|
-
* be there, and refusing it would leave the state and the announcement
|
|
1195
|
-
* disagreeing.
|
|
1196
|
-
*
|
|
1197
|
-
* The hysteresis stays inside the header, which is the point of announcing at
|
|
1198
|
-
* all: a consumer listening to `scroll` itself would be a second opinion on
|
|
1199
|
-
* when the page counts as scrolled, and the two would part company at the eight
|
|
1200
|
-
* pixels of travel this waits for.
|
|
1201
|
-
*/
|
|
1202
|
-
export declare class HelixScrolledEvent extends CustomEvent<ScrolledDetail> {
|
|
1203
|
-
static readonly eventName = "helix-scrolled";
|
|
1204
|
-
constructor(detail: ScrolledDetail);
|
|
1205
|
-
}
|
|
1206
|
-
/** Detail carried by `helix-caret`. */
|
|
1207
|
-
export interface CaretDetail {
|
|
1208
|
-
/** One-based column, counted in characters from the start of the line. */
|
|
1209
|
-
column: number;
|
|
1210
|
-
/** One-based line. */
|
|
1211
|
-
line: number;
|
|
1212
|
-
}
|
|
1213
|
-
/**
|
|
1214
|
-
* Fired when the cursor moves in a text editor.
|
|
1215
|
-
*
|
|
1216
|
-
* Not cancelable, unlike everything else here. The others announce something
|
|
1217
|
-
* about to happen and a listener can refuse it; this one reports where the
|
|
1218
|
-
* caret already is, and there is nothing left to refuse.
|
|
1219
|
-
*
|
|
1220
|
-
* It fires on every keystroke and every arrow press, which is why the status
|
|
1221
|
-
* bar reads it from the DOM rather than through a framework's state: routing a
|
|
1222
|
-
* caret position through React would re-render the workbench on every cursor
|
|
1223
|
-
* move.
|
|
1224
|
-
*/
|
|
1225
|
-
export declare class HelixCaretEvent extends CustomEvent<CaretDetail> {
|
|
1226
|
-
static readonly eventName = "helix-caret";
|
|
1227
|
-
constructor(detail: CaretDetail);
|
|
1228
|
-
}
|
|
1229
|
-
/** Detail carried by `helix-select`. */
|
|
1230
|
-
export interface SelectDetail {
|
|
1231
|
-
/**
|
|
1232
|
-
* Whether the reader took the row's second destination rather than its first.
|
|
1233
|
-
*
|
|
1234
|
-
* Absent everywhere but a command palette, where a row can carry two: the
|
|
1235
|
-
* value alone would say which was taken, since the two differ, but only by
|
|
1236
|
-
* comparing strings a consumer would have to keep in step with the markup.
|
|
1237
|
-
* A flag says it outright.
|
|
1238
|
-
*/
|
|
1239
|
-
alternate?: boolean;
|
|
1240
|
-
/**
|
|
1241
|
-
* The link of a row that is a link, which the browser follows once the event
|
|
1242
|
-
* is done unless it is canceled. A client-side router cancels it and follows
|
|
1243
|
-
* the link itself.
|
|
1244
|
-
*/
|
|
1245
|
-
href?: string;
|
|
1246
|
-
/** Value of the item the reader chose. */
|
|
1247
|
-
value: string;
|
|
1248
|
-
}
|
|
1249
|
-
/**
|
|
1250
|
-
* Fired when a component moves the view it is showing, rather than its value.
|
|
1251
|
-
*
|
|
1252
|
-
* A calendar paging to another month is not choosing a date, and the two have
|
|
1253
|
-
* to be separable: a consumer driving the view needs to hear that it moved
|
|
1254
|
-
* without being told the answer changed. `helix-change` belongs to the value,
|
|
1255
|
-
* and giving it both jobs would make either one unusable on its own.
|
|
1256
|
-
*/
|
|
1257
|
-
export declare class HelixNavigateEvent extends CustomEvent<NavigateDetail> {
|
|
1258
|
-
static readonly eventName = "helix-navigate";
|
|
1259
|
-
constructor(detail: NavigateDetail);
|
|
1260
|
-
}
|
|
1261
|
-
/** Detail carried by `helix-complete`. */
|
|
1262
|
-
export interface CompleteDetail {
|
|
1263
|
-
/** What the control now holds, in full. */
|
|
1264
|
-
value: string;
|
|
1265
|
-
}
|
|
1266
|
-
/**
|
|
1267
|
-
* Fired when a control that fills up has filled.
|
|
1268
|
-
*
|
|
1269
|
-
* The moment a code entry exists for: a six-character field is worth submitting
|
|
1270
|
-
* the instant the sixth character lands, and a consumer watching `helix-change`
|
|
1271
|
-
* has to know the length and compare it on every keystroke to find that moment
|
|
1272
|
-
* themselves.
|
|
1273
|
-
*
|
|
1274
|
-
* Separate from `helix-change` rather than a flag on it, because they are
|
|
1275
|
-
* answered by different code: one keeps a value in step and the other decides
|
|
1276
|
-
* whether to send a form. A listener that only cares about the second says so by
|
|
1277
|
-
* which event it listens for.
|
|
1278
|
-
*
|
|
1279
|
-
* `complete` is free as a verb. React's synthetic system claims `change`,
|
|
1280
|
-
* `input`, `submit`, `reset`, `copy`, `paste`, `scroll`, `drag`, `focus` and
|
|
1281
|
-
* `blur`, measured, and this is none of them.
|
|
1282
|
-
*
|
|
1283
|
-
* Not cancelable. It reports that something already happened, which is the same
|
|
1284
|
-
* reason `helix-caret` is not: there is nothing left to refuse once the last
|
|
1285
|
-
* character is in the box.
|
|
1286
|
-
*/
|
|
1287
|
-
export declare class HelixCompleteEvent extends CustomEvent<CompleteDetail> {
|
|
1288
|
-
static readonly eventName = "helix-complete";
|
|
1289
|
-
constructor(detail: CompleteDetail);
|
|
1290
|
-
}
|
|
1291
|
-
/**
|
|
1292
|
-
* Fired when the reader offers something they wrote.
|
|
1293
|
-
*
|
|
1294
|
-
* **Cancelable, and the composer clears only when nobody refused.** Sending is a
|
|
1295
|
-
* round trip: a composer that empties itself and then hears the request failed
|
|
1296
|
-
* has thrown away the only copy of what the reader typed, and a reader who has
|
|
1297
|
-
* just written three paragraphs is exactly who cannot afford that. Refusing
|
|
1298
|
-
* leaves the text where it is.
|
|
1299
|
-
*
|
|
1300
|
-
* Not `helix-create`, which is the combobox's event for a value a list does not
|
|
1301
|
-
* hold, and not `helix-change`, because nothing about a value changed: the
|
|
1302
|
-
* reader finished something and handed it over.
|
|
1303
|
-
*/
|
|
1304
|
-
export declare class HelixSendEvent extends CustomEvent<SendDetail> {
|
|
1305
|
-
static readonly eventName = "helix-send";
|
|
1306
|
-
constructor(detail: SendDetail);
|
|
1307
|
-
}
|
|
1308
|
-
/**
|
|
1309
|
-
* Fired when something a user comes back to is marked read, or unread.
|
|
1310
|
-
*
|
|
1311
|
-
* **Read state is reported rather than owned.** Marking a notification read is
|
|
1312
|
-
* usually a round trip, and a component that flips the state itself and then
|
|
1313
|
-
* hears the request failed has already told the reader something untrue. So this
|
|
1314
|
-
* is cancelable, and refusing it leaves the item alone; the component applies
|
|
1315
|
-
* it once nobody has refused, which is the same contract every other axis in
|
|
1316
|
-
* the library uses.
|
|
1317
|
-
*
|
|
1318
|
-
* Bubbles and is composed, so a feed hears its own items: one handler on the
|
|
1319
|
-
* list serves every notification in it, which is what a consumer syncing to a
|
|
1320
|
-
* server actually wants.
|
|
1321
|
-
*/
|
|
1322
|
-
export declare class HelixReadEvent extends CustomEvent<ReadDetail> {
|
|
1323
|
-
static readonly eventName = "helix-read";
|
|
1324
|
-
constructor(detail: ReadDetail);
|
|
1325
|
-
}
|
|
1326
|
-
/**
|
|
1327
|
-
* Fired when the reader asks for a different order.
|
|
1328
|
-
*
|
|
1329
|
-
* Cancelable, and refusing it leaves the order alone, which is what makes a
|
|
1330
|
-
* server-side sort expressible: the consumer refuses the local reorder, fetches,
|
|
1331
|
-
* and hands back a new set. This is the element reporting that a heading was
|
|
1332
|
-
* clicked, before it acts on it.
|
|
1333
|
-
*
|
|
1334
|
-
* Not `helix-change`: nothing about the data changed, only the order it is read
|
|
1335
|
-
* in, and a consumer listening for changes to a value should not hear a sort.
|
|
1336
|
-
* That is the same distinction `helix-filter` is drawn on.
|
|
1337
|
-
*/
|
|
1338
|
-
export declare class HelixSortEvent extends CustomEvent<SortDetail> {
|
|
1339
|
-
static readonly eventName = "helix-sort";
|
|
1340
|
-
constructor(detail: SortDetail);
|
|
1341
|
-
}
|
|
1342
|
-
/**
|
|
1343
|
-
* The rows are in a different order.
|
|
1344
|
-
*
|
|
1345
|
-
* The notification after `helix-sort`, sent once `sort` has moved, with the
|
|
1346
|
-
* order now in force. Not cancelable: the decision was the request's.
|
|
1347
|
-
*
|
|
1348
|
-
* **Past tense, because the plain verb is the request.** `helix-sort` was
|
|
1349
|
-
* cancelable before the library had a word for its notification, and
|
|
1350
|
-
* consumers bind it by that name, so the notification takes the one after it.
|
|
1351
|
-
*/
|
|
1352
|
-
export declare class HelixSortedEvent extends CustomEvent<SortDetail> {
|
|
1353
|
-
static readonly eventName = "helix-sorted";
|
|
1354
|
-
constructor(detail: SortDetail);
|
|
1355
|
-
}
|
|
1356
|
-
/**
|
|
1357
|
-
* Fired when the reader changes which values a field is filtered by.
|
|
1358
|
-
*
|
|
1359
|
-
* **Not `helix-filter`, which is a different thing already taken.** That one
|
|
1360
|
-
* says a list narrowed itself to a string, and `Data Table` and `Listbox` both
|
|
1361
|
-
* dispatch it with exactly that meaning. This one carries a structured filter:
|
|
1362
|
-
* a field, a comparison and a set of values, which is a shape neither of those
|
|
1363
|
-
* has and neither should grow.
|
|
1364
|
-
*
|
|
1365
|
-
* Cancelable, and refusing it is how a consumer takes the decision for one
|
|
1366
|
-
* interaction, the way `requestChange` documents for every stateful change here.
|
|
1367
|
-
*/
|
|
1368
|
-
export declare class HelixFacetEvent extends CustomEvent<FacetDetail> {
|
|
1369
|
-
static readonly eventName = "helix-facet";
|
|
1370
|
-
constructor(detail: FacetDetail);
|
|
1371
|
-
}
|
|
1372
|
-
/**
|
|
1373
|
-
* Fired when a component narrows what it is showing.
|
|
1374
|
-
*
|
|
1375
|
-
* Filtering hides rather than removes, so nothing about the value changes and
|
|
1376
|
-
* `helix-change` would be a lie. What a consumer wants to know is that the list
|
|
1377
|
-
* in front of the reader is no longer the whole list.
|
|
1378
|
-
*/
|
|
1379
|
-
export declare class HelixFilterEvent extends CustomEvent<FilterDetail> {
|
|
1380
|
-
static readonly eventName = "helix-filter";
|
|
1381
|
-
constructor(detail: FilterDetail);
|
|
1382
|
-
}
|
|
1383
|
-
/**
|
|
1384
|
-
* A component is showing a narrower or a wider set.
|
|
1385
|
-
*
|
|
1386
|
-
* The notification after `helix-filter`, sent once the query has moved, with
|
|
1387
|
-
* the query now in force. Not cancelable, and past tense for the reason
|
|
1388
|
-
* `helix-sorted` is.
|
|
1389
|
-
*/
|
|
1390
|
-
export declare class HelixFilteredEvent extends CustomEvent<FilterDetail> {
|
|
1391
|
-
static readonly eventName = "helix-filtered";
|
|
1392
|
-
constructor(detail: FilterDetail);
|
|
1393
|
-
}
|
|
1394
|
-
/** What a shortcut reports when its chord is pressed. */
|
|
1395
|
-
export interface ShortcutDetail {
|
|
1396
|
-
/**
|
|
1397
|
-
* The chord that matched, as it was written.
|
|
1398
|
-
*
|
|
1399
|
-
* Given back rather than left to be remembered, so one handler can serve
|
|
1400
|
-
* several keys and answer by comparing what it was told.
|
|
1401
|
-
*/
|
|
1402
|
-
keys: string;
|
|
1403
|
-
}
|
|
1404
|
-
/**
|
|
1405
|
-
* Fired when a shortcut's chord is pressed.
|
|
1406
|
-
*
|
|
1407
|
-
* Cancelable, and the key event is only consumed where this is not refused: a
|
|
1408
|
-
* consumer that decides the moment is wrong, a dialog is over the control or
|
|
1409
|
-
* the reader is mid-composition, calls `preventDefault()` and the keystroke
|
|
1410
|
-
* goes on to whatever would have had it.
|
|
1411
|
-
*/
|
|
1412
|
-
export declare class HelixShortcutEvent extends CustomEvent<ShortcutDetail> {
|
|
1413
|
-
static readonly eventName = "helix-shortcut";
|
|
1414
|
-
constructor(detail: ShortcutDetail);
|
|
1415
|
-
}
|
|
1416
|
-
/**
|
|
1417
|
-
* Fired when the reader selects an item in a set.
|
|
1418
|
-
*
|
|
1419
|
-
* Bubbles and is composed, because this is how a set coordinates: a tree, a
|
|
1420
|
-
* tab list and a toggle group all learn which of their children was chosen by
|
|
1421
|
-
* hearing it arrive.
|
|
1422
|
-
*/
|
|
1423
|
-
export declare class HelixSelectEvent extends CustomEvent<SelectDetail> {
|
|
1424
|
-
static readonly eventName = "helix-select";
|
|
1425
|
-
constructor(detail: SelectDetail);
|
|
1426
|
-
}
|
|
1427
|
-
/**
|
|
1428
|
-
* A set holds a different selection.
|
|
1429
|
-
*
|
|
1430
|
-
* The notification after a `helix-select` that asked to change what is
|
|
1431
|
-
* selected, sent once the selection has moved, with the selection now in
|
|
1432
|
-
* force. Not cancelable, and past tense for the reason `helix-sorted` is.
|
|
1433
|
-
*/
|
|
1434
|
-
export declare class HelixSelectedEvent extends CustomEvent<SelectDetail> {
|
|
1435
|
-
static readonly eventName = "helix-selected";
|
|
1436
|
-
constructor(detail: SelectDetail);
|
|
1437
|
-
}
|
|
1438
|
-
/**
|
|
1439
|
-
* Fired when the reader asks for the columns in a different order.
|
|
1440
|
-
*
|
|
1441
|
-
* Cancelable, and refusing it leaves the columns where they were, so a consumer
|
|
1442
|
-
* who stores the order, in a URL or a preference, can take the decision the way
|
|
1443
|
-
* a server-side sort takes `helix-sort`. The detail is the whole order as
|
|
1444
|
-
* space-separated fields rather than one move, because the order is the fact a
|
|
1445
|
-
* consumer stores, and a move is only meaningful against an order they would
|
|
1446
|
-
* then have to keep in step.
|
|
1447
|
-
*
|
|
1448
|
-
* Not `helix-sort`: that reorders the rows, this reorders the columns, and a
|
|
1449
|
-
* consumer listening for one should not hear the other.
|
|
1450
|
-
*/
|
|
1451
|
-
export declare class HelixReorderEvent extends CustomEvent<ChangeDetail> {
|
|
1452
|
-
static readonly eventName = "helix-reorder";
|
|
1453
|
-
constructor(detail: ChangeDetail);
|
|
1454
|
-
}
|
|
1455
|
-
/**
|
|
1456
|
-
* The columns are in a different order.
|
|
1457
|
-
*
|
|
1458
|
-
* The notification after `helix-reorder`, sent once the order has moved, with
|
|
1459
|
-
* every field in the new one. Not cancelable, and past tense for the reason
|
|
1460
|
-
* `helix-sorted` is.
|
|
1461
|
-
*/
|
|
1462
|
-
export declare class HelixReorderedEvent extends CustomEvent<ChangeDetail> {
|
|
1463
|
-
static readonly eventName = "helix-reordered";
|
|
1464
|
-
constructor(detail: ChangeDetail);
|
|
1465
|
-
}
|
|
1466
|
-
/**
|
|
1467
|
-
* Fired when a reader reaches the oldest turn a transcript holds, while there are
|
|
1468
|
-
* older ones to fetch.
|
|
1469
|
-
*
|
|
1470
|
-
* **A report of where the reader is, not a request to be granted**, so it is not
|
|
1471
|
-
* cancelable: there is nothing for the transcript to do if nobody refuses, and
|
|
1472
|
-
* nothing to stop if somebody does. The consumer answers by fetching, and says
|
|
1473
|
-
* so through the transcript's `history` while the older turns are on their way.
|
|
1474
|
-
*
|
|
1475
|
-
* No detail. The consumer holds the transcript and knows its oldest turn, which
|
|
1476
|
-
* is the one thing a fetch needs.
|
|
1477
|
-
*/
|
|
1478
|
-
export declare class HelixHistoryEvent extends CustomEvent<Record<string, never>> {
|
|
1479
|
-
static readonly eventName = "helix-history";
|
|
1480
|
-
constructor();
|
|
1481
|
-
}
|
|
1482
|
-
/**
|
|
1483
|
-
* Every event this file publishes, and the one place a new one is added.
|
|
15
|
+
* **One module per class, and this file gathers them.** Each class is in a
|
|
16
|
+
* file of its own beside this one, named after its event (`before-open.ts`
|
|
17
|
+
* holds `HelixBeforeOpenEvent`), and declares its name as `static readonly
|
|
18
|
+
* eventName`, which is how `helix component audit` finds them. What they carry
|
|
19
|
+
* is in `details.ts`, types only. This file re-exports both, keeps the
|
|
20
|
+
* registry, and types `addEventListener`.
|
|
21
|
+
*
|
|
22
|
+
* **Apart because a bundle keeps a class it never uses.** The compiler writes
|
|
23
|
+
* `static readonly eventName` as a static block, and Bun and Rollup both treat
|
|
24
|
+
* one as a side effect, so a class in a shared module stayed in every bundle
|
|
25
|
+
* that imported anything from that module. With the eighty classes in one
|
|
26
|
+
* file, every element shipped all of them, a Badge too. A module whose exports
|
|
27
|
+
* nothing uses is dropped whole, since the package declares no side effects,
|
|
28
|
+
* so a family now ships the classes it dispatches and no others.
|
|
29
|
+
* `events.pure.spec.ts` holds every file to one class.
|
|
30
|
+
*/
|
|
31
|
+
import { HelixActionEvent } from './action.js';
|
|
32
|
+
import { HelixActivateEvent } from './activate.js';
|
|
33
|
+
import { HelixAuraFallbackEvent } from './aura-fallback.js';
|
|
34
|
+
import { HelixBeforeActivateEvent } from './before-activate.js';
|
|
35
|
+
import { HelixBeforeChangeEvent } from './before-change.js';
|
|
36
|
+
import { HelixBeforeCloseEvent } from './before-close.js';
|
|
37
|
+
import { HelixBeforeCollapseEvent } from './before-collapse.js';
|
|
38
|
+
import { HelixBeforeEditEvent } from './before-edit.js';
|
|
39
|
+
import { HelixBeforeMoveEvent } from './before-move.js';
|
|
40
|
+
import { HelixBeforeOpenEvent } from './before-open.js';
|
|
41
|
+
import { HelixBeforePanelResizeEvent } from './before-panel-resize.js';
|
|
42
|
+
import { HelixBeforePinEvent } from './before-pin.js';
|
|
43
|
+
import { HelixBeforeReconnectEvent } from './before-reconnect.js';
|
|
44
|
+
import { HelixBeforeRelabelEvent } from './before-relabel.js';
|
|
45
|
+
import { HelixBeforeResizeEvent } from './before-resize.js';
|
|
46
|
+
import { HelixBeforeSplitEvent } from './before-split.js';
|
|
47
|
+
import { HelixBeforeToggleEvent } from './before-toggle.js';
|
|
48
|
+
import { HelixCanvasEditEvent } from './canvas-edit.js';
|
|
49
|
+
import { HelixCanvasPanEvent } from './canvas-pan.js';
|
|
50
|
+
import { HelixCanvasViewEvent } from './canvas-view.js';
|
|
51
|
+
import { HelixCanvasZoomEvent } from './canvas-zoom.js';
|
|
52
|
+
import { HelixCaretEvent } from './caret.js';
|
|
53
|
+
import { HelixClearEvent } from './clear.js';
|
|
54
|
+
import { HelixCollapseEvent } from './collapse.js';
|
|
55
|
+
import { HelixCompleteEvent } from './complete.js';
|
|
56
|
+
import { HelixConnectEvent } from './connect.js';
|
|
57
|
+
import { HelixConsoleEvent } from './console.js';
|
|
58
|
+
import { HelixCopyEvent } from './copy.js';
|
|
59
|
+
import { HelixCopyErrorEvent } from './copy-error.js';
|
|
60
|
+
import { HelixCreateEvent } from './create.js';
|
|
61
|
+
import { HelixDismissEvent } from './dismiss.js';
|
|
62
|
+
import { HelixEditEvent } from './edit.js';
|
|
63
|
+
import { HelixEndEvent } from './end.js';
|
|
64
|
+
import { HelixExpandEvent } from './expand.js';
|
|
65
|
+
import { HelixFacetEvent } from './facet.js';
|
|
66
|
+
import { HelixFilterEvent } from './filter.js';
|
|
67
|
+
import { HelixFilteredEvent } from './filtered.js';
|
|
68
|
+
import { HelixGraphFilterEvent } from './graph-filter.js';
|
|
69
|
+
import { HelixGraphLayoutEvent } from './graph-layout.js';
|
|
70
|
+
import { HelixGraphPanEvent } from './graph-pan.js';
|
|
71
|
+
import { HelixGraphPartChangeEvent } from './graph-part-change.js';
|
|
72
|
+
import { HelixGraphReadyEvent } from './graph-ready.js';
|
|
73
|
+
import { HelixGraphSignalEvent } from './graph-signal.js';
|
|
74
|
+
import { HelixGraphZoomEvent } from './graph-zoom.js';
|
|
75
|
+
import { HelixHistoryEvent } from './history.js';
|
|
76
|
+
import { HelixLoadEvent } from './load.js';
|
|
77
|
+
import { HelixLoadMoreEvent } from './load-more.js';
|
|
78
|
+
import { HelixMapClusterEvent } from './map-cluster.js';
|
|
79
|
+
import { HelixMapPanEvent } from './map-pan.js';
|
|
80
|
+
import { HelixMapPartChangeEvent } from './map-part-change.js';
|
|
81
|
+
import { HelixMapReadyEvent } from './map-ready.js';
|
|
82
|
+
import { HelixMapRotateEvent } from './map-rotate.js';
|
|
83
|
+
import { HelixMapTiltEvent } from './map-tilt.js';
|
|
84
|
+
import { HelixMapZoomEvent } from './map-zoom.js';
|
|
85
|
+
import { HelixMoveEvent } from './move.js';
|
|
86
|
+
import { HelixNavigateEvent } from './navigate.js';
|
|
87
|
+
import { HelixNextEvent } from './next.js';
|
|
88
|
+
import { HelixPanelResizeEvent } from './panel-resize.js';
|
|
89
|
+
import { HelixPinEvent } from './pin.js';
|
|
90
|
+
import { HelixPressEvent } from './press.js';
|
|
91
|
+
import { HelixPreviewEvent } from './preview.js';
|
|
92
|
+
import { HelixPreviousEvent } from './previous.js';
|
|
93
|
+
import { HelixRangeChangeEvent } from './range-change.js';
|
|
94
|
+
import { HelixReadEvent } from './read.js';
|
|
95
|
+
import { HelixReconnectEvent } from './reconnect.js';
|
|
96
|
+
import { HelixRejectEvent } from './reject.js';
|
|
97
|
+
import { HelixRelabelEvent } from './relabel.js';
|
|
98
|
+
import { HelixRemoveEvent } from './remove.js';
|
|
99
|
+
import { HelixReorderEvent } from './reorder.js';
|
|
100
|
+
import { HelixReorderedEvent } from './reordered.js';
|
|
101
|
+
import { HelixResizeEvent } from './resize.js';
|
|
102
|
+
import { HelixResizedEvent } from './resized.js';
|
|
103
|
+
import { HelixSampleEndEvent } from './sample-end.js';
|
|
104
|
+
import { HelixSampleStartEvent } from './sample-start.js';
|
|
105
|
+
import { HelixScrolledEvent } from './scrolled.js';
|
|
106
|
+
import { HelixSelectEvent } from './select.js';
|
|
107
|
+
import { HelixSelectedEvent } from './selected.js';
|
|
108
|
+
import { HelixSendEvent } from './send.js';
|
|
109
|
+
import { HelixShortcutEvent } from './shortcut.js';
|
|
110
|
+
import { HelixSortEvent } from './sort.js';
|
|
111
|
+
import { HelixSortedEvent } from './sorted.js';
|
|
112
|
+
import { HelixSplitEvent } from './split.js';
|
|
113
|
+
import { HelixToggleEvent } from './toggle.js';
|
|
114
|
+
import { HelixTourAskEvent } from './tour-ask.js';
|
|
115
|
+
import { HelixTourStatusEvent } from './tour-status.js';
|
|
116
|
+
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 { 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
|
+
/**
|
|
121
|
+
* Every event class, and the one place a new one is registered: a class in a
|
|
122
|
+
* module of its own, imported above, and named here and in `names.ts`.
|
|
1484
123
|
*
|
|
1485
124
|
* The map below is derived from this rather than written beside it, so a class
|
|
1486
125
|
* that is in here is typed and one that is not is absent from both halves at
|
|
@@ -1550,6 +189,8 @@ declare const registry: {
|
|
|
1550
189
|
readonly HelixNextEvent: typeof HelixNextEvent;
|
|
1551
190
|
readonly HelixPanelResizeEvent: typeof HelixPanelResizeEvent;
|
|
1552
191
|
readonly HelixPinEvent: typeof HelixPinEvent;
|
|
192
|
+
readonly HelixPressEvent: typeof HelixPressEvent;
|
|
193
|
+
readonly HelixPreviewEvent: typeof HelixPreviewEvent;
|
|
1553
194
|
readonly HelixPreviousEvent: typeof HelixPreviousEvent;
|
|
1554
195
|
readonly HelixRangeChangeEvent: typeof HelixRangeChangeEvent;
|
|
1555
196
|
readonly HelixReadEvent: typeof HelixReadEvent;
|
|
@@ -1573,16 +214,9 @@ declare const registry: {
|
|
|
1573
214
|
readonly HelixSplitEvent: typeof HelixSplitEvent;
|
|
1574
215
|
readonly HelixToggleEvent: typeof HelixToggleEvent;
|
|
1575
216
|
readonly HelixTourAskEvent: typeof HelixTourAskEvent;
|
|
217
|
+
readonly HelixTourStatusEvent: typeof HelixTourStatusEvent;
|
|
1576
218
|
readonly HelixTypingEvent: typeof HelixTypingEvent;
|
|
1577
219
|
};
|
|
1578
|
-
/**
|
|
1579
|
-
* Every name this library dispatches.
|
|
1580
|
-
*
|
|
1581
|
-
* Exported so a runtime check can ask whether a name is one of ours without
|
|
1582
|
-
* keeping a second list of them. `HelixElement` uses it to tell a consumer that
|
|
1583
|
-
* the handler prop they wrote is attached to nothing.
|
|
1584
|
-
*/
|
|
1585
|
-
export declare const helixEventNames: ReadonlySet<string>;
|
|
1586
220
|
type Registry = typeof registry;
|
|
1587
221
|
/**
|
|
1588
222
|
* The registry keyed by what each class dispatches as.
|
|
@@ -1599,4 +233,3 @@ declare global {
|
|
|
1599
233
|
interface HTMLElementEventMap extends HelixEventMap {
|
|
1600
234
|
}
|
|
1601
235
|
}
|
|
1602
|
-
export {};
|