@react-x11/components 0.1.0 → 0.2.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/README.md +979 -21
- package/dist/ansi/cast.d.ts +48 -0
- package/dist/ansi/cast.d.ts.map +1 -0
- package/dist/ansi/cast.js +135 -0
- package/dist/ansi/cast.js.map +1 -0
- package/dist/ansi/index.d.ts +10 -0
- package/dist/ansi/index.d.ts.map +1 -0
- package/dist/ansi/index.js +27 -0
- package/dist/ansi/index.js.map +1 -0
- package/dist/ansi/palette.d.ts +79 -0
- package/dist/ansi/palette.d.ts.map +1 -0
- package/dist/ansi/palette.js +155 -0
- package/dist/ansi/palette.js.map +1 -0
- package/dist/ansi/parse.d.ts +114 -0
- package/dist/ansi/parse.d.ts.map +1 -0
- package/dist/ansi/parse.js +687 -0
- package/dist/ansi/parse.js.map +1 -0
- package/dist/ansi/sgr.d.ts +87 -0
- package/dist/ansi/sgr.d.ts.map +1 -0
- package/dist/ansi/sgr.js +302 -0
- package/dist/ansi/sgr.js.map +1 -0
- package/dist/ansi/utf8.d.ts +15 -0
- package/dist/ansi/utf8.d.ts.map +1 -0
- package/dist/ansi/utf8.js +82 -0
- package/dist/ansi/utf8.js.map +1 -0
- package/dist/calendar/Calendar.d.ts +136 -0
- package/dist/calendar/Calendar.d.ts.map +1 -0
- package/dist/calendar/Calendar.js +460 -0
- package/dist/calendar/Calendar.js.map +1 -0
- package/dist/calendar/DatePicker.d.ts +52 -0
- package/dist/calendar/DatePicker.d.ts.map +1 -0
- package/dist/calendar/DatePicker.js +257 -0
- package/dist/calendar/DatePicker.js.map +1 -0
- package/dist/calendar/dates.d.ts +90 -0
- package/dist/calendar/dates.d.ts.map +1 -0
- package/dist/calendar/dates.js +236 -0
- package/dist/calendar/dates.js.map +1 -0
- package/dist/calendar/index.d.ts +8 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/index.js +15 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/charts/components.d.ts +141 -0
- package/dist/charts/components.d.ts.map +1 -0
- package/dist/charts/components.js +580 -0
- package/dist/charts/components.js.map +1 -0
- package/dist/charts/data.d.ts +198 -0
- package/dist/charts/data.d.ts.map +1 -0
- package/dist/charts/data.js +616 -0
- package/dist/charts/data.js.map +1 -0
- package/dist/charts/hx.d.ts +21 -0
- package/dist/charts/hx.d.ts.map +1 -0
- package/dist/charts/hx.js +15 -0
- package/dist/charts/hx.js.map +1 -0
- package/dist/charts/index.d.ts +27 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +38 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/node.d.ts +96 -0
- package/dist/charts/node.d.ts.map +1 -0
- package/dist/charts/node.js +720 -0
- package/dist/charts/node.js.map +1 -0
- package/dist/charts/render.d.ts +153 -0
- package/dist/charts/render.d.ts.map +1 -0
- package/dist/charts/render.js +762 -0
- package/dist/charts/render.js.map +1 -0
- package/dist/charts/scale.d.ts +42 -0
- package/dist/charts/scale.d.ts.map +1 -0
- package/dist/charts/scale.js +173 -0
- package/dist/charts/scale.js.map +1 -0
- package/dist/charts/spec.d.ts +91 -0
- package/dist/charts/spec.d.ts.map +1 -0
- package/dist/charts/spec.js +33 -0
- package/dist/charts/spec.js.map +1 -0
- package/dist/charts/timers.d.ts +6 -0
- package/dist/charts/timers.d.ts.map +1 -0
- package/dist/charts/timers.js +14 -0
- package/dist/charts/timers.js.map +1 -0
- package/dist/code/hx.d.ts +24 -0
- package/dist/code/hx.d.ts.map +1 -0
- package/dist/code/hx.js +25 -0
- package/dist/code/hx.js.map +1 -0
- package/dist/code/index.d.ts +45 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/index.js +93 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code-editor/completion.d.ts +26 -0
- package/dist/code-editor/completion.d.ts.map +1 -0
- package/dist/code-editor/completion.js +129 -0
- package/dist/code-editor/completion.js.map +1 -0
- package/dist/code-editor/doc.d.ts +35 -0
- package/dist/code-editor/doc.d.ts.map +1 -0
- package/dist/code-editor/doc.js +162 -0
- package/dist/code-editor/doc.js.map +1 -0
- package/dist/code-editor/hx.d.ts +13 -0
- package/dist/code-editor/hx.d.ts.map +1 -0
- package/dist/code-editor/hx.js +10 -0
- package/dist/code-editor/hx.js.map +1 -0
- package/dist/code-editor/index.d.ts +88 -0
- package/dist/code-editor/index.d.ts.map +1 -0
- package/dist/code-editor/index.js +401 -0
- package/dist/code-editor/index.js.map +1 -0
- package/dist/code-editor/node.d.ts +343 -0
- package/dist/code-editor/node.d.ts.map +1 -0
- package/dist/code-editor/node.js +1521 -0
- package/dist/code-editor/node.js.map +1 -0
- package/dist/code-language/hljs.d.ts +47 -0
- package/dist/code-language/hljs.d.ts.map +1 -0
- package/dist/code-language/hljs.js +211 -0
- package/dist/code-language/hljs.js.map +1 -0
- package/dist/code-language/index.d.ts +22 -0
- package/dist/code-language/index.d.ts.map +1 -0
- package/dist/code-language/index.js +20 -0
- package/dist/code-language/index.js.map +1 -0
- package/dist/code-language/languages/glsl.d.ts +4 -0
- package/dist/code-language/languages/glsl.d.ts.map +1 -0
- package/dist/code-language/languages/glsl.js +99 -0
- package/dist/code-language/languages/glsl.js.map +1 -0
- package/dist/code-language/languages/javascript.d.ts +10 -0
- package/dist/code-language/languages/javascript.d.ts.map +1 -0
- package/dist/code-language/languages/javascript.js +360 -0
- package/dist/code-language/languages/javascript.js.map +1 -0
- package/dist/code-language/languages/json.d.ts +4 -0
- package/dist/code-language/languages/json.d.ts.map +1 -0
- package/dist/code-language/languages/json.js +68 -0
- package/dist/code-language/languages/json.js.map +1 -0
- package/dist/code-language/languages/shell.d.ts +4 -0
- package/dist/code-language/languages/shell.d.ts.map +1 -0
- package/dist/code-language/languages/shell.js +189 -0
- package/dist/code-language/languages/shell.js.map +1 -0
- package/dist/code-language/languages/sql.d.ts +11 -0
- package/dist/code-language/languages/sql.d.ts.map +1 -0
- package/dist/code-language/languages/sql.js +133 -0
- package/dist/code-language/languages/sql.js.map +1 -0
- package/dist/code-language/lezer.d.ts +24 -0
- package/dist/code-language/lezer.d.ts.map +1 -0
- package/dist/code-language/lezer.js +148 -0
- package/dist/code-language/lezer.js.map +1 -0
- package/dist/code-language/registry.d.ts +19 -0
- package/dist/code-language/registry.d.ts.map +1 -0
- package/dist/code-language/registry.js +56 -0
- package/dist/code-language/registry.js.map +1 -0
- package/dist/code-language/runs.d.ts +35 -0
- package/dist/code-language/runs.d.ts.map +1 -0
- package/dist/code-language/runs.js +88 -0
- package/dist/code-language/runs.js.map +1 -0
- package/dist/code-language/stream.d.ts +70 -0
- package/dist/code-language/stream.d.ts.map +1 -0
- package/dist/code-language/stream.js +243 -0
- package/dist/code-language/stream.js.map +1 -0
- package/dist/code-language/textmate.d.ts +27 -0
- package/dist/code-language/textmate.d.ts.map +1 -0
- package/dist/code-language/textmate.js +86 -0
- package/dist/code-language/textmate.js.map +1 -0
- package/dist/code-language/theme.d.ts +26 -0
- package/dist/code-language/theme.d.ts.map +1 -0
- package/dist/code-language/theme.js +108 -0
- package/dist/code-language/theme.js.map +1 -0
- package/dist/code-language/timers.d.ts +7 -0
- package/dist/code-language/timers.d.ts.map +1 -0
- package/dist/code-language/timers.js +22 -0
- package/dist/code-language/timers.js.map +1 -0
- package/dist/code-language/types.d.ts +173 -0
- package/dist/code-language/types.d.ts.map +1 -0
- package/dist/code-language/types.js +41 -0
- package/dist/code-language/types.js.map +1 -0
- package/dist/codeblock/index.d.ts +69 -0
- package/dist/codeblock/index.d.ts.map +1 -0
- package/dist/codeblock/index.js +85 -0
- package/dist/codeblock/index.js.map +1 -0
- package/dist/color-picker/ColorField.d.ts +39 -0
- package/dist/color-picker/ColorField.d.ts.map +1 -0
- package/dist/color-picker/ColorField.js +239 -0
- package/dist/color-picker/ColorField.js.map +1 -0
- package/dist/color-picker/ColorPicker.d.ts +109 -0
- package/dist/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/color-picker/ColorPicker.js +757 -0
- package/dist/color-picker/ColorPicker.js.map +1 -0
- package/dist/color-picker/color.d.ts +105 -0
- package/dist/color-picker/color.d.ts.map +1 -0
- package/dist/color-picker/color.js +313 -0
- package/dist/color-picker/color.js.map +1 -0
- package/dist/color-picker/index.d.ts +8 -0
- package/dist/color-picker/index.d.ts.map +1 -0
- package/dist/color-picker/index.js +19 -0
- package/dist/color-picker/index.js.map +1 -0
- package/dist/desktop-calendar/eds.d.ts +102 -0
- package/dist/desktop-calendar/eds.d.ts.map +1 -0
- package/dist/desktop-calendar/eds.js +356 -0
- package/dist/desktop-calendar/eds.js.map +1 -0
- package/dist/desktop-calendar/ical.d.ts +63 -0
- package/dist/desktop-calendar/ical.d.ts.map +1 -0
- package/dist/desktop-calendar/ical.js +57 -0
- package/dist/desktop-calendar/ical.js.map +1 -0
- package/dist/desktop-calendar/index.d.ts +72 -0
- package/dist/desktop-calendar/index.d.ts.map +1 -0
- package/dist/desktop-calendar/index.js +213 -0
- package/dist/desktop-calendar/index.js.map +1 -0
- package/dist/embed/client.d.ts +121 -0
- package/dist/embed/client.d.ts.map +1 -0
- package/dist/embed/client.js +203 -0
- package/dist/embed/client.js.map +1 -0
- package/dist/embed/host.d.ts +96 -0
- package/dist/embed/host.d.ts.map +1 -0
- package/dist/embed/host.js +266 -0
- package/dist/embed/host.js.map +1 -0
- package/dist/embed/index.d.ts +5 -0
- package/dist/embed/index.d.ts.map +1 -0
- package/dist/embed/index.js +13 -0
- package/dist/embed/index.js.map +1 -0
- package/dist/embed/timers.d.ts +6 -0
- package/dist/embed/timers.d.ts.map +1 -0
- package/dist/embed/timers.js +16 -0
- package/dist/embed/timers.js.map +1 -0
- package/dist/flow/draw.d.ts +45 -0
- package/dist/flow/draw.d.ts.map +1 -0
- package/dist/flow/draw.js +295 -0
- package/dist/flow/draw.js.map +1 -0
- package/dist/flow/index.d.ts +64 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +306 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/model.d.ts +158 -0
- package/dist/flow/model.d.ts.map +1 -0
- package/dist/flow/model.js +566 -0
- package/dist/flow/model.js.map +1 -0
- package/dist/flow/node.d.ts +429 -0
- package/dist/flow/node.d.ts.map +1 -0
- package/dist/flow/node.js +3025 -0
- package/dist/flow/node.js.map +1 -0
- package/dist/flow/paths.d.ts +43 -0
- package/dist/flow/paths.d.ts.map +1 -0
- package/dist/flow/paths.js +327 -0
- package/dist/flow/paths.js.map +1 -0
- package/dist/flow/types.d.ts +561 -0
- package/dist/flow/types.d.ts.map +1 -0
- package/dist/flow/types.js +2 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/formula/hx.d.ts +24 -0
- package/dist/formula/hx.d.ts.map +1 -0
- package/dist/formula/hx.js +25 -0
- package/dist/formula/hx.js.map +1 -0
- package/dist/formula/index.d.ts +74 -0
- package/dist/formula/index.d.ts.map +1 -0
- package/dist/formula/index.js +155 -0
- package/dist/formula/index.js.map +1 -0
- package/dist/formula/katex.d.ts +78 -0
- package/dist/formula/katex.d.ts.map +1 -0
- package/dist/formula/katex.js +130 -0
- package/dist/formula/katex.js.map +1 -0
- package/dist/formula/layout.d.ts +103 -0
- package/dist/formula/layout.d.ts.map +1 -0
- package/dist/formula/layout.js +716 -0
- package/dist/formula/layout.js.map +1 -0
- package/dist/formula/node.d.ts +50 -0
- package/dist/formula/node.d.ts.map +1 -0
- package/dist/formula/node.js +351 -0
- package/dist/formula/node.js.map +1 -0
- package/dist/html/controls.d.ts +48 -0
- package/dist/html/controls.d.ts.map +1 -0
- package/dist/html/controls.js +195 -0
- package/dist/html/controls.js.map +1 -0
- package/dist/html/css/cascade.d.ts +51 -0
- package/dist/html/css/cascade.d.ts.map +1 -0
- package/dist/html/css/cascade.js +552 -0
- package/dist/html/css/cascade.js.map +1 -0
- package/dist/html/css/parse.d.ts +74 -0
- package/dist/html/css/parse.d.ts.map +1 -0
- package/dist/html/css/parse.js +464 -0
- package/dist/html/css/parse.js.map +1 -0
- package/dist/html/css/style.d.ts +142 -0
- package/dist/html/css/style.d.ts.map +1 -0
- package/dist/html/css/style.js +1145 -0
- package/dist/html/css/style.js.map +1 -0
- package/dist/html/css/ua.d.ts +5 -0
- package/dist/html/css/ua.d.ts.map +1 -0
- package/dist/html/css/ua.js +171 -0
- package/dist/html/css/ua.js.map +1 -0
- package/dist/html/css/values.d.ts +78 -0
- package/dist/html/css/values.d.ts.map +1 -0
- package/dist/html/css/values.js +330 -0
- package/dist/html/css/values.js.map +1 -0
- package/dist/html/dom.d.ts +112 -0
- package/dist/html/dom.d.ts.map +1 -0
- package/dist/html/dom.js +374 -0
- package/dist/html/dom.js.map +1 -0
- package/dist/html/hx.d.ts +24 -0
- package/dist/html/hx.d.ts.map +1 -0
- package/dist/html/hx.js +29 -0
- package/dist/html/hx.js.map +1 -0
- package/dist/html/index.d.ts +137 -0
- package/dist/html/index.d.ts.map +1 -0
- package/dist/html/index.js +339 -0
- package/dist/html/index.js.map +1 -0
- package/dist/html/layout/block.d.ts +58 -0
- package/dist/html/layout/block.d.ts.map +1 -0
- package/dist/html/layout/block.js +724 -0
- package/dist/html/layout/block.js.map +1 -0
- package/dist/html/layout/boxes.d.ts +261 -0
- package/dist/html/layout/boxes.d.ts.map +1 -0
- package/dist/html/layout/boxes.js +725 -0
- package/dist/html/layout/boxes.js.map +1 -0
- package/dist/html/layout/flex.d.ts +16 -0
- package/dist/html/layout/flex.d.ts.map +1 -0
- package/dist/html/layout/flex.js +242 -0
- package/dist/html/layout/flex.js.map +1 -0
- package/dist/html/layout/floats.d.ts +50 -0
- package/dist/html/layout/floats.d.ts.map +1 -0
- package/dist/html/layout/floats.js +110 -0
- package/dist/html/layout/floats.js.map +1 -0
- package/dist/html/layout/inline.d.ts +44 -0
- package/dist/html/layout/inline.d.ts.map +1 -0
- package/dist/html/layout/inline.js +700 -0
- package/dist/html/layout/inline.js.map +1 -0
- package/dist/html/layout/table.d.ts +5 -0
- package/dist/html/layout/table.d.ts.map +1 -0
- package/dist/html/layout/table.js +340 -0
- package/dist/html/layout/table.js.map +1 -0
- package/dist/html/node.d.ts +149 -0
- package/dist/html/node.d.ts.map +1 -0
- package/dist/html/node.js +861 -0
- package/dist/html/node.js.map +1 -0
- package/dist/html/paint.d.ts +48 -0
- package/dist/html/paint.d.ts.map +1 -0
- package/dist/html/paint.js +495 -0
- package/dist/html/paint.js.map +1 -0
- package/dist/html/resources.d.ts +48 -0
- package/dist/html/resources.d.ts.map +1 -0
- package/dist/html/resources.js +156 -0
- package/dist/html/resources.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +92 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/heights.d.ts +81 -0
- package/dist/internal/heights.d.ts.map +1 -0
- package/dist/internal/heights.js +193 -0
- package/dist/internal/heights.js.map +1 -0
- package/dist/internal/hx.d.ts +24 -0
- package/dist/internal/hx.d.ts.map +1 -0
- package/dist/internal/hx.js +27 -0
- package/dist/internal/hx.js.map +1 -0
- package/dist/internal/text.d.ts +6 -0
- package/dist/internal/text.d.ts.map +1 -0
- package/dist/internal/text.js +44 -0
- package/dist/internal/text.js.map +1 -0
- package/dist/internal/timers.d.ts +8 -0
- package/dist/internal/timers.d.ts.map +1 -0
- package/dist/internal/timers.js +22 -0
- package/dist/internal/timers.js.map +1 -0
- package/dist/internal/widget.d.ts +40 -0
- package/dist/internal/widget.d.ts.map +1 -0
- package/dist/internal/widget.js +44 -0
- package/dist/internal/widget.js.map +1 -0
- package/dist/markdown/ast.d.ts +126 -0
- package/dist/markdown/ast.d.ts.map +1 -0
- package/dist/markdown/ast.js +8 -0
- package/dist/markdown/ast.js.map +1 -0
- package/dist/markdown/hx.d.ts +24 -0
- package/dist/markdown/hx.d.ts.map +1 -0
- package/dist/markdown/hx.js +25 -0
- package/dist/markdown/hx.js.map +1 -0
- package/dist/markdown/index.d.ts +90 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +413 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/parse.d.ts +8 -0
- package/dist/markdown/parse.d.ts.map +1 -0
- package/dist/markdown/parse.js +911 -0
- package/dist/markdown/parse.js.map +1 -0
- package/dist/markdown/spans.d.ts +20 -0
- package/dist/markdown/spans.d.ts.map +1 -0
- package/dist/markdown/spans.js +96 -0
- package/dist/markdown/spans.js.map +1 -0
- package/dist/media-player/backends.d.ts +64 -0
- package/dist/media-player/backends.d.ts.map +1 -0
- package/dist/media-player/backends.js +110 -0
- package/dist/media-player/backends.js.map +1 -0
- package/dist/media-player/control.d.ts +40 -0
- package/dist/media-player/control.d.ts.map +1 -0
- package/dist/media-player/control.js +44 -0
- package/dist/media-player/control.js.map +1 -0
- package/dist/media-player/hx.d.ts +24 -0
- package/dist/media-player/hx.d.ts.map +1 -0
- package/dist/media-player/hx.js +25 -0
- package/dist/media-player/hx.js.map +1 -0
- package/dist/media-player/index.d.ts +107 -0
- package/dist/media-player/index.d.ts.map +1 -0
- package/dist/media-player/index.js +219 -0
- package/dist/media-player/index.js.map +1 -0
- package/dist/media-player/mpv.d.ts +4 -0
- package/dist/media-player/mpv.d.ts.map +1 -0
- package/dist/media-player/mpv.js +120 -0
- package/dist/media-player/mpv.js.map +1 -0
- package/dist/media-player/vlc.d.ts +8 -0
- package/dist/media-player/vlc.d.ts.map +1 -0
- package/dist/media-player/vlc.js +83 -0
- package/dist/media-player/vlc.js.map +1 -0
- package/dist/richtext/index.d.ts +19 -0
- package/dist/richtext/index.d.ts.map +1 -0
- package/dist/richtext/index.js +4 -0
- package/dist/richtext/index.js.map +1 -0
- package/dist/richtext/links.d.ts +12 -0
- package/dist/richtext/links.d.ts.map +1 -0
- package/dist/richtext/links.js +64 -0
- package/dist/richtext/links.js.map +1 -0
- package/dist/richtext/menu.d.ts +11 -0
- package/dist/richtext/menu.d.ts.map +1 -0
- package/dist/richtext/menu.js +43 -0
- package/dist/richtext/menu.js.map +1 -0
- package/dist/richtext/node.d.ts +151 -0
- package/dist/richtext/node.d.ts.map +1 -0
- package/dist/richtext/node.js +255 -0
- package/dist/richtext/node.js.map +1 -0
- package/dist/richtext/runs.d.ts +92 -0
- package/dist/richtext/runs.d.ts.map +1 -0
- package/dist/richtext/runs.js +158 -0
- package/dist/richtext/runs.js.map +1 -0
- package/dist/table/hx.d.ts +24 -0
- package/dist/table/hx.d.ts.map +1 -0
- package/dist/table/hx.js +25 -0
- package/dist/table/hx.js.map +1 -0
- package/dist/table/index.d.ts +169 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +844 -0
- package/dist/table/index.js.map +1 -0
- package/dist/table/rows.d.ts +136 -0
- package/dist/table/rows.d.ts.map +1 -0
- package/dist/table/rows.js +146 -0
- package/dist/table/rows.js.map +1 -0
- package/dist/terminal/backends.d.ts +105 -0
- package/dist/terminal/backends.d.ts.map +1 -0
- package/dist/terminal/backends.js +185 -0
- package/dist/terminal/backends.js.map +1 -0
- package/dist/terminal/hx.d.ts +24 -0
- package/dist/terminal/hx.d.ts.map +1 -0
- package/dist/terminal/hx.js +25 -0
- package/dist/terminal/hx.js.map +1 -0
- package/dist/terminal/index.d.ts +160 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +344 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/terminal/title.d.ts +24 -0
- package/dist/terminal/title.d.ts.map +1 -0
- package/dist/terminal/title.js +129 -0
- package/dist/terminal/title.js.map +1 -0
- package/dist/terminal/vt/colors.d.ts +63 -0
- package/dist/terminal/vt/colors.d.ts.map +1 -0
- package/dist/terminal/vt/colors.js +203 -0
- package/dist/terminal/vt/colors.js.map +1 -0
- package/dist/terminal/vt/diff.d.ts +117 -0
- package/dist/terminal/vt/diff.d.ts.map +1 -0
- package/dist/terminal/vt/diff.js +358 -0
- package/dist/terminal/vt/diff.js.map +1 -0
- package/dist/terminal/vt/fonts.d.ts +92 -0
- package/dist/terminal/vt/fonts.d.ts.map +1 -0
- package/dist/terminal/vt/fonts.js +178 -0
- package/dist/terminal/vt/fonts.js.map +1 -0
- package/dist/terminal/vt/index.d.ts +78 -0
- package/dist/terminal/vt/index.d.ts.map +1 -0
- package/dist/terminal/vt/index.js +312 -0
- package/dist/terminal/vt/index.js.map +1 -0
- package/dist/terminal/vt/keys.d.ts +74 -0
- package/dist/terminal/vt/keys.d.ts.map +1 -0
- package/dist/terminal/vt/keys.js +309 -0
- package/dist/terminal/vt/keys.js.map +1 -0
- package/dist/terminal/vt/mouse.d.ts +44 -0
- package/dist/terminal/vt/mouse.d.ts.map +1 -0
- package/dist/terminal/vt/mouse.js +106 -0
- package/dist/terminal/vt/mouse.js.map +1 -0
- package/dist/terminal/vt/node.d.ts +246 -0
- package/dist/terminal/vt/node.d.ts.map +1 -0
- package/dist/terminal/vt/node.js +1068 -0
- package/dist/terminal/vt/node.js.map +1 -0
- package/dist/terminal/vt/pty.d.ts +81 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -0
- package/dist/terminal/vt/pty.js +201 -0
- package/dist/terminal/vt/pty.js.map +1 -0
- package/dist/terminal/vt/renderer.d.ts +179 -0
- package/dist/terminal/vt/renderer.d.ts.map +1 -0
- package/dist/terminal/vt/renderer.js +357 -0
- package/dist/terminal/vt/renderer.js.map +1 -0
- package/dist/terminal/vt/timers.d.ts +6 -0
- package/dist/terminal/vt/timers.d.ts.map +1 -0
- package/dist/terminal/vt/timers.js +16 -0
- package/dist/terminal/vt/timers.js.map +1 -0
- package/dist/terminal/vt/xterm.d.ts +142 -0
- package/dist/terminal/vt/xterm.d.ts.map +1 -0
- package/dist/terminal/vt/xterm.js +32 -0
- package/dist/terminal/vt/xterm.js.map +1 -0
- package/dist/terminal-output/hx.d.ts +24 -0
- package/dist/terminal-output/hx.d.ts.map +1 -0
- package/dist/terminal-output/hx.js +25 -0
- package/dist/terminal-output/hx.js.map +1 -0
- package/dist/terminal-output/index.d.ts +92 -0
- package/dist/terminal-output/index.d.ts.map +1 -0
- package/dist/terminal-output/index.js +179 -0
- package/dist/terminal-output/index.js.map +1 -0
- package/dist/terminal-output/runs.d.ts +27 -0
- package/dist/terminal-output/runs.d.ts.map +1 -0
- package/dist/terminal-output/runs.js +66 -0
- package/dist/terminal-output/runs.js.map +1 -0
- package/dist/three/canvas.d.ts +46 -0
- package/dist/three/canvas.d.ts.map +1 -0
- package/dist/three/canvas.js +305 -0
- package/dist/three/canvas.js.map +1 -0
- package/dist/three/events.d.ts +64 -0
- package/dist/three/events.d.ts.map +1 -0
- package/dist/three/events.js +146 -0
- package/dist/three/events.js.map +1 -0
- package/dist/three/geometries.d.ts +89 -0
- package/dist/three/geometries.d.ts.map +1 -0
- package/dist/three/geometries.js +345 -0
- package/dist/three/geometries.js.map +1 -0
- package/dist/three/globals.d.ts +7 -0
- package/dist/three/globals.d.ts.map +1 -0
- package/dist/three/globals.js +20 -0
- package/dist/three/globals.js.map +1 -0
- package/dist/three/hx.d.ts +9 -0
- package/dist/three/hx.d.ts.map +1 -0
- package/dist/three/hx.js +10 -0
- package/dist/three/hx.js.map +1 -0
- package/dist/three/index.d.ts +22 -0
- package/dist/three/index.d.ts.map +1 -0
- package/dist/three/index.js +24 -0
- package/dist/three/index.js.map +1 -0
- package/dist/three/jsx-dev-runtime.d.ts +19 -0
- package/dist/three/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/three/jsx-dev-runtime.js +2 -0
- package/dist/three/jsx-dev-runtime.js.map +1 -0
- package/dist/three/jsx-runtime.d.ts +19 -0
- package/dist/three/jsx-runtime.d.ts.map +1 -0
- package/dist/three/jsx-runtime.js +2 -0
- package/dist/three/jsx-runtime.js.map +1 -0
- package/dist/three/jsx.d.ts +198 -0
- package/dist/three/jsx.d.ts.map +1 -0
- package/dist/three/jsx.js +2 -0
- package/dist/three/jsx.js.map +1 -0
- package/dist/three/materials.d.ts +125 -0
- package/dist/three/materials.d.ts.map +1 -0
- package/dist/three/materials.js +229 -0
- package/dist/three/materials.js.map +1 -0
- package/dist/three/math.d.ts +146 -0
- package/dist/three/math.d.ts.map +1 -0
- package/dist/three/math.js +464 -0
- package/dist/three/math.js.map +1 -0
- package/dist/three/objects.d.ts +185 -0
- package/dist/three/objects.d.ts.map +1 -0
- package/dist/three/objects.js +309 -0
- package/dist/three/objects.js.map +1 -0
- package/dist/three/passes.d.ts +54 -0
- package/dist/three/passes.d.ts.map +1 -0
- package/dist/three/passes.js +78 -0
- package/dist/three/passes.js.map +1 -0
- package/dist/three/postprocess.d.ts +85 -0
- package/dist/three/postprocess.d.ts.map +1 -0
- package/dist/three/postprocess.js +503 -0
- package/dist/three/postprocess.js.map +1 -0
- package/dist/three/raycast.d.ts +24 -0
- package/dist/three/raycast.d.ts.map +1 -0
- package/dist/three/raycast.js +138 -0
- package/dist/three/raycast.js.map +1 -0
- package/dist/three/reconciler.d.ts +48 -0
- package/dist/three/reconciler.d.ts.map +1 -0
- package/dist/three/reconciler.js +416 -0
- package/dist/three/reconciler.js.map +1 -0
- package/dist/three/renderer-direct.d.ts +102 -0
- package/dist/three/renderer-direct.d.ts.map +1 -0
- package/dist/three/renderer-direct.js +782 -0
- package/dist/three/renderer-direct.js.map +1 -0
- package/dist/three/renderer-indirect.d.ts +68 -0
- package/dist/three/renderer-indirect.d.ts.map +1 -0
- package/dist/three/renderer-indirect.js +438 -0
- package/dist/three/renderer-indirect.js.map +1 -0
- package/dist/three/store.d.ts +81 -0
- package/dist/three/store.d.ts.map +1 -0
- package/dist/three/store.js +110 -0
- package/dist/three/store.js.map +1 -0
- package/dist/timeline/hx.d.ts +18 -0
- package/dist/timeline/hx.d.ts.map +1 -0
- package/dist/timeline/hx.js +10 -0
- package/dist/timeline/hx.js.map +1 -0
- package/dist/timeline/index.d.ts +152 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +383 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/tray-host/hx.d.ts +24 -0
- package/dist/tray-host/hx.d.ts.map +1 -0
- package/dist/tray-host/hx.js +25 -0
- package/dist/tray-host/hx.js.map +1 -0
- package/dist/tray-host/index.d.ts +110 -0
- package/dist/tray-host/index.d.ts.map +1 -0
- package/dist/tray-host/index.js +191 -0
- package/dist/tray-host/index.js.map +1 -0
- package/dist/tray-host/manager.d.ts +137 -0
- package/dist/tray-host/manager.d.ts.map +1 -0
- package/dist/tray-host/manager.js +462 -0
- package/dist/tray-host/manager.js.map +1 -0
- package/dist/tray-host/notify.d.ts +22 -0
- package/dist/tray-host/notify.d.ts.map +1 -0
- package/dist/tray-host/notify.js +74 -0
- package/dist/tray-host/notify.js.map +1 -0
- package/dist/tray-host/protocol.d.ts +106 -0
- package/dist/tray-host/protocol.d.ts.map +1 -0
- package/dist/tray-host/protocol.js +191 -0
- package/dist/tray-host/protocol.js.map +1 -0
- package/dist/tree/hx.d.ts +24 -0
- package/dist/tree/hx.d.ts.map +1 -0
- package/dist/tree/hx.js +25 -0
- package/dist/tree/hx.js.map +1 -0
- package/dist/tree/index.d.ts +221 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +716 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree/internal.d.ts +18 -0
- package/dist/tree/internal.d.ts.map +1 -0
- package/dist/tree/internal.js +66 -0
- package/dist/tree/internal.js.map +1 -0
- package/dist/tree/rows.d.ts +177 -0
- package/dist/tree/rows.d.ts.map +1 -0
- package/dist/tree/rows.js +179 -0
- package/dist/tree/rows.js.map +1 -0
- package/package.json +166 -12
- package/src/ansi/cast.ts +159 -0
- package/src/ansi/index.ts +53 -0
- package/src/ansi/palette.ts +226 -0
- package/src/ansi/parse.ts +780 -0
- package/src/ansi/sgr.ts +380 -0
- package/src/ansi/utf8.ts +84 -0
- package/src/calendar/Calendar.ts +744 -0
- package/src/calendar/DatePicker.ts +368 -0
- package/src/calendar/dates.ts +307 -0
- package/src/calendar/index.ts +51 -0
- package/src/charts/components.ts +864 -0
- package/src/charts/data.ts +776 -0
- package/src/charts/hx.ts +39 -0
- package/src/charts/index.ts +99 -0
- package/src/charts/node.ts +932 -0
- package/src/charts/render.ts +982 -0
- package/src/charts/scale.ts +214 -0
- package/src/charts/spec.ts +122 -0
- package/src/charts/timers.ts +24 -0
- package/src/code/hx.ts +51 -0
- package/src/code/index.ts +174 -0
- package/src/code-editor/completion.ts +161 -0
- package/src/code-editor/doc.ts +198 -0
- package/src/code-editor/hx.ts +26 -0
- package/src/code-editor/index.ts +615 -0
- package/src/code-editor/node.ts +1926 -0
- package/src/code-language/hljs.ts +302 -0
- package/src/code-language/index.ts +51 -0
- package/src/code-language/languages/glsl.ts +120 -0
- package/src/code-language/languages/javascript.ts +419 -0
- package/src/code-language/languages/json.ts +72 -0
- package/src/code-language/languages/shell.ts +221 -0
- package/src/code-language/languages/sql.ts +165 -0
- package/src/code-language/lezer.ts +190 -0
- package/src/code-language/registry.ts +66 -0
- package/src/code-language/runs.ts +128 -0
- package/src/code-language/stream.ts +306 -0
- package/src/code-language/textmate.ts +134 -0
- package/src/code-language/theme.ts +124 -0
- package/src/code-language/timers.ts +36 -0
- package/src/code-language/types.ts +252 -0
- package/src/codeblock/index.ts +146 -0
- package/src/color-picker/ColorField.ts +333 -0
- package/src/color-picker/ColorPicker.ts +1069 -0
- package/src/color-picker/color.ts +399 -0
- package/src/color-picker/index.ts +50 -0
- package/src/desktop-calendar/eds.ts +484 -0
- package/src/desktop-calendar/ical.ts +119 -0
- package/src/desktop-calendar/index.ts +287 -0
- package/src/embed/client.ts +311 -0
- package/src/embed/host.ts +432 -0
- package/src/embed/index.ts +33 -0
- package/src/embed/timers.ts +32 -0
- package/src/flow/draw.ts +418 -0
- package/src/flow/index.ts +473 -0
- package/src/flow/model.ts +687 -0
- package/src/flow/node.ts +3694 -0
- package/src/flow/paths.ts +403 -0
- package/src/flow/types.ts +634 -0
- package/src/formula/hx.ts +51 -0
- package/src/formula/index.ts +243 -0
- package/src/formula/katex.ts +209 -0
- package/src/formula/layout.ts +876 -0
- package/src/formula/node.ts +467 -0
- package/src/html/controls.ts +244 -0
- package/src/html/css/cascade.ts +606 -0
- package/src/html/css/parse.ts +500 -0
- package/src/html/css/style.ts +1371 -0
- package/src/html/css/ua.ts +174 -0
- package/src/html/css/values.ts +358 -0
- package/src/html/dom.ts +410 -0
- package/src/html/hx.ts +55 -0
- package/src/html/index.ts +545 -0
- package/src/html/layout/block.ts +876 -0
- package/src/html/layout/boxes.ts +981 -0
- package/src/html/layout/flex.ts +297 -0
- package/src/html/layout/floats.ts +125 -0
- package/src/html/layout/inline.ts +870 -0
- package/src/html/layout/table.ts +380 -0
- package/src/html/node.ts +967 -0
- package/src/html/paint.ts +605 -0
- package/src/html/resources.ts +214 -0
- package/src/index.ts +638 -0
- package/src/internal/heights.ts +211 -0
- package/src/internal/hx.ts +53 -0
- package/src/internal/text.ts +44 -0
- package/src/internal/timers.ts +44 -0
- package/src/internal/widget.ts +92 -0
- package/src/markdown/ast.ts +163 -0
- package/src/markdown/hx.ts +51 -0
- package/src/markdown/index.ts +686 -0
- package/src/markdown/parse.ts +1037 -0
- package/src/markdown/spans.ts +143 -0
- package/src/media-player/backends.ts +155 -0
- package/src/media-player/control.ts +70 -0
- package/src/media-player/hx.ts +51 -0
- package/src/media-player/index.ts +378 -0
- package/src/media-player/mpv.ts +146 -0
- package/src/media-player/vlc.ts +97 -0
- package/src/richtext/index.ts +42 -0
- package/src/richtext/links.ts +78 -0
- package/src/richtext/menu.ts +49 -0
- package/src/richtext/node.ts +406 -0
- package/src/richtext/runs.ts +253 -0
- package/src/table/hx.ts +51 -0
- package/src/table/index.ts +1219 -0
- package/src/table/rows.ts +275 -0
- package/src/terminal/backends.ts +242 -0
- package/src/terminal/hx.ts +51 -0
- package/src/terminal/index.ts +574 -0
- package/src/terminal/title.ts +172 -0
- package/src/terminal/vt/colors.ts +247 -0
- package/src/terminal/vt/diff.ts +467 -0
- package/src/terminal/vt/fonts.ts +233 -0
- package/src/terminal/vt/index.ts +443 -0
- package/src/terminal/vt/keys.ts +369 -0
- package/src/terminal/vt/mouse.ts +144 -0
- package/src/terminal/vt/node.ts +1242 -0
- package/src/terminal/vt/pty.ts +334 -0
- package/src/terminal/vt/renderer.ts +555 -0
- package/src/terminal/vt/timers.ts +31 -0
- package/src/terminal/vt/xterm.ts +193 -0
- package/src/terminal-output/hx.ts +51 -0
- package/src/terminal-output/index.ts +340 -0
- package/src/terminal-output/runs.ts +79 -0
- package/src/three/canvas.ts +451 -0
- package/src/three/events.ts +197 -0
- package/src/three/geometries.ts +429 -0
- package/src/three/globals.ts +34 -0
- package/src/three/hx.ts +22 -0
- package/src/three/index.ts +98 -0
- package/src/three/jsx-dev-runtime.ts +27 -0
- package/src/three/jsx-runtime.ts +38 -0
- package/src/three/jsx.ts +275 -0
- package/src/three/materials.ts +270 -0
- package/src/three/math.ts +585 -0
- package/src/three/objects.ts +397 -0
- package/src/three/passes.ts +90 -0
- package/src/three/postprocess.ts +677 -0
- package/src/three/raycast.ts +189 -0
- package/src/three/react-reconciler.d.ts +50 -0
- package/src/three/reconciler.ts +624 -0
- package/src/three/renderer-direct.ts +1055 -0
- package/src/three/renderer-indirect.ts +570 -0
- package/src/three/store.ts +207 -0
- package/src/timeline/hx.ts +31 -0
- package/src/timeline/index.ts +603 -0
- package/src/tray-host/hx.ts +51 -0
- package/src/tray-host/index.ts +331 -0
- package/src/tray-host/manager.ts +639 -0
- package/src/tray-host/notify.ts +102 -0
- package/src/tray-host/protocol.ts +235 -0
- package/src/tree/hx.ts +51 -0
- package/src/tree/index.ts +1087 -0
- package/src/tree/internal.ts +87 -0
- package/src/tree/rows.ts +334 -0
- package/src/index.d.ts +0 -2
- package/src/index.js +0 -9
- package/src/sparkline/index.d.ts +0 -29
- package/src/sparkline/index.js +0 -50
- package/src/sparkline/node.js +0 -72
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
// Keys to bytes: xterm's tables, as a pure function.
|
|
2
|
+
//
|
|
3
|
+
// Nothing here touches X, the emulator or the node, so every rule is asserted
|
|
4
|
+
// directly against its golden bytes — which is the point, because "what does
|
|
5
|
+
// Ctrl+Shift+F5 send in application-cursor mode" is exactly the kind of thing
|
|
6
|
+
// that is wrong for years in a terminal nobody tested this way.
|
|
7
|
+
//
|
|
8
|
+
// `altKey`/`metaKey` arrive on the synthetic event itself (react-x11#284).
|
|
9
|
+
// Before that landed they had to be dug out of `nativeEvent.buttons`; the
|
|
10
|
+
// event is the seam now, and the raw mask stays available there for a keymap
|
|
11
|
+
// that puts Alt somewhere other than Mod1.
|
|
12
|
+
import { XK_BACKSPACE, XK_DELETE, XK_DOWN, XK_END, XK_ESCAPE, XK_F1, XK_F10, XK_F11, XK_F12, XK_F2, XK_F3, XK_F4, XK_F5, XK_F6, XK_F7, XK_F8, XK_F9, XK_HOME, XK_INSERT, XK_KP_ENTER, XK_LEFT, XK_PAGE_DOWN, XK_PAGE_UP, XK_RETURN, XK_RIGHT, XK_SPACE, XK_TAB, XK_UP, } from 'react-x11/keysyms';
|
|
13
|
+
/**
|
|
14
|
+
* The keysyms core does not export yet.
|
|
15
|
+
*
|
|
16
|
+
* Keysyms are stable numbers defined by the protocol, so a local table is a
|
|
17
|
+
* transcription rather than a fork — and the missing ones are the keypad,
|
|
18
|
+
* which core has no reason to name until something needs the whole block.
|
|
19
|
+
* Proposed upstream as a zero-risk addition to `keysyms.js`.
|
|
20
|
+
*/
|
|
21
|
+
export const XK_ISO_LEFT_TAB = 0xfe20;
|
|
22
|
+
export const XK_BEGIN = 0xff58;
|
|
23
|
+
export const XK_KP_SPACE = 0xff80;
|
|
24
|
+
export const XK_KP_TAB = 0xff89;
|
|
25
|
+
export const XK_KP_F1 = 0xff91;
|
|
26
|
+
export const XK_KP_F2 = 0xff92;
|
|
27
|
+
export const XK_KP_F3 = 0xff93;
|
|
28
|
+
export const XK_KP_F4 = 0xff94;
|
|
29
|
+
export const XK_KP_HOME = 0xff95;
|
|
30
|
+
export const XK_KP_LEFT = 0xff96;
|
|
31
|
+
export const XK_KP_UP = 0xff97;
|
|
32
|
+
export const XK_KP_RIGHT = 0xff98;
|
|
33
|
+
export const XK_KP_DOWN = 0xff99;
|
|
34
|
+
export const XK_KP_PAGE_UP = 0xff9a;
|
|
35
|
+
export const XK_KP_PAGE_DOWN = 0xff9b;
|
|
36
|
+
export const XK_KP_END = 0xff9c;
|
|
37
|
+
export const XK_KP_BEGIN = 0xff9d;
|
|
38
|
+
export const XK_KP_INSERT = 0xff9e;
|
|
39
|
+
export const XK_KP_DELETE = 0xff9f;
|
|
40
|
+
export const XK_KP_EQUAL = 0xffbd;
|
|
41
|
+
export const XK_KP_MULTIPLY = 0xffaa;
|
|
42
|
+
export const XK_KP_ADD = 0xffab;
|
|
43
|
+
export const XK_KP_SEPARATOR = 0xffac;
|
|
44
|
+
export const XK_KP_SUBTRACT = 0xffad;
|
|
45
|
+
export const XK_KP_DECIMAL = 0xffae;
|
|
46
|
+
export const XK_KP_DIVIDE = 0xffaf;
|
|
47
|
+
export const XK_KP_0 = 0xffb0;
|
|
48
|
+
export const XK_KP_9 = 0xffb9;
|
|
49
|
+
const ESC = '\x1b';
|
|
50
|
+
const SS3 = '\x1bO';
|
|
51
|
+
const CSI = '\x1b[';
|
|
52
|
+
/** xterm's modifier parameter: 1 + shift + 2·alt + 4·ctrl + 8·meta. */
|
|
53
|
+
export function modifierParam(ev) {
|
|
54
|
+
return (1 +
|
|
55
|
+
(ev.shiftKey ? 1 : 0) +
|
|
56
|
+
(ev.altKey ? 2 : 0) +
|
|
57
|
+
(ev.ctrlKey ? 4 : 0) +
|
|
58
|
+
(ev.metaKey ? 8 : 0));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* A cursor-ish key: `CSI A` normally, `SS3 A` in application-cursor mode,
|
|
62
|
+
* and `CSI 1 ; m A` whenever a modifier is held — the modifier form is never
|
|
63
|
+
* SS3, which is the rule applications actually rely on.
|
|
64
|
+
*/
|
|
65
|
+
function cursorKey(final, ev, modes) {
|
|
66
|
+
const mod = modifierParam(ev);
|
|
67
|
+
if (mod > 1)
|
|
68
|
+
return `${CSI}1;${mod}${final}`;
|
|
69
|
+
return modes.applicationCursorKeysMode ? `${SS3}${final}` : `${CSI}${final}`;
|
|
70
|
+
}
|
|
71
|
+
/** A `CSI n ~` key — Insert, Delete, the page keys, F5 and up. */
|
|
72
|
+
function tildeKey(n, ev) {
|
|
73
|
+
const mod = modifierParam(ev);
|
|
74
|
+
return mod > 1 ? `${CSI}${n};${mod}~` : `${CSI}${n}~`;
|
|
75
|
+
}
|
|
76
|
+
/** F1–F4: `SS3 P..S`, and `CSI 1 ; m P..S` with a modifier. */
|
|
77
|
+
function functionKey(final, ev) {
|
|
78
|
+
const mod = modifierParam(ev);
|
|
79
|
+
return mod > 1 ? `${CSI}1;${mod}${final}` : `${SS3}${final}`;
|
|
80
|
+
}
|
|
81
|
+
/** `CSI n ~` numbers for F5–F20, in xterm's order (with its gaps). */
|
|
82
|
+
const F_TILDE = {
|
|
83
|
+
[XK_F5]: 15,
|
|
84
|
+
[XK_F6]: 17,
|
|
85
|
+
[XK_F7]: 18,
|
|
86
|
+
[XK_F8]: 19,
|
|
87
|
+
[XK_F9]: 20,
|
|
88
|
+
[XK_F10]: 21,
|
|
89
|
+
[XK_F11]: 23,
|
|
90
|
+
[XK_F12]: 24,
|
|
91
|
+
0xffca: 25, // F13
|
|
92
|
+
0xffcb: 26, // F14
|
|
93
|
+
0xffcc: 28, // F15
|
|
94
|
+
0xffcd: 29, // F16
|
|
95
|
+
0xffce: 31, // F17
|
|
96
|
+
0xffcf: 32, // F18
|
|
97
|
+
0xffd0: 33, // F19
|
|
98
|
+
0xffd1: 34, // F20
|
|
99
|
+
};
|
|
100
|
+
/** Application-keypad codes, `SS3 <letter>`. */
|
|
101
|
+
const KEYPAD_APP = {
|
|
102
|
+
[XK_KP_SPACE]: ' ',
|
|
103
|
+
[XK_KP_TAB]: 'I',
|
|
104
|
+
[XK_KP_ENTER]: 'M',
|
|
105
|
+
[XK_KP_F1]: 'P',
|
|
106
|
+
[XK_KP_F2]: 'Q',
|
|
107
|
+
[XK_KP_F3]: 'R',
|
|
108
|
+
[XK_KP_F4]: 'S',
|
|
109
|
+
[XK_KP_MULTIPLY]: 'j',
|
|
110
|
+
[XK_KP_ADD]: 'k',
|
|
111
|
+
[XK_KP_SEPARATOR]: 'l',
|
|
112
|
+
[XK_KP_SUBTRACT]: 'm',
|
|
113
|
+
[XK_KP_DECIMAL]: 'n',
|
|
114
|
+
[XK_KP_DIVIDE]: 'o',
|
|
115
|
+
[XK_KP_EQUAL]: 'X',
|
|
116
|
+
};
|
|
117
|
+
/** What the numeric keypad types when it is not in application mode. */
|
|
118
|
+
const KEYPAD_NUMERIC = {
|
|
119
|
+
[XK_KP_SPACE]: ' ',
|
|
120
|
+
[XK_KP_TAB]: '\t',
|
|
121
|
+
[XK_KP_ENTER]: '\r',
|
|
122
|
+
[XK_KP_MULTIPLY]: '*',
|
|
123
|
+
[XK_KP_ADD]: '+',
|
|
124
|
+
[XK_KP_SEPARATOR]: ',',
|
|
125
|
+
[XK_KP_SUBTRACT]: '-',
|
|
126
|
+
[XK_KP_DECIMAL]: '.',
|
|
127
|
+
[XK_KP_DIVIDE]: '/',
|
|
128
|
+
[XK_KP_EQUAL]: '=',
|
|
129
|
+
};
|
|
130
|
+
/** The keypad's navigation half, mapped onto the keys it duplicates. */
|
|
131
|
+
const KEYPAD_NAV = {
|
|
132
|
+
[XK_KP_HOME]: XK_HOME,
|
|
133
|
+
[XK_KP_LEFT]: XK_LEFT,
|
|
134
|
+
[XK_KP_UP]: XK_UP,
|
|
135
|
+
[XK_KP_RIGHT]: XK_RIGHT,
|
|
136
|
+
[XK_KP_DOWN]: XK_DOWN,
|
|
137
|
+
[XK_KP_PAGE_UP]: XK_PAGE_UP,
|
|
138
|
+
[XK_KP_PAGE_DOWN]: XK_PAGE_DOWN,
|
|
139
|
+
[XK_KP_END]: XK_END,
|
|
140
|
+
[XK_KP_BEGIN]: XK_BEGIN,
|
|
141
|
+
[XK_KP_INSERT]: XK_INSERT,
|
|
142
|
+
[XK_KP_DELETE]: XK_DELETE,
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Ctrl + a printable key → the C0 control it names. `Ctrl+A` is 0x01 because
|
|
146
|
+
* the control characters *are* the alphabet with the top bits cleared; the
|
|
147
|
+
* five punctuation entries are the rest of the block, and `Ctrl+?` is DEL.
|
|
148
|
+
*/
|
|
149
|
+
function controlByte(codepoint) {
|
|
150
|
+
if (codepoint >= 0x61 && codepoint <= 0x7a) {
|
|
151
|
+
return String.fromCharCode(codepoint - 0x60); // a–z → 0x01–0x1a
|
|
152
|
+
}
|
|
153
|
+
if (codepoint >= 0x41 && codepoint <= 0x5a) {
|
|
154
|
+
return String.fromCharCode(codepoint - 0x40); // A–Z → the same
|
|
155
|
+
}
|
|
156
|
+
switch (codepoint) {
|
|
157
|
+
case 0x20: // space
|
|
158
|
+
case 0x40: // @
|
|
159
|
+
case 0x32: // 2 — the keyboard most people reach NUL through
|
|
160
|
+
return '\0';
|
|
161
|
+
case 0x5b: // [
|
|
162
|
+
case 0x33: // 3
|
|
163
|
+
return '\x1b';
|
|
164
|
+
case 0x5c: // \
|
|
165
|
+
case 0x34: // 4
|
|
166
|
+
return '\x1c';
|
|
167
|
+
case 0x5d: // ]
|
|
168
|
+
case 0x35: // 5
|
|
169
|
+
return '\x1d';
|
|
170
|
+
case 0x5e: // ^
|
|
171
|
+
case 0x36: // 6
|
|
172
|
+
return '\x1e';
|
|
173
|
+
case 0x5f: // _
|
|
174
|
+
case 0x37: // 7
|
|
175
|
+
case 0x2f: // /
|
|
176
|
+
return '\x1f';
|
|
177
|
+
case 0x38: // 8
|
|
178
|
+
case 0x3f: // ?
|
|
179
|
+
return '\x7f';
|
|
180
|
+
default:
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* The bytes a key sends, or `null` when the terminal has nothing to say about
|
|
186
|
+
* it — a bare modifier, an unmapped key, an application chord. `null` is not
|
|
187
|
+
* "send nothing": it is "this key was not consumed", which is what lets the
|
|
188
|
+
* node leave `preventDefault()` alone and let the key reach whatever is
|
|
189
|
+
* outside.
|
|
190
|
+
*/
|
|
191
|
+
export function encodeKey(ev, modes) {
|
|
192
|
+
const k = ev.keysym;
|
|
193
|
+
const alt = ev.altKey;
|
|
194
|
+
/** Alt is the ESC prefix, universally. */
|
|
195
|
+
const meta = (bytes) => (alt ? ESC + bytes : bytes);
|
|
196
|
+
if (k !== undefined) {
|
|
197
|
+
// The keypad first: in application mode it has codes of its own, and in
|
|
198
|
+
// numeric mode it is the main block with different keysyms.
|
|
199
|
+
if (modes.applicationKeypadMode && KEYPAD_APP[k] !== undefined) {
|
|
200
|
+
return meta(SS3 + KEYPAD_APP[k]);
|
|
201
|
+
}
|
|
202
|
+
if (k >= XK_KP_0 && k <= XK_KP_9) {
|
|
203
|
+
return meta(modes.applicationKeypadMode
|
|
204
|
+
? SS3 + String.fromCharCode(0x70 + (k - XK_KP_0)) // p–y
|
|
205
|
+
: String.fromCharCode(0x30 + (k - XK_KP_0)));
|
|
206
|
+
}
|
|
207
|
+
if (KEYPAD_NUMERIC[k] !== undefined && !modes.applicationKeypadMode) {
|
|
208
|
+
return meta(KEYPAD_NUMERIC[k]);
|
|
209
|
+
}
|
|
210
|
+
const nav = KEYPAD_NAV[k];
|
|
211
|
+
if (nav !== undefined)
|
|
212
|
+
return encodeKey({ ...ev, keysym: nav }, modes);
|
|
213
|
+
switch (k) {
|
|
214
|
+
case XK_UP:
|
|
215
|
+
return cursorKey('A', ev, modes);
|
|
216
|
+
case XK_DOWN:
|
|
217
|
+
return cursorKey('B', ev, modes);
|
|
218
|
+
case XK_RIGHT:
|
|
219
|
+
return cursorKey('C', ev, modes);
|
|
220
|
+
case XK_LEFT:
|
|
221
|
+
return cursorKey('D', ev, modes);
|
|
222
|
+
case XK_BEGIN:
|
|
223
|
+
return cursorKey('E', ev, modes);
|
|
224
|
+
case XK_END:
|
|
225
|
+
return cursorKey('F', ev, modes);
|
|
226
|
+
case XK_HOME:
|
|
227
|
+
return cursorKey('H', ev, modes);
|
|
228
|
+
case XK_INSERT:
|
|
229
|
+
return tildeKey(2, ev);
|
|
230
|
+
case XK_DELETE:
|
|
231
|
+
return tildeKey(3, ev);
|
|
232
|
+
case XK_PAGE_UP:
|
|
233
|
+
return tildeKey(5, ev);
|
|
234
|
+
case XK_PAGE_DOWN:
|
|
235
|
+
return tildeKey(6, ev);
|
|
236
|
+
case XK_F1:
|
|
237
|
+
return functionKey('P', ev);
|
|
238
|
+
case XK_F2:
|
|
239
|
+
return functionKey('Q', ev);
|
|
240
|
+
case XK_F3:
|
|
241
|
+
return functionKey('R', ev);
|
|
242
|
+
case XK_F4:
|
|
243
|
+
return functionKey('S', ev);
|
|
244
|
+
case XK_RETURN:
|
|
245
|
+
case XK_KP_ENTER:
|
|
246
|
+
// CR, not LF: the line discipline turns it into whatever the program
|
|
247
|
+
// asked for, and a raw-mode program wants the key it was pressed.
|
|
248
|
+
return meta('\r');
|
|
249
|
+
case XK_ESCAPE:
|
|
250
|
+
return meta(ESC);
|
|
251
|
+
case XK_TAB:
|
|
252
|
+
if (ev.shiftKey)
|
|
253
|
+
return `${CSI}Z`;
|
|
254
|
+
return ev.ctrlKey ? null : meta('\t');
|
|
255
|
+
case XK_ISO_LEFT_TAB:
|
|
256
|
+
return `${CSI}Z`;
|
|
257
|
+
case XK_BACKSPACE:
|
|
258
|
+
// DEL is what `stty erase` expects on every modern system; Ctrl+H is
|
|
259
|
+
// the other one, and reaching it is what Ctrl+Backspace is for.
|
|
260
|
+
return meta(ev.ctrlKey ? '\x08' : '\x7f');
|
|
261
|
+
case XK_SPACE:
|
|
262
|
+
if (ev.ctrlKey)
|
|
263
|
+
return meta('\0');
|
|
264
|
+
break;
|
|
265
|
+
default:
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
const tilde = F_TILDE[k];
|
|
269
|
+
if (tilde !== undefined)
|
|
270
|
+
return tildeKey(tilde, ev);
|
|
271
|
+
}
|
|
272
|
+
const cp = ev.codepoint;
|
|
273
|
+
if (cp === undefined || cp < 0x20 || (cp >= 0x7f && cp < 0xa0)) {
|
|
274
|
+
// No character and no key we know: not ours. An application chord
|
|
275
|
+
// (Ctrl+Shift+T for a new tab) lands here and stays unconsumed.
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
if (ev.ctrlKey) {
|
|
279
|
+
const c = controlByte(cp);
|
|
280
|
+
return c === null ? null : meta(c);
|
|
281
|
+
}
|
|
282
|
+
// Super/Meta chords belong to the desktop, not to the program: Meta+Q is
|
|
283
|
+
// quit, not `ESC q`.
|
|
284
|
+
if (ev.metaKey)
|
|
285
|
+
return null;
|
|
286
|
+
return meta(String.fromCodePoint(cp));
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Text on its way in from a paste.
|
|
290
|
+
*
|
|
291
|
+
* Bracketed paste is not decoration: without it a shell runs every newline in
|
|
292
|
+
* a pasted block, and a pasted `rm -rf` with a trailing newline is a very bad
|
|
293
|
+
* afternoon. Inside the brackets the payload still has to be sanitised —
|
|
294
|
+
* a `\x1b[201~` in the pasted text would close them early — and newlines
|
|
295
|
+
* normalise to CR because that is what the key sends.
|
|
296
|
+
*/
|
|
297
|
+
export function encodePaste(text, bracketed) {
|
|
298
|
+
const normalized = text
|
|
299
|
+
.replace(/\r\n?/g, '\r')
|
|
300
|
+
.replace(/\n/g, '\r')
|
|
301
|
+
// Everything else in C0 except tab and CR is a control the program never
|
|
302
|
+
// asked to receive as *text*.
|
|
303
|
+
// eslint-disable-next-line no-control-regex
|
|
304
|
+
.replace(/[\x00-\x08\x0b-\x0c\x0e-\x1f\x7f]/g, '');
|
|
305
|
+
if (!bracketed)
|
|
306
|
+
return normalized;
|
|
307
|
+
return `${CSI}200~${normalized}${CSI}201~`;
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/terminal/vt/keys.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,2CAA2C;AAC3C,OAAO,EACL,YAAY,EACZ,SAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,SAAS,EACT,WAAW,EACX,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,GACN,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAE9B,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,GAAG,GAAG,OAAO,CAAC;AACpB,MAAM,GAAG,GAAG,OAAO,CAAC;AAqBpB,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAAC,EAAc;IAC1C,OAAO,CACL,CAAC;QACD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAa,EAAE,EAAc,EAAE,KAAe;IAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAC/E,CAAC;AAED,kEAAkE;AAClE,SAAS,QAAQ,CAAC,CAAS,EAAE,EAAc;IACzC,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AACxD,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW,CAAC,KAAa,EAAE,EAAc;IAChD,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,sEAAsE;AACtE,MAAM,OAAO,GAA2B;IACtC,CAAC,KAAK,CAAC,EAAE,EAAE;IACX,CAAC,KAAK,CAAC,EAAE,EAAE;IACX,CAAC,KAAK,CAAC,EAAE,EAAE;IACX,CAAC,KAAK,CAAC,EAAE,EAAE;IACX,CAAC,KAAK,CAAC,EAAE,EAAE;IACX,CAAC,MAAM,CAAC,EAAE,EAAE;IACZ,CAAC,MAAM,CAAC,EAAE,EAAE;IACZ,CAAC,MAAM,CAAC,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;IAClB,MAAM,EAAE,EAAE,EAAE,MAAM;CACnB,CAAC;AAEF,gDAAgD;AAChD,MAAM,UAAU,GAA2B;IACzC,CAAC,WAAW,CAAC,EAAE,GAAG;IAClB,CAAC,SAAS,CAAC,EAAE,GAAG;IAChB,CAAC,WAAW,CAAC,EAAE,GAAG;IAClB,CAAC,QAAQ,CAAC,EAAE,GAAG;IACf,CAAC,QAAQ,CAAC,EAAE,GAAG;IACf,CAAC,QAAQ,CAAC,EAAE,GAAG;IACf,CAAC,QAAQ,CAAC,EAAE,GAAG;IACf,CAAC,cAAc,CAAC,EAAE,GAAG;IACrB,CAAC,SAAS,CAAC,EAAE,GAAG;IAChB,CAAC,eAAe,CAAC,EAAE,GAAG;IACtB,CAAC,cAAc,CAAC,EAAE,GAAG;IACrB,CAAC,aAAa,CAAC,EAAE,GAAG;IACpB,CAAC,YAAY,CAAC,EAAE,GAAG;IACnB,CAAC,WAAW,CAAC,EAAE,GAAG;CACnB,CAAC;AAEF,wEAAwE;AACxE,MAAM,cAAc,GAA2B;IAC7C,CAAC,WAAW,CAAC,EAAE,GAAG;IAClB,CAAC,SAAS,CAAC,EAAE,IAAI;IACjB,CAAC,WAAW,CAAC,EAAE,IAAI;IACnB,CAAC,cAAc,CAAC,EAAE,GAAG;IACrB,CAAC,SAAS,CAAC,EAAE,GAAG;IAChB,CAAC,eAAe,CAAC,EAAE,GAAG;IACtB,CAAC,cAAc,CAAC,EAAE,GAAG;IACrB,CAAC,aAAa,CAAC,EAAE,GAAG;IACpB,CAAC,YAAY,CAAC,EAAE,GAAG;IACnB,CAAC,WAAW,CAAC,EAAE,GAAG;CACnB,CAAC;AAEF,wEAAwE;AACxE,MAAM,UAAU,GAA2B;IACzC,CAAC,UAAU,CAAC,EAAE,OAAO;IACrB,CAAC,UAAU,CAAC,EAAE,OAAO;IACrB,CAAC,QAAQ,CAAC,EAAE,KAAK;IACjB,CAAC,WAAW,CAAC,EAAE,QAAQ;IACvB,CAAC,UAAU,CAAC,EAAE,OAAO;IACrB,CAAC,aAAa,CAAC,EAAE,UAAU;IAC3B,CAAC,eAAe,CAAC,EAAE,YAAY;IAC/B,CAAC,SAAS,CAAC,EAAE,MAAM;IACnB,CAAC,WAAW,CAAC,EAAE,QAAQ;IACvB,CAAC,YAAY,CAAC,EAAE,SAAS;IACzB,CAAC,YAAY,CAAC,EAAE,SAAS;CAC1B,CAAC;AAEF;;;;GAIG;AACH,SAAS,WAAW,CAAC,SAAiB;IACpC,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAClE,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,iBAAiB;IACjE,CAAC;IACD,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,CAAC,QAAQ;QACnB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,iDAAiD;YAC1D,OAAO,IAAI,CAAC;QACd,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,CAAC,IAAI;QACf,KAAK,IAAI,EAAE,IAAI;YACb,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAc,EAAE,KAAe;IACvD,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IACpB,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;IACtB,0CAA0C;IAC1C,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACpB,wEAAwE;QACxE,4DAA4D;QAC5D,IAAI,KAAK,CAAC,qBAAqB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,CACT,KAAK,CAAC,qBAAqB;gBACzB,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM;gBACxD,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAC9C,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAEvE,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,KAAK;gBACR,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,QAAQ;gBACX,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACnC,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,KAAK,UAAU;gBACb,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,KAAK;gBACR,OAAO,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,SAAS,CAAC;YACf,KAAK,WAAW;gBACd,qEAAqE;gBACrE,kEAAkE;gBAClE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,KAAK,MAAM;gBACT,IAAI,EAAE,CAAC,QAAQ;oBAAE,OAAO,GAAG,GAAG,GAAG,CAAC;gBAClC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,eAAe;gBAClB,OAAO,GAAG,GAAG,GAAG,CAAC;YACnB,KAAK,YAAY;gBACf,qEAAqE;gBACrE,gEAAgE;gBAChE,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,QAAQ;gBACX,IAAI,EAAE,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC;IACxB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/D,kEAAkE;QAClE,gEAAgE;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,yEAAyE;IACzE,qBAAqB;IACrB,IAAI,EAAE,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAkB;IAC1D,MAAM,UAAU,GAAG,IAAI;SACpB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;QACrB,yEAAyE;QACzE,8BAA8B;QAC9B,4CAA4C;SAC3C,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,GAAG,GAAG,OAAO,UAAU,GAAG,GAAG,MAAM,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type MouseTracking = 'none' | 'x10' | 'vt200' | 'drag' | 'any';
|
|
2
|
+
export type MouseEncoding = 'default' | 'utf8' | 'sgr' | 'urxvt';
|
|
3
|
+
export interface VtMouseEvent {
|
|
4
|
+
kind: 'down' | 'up' | 'move' | 'wheel';
|
|
5
|
+
/** X button number — 1 left, 2 middle, 3 right. Ignored for wheel. */
|
|
6
|
+
button: number;
|
|
7
|
+
/** Wheel direction, positive = towards the user (scroll down). */
|
|
8
|
+
deltaY?: number;
|
|
9
|
+
/** Zero-based grid position. */
|
|
10
|
+
col: number;
|
|
11
|
+
row: number;
|
|
12
|
+
shiftKey: boolean;
|
|
13
|
+
altKey: boolean;
|
|
14
|
+
ctrlKey: boolean;
|
|
15
|
+
/** Whether a button is held — `move` only reports under `drag`. */
|
|
16
|
+
pressed: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface MouseState {
|
|
19
|
+
tracking: MouseTracking;
|
|
20
|
+
encoding: MouseEncoding;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The bytes for one pointer event, or `null` when the program did not ask for
|
|
24
|
+
* this one — which is most of them, most of the time.
|
|
25
|
+
*
|
|
26
|
+
* Shift is deliberately *not* passed through as a modifier for a press: it is
|
|
27
|
+
* the universal "let me select instead" override, and the caller gates on it
|
|
28
|
+
* before ever calling here (see the node). What arrives here with `shiftKey`
|
|
29
|
+
* set is a program that asked for all motion, where the override does not
|
|
30
|
+
* apply.
|
|
31
|
+
*/
|
|
32
|
+
export declare function encodeMouse(ev: VtMouseEvent, state: MouseState): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* The wheel over an alternate-screen application that did *not* ask for mouse
|
|
35
|
+
* reporting: DECSET 1007 says send arrow keys, which is what makes the wheel
|
|
36
|
+
* scroll `less` and `man` at all.
|
|
37
|
+
*/
|
|
38
|
+
export declare function encodeAlternateScroll(lines: number, up: boolean, applicationCursorKeys: boolean): string;
|
|
39
|
+
/**
|
|
40
|
+
* The DECSET/DECRST parameters that select an encoding, and what each one
|
|
41
|
+
* means. Read by the node's passive CSI observer.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ENCODING_MODES: Record<number, MouseEncoding>;
|
|
44
|
+
//# sourceMappingURL=mouse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../../../src/terminal/vt/mouse.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,UAAU,GAChB,MAAM,GAAG,IAAI,CAwCf;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,OAAO,EACX,qBAAqB,EAAE,OAAO,GAC7B,MAAM,CASR;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAIxD,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// The pointer, as the bytes a program that asked for it expects. Pure, like
|
|
2
|
+
// `./keys.ts`, and for the same reason: mouse reporting is four encodings
|
|
3
|
+
// crossed with five tracking modes, and the only way to know it is right is
|
|
4
|
+
// to assert the bytes.
|
|
5
|
+
//
|
|
6
|
+
// One thing here is *not* readable from `@xterm/headless`'s public API: which
|
|
7
|
+
// **encoding** an application selected. `modes` carries the tracking mode
|
|
8
|
+
// (`none | x10 | vt200 | drag | any`) but not SGR/urxvt/UTF-8, so the node
|
|
9
|
+
// watches DECSET/DECRST of 1005/1006/1015 through a passive
|
|
10
|
+
// `parser.registerCsiHandler` that returns false — public API used as
|
|
11
|
+
// designed, and filed upstream as a request to expose `mouseEncoding`
|
|
12
|
+
// alongside `mouseTrackingMode`.
|
|
13
|
+
const CSI = '\x1b[';
|
|
14
|
+
/** X button → the low two bits of the report. Wheel is 64/65. */
|
|
15
|
+
function buttonCode(ev) {
|
|
16
|
+
if (ev.kind === 'wheel')
|
|
17
|
+
return (ev.deltaY ?? 0) < 0 ? 64 : 65;
|
|
18
|
+
switch (ev.button) {
|
|
19
|
+
case 1:
|
|
20
|
+
return 0;
|
|
21
|
+
case 2:
|
|
22
|
+
return 1;
|
|
23
|
+
case 3:
|
|
24
|
+
return 2;
|
|
25
|
+
default:
|
|
26
|
+
// Buttons 8/9 (back/forward) report as 128+; anything else is not
|
|
27
|
+
// something the protocol has a code for.
|
|
28
|
+
return ev.button >= 8 ? 128 + (ev.button - 8) : 0;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function modifierBits(ev) {
|
|
32
|
+
return (ev.shiftKey ? 4 : 0) + (ev.altKey ? 8 : 0) + (ev.ctrlKey ? 16 : 0);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The bytes for one pointer event, or `null` when the program did not ask for
|
|
36
|
+
* this one — which is most of them, most of the time.
|
|
37
|
+
*
|
|
38
|
+
* Shift is deliberately *not* passed through as a modifier for a press: it is
|
|
39
|
+
* the universal "let me select instead" override, and the caller gates on it
|
|
40
|
+
* before ever calling here (see the node). What arrives here with `shiftKey`
|
|
41
|
+
* set is a program that asked for all motion, where the override does not
|
|
42
|
+
* apply.
|
|
43
|
+
*/
|
|
44
|
+
export function encodeMouse(ev, state) {
|
|
45
|
+
const { tracking, encoding } = state;
|
|
46
|
+
if (tracking === 'none')
|
|
47
|
+
return null;
|
|
48
|
+
if (ev.kind === 'move') {
|
|
49
|
+
if (tracking !== 'any' && !(tracking === 'drag' && ev.pressed))
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
// X10 is press-only, and reports no modifiers at all.
|
|
53
|
+
if (tracking === 'x10' && ev.kind !== 'down')
|
|
54
|
+
return null;
|
|
55
|
+
let code = buttonCode(ev);
|
|
56
|
+
if (ev.kind === 'move')
|
|
57
|
+
code += 32;
|
|
58
|
+
if (tracking !== 'x10')
|
|
59
|
+
code += modifierBits(ev);
|
|
60
|
+
const col = ev.col + 1;
|
|
61
|
+
const row = ev.row + 1;
|
|
62
|
+
if (encoding === 'sgr') {
|
|
63
|
+
// The only encoding with a release *code*: everything else spends the
|
|
64
|
+
// button bits on "3" and leaves the program guessing which one came up.
|
|
65
|
+
return `${CSI}<${code};${col};${row}${ev.kind === 'up' ? 'm' : 'M'}`;
|
|
66
|
+
}
|
|
67
|
+
// Every other encoding reports a release as button 3.
|
|
68
|
+
if (ev.kind === 'up')
|
|
69
|
+
code = 3 + (tracking === 'x10' ? 0 : modifierBits(ev));
|
|
70
|
+
if (encoding === 'urxvt') {
|
|
71
|
+
return `${CSI}${code + 32};${col};${row}M`;
|
|
72
|
+
}
|
|
73
|
+
if (encoding === 'utf8') {
|
|
74
|
+
return `${CSI}M${String.fromCharCode(code + 32)}${String.fromCodePoint(col + 32)}${String.fromCodePoint(row + 32)}`;
|
|
75
|
+
}
|
|
76
|
+
// The original encoding: one byte per field, biased by 32, and no way to
|
|
77
|
+
// say anything past column 223. Clamp rather than wrap — a wrapped
|
|
78
|
+
// coordinate is a click somewhere else, which is worse than no click.
|
|
79
|
+
const clamp = (n) => (n > 223 ? 0 : n + 32);
|
|
80
|
+
return `${CSI}M${String.fromCharCode(code + 32)}${String.fromCharCode(clamp(col))}${String.fromCharCode(clamp(row))}`;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The wheel over an alternate-screen application that did *not* ask for mouse
|
|
84
|
+
* reporting: DECSET 1007 says send arrow keys, which is what makes the wheel
|
|
85
|
+
* scroll `less` and `man` at all.
|
|
86
|
+
*/
|
|
87
|
+
export function encodeAlternateScroll(lines, up, applicationCursorKeys) {
|
|
88
|
+
const key = applicationCursorKeys
|
|
89
|
+
? up
|
|
90
|
+
? '\x1bOA'
|
|
91
|
+
: '\x1bOB'
|
|
92
|
+
: up
|
|
93
|
+
? `${CSI}A`
|
|
94
|
+
: `${CSI}B`;
|
|
95
|
+
return key.repeat(Math.max(0, lines));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The DECSET/DECRST parameters that select an encoding, and what each one
|
|
99
|
+
* means. Read by the node's passive CSI observer.
|
|
100
|
+
*/
|
|
101
|
+
export const ENCODING_MODES = {
|
|
102
|
+
1005: 'utf8',
|
|
103
|
+
1006: 'sgr',
|
|
104
|
+
1015: 'urxvt',
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=mouse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../../src/terminal/vt/mouse.ts"],"names":[],"mappings":"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"}
|