@react-x11/components 0.1.0 → 0.2.1
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 +88 -0
- package/dist/internal/heights.d.ts.map +1 -0
- package/dist/internal/heights.js +203 -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/scroll.d.ts +62 -0
- package/dist/internal/scroll.d.ts.map +1 -0
- package/dist/internal/scroll.js +224 -0
- package/dist/internal/scroll.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 +890 -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 +751 -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 +222 -0
- package/src/internal/hx.ts +53 -0
- package/src/internal/scroll.ts +288 -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 +1270 -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 +1127 -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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** What a row is keyed by. Numbers are allowed because a row often comes
|
|
3
|
+
* from a database, and stringifying an id is a chance to lose one. */
|
|
4
|
+
export type TableRowId = string | number;
|
|
5
|
+
/** One row of the current view: the app's row object, its resolved id, and
|
|
6
|
+
* its position **in sorted order** — the order everything else counts in. */
|
|
7
|
+
export interface TableRow<Row> {
|
|
8
|
+
id: TableRowId;
|
|
9
|
+
row: Row;
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
12
|
+
/** A row, plus what only the render knows about it. */
|
|
13
|
+
export interface TableRowState<Row> extends TableRow<Row> {
|
|
14
|
+
selected: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The ink the row is painted in. Handed over by name because **colour does
|
|
17
|
+
* not cascade into a drawing**: an `<Icon>` or a `<canvas mono>` takes its
|
|
18
|
+
* colour from its own style, so a glyph inside a cell on the selected row
|
|
19
|
+
* has to be told. The `<text>` in a default cell needs nothing — text
|
|
20
|
+
* inherits.
|
|
21
|
+
*/
|
|
22
|
+
color: string;
|
|
23
|
+
}
|
|
24
|
+
/** What `column.render` and `styles.cell` are told. `selected` and `column`
|
|
25
|
+
* are the two fields core's `<Table>` passed, kept under the same names. */
|
|
26
|
+
export interface TableCellState<Row> extends TableRowState<Row> {
|
|
27
|
+
column: TableColumn<Row>;
|
|
28
|
+
}
|
|
29
|
+
/** The sort descriptor. Core's shape, verbatim: `column` names a column id.
|
|
30
|
+
* `null` is "unsorted" — reachable through the controlled prop; the header
|
|
31
|
+
* click cycle is asc ↔ desc and never emits it. */
|
|
32
|
+
export interface TableSort {
|
|
33
|
+
column: string;
|
|
34
|
+
direction: 'asc' | 'desc';
|
|
35
|
+
}
|
|
36
|
+
/** What `column.renderHeader` and `styles.headerCell` are told. */
|
|
37
|
+
export interface TableHeaderCellState<Row> {
|
|
38
|
+
column: TableColumn<Row>;
|
|
39
|
+
/** The table's current sort — this column's when `sort.column` matches. */
|
|
40
|
+
sort: TableSort | null;
|
|
41
|
+
/** The width the column resolved to this layout, in pixels. */
|
|
42
|
+
resolvedWidth: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* One column. `id`, `label`, `width`, `align`, `value` and `render` are
|
|
46
|
+
* core's `TableColumn`, kept compatible; the rest is this component's.
|
|
47
|
+
*
|
|
48
|
+
* Sizing: `flex` makes the column share the viewport width left over after
|
|
49
|
+
* the fixed columns; `width` alone makes it fixed. **A column declaring
|
|
50
|
+
* neither is `flex: 1` with a 120px floor** — so a table with no sizing
|
|
51
|
+
* config fills its box instead of parking dead space beside fixed-120
|
|
52
|
+
* columns. A user resize converts the column to fixed at the dragged width.
|
|
53
|
+
*/
|
|
54
|
+
export interface TableColumn<Row = any> {
|
|
55
|
+
id: string;
|
|
56
|
+
/** The header caption. Defaults to the id. */
|
|
57
|
+
label?: string;
|
|
58
|
+
/** Fixed width, in pixels. Ignored when `flex` is set. */
|
|
59
|
+
width?: number;
|
|
60
|
+
/** Share of the leftover viewport width, by weight. */
|
|
61
|
+
flex?: number;
|
|
62
|
+
/** The narrowest the column may go — flex resolution and user resize both
|
|
63
|
+
* respect it. Defaults to 40 (core's resize floor); 120 for a column with
|
|
64
|
+
* neither `width` nor `flex`. */
|
|
65
|
+
minWidth?: number;
|
|
66
|
+
/** Logical, so bidi is the layout's problem and never the app's: `'end'`
|
|
67
|
+
* is the edge the row finishes at — where a column of figures lines up —
|
|
68
|
+
* and under RTL that is the left edge without anyone saying so. Core
|
|
69
|
+
* said `'left' | 'right'`; the successor says what it always meant. */
|
|
70
|
+
align?: 'start' | 'center' | 'end';
|
|
71
|
+
/** Whether the header click sorts on this column. Default true. */
|
|
72
|
+
sortable?: boolean;
|
|
73
|
+
/** The cell's raw value: feeds the default cell text **and** the sort.
|
|
74
|
+
* Defaults to `row[id]`. */
|
|
75
|
+
value?: (row: Row) => unknown;
|
|
76
|
+
/** The sort order, given the whole rows. Defaults to a natural comparison
|
|
77
|
+
* over `value()` — numbers numerically, everything else as text. */
|
|
78
|
+
compare?: (a: Row, b: Row) => number;
|
|
79
|
+
/** The cell, replaced entirely. The state says whether the cell is on the
|
|
80
|
+
* selected row — that row is a filled bar, and a colour picked against
|
|
81
|
+
* the resting background is unreadable on it. */
|
|
82
|
+
render?: (row: Row, state: TableCellState<Row>) => ReactNode;
|
|
83
|
+
/** The header cell's content — the caption and the sort mark's place. The
|
|
84
|
+
* header *box* stays the table's: it carries the width, the sort click
|
|
85
|
+
* and the resize grip beside it. */
|
|
86
|
+
renderHeader?: (state: TableHeaderCellState<Row>) => ReactNode;
|
|
87
|
+
}
|
|
88
|
+
/** A cell's raw value: `column.value`, or the property named by the id. */
|
|
89
|
+
export declare function columnValue<Row>(row: Row, column: TableColumn<Row>): unknown;
|
|
90
|
+
/** Core's comparator, verbatim: numbers numerically, everything else as
|
|
91
|
+
* text, with `null`/`undefined` sorting as the empty string. */
|
|
92
|
+
export declare function defaultCompare(a: unknown, b: unknown): number;
|
|
93
|
+
/**
|
|
94
|
+
* The id accessor with its default filled in — and its failure made loud.
|
|
95
|
+
*
|
|
96
|
+
* A row without an id cannot be selected, keyed, or measured, and rendering
|
|
97
|
+
* it anyway fails somewhere far away (a React key warning, a selection that
|
|
98
|
+
* silently never matches). The remedial throw here is the Calendar's
|
|
99
|
+
* precedent: name the fix, not just the fault.
|
|
100
|
+
*/
|
|
101
|
+
export declare function resolveGetId<Row>(getId: ((row: Row) => TableRowId) | undefined): (row: Row, index: number) => TableRowId;
|
|
102
|
+
/**
|
|
103
|
+
* The rows in display order: ids resolved, sort applied.
|
|
104
|
+
*
|
|
105
|
+
* `sort` and *applying* the sort are separate on purpose (see the PRD's
|
|
106
|
+
* "Sort ownership, split in two"): pass `presorted` when the rows already
|
|
107
|
+
* arrive in display order — a server sorted them — and the descriptor only
|
|
108
|
+
* drives the header indicator. The sort is stable, so rows that compare
|
|
109
|
+
* equal keep the order the app gave them.
|
|
110
|
+
*/
|
|
111
|
+
export declare function orderRows<Row>(rows: readonly Row[], columns: readonly TableColumn<Row>[], getId: (row: Row, index: number) => TableRowId, sort: TableSort | null, presorted: boolean): TableRow<Row>[];
|
|
112
|
+
/** Core's resize floor, and the sized-column default for `minWidth`. */
|
|
113
|
+
export declare const MIN_COLUMN = 40;
|
|
114
|
+
/** What a column with neither `width` nor `flex` will not shrink below —
|
|
115
|
+
* core's fixed default, carried forward as a floor. */
|
|
116
|
+
export declare const UNSIZED_MIN = 120;
|
|
117
|
+
/** The pixels every column resolved to, in column order, plus their sum —
|
|
118
|
+
* the content width, and what the header row is sized to. */
|
|
119
|
+
export interface ResolvedWidths {
|
|
120
|
+
widths: number[];
|
|
121
|
+
total: number;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Columns resolve to pixels **once, at the table level** — the one problem
|
|
125
|
+
* no browser table library has, because HTML's table layout algorithm does
|
|
126
|
+
* not exist here, and per-row flex must not decide column widths (each row
|
|
127
|
+
* would negotiate its own grid).
|
|
128
|
+
*
|
|
129
|
+
* Fixed columns take their width; a user resize overrides anything; flex
|
|
130
|
+
* columns share `max(0, viewport − Σfixed)` by weight, floored at their
|
|
131
|
+
* `minWidth`. When nothing fits — the viewport is smaller than the floors —
|
|
132
|
+
* every flex column sits at its floor and the body scrolls horizontally.
|
|
133
|
+
* Before the first layout the viewport is 0, which lands in the same branch.
|
|
134
|
+
*/
|
|
135
|
+
export declare function resolveWidths<Row>(columns: readonly TableColumn<Row>[], user: Readonly<Record<string, number>>, viewport: number): ResolvedWidths;
|
|
136
|
+
//# sourceMappingURL=rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../src/table/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// The row and column model: everything a table decides before it draws.
|
|
2
|
+
//
|
|
3
|
+
// Pure, and deliberately so — the way `../tree/rows.ts` is. Which rows are
|
|
4
|
+
// shown in what order, what a cell's raw value is, how two rows compare, and
|
|
5
|
+
// how many pixels each column gets are all answerable with no display, and
|
|
6
|
+
// they are where the subtle table bugs live. The component only draws the
|
|
7
|
+
// answer, and the tests assert on the answer directly.
|
|
8
|
+
/** A cell's raw value: `column.value`, or the property named by the id. */
|
|
9
|
+
export function columnValue(row, column) {
|
|
10
|
+
return column.value
|
|
11
|
+
? column.value(row)
|
|
12
|
+
: row[column.id];
|
|
13
|
+
}
|
|
14
|
+
/** Core's comparator, verbatim: numbers numerically, everything else as
|
|
15
|
+
* text, with `null`/`undefined` sorting as the empty string. */
|
|
16
|
+
export function defaultCompare(a, b) {
|
|
17
|
+
if (typeof a === 'number' && typeof b === 'number')
|
|
18
|
+
return a - b;
|
|
19
|
+
return String(a ?? '').localeCompare(String(b ?? ''));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The id accessor with its default filled in — and its failure made loud.
|
|
23
|
+
*
|
|
24
|
+
* A row without an id cannot be selected, keyed, or measured, and rendering
|
|
25
|
+
* it anyway fails somewhere far away (a React key warning, a selection that
|
|
26
|
+
* silently never matches). The remedial throw here is the Calendar's
|
|
27
|
+
* precedent: name the fix, not just the fault.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveGetId(getId) {
|
|
30
|
+
return (row, index) => {
|
|
31
|
+
const id = getId
|
|
32
|
+
? getId(row)
|
|
33
|
+
: row.id;
|
|
34
|
+
if (id === undefined || id === null) {
|
|
35
|
+
throw new TypeError(`<Table> row ${index} has no id — every row needs one. ` +
|
|
36
|
+
'Give rows an `id` field, or pass `getId` to read your own key.');
|
|
37
|
+
}
|
|
38
|
+
return id;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The rows in display order: ids resolved, sort applied.
|
|
43
|
+
*
|
|
44
|
+
* `sort` and *applying* the sort are separate on purpose (see the PRD's
|
|
45
|
+
* "Sort ownership, split in two"): pass `presorted` when the rows already
|
|
46
|
+
* arrive in display order — a server sorted them — and the descriptor only
|
|
47
|
+
* drives the header indicator. The sort is stable, so rows that compare
|
|
48
|
+
* equal keep the order the app gave them.
|
|
49
|
+
*/
|
|
50
|
+
export function orderRows(rows, columns, getId, sort, presorted) {
|
|
51
|
+
const entries = rows.map((row, index) => ({
|
|
52
|
+
id: getId(row, index),
|
|
53
|
+
row,
|
|
54
|
+
index,
|
|
55
|
+
}));
|
|
56
|
+
const column = sort && !presorted ? columns.find((c) => c.id === sort.column) : undefined;
|
|
57
|
+
if (sort && column) {
|
|
58
|
+
const sign = sort.direction === 'desc' ? -1 : 1;
|
|
59
|
+
const compare = column.compare ??
|
|
60
|
+
((a, b) => defaultCompare(columnValue(a, column), columnValue(b, column)));
|
|
61
|
+
entries.sort((a, b) => sign * compare(a.row, b.row));
|
|
62
|
+
entries.forEach((entry, index) => {
|
|
63
|
+
entry.index = index;
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return entries;
|
|
67
|
+
}
|
|
68
|
+
/** Core's resize floor, and the sized-column default for `minWidth`. */
|
|
69
|
+
export const MIN_COLUMN = 40;
|
|
70
|
+
/** What a column with neither `width` nor `flex` will not shrink below —
|
|
71
|
+
* core's fixed default, carried forward as a floor. */
|
|
72
|
+
export const UNSIZED_MIN = 120;
|
|
73
|
+
/**
|
|
74
|
+
* Columns resolve to pixels **once, at the table level** — the one problem
|
|
75
|
+
* no browser table library has, because HTML's table layout algorithm does
|
|
76
|
+
* not exist here, and per-row flex must not decide column widths (each row
|
|
77
|
+
* would negotiate its own grid).
|
|
78
|
+
*
|
|
79
|
+
* Fixed columns take their width; a user resize overrides anything; flex
|
|
80
|
+
* columns share `max(0, viewport − Σfixed)` by weight, floored at their
|
|
81
|
+
* `minWidth`. When nothing fits — the viewport is smaller than the floors —
|
|
82
|
+
* every flex column sits at its floor and the body scrolls horizontally.
|
|
83
|
+
* Before the first layout the viewport is 0, which lands in the same branch.
|
|
84
|
+
*/
|
|
85
|
+
export function resolveWidths(columns, user, viewport) {
|
|
86
|
+
const widths = new Array(columns.length).fill(0);
|
|
87
|
+
let flex = [];
|
|
88
|
+
let fixedSum = 0;
|
|
89
|
+
columns.forEach((column, at) => {
|
|
90
|
+
const resized = user[column.id];
|
|
91
|
+
if (resized !== undefined) {
|
|
92
|
+
widths[at] = resized;
|
|
93
|
+
fixedSum += resized;
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (column.flex === undefined && column.width !== undefined) {
|
|
97
|
+
widths[at] = column.width;
|
|
98
|
+
fixedSum += column.width;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const unsized = column.flex === undefined && column.width === undefined;
|
|
102
|
+
flex.push({
|
|
103
|
+
at,
|
|
104
|
+
weight: column.flex ?? 1,
|
|
105
|
+
min: column.minWidth ?? (unsized ? UNSIZED_MIN : MIN_COLUMN),
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
if (flex.length) {
|
|
109
|
+
let pool = Math.max(0, viewport - fixedSum);
|
|
110
|
+
// Distribute, clamping to floors: a column whose share lands under its
|
|
111
|
+
// floor takes the floor and leaves the pool, and the rest re-share what
|
|
112
|
+
// is left. Terminates because every pass either clamps someone or
|
|
113
|
+
// distributes and stops.
|
|
114
|
+
for (;;) {
|
|
115
|
+
const minSum = flex.reduce((sum, f) => sum + f.min, 0);
|
|
116
|
+
if (pool <= minSum) {
|
|
117
|
+
for (const f of flex)
|
|
118
|
+
widths[f.at] = f.min;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
const weightSum = flex.reduce((sum, f) => sum + f.weight, 0);
|
|
122
|
+
const clamped = flex.filter((f) => (pool * f.weight) / weightSum < f.min);
|
|
123
|
+
if (!clamped.length) {
|
|
124
|
+
// Cumulative rounding, so the integer widths sum to the pool exactly
|
|
125
|
+
// and the table's edge meets the viewport's rather than drifting a
|
|
126
|
+
// pixel per column.
|
|
127
|
+
let acc = 0;
|
|
128
|
+
let assigned = 0;
|
|
129
|
+
for (const f of flex) {
|
|
130
|
+
acc += (pool * f.weight) / weightSum;
|
|
131
|
+
const w = Math.round(acc) - assigned;
|
|
132
|
+
assigned += w;
|
|
133
|
+
widths[f.at] = w;
|
|
134
|
+
}
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
for (const f of clamped) {
|
|
138
|
+
widths[f.at] = f.min;
|
|
139
|
+
pool -= f.min;
|
|
140
|
+
}
|
|
141
|
+
flex = flex.filter((f) => !clamped.includes(f));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return { widths, total: widths.reduce((sum, w) => sum + w, 0) };
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rows.js","sourceRoot":"","sources":["../../src/table/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which terminal to use.
|
|
3
|
+
*
|
|
4
|
+
* The first three are emulators this package *embeds* — a real xterm, urxvt
|
|
5
|
+
* or alacritty drawing into a `<foreign>`. `'vt'` is the one it *is*: a pty
|
|
6
|
+
* and a pure-JS emulator core rendered as a native element, which needs no
|
|
7
|
+
* program installed and is the only backend `write()` can work on.
|
|
8
|
+
*
|
|
9
|
+
* `'auto'` takes the first embeddable emulator that is installed and falls
|
|
10
|
+
* back to `'vt'`. That order — rather than vt first — is deliberate: an
|
|
11
|
+
* external emulator is battle-tested, and a user who installed one expressed
|
|
12
|
+
* a preference. Moving vt to the front is a later, deliberate decision.
|
|
13
|
+
*/
|
|
14
|
+
export type TerminalBackendName = 'auto' | 'xterm' | 'urxvt' | 'alacritty' | 'vt';
|
|
15
|
+
/**
|
|
16
|
+
* The colours a terminal is asked to use.
|
|
17
|
+
*
|
|
18
|
+
* `<Terminal>` fills these from the react-x11 theme by default, which is what
|
|
19
|
+
* makes an embedded terminal look like part of the app rather than a hole
|
|
20
|
+
* punched in it.
|
|
21
|
+
*/
|
|
22
|
+
export interface TerminalColors {
|
|
23
|
+
background?: string;
|
|
24
|
+
foreground?: string;
|
|
25
|
+
/** The block/bar the terminal draws at the caret. */
|
|
26
|
+
cursor?: string;
|
|
27
|
+
/**
|
|
28
|
+
* ANSI 0–15, in the usual order (black, red, green, yellow, blue, magenta,
|
|
29
|
+
* cyan, white, then the eight bright ones). A shorter array sets what it
|
|
30
|
+
* has. Not every backend can take these from the command line — see
|
|
31
|
+
* `palette` on the backend.
|
|
32
|
+
*/
|
|
33
|
+
palette?: readonly string[];
|
|
34
|
+
}
|
|
35
|
+
/** Everything the argv builders read. */
|
|
36
|
+
export interface TerminalLaunch {
|
|
37
|
+
/** The `<foreign>` container to draw into. */
|
|
38
|
+
windowId: number;
|
|
39
|
+
/** argv of the program to run. Empty means the user's shell. */
|
|
40
|
+
command?: readonly string[];
|
|
41
|
+
title?: string;
|
|
42
|
+
fontFamily?: string;
|
|
43
|
+
fontSize?: number;
|
|
44
|
+
/** Lines of scrollback. */
|
|
45
|
+
scrollback?: number;
|
|
46
|
+
colors?: TerminalColors;
|
|
47
|
+
}
|
|
48
|
+
export interface TerminalBackend {
|
|
49
|
+
name: Exclude<TerminalBackendName, 'auto'>;
|
|
50
|
+
/** Binaries to look for, in order. */
|
|
51
|
+
binaries: readonly string[];
|
|
52
|
+
/** Whether `colors.palette` reaches this backend from the command line. */
|
|
53
|
+
palette: boolean;
|
|
54
|
+
args(launch: TerminalLaunch): string[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* xterm.
|
|
58
|
+
*
|
|
59
|
+
* `-into` is the oldest and most reliable of the three embed flags — it
|
|
60
|
+
* predates XEmbed and does plain reparenting, which is exactly what
|
|
61
|
+
* `<foreign>`'s adopt path handles. `-b 0` drops the inner border, because a
|
|
62
|
+
* pane in an application should not have a margin the application did not ask
|
|
63
|
+
* for.
|
|
64
|
+
*
|
|
65
|
+
* Everything xterm cannot say as a flag it says as an X resource, which is
|
|
66
|
+
* how the ANSI palette gets set: `-xrm 'XTerm*color4: #…'` is a per-invocation
|
|
67
|
+
* resource and does not touch the user's database.
|
|
68
|
+
*/
|
|
69
|
+
export declare const xterm: TerminalBackend;
|
|
70
|
+
/**
|
|
71
|
+
* rxvt-unicode.
|
|
72
|
+
*
|
|
73
|
+
* `-embed` rather than `-into`, and a single Xft font string rather than a
|
|
74
|
+
* family and a size. The ANSI palette is reachable only through the X
|
|
75
|
+
* resource database, which is the user's and not ours to write, so
|
|
76
|
+
* `palette: false` — `<Terminal>` still themes the background, foreground and
|
|
77
|
+
* cursor, which is most of what makes it look integrated.
|
|
78
|
+
*/
|
|
79
|
+
export declare const urxvt: TerminalBackend;
|
|
80
|
+
/**
|
|
81
|
+
* alacritty.
|
|
82
|
+
*
|
|
83
|
+
* Configuration is a file, and `-o` is the escape hatch: one TOML assignment
|
|
84
|
+
* per flag, applied over whatever the user's own config says. TOML means
|
|
85
|
+
* strings are quoted *inside the argument value* — `font.normal.family="Fira
|
|
86
|
+
* Code"` — which costs nothing here because each `-o` is its own argv element
|
|
87
|
+
* and no shell ever sees it.
|
|
88
|
+
*/
|
|
89
|
+
export declare const alacritty: TerminalBackend;
|
|
90
|
+
/**
|
|
91
|
+
* Auto-detection order, and it is deliberately not "nicest first".
|
|
92
|
+
*
|
|
93
|
+
* xterm's `-into` is the embed path with the fewest surprises and is on
|
|
94
|
+
* almost every machine that has X at all; alacritty's `--embed` is newer and
|
|
95
|
+
* its window is a winit window with its own ideas about focus. An app that
|
|
96
|
+
* prefers a different one says so — `backend="alacritty"` is one prop.
|
|
97
|
+
*/
|
|
98
|
+
export declare const TERMINAL_BACKENDS: readonly TerminalBackend[];
|
|
99
|
+
/**
|
|
100
|
+
* The *embeddable* backends a `backend` prop selects. `'auto'` is all of
|
|
101
|
+
* them, in order; `'vt'` is none of them, because nothing is spawned — the
|
|
102
|
+
* component takes that branch before it ever asks this.
|
|
103
|
+
*/
|
|
104
|
+
export declare function backendsFor(name: TerminalBackendName): readonly TerminalBackend[];
|
|
105
|
+
//# sourceMappingURL=backends.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backends.d.ts","sourceRoot":"","sources":["../../src/terminal/backends.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAC7B,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC3C,sCAAsC;IACtC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAAC;CACxC;AAiBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,KAAK,EAAE,eA8BnB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,EAAE,eAsBnB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,EAAE,eAgCvB,CAAC;AAQF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAIvD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,mBAAmB,GACxB,SAAS,eAAe,EAAE,CAI5B"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
// One table, three terminals, and the reason `<Terminal>` has a nice API at
|
|
2
|
+
// all.
|
|
3
|
+
//
|
|
4
|
+
// Every terminal emulator that can be embedded takes the same three things —
|
|
5
|
+
// a window to draw into, a font, a colour scheme — and spells all three
|
|
6
|
+
// differently. xterm wants X resources, urxvt wants an Xft font string,
|
|
7
|
+
// alacritty wants TOML on the command line. That asymmetry is the *only*
|
|
8
|
+
// difference between the backends, so it lives here and the component never
|
|
9
|
+
// mentions a binary by name.
|
|
10
|
+
//
|
|
11
|
+
// Pure functions over a plain description: no spawning, no probing, nothing
|
|
12
|
+
// async. `test/terminal.test.ts` asserts the argv of all three without a
|
|
13
|
+
// terminal installed anywhere, which is the point.
|
|
14
|
+
/** The ANSI names alacritty's TOML uses, in palette-index order. */
|
|
15
|
+
const ANSI_NAMES = [
|
|
16
|
+
'black',
|
|
17
|
+
'red',
|
|
18
|
+
'green',
|
|
19
|
+
'yellow',
|
|
20
|
+
'blue',
|
|
21
|
+
'magenta',
|
|
22
|
+
'cyan',
|
|
23
|
+
'white',
|
|
24
|
+
];
|
|
25
|
+
const DEFAULT_FAMILY = 'monospace';
|
|
26
|
+
const DEFAULT_SIZE = 12;
|
|
27
|
+
/**
|
|
28
|
+
* xterm.
|
|
29
|
+
*
|
|
30
|
+
* `-into` is the oldest and most reliable of the three embed flags — it
|
|
31
|
+
* predates XEmbed and does plain reparenting, which is exactly what
|
|
32
|
+
* `<foreign>`'s adopt path handles. `-b 0` drops the inner border, because a
|
|
33
|
+
* pane in an application should not have a margin the application did not ask
|
|
34
|
+
* for.
|
|
35
|
+
*
|
|
36
|
+
* Everything xterm cannot say as a flag it says as an X resource, which is
|
|
37
|
+
* how the ANSI palette gets set: `-xrm 'XTerm*color4: #…'` is a per-invocation
|
|
38
|
+
* resource and does not touch the user's database.
|
|
39
|
+
*/
|
|
40
|
+
export const xterm = {
|
|
41
|
+
name: 'xterm',
|
|
42
|
+
binaries: ['xterm'],
|
|
43
|
+
palette: true,
|
|
44
|
+
args(launch) {
|
|
45
|
+
const args = ['-into', String(launch.windowId), '-b', '0'];
|
|
46
|
+
if (launch.title)
|
|
47
|
+
args.push('-T', launch.title);
|
|
48
|
+
// `-fa` is what switches xterm to Xft at all; without it `-fs` is ignored
|
|
49
|
+
// and the bitmap font stays. So asking for either means passing both.
|
|
50
|
+
if (launch.fontFamily || launch.fontSize) {
|
|
51
|
+
args.push('-fa', launch.fontFamily ?? DEFAULT_FAMILY);
|
|
52
|
+
args.push('-fs', String(launch.fontSize ?? DEFAULT_SIZE));
|
|
53
|
+
}
|
|
54
|
+
if (launch.scrollback != null)
|
|
55
|
+
args.push('-sl', String(launch.scrollback));
|
|
56
|
+
const colors = launch.colors ?? {};
|
|
57
|
+
if (colors.background)
|
|
58
|
+
args.push('-bg', colors.background);
|
|
59
|
+
if (colors.foreground)
|
|
60
|
+
args.push('-fg', colors.foreground);
|
|
61
|
+
if (colors.cursor)
|
|
62
|
+
args.push('-cr', colors.cursor);
|
|
63
|
+
for (const [index, color] of (colors.palette ?? []).entries()) {
|
|
64
|
+
if (index > 15 || !color)
|
|
65
|
+
continue;
|
|
66
|
+
args.push('-xrm', `XTerm*color${index}: ${color}`);
|
|
67
|
+
}
|
|
68
|
+
// `-e` consumes the rest of the line, so it is last and nothing may be
|
|
69
|
+
// appended after this point.
|
|
70
|
+
if (launch.command?.length)
|
|
71
|
+
args.push('-e', ...launch.command);
|
|
72
|
+
return args;
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* rxvt-unicode.
|
|
77
|
+
*
|
|
78
|
+
* `-embed` rather than `-into`, and a single Xft font string rather than a
|
|
79
|
+
* family and a size. The ANSI palette is reachable only through the X
|
|
80
|
+
* resource database, which is the user's and not ours to write, so
|
|
81
|
+
* `palette: false` — `<Terminal>` still themes the background, foreground and
|
|
82
|
+
* cursor, which is most of what makes it look integrated.
|
|
83
|
+
*/
|
|
84
|
+
export const urxvt = {
|
|
85
|
+
name: 'urxvt',
|
|
86
|
+
binaries: ['urxvt', 'rxvt-unicode'],
|
|
87
|
+
palette: false,
|
|
88
|
+
args(launch) {
|
|
89
|
+
const args = ['-embed', String(launch.windowId)];
|
|
90
|
+
if (launch.title)
|
|
91
|
+
args.push('-title', launch.title);
|
|
92
|
+
if (launch.fontFamily || launch.fontSize) {
|
|
93
|
+
const family = launch.fontFamily ?? DEFAULT_FAMILY;
|
|
94
|
+
const size = launch.fontSize ?? DEFAULT_SIZE;
|
|
95
|
+
args.push('-fn', `xft:${family}:size=${size}`);
|
|
96
|
+
}
|
|
97
|
+
if (launch.scrollback != null)
|
|
98
|
+
args.push('-sl', String(launch.scrollback));
|
|
99
|
+
const colors = launch.colors ?? {};
|
|
100
|
+
if (colors.background)
|
|
101
|
+
args.push('-bg', colors.background);
|
|
102
|
+
if (colors.foreground)
|
|
103
|
+
args.push('-fg', colors.foreground);
|
|
104
|
+
if (colors.cursor)
|
|
105
|
+
args.push('-cr', colors.cursor);
|
|
106
|
+
if (launch.command?.length)
|
|
107
|
+
args.push('-e', ...launch.command);
|
|
108
|
+
return args;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* alacritty.
|
|
113
|
+
*
|
|
114
|
+
* Configuration is a file, and `-o` is the escape hatch: one TOML assignment
|
|
115
|
+
* per flag, applied over whatever the user's own config says. TOML means
|
|
116
|
+
* strings are quoted *inside the argument value* — `font.normal.family="Fira
|
|
117
|
+
* Code"` — which costs nothing here because each `-o` is its own argv element
|
|
118
|
+
* and no shell ever sees it.
|
|
119
|
+
*/
|
|
120
|
+
export const alacritty = {
|
|
121
|
+
name: 'alacritty',
|
|
122
|
+
binaries: ['alacritty'],
|
|
123
|
+
palette: true,
|
|
124
|
+
args(launch) {
|
|
125
|
+
const args = ['--embed', String(launch.windowId)];
|
|
126
|
+
if (launch.title)
|
|
127
|
+
args.push('--title', launch.title);
|
|
128
|
+
const set = (key, value) => {
|
|
129
|
+
args.push('-o', `${key}=${value}`);
|
|
130
|
+
};
|
|
131
|
+
if (launch.fontFamily)
|
|
132
|
+
set('font.normal.family', quote(launch.fontFamily));
|
|
133
|
+
if (launch.fontSize != null)
|
|
134
|
+
set('font.size', String(launch.fontSize));
|
|
135
|
+
if (launch.scrollback != null) {
|
|
136
|
+
set('scrolling.history', String(launch.scrollback));
|
|
137
|
+
}
|
|
138
|
+
const colors = launch.colors ?? {};
|
|
139
|
+
if (colors.background)
|
|
140
|
+
set('colors.primary.background', quote(colors.background));
|
|
141
|
+
if (colors.foreground)
|
|
142
|
+
set('colors.primary.foreground', quote(colors.foreground));
|
|
143
|
+
if (colors.cursor)
|
|
144
|
+
set('colors.cursor.cursor', quote(colors.cursor));
|
|
145
|
+
for (const [index, color] of (colors.palette ?? []).entries()) {
|
|
146
|
+
if (index > 15 || !color)
|
|
147
|
+
continue;
|
|
148
|
+
const group = index < 8 ? 'normal' : 'bright';
|
|
149
|
+
set(`colors.${group}.${ANSI_NAMES[index % 8]}`, quote(color));
|
|
150
|
+
}
|
|
151
|
+
if (launch.command?.length)
|
|
152
|
+
args.push('-e', ...launch.command);
|
|
153
|
+
return args;
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
/** A TOML string. Colours and font names have no quotes or backslashes in
|
|
157
|
+
* practice, but a family typed by a user is a user's string. */
|
|
158
|
+
function quote(value) {
|
|
159
|
+
return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Auto-detection order, and it is deliberately not "nicest first".
|
|
163
|
+
*
|
|
164
|
+
* xterm's `-into` is the embed path with the fewest surprises and is on
|
|
165
|
+
* almost every machine that has X at all; alacritty's `--embed` is newer and
|
|
166
|
+
* its window is a winit window with its own ideas about focus. An app that
|
|
167
|
+
* prefers a different one says so — `backend="alacritty"` is one prop.
|
|
168
|
+
*/
|
|
169
|
+
export const TERMINAL_BACKENDS = [
|
|
170
|
+
xterm,
|
|
171
|
+
urxvt,
|
|
172
|
+
alacritty,
|
|
173
|
+
];
|
|
174
|
+
/**
|
|
175
|
+
* The *embeddable* backends a `backend` prop selects. `'auto'` is all of
|
|
176
|
+
* them, in order; `'vt'` is none of them, because nothing is spawned — the
|
|
177
|
+
* component takes that branch before it ever asks this.
|
|
178
|
+
*/
|
|
179
|
+
export function backendsFor(name) {
|
|
180
|
+
if (name === 'auto')
|
|
181
|
+
return TERMINAL_BACKENDS;
|
|
182
|
+
const found = TERMINAL_BACKENDS.filter((b) => b.name === name);
|
|
183
|
+
return found;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=backends.js.map
|