@fusion.dev/helix-headless 0.208.0 → 0.209.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/api.json +1 -1
- package/custom-elements.json +1 -1
- package/dist/carousel/root/carousel-root.js +9 -5
- package/dist/chat/root/chat-root.js +6 -3
- package/dist/data-table/root/data-table-root.js +8 -7
- package/dist/element-events.generated.js +9 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/outline/root/outline-root.js +12 -7
- package/dist/terminal/index.d.ts +3 -0
- package/dist/terminal/index.js +1 -0
- package/dist/terminal/keys.d.ts +14 -0
- package/dist/terminal/keys.js +20 -0
- package/dist/terminal/root/terminal-root.d.ts +489 -0
- package/dist/terminal/root/terminal-root.js +710 -0
- package/dist/toolbar/root/toolbar-root.d.ts +14 -0
- package/dist/toolbar/root/toolbar-root.js +6 -3
- package/examples.json +1 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +899 -0
- package/types/svelte.d.ts +1 -0
- package/types/vue.d.ts +220 -1
- package/types/words.d.ts +112 -0
package/types/jsx.d.ts
CHANGED
|
@@ -177,6 +177,7 @@ import type {
|
|
|
177
177
|
HelixHeadlessTabs,
|
|
178
178
|
HelixHeadlessTag,
|
|
179
179
|
HelixHeadlessTagGroup,
|
|
180
|
+
HelixHeadlessTerminal,
|
|
180
181
|
HelixHeadlessTextarea,
|
|
181
182
|
HelixHeadlessTimeInput,
|
|
182
183
|
HelixHeadlessTimePicker,
|
|
@@ -240,6 +241,12 @@ import type {
|
|
|
240
241
|
HelixShortcutEvent,
|
|
241
242
|
HelixSortEvent,
|
|
242
243
|
HelixSortedEvent,
|
|
244
|
+
HelixTerminalBellEvent,
|
|
245
|
+
HelixTerminalInputEvent,
|
|
246
|
+
HelixTerminalLinkEvent,
|
|
247
|
+
HelixTerminalResizeEvent,
|
|
248
|
+
HelixTerminalRestartEvent,
|
|
249
|
+
HelixTerminalTitleEvent,
|
|
243
250
|
HelixToggleEvent,
|
|
244
251
|
HelixTourAskEvent,
|
|
245
252
|
HelixTourStatusEvent,
|
|
@@ -33904,6 +33911,319 @@ select. */
|
|
|
33904
33911
|
textContent?: (string | number) | undefined;
|
|
33905
33912
|
};
|
|
33906
33913
|
|
|
33914
|
+
/** `HelixHeadlessTerminal` component event */
|
|
33915
|
+
export type HelixHeadlessTerminalElementEvent<E = Event> = TypedEvent<
|
|
33916
|
+
HelixHeadlessTerminal,
|
|
33917
|
+
E
|
|
33918
|
+
>;
|
|
33919
|
+
/** `helix-copy` event type */
|
|
33920
|
+
export type HelixHeadlessTerminalHelixCopyElementEvent =
|
|
33921
|
+
HelixHeadlessTerminalElementEvent<HelixCopyEvent>;
|
|
33922
|
+
/** `helix-terminal-bell` event type */
|
|
33923
|
+
export type HelixHeadlessTerminalHelixTerminalBellElementEvent =
|
|
33924
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalBellEvent>;
|
|
33925
|
+
/** `helix-terminal-input` event type */
|
|
33926
|
+
export type HelixHeadlessTerminalHelixTerminalInputElementEvent =
|
|
33927
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalInputEvent>;
|
|
33928
|
+
/** `helix-terminal-link` event type */
|
|
33929
|
+
export type HelixHeadlessTerminalHelixTerminalLinkElementEvent =
|
|
33930
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalLinkEvent>;
|
|
33931
|
+
/** `helix-terminal-resize` event type */
|
|
33932
|
+
export type HelixHeadlessTerminalHelixTerminalResizeElementEvent =
|
|
33933
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalResizeEvent>;
|
|
33934
|
+
/** `helix-terminal-restart` event type */
|
|
33935
|
+
export type HelixHeadlessTerminalHelixTerminalRestartElementEvent =
|
|
33936
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalRestartEvent>;
|
|
33937
|
+
/** `helix-terminal-title` event type */
|
|
33938
|
+
export type HelixHeadlessTerminalHelixTerminalTitleElementEvent =
|
|
33939
|
+
HelixHeadlessTerminalElementEvent<HelixTerminalTitleEvent>;
|
|
33940
|
+
|
|
33941
|
+
export type HelixHeadlessTerminalProps = {
|
|
33942
|
+
/** The clear button's label. */
|
|
33943
|
+
"clear-label"?: (HelixHeadlessTerminal["clearLabel"]) | undefined;
|
|
33944
|
+
/** The clear button's label. */
|
|
33945
|
+
clearLabel?: (HelixHeadlessTerminal["clearLabel"]) | undefined;
|
|
33946
|
+
/** The grid's width in character cells. Set it with `rows` to fix the grid's size; unset, the grid fills the frame. */
|
|
33947
|
+
columns?: (HelixHeadlessTerminal["columns"]) | undefined;
|
|
33948
|
+
/** Which built-in controls the header shows, as a list of `find`, `copy`,
|
|
33949
|
+
`clear`, and `fullscreen`, or `none`. Absent is `find clear`. */
|
|
33950
|
+
controls?: (HelixHeadlessTerminal["controls"]) | undefined;
|
|
33951
|
+
/** The name of the row of controls, read by screen readers. */
|
|
33952
|
+
"controls-label"?: (HelixHeadlessTerminal["controlsLabel"]) | undefined;
|
|
33953
|
+
/** The name of the row of controls, read by screen readers. */
|
|
33954
|
+
controlsLabel?: (HelixHeadlessTerminal["controlsLabel"]) | undefined;
|
|
33955
|
+
/** What screen readers hear after a copy. */
|
|
33956
|
+
"copied-label"?: (HelixHeadlessTerminal["copiedLabel"]) | undefined;
|
|
33957
|
+
/** What screen readers hear after a copy. */
|
|
33958
|
+
copiedLabel?: (HelixHeadlessTerminal["copiedLabel"]) | undefined;
|
|
33959
|
+
/** The copy button's label. */
|
|
33960
|
+
"copy-label"?: (HelixHeadlessTerminal["copyLabel"]) | undefined;
|
|
33961
|
+
/** The copy button's label. */
|
|
33962
|
+
copyLabel?: (HelixHeadlessTerminal["copyLabel"]) | undefined;
|
|
33963
|
+
/** How the process exited, which the page sets when it does. While it is set,
|
|
33964
|
+
the status line says it, the frame sends no input, and Restart is shown.
|
|
33965
|
+
Clear it when a new process starts. */
|
|
33966
|
+
"exit-code"?: (HelixHeadlessTerminal["exitCode"] | `${number}`) | undefined;
|
|
33967
|
+
/** How the process exited, which the page sets when it does. While it is set,
|
|
33968
|
+
the status line says it, the frame sends no input, and Restart is shown.
|
|
33969
|
+
Clear it when a new process starts. */
|
|
33970
|
+
exitCode?: (HelixHeadlessTerminal["exitCode"]) | undefined;
|
|
33971
|
+
/** What the status line says once the process has exited. `{code}` is its
|
|
33972
|
+
exit code, written as the process gave it, and code `0` is a clean exit. */
|
|
33973
|
+
"exited-label"?: (HelixHeadlessTerminal["exitedLabel"]) | undefined;
|
|
33974
|
+
/** What the status line says once the process has exited. `{code}` is its
|
|
33975
|
+
exit code, written as the process gave it, and code `0` is a clean exit. */
|
|
33976
|
+
exitedLabel?: (HelixHeadlessTerminal["exitedLabel"]) | undefined;
|
|
33977
|
+
/** The terminal's name where `label` is empty and the host has no `aria-label`. */
|
|
33978
|
+
"fallback-label"?: (HelixHeadlessTerminal["fallbackLabel"]) | undefined;
|
|
33979
|
+
/** The terminal's name where `label` is empty and the host has no `aria-label`. */
|
|
33980
|
+
fallbackLabel?: (HelixHeadlessTerminal["fallbackLabel"]) | undefined;
|
|
33981
|
+
/** The label of the button that closes the find bar. */
|
|
33982
|
+
"find-close-label"?: (HelixHeadlessTerminal["findCloseLabel"]) | undefined;
|
|
33983
|
+
/** The label of the button that closes the find bar. */
|
|
33984
|
+
findCloseLabel?: (HelixHeadlessTerminal["findCloseLabel"]) | undefined;
|
|
33985
|
+
/** The name of the find bar's row of buttons, read by screen readers. */
|
|
33986
|
+
"find-controls-label"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
|
|
33987
|
+
/** The name of the find bar's row of buttons, read by screen readers. */
|
|
33988
|
+
findControlsLabel?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
|
|
33989
|
+
/** The find button's label, and the find field's name and placeholder. */
|
|
33990
|
+
"find-label"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
|
|
33991
|
+
/** The find button's label, and the find field's name and placeholder. */
|
|
33992
|
+
findLabel?: (HelixHeadlessTerminal["findLabel"]) | undefined;
|
|
33993
|
+
/** The next match button's label. */
|
|
33994
|
+
"find-next-label"?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
|
|
33995
|
+
/** The next match button's label. */
|
|
33996
|
+
findNextLabel?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
|
|
33997
|
+
/** The previous match button's label. */
|
|
33998
|
+
"find-previous-label"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
|
|
33999
|
+
/** The previous match button's label. */
|
|
34000
|
+
findPreviousLabel?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
|
|
34001
|
+
/** The fullscreen button's label. */
|
|
34002
|
+
"fullscreen-label"?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
|
|
34003
|
+
/** The fullscreen button's label. */
|
|
34004
|
+
fullscreenLabel?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
|
|
34005
|
+
/** The name of the element the reader types into, which the renderer draws. */
|
|
34006
|
+
"input-label"?: (HelixHeadlessTerminal["inputLabel"]) | undefined;
|
|
34007
|
+
/** The name of the element the reader types into, which the renderer draws. */
|
|
34008
|
+
inputLabel?: (HelixHeadlessTerminal["inputLabel"]) | undefined;
|
|
34009
|
+
/** The terminal's name, in the header and for screen readers, such as the
|
|
34010
|
+
shell or the folder it runs in. Several terminals on a page need names
|
|
34011
|
+
that tell them apart. */
|
|
34012
|
+
label?: (HelixHeadlessTerminal["label"]) | undefined;
|
|
34013
|
+
/** What the find bar says of its matches. `{index}` is the current match,
|
|
34014
|
+
counting from 1, and `{count}` how many there are. */
|
|
34015
|
+
"matches-label"?: (HelixHeadlessTerminal["matchesLabel"]) | undefined;
|
|
34016
|
+
/** What the find bar says of its matches. `{index}` is the current match,
|
|
34017
|
+
counting from 1, and `{count}` how many there are. */
|
|
34018
|
+
matchesLabel?: (HelixHeadlessTerminal["matchesLabel"]) | undefined;
|
|
34019
|
+
/** Draws the output and sends no input, with no cursor, for a transcript or
|
|
34020
|
+
a command an agent ran. The attribute is `readonly`, the platform's
|
|
34021
|
+
spelling. */
|
|
34022
|
+
readonly?: (HelixHeadlessTerminal["readOnly"]) | undefined;
|
|
34023
|
+
/** Draws the output and sends no input, with no cursor, for a transcript or
|
|
34024
|
+
a command an agent ran. The attribute is `readonly`, the platform's
|
|
34025
|
+
spelling. */
|
|
34026
|
+
readOnly?: (HelixHeadlessTerminal["readOnly"]) | undefined;
|
|
34027
|
+
/** The Restart button's label. */
|
|
34028
|
+
"restart-label"?: (HelixHeadlessTerminal["restartLabel"]) | undefined;
|
|
34029
|
+
/** The Restart button's label. */
|
|
34030
|
+
restartLabel?: (HelixHeadlessTerminal["restartLabel"]) | undefined;
|
|
34031
|
+
/** The grid's height in lines. Set it with `columns` to fix the grid's size; unset, the grid fills the frame. */
|
|
34032
|
+
rows?: (HelixHeadlessTerminal["rows"]) | undefined;
|
|
34033
|
+
/** Keeps the grid as lines a screen reader moves through, and says new
|
|
34034
|
+
output as it arrives. Off by default, since it costs time on every
|
|
34035
|
+
write. Connect it to a setting your reader can turn on. */
|
|
34036
|
+
"screen-reader-mode"?: (HelixHeadlessTerminal["screenReaderMode"]) | undefined;
|
|
34037
|
+
/** Keeps the grid as lines a screen reader moves through, and says new
|
|
34038
|
+
output as it arrives. Off by default, since it costs time on every
|
|
34039
|
+
write. Connect it to a setting your reader can turn on. */
|
|
34040
|
+
screenReaderMode?: (HelixHeadlessTerminal["screenReaderMode"]) | undefined;
|
|
34041
|
+
/** What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab. */
|
|
34042
|
+
"tab-hint-label"?: (HelixHeadlessTerminal["tabHintLabel"]) | undefined;
|
|
34043
|
+
/** What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab. */
|
|
34044
|
+
tabHintLabel?: (HelixHeadlessTerminal["tabHintLabel"]) | undefined;
|
|
34045
|
+
/** What the status line says while Tab moves focus. `{key}` is the key that switches it back. */
|
|
34046
|
+
"tab-moves-focus-label"?: (HelixHeadlessTerminal["tabMovesFocusLabel"]) | undefined;
|
|
34047
|
+
/** What the status line says while Tab moves focus. `{key}` is the key that switches it back. */
|
|
34048
|
+
tabMovesFocusLabel?: (HelixHeadlessTerminal["tabMovesFocusLabel"]) | undefined;
|
|
34049
|
+
/** What screen readers hear when Tab goes back to typing in the terminal. */
|
|
34050
|
+
"tab-types-label"?: (HelixHeadlessTerminal["tabTypesLabel"]) | undefined;
|
|
34051
|
+
/** What screen readers hear when Tab goes back to typing in the terminal. */
|
|
34052
|
+
tabTypesLabel?: (HelixHeadlessTerminal["tabTypesLabel"]) | undefined;
|
|
34053
|
+
|
|
34054
|
+
/** The copy control or its key put the selection on the clipboard. */
|
|
34055
|
+
"onhelix-copy"?: ((e: HelixHeadlessTerminalHelixCopyElementEvent) => void) | undefined;
|
|
34056
|
+
/** The program rang the bell. The frame flashes once. */
|
|
34057
|
+
"onhelix-terminal-bell"?: ((
|
|
34058
|
+
e: HelixHeadlessTerminalHelixTerminalBellElementEvent,
|
|
34059
|
+
) => void) | undefined;
|
|
34060
|
+
/** The reader typed or pasted, with `data` encoded for the program. Write it to the process. Not sent while `readonly`, or once `exit-code` is set. */
|
|
34061
|
+
"onhelix-terminal-input"?: ((
|
|
34062
|
+
e: HelixHeadlessTerminalHelixTerminalInputElementEvent,
|
|
34063
|
+
) => void) | undefined;
|
|
34064
|
+
/** A link in the output was activated, with its `href`. Cancelable: cancel it to open the link yourself. Left alone, a web address opens in a new tab. */
|
|
34065
|
+
"onhelix-terminal-link"?: ((
|
|
34066
|
+
e: HelixHeadlessTerminalHelixTerminalLinkElementEvent,
|
|
34067
|
+
) => void) | undefined;
|
|
34068
|
+
/** The grid changed size, with `columns`, `rows`, `width`, and `height`. Resize the process's pseudo-terminal to match. */
|
|
34069
|
+
"onhelix-terminal-resize"?: ((
|
|
34070
|
+
e: HelixHeadlessTerminalHelixTerminalResizeElementEvent,
|
|
34071
|
+
) => void) | undefined;
|
|
34072
|
+
/** The Restart button was pressed after the process exited. Start a new process and clear `exit-code`. */
|
|
34073
|
+
"onhelix-terminal-restart"?: ((
|
|
34074
|
+
e: HelixHeadlessTerminalHelixTerminalRestartElementEvent,
|
|
34075
|
+
) => void) | undefined;
|
|
34076
|
+
/** The program set its title, with `title`. The frame keeps its own `label`. */
|
|
34077
|
+
"onhelix-terminal-title"?: ((
|
|
34078
|
+
e: HelixHeadlessTerminalHelixTerminalTitleElementEvent,
|
|
34079
|
+
) => void) | undefined;
|
|
34080
|
+
};
|
|
34081
|
+
|
|
34082
|
+
export type HelixHeadlessTerminalSolidJsProps = {
|
|
34083
|
+
/** The clear button's label. */
|
|
34084
|
+
"attr:clear-label"?: (HelixHeadlessTerminal["clearLabel"]) | undefined;
|
|
34085
|
+
/** The clear button's label. */
|
|
34086
|
+
"prop:clearLabel"?: (HelixHeadlessTerminal["clearLabel"]) | undefined;
|
|
34087
|
+
/** The grid's width in character cells. Set it with `rows` to fix the grid's size; unset, the grid fills the frame. */
|
|
34088
|
+
"prop:columns"?: (HelixHeadlessTerminal["columns"]) | undefined;
|
|
34089
|
+
/** Which built-in controls the header shows, as a list of `find`, `copy`,
|
|
34090
|
+
`clear`, and `fullscreen`, or `none`. Absent is `find clear`. */
|
|
34091
|
+
"prop:controls"?: (HelixHeadlessTerminal["controls"]) | undefined;
|
|
34092
|
+
/** The name of the row of controls, read by screen readers. */
|
|
34093
|
+
"attr:controls-label"?: (HelixHeadlessTerminal["controlsLabel"]) | undefined;
|
|
34094
|
+
/** The name of the row of controls, read by screen readers. */
|
|
34095
|
+
"prop:controlsLabel"?: (HelixHeadlessTerminal["controlsLabel"]) | undefined;
|
|
34096
|
+
/** What screen readers hear after a copy. */
|
|
34097
|
+
"attr:copied-label"?: (HelixHeadlessTerminal["copiedLabel"]) | undefined;
|
|
34098
|
+
/** What screen readers hear after a copy. */
|
|
34099
|
+
"prop:copiedLabel"?: (HelixHeadlessTerminal["copiedLabel"]) | undefined;
|
|
34100
|
+
/** The copy button's label. */
|
|
34101
|
+
"attr:copy-label"?: (HelixHeadlessTerminal["copyLabel"]) | undefined;
|
|
34102
|
+
/** The copy button's label. */
|
|
34103
|
+
"prop:copyLabel"?: (HelixHeadlessTerminal["copyLabel"]) | undefined;
|
|
34104
|
+
/** How the process exited, which the page sets when it does. While it is set,
|
|
34105
|
+
the status line says it, the frame sends no input, and Restart is shown.
|
|
34106
|
+
Clear it when a new process starts. */
|
|
34107
|
+
"attr:exit-code"?: (HelixHeadlessTerminal["exitCode"] | `${number}`) | undefined;
|
|
34108
|
+
/** How the process exited, which the page sets when it does. While it is set,
|
|
34109
|
+
the status line says it, the frame sends no input, and Restart is shown.
|
|
34110
|
+
Clear it when a new process starts. */
|
|
34111
|
+
"prop:exitCode"?: (HelixHeadlessTerminal["exitCode"]) | undefined;
|
|
34112
|
+
/** What the status line says once the process has exited. `{code}` is its
|
|
34113
|
+
exit code, written as the process gave it, and code `0` is a clean exit. */
|
|
34114
|
+
"attr:exited-label"?: (HelixHeadlessTerminal["exitedLabel"]) | undefined;
|
|
34115
|
+
/** What the status line says once the process has exited. `{code}` is its
|
|
34116
|
+
exit code, written as the process gave it, and code `0` is a clean exit. */
|
|
34117
|
+
"prop:exitedLabel"?: (HelixHeadlessTerminal["exitedLabel"]) | undefined;
|
|
34118
|
+
/** The terminal's name where `label` is empty and the host has no `aria-label`. */
|
|
34119
|
+
"attr:fallback-label"?: (HelixHeadlessTerminal["fallbackLabel"]) | undefined;
|
|
34120
|
+
/** The terminal's name where `label` is empty and the host has no `aria-label`. */
|
|
34121
|
+
"prop:fallbackLabel"?: (HelixHeadlessTerminal["fallbackLabel"]) | undefined;
|
|
34122
|
+
/** The label of the button that closes the find bar. */
|
|
34123
|
+
"attr:find-close-label"?: (HelixHeadlessTerminal["findCloseLabel"]) | undefined;
|
|
34124
|
+
/** The label of the button that closes the find bar. */
|
|
34125
|
+
"prop:findCloseLabel"?: (HelixHeadlessTerminal["findCloseLabel"]) | undefined;
|
|
34126
|
+
/** The name of the find bar's row of buttons, read by screen readers. */
|
|
34127
|
+
"attr:find-controls-label"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
|
|
34128
|
+
/** The name of the find bar's row of buttons, read by screen readers. */
|
|
34129
|
+
"prop:findControlsLabel"?: (HelixHeadlessTerminal["findControlsLabel"]) | undefined;
|
|
34130
|
+
/** The find button's label, and the find field's name and placeholder. */
|
|
34131
|
+
"attr:find-label"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
|
|
34132
|
+
/** The find button's label, and the find field's name and placeholder. */
|
|
34133
|
+
"prop:findLabel"?: (HelixHeadlessTerminal["findLabel"]) | undefined;
|
|
34134
|
+
/** The next match button's label. */
|
|
34135
|
+
"attr:find-next-label"?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
|
|
34136
|
+
/** The next match button's label. */
|
|
34137
|
+
"prop:findNextLabel"?: (HelixHeadlessTerminal["findNextLabel"]) | undefined;
|
|
34138
|
+
/** The previous match button's label. */
|
|
34139
|
+
"attr:find-previous-label"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
|
|
34140
|
+
/** The previous match button's label. */
|
|
34141
|
+
"prop:findPreviousLabel"?: (HelixHeadlessTerminal["findPreviousLabel"]) | undefined;
|
|
34142
|
+
/** The fullscreen button's label. */
|
|
34143
|
+
"attr:fullscreen-label"?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
|
|
34144
|
+
/** The fullscreen button's label. */
|
|
34145
|
+
"prop:fullscreenLabel"?: (HelixHeadlessTerminal["fullscreenLabel"]) | undefined;
|
|
34146
|
+
/** The name of the element the reader types into, which the renderer draws. */
|
|
34147
|
+
"attr:input-label"?: (HelixHeadlessTerminal["inputLabel"]) | undefined;
|
|
34148
|
+
/** The name of the element the reader types into, which the renderer draws. */
|
|
34149
|
+
"prop:inputLabel"?: (HelixHeadlessTerminal["inputLabel"]) | undefined;
|
|
34150
|
+
/** The terminal's name, in the header and for screen readers, such as the
|
|
34151
|
+
shell or the folder it runs in. Several terminals on a page need names
|
|
34152
|
+
that tell them apart. */
|
|
34153
|
+
"prop:label"?: (HelixHeadlessTerminal["label"]) | undefined;
|
|
34154
|
+
/** What the find bar says of its matches. `{index}` is the current match,
|
|
34155
|
+
counting from 1, and `{count}` how many there are. */
|
|
34156
|
+
"attr:matches-label"?: (HelixHeadlessTerminal["matchesLabel"]) | undefined;
|
|
34157
|
+
/** What the find bar says of its matches. `{index}` is the current match,
|
|
34158
|
+
counting from 1, and `{count}` how many there are. */
|
|
34159
|
+
"prop:matchesLabel"?: (HelixHeadlessTerminal["matchesLabel"]) | undefined;
|
|
34160
|
+
/** Draws the output and sends no input, with no cursor, for a transcript or
|
|
34161
|
+
a command an agent ran. The attribute is `readonly`, the platform's
|
|
34162
|
+
spelling. */
|
|
34163
|
+
"bool:readonly"?: (HelixHeadlessTerminal["readOnly"]) | undefined;
|
|
34164
|
+
/** Draws the output and sends no input, with no cursor, for a transcript or
|
|
34165
|
+
a command an agent ran. The attribute is `readonly`, the platform's
|
|
34166
|
+
spelling. */
|
|
34167
|
+
"prop:readOnly"?: (HelixHeadlessTerminal["readOnly"]) | undefined;
|
|
34168
|
+
/** The Restart button's label. */
|
|
34169
|
+
"attr:restart-label"?: (HelixHeadlessTerminal["restartLabel"]) | undefined;
|
|
34170
|
+
/** The Restart button's label. */
|
|
34171
|
+
"prop:restartLabel"?: (HelixHeadlessTerminal["restartLabel"]) | undefined;
|
|
34172
|
+
/** The grid's height in lines. Set it with `columns` to fix the grid's size; unset, the grid fills the frame. */
|
|
34173
|
+
"prop:rows"?: (HelixHeadlessTerminal["rows"]) | undefined;
|
|
34174
|
+
/** Keeps the grid as lines a screen reader moves through, and says new
|
|
34175
|
+
output as it arrives. Off by default, since it costs time on every
|
|
34176
|
+
write. Connect it to a setting your reader can turn on. */
|
|
34177
|
+
"bool:screen-reader-mode"?: (HelixHeadlessTerminal["screenReaderMode"]) | undefined;
|
|
34178
|
+
/** Keeps the grid as lines a screen reader moves through, and says new
|
|
34179
|
+
output as it arrives. Off by default, since it costs time on every
|
|
34180
|
+
write. Connect it to a setting your reader can turn on. */
|
|
34181
|
+
"prop:screenReaderMode"?: (HelixHeadlessTerminal["screenReaderMode"]) | undefined;
|
|
34182
|
+
/** What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab. */
|
|
34183
|
+
"attr:tab-hint-label"?: (HelixHeadlessTerminal["tabHintLabel"]) | undefined;
|
|
34184
|
+
/** What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab. */
|
|
34185
|
+
"prop:tabHintLabel"?: (HelixHeadlessTerminal["tabHintLabel"]) | undefined;
|
|
34186
|
+
/** What the status line says while Tab moves focus. `{key}` is the key that switches it back. */
|
|
34187
|
+
"attr:tab-moves-focus-label"?: (HelixHeadlessTerminal["tabMovesFocusLabel"]) | undefined;
|
|
34188
|
+
/** What the status line says while Tab moves focus. `{key}` is the key that switches it back. */
|
|
34189
|
+
"prop:tabMovesFocusLabel"?: (HelixHeadlessTerminal["tabMovesFocusLabel"]) | undefined;
|
|
34190
|
+
/** What screen readers hear when Tab goes back to typing in the terminal. */
|
|
34191
|
+
"attr:tab-types-label"?: (HelixHeadlessTerminal["tabTypesLabel"]) | undefined;
|
|
34192
|
+
/** What screen readers hear when Tab goes back to typing in the terminal. */
|
|
34193
|
+
"prop:tabTypesLabel"?: (HelixHeadlessTerminal["tabTypesLabel"]) | undefined;
|
|
34194
|
+
/** The copy control or its key put the selection on the clipboard. */
|
|
34195
|
+
"on:helix-copy"?: ((e: HelixHeadlessTerminalHelixCopyElementEvent) => void) | undefined;
|
|
34196
|
+
/** The program rang the bell. The frame flashes once. */
|
|
34197
|
+
"on:helix-terminal-bell"?: ((
|
|
34198
|
+
e: HelixHeadlessTerminalHelixTerminalBellElementEvent,
|
|
34199
|
+
) => void) | undefined;
|
|
34200
|
+
/** The reader typed or pasted, with `data` encoded for the program. Write it to the process. Not sent while `readonly`, or once `exit-code` is set. */
|
|
34201
|
+
"on:helix-terminal-input"?: ((
|
|
34202
|
+
e: HelixHeadlessTerminalHelixTerminalInputElementEvent,
|
|
34203
|
+
) => void) | undefined;
|
|
34204
|
+
/** A link in the output was activated, with its `href`. Cancelable: cancel it to open the link yourself. Left alone, a web address opens in a new tab. */
|
|
34205
|
+
"on:helix-terminal-link"?: ((
|
|
34206
|
+
e: HelixHeadlessTerminalHelixTerminalLinkElementEvent,
|
|
34207
|
+
) => void) | undefined;
|
|
34208
|
+
/** The grid changed size, with `columns`, `rows`, `width`, and `height`. Resize the process's pseudo-terminal to match. */
|
|
34209
|
+
"on:helix-terminal-resize"?: ((
|
|
34210
|
+
e: HelixHeadlessTerminalHelixTerminalResizeElementEvent,
|
|
34211
|
+
) => void) | undefined;
|
|
34212
|
+
/** The Restart button was pressed after the process exited. Start a new process and clear `exit-code`. */
|
|
34213
|
+
"on:helix-terminal-restart"?: ((
|
|
34214
|
+
e: HelixHeadlessTerminalHelixTerminalRestartElementEvent,
|
|
34215
|
+
) => void) | undefined;
|
|
34216
|
+
/** The program set its title, with `title`. The frame keeps its own `label`. */
|
|
34217
|
+
"on:helix-terminal-title"?: ((
|
|
34218
|
+
e: HelixHeadlessTerminalHelixTerminalTitleElementEvent,
|
|
34219
|
+
) => void) | undefined;
|
|
34220
|
+
|
|
34221
|
+
/** Set the innerHTML of the element */
|
|
34222
|
+
innerHTML?: (string) | undefined;
|
|
34223
|
+
/** Set the textContent of the element */
|
|
34224
|
+
textContent?: (string | number) | undefined;
|
|
34225
|
+
};
|
|
34226
|
+
|
|
33907
34227
|
/** `HelixHeadlessTextarea` component event */
|
|
33908
34228
|
export type HelixHeadlessTextareaElementEvent<E = Event> = TypedEvent<
|
|
33909
34229
|
HelixHeadlessTextarea,
|
|
@@ -67579,6 +67899,266 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
67579
67899
|
HelixHeadlessTagProps & BaseProps<HelixHeadlessTag, F> & BaseEvents<HelixHeadlessTag>
|
|
67580
67900
|
>;
|
|
67581
67901
|
|
|
67902
|
+
/**
|
|
67903
|
+
* Wraps a terminal drawn by xterm.js or another emulator. The frame adds a
|
|
67904
|
+
* header with the terminal's name and its controls, a find bar, and a status
|
|
67905
|
+
* line. `connectTerminal` in `@fusion.dev/helix-terminal` connects it to the
|
|
67906
|
+
* emulator and draws the terminal in the colors the `--terminal-*` properties
|
|
67907
|
+
* set, which the styled tier sets from your theme. Helix does not start a
|
|
67908
|
+
* process: you connect the stream. Write the program's output with `write()`, send what the
|
|
67909
|
+
* reader types to the process from `helix-terminal-input`, and resize the
|
|
67910
|
+
* process's pseudo-terminal from `helix-terminal-resize`.
|
|
67911
|
+
*
|
|
67912
|
+
* Output written before a renderer is connected is held and written first, so
|
|
67913
|
+
* the process can start before the emulator loads. `write()` resolves once
|
|
67914
|
+
* the renderer has parsed the output, which is how a page pauses a process
|
|
67915
|
+
* that writes faster than the terminal draws.
|
|
67916
|
+
*
|
|
67917
|
+
* The controls are a row in the header, and `controls` names which ones:
|
|
67918
|
+
* `find`, `copy`, `clear`, and `fullscreen`. `find clear` by default. A control
|
|
67919
|
+
* the renderer cannot answer is left out once it is connected. Set `exit-code`
|
|
67920
|
+
* when the process exits: the frame says how it exited, stops sending input,
|
|
67921
|
+
* and shows a Restart button that sends `helix-terminal-restart`.
|
|
67922
|
+
*
|
|
67923
|
+
* **Keyboard.** Every key goes to the program, Tab, Shift+Tab, and Escape
|
|
67924
|
+
* included, except these:
|
|
67925
|
+
*
|
|
67926
|
+
* - Control+Shift+F, or Command+F on a Mac, opens the find bar. Enter and
|
|
67927
|
+
* Shift+Enter move between the matches, and Escape closes the bar and
|
|
67928
|
+
* returns focus to the terminal.
|
|
67929
|
+
* - Control+Shift+C copies the selection. On a Mac, Command+C does.
|
|
67930
|
+
* - Control+M, or Control+Shift+M on a Mac, switches Tab between typing in the
|
|
67931
|
+
* terminal and moving focus out of it. The status line says when Tab moves
|
|
67932
|
+
* focus, and the terminal's input describes the key to a screen reader.
|
|
67933
|
+
*
|
|
67934
|
+
* **Screen readers.** A terminal draws its grid as a picture of text, so a
|
|
67935
|
+
* screen reader reads nothing in it by default. Set `screen-reader-mode` to
|
|
67936
|
+
* have the renderer keep the grid as lines a screen reader can move through
|
|
67937
|
+
* and announce new output as it arrives, which xterm.js calls screen reader
|
|
67938
|
+
* mode. It costs time on every write, so it is off by default: connect it to
|
|
67939
|
+
* a setting your reader can turn on.
|
|
67940
|
+
*
|
|
67941
|
+
* ## Attributes & Properties
|
|
67942
|
+
*
|
|
67943
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
67944
|
+
*
|
|
67945
|
+
* - `clear-label`/`clearLabel`: The clear button's label.
|
|
67946
|
+
* - `columns`: The grid's width in character cells. Set it with `rows` to fix the grid's size; unset, the grid fills the frame.
|
|
67947
|
+
* - `controls`: Which built-in controls the header shows, as a list of `find`, `copy`,
|
|
67948
|
+
* `clear`, and `fullscreen`, or `none`. Absent is `find clear`.
|
|
67949
|
+
* - `controls-label`/`controlsLabel`: The name of the row of controls, read by screen readers.
|
|
67950
|
+
* - `copied-label`/`copiedLabel`: What screen readers hear after a copy.
|
|
67951
|
+
* - `copy-label`/`copyLabel`: The copy button's label.
|
|
67952
|
+
* - `exit-code`/`exitCode`: How the process exited, which the page sets when it does. While it is set,
|
|
67953
|
+
* the status line says it, the frame sends no input, and Restart is shown.
|
|
67954
|
+
* Clear it when a new process starts.
|
|
67955
|
+
* - `exited-label`/`exitedLabel`: What the status line says once the process has exited. `{code}` is its
|
|
67956
|
+
* exit code, written as the process gave it, and code `0` is a clean exit.
|
|
67957
|
+
* - `fallback-label`/`fallbackLabel`: The terminal's name where `label` is empty and the host has no `aria-label`.
|
|
67958
|
+
* - `find-close-label`/`findCloseLabel`: The label of the button that closes the find bar.
|
|
67959
|
+
* - `find-controls-label`/`findControlsLabel`: The name of the find bar's row of buttons, read by screen readers.
|
|
67960
|
+
* - `find-label`/`findLabel`: The find button's label, and the find field's name and placeholder.
|
|
67961
|
+
* - `find-next-label`/`findNextLabel`: The next match button's label.
|
|
67962
|
+
* - `find-previous-label`/`findPreviousLabel`: The previous match button's label.
|
|
67963
|
+
* - `fullscreen-label`/`fullscreenLabel`: The fullscreen button's label.
|
|
67964
|
+
* - `input-label`/`inputLabel`: The name of the element the reader types into, which the renderer draws.
|
|
67965
|
+
* - `label`: The terminal's name, in the header and for screen readers, such as the
|
|
67966
|
+
* shell or the folder it runs in. Several terminals on a page need names
|
|
67967
|
+
* that tell them apart.
|
|
67968
|
+
* - `matches-label`/`matchesLabel`: What the find bar says of its matches. `{index}` is the current match,
|
|
67969
|
+
* counting from 1, and `{count}` how many there are.
|
|
67970
|
+
* - `readonly`/`readOnly`: Draws the output and sends no input, with no cursor, for a transcript or
|
|
67971
|
+
* a command an agent ran. The attribute is `readonly`, the platform's
|
|
67972
|
+
* spelling.
|
|
67973
|
+
* - `restart-label`/`restartLabel`: The Restart button's label.
|
|
67974
|
+
* - `rows`: The grid's height in lines. Set it with `columns` to fix the grid's size; unset, the grid fills the frame.
|
|
67975
|
+
* - `screen-reader-mode`/`screenReaderMode`: Keeps the grid as lines a screen reader moves through, and says new
|
|
67976
|
+
* output as it arrives. Off by default, since it costs time on every
|
|
67977
|
+
* write. Connect it to a setting your reader can turn on.
|
|
67978
|
+
* - `tab-hint-label`/`tabHintLabel`: What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab.
|
|
67979
|
+
* - `tab-moves-focus-label`/`tabMovesFocusLabel`: What the status line says while Tab moves focus. `{key}` is the key that switches it back.
|
|
67980
|
+
* - `tab-types-label`/`tabTypesLabel`: What screen readers hear when Tab goes back to typing in the terminal.
|
|
67981
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
67982
|
+
*
|
|
67983
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
67984
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
67985
|
+
* base class takes the name every subclass then cannot use.
|
|
67986
|
+
*
|
|
67987
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
67988
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
67989
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
67990
|
+
* instead.
|
|
67991
|
+
*
|
|
67992
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
67993
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
67994
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
67995
|
+
*
|
|
67996
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
67997
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
67998
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
67999
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
68000
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
68001
|
+
*
|
|
68002
|
+
* ## Events
|
|
68003
|
+
*
|
|
68004
|
+
* Events that will be emitted by the component.
|
|
68005
|
+
*
|
|
68006
|
+
* - `helix-copy`: The copy control or its key put the selection on the clipboard.
|
|
68007
|
+
* - `helix-terminal-bell`: The program rang the bell. The frame flashes once.
|
|
68008
|
+
* - `helix-terminal-input`: The reader typed or pasted, with `data` encoded for the program. Write it to the process. Not sent while `readonly`, or once `exit-code` is set.
|
|
68009
|
+
* - `helix-terminal-link`: A link in the output was activated, with its `href`. Cancelable: cancel it to open the link yourself. Left alone, a web address opens in a new tab.
|
|
68010
|
+
* - `helix-terminal-resize`: The grid changed size, with `columns`, `rows`, `width`, and `height`. Resize the process's pseudo-terminal to match.
|
|
68011
|
+
* - `helix-terminal-restart`: The Restart button was pressed after the process exited. Start a new process and clear `exit-code`.
|
|
68012
|
+
* - `helix-terminal-title`: The program set its title, with `title`. The frame keeps its own `label`.
|
|
68013
|
+
*
|
|
68014
|
+
* ## Slots
|
|
68015
|
+
*
|
|
68016
|
+
* Areas where markup can be added to the component.
|
|
68017
|
+
*
|
|
68018
|
+
* - `(default)`: The element your renderer draws the terminal in.
|
|
68019
|
+
* - `actions`: Controls of your own in the header, before the built-in ones, such as a button that splits the pane.
|
|
68020
|
+
* - `clear-icon`: Replaces the glyph inside the clear button.
|
|
68021
|
+
* - `copy-icon`: Replaces the glyph inside the copy button.
|
|
68022
|
+
* - `exit-actions`: Controls of your own beside Restart, shown once the process exits, such as a button that opens the whole log.
|
|
68023
|
+
* - `find-actions`: Controls of your own in the find bar, between the count and the buttons that move between matches.
|
|
68024
|
+
* - `find-close-icon`: Replaces the glyph inside the button that closes the find bar.
|
|
68025
|
+
* - `find-icon`: Replaces the glyph inside the find button.
|
|
68026
|
+
* - `find-next-icon`: Replaces the glyph inside the next match button.
|
|
68027
|
+
* - `find-previous-icon`: Replaces the glyph inside the previous match button.
|
|
68028
|
+
* - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
|
|
68029
|
+
* - `label`: The terminal's name in the header, such as an icon beside the shell's name. Replaces `label` there.
|
|
68030
|
+
* - `restart-icon`: Replaces the glyph inside the Restart button.
|
|
68031
|
+
*
|
|
68032
|
+
* ## Methods
|
|
68033
|
+
*
|
|
68034
|
+
* Methods that can be called to access component functionality.
|
|
68035
|
+
*
|
|
68036
|
+
* - `write(data: string | Uint8Array) => Promise<void>`: Writes the program's output. Resolves once the renderer has parsed it,
|
|
68037
|
+
* which is how a page pauses a process that writes faster than the
|
|
68038
|
+
* terminal draws. Output written before a renderer is attached is held and
|
|
68039
|
+
* written first.
|
|
68040
|
+
* - `paste(text: string) => void`: Inputs text as a paste does, in bracketed paste mode where the program
|
|
68041
|
+
* asked for it. It arrives as `helix-terminal-input`, like typed text.
|
|
68042
|
+
* - `clear() => void`: Clears the scrollback, keeping the line the cursor is on.
|
|
68043
|
+
* - `reset() => void`: Resets the emulator: its modes, its colors, and its screen.
|
|
68044
|
+
* - `text(scope: 'all' | 'screen' = 'screen') => string`: The terminal as plain text, as the renderer drew it: the lines on screen,
|
|
68045
|
+
* or with `all`, every line the scrollback holds. Empty before a renderer is
|
|
68046
|
+
* attached.
|
|
68047
|
+
* - `look() => TerminalLook`: The colors and the face the terminal is to be drawn in, as the
|
|
68048
|
+
* `--terminal-*` properties resolve where the frame is. `connectTerminal`
|
|
68049
|
+
* themes the renderer from it. A color nothing sets is left out, so the
|
|
68050
|
+
* renderer keeps its own: the headless tier sets none, and the styled tier
|
|
68051
|
+
* sets every one from the theme.
|
|
68052
|
+
* - `focus(options?: FocusOptions) => void`: Focuses the terminal's input, where a renderer is attached.
|
|
68053
|
+
* - `attach(renderer: TerminalRenderer) => TerminalSink`: Attaches what draws the terminal, and returns how it tells the frame what
|
|
68054
|
+
* happened. `connectTerminal` calls it; a page drawing its own terminal calls
|
|
68055
|
+
* it with its own renderer. Attaching another detaches the first.
|
|
68056
|
+
*
|
|
68057
|
+
* ## CSS Custom Properties
|
|
68058
|
+
*
|
|
68059
|
+
* CSS variables available for styling the component.
|
|
68060
|
+
*
|
|
68061
|
+
* - `--terminal-active-match-background-color`: The ground of the current match of a search.
|
|
68062
|
+
* - `--terminal-active-match-border-color`: The edge of the current match of a search.
|
|
68063
|
+
* - `--terminal-ansi-black`: ANSI black, which codes `30` and `40` draw.
|
|
68064
|
+
* - `--terminal-ansi-blue`: ANSI blue, which codes `34` and `44` draw.
|
|
68065
|
+
* - `--terminal-ansi-bright-black`: ANSI bright black, which codes `90` and `100` draw.
|
|
68066
|
+
* - `--terminal-ansi-bright-blue`: ANSI bright blue, which codes `94` and `104` draw.
|
|
68067
|
+
* - `--terminal-ansi-bright-cyan`: ANSI bright cyan, which codes `96` and `106` draw.
|
|
68068
|
+
* - `--terminal-ansi-bright-green`: ANSI bright green, which codes `92` and `102` draw.
|
|
68069
|
+
* - `--terminal-ansi-bright-magenta`: ANSI bright magenta, which codes `95` and `105` draw.
|
|
68070
|
+
* - `--terminal-ansi-bright-red`: ANSI bright red, which codes `91` and `101` draw.
|
|
68071
|
+
* - `--terminal-ansi-bright-white`: ANSI bright white, which codes `97` and `107` draw.
|
|
68072
|
+
* - `--terminal-ansi-bright-yellow`: ANSI bright yellow, which codes `93` and `103` draw.
|
|
68073
|
+
* - `--terminal-ansi-cyan`: ANSI cyan, which codes `36` and `46` draw.
|
|
68074
|
+
* - `--terminal-ansi-green`: ANSI green, which codes `32` and `42` draw.
|
|
68075
|
+
* - `--terminal-ansi-magenta`: ANSI magenta, which codes `35` and `45` draw.
|
|
68076
|
+
* - `--terminal-ansi-red`: ANSI red, which codes `31` and `41` draw.
|
|
68077
|
+
* - `--terminal-ansi-white`: ANSI white, which codes `37` and `47` draw.
|
|
68078
|
+
* - `--terminal-ansi-yellow`: ANSI yellow, which codes `33` and `43` draw.
|
|
68079
|
+
* - `--terminal-background-color`: The ground of the grid.
|
|
68080
|
+
* - `--terminal-color`: The text of the grid where the program sets no color.
|
|
68081
|
+
* - `--terminal-cursor-color`: The cursor.
|
|
68082
|
+
* - `--terminal-match-background-color`: The ground of every match of a search but the current one.
|
|
68083
|
+
* - `--terminal-scrollbar-thumb-color`: The grid's scrollbar.
|
|
68084
|
+
* - `--terminal-selection-background-color`: The ground of selected text. See-through, so the text keeps its color.
|
|
68085
|
+
*
|
|
68086
|
+
* ## CSS Parts
|
|
68087
|
+
*
|
|
68088
|
+
* Custom selectors for styling elements within the component.
|
|
68089
|
+
*
|
|
68090
|
+
* - `actions`: The `actions` slot, first in the header's toolbar.
|
|
68091
|
+
* - `clear`: The button that clears the scrollback.
|
|
68092
|
+
* - `clear-button`: The clear button's inner button.
|
|
68093
|
+
* - `clear-live`: The clear button's live region, which speaks while the button is pending.
|
|
68094
|
+
* - `clear-spinner`: The ring the clear button turns while it is pending.
|
|
68095
|
+
* - `clear-text`: The box the clear button's icon sits in.
|
|
68096
|
+
* - `controls`: The toolbar at the end of the header: your actions, then the built-in buttons, one tab stop that the arrows move along.
|
|
68097
|
+
* - `controls-toolbar`: The box inside the header's toolbar that lays its buttons out.
|
|
68098
|
+
* - `copy`: The button that copies the selection. Disabled while nothing is selected.
|
|
68099
|
+
* - `copy-button`: The copy button's inner button.
|
|
68100
|
+
* - `copy-live`: The copy button's live region, which speaks while the button is pending.
|
|
68101
|
+
* - `copy-spinner`: The ring the copy button turns while it is pending.
|
|
68102
|
+
* - `copy-text`: The box the copy button's icon sits in.
|
|
68103
|
+
* - `exit-actions`: The `exit-actions` slot, beside Restart in the status line.
|
|
68104
|
+
* - `find`: The button that opens and closes the find bar. Expanded while it is open.
|
|
68105
|
+
* - `find-actions`: The `find-actions` slot, first in the find bar's toolbar.
|
|
68106
|
+
* - `find-bar`: The bar under the header where the reader searches the output.
|
|
68107
|
+
* - `find-button`: The find button's inner button.
|
|
68108
|
+
* - `find-close`: The button that closes the find bar.
|
|
68109
|
+
* - `find-close-button`: The find bar's close button's inner button.
|
|
68110
|
+
* - `find-close-live`: The find bar's close button's live region, which speaks while the button is pending.
|
|
68111
|
+
* - `find-close-spinner`: The ring the find bar's close button turns while it is pending.
|
|
68112
|
+
* - `find-close-text`: The box the find bar's close button's icon sits in.
|
|
68113
|
+
* - `find-controls`: The toolbar at the end of the find bar: your find actions, then the buttons that move between matches and close the bar.
|
|
68114
|
+
* - `find-controls-toolbar`: The box inside the find bar's toolbar that lays its buttons out.
|
|
68115
|
+
* - `find-count`: Which match is current and how many there are, such as "3 of 12 matches".
|
|
68116
|
+
* - `find-field`: The search field in the find bar.
|
|
68117
|
+
* - `find-live`: The find button's live region, which speaks while the button is pending.
|
|
68118
|
+
* - `find-next`: The button that moves to the next match.
|
|
68119
|
+
* - `find-next-button`: The next match button's inner button.
|
|
68120
|
+
* - `find-next-live`: The next match button's live region, which speaks while the button is pending.
|
|
68121
|
+
* - `find-next-spinner`: The ring the next match button turns while it is pending.
|
|
68122
|
+
* - `find-next-text`: The box the next match button's icon sits in.
|
|
68123
|
+
* - `find-previous`: The button that moves to the previous match.
|
|
68124
|
+
* - `find-previous-button`: The previous match button's inner button.
|
|
68125
|
+
* - `find-previous-live`: The previous match button's live region, which speaks while the button is pending.
|
|
68126
|
+
* - `find-previous-spinner`: The ring the previous match button turns while it is pending.
|
|
68127
|
+
* - `find-previous-text`: The box the previous match button's icon sits in.
|
|
68128
|
+
* - `find-spinner`: The ring the find button turns while it is pending.
|
|
68129
|
+
* - `find-text`: The box the find button's icon sits in.
|
|
68130
|
+
* - `fullscreen`: The button that makes the terminal fill the screen. Pressed while it does.
|
|
68131
|
+
* - `fullscreen-button`: The fullscreen button's inner button.
|
|
68132
|
+
* - `fullscreen-live`: The fullscreen button's live region, which speaks while the button is pending.
|
|
68133
|
+
* - `fullscreen-spinner`: The ring the fullscreen button turns while it is pending.
|
|
68134
|
+
* - `fullscreen-text`: The box the fullscreen button's icon sits in.
|
|
68135
|
+
* - `header`: The strip above the terminal, with its name, your actions, and the controls.
|
|
68136
|
+
* - `label`: The terminal's name in the header.
|
|
68137
|
+
* - `live`: What screen readers hear after the frame acts: a match count, a copy, or a change to what Tab does. Visually hidden in the styled tier.
|
|
68138
|
+
* - `region`: The named group the terminal sits in.
|
|
68139
|
+
* - `restart`: The button in the status line that asks for a new process after the last one exited.
|
|
68140
|
+
* - `restart-button`: The Restart button's inner button.
|
|
68141
|
+
* - `restart-live`: The Restart button's live region, which speaks while the button is pending.
|
|
68142
|
+
* - `restart-spinner`: The ring the Restart button turns while it is pending.
|
|
68143
|
+
* - `restart-text`: The Restart button's label.
|
|
68144
|
+
* - `status`: The line under the terminal that says the process exited, or that Tab moves focus.
|
|
68145
|
+
* - `viewport`: The box the terminal is drawn in.
|
|
68146
|
+
*
|
|
68147
|
+
* ## CSS States
|
|
68148
|
+
*
|
|
68149
|
+
* These can be used to apply styling when a component is in a given state.
|
|
68150
|
+
*
|
|
68151
|
+
* - `bell`: The program rang the bell, held for a moment for a visual bell.
|
|
68152
|
+
* - `exited`: The process has exited, by `exit-code`.
|
|
68153
|
+
* - `find-open`: The find bar is open.
|
|
68154
|
+
* - `fullscreen`: The terminal fills the screen.
|
|
68155
|
+
* - `tab-moves-focus`: Tab moves focus out of the terminal, after Control+M.
|
|
68156
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
68157
|
+
*/
|
|
68158
|
+
"helix-headless-terminal": Partial<
|
|
68159
|
+
HelixHeadlessTerminalProps & BaseProps<HelixHeadlessTerminal, F> & BaseEvents<HelixHeadlessTerminal>
|
|
68160
|
+
>;
|
|
68161
|
+
|
|
67582
68162
|
/**
|
|
67583
68163
|
* Renders a `<textarea>`, so the caret, selection, spellcheck, resize handle,
|
|
67584
68164
|
* and phone keyboard come from the platform. It is in the server markup, so the
|
|
@@ -69853,6 +70433,10 @@ export type CustomElements<F extends Framework = "other"> = {
|
|
|
69853
70433
|
* tab stop while the toolbar's is elsewhere, so Tab stops once in the
|
|
69854
70434
|
* toolbar. A composite without one keeps its own tab stop.
|
|
69855
70435
|
*
|
|
70436
|
+
* A `<slot>` in the toolbar counts as the controls assigned to it, for a
|
|
70437
|
+
* toolbar a component draws in its own shadow root with your controls passed
|
|
70438
|
+
* into it: they share its tab stop and its arrows with the component's own.
|
|
70439
|
+
*
|
|
69856
70440
|
* A toolbar inside another toolbar, a Helix one or the page's own
|
|
69857
70441
|
* `role="toolbar"`, is a `group` of the outer one, as React Aria's is: the
|
|
69858
70442
|
* outer toolbar's arrows walk through its controls and on past them, and it
|
|
@@ -100275,6 +100859,269 @@ export type CustomElementsSolidJs = {
|
|
|
100275
100859
|
BaseEvents<HelixHeadlessTag>
|
|
100276
100860
|
>;
|
|
100277
100861
|
|
|
100862
|
+
/**
|
|
100863
|
+
* Wraps a terminal drawn by xterm.js or another emulator. The frame adds a
|
|
100864
|
+
* header with the terminal's name and its controls, a find bar, and a status
|
|
100865
|
+
* line. `connectTerminal` in `@fusion.dev/helix-terminal` connects it to the
|
|
100866
|
+
* emulator and draws the terminal in the colors the `--terminal-*` properties
|
|
100867
|
+
* set, which the styled tier sets from your theme. Helix does not start a
|
|
100868
|
+
* process: you connect the stream. Write the program's output with `write()`, send what the
|
|
100869
|
+
* reader types to the process from `helix-terminal-input`, and resize the
|
|
100870
|
+
* process's pseudo-terminal from `helix-terminal-resize`.
|
|
100871
|
+
*
|
|
100872
|
+
* Output written before a renderer is connected is held and written first, so
|
|
100873
|
+
* the process can start before the emulator loads. `write()` resolves once
|
|
100874
|
+
* the renderer has parsed the output, which is how a page pauses a process
|
|
100875
|
+
* that writes faster than the terminal draws.
|
|
100876
|
+
*
|
|
100877
|
+
* The controls are a row in the header, and `controls` names which ones:
|
|
100878
|
+
* `find`, `copy`, `clear`, and `fullscreen`. `find clear` by default. A control
|
|
100879
|
+
* the renderer cannot answer is left out once it is connected. Set `exit-code`
|
|
100880
|
+
* when the process exits: the frame says how it exited, stops sending input,
|
|
100881
|
+
* and shows a Restart button that sends `helix-terminal-restart`.
|
|
100882
|
+
*
|
|
100883
|
+
* **Keyboard.** Every key goes to the program, Tab, Shift+Tab, and Escape
|
|
100884
|
+
* included, except these:
|
|
100885
|
+
*
|
|
100886
|
+
* - Control+Shift+F, or Command+F on a Mac, opens the find bar. Enter and
|
|
100887
|
+
* Shift+Enter move between the matches, and Escape closes the bar and
|
|
100888
|
+
* returns focus to the terminal.
|
|
100889
|
+
* - Control+Shift+C copies the selection. On a Mac, Command+C does.
|
|
100890
|
+
* - Control+M, or Control+Shift+M on a Mac, switches Tab between typing in the
|
|
100891
|
+
* terminal and moving focus out of it. The status line says when Tab moves
|
|
100892
|
+
* focus, and the terminal's input describes the key to a screen reader.
|
|
100893
|
+
*
|
|
100894
|
+
* **Screen readers.** A terminal draws its grid as a picture of text, so a
|
|
100895
|
+
* screen reader reads nothing in it by default. Set `screen-reader-mode` to
|
|
100896
|
+
* have the renderer keep the grid as lines a screen reader can move through
|
|
100897
|
+
* and announce new output as it arrives, which xterm.js calls screen reader
|
|
100898
|
+
* mode. It costs time on every write, so it is off by default: connect it to
|
|
100899
|
+
* a setting your reader can turn on.
|
|
100900
|
+
*
|
|
100901
|
+
* ## Attributes & Properties
|
|
100902
|
+
*
|
|
100903
|
+
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
100904
|
+
*
|
|
100905
|
+
* - `clear-label`/`clearLabel`: The clear button's label.
|
|
100906
|
+
* - `columns`: The grid's width in character cells. Set it with `rows` to fix the grid's size; unset, the grid fills the frame.
|
|
100907
|
+
* - `controls`: Which built-in controls the header shows, as a list of `find`, `copy`,
|
|
100908
|
+
* `clear`, and `fullscreen`, or `none`. Absent is `find clear`.
|
|
100909
|
+
* - `controls-label`/`controlsLabel`: The name of the row of controls, read by screen readers.
|
|
100910
|
+
* - `copied-label`/`copiedLabel`: What screen readers hear after a copy.
|
|
100911
|
+
* - `copy-label`/`copyLabel`: The copy button's label.
|
|
100912
|
+
* - `exit-code`/`exitCode`: How the process exited, which the page sets when it does. While it is set,
|
|
100913
|
+
* the status line says it, the frame sends no input, and Restart is shown.
|
|
100914
|
+
* Clear it when a new process starts.
|
|
100915
|
+
* - `exited-label`/`exitedLabel`: What the status line says once the process has exited. `{code}` is its
|
|
100916
|
+
* exit code, written as the process gave it, and code `0` is a clean exit.
|
|
100917
|
+
* - `fallback-label`/`fallbackLabel`: The terminal's name where `label` is empty and the host has no `aria-label`.
|
|
100918
|
+
* - `find-close-label`/`findCloseLabel`: The label of the button that closes the find bar.
|
|
100919
|
+
* - `find-controls-label`/`findControlsLabel`: The name of the find bar's row of buttons, read by screen readers.
|
|
100920
|
+
* - `find-label`/`findLabel`: The find button's label, and the find field's name and placeholder.
|
|
100921
|
+
* - `find-next-label`/`findNextLabel`: The next match button's label.
|
|
100922
|
+
* - `find-previous-label`/`findPreviousLabel`: The previous match button's label.
|
|
100923
|
+
* - `fullscreen-label`/`fullscreenLabel`: The fullscreen button's label.
|
|
100924
|
+
* - `input-label`/`inputLabel`: The name of the element the reader types into, which the renderer draws.
|
|
100925
|
+
* - `label`: The terminal's name, in the header and for screen readers, such as the
|
|
100926
|
+
* shell or the folder it runs in. Several terminals on a page need names
|
|
100927
|
+
* that tell them apart.
|
|
100928
|
+
* - `matches-label`/`matchesLabel`: What the find bar says of its matches. `{index}` is the current match,
|
|
100929
|
+
* counting from 1, and `{count}` how many there are.
|
|
100930
|
+
* - `readonly`/`readOnly`: Draws the output and sends no input, with no cursor, for a transcript or
|
|
100931
|
+
* a command an agent ran. The attribute is `readonly`, the platform's
|
|
100932
|
+
* spelling.
|
|
100933
|
+
* - `restart-label`/`restartLabel`: The Restart button's label.
|
|
100934
|
+
* - `rows`: The grid's height in lines. Set it with `columns` to fix the grid's size; unset, the grid fills the frame.
|
|
100935
|
+
* - `screen-reader-mode`/`screenReaderMode`: Keeps the grid as lines a screen reader moves through, and says new
|
|
100936
|
+
* output as it arrives. Off by default, since it costs time on every
|
|
100937
|
+
* write. Connect it to a setting your reader can turn on.
|
|
100938
|
+
* - `tab-hint-label`/`tabHintLabel`: What the terminal's input describes to a screen reader. `{key}` is the key that switches Tab.
|
|
100939
|
+
* - `tab-moves-focus-label`/`tabMovesFocusLabel`: What the status line says while Tab moves focus. `{key}` is the key that switches it back.
|
|
100940
|
+
* - `tab-types-label`/`tabTypesLabel`: What screen readers hear when Tab goes back to typing in the terminal.
|
|
100941
|
+
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
100942
|
+
*
|
|
100943
|
+
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
100944
|
+
* Image, Splitter and both color controls, none of them about transitions. A
|
|
100945
|
+
* base class takes the name every subclass then cannot use.
|
|
100946
|
+
*
|
|
100947
|
+
* **The state it reports cannot be watched, which is why this exists.** A
|
|
100948
|
+
* custom state is deliberately not in the DOM, so there is no
|
|
100949
|
+
* `MutationObserver` equivalent for `ElementInternals.states`. Await this
|
|
100950
|
+
* instead.
|
|
100951
|
+
*
|
|
100952
|
+
* Separate from `updateComplete`, which resolves in the microtask checkpoint
|
|
100953
|
+
* the suppression is still active in. That is the distinction `readyToMove`
|
|
100954
|
+
* in `@fusion.dev/helix-testing` is written around.
|
|
100955
|
+
*
|
|
100956
|
+
* It never resolves where `requestAnimationFrame` never fires, which is a
|
|
100957
|
+
* server, a hidden tab, and happy-dom. Callers that must not hang there race
|
|
100958
|
+
* it against a timeout, as the happy-dom harness's `readyToMove` does. The
|
|
100959
|
+
* browser harness's awaits it alone: a browser always runs the frame, and a
|
|
100960
|
+
* timer beside it was a bet on how long one takes, which a busy run lost. (property only) (readonly)
|
|
100961
|
+
*
|
|
100962
|
+
* ## Events
|
|
100963
|
+
*
|
|
100964
|
+
* Events that will be emitted by the component.
|
|
100965
|
+
*
|
|
100966
|
+
* - `helix-copy`: The copy control or its key put the selection on the clipboard.
|
|
100967
|
+
* - `helix-terminal-bell`: The program rang the bell. The frame flashes once.
|
|
100968
|
+
* - `helix-terminal-input`: The reader typed or pasted, with `data` encoded for the program. Write it to the process. Not sent while `readonly`, or once `exit-code` is set.
|
|
100969
|
+
* - `helix-terminal-link`: A link in the output was activated, with its `href`. Cancelable: cancel it to open the link yourself. Left alone, a web address opens in a new tab.
|
|
100970
|
+
* - `helix-terminal-resize`: The grid changed size, with `columns`, `rows`, `width`, and `height`. Resize the process's pseudo-terminal to match.
|
|
100971
|
+
* - `helix-terminal-restart`: The Restart button was pressed after the process exited. Start a new process and clear `exit-code`.
|
|
100972
|
+
* - `helix-terminal-title`: The program set its title, with `title`. The frame keeps its own `label`.
|
|
100973
|
+
*
|
|
100974
|
+
* ## Slots
|
|
100975
|
+
*
|
|
100976
|
+
* Areas where markup can be added to the component.
|
|
100977
|
+
*
|
|
100978
|
+
* - `(default)`: The element your renderer draws the terminal in.
|
|
100979
|
+
* - `actions`: Controls of your own in the header, before the built-in ones, such as a button that splits the pane.
|
|
100980
|
+
* - `clear-icon`: Replaces the glyph inside the clear button.
|
|
100981
|
+
* - `copy-icon`: Replaces the glyph inside the copy button.
|
|
100982
|
+
* - `exit-actions`: Controls of your own beside Restart, shown once the process exits, such as a button that opens the whole log.
|
|
100983
|
+
* - `find-actions`: Controls of your own in the find bar, between the count and the buttons that move between matches.
|
|
100984
|
+
* - `find-close-icon`: Replaces the glyph inside the button that closes the find bar.
|
|
100985
|
+
* - `find-icon`: Replaces the glyph inside the find button.
|
|
100986
|
+
* - `find-next-icon`: Replaces the glyph inside the next match button.
|
|
100987
|
+
* - `find-previous-icon`: Replaces the glyph inside the previous match button.
|
|
100988
|
+
* - `fullscreen-icon`: Replaces the glyph inside the fullscreen button.
|
|
100989
|
+
* - `label`: The terminal's name in the header, such as an icon beside the shell's name. Replaces `label` there.
|
|
100990
|
+
* - `restart-icon`: Replaces the glyph inside the Restart button.
|
|
100991
|
+
*
|
|
100992
|
+
* ## Methods
|
|
100993
|
+
*
|
|
100994
|
+
* Methods that can be called to access component functionality.
|
|
100995
|
+
*
|
|
100996
|
+
* - `write(data: string | Uint8Array) => Promise<void>`: Writes the program's output. Resolves once the renderer has parsed it,
|
|
100997
|
+
* which is how a page pauses a process that writes faster than the
|
|
100998
|
+
* terminal draws. Output written before a renderer is attached is held and
|
|
100999
|
+
* written first.
|
|
101000
|
+
* - `paste(text: string) => void`: Inputs text as a paste does, in bracketed paste mode where the program
|
|
101001
|
+
* asked for it. It arrives as `helix-terminal-input`, like typed text.
|
|
101002
|
+
* - `clear() => void`: Clears the scrollback, keeping the line the cursor is on.
|
|
101003
|
+
* - `reset() => void`: Resets the emulator: its modes, its colors, and its screen.
|
|
101004
|
+
* - `text(scope: 'all' | 'screen' = 'screen') => string`: The terminal as plain text, as the renderer drew it: the lines on screen,
|
|
101005
|
+
* or with `all`, every line the scrollback holds. Empty before a renderer is
|
|
101006
|
+
* attached.
|
|
101007
|
+
* - `look() => TerminalLook`: The colors and the face the terminal is to be drawn in, as the
|
|
101008
|
+
* `--terminal-*` properties resolve where the frame is. `connectTerminal`
|
|
101009
|
+
* themes the renderer from it. A color nothing sets is left out, so the
|
|
101010
|
+
* renderer keeps its own: the headless tier sets none, and the styled tier
|
|
101011
|
+
* sets every one from the theme.
|
|
101012
|
+
* - `focus(options?: FocusOptions) => void`: Focuses the terminal's input, where a renderer is attached.
|
|
101013
|
+
* - `attach(renderer: TerminalRenderer) => TerminalSink`: Attaches what draws the terminal, and returns how it tells the frame what
|
|
101014
|
+
* happened. `connectTerminal` calls it; a page drawing its own terminal calls
|
|
101015
|
+
* it with its own renderer. Attaching another detaches the first.
|
|
101016
|
+
*
|
|
101017
|
+
* ## CSS Custom Properties
|
|
101018
|
+
*
|
|
101019
|
+
* CSS variables available for styling the component.
|
|
101020
|
+
*
|
|
101021
|
+
* - `--terminal-active-match-background-color`: The ground of the current match of a search.
|
|
101022
|
+
* - `--terminal-active-match-border-color`: The edge of the current match of a search.
|
|
101023
|
+
* - `--terminal-ansi-black`: ANSI black, which codes `30` and `40` draw.
|
|
101024
|
+
* - `--terminal-ansi-blue`: ANSI blue, which codes `34` and `44` draw.
|
|
101025
|
+
* - `--terminal-ansi-bright-black`: ANSI bright black, which codes `90` and `100` draw.
|
|
101026
|
+
* - `--terminal-ansi-bright-blue`: ANSI bright blue, which codes `94` and `104` draw.
|
|
101027
|
+
* - `--terminal-ansi-bright-cyan`: ANSI bright cyan, which codes `96` and `106` draw.
|
|
101028
|
+
* - `--terminal-ansi-bright-green`: ANSI bright green, which codes `92` and `102` draw.
|
|
101029
|
+
* - `--terminal-ansi-bright-magenta`: ANSI bright magenta, which codes `95` and `105` draw.
|
|
101030
|
+
* - `--terminal-ansi-bright-red`: ANSI bright red, which codes `91` and `101` draw.
|
|
101031
|
+
* - `--terminal-ansi-bright-white`: ANSI bright white, which codes `97` and `107` draw.
|
|
101032
|
+
* - `--terminal-ansi-bright-yellow`: ANSI bright yellow, which codes `93` and `103` draw.
|
|
101033
|
+
* - `--terminal-ansi-cyan`: ANSI cyan, which codes `36` and `46` draw.
|
|
101034
|
+
* - `--terminal-ansi-green`: ANSI green, which codes `32` and `42` draw.
|
|
101035
|
+
* - `--terminal-ansi-magenta`: ANSI magenta, which codes `35` and `45` draw.
|
|
101036
|
+
* - `--terminal-ansi-red`: ANSI red, which codes `31` and `41` draw.
|
|
101037
|
+
* - `--terminal-ansi-white`: ANSI white, which codes `37` and `47` draw.
|
|
101038
|
+
* - `--terminal-ansi-yellow`: ANSI yellow, which codes `33` and `43` draw.
|
|
101039
|
+
* - `--terminal-background-color`: The ground of the grid.
|
|
101040
|
+
* - `--terminal-color`: The text of the grid where the program sets no color.
|
|
101041
|
+
* - `--terminal-cursor-color`: The cursor.
|
|
101042
|
+
* - `--terminal-match-background-color`: The ground of every match of a search but the current one.
|
|
101043
|
+
* - `--terminal-scrollbar-thumb-color`: The grid's scrollbar.
|
|
101044
|
+
* - `--terminal-selection-background-color`: The ground of selected text. See-through, so the text keeps its color.
|
|
101045
|
+
*
|
|
101046
|
+
* ## CSS Parts
|
|
101047
|
+
*
|
|
101048
|
+
* Custom selectors for styling elements within the component.
|
|
101049
|
+
*
|
|
101050
|
+
* - `actions`: The `actions` slot, first in the header's toolbar.
|
|
101051
|
+
* - `clear`: The button that clears the scrollback.
|
|
101052
|
+
* - `clear-button`: The clear button's inner button.
|
|
101053
|
+
* - `clear-live`: The clear button's live region, which speaks while the button is pending.
|
|
101054
|
+
* - `clear-spinner`: The ring the clear button turns while it is pending.
|
|
101055
|
+
* - `clear-text`: The box the clear button's icon sits in.
|
|
101056
|
+
* - `controls`: The toolbar at the end of the header: your actions, then the built-in buttons, one tab stop that the arrows move along.
|
|
101057
|
+
* - `controls-toolbar`: The box inside the header's toolbar that lays its buttons out.
|
|
101058
|
+
* - `copy`: The button that copies the selection. Disabled while nothing is selected.
|
|
101059
|
+
* - `copy-button`: The copy button's inner button.
|
|
101060
|
+
* - `copy-live`: The copy button's live region, which speaks while the button is pending.
|
|
101061
|
+
* - `copy-spinner`: The ring the copy button turns while it is pending.
|
|
101062
|
+
* - `copy-text`: The box the copy button's icon sits in.
|
|
101063
|
+
* - `exit-actions`: The `exit-actions` slot, beside Restart in the status line.
|
|
101064
|
+
* - `find`: The button that opens and closes the find bar. Expanded while it is open.
|
|
101065
|
+
* - `find-actions`: The `find-actions` slot, first in the find bar's toolbar.
|
|
101066
|
+
* - `find-bar`: The bar under the header where the reader searches the output.
|
|
101067
|
+
* - `find-button`: The find button's inner button.
|
|
101068
|
+
* - `find-close`: The button that closes the find bar.
|
|
101069
|
+
* - `find-close-button`: The find bar's close button's inner button.
|
|
101070
|
+
* - `find-close-live`: The find bar's close button's live region, which speaks while the button is pending.
|
|
101071
|
+
* - `find-close-spinner`: The ring the find bar's close button turns while it is pending.
|
|
101072
|
+
* - `find-close-text`: The box the find bar's close button's icon sits in.
|
|
101073
|
+
* - `find-controls`: The toolbar at the end of the find bar: your find actions, then the buttons that move between matches and close the bar.
|
|
101074
|
+
* - `find-controls-toolbar`: The box inside the find bar's toolbar that lays its buttons out.
|
|
101075
|
+
* - `find-count`: Which match is current and how many there are, such as "3 of 12 matches".
|
|
101076
|
+
* - `find-field`: The search field in the find bar.
|
|
101077
|
+
* - `find-live`: The find button's live region, which speaks while the button is pending.
|
|
101078
|
+
* - `find-next`: The button that moves to the next match.
|
|
101079
|
+
* - `find-next-button`: The next match button's inner button.
|
|
101080
|
+
* - `find-next-live`: The next match button's live region, which speaks while the button is pending.
|
|
101081
|
+
* - `find-next-spinner`: The ring the next match button turns while it is pending.
|
|
101082
|
+
* - `find-next-text`: The box the next match button's icon sits in.
|
|
101083
|
+
* - `find-previous`: The button that moves to the previous match.
|
|
101084
|
+
* - `find-previous-button`: The previous match button's inner button.
|
|
101085
|
+
* - `find-previous-live`: The previous match button's live region, which speaks while the button is pending.
|
|
101086
|
+
* - `find-previous-spinner`: The ring the previous match button turns while it is pending.
|
|
101087
|
+
* - `find-previous-text`: The box the previous match button's icon sits in.
|
|
101088
|
+
* - `find-spinner`: The ring the find button turns while it is pending.
|
|
101089
|
+
* - `find-text`: The box the find button's icon sits in.
|
|
101090
|
+
* - `fullscreen`: The button that makes the terminal fill the screen. Pressed while it does.
|
|
101091
|
+
* - `fullscreen-button`: The fullscreen button's inner button.
|
|
101092
|
+
* - `fullscreen-live`: The fullscreen button's live region, which speaks while the button is pending.
|
|
101093
|
+
* - `fullscreen-spinner`: The ring the fullscreen button turns while it is pending.
|
|
101094
|
+
* - `fullscreen-text`: The box the fullscreen button's icon sits in.
|
|
101095
|
+
* - `header`: The strip above the terminal, with its name, your actions, and the controls.
|
|
101096
|
+
* - `label`: The terminal's name in the header.
|
|
101097
|
+
* - `live`: What screen readers hear after the frame acts: a match count, a copy, or a change to what Tab does. Visually hidden in the styled tier.
|
|
101098
|
+
* - `region`: The named group the terminal sits in.
|
|
101099
|
+
* - `restart`: The button in the status line that asks for a new process after the last one exited.
|
|
101100
|
+
* - `restart-button`: The Restart button's inner button.
|
|
101101
|
+
* - `restart-live`: The Restart button's live region, which speaks while the button is pending.
|
|
101102
|
+
* - `restart-spinner`: The ring the Restart button turns while it is pending.
|
|
101103
|
+
* - `restart-text`: The Restart button's label.
|
|
101104
|
+
* - `status`: The line under the terminal that says the process exited, or that Tab moves focus.
|
|
101105
|
+
* - `viewport`: The box the terminal is drawn in.
|
|
101106
|
+
*
|
|
101107
|
+
* ## CSS States
|
|
101108
|
+
*
|
|
101109
|
+
* These can be used to apply styling when a component is in a given state.
|
|
101110
|
+
*
|
|
101111
|
+
* - `bell`: The program rang the bell, held for a moment for a visual bell.
|
|
101112
|
+
* - `exited`: The process has exited, by `exit-code`.
|
|
101113
|
+
* - `find-open`: The find bar is open.
|
|
101114
|
+
* - `fullscreen`: The terminal fills the screen.
|
|
101115
|
+
* - `tab-moves-focus`: Tab moves focus out of the terminal, after Control+M.
|
|
101116
|
+
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
101117
|
+
*/
|
|
101118
|
+
"helix-headless-terminal": Partial<
|
|
101119
|
+
HelixHeadlessTerminalProps &
|
|
101120
|
+
HelixHeadlessTerminalSolidJsProps &
|
|
101121
|
+
BaseProps<HelixHeadlessTerminal, "solid"> &
|
|
101122
|
+
BaseEvents<HelixHeadlessTerminal>
|
|
101123
|
+
>;
|
|
101124
|
+
|
|
100278
101125
|
/**
|
|
100279
101126
|
* Renders a `<textarea>`, so the caret, selection, spellcheck, resize handle,
|
|
100280
101127
|
* and phone keyboard come from the platform. It is in the server markup, so the
|
|
@@ -102571,6 +103418,10 @@ export type CustomElementsSolidJs = {
|
|
|
102571
103418
|
* tab stop while the toolbar's is elsewhere, so Tab stops once in the
|
|
102572
103419
|
* toolbar. A composite without one keeps its own tab stop.
|
|
102573
103420
|
*
|
|
103421
|
+
* A `<slot>` in the toolbar counts as the controls assigned to it, for a
|
|
103422
|
+
* toolbar a component draws in its own shadow root with your controls passed
|
|
103423
|
+
* into it: they share its tab stop and its arrows with the component's own.
|
|
103424
|
+
*
|
|
102574
103425
|
* A toolbar inside another toolbar, a Helix one or the page's own
|
|
102575
103426
|
* `role="toolbar"`, is a `group` of the outer one, as React Aria's is: the
|
|
102576
103427
|
* outer toolbar's arrows walk through its controls and on past them, and it
|
|
@@ -105305,6 +106156,54 @@ export type CustomCssProperties = {
|
|
|
105305
106156
|
"--table-template"?: (string) | undefined;
|
|
105306
106157
|
/** Written by the row on its `expand` cell: how deep the row sits, from 1. Do not set it. */
|
|
105307
106158
|
"--table-row-level"?: (string) | undefined;
|
|
106159
|
+
/** The ground of the current match of a search. */
|
|
106160
|
+
"--terminal-active-match-background-color"?: (string) | undefined;
|
|
106161
|
+
/** The edge of the current match of a search. */
|
|
106162
|
+
"--terminal-active-match-border-color"?: (string) | undefined;
|
|
106163
|
+
/** ANSI black, which codes `30` and `40` draw. */
|
|
106164
|
+
"--terminal-ansi-black"?: (string) | undefined;
|
|
106165
|
+
/** ANSI blue, which codes `34` and `44` draw. */
|
|
106166
|
+
"--terminal-ansi-blue"?: (string) | undefined;
|
|
106167
|
+
/** ANSI bright black, which codes `90` and `100` draw. */
|
|
106168
|
+
"--terminal-ansi-bright-black"?: (string) | undefined;
|
|
106169
|
+
/** ANSI bright blue, which codes `94` and `104` draw. */
|
|
106170
|
+
"--terminal-ansi-bright-blue"?: (string) | undefined;
|
|
106171
|
+
/** ANSI bright cyan, which codes `96` and `106` draw. */
|
|
106172
|
+
"--terminal-ansi-bright-cyan"?: (string) | undefined;
|
|
106173
|
+
/** ANSI bright green, which codes `92` and `102` draw. */
|
|
106174
|
+
"--terminal-ansi-bright-green"?: (string) | undefined;
|
|
106175
|
+
/** ANSI bright magenta, which codes `95` and `105` draw. */
|
|
106176
|
+
"--terminal-ansi-bright-magenta"?: (string) | undefined;
|
|
106177
|
+
/** ANSI bright red, which codes `91` and `101` draw. */
|
|
106178
|
+
"--terminal-ansi-bright-red"?: (string) | undefined;
|
|
106179
|
+
/** ANSI bright white, which codes `97` and `107` draw. */
|
|
106180
|
+
"--terminal-ansi-bright-white"?: (string) | undefined;
|
|
106181
|
+
/** ANSI bright yellow, which codes `93` and `103` draw. */
|
|
106182
|
+
"--terminal-ansi-bright-yellow"?: (string) | undefined;
|
|
106183
|
+
/** ANSI cyan, which codes `36` and `46` draw. */
|
|
106184
|
+
"--terminal-ansi-cyan"?: (string) | undefined;
|
|
106185
|
+
/** ANSI green, which codes `32` and `42` draw. */
|
|
106186
|
+
"--terminal-ansi-green"?: (string) | undefined;
|
|
106187
|
+
/** ANSI magenta, which codes `35` and `45` draw. */
|
|
106188
|
+
"--terminal-ansi-magenta"?: (string) | undefined;
|
|
106189
|
+
/** ANSI red, which codes `31` and `41` draw. */
|
|
106190
|
+
"--terminal-ansi-red"?: (string) | undefined;
|
|
106191
|
+
/** ANSI white, which codes `37` and `47` draw. */
|
|
106192
|
+
"--terminal-ansi-white"?: (string) | undefined;
|
|
106193
|
+
/** ANSI yellow, which codes `33` and `43` draw. */
|
|
106194
|
+
"--terminal-ansi-yellow"?: (string) | undefined;
|
|
106195
|
+
/** The ground of the grid. */
|
|
106196
|
+
"--terminal-background-color"?: (string) | undefined;
|
|
106197
|
+
/** The text of the grid where the program sets no color. */
|
|
106198
|
+
"--terminal-color"?: (string) | undefined;
|
|
106199
|
+
/** The cursor. */
|
|
106200
|
+
"--terminal-cursor-color"?: (string) | undefined;
|
|
106201
|
+
/** The ground of every match of a search but the current one. */
|
|
106202
|
+
"--terminal-match-background-color"?: (string) | undefined;
|
|
106203
|
+
/** The grid's scrollbar. */
|
|
106204
|
+
"--terminal-scrollbar-thumb-color"?: (string) | undefined;
|
|
106205
|
+
/** The ground of selected text. See-through, so the text keeps its color. */
|
|
106206
|
+
"--terminal-selection-background-color"?: (string) | undefined;
|
|
105308
106207
|
/** How long this message stays, in milliseconds, for a progress hint. */
|
|
105309
106208
|
"--toast-duration"?: (string) | undefined;
|
|
105310
106209
|
/** How far a swipe has moved the message across, in pixels, toward the right. */
|