@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,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One highlighted run within a line. Offsets are UTF-16 indices into the
|
|
3
|
+
* line's text (what `String.prototype.slice` takes), `from` inclusive, `to`
|
|
4
|
+
* exclusive. Runs never overlap; gaps between runs paint as plain text.
|
|
5
|
+
*/
|
|
6
|
+
export interface Token {
|
|
7
|
+
from: number;
|
|
8
|
+
to: number;
|
|
9
|
+
/** A name from {@link TokenType}, or any string a custom theme knows. */
|
|
10
|
+
type: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The token vocabulary the built-in languages emit and the built-in themes
|
|
14
|
+
* style. It is deliberately the vocabulary of Lezer's `classHighlighter`
|
|
15
|
+
* (minus the `tok-` prefix), so a Lezer grammar highlights correctly with no
|
|
16
|
+
* mapping table, and a TextMate scope maps onto it in one step.
|
|
17
|
+
*
|
|
18
|
+
* A theme may style any string; unknown types fall back through
|
|
19
|
+
* {@link TOKEN_FALLBACK} and then to the editor's plain text colour, so a
|
|
20
|
+
* language inventing `'heredoc'` degrades to readable rather than invisible.
|
|
21
|
+
*/
|
|
22
|
+
export type TokenType = 'keyword' | 'operator' | 'variableName' | 'typeName' | 'propertyName' | 'className' | 'labelName' | 'namespace' | 'macroName' | 'function' | 'string' | 'string2' | 'escape' | 'number' | 'bool' | 'atom' | 'self' | 'unit' | 'modifier' | 'comment' | 'docComment' | 'meta' | 'punctuation' | 'bracket' | 'invalid';
|
|
23
|
+
/** How one token type paints. `color` may be a `$token` from the react-x11
|
|
24
|
+
* theme (`'$textMuted'`), resolved against the editor's own `theme` at paint. */
|
|
25
|
+
export interface TokenStyle {
|
|
26
|
+
color?: string;
|
|
27
|
+
/** ntk font weight, 100–900. */
|
|
28
|
+
weight?: number;
|
|
29
|
+
/** `'italic'` is the one that earns its keep, for comments. */
|
|
30
|
+
fontStyle?: 'normal' | 'italic';
|
|
31
|
+
}
|
|
32
|
+
/** A token-type → style map. Missing entries fall back via
|
|
33
|
+
* {@link TOKEN_FALLBACK}, then to the editor's text colour. */
|
|
34
|
+
export type TokenStyles = Readonly<Record<string, TokenStyle>>;
|
|
35
|
+
/**
|
|
36
|
+
* Where an unknown or unstyled token type borrows its style from before
|
|
37
|
+
* giving up and painting plain. `string2 → string`, `docComment → comment`,
|
|
38
|
+
* and so on. Exported because a custom theme wants to know what it may omit.
|
|
39
|
+
*/
|
|
40
|
+
export declare const TOKEN_FALLBACK: Readonly<Record<string, string>>;
|
|
41
|
+
/**
|
|
42
|
+
* A line-level description of an edit, handed to the tokenizer *after* the
|
|
43
|
+
* editor's line buffer has been updated. `fromLine` is the first affected
|
|
44
|
+
* line; `removed` lines were deleted there and `inserted` lines now sit in
|
|
45
|
+
* their place. A same-line edit is `{ fromLine: n, removed: 1, inserted: 1 }`.
|
|
46
|
+
*/
|
|
47
|
+
export interface LineEdit {
|
|
48
|
+
fromLine: number;
|
|
49
|
+
removed: number;
|
|
50
|
+
inserted: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* What the editor hands an engine at creation time. `invalidate(fromLine)`
|
|
54
|
+
* is for engines that tokenize asynchronously (Lezer reparsing on a debounce,
|
|
55
|
+
* an LSP answering semantic tokens): call it when lines at or below
|
|
56
|
+
* `fromLine` have new tokens, and the editor repaints and pulls again.
|
|
57
|
+
* Synchronous engines never need it.
|
|
58
|
+
*/
|
|
59
|
+
export interface TokenizerHost {
|
|
60
|
+
invalidate(fromLine: number): void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The per-document tokenizing instance. `setLines` hands over the editor's
|
|
64
|
+
* live line array — the tokenizer may keep the reference (the editor edits
|
|
65
|
+
* that array in place and guarantees an `edit()` call after every mutation)
|
|
66
|
+
* but must not mutate it. Reading it inside `lineTokens` is the point: an
|
|
67
|
+
* engine that instead snapshots the text at `setLines` time will paint the
|
|
68
|
+
* pre-edit document.
|
|
69
|
+
*/
|
|
70
|
+
export interface Tokenizer {
|
|
71
|
+
setLines(lines: readonly string[]): void;
|
|
72
|
+
edit(edit: LineEdit): void;
|
|
73
|
+
/** Tokens for one line, sorted, non-overlapping. `[]` is a fine answer —
|
|
74
|
+
* it is what "plain text" looks like. */
|
|
75
|
+
lineTokens(line: number): readonly Token[];
|
|
76
|
+
/** Drop timers, workers, subscriptions. Called on unmount and when the
|
|
77
|
+
* editor switches to a different `language`. */
|
|
78
|
+
dispose?(): void;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Metadata about a language that is not tokenization: what the editor's own
|
|
82
|
+
* commands (Ctrl+/, auto-indent) and the generic completion sources read.
|
|
83
|
+
* All optional — a language that only tokenizes is complete.
|
|
84
|
+
*/
|
|
85
|
+
export interface LanguageData {
|
|
86
|
+
/** `'--'`, `'#'`, `'//'` — enables Ctrl+/ toggle-comment. */
|
|
87
|
+
lineComment?: string;
|
|
88
|
+
/** Extra word characters for double-click and Ctrl+arrow, on top of
|
|
89
|
+
* letters, digits and `_` (SQL wants `$`, shell wants `-`). */
|
|
90
|
+
wordChars?: string;
|
|
91
|
+
/** Words for `keywordCompletionSource` — usually the keyword list the
|
|
92
|
+
* tokenizer matches, re-exported. */
|
|
93
|
+
completions?: readonly string[];
|
|
94
|
+
/** After Enter, indent one unit deeper when the previous line matches.
|
|
95
|
+
* The built-ins use `/[([{]\s*$/`. */
|
|
96
|
+
indentAfter?: RegExp;
|
|
97
|
+
}
|
|
98
|
+
/** What `<CodeEditor language>` takes: a named factory for tokenizers. */
|
|
99
|
+
export interface Language {
|
|
100
|
+
name: string;
|
|
101
|
+
data?: LanguageData;
|
|
102
|
+
createTokenizer(host: TokenizerHost): Tokenizer;
|
|
103
|
+
}
|
|
104
|
+
/** A caret position: `line` is 0-based, `ch` a UTF-16 index into the line. */
|
|
105
|
+
export interface Position {
|
|
106
|
+
line: number;
|
|
107
|
+
ch: number;
|
|
108
|
+
}
|
|
109
|
+
/** `anchor` is where the selection started, `head` where the caret is —
|
|
110
|
+
* equal when nothing is selected. */
|
|
111
|
+
export interface Selection {
|
|
112
|
+
anchor: Position;
|
|
113
|
+
head: Position;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* A range to underline. The shape (and the severity names) are LSP's, so a
|
|
117
|
+
* language-server client maps `publishDiagnostics` onto this prop without
|
|
118
|
+
* translation — see the module comment: this is one half of the "language
|
|
119
|
+
* server seam", completions being the other.
|
|
120
|
+
*/
|
|
121
|
+
export interface Diagnostic {
|
|
122
|
+
from: Position;
|
|
123
|
+
to: Position;
|
|
124
|
+
severity?: 'error' | 'warning' | 'information' | 'hint';
|
|
125
|
+
message?: string;
|
|
126
|
+
/** e.g. the lint rule or LSP `source`. Unused by the paint; carried for
|
|
127
|
+
* the app's own tooltip/status UI. */
|
|
128
|
+
source?: string;
|
|
129
|
+
}
|
|
130
|
+
/** Why a completion query is running. `'explicit'` is Ctrl+Space. */
|
|
131
|
+
export type CompletionTrigger = 'input' | 'explicit';
|
|
132
|
+
/** What a {@link CompletionSource} is asked with. */
|
|
133
|
+
export interface CompletionContext {
|
|
134
|
+
/** The document, by line. Do not mutate. */
|
|
135
|
+
lines: readonly string[];
|
|
136
|
+
/** The caret. */
|
|
137
|
+
pos: Position;
|
|
138
|
+
/** The word being typed: `text` from `from` up to the caret. Sources that
|
|
139
|
+
* complete mid-token re-derive their own; most want this one. */
|
|
140
|
+
word: {
|
|
141
|
+
from: Position;
|
|
142
|
+
text: string;
|
|
143
|
+
};
|
|
144
|
+
trigger: CompletionTrigger;
|
|
145
|
+
/** The editor's language, for sources that adapt (keyword lists). */
|
|
146
|
+
language: Language | null;
|
|
147
|
+
}
|
|
148
|
+
export interface CompletionItem {
|
|
149
|
+
label: string;
|
|
150
|
+
/** Replaces the text from `from` (the source's, else the context word's)
|
|
151
|
+
* to the caret. Defaults to `label`. */
|
|
152
|
+
apply?: string;
|
|
153
|
+
/** Dim text after the label — a type, a table name, a signature. */
|
|
154
|
+
detail?: string;
|
|
155
|
+
/** Groups and ranks like kinds; also the theme hook for a badge later.
|
|
156
|
+
* Free-form; the built-ins use `'keyword' | 'word' | 'table' | 'column'`. */
|
|
157
|
+
kind?: string;
|
|
158
|
+
/** Sort/filter boost, higher wins ties. Default 0. */
|
|
159
|
+
boost?: number;
|
|
160
|
+
}
|
|
161
|
+
export interface CompletionResult {
|
|
162
|
+
/** Where the replacement starts. Defaults to the context word start. */
|
|
163
|
+
from?: Position;
|
|
164
|
+
items: readonly CompletionItem[];
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* One provider of completions. Return `null` for "nothing to say here".
|
|
168
|
+
* May be async — the editor drops a result that arrives after the document
|
|
169
|
+
* moved on. This signature is deliberately LSP-shaped: a client wrapping
|
|
170
|
+
* `textDocument/completion` is just an async source.
|
|
171
|
+
*/
|
|
172
|
+
export type CompletionSource = (context: CompletionContext) => CompletionResult | null | Promise<CompletionResult | null>;
|
|
173
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/code-language/types.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,UAAU,GACV,cAAc,GACd,UAAU,GACV,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,YAAY,GACZ,MAAM,GACN,aAAa,GACb,SAAS,GACT,SAAS,CAAC;AAEd;iFACiF;AACjF,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACjC;AAED;+DAC+D;AAC/D,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAc3D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B;6CACyC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,EAAE,CAAC;IAC3C;oDACgD;IAChD,OAAO,CAAC,IAAI,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;mEAC+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yCACqC;IACrC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;0CACsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;CACjD;AAID,8EAA8E;AAC9E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;qCACqC;AACrC,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;0CACsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AAErD,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,iBAAiB;IACjB,GAAG,EAAE,QAAQ,CAAC;IACd;qEACiE;IACjE,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd;4CACwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;iFAC6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,iBAAiB,KACvB,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// The language seam `<CodeEditor>` is built around.
|
|
2
|
+
//
|
|
3
|
+
// The editor itself knows nothing about any language. It owns the text, the
|
|
4
|
+
// caret and the pixels; everything language-shaped arrives through the
|
|
5
|
+
// interfaces in this file, and three very different ecosystems are expected
|
|
6
|
+
// to sit behind them:
|
|
7
|
+
//
|
|
8
|
+
// - the built-in stream tokenizers (`./stream.ts`, `./languages/*`) — zero
|
|
9
|
+
// dependencies, written here, line-state based the way CodeMirror 5 modes
|
|
10
|
+
// and VS Code's Monarch grammars are;
|
|
11
|
+
// - Lezer parsers (`./lezer.ts`) — CodeMirror 6's incremental parsers,
|
|
12
|
+
// `@lezer/<lang>` packages, adapted through `@lezer/highlight`;
|
|
13
|
+
// - TextMate grammars (`./textmate.ts`) — the VS Code / Shiki grammar world,
|
|
14
|
+
// adapted structurally so this package depends on none of it.
|
|
15
|
+
//
|
|
16
|
+
// The reason the seam is *pull-based and per-line* (`lineTokens(i)`) rather
|
|
17
|
+
// than a push of the whole document's spans: the editor paints only the
|
|
18
|
+
// visible window of lines, and an engine should never be forced to tokenize
|
|
19
|
+
// a megabyte because line 3 changed. Engines that work document-wide (Lezer)
|
|
20
|
+
// cache internally and slice.
|
|
21
|
+
/**
|
|
22
|
+
* Where an unknown or unstyled token type borrows its style from before
|
|
23
|
+
* giving up and painting plain. `string2 → string`, `docComment → comment`,
|
|
24
|
+
* and so on. Exported because a custom theme wants to know what it may omit.
|
|
25
|
+
*/
|
|
26
|
+
export const TOKEN_FALLBACK = {
|
|
27
|
+
string2: 'string',
|
|
28
|
+
escape: 'string',
|
|
29
|
+
docComment: 'comment',
|
|
30
|
+
bool: 'atom',
|
|
31
|
+
self: 'keyword',
|
|
32
|
+
modifier: 'keyword',
|
|
33
|
+
macroName: 'meta',
|
|
34
|
+
namespace: 'typeName',
|
|
35
|
+
className: 'typeName',
|
|
36
|
+
labelName: 'variableName',
|
|
37
|
+
function: 'variableName',
|
|
38
|
+
unit: 'number',
|
|
39
|
+
bracket: 'punctuation',
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/code-language/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAC5E,sBAAsB;AACtB,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,wCAAwC;AACxC,uEAAuE;AACvE,kEAAkE;AAClE,6EAA6E;AAC7E,gEAAgE;AAChE,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,8BAA8B;AAiE9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAqC;IAC9D,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,SAAS;IACrB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,cAAc;IACzB,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { Language, TokenStyles } from '../code-language/index.js';
|
|
2
|
+
import type { TextRun } from '../richtext/index.js';
|
|
3
|
+
import type { Style } from 'react-x11/style';
|
|
4
|
+
/** Code is set tighter than prose: the lines are short and the shapes are
|
|
5
|
+
* what is being read. One value, so a fenced block and a `<Code>` in the
|
|
6
|
+
* same window sit on the same rhythm. */
|
|
7
|
+
export declare const CODE_LINE_HEIGHT = 1.25;
|
|
8
|
+
/** Everything both components derive from the theme before drawing. */
|
|
9
|
+
export interface CodeBlockLook {
|
|
10
|
+
/** The mono size, in pixels. */
|
|
11
|
+
size: number;
|
|
12
|
+
family: string;
|
|
13
|
+
/** The ink: unstyled tokens, and the gaps between styled ones. */
|
|
14
|
+
color: string;
|
|
15
|
+
/** Secondary ink — the line-number gutter. */
|
|
16
|
+
dim: string;
|
|
17
|
+
/** The block's own fill. */
|
|
18
|
+
fill: string;
|
|
19
|
+
padding: number;
|
|
20
|
+
radius: number;
|
|
21
|
+
lineHeight: number;
|
|
22
|
+
/** Token palette, picked against the theme background unless overridden. */
|
|
23
|
+
styles: TokenStyles;
|
|
24
|
+
/** Resolves `'$token'` colours a custom palette may use. */
|
|
25
|
+
resolveToken: (name: string) => string | undefined;
|
|
26
|
+
}
|
|
27
|
+
export interface CodeBlockLookOptions {
|
|
28
|
+
/** The mono size outright — `<Code>`'s `fontSize`. */
|
|
29
|
+
fontSize?: number;
|
|
30
|
+
/** The document's base text size, when there is one: the mono size is
|
|
31
|
+
* 0.9 of it. Ignored when `fontSize` is given. */
|
|
32
|
+
baseSize?: number;
|
|
33
|
+
/** Default `'monospace'` — there is no theme token for it. */
|
|
34
|
+
monoFamily?: string;
|
|
35
|
+
/** Token palette override. */
|
|
36
|
+
tokenStyles?: TokenStyles;
|
|
37
|
+
}
|
|
38
|
+
/** Resolve a `'$token'` colour against a theme. Both components need the
|
|
39
|
+
* same four lines, and a custom token palette is the only thing that asks
|
|
40
|
+
* for it. */
|
|
41
|
+
export declare function themeTokenResolver(theme: Record<string, unknown>): (name: string) => string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* What a block of code looks like against this theme.
|
|
44
|
+
*
|
|
45
|
+
* The fill is a tint of the *ink* rather than a colour of its own, so it
|
|
46
|
+
* works out to a slightly-darker patch on a light palette and a
|
|
47
|
+
* slightly-lighter one on a dark palette without either being named.
|
|
48
|
+
*/
|
|
49
|
+
export declare function codeBlockLook(theme: Record<string, unknown>, options?: CodeBlockLookOptions): CodeBlockLook;
|
|
50
|
+
export interface CodeBlockRunOptions {
|
|
51
|
+
/** A fence-style tag — `'js'`, `'tsx'`, `'bash'`… */
|
|
52
|
+
lang?: string;
|
|
53
|
+
/** An explicit `Language`; takes precedence over `lang`. */
|
|
54
|
+
language?: Language;
|
|
55
|
+
/** A `Language` for a `lang` the built-ins do not cover — `hljsLanguage`
|
|
56
|
+
* goes here for highlight.js's breadth. Null for a tag it does not know. */
|
|
57
|
+
resolveLanguage?: (tag: string) => Language | null;
|
|
58
|
+
/** False leaves the code unhighlighted, tag or no tag. */
|
|
59
|
+
highlight?: boolean;
|
|
60
|
+
}
|
|
61
|
+
/** The source as `<richtext>` runs: tokenized, then given the mono font.
|
|
62
|
+
* The runs concatenate back to exactly `source`. */
|
|
63
|
+
export declare function codeBlockRuns(source: string, look: CodeBlockLook, options?: CodeBlockRunOptions): TextRun[];
|
|
64
|
+
/** The block's own box: fill, radius, padding. What surrounds it — a row
|
|
65
|
+
* with a gutter, a column in a document — is the component's. */
|
|
66
|
+
export declare function codeBlockStyle(look: CodeBlockLook): Style;
|
|
67
|
+
/** The style the runs are laid out with, in both components. */
|
|
68
|
+
export declare function codeTextStyle(look: CodeBlockLook): Style;
|
|
69
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codeblock/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;0CAE0C;AAC1C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,MAAM,EAAE,WAAW,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;uDACmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;cAEc;AACd,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAKtC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAmBf;AAED,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;iFAC6E;IAC7E,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IACnD,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;qDACqD;AACrD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,EAAE,CASX;AAED;kEACkE;AAClE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,CAMzD;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,CAExD"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// The look of a block of code, as a shared module.
|
|
2
|
+
//
|
|
3
|
+
// `<Code>` and `<Markdown>`'s fenced blocks are the same widget seen twice:
|
|
4
|
+
// mono runs tokenized through `../code-language/`, laid out unwrapped in a
|
|
5
|
+
// `<richtext>`, on a faint tint of the ink colour with a small radius. They
|
|
6
|
+
// were written twice and had already drifted (one padded from the document's
|
|
7
|
+
// base size, the other from the mono size — the same number at 14px and not
|
|
8
|
+
// at 20), which is what a look shared by two components does when it lives
|
|
9
|
+
// in both of them.
|
|
10
|
+
//
|
|
11
|
+
// So: the palette derivation, the runs and the chrome are here, and the two
|
|
12
|
+
// components keep only what is actually theirs — a gutter and a horizontal
|
|
13
|
+
// viewport for `<Code>`, the surrounding document for `<Markdown>`.
|
|
14
|
+
//
|
|
15
|
+
// A shared module, not a component: no element registration, no React, and
|
|
16
|
+
// nothing imported from either of its consumers (a component never imports
|
|
17
|
+
// another component).
|
|
18
|
+
import { codeRuns, autoTokenStyles } from '../code-language/index.js';
|
|
19
|
+
import { tint } from 'react-x11/style';
|
|
20
|
+
/** Code is set tighter than prose: the lines are short and the shapes are
|
|
21
|
+
* what is being read. One value, so a fenced block and a `<Code>` in the
|
|
22
|
+
* same window sit on the same rhythm. */
|
|
23
|
+
export const CODE_LINE_HEIGHT = 1.25;
|
|
24
|
+
/** Resolve a `'$token'` colour against a theme. Both components need the
|
|
25
|
+
* same four lines, and a custom token palette is the only thing that asks
|
|
26
|
+
* for it. */
|
|
27
|
+
export function themeTokenResolver(theme) {
|
|
28
|
+
return (name) => {
|
|
29
|
+
const value = theme[name];
|
|
30
|
+
return typeof value === 'string' ? value : undefined;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* What a block of code looks like against this theme.
|
|
35
|
+
*
|
|
36
|
+
* The fill is a tint of the *ink* rather than a colour of its own, so it
|
|
37
|
+
* works out to a slightly-darker patch on a light palette and a
|
|
38
|
+
* slightly-lighter one on a dark palette without either being named.
|
|
39
|
+
*/
|
|
40
|
+
export function codeBlockLook(theme, options = {}) {
|
|
41
|
+
const color = String(theme.text ?? '#2d3436');
|
|
42
|
+
const background = String(theme.background ?? 'white');
|
|
43
|
+
const base = options.baseSize ?? Number(theme.fontSize ?? 14);
|
|
44
|
+
const size = options.fontSize ?? Math.round(base * 0.9);
|
|
45
|
+
return {
|
|
46
|
+
size,
|
|
47
|
+
family: options.monoFamily ?? 'monospace',
|
|
48
|
+
color,
|
|
49
|
+
dim: String(theme.textMuted ?? '#7f8c8d'),
|
|
50
|
+
fill: tint(color, 0.06),
|
|
51
|
+
padding: Math.round(size * 0.65),
|
|
52
|
+
radius: 6,
|
|
53
|
+
lineHeight: CODE_LINE_HEIGHT,
|
|
54
|
+
// the same palettes the editor uses, picked by background luminance — a
|
|
55
|
+
// fenced block, a `<Code>` and a `<CodeEditor>` in one window agree
|
|
56
|
+
styles: options.tokenStyles ?? autoTokenStyles(background),
|
|
57
|
+
resolveToken: themeTokenResolver(theme),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** The source as `<richtext>` runs: tokenized, then given the mono font.
|
|
61
|
+
* The runs concatenate back to exactly `source`. */
|
|
62
|
+
export function codeBlockRuns(source, look, options = {}) {
|
|
63
|
+
const { lang = '', language, resolveLanguage, highlight = true } = options;
|
|
64
|
+
return codeRuns(source, highlight ? lang : '', {
|
|
65
|
+
styles: look.styles,
|
|
66
|
+
color: look.color,
|
|
67
|
+
...(highlight && language ? { language } : null),
|
|
68
|
+
...(highlight && resolveLanguage ? { resolveLanguage } : null),
|
|
69
|
+
resolveToken: look.resolveToken,
|
|
70
|
+
}).map((run) => ({ ...run, family: look.family, size: look.size }));
|
|
71
|
+
}
|
|
72
|
+
/** The block's own box: fill, radius, padding. What surrounds it — a row
|
|
73
|
+
* with a gutter, a column in a document — is the component's. */
|
|
74
|
+
export function codeBlockStyle(look) {
|
|
75
|
+
return {
|
|
76
|
+
backgroundColor: look.fill,
|
|
77
|
+
borderRadius: look.radius,
|
|
78
|
+
padding: look.padding,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** The style the runs are laid out with, in both components. */
|
|
82
|
+
export function codeTextStyle(look) {
|
|
83
|
+
return { lineHeight: look.lineHeight };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codeblock/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { Style } from 'react-x11/style';
|
|
3
|
+
import type { AnchorOptions } from 'react-x11';
|
|
4
|
+
import type { ColorPickerProps } from './ColorPicker.js';
|
|
5
|
+
export interface ColorFieldProps extends Omit<ColorPickerProps, 'focusable' | 'focusVisible' | 'ref' | 'style'> {
|
|
6
|
+
/** What the trigger says. Defaults to the value in the picker's own output
|
|
7
|
+
* spelling. */
|
|
8
|
+
format?: ColorPickerProps['format'];
|
|
9
|
+
/** Shown when there is no colour yet. */
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
/** Where the sheet hangs. Defaults to below the trigger. */
|
|
12
|
+
anchor?: Partial<AnchorOptions>;
|
|
13
|
+
open?: boolean;
|
|
14
|
+
defaultOpen?: boolean;
|
|
15
|
+
onOpenChange?: (open: boolean) => void;
|
|
16
|
+
style?: Style | Style[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* `<ColorField value onChange>` — the colour picker as a form control.
|
|
20
|
+
*
|
|
21
|
+
* <ColorField value={fill} onChange={(ev) => setFill(ev.value)} />
|
|
22
|
+
* <ColorField … alpha swatches={brand.colors} />
|
|
23
|
+
*
|
|
24
|
+
* Every `<ColorPicker>` prop passes straight through, and the value has the
|
|
25
|
+
* same shape here as there.
|
|
26
|
+
*
|
|
27
|
+
* The sheet opens on the **press**, not the release, for the reason
|
|
28
|
+
* `<Select>`'s menu does. It closes on Escape, on a second press of the
|
|
29
|
+
* trigger, and when the window loses focus — but *not* on a change, because
|
|
30
|
+
* a colour is chosen by dragging and there is no moment at which the choice
|
|
31
|
+
* is obviously finished.
|
|
32
|
+
*
|
|
33
|
+
* The popup is override-redirect and never takes focus, so the **trigger
|
|
34
|
+
* keeps the keyboard** and hands the panel its keys: Down/Up/Enter/Space
|
|
35
|
+
* open it, and once it is open the arrows drive the active axis and Tab
|
|
36
|
+
* moves between them. Escape stays here.
|
|
37
|
+
*/
|
|
38
|
+
export declare function ColorField(props: ColorFieldProps): ReactElement;
|
|
39
|
+
//# sourceMappingURL=ColorField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../src/color-picker/ColorField.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAE9D,OAAO,KAAK,EACV,aAAa,EAId,MAAM,WAAW,CAAC;AAUnB,OAAO,KAAK,EAIV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AA8B1B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,gBAAgB,EAChB,WAAW,GAAG,cAAc,GAAG,KAAK,GAAG,OAAO,CAC/C;IACC;oBACgB;IAChB,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAyO/D"}
|