@fusion.dev/helix-core 0.208.1 → 0.210.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 +1 -1
- package/dist/controllers/toolbar-controller/toolbar-controller.d.ts +199 -0
- package/dist/controllers/toolbar-controller/toolbar-controller.js +334 -0
- package/dist/events/details.d.ts +32 -0
- package/dist/events/events.d.ts +14 -2
- package/dist/events/events.js +13 -1
- package/dist/events/names.js +2 -1
- package/dist/events/terminal-bell.d.ts +13 -0
- package/dist/events/terminal-bell.js +6 -0
- package/dist/events/terminal-input.d.ts +14 -0
- package/dist/events/terminal-input.js +11 -0
- package/dist/events/terminal-link.d.ts +15 -0
- package/dist/events/terminal-link.js +11 -0
- package/dist/events/terminal-resize.d.ts +13 -0
- package/dist/events/terminal-resize.js +11 -0
- package/dist/events/terminal-restart.d.ts +11 -0
- package/dist/events/terminal-restart.js +10 -0
- package/dist/events/terminal-title.d.ts +12 -0
- package/dist/events/terminal-title.js +11 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/mixins/mixin-viewport/mixin-viewport.js +12 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TerminalInputDetail } from './details.js';
|
|
2
|
+
/**
|
|
3
|
+
* What a reader typed or pasted into a terminal, encoded the way the program
|
|
4
|
+
* running in it reads input, for the page to write to the process.
|
|
5
|
+
*
|
|
6
|
+
* **Not cancelable, because nothing in the library acts on it.** The frame
|
|
7
|
+
* never writes input anywhere: the page owns the process, so the page is the
|
|
8
|
+
* only listener that does anything. A frame that is `readonly`, or whose
|
|
9
|
+
* process has exited, sends none.
|
|
10
|
+
*/
|
|
11
|
+
export declare class HelixTerminalInputEvent extends CustomEvent<TerminalInputDetail> {
|
|
12
|
+
static readonly eventName = "helix-terminal-input";
|
|
13
|
+
constructor(detail: TerminalInputDetail);
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class HelixTerminalInputEvent extends CustomEvent {
|
|
2
|
+
static { this.eventName = 'helix-terminal-input'; }
|
|
3
|
+
constructor(detail) {
|
|
4
|
+
super(HelixTerminalInputEvent.eventName, {
|
|
5
|
+
bubbles: true,
|
|
6
|
+
cancelable: false,
|
|
7
|
+
composed: true,
|
|
8
|
+
detail,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TerminalLinkDetail } from './details.js';
|
|
2
|
+
/**
|
|
3
|
+
* A link in a terminal's output was activated: an address the program wrote
|
|
4
|
+
* as a hyperlink, or one the renderer found in the text.
|
|
5
|
+
*
|
|
6
|
+
* **Cancelable, and the frame reads the answer.** Left alone, the frame opens
|
|
7
|
+
* an `http` or `https` address in a new tab, with no reference back to the
|
|
8
|
+
* page, and opens nothing else: a program can write any address, including a
|
|
9
|
+
* `javascript:` one. Cancel it to open the address yourself, as a desktop
|
|
10
|
+
* app does through the system's browser.
|
|
11
|
+
*/
|
|
12
|
+
export declare class HelixTerminalLinkEvent extends CustomEvent<TerminalLinkDetail> {
|
|
13
|
+
static readonly eventName = "helix-terminal-link";
|
|
14
|
+
constructor(detail: TerminalLinkDetail);
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class HelixTerminalLinkEvent extends CustomEvent {
|
|
2
|
+
static { this.eventName = 'helix-terminal-link'; }
|
|
3
|
+
constructor(detail) {
|
|
4
|
+
super(HelixTerminalLinkEvent.eventName, {
|
|
5
|
+
bubbles: true,
|
|
6
|
+
cancelable: true,
|
|
7
|
+
composed: true,
|
|
8
|
+
detail,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TerminalResizeDetail } from './details.js';
|
|
2
|
+
/**
|
|
3
|
+
* A terminal's grid changed size, in character cells and in pixels, for the
|
|
4
|
+
* page to resize the process's pseudo-terminal to match.
|
|
5
|
+
*
|
|
6
|
+
* Sent once the grid has its first size and after every change. Not
|
|
7
|
+
* cancelable: it reports the grid the renderer already drew, as `helix-resize`
|
|
8
|
+
* reports a height already measured.
|
|
9
|
+
*/
|
|
10
|
+
export declare class HelixTerminalResizeEvent extends CustomEvent<TerminalResizeDetail> {
|
|
11
|
+
static readonly eventName = "helix-terminal-resize";
|
|
12
|
+
constructor(detail: TerminalResizeDetail);
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class HelixTerminalResizeEvent extends CustomEvent {
|
|
2
|
+
static { this.eventName = 'helix-terminal-resize'; }
|
|
3
|
+
constructor(detail) {
|
|
4
|
+
super(HelixTerminalResizeEvent.eventName, {
|
|
5
|
+
bubbles: true,
|
|
6
|
+
cancelable: false,
|
|
7
|
+
composed: true,
|
|
8
|
+
detail,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A reader pressed Restart in a terminal whose process has exited.
|
|
3
|
+
*
|
|
4
|
+
* The page answers it: it starts a new process, clears the frame's
|
|
5
|
+
* `exit-code`, and writes the new output. Not cancelable, since the frame does
|
|
6
|
+
* nothing on its own when it is sent.
|
|
7
|
+
*/
|
|
8
|
+
export declare class HelixTerminalRestartEvent extends Event {
|
|
9
|
+
static readonly eventName = "helix-terminal-restart";
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TerminalTitleDetail } from './details.js';
|
|
2
|
+
/**
|
|
3
|
+
* The program in a terminal set its title, with the escape codes a shell
|
|
4
|
+
* writes to name its window, such as the folder it is in.
|
|
5
|
+
*
|
|
6
|
+
* The frame keeps its own `label`. Show the title where it belongs on your
|
|
7
|
+
* page, such as on the tab the terminal sits under. Not cancelable.
|
|
8
|
+
*/
|
|
9
|
+
export declare class HelixTerminalTitleEvent extends CustomEvent<TerminalTitleDetail> {
|
|
10
|
+
static readonly eventName = "helix-terminal-title";
|
|
11
|
+
constructor(detail: TerminalTitleDetail);
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class HelixTerminalTitleEvent extends CustomEvent {
|
|
2
|
+
static { this.eventName = 'helix-terminal-title'; }
|
|
3
|
+
constructor(detail) {
|
|
4
|
+
super(HelixTerminalTitleEvent.eventName, {
|
|
5
|
+
bubbles: true,
|
|
6
|
+
cancelable: false,
|
|
7
|
+
composed: true,
|
|
8
|
+
detail,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,11 +35,12 @@ export { SourceController, type SourceHost, } from './controllers/source-control
|
|
|
35
35
|
export { drawStatus, type SayOptions, StatusController, } from './controllers/status-controller/status-controller.js';
|
|
36
36
|
export { SwipeController, type SwipeOptions, } from './controllers/swipe-controller/swipe-controller.js';
|
|
37
37
|
export { type TokenColor, TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
|
|
38
|
+
export { ToolbarController, type ToolbarControllerOptions, } from './controllers/toolbar-controller/toolbar-controller.js';
|
|
38
39
|
export { UpgradeController, type UpgradeOptions, } from './controllers/upgrade-controller/upgrade-controller.js';
|
|
39
40
|
export { type Rendered, VirtualizeController, type VirtualizeOptions, type Window as VirtualizeWindow, } from './controllers/virtualize-controller/virtualize-controller.js';
|
|
40
41
|
export { Waterfall } from './controllers/virtualize-controller/waterfall.js';
|
|
41
42
|
export { eventsForTag, registerElementEvents } from './events/element-events.js';
|
|
42
|
-
export { type ActivateDetail, type AuraFallbackDetail, type BandDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePasteEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeReorderEvent, 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, HelixPastedEvent, HelixPinEvent, HelixPlotChangeEvent, HelixPlotTurnEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReadingChangeEvent, HelixReadingPressEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixStrandsFallbackEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type PasteDetail, type PlotChangeDetail, type PlotTurnDetail, type PressDetail, type PressPointerType, type RangeDetail, type ReadDetail, type ReadingDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ReorderDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type StrandsFallbackDetail, type ToggleDetail, type TourStatusDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
43
|
+
export { type ActivateDetail, type AuraFallbackDetail, type BandDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePasteEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeReorderEvent, 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, HelixPastedEvent, HelixPinEvent, HelixPlotChangeEvent, HelixPlotTurnEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReadingChangeEvent, HelixReadingPressEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixStrandsFallbackEvent, HelixTerminalBellEvent, HelixTerminalInputEvent, HelixTerminalLinkEvent, HelixTerminalResizeEvent, HelixTerminalRestartEvent, HelixTerminalTitleEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type PasteDetail, type PlotChangeDetail, type PlotTurnDetail, type PressDetail, type PressPointerType, type RangeDetail, type ReadDetail, type ReadingDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ReorderDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type StrandsFallbackDetail, type TerminalInputDetail, type TerminalLinkDetail, type TerminalResizeDetail, type TerminalTitleDetail, type ToggleDetail, type TourStatusDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
43
44
|
export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
|
|
44
45
|
export { MIRROR_RULE, SCROLLER_RULE, SPOKEN_RULE, VIRTUAL_RULE, } from './helix-element/mark-rules.js';
|
|
45
46
|
export { HelixFormElement } from './helix-form-element/helix-form-element.js';
|
package/dist/index.js
CHANGED
|
@@ -35,11 +35,12 @@ export { SourceController, } from './controllers/source-controller/source-contro
|
|
|
35
35
|
export { drawStatus, StatusController, } from './controllers/status-controller/status-controller.js';
|
|
36
36
|
export { SwipeController, } from './controllers/swipe-controller/swipe-controller.js';
|
|
37
37
|
export { TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
|
|
38
|
+
export { ToolbarController, } from './controllers/toolbar-controller/toolbar-controller.js';
|
|
38
39
|
export { UpgradeController, } from './controllers/upgrade-controller/upgrade-controller.js';
|
|
39
40
|
export { VirtualizeController, } from './controllers/virtualize-controller/virtualize-controller.js';
|
|
40
41
|
export { Waterfall } from './controllers/virtualize-controller/waterfall.js';
|
|
41
42
|
export { eventsForTag, registerElementEvents } from './events/element-events.js';
|
|
42
|
-
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePasteEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeReorderEvent, 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, HelixPastedEvent, HelixPinEvent, HelixPlotChangeEvent, HelixPlotTurnEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReadingChangeEvent, HelixReadingPressEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixStrandsFallbackEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, } from './events/events.js';
|
|
43
|
+
export { HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePasteEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeReorderEvent, 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, HelixPastedEvent, HelixPinEvent, HelixPlotChangeEvent, HelixPlotTurnEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReadingChangeEvent, HelixReadingPressEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixStrandsFallbackEvent, HelixTerminalBellEvent, HelixTerminalInputEvent, HelixTerminalLinkEvent, HelixTerminalResizeEvent, HelixTerminalRestartEvent, HelixTerminalTitleEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, } from './events/events.js';
|
|
43
44
|
export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
|
|
44
45
|
export { MIRROR_RULE, SCROLLER_RULE, SPOKEN_RULE, VIRTUAL_RULE, } from './helix-element/mark-rules.js';
|
|
45
46
|
export { HelixFormElement } from './helix-form-element/helix-form-element.js';
|
|
@@ -3,6 +3,7 @@ import { html, nothing } from 'lit';
|
|
|
3
3
|
import { property, state } from 'lit/decorators.js';
|
|
4
4
|
import { FullscreenController } from '../../controllers/fullscreen-controller/fullscreen-controller.js';
|
|
5
5
|
import { IdleController } from '../../controllers/idle-controller/idle-controller.js';
|
|
6
|
+
import { ToolbarController } from '../../controllers/toolbar-controller/toolbar-controller.js';
|
|
6
7
|
import { inlineStep } from '../../utils/inline-step/inline-step.js';
|
|
7
8
|
import { isRtl } from '../../utils/is-rtl/is-rtl.js';
|
|
8
9
|
import { numberConverter, timeConverter } from '../../utils/number-converter/number-converter.js';
|
|
@@ -27,6 +28,12 @@ export const MixinViewport = (Base) => {
|
|
|
27
28
|
this.fullscreen = new FullscreenController(this, (full) => {
|
|
28
29
|
this.filled = full;
|
|
29
30
|
});
|
|
31
|
+
this.controlKeys = new ToolbarController(this, {
|
|
32
|
+
arrows: () => 'position',
|
|
33
|
+
members: () => [...(this.controlsElement?.children ?? [])],
|
|
34
|
+
own: true,
|
|
35
|
+
watch: () => this.renderRoot,
|
|
36
|
+
});
|
|
30
37
|
this.idle = new IdleController(this, () => this.idleDelay, (resting) => {
|
|
31
38
|
this.resting = resting;
|
|
32
39
|
});
|
|
@@ -94,6 +101,10 @@ export const MixinViewport = (Base) => {
|
|
|
94
101
|
if (target !== own && !own.matches('[part~="controls"]')) {
|
|
95
102
|
return;
|
|
96
103
|
}
|
|
104
|
+
const modified = event.shiftKey || event.ctrlKey || event.metaKey || event.altKey;
|
|
105
|
+
if (own.matches('[part~="controls"]') && !modified && /^(Arrow|Home$|End$)/.test(event.key)) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
97
108
|
if (event.ctrlKey || event.metaKey || event.altKey) {
|
|
98
109
|
return;
|
|
99
110
|
}
|
|
@@ -272,7 +283,7 @@ export const MixinViewport = (Base) => {
|
|
|
272
283
|
return nothing;
|
|
273
284
|
}
|
|
274
285
|
const [up, start, end, down] = ['up', 'start', 'end', 'down'].map((way) => this.panGlyph(way));
|
|
275
|
-
return html `<div part="controls" role="
|
|
286
|
+
return html `<div part="controls" role="toolbar" aria-label=${this.controlsLabel}>
|
|
276
287
|
${pan
|
|
277
288
|
? html `<button part="pan-up" aria-label=${this.panLabel('up')} type="button" @click=${() => this.pan('up')}>
|
|
278
289
|
<slot name="pan-up-icon">${up}</slot>
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.210.0';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-core",
|
|
3
3
|
"description": "Helix element primitives: base classes, mixins, decorators, utilities.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.210.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -81,12 +81,12 @@
|
|
|
81
81
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"@floating-ui/dom": "^1.8.0",
|
|
84
|
-
"@fusion.dev/helix-icons": "0.
|
|
84
|
+
"@fusion.dev/helix-icons": "0.210.0",
|
|
85
85
|
"tslib": "^2.8.1"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
|
-
"@fusion.dev/helix-cem": "0.
|
|
89
|
-
"@fusion.dev/helix-testing": "0.
|
|
88
|
+
"@fusion.dev/helix-cem": "0.210.0",
|
|
89
|
+
"@fusion.dev/helix-testing": "0.210.0",
|
|
90
90
|
"@lit-labs/ssr": "^4.1.0",
|
|
91
91
|
"lit": "^3.2.1"
|
|
92
92
|
},
|