@react-x11/components 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +979 -21
- package/dist/ansi/cast.d.ts +48 -0
- package/dist/ansi/cast.d.ts.map +1 -0
- package/dist/ansi/cast.js +135 -0
- package/dist/ansi/cast.js.map +1 -0
- package/dist/ansi/index.d.ts +10 -0
- package/dist/ansi/index.d.ts.map +1 -0
- package/dist/ansi/index.js +27 -0
- package/dist/ansi/index.js.map +1 -0
- package/dist/ansi/palette.d.ts +79 -0
- package/dist/ansi/palette.d.ts.map +1 -0
- package/dist/ansi/palette.js +155 -0
- package/dist/ansi/palette.js.map +1 -0
- package/dist/ansi/parse.d.ts +114 -0
- package/dist/ansi/parse.d.ts.map +1 -0
- package/dist/ansi/parse.js +687 -0
- package/dist/ansi/parse.js.map +1 -0
- package/dist/ansi/sgr.d.ts +87 -0
- package/dist/ansi/sgr.d.ts.map +1 -0
- package/dist/ansi/sgr.js +302 -0
- package/dist/ansi/sgr.js.map +1 -0
- package/dist/ansi/utf8.d.ts +15 -0
- package/dist/ansi/utf8.d.ts.map +1 -0
- package/dist/ansi/utf8.js +82 -0
- package/dist/ansi/utf8.js.map +1 -0
- package/dist/calendar/Calendar.d.ts +136 -0
- package/dist/calendar/Calendar.d.ts.map +1 -0
- package/dist/calendar/Calendar.js +460 -0
- package/dist/calendar/Calendar.js.map +1 -0
- package/dist/calendar/DatePicker.d.ts +52 -0
- package/dist/calendar/DatePicker.d.ts.map +1 -0
- package/dist/calendar/DatePicker.js +257 -0
- package/dist/calendar/DatePicker.js.map +1 -0
- package/dist/calendar/dates.d.ts +90 -0
- package/dist/calendar/dates.d.ts.map +1 -0
- package/dist/calendar/dates.js +236 -0
- package/dist/calendar/dates.js.map +1 -0
- package/dist/calendar/index.d.ts +8 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/index.js +15 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/charts/components.d.ts +141 -0
- package/dist/charts/components.d.ts.map +1 -0
- package/dist/charts/components.js +580 -0
- package/dist/charts/components.js.map +1 -0
- package/dist/charts/data.d.ts +198 -0
- package/dist/charts/data.d.ts.map +1 -0
- package/dist/charts/data.js +616 -0
- package/dist/charts/data.js.map +1 -0
- package/dist/charts/hx.d.ts +21 -0
- package/dist/charts/hx.d.ts.map +1 -0
- package/dist/charts/hx.js +15 -0
- package/dist/charts/hx.js.map +1 -0
- package/dist/charts/index.d.ts +27 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +38 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/charts/node.d.ts +96 -0
- package/dist/charts/node.d.ts.map +1 -0
- package/dist/charts/node.js +720 -0
- package/dist/charts/node.js.map +1 -0
- package/dist/charts/render.d.ts +153 -0
- package/dist/charts/render.d.ts.map +1 -0
- package/dist/charts/render.js +762 -0
- package/dist/charts/render.js.map +1 -0
- package/dist/charts/scale.d.ts +42 -0
- package/dist/charts/scale.d.ts.map +1 -0
- package/dist/charts/scale.js +173 -0
- package/dist/charts/scale.js.map +1 -0
- package/dist/charts/spec.d.ts +91 -0
- package/dist/charts/spec.d.ts.map +1 -0
- package/dist/charts/spec.js +33 -0
- package/dist/charts/spec.js.map +1 -0
- package/dist/charts/timers.d.ts +6 -0
- package/dist/charts/timers.d.ts.map +1 -0
- package/dist/charts/timers.js +14 -0
- package/dist/charts/timers.js.map +1 -0
- package/dist/code/hx.d.ts +24 -0
- package/dist/code/hx.d.ts.map +1 -0
- package/dist/code/hx.js +25 -0
- package/dist/code/hx.js.map +1 -0
- package/dist/code/index.d.ts +45 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/index.js +93 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code-editor/completion.d.ts +26 -0
- package/dist/code-editor/completion.d.ts.map +1 -0
- package/dist/code-editor/completion.js +129 -0
- package/dist/code-editor/completion.js.map +1 -0
- package/dist/code-editor/doc.d.ts +35 -0
- package/dist/code-editor/doc.d.ts.map +1 -0
- package/dist/code-editor/doc.js +162 -0
- package/dist/code-editor/doc.js.map +1 -0
- package/dist/code-editor/hx.d.ts +13 -0
- package/dist/code-editor/hx.d.ts.map +1 -0
- package/dist/code-editor/hx.js +10 -0
- package/dist/code-editor/hx.js.map +1 -0
- package/dist/code-editor/index.d.ts +88 -0
- package/dist/code-editor/index.d.ts.map +1 -0
- package/dist/code-editor/index.js +401 -0
- package/dist/code-editor/index.js.map +1 -0
- package/dist/code-editor/node.d.ts +343 -0
- package/dist/code-editor/node.d.ts.map +1 -0
- package/dist/code-editor/node.js +1521 -0
- package/dist/code-editor/node.js.map +1 -0
- package/dist/code-language/hljs.d.ts +47 -0
- package/dist/code-language/hljs.d.ts.map +1 -0
- package/dist/code-language/hljs.js +211 -0
- package/dist/code-language/hljs.js.map +1 -0
- package/dist/code-language/index.d.ts +22 -0
- package/dist/code-language/index.d.ts.map +1 -0
- package/dist/code-language/index.js +20 -0
- package/dist/code-language/index.js.map +1 -0
- package/dist/code-language/languages/glsl.d.ts +4 -0
- package/dist/code-language/languages/glsl.d.ts.map +1 -0
- package/dist/code-language/languages/glsl.js +99 -0
- package/dist/code-language/languages/glsl.js.map +1 -0
- package/dist/code-language/languages/javascript.d.ts +10 -0
- package/dist/code-language/languages/javascript.d.ts.map +1 -0
- package/dist/code-language/languages/javascript.js +360 -0
- package/dist/code-language/languages/javascript.js.map +1 -0
- package/dist/code-language/languages/json.d.ts +4 -0
- package/dist/code-language/languages/json.d.ts.map +1 -0
- package/dist/code-language/languages/json.js +68 -0
- package/dist/code-language/languages/json.js.map +1 -0
- package/dist/code-language/languages/shell.d.ts +4 -0
- package/dist/code-language/languages/shell.d.ts.map +1 -0
- package/dist/code-language/languages/shell.js +189 -0
- package/dist/code-language/languages/shell.js.map +1 -0
- package/dist/code-language/languages/sql.d.ts +11 -0
- package/dist/code-language/languages/sql.d.ts.map +1 -0
- package/dist/code-language/languages/sql.js +133 -0
- package/dist/code-language/languages/sql.js.map +1 -0
- package/dist/code-language/lezer.d.ts +24 -0
- package/dist/code-language/lezer.d.ts.map +1 -0
- package/dist/code-language/lezer.js +148 -0
- package/dist/code-language/lezer.js.map +1 -0
- package/dist/code-language/registry.d.ts +19 -0
- package/dist/code-language/registry.d.ts.map +1 -0
- package/dist/code-language/registry.js +56 -0
- package/dist/code-language/registry.js.map +1 -0
- package/dist/code-language/runs.d.ts +35 -0
- package/dist/code-language/runs.d.ts.map +1 -0
- package/dist/code-language/runs.js +88 -0
- package/dist/code-language/runs.js.map +1 -0
- package/dist/code-language/stream.d.ts +70 -0
- package/dist/code-language/stream.d.ts.map +1 -0
- package/dist/code-language/stream.js +243 -0
- package/dist/code-language/stream.js.map +1 -0
- package/dist/code-language/textmate.d.ts +27 -0
- package/dist/code-language/textmate.d.ts.map +1 -0
- package/dist/code-language/textmate.js +86 -0
- package/dist/code-language/textmate.js.map +1 -0
- package/dist/code-language/theme.d.ts +26 -0
- package/dist/code-language/theme.d.ts.map +1 -0
- package/dist/code-language/theme.js +108 -0
- package/dist/code-language/theme.js.map +1 -0
- package/dist/code-language/timers.d.ts +7 -0
- package/dist/code-language/timers.d.ts.map +1 -0
- package/dist/code-language/timers.js +22 -0
- package/dist/code-language/timers.js.map +1 -0
- package/dist/code-language/types.d.ts +173 -0
- package/dist/code-language/types.d.ts.map +1 -0
- package/dist/code-language/types.js +41 -0
- package/dist/code-language/types.js.map +1 -0
- package/dist/codeblock/index.d.ts +69 -0
- package/dist/codeblock/index.d.ts.map +1 -0
- package/dist/codeblock/index.js +85 -0
- package/dist/codeblock/index.js.map +1 -0
- package/dist/color-picker/ColorField.d.ts +39 -0
- package/dist/color-picker/ColorField.d.ts.map +1 -0
- package/dist/color-picker/ColorField.js +239 -0
- package/dist/color-picker/ColorField.js.map +1 -0
- package/dist/color-picker/ColorPicker.d.ts +109 -0
- package/dist/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/color-picker/ColorPicker.js +757 -0
- package/dist/color-picker/ColorPicker.js.map +1 -0
- package/dist/color-picker/color.d.ts +105 -0
- package/dist/color-picker/color.d.ts.map +1 -0
- package/dist/color-picker/color.js +313 -0
- package/dist/color-picker/color.js.map +1 -0
- package/dist/color-picker/index.d.ts +8 -0
- package/dist/color-picker/index.d.ts.map +1 -0
- package/dist/color-picker/index.js +19 -0
- package/dist/color-picker/index.js.map +1 -0
- package/dist/desktop-calendar/eds.d.ts +102 -0
- package/dist/desktop-calendar/eds.d.ts.map +1 -0
- package/dist/desktop-calendar/eds.js +356 -0
- package/dist/desktop-calendar/eds.js.map +1 -0
- package/dist/desktop-calendar/ical.d.ts +63 -0
- package/dist/desktop-calendar/ical.d.ts.map +1 -0
- package/dist/desktop-calendar/ical.js +57 -0
- package/dist/desktop-calendar/ical.js.map +1 -0
- package/dist/desktop-calendar/index.d.ts +72 -0
- package/dist/desktop-calendar/index.d.ts.map +1 -0
- package/dist/desktop-calendar/index.js +213 -0
- package/dist/desktop-calendar/index.js.map +1 -0
- package/dist/embed/client.d.ts +121 -0
- package/dist/embed/client.d.ts.map +1 -0
- package/dist/embed/client.js +203 -0
- package/dist/embed/client.js.map +1 -0
- package/dist/embed/host.d.ts +96 -0
- package/dist/embed/host.d.ts.map +1 -0
- package/dist/embed/host.js +266 -0
- package/dist/embed/host.js.map +1 -0
- package/dist/embed/index.d.ts +5 -0
- package/dist/embed/index.d.ts.map +1 -0
- package/dist/embed/index.js +13 -0
- package/dist/embed/index.js.map +1 -0
- package/dist/embed/timers.d.ts +6 -0
- package/dist/embed/timers.d.ts.map +1 -0
- package/dist/embed/timers.js +16 -0
- package/dist/embed/timers.js.map +1 -0
- package/dist/flow/draw.d.ts +45 -0
- package/dist/flow/draw.d.ts.map +1 -0
- package/dist/flow/draw.js +295 -0
- package/dist/flow/draw.js.map +1 -0
- package/dist/flow/index.d.ts +64 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +306 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/model.d.ts +158 -0
- package/dist/flow/model.d.ts.map +1 -0
- package/dist/flow/model.js +566 -0
- package/dist/flow/model.js.map +1 -0
- package/dist/flow/node.d.ts +429 -0
- package/dist/flow/node.d.ts.map +1 -0
- package/dist/flow/node.js +3025 -0
- package/dist/flow/node.js.map +1 -0
- package/dist/flow/paths.d.ts +43 -0
- package/dist/flow/paths.d.ts.map +1 -0
- package/dist/flow/paths.js +327 -0
- package/dist/flow/paths.js.map +1 -0
- package/dist/flow/types.d.ts +561 -0
- package/dist/flow/types.d.ts.map +1 -0
- package/dist/flow/types.js +2 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/formula/hx.d.ts +24 -0
- package/dist/formula/hx.d.ts.map +1 -0
- package/dist/formula/hx.js +25 -0
- package/dist/formula/hx.js.map +1 -0
- package/dist/formula/index.d.ts +74 -0
- package/dist/formula/index.d.ts.map +1 -0
- package/dist/formula/index.js +155 -0
- package/dist/formula/index.js.map +1 -0
- package/dist/formula/katex.d.ts +78 -0
- package/dist/formula/katex.d.ts.map +1 -0
- package/dist/formula/katex.js +130 -0
- package/dist/formula/katex.js.map +1 -0
- package/dist/formula/layout.d.ts +103 -0
- package/dist/formula/layout.d.ts.map +1 -0
- package/dist/formula/layout.js +716 -0
- package/dist/formula/layout.js.map +1 -0
- package/dist/formula/node.d.ts +50 -0
- package/dist/formula/node.d.ts.map +1 -0
- package/dist/formula/node.js +351 -0
- package/dist/formula/node.js.map +1 -0
- package/dist/html/controls.d.ts +48 -0
- package/dist/html/controls.d.ts.map +1 -0
- package/dist/html/controls.js +195 -0
- package/dist/html/controls.js.map +1 -0
- package/dist/html/css/cascade.d.ts +51 -0
- package/dist/html/css/cascade.d.ts.map +1 -0
- package/dist/html/css/cascade.js +552 -0
- package/dist/html/css/cascade.js.map +1 -0
- package/dist/html/css/parse.d.ts +74 -0
- package/dist/html/css/parse.d.ts.map +1 -0
- package/dist/html/css/parse.js +464 -0
- package/dist/html/css/parse.js.map +1 -0
- package/dist/html/css/style.d.ts +142 -0
- package/dist/html/css/style.d.ts.map +1 -0
- package/dist/html/css/style.js +1145 -0
- package/dist/html/css/style.js.map +1 -0
- package/dist/html/css/ua.d.ts +5 -0
- package/dist/html/css/ua.d.ts.map +1 -0
- package/dist/html/css/ua.js +171 -0
- package/dist/html/css/ua.js.map +1 -0
- package/dist/html/css/values.d.ts +78 -0
- package/dist/html/css/values.d.ts.map +1 -0
- package/dist/html/css/values.js +330 -0
- package/dist/html/css/values.js.map +1 -0
- package/dist/html/dom.d.ts +112 -0
- package/dist/html/dom.d.ts.map +1 -0
- package/dist/html/dom.js +374 -0
- package/dist/html/dom.js.map +1 -0
- package/dist/html/hx.d.ts +24 -0
- package/dist/html/hx.d.ts.map +1 -0
- package/dist/html/hx.js +29 -0
- package/dist/html/hx.js.map +1 -0
- package/dist/html/index.d.ts +137 -0
- package/dist/html/index.d.ts.map +1 -0
- package/dist/html/index.js +339 -0
- package/dist/html/index.js.map +1 -0
- package/dist/html/layout/block.d.ts +58 -0
- package/dist/html/layout/block.d.ts.map +1 -0
- package/dist/html/layout/block.js +724 -0
- package/dist/html/layout/block.js.map +1 -0
- package/dist/html/layout/boxes.d.ts +261 -0
- package/dist/html/layout/boxes.d.ts.map +1 -0
- package/dist/html/layout/boxes.js +725 -0
- package/dist/html/layout/boxes.js.map +1 -0
- package/dist/html/layout/flex.d.ts +16 -0
- package/dist/html/layout/flex.d.ts.map +1 -0
- package/dist/html/layout/flex.js +242 -0
- package/dist/html/layout/flex.js.map +1 -0
- package/dist/html/layout/floats.d.ts +50 -0
- package/dist/html/layout/floats.d.ts.map +1 -0
- package/dist/html/layout/floats.js +110 -0
- package/dist/html/layout/floats.js.map +1 -0
- package/dist/html/layout/inline.d.ts +44 -0
- package/dist/html/layout/inline.d.ts.map +1 -0
- package/dist/html/layout/inline.js +700 -0
- package/dist/html/layout/inline.js.map +1 -0
- package/dist/html/layout/table.d.ts +5 -0
- package/dist/html/layout/table.d.ts.map +1 -0
- package/dist/html/layout/table.js +340 -0
- package/dist/html/layout/table.js.map +1 -0
- package/dist/html/node.d.ts +149 -0
- package/dist/html/node.d.ts.map +1 -0
- package/dist/html/node.js +861 -0
- package/dist/html/node.js.map +1 -0
- package/dist/html/paint.d.ts +48 -0
- package/dist/html/paint.d.ts.map +1 -0
- package/dist/html/paint.js +495 -0
- package/dist/html/paint.js.map +1 -0
- package/dist/html/resources.d.ts +48 -0
- package/dist/html/resources.d.ts.map +1 -0
- package/dist/html/resources.js +156 -0
- package/dist/html/resources.js.map +1 -0
- package/dist/index.d.ts +48 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +92 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/heights.d.ts +81 -0
- package/dist/internal/heights.d.ts.map +1 -0
- package/dist/internal/heights.js +193 -0
- package/dist/internal/heights.js.map +1 -0
- package/dist/internal/hx.d.ts +24 -0
- package/dist/internal/hx.d.ts.map +1 -0
- package/dist/internal/hx.js +27 -0
- package/dist/internal/hx.js.map +1 -0
- package/dist/internal/text.d.ts +6 -0
- package/dist/internal/text.d.ts.map +1 -0
- package/dist/internal/text.js +44 -0
- package/dist/internal/text.js.map +1 -0
- package/dist/internal/timers.d.ts +8 -0
- package/dist/internal/timers.d.ts.map +1 -0
- package/dist/internal/timers.js +22 -0
- package/dist/internal/timers.js.map +1 -0
- package/dist/internal/widget.d.ts +40 -0
- package/dist/internal/widget.d.ts.map +1 -0
- package/dist/internal/widget.js +44 -0
- package/dist/internal/widget.js.map +1 -0
- package/dist/markdown/ast.d.ts +126 -0
- package/dist/markdown/ast.d.ts.map +1 -0
- package/dist/markdown/ast.js +8 -0
- package/dist/markdown/ast.js.map +1 -0
- package/dist/markdown/hx.d.ts +24 -0
- package/dist/markdown/hx.d.ts.map +1 -0
- package/dist/markdown/hx.js +25 -0
- package/dist/markdown/hx.js.map +1 -0
- package/dist/markdown/index.d.ts +90 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +413 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/parse.d.ts +8 -0
- package/dist/markdown/parse.d.ts.map +1 -0
- package/dist/markdown/parse.js +911 -0
- package/dist/markdown/parse.js.map +1 -0
- package/dist/markdown/spans.d.ts +20 -0
- package/dist/markdown/spans.d.ts.map +1 -0
- package/dist/markdown/spans.js +96 -0
- package/dist/markdown/spans.js.map +1 -0
- package/dist/media-player/backends.d.ts +64 -0
- package/dist/media-player/backends.d.ts.map +1 -0
- package/dist/media-player/backends.js +110 -0
- package/dist/media-player/backends.js.map +1 -0
- package/dist/media-player/control.d.ts +40 -0
- package/dist/media-player/control.d.ts.map +1 -0
- package/dist/media-player/control.js +44 -0
- package/dist/media-player/control.js.map +1 -0
- package/dist/media-player/hx.d.ts +24 -0
- package/dist/media-player/hx.d.ts.map +1 -0
- package/dist/media-player/hx.js +25 -0
- package/dist/media-player/hx.js.map +1 -0
- package/dist/media-player/index.d.ts +107 -0
- package/dist/media-player/index.d.ts.map +1 -0
- package/dist/media-player/index.js +219 -0
- package/dist/media-player/index.js.map +1 -0
- package/dist/media-player/mpv.d.ts +4 -0
- package/dist/media-player/mpv.d.ts.map +1 -0
- package/dist/media-player/mpv.js +120 -0
- package/dist/media-player/mpv.js.map +1 -0
- package/dist/media-player/vlc.d.ts +8 -0
- package/dist/media-player/vlc.d.ts.map +1 -0
- package/dist/media-player/vlc.js +83 -0
- package/dist/media-player/vlc.js.map +1 -0
- package/dist/richtext/index.d.ts +19 -0
- package/dist/richtext/index.d.ts.map +1 -0
- package/dist/richtext/index.js +4 -0
- package/dist/richtext/index.js.map +1 -0
- package/dist/richtext/links.d.ts +12 -0
- package/dist/richtext/links.d.ts.map +1 -0
- package/dist/richtext/links.js +64 -0
- package/dist/richtext/links.js.map +1 -0
- package/dist/richtext/menu.d.ts +11 -0
- package/dist/richtext/menu.d.ts.map +1 -0
- package/dist/richtext/menu.js +43 -0
- package/dist/richtext/menu.js.map +1 -0
- package/dist/richtext/node.d.ts +151 -0
- package/dist/richtext/node.d.ts.map +1 -0
- package/dist/richtext/node.js +255 -0
- package/dist/richtext/node.js.map +1 -0
- package/dist/richtext/runs.d.ts +92 -0
- package/dist/richtext/runs.d.ts.map +1 -0
- package/dist/richtext/runs.js +158 -0
- package/dist/richtext/runs.js.map +1 -0
- package/dist/table/hx.d.ts +24 -0
- package/dist/table/hx.d.ts.map +1 -0
- package/dist/table/hx.js +25 -0
- package/dist/table/hx.js.map +1 -0
- package/dist/table/index.d.ts +169 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +844 -0
- package/dist/table/index.js.map +1 -0
- package/dist/table/rows.d.ts +136 -0
- package/dist/table/rows.d.ts.map +1 -0
- package/dist/table/rows.js +146 -0
- package/dist/table/rows.js.map +1 -0
- package/dist/terminal/backends.d.ts +105 -0
- package/dist/terminal/backends.d.ts.map +1 -0
- package/dist/terminal/backends.js +185 -0
- package/dist/terminal/backends.js.map +1 -0
- package/dist/terminal/hx.d.ts +24 -0
- package/dist/terminal/hx.d.ts.map +1 -0
- package/dist/terminal/hx.js +25 -0
- package/dist/terminal/hx.js.map +1 -0
- package/dist/terminal/index.d.ts +160 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +344 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/terminal/title.d.ts +24 -0
- package/dist/terminal/title.d.ts.map +1 -0
- package/dist/terminal/title.js +129 -0
- package/dist/terminal/title.js.map +1 -0
- package/dist/terminal/vt/colors.d.ts +63 -0
- package/dist/terminal/vt/colors.d.ts.map +1 -0
- package/dist/terminal/vt/colors.js +203 -0
- package/dist/terminal/vt/colors.js.map +1 -0
- package/dist/terminal/vt/diff.d.ts +117 -0
- package/dist/terminal/vt/diff.d.ts.map +1 -0
- package/dist/terminal/vt/diff.js +358 -0
- package/dist/terminal/vt/diff.js.map +1 -0
- package/dist/terminal/vt/fonts.d.ts +92 -0
- package/dist/terminal/vt/fonts.d.ts.map +1 -0
- package/dist/terminal/vt/fonts.js +178 -0
- package/dist/terminal/vt/fonts.js.map +1 -0
- package/dist/terminal/vt/index.d.ts +78 -0
- package/dist/terminal/vt/index.d.ts.map +1 -0
- package/dist/terminal/vt/index.js +312 -0
- package/dist/terminal/vt/index.js.map +1 -0
- package/dist/terminal/vt/keys.d.ts +74 -0
- package/dist/terminal/vt/keys.d.ts.map +1 -0
- package/dist/terminal/vt/keys.js +309 -0
- package/dist/terminal/vt/keys.js.map +1 -0
- package/dist/terminal/vt/mouse.d.ts +44 -0
- package/dist/terminal/vt/mouse.d.ts.map +1 -0
- package/dist/terminal/vt/mouse.js +106 -0
- package/dist/terminal/vt/mouse.js.map +1 -0
- package/dist/terminal/vt/node.d.ts +246 -0
- package/dist/terminal/vt/node.d.ts.map +1 -0
- package/dist/terminal/vt/node.js +1068 -0
- package/dist/terminal/vt/node.js.map +1 -0
- package/dist/terminal/vt/pty.d.ts +81 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -0
- package/dist/terminal/vt/pty.js +201 -0
- package/dist/terminal/vt/pty.js.map +1 -0
- package/dist/terminal/vt/renderer.d.ts +179 -0
- package/dist/terminal/vt/renderer.d.ts.map +1 -0
- package/dist/terminal/vt/renderer.js +357 -0
- package/dist/terminal/vt/renderer.js.map +1 -0
- package/dist/terminal/vt/timers.d.ts +6 -0
- package/dist/terminal/vt/timers.d.ts.map +1 -0
- package/dist/terminal/vt/timers.js +16 -0
- package/dist/terminal/vt/timers.js.map +1 -0
- package/dist/terminal/vt/xterm.d.ts +142 -0
- package/dist/terminal/vt/xterm.d.ts.map +1 -0
- package/dist/terminal/vt/xterm.js +32 -0
- package/dist/terminal/vt/xterm.js.map +1 -0
- package/dist/terminal-output/hx.d.ts +24 -0
- package/dist/terminal-output/hx.d.ts.map +1 -0
- package/dist/terminal-output/hx.js +25 -0
- package/dist/terminal-output/hx.js.map +1 -0
- package/dist/terminal-output/index.d.ts +92 -0
- package/dist/terminal-output/index.d.ts.map +1 -0
- package/dist/terminal-output/index.js +179 -0
- package/dist/terminal-output/index.js.map +1 -0
- package/dist/terminal-output/runs.d.ts +27 -0
- package/dist/terminal-output/runs.d.ts.map +1 -0
- package/dist/terminal-output/runs.js +66 -0
- package/dist/terminal-output/runs.js.map +1 -0
- package/dist/three/canvas.d.ts +46 -0
- package/dist/three/canvas.d.ts.map +1 -0
- package/dist/three/canvas.js +305 -0
- package/dist/three/canvas.js.map +1 -0
- package/dist/three/events.d.ts +64 -0
- package/dist/three/events.d.ts.map +1 -0
- package/dist/three/events.js +146 -0
- package/dist/three/events.js.map +1 -0
- package/dist/three/geometries.d.ts +89 -0
- package/dist/three/geometries.d.ts.map +1 -0
- package/dist/three/geometries.js +345 -0
- package/dist/three/geometries.js.map +1 -0
- package/dist/three/globals.d.ts +7 -0
- package/dist/three/globals.d.ts.map +1 -0
- package/dist/three/globals.js +20 -0
- package/dist/three/globals.js.map +1 -0
- package/dist/three/hx.d.ts +9 -0
- package/dist/three/hx.d.ts.map +1 -0
- package/dist/three/hx.js +10 -0
- package/dist/three/hx.js.map +1 -0
- package/dist/three/index.d.ts +22 -0
- package/dist/three/index.d.ts.map +1 -0
- package/dist/three/index.js +24 -0
- package/dist/three/index.js.map +1 -0
- package/dist/three/jsx-dev-runtime.d.ts +19 -0
- package/dist/three/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/three/jsx-dev-runtime.js +2 -0
- package/dist/three/jsx-dev-runtime.js.map +1 -0
- package/dist/three/jsx-runtime.d.ts +19 -0
- package/dist/three/jsx-runtime.d.ts.map +1 -0
- package/dist/three/jsx-runtime.js +2 -0
- package/dist/three/jsx-runtime.js.map +1 -0
- package/dist/three/jsx.d.ts +198 -0
- package/dist/three/jsx.d.ts.map +1 -0
- package/dist/three/jsx.js +2 -0
- package/dist/three/jsx.js.map +1 -0
- package/dist/three/materials.d.ts +125 -0
- package/dist/three/materials.d.ts.map +1 -0
- package/dist/three/materials.js +229 -0
- package/dist/three/materials.js.map +1 -0
- package/dist/three/math.d.ts +146 -0
- package/dist/three/math.d.ts.map +1 -0
- package/dist/three/math.js +464 -0
- package/dist/three/math.js.map +1 -0
- package/dist/three/objects.d.ts +185 -0
- package/dist/three/objects.d.ts.map +1 -0
- package/dist/three/objects.js +309 -0
- package/dist/three/objects.js.map +1 -0
- package/dist/three/passes.d.ts +54 -0
- package/dist/three/passes.d.ts.map +1 -0
- package/dist/three/passes.js +78 -0
- package/dist/three/passes.js.map +1 -0
- package/dist/three/postprocess.d.ts +85 -0
- package/dist/three/postprocess.d.ts.map +1 -0
- package/dist/three/postprocess.js +503 -0
- package/dist/three/postprocess.js.map +1 -0
- package/dist/three/raycast.d.ts +24 -0
- package/dist/three/raycast.d.ts.map +1 -0
- package/dist/three/raycast.js +138 -0
- package/dist/three/raycast.js.map +1 -0
- package/dist/three/reconciler.d.ts +48 -0
- package/dist/three/reconciler.d.ts.map +1 -0
- package/dist/three/reconciler.js +416 -0
- package/dist/three/reconciler.js.map +1 -0
- package/dist/three/renderer-direct.d.ts +102 -0
- package/dist/three/renderer-direct.d.ts.map +1 -0
- package/dist/three/renderer-direct.js +782 -0
- package/dist/three/renderer-direct.js.map +1 -0
- package/dist/three/renderer-indirect.d.ts +68 -0
- package/dist/three/renderer-indirect.d.ts.map +1 -0
- package/dist/three/renderer-indirect.js +438 -0
- package/dist/three/renderer-indirect.js.map +1 -0
- package/dist/three/store.d.ts +81 -0
- package/dist/three/store.d.ts.map +1 -0
- package/dist/three/store.js +110 -0
- package/dist/three/store.js.map +1 -0
- package/dist/timeline/hx.d.ts +18 -0
- package/dist/timeline/hx.d.ts.map +1 -0
- package/dist/timeline/hx.js +10 -0
- package/dist/timeline/hx.js.map +1 -0
- package/dist/timeline/index.d.ts +152 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/index.js +383 -0
- package/dist/timeline/index.js.map +1 -0
- package/dist/tray-host/hx.d.ts +24 -0
- package/dist/tray-host/hx.d.ts.map +1 -0
- package/dist/tray-host/hx.js +25 -0
- package/dist/tray-host/hx.js.map +1 -0
- package/dist/tray-host/index.d.ts +110 -0
- package/dist/tray-host/index.d.ts.map +1 -0
- package/dist/tray-host/index.js +191 -0
- package/dist/tray-host/index.js.map +1 -0
- package/dist/tray-host/manager.d.ts +137 -0
- package/dist/tray-host/manager.d.ts.map +1 -0
- package/dist/tray-host/manager.js +462 -0
- package/dist/tray-host/manager.js.map +1 -0
- package/dist/tray-host/notify.d.ts +22 -0
- package/dist/tray-host/notify.d.ts.map +1 -0
- package/dist/tray-host/notify.js +74 -0
- package/dist/tray-host/notify.js.map +1 -0
- package/dist/tray-host/protocol.d.ts +106 -0
- package/dist/tray-host/protocol.d.ts.map +1 -0
- package/dist/tray-host/protocol.js +191 -0
- package/dist/tray-host/protocol.js.map +1 -0
- package/dist/tree/hx.d.ts +24 -0
- package/dist/tree/hx.d.ts.map +1 -0
- package/dist/tree/hx.js +25 -0
- package/dist/tree/hx.js.map +1 -0
- package/dist/tree/index.d.ts +221 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +716 -0
- package/dist/tree/index.js.map +1 -0
- package/dist/tree/internal.d.ts +18 -0
- package/dist/tree/internal.d.ts.map +1 -0
- package/dist/tree/internal.js +66 -0
- package/dist/tree/internal.js.map +1 -0
- package/dist/tree/rows.d.ts +177 -0
- package/dist/tree/rows.d.ts.map +1 -0
- package/dist/tree/rows.js +179 -0
- package/dist/tree/rows.js.map +1 -0
- package/package.json +166 -12
- package/src/ansi/cast.ts +159 -0
- package/src/ansi/index.ts +53 -0
- package/src/ansi/palette.ts +226 -0
- package/src/ansi/parse.ts +780 -0
- package/src/ansi/sgr.ts +380 -0
- package/src/ansi/utf8.ts +84 -0
- package/src/calendar/Calendar.ts +744 -0
- package/src/calendar/DatePicker.ts +368 -0
- package/src/calendar/dates.ts +307 -0
- package/src/calendar/index.ts +51 -0
- package/src/charts/components.ts +864 -0
- package/src/charts/data.ts +776 -0
- package/src/charts/hx.ts +39 -0
- package/src/charts/index.ts +99 -0
- package/src/charts/node.ts +932 -0
- package/src/charts/render.ts +982 -0
- package/src/charts/scale.ts +214 -0
- package/src/charts/spec.ts +122 -0
- package/src/charts/timers.ts +24 -0
- package/src/code/hx.ts +51 -0
- package/src/code/index.ts +174 -0
- package/src/code-editor/completion.ts +161 -0
- package/src/code-editor/doc.ts +198 -0
- package/src/code-editor/hx.ts +26 -0
- package/src/code-editor/index.ts +615 -0
- package/src/code-editor/node.ts +1926 -0
- package/src/code-language/hljs.ts +302 -0
- package/src/code-language/index.ts +51 -0
- package/src/code-language/languages/glsl.ts +120 -0
- package/src/code-language/languages/javascript.ts +419 -0
- package/src/code-language/languages/json.ts +72 -0
- package/src/code-language/languages/shell.ts +221 -0
- package/src/code-language/languages/sql.ts +165 -0
- package/src/code-language/lezer.ts +190 -0
- package/src/code-language/registry.ts +66 -0
- package/src/code-language/runs.ts +128 -0
- package/src/code-language/stream.ts +306 -0
- package/src/code-language/textmate.ts +134 -0
- package/src/code-language/theme.ts +124 -0
- package/src/code-language/timers.ts +36 -0
- package/src/code-language/types.ts +252 -0
- package/src/codeblock/index.ts +146 -0
- package/src/color-picker/ColorField.ts +333 -0
- package/src/color-picker/ColorPicker.ts +1069 -0
- package/src/color-picker/color.ts +399 -0
- package/src/color-picker/index.ts +50 -0
- package/src/desktop-calendar/eds.ts +484 -0
- package/src/desktop-calendar/ical.ts +119 -0
- package/src/desktop-calendar/index.ts +287 -0
- package/src/embed/client.ts +311 -0
- package/src/embed/host.ts +432 -0
- package/src/embed/index.ts +33 -0
- package/src/embed/timers.ts +32 -0
- package/src/flow/draw.ts +418 -0
- package/src/flow/index.ts +473 -0
- package/src/flow/model.ts +687 -0
- package/src/flow/node.ts +3694 -0
- package/src/flow/paths.ts +403 -0
- package/src/flow/types.ts +634 -0
- package/src/formula/hx.ts +51 -0
- package/src/formula/index.ts +243 -0
- package/src/formula/katex.ts +209 -0
- package/src/formula/layout.ts +876 -0
- package/src/formula/node.ts +467 -0
- package/src/html/controls.ts +244 -0
- package/src/html/css/cascade.ts +606 -0
- package/src/html/css/parse.ts +500 -0
- package/src/html/css/style.ts +1371 -0
- package/src/html/css/ua.ts +174 -0
- package/src/html/css/values.ts +358 -0
- package/src/html/dom.ts +410 -0
- package/src/html/hx.ts +55 -0
- package/src/html/index.ts +545 -0
- package/src/html/layout/block.ts +876 -0
- package/src/html/layout/boxes.ts +981 -0
- package/src/html/layout/flex.ts +297 -0
- package/src/html/layout/floats.ts +125 -0
- package/src/html/layout/inline.ts +870 -0
- package/src/html/layout/table.ts +380 -0
- package/src/html/node.ts +967 -0
- package/src/html/paint.ts +605 -0
- package/src/html/resources.ts +214 -0
- package/src/index.ts +638 -0
- package/src/internal/heights.ts +211 -0
- package/src/internal/hx.ts +53 -0
- package/src/internal/text.ts +44 -0
- package/src/internal/timers.ts +44 -0
- package/src/internal/widget.ts +92 -0
- package/src/markdown/ast.ts +163 -0
- package/src/markdown/hx.ts +51 -0
- package/src/markdown/index.ts +686 -0
- package/src/markdown/parse.ts +1037 -0
- package/src/markdown/spans.ts +143 -0
- package/src/media-player/backends.ts +155 -0
- package/src/media-player/control.ts +70 -0
- package/src/media-player/hx.ts +51 -0
- package/src/media-player/index.ts +378 -0
- package/src/media-player/mpv.ts +146 -0
- package/src/media-player/vlc.ts +97 -0
- package/src/richtext/index.ts +42 -0
- package/src/richtext/links.ts +78 -0
- package/src/richtext/menu.ts +49 -0
- package/src/richtext/node.ts +406 -0
- package/src/richtext/runs.ts +253 -0
- package/src/table/hx.ts +51 -0
- package/src/table/index.ts +1219 -0
- package/src/table/rows.ts +275 -0
- package/src/terminal/backends.ts +242 -0
- package/src/terminal/hx.ts +51 -0
- package/src/terminal/index.ts +574 -0
- package/src/terminal/title.ts +172 -0
- package/src/terminal/vt/colors.ts +247 -0
- package/src/terminal/vt/diff.ts +467 -0
- package/src/terminal/vt/fonts.ts +233 -0
- package/src/terminal/vt/index.ts +443 -0
- package/src/terminal/vt/keys.ts +369 -0
- package/src/terminal/vt/mouse.ts +144 -0
- package/src/terminal/vt/node.ts +1242 -0
- package/src/terminal/vt/pty.ts +334 -0
- package/src/terminal/vt/renderer.ts +555 -0
- package/src/terminal/vt/timers.ts +31 -0
- package/src/terminal/vt/xterm.ts +193 -0
- package/src/terminal-output/hx.ts +51 -0
- package/src/terminal-output/index.ts +340 -0
- package/src/terminal-output/runs.ts +79 -0
- package/src/three/canvas.ts +451 -0
- package/src/three/events.ts +197 -0
- package/src/three/geometries.ts +429 -0
- package/src/three/globals.ts +34 -0
- package/src/three/hx.ts +22 -0
- package/src/three/index.ts +98 -0
- package/src/three/jsx-dev-runtime.ts +27 -0
- package/src/three/jsx-runtime.ts +38 -0
- package/src/three/jsx.ts +275 -0
- package/src/three/materials.ts +270 -0
- package/src/three/math.ts +585 -0
- package/src/three/objects.ts +397 -0
- package/src/three/passes.ts +90 -0
- package/src/three/postprocess.ts +677 -0
- package/src/three/raycast.ts +189 -0
- package/src/three/react-reconciler.d.ts +50 -0
- package/src/three/reconciler.ts +624 -0
- package/src/three/renderer-direct.ts +1055 -0
- package/src/three/renderer-indirect.ts +570 -0
- package/src/three/store.ts +207 -0
- package/src/timeline/hx.ts +31 -0
- package/src/timeline/index.ts +603 -0
- package/src/tray-host/hx.ts +51 -0
- package/src/tray-host/index.ts +331 -0
- package/src/tray-host/manager.ts +639 -0
- package/src/tray-host/notify.ts +102 -0
- package/src/tray-host/protocol.ts +235 -0
- package/src/tree/hx.ts +51 -0
- package/src/tree/index.ts +1087 -0
- package/src/tree/internal.ts +87 -0
- package/src/tree/rows.ts +334 -0
- package/src/index.d.ts +0 -2
- package/src/index.js +0 -9
- package/src/sparkline/index.d.ts +0 -29
- package/src/sparkline/index.js +0 -50
- package/src/sparkline/node.js +0 -72
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// `React.createElement`, typed against react-x11's host elements.
|
|
2
|
+
//
|
|
3
|
+
// The library writes `h(...)` rather than JSX — a convention inherited from
|
|
4
|
+
// core, and worth keeping so moving code between the two repos stays a
|
|
5
|
+
// rename. But `React.createElement`'s own overloads are `@types/react`'s, and
|
|
6
|
+
// they describe the DOM: a `<box onKeyDown>` handler is checked against
|
|
7
|
+
// React's `KeyboardEvent`, not react-x11's, and the whole props object is
|
|
8
|
+
// measured against `DOMAttributes`. Everything interesting fails.
|
|
9
|
+
//
|
|
10
|
+
// So the element name is looked up in react-x11's own element table instead.
|
|
11
|
+
// `hx('box', …)` gets `<box>`'s real props — `ev.keysym` on a key handler,
|
|
12
|
+
// `onDraw` on a `<canvas>` — and `hx('div', …)` is an error, which is the
|
|
13
|
+
// same guarantee the JSX namespace gives `examples/` and `test/types/`.
|
|
14
|
+
import React from 'react';
|
|
15
|
+
export function hx(type,
|
|
16
|
+
// `theme` is dropped from the element's own props before the merge:
|
|
17
|
+
// `<window>` and `<popup>` already declare it, narrower, and intersecting
|
|
18
|
+
// the two would demand a value satisfying both.
|
|
19
|
+
props, ...children) {
|
|
20
|
+
// The cast is the whole point of the wrapper: `createElement`'s string
|
|
21
|
+
// overload insists on DOM props, and the signature above has already
|
|
22
|
+
// checked these against the element that will actually receive them.
|
|
23
|
+
return React.createElement(type, props, ...children);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=hx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hx.js","sourceRoot":"","sources":["../../src/markdown/hx.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,8EAA8E;AAC9E,wEAAwE;AACxE,0EAA0E;AAC1E,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,MAAM,UAAU,EAAE,CAChB,IAAO;AACP,oEAAoE;AACpE,0EAA0E;AAC1E,gDAAgD;AAChD,KAAqD,EACrD,GAAG,QAAqB;IAExB,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,OAAO,KAAK,CAAC,aAAa,CAAC,IAAc,EAAE,KAAc,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from 'react';
|
|
2
|
+
import type { DrawnNode, MouseEvent as X11MouseEvent } from 'react-x11';
|
|
3
|
+
import type { Style } from 'react-x11/style';
|
|
4
|
+
import type { Language } from '../code-language/index.js';
|
|
5
|
+
export type { BlockNode, InlineNode, Document as MarkdownDocument, ParseOptions, } from './ast.js';
|
|
6
|
+
export { parse, parseInline } from './parse.js';
|
|
7
|
+
/** What a fence renderer is handed — see `MarkdownProps.fences`. */
|
|
8
|
+
export interface FenceInfo {
|
|
9
|
+
/** The fence's info string, lowercased — the key it was looked up by. */
|
|
10
|
+
lang: string;
|
|
11
|
+
/** The fence's content, as it stands. */
|
|
12
|
+
text: string;
|
|
13
|
+
/** True while this fence is the live tail of a streaming document —
|
|
14
|
+
* its `text` is still growing. */
|
|
15
|
+
partial: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface MarkdownProps {
|
|
18
|
+
/** The markdown text. Append to it as chunks stream in. */
|
|
19
|
+
source: string;
|
|
20
|
+
/**
|
|
21
|
+
* Whether more source may still arrive (default true). While true, the
|
|
22
|
+
* live tail is rendered friendly: unclosed emphasis/code close
|
|
23
|
+
* implicitly, half-arrived constructs are hidden or held. Set false when
|
|
24
|
+
* the stream ends, and the tail is re-read under final-document rules.
|
|
25
|
+
*/
|
|
26
|
+
partial?: boolean;
|
|
27
|
+
/** Mouse selection, Ctrl+A / Ctrl+C, PRIMARY. Default true. */
|
|
28
|
+
selectable?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* A link was activated. Absent means clicks do nothing — this component
|
|
31
|
+
* never navigates by itself. Images render as their alt text linked to
|
|
32
|
+
* the image source, so they arrive here too.
|
|
33
|
+
*/
|
|
34
|
+
onLink?: (href: string, ev: X11MouseEvent<DrawnNode>) => void;
|
|
35
|
+
/** Base text style. Defaults: theme `fontSize` (14), `sans-serif`. */
|
|
36
|
+
fontSize?: number;
|
|
37
|
+
fontFamily?: string;
|
|
38
|
+
/** Code font. Default `'monospace'` — there is no theme token for it. */
|
|
39
|
+
monoFamily?: string;
|
|
40
|
+
/** Selection band fill. Default: theme accent at 35% opacity. */
|
|
41
|
+
selectionColor?: string;
|
|
42
|
+
/** Syntax colouring in fenced code. Default true. */
|
|
43
|
+
highlight?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* A `Language` for a fence tag the built-in tokenizers do not cover —
|
|
46
|
+
* js/ts/jsx/tsx, json, shell, sql and glsl are built in, and this is where
|
|
47
|
+
* everything else comes from. `hljsLanguage` is the ready-made one:
|
|
48
|
+
*
|
|
49
|
+
* ```tsx
|
|
50
|
+
* import hljs from 'highlight.js/lib/common';
|
|
51
|
+
* <Markdown resolveLanguage={(tag) => hljsLanguage({ hljs, name: tag })} />
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* A tag it does not know is `null`, and the fence paints plain. Give it a
|
|
55
|
+
* stable identity — a new closure per render defeats the block cache, the
|
|
56
|
+
* same way a new `fences` map does.
|
|
57
|
+
*/
|
|
58
|
+
resolveLanguage?: (tag: string) => Language | null;
|
|
59
|
+
/**
|
|
60
|
+
* Custom renderers for fenced blocks, keyed by the fence's language
|
|
61
|
+
* (lowercased). A fence whose language has an entry renders through it
|
|
62
|
+
* instead of as a code block — how a ```math fence becomes a `<Formula>`
|
|
63
|
+
* — and the seam is a map so this component never imports the components
|
|
64
|
+
* it hosts. Streaming keeps working: the live tail's fence re-renders as
|
|
65
|
+
* its text grows, with `partial` true until the document ends. The
|
|
66
|
+
* renderer's text joins the document's selection if what it returns
|
|
67
|
+
* answers core's text accessors (docs/extending.md); it is handed a
|
|
68
|
+
* keyed slot, so it does not need a `key` of its own. Give the map a
|
|
69
|
+
* stable identity — a new object per render defeats the block cache.
|
|
70
|
+
*/
|
|
71
|
+
fences?: Record<string, (fence: FenceInfo) => ReactNode>;
|
|
72
|
+
/** The root `<box>`'s style — width, padding, margins, `overflow`. */
|
|
73
|
+
style?: Style | Style[];
|
|
74
|
+
'data-testname'?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* A markdown document. Feed it a growing `source` while `partial` and it
|
|
78
|
+
* renders each chunk as it arrives without flashing raw syntax; text is
|
|
79
|
+
* selectable across every block — mouse (double/triple click for
|
|
80
|
+
* word/block), Ctrl+A, Ctrl+C, and X11 PRIMARY on release.
|
|
81
|
+
*
|
|
82
|
+
* ```jsx
|
|
83
|
+
* <box style={{ overflow: 'scroll', flexGrow: 1 }}>
|
|
84
|
+
* <Markdown source={streamed} partial={stillStreaming}
|
|
85
|
+
* onLink={(href) => openInBrowser(href)} />
|
|
86
|
+
* </box>
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function Markdown(props: MarkdownProps): ReactElement;
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAsB7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAQ1D,YAAY,EACV,SAAS,EACT,UAAU,EACV,QAAQ,IAAI,gBAAgB,EAC5B,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYhD,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb;uCACmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC9D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IACnD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;IACzD,sEAAsE;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8YD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAiH3D"}
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
// <Markdown> — a streaming-friendly GFM renderer with selection, built the
|
|
2
|
+
// way this package builds everything: composition over public host
|
|
3
|
+
// elements, plus one registered element of its own.
|
|
4
|
+
//
|
|
5
|
+
// **Why not ntk's MarkdownView / HtmlView** (both deprecated): they render
|
|
6
|
+
// a whole document as one opaque widget, which forecloses the two things
|
|
7
|
+
// this component exists for — cross-block text selection (their layout
|
|
8
|
+
// items are unreachable) and per-block streaming updates (any edit relaid
|
|
9
|
+
// the whole document). **Why not Streamdown** (evaluated first): its
|
|
10
|
+
// pipeline is remark → rehype → DOM with Tailwind classes — an HTML pass
|
|
11
|
+
// and a DOM renderer, neither of which exists here. What was worth taking
|
|
12
|
+
// was taken: its `remend` package's unterminated-markdown behaviour is
|
|
13
|
+
// implemented natively by `parse.ts`, as parser tolerance rather than a
|
|
14
|
+
// repair pre-pass (one pass instead of repair-then-reparse).
|
|
15
|
+
//
|
|
16
|
+
// So: `parse.ts` → AST → this file renders `<box>` structure with one
|
|
17
|
+
// `<richtext>` per run of inline text, inside one `selectable` root. During
|
|
18
|
+
// streaming, every top-level block whose raw source did not change renders
|
|
19
|
+
// from a cache keyed on that raw text, so appending to the tail re-renders
|
|
20
|
+
// the tail alone.
|
|
21
|
+
//
|
|
22
|
+
// **What the selection costs this file: nothing.** react-x11#291 made it a
|
|
23
|
+
// core service, so a drag across blocks, the word and block granularities,
|
|
24
|
+
// Ctrl+A, Ctrl+C and PRIMARY all arrive with the `selectable` prop on the
|
|
25
|
+
// root. What a copy assembles comes from the *layout* — two blocks sharing
|
|
26
|
+
// a band of pixels are joined with a tab, one below the last with a newline
|
|
27
|
+
// — which is what a table's cells and rows already are on screen, so the
|
|
28
|
+
// separator plumbing this renderer used to thread through every cell and
|
|
29
|
+
// list line is gone. What is left to say is which parts are not text a
|
|
30
|
+
// reader wants: the list markers, with `selectable={false}`.
|
|
31
|
+
//
|
|
32
|
+
// **MDX (planned, not implemented):** the AST reserves a `component` node
|
|
33
|
+
// and the renderer keeps a components-map seam; because a document here is
|
|
34
|
+
// ordinary React composition — not a painted widget — interleaving user
|
|
35
|
+
// components is structurally possible, in streaming mode too (a pending
|
|
36
|
+
// component tag is just one more held-back tail). The parser is the only
|
|
37
|
+
// part that would grow. A user component's text joins the selection by
|
|
38
|
+
// answering the four accessors in core's docs/extending.md, with nothing to
|
|
39
|
+
// register.
|
|
40
|
+
import React from 'react';
|
|
41
|
+
import { Icon, useApp, useTheme } from 'react-x11';
|
|
42
|
+
import { tint } from 'react-x11/style';
|
|
43
|
+
import { registerRichText, RICHTEXT_ELEMENT, useSelectionMenu, } from '../richtext/index.js';
|
|
44
|
+
import { codeBlockLook, codeBlockRuns, codeBlockStyle, codeTextStyle, } from '../codeblock/index.js';
|
|
45
|
+
import { parse } from './parse.js';
|
|
46
|
+
import { runsOf, plainTextOf } from './spans.js';
|
|
47
|
+
import { useLinkClicks } from '../richtext/index.js';
|
|
48
|
+
import { hx } from './hx.js';
|
|
49
|
+
export { parse, parseInline } from './parse.js';
|
|
50
|
+
const h = React.createElement;
|
|
51
|
+
// Registration is a shared-module function so `<Code>` can render the same
|
|
52
|
+
// element — but the call sits here, at this component's module scope, so
|
|
53
|
+
// the tree-shaking contract ("a component registers its element in its own
|
|
54
|
+
// index.ts") keeps holding.
|
|
55
|
+
registerRichText();
|
|
56
|
+
function deriveLook(theme, props) {
|
|
57
|
+
const text = String(theme.text ?? '#2d3436');
|
|
58
|
+
const dim = String(theme.textMuted ?? '#7f8c8d');
|
|
59
|
+
const accent = String(theme.accent ?? '#2980b9');
|
|
60
|
+
const border = String(theme.border ?? '#b2bec3');
|
|
61
|
+
const background = String(theme.background ?? 'white');
|
|
62
|
+
const size = props.fontSize ?? Number(theme.fontSize ?? 14);
|
|
63
|
+
const family = props.fontFamily ?? 'sans-serif';
|
|
64
|
+
const monoFamily = props.monoFamily ?? 'monospace';
|
|
65
|
+
const highlight = props.highlight !== false;
|
|
66
|
+
const inline = {
|
|
67
|
+
family,
|
|
68
|
+
monoFamily,
|
|
69
|
+
size,
|
|
70
|
+
color: text,
|
|
71
|
+
linkColor: accent,
|
|
72
|
+
codeColor: text,
|
|
73
|
+
codeBg: tint(text, 0.08),
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
inline,
|
|
77
|
+
dim,
|
|
78
|
+
border,
|
|
79
|
+
headerBg: tint(text, 0.05),
|
|
80
|
+
headingScales: [1.75, 1.4, 1.2, 1.05, 0.95, 0.85],
|
|
81
|
+
blockGap: Math.round(size * 0.7),
|
|
82
|
+
code: codeBlockLook(theme, { baseSize: size, monoFamily }),
|
|
83
|
+
highlight,
|
|
84
|
+
key: [
|
|
85
|
+
text,
|
|
86
|
+
dim,
|
|
87
|
+
accent,
|
|
88
|
+
border,
|
|
89
|
+
background,
|
|
90
|
+
size,
|
|
91
|
+
family,
|
|
92
|
+
monoFamily,
|
|
93
|
+
highlight,
|
|
94
|
+
].join('|'),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function richtext(key, runs, style, wrap = true) {
|
|
98
|
+
const props = { runs };
|
|
99
|
+
if (!wrap)
|
|
100
|
+
props.wrap = false;
|
|
101
|
+
if (style)
|
|
102
|
+
props.style = style;
|
|
103
|
+
return h(RICHTEXT_ELEMENT, { ...props, key });
|
|
104
|
+
}
|
|
105
|
+
function inlineStyles(ctx, over) {
|
|
106
|
+
return { ...ctx.look.inline, ...over };
|
|
107
|
+
}
|
|
108
|
+
function renderBlocks(blocks, ctx) {
|
|
109
|
+
return blocks.map((b, i) => renderBlock(b, ctx, i));
|
|
110
|
+
}
|
|
111
|
+
function renderBlock(block, ctx, key) {
|
|
112
|
+
const look = ctx.look;
|
|
113
|
+
switch (block.type) {
|
|
114
|
+
case 'paragraph':
|
|
115
|
+
return richtext(key, runsOf(block.children, look.inline));
|
|
116
|
+
case 'heading': {
|
|
117
|
+
const scale = look.headingScales[block.depth - 1] ?? 1;
|
|
118
|
+
const s = inlineStyles(ctx, {
|
|
119
|
+
size: Math.round(look.inline.size * scale),
|
|
120
|
+
weight: 700,
|
|
121
|
+
});
|
|
122
|
+
return richtext(key, runsOf(block.children, s), {
|
|
123
|
+
marginTop: key === 0 ? 0 : Math.round(look.blockGap * 0.6),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
case 'code':
|
|
127
|
+
return renderCode(block.text, block.lang, ctx, key);
|
|
128
|
+
case 'quote': {
|
|
129
|
+
const quoted = {
|
|
130
|
+
...ctx,
|
|
131
|
+
look: {
|
|
132
|
+
...look,
|
|
133
|
+
inline: { ...look.inline, color: look.dim, codeColor: look.dim },
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
return hx('box', {
|
|
137
|
+
key,
|
|
138
|
+
style: {
|
|
139
|
+
...STYLES.column,
|
|
140
|
+
gap: look.blockGap,
|
|
141
|
+
borderLeftWidth: 3,
|
|
142
|
+
borderLeftColor: look.border,
|
|
143
|
+
paddingLeft: 10,
|
|
144
|
+
},
|
|
145
|
+
}, ...renderBlocks(block.children, quoted));
|
|
146
|
+
}
|
|
147
|
+
case 'list':
|
|
148
|
+
return renderList(block, ctx, key);
|
|
149
|
+
case 'rule':
|
|
150
|
+
return hx('box', {
|
|
151
|
+
key,
|
|
152
|
+
style: {
|
|
153
|
+
height: 1,
|
|
154
|
+
backgroundColor: look.border,
|
|
155
|
+
marginTop: 2,
|
|
156
|
+
marginBottom: 2,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
case 'table':
|
|
160
|
+
return renderTable(block, ctx, key);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function renderCode(text, lang, ctx, key) {
|
|
164
|
+
const custom = ctx.fences?.[lang];
|
|
165
|
+
if (custom) {
|
|
166
|
+
// the fragment carries the key, so a renderer returns bare elements —
|
|
167
|
+
// the same courtesy `<Tree>`'s render seams extend
|
|
168
|
+
return h(React.Fragment, { key }, custom({ lang, text, partial: ctx.live === true }));
|
|
169
|
+
}
|
|
170
|
+
const code = ctx.look.code;
|
|
171
|
+
const runs = codeBlockRuns(text, code, {
|
|
172
|
+
lang,
|
|
173
|
+
highlight: ctx.look.highlight,
|
|
174
|
+
...(ctx.resolveLanguage ? { resolveLanguage: ctx.resolveLanguage } : null),
|
|
175
|
+
});
|
|
176
|
+
// The block scrolls horizontally rather than wrapping — code is code.
|
|
177
|
+
return hx('box', {
|
|
178
|
+
key,
|
|
179
|
+
style: {
|
|
180
|
+
...codeBlockStyle(code),
|
|
181
|
+
overflow: 'scroll',
|
|
182
|
+
flexDirection: 'column',
|
|
183
|
+
},
|
|
184
|
+
}, richtext('code', runs, codeTextStyle(code), false));
|
|
185
|
+
}
|
|
186
|
+
function renderList(list, ctx, key) {
|
|
187
|
+
const look = ctx.look;
|
|
188
|
+
const gap = list.tight ? Math.round(look.blockGap * 0.25) : look.blockGap;
|
|
189
|
+
const markerWidth = list.ordered
|
|
190
|
+
? Math.max(String(list.start + list.items.length - 1).length, 1) *
|
|
191
|
+
Math.ceil(look.inline.size * 0.62) +
|
|
192
|
+
10
|
|
193
|
+
: Math.round(look.inline.size * 1.15);
|
|
194
|
+
// The bullet or the number is chrome, not text: `selectable={false}` keeps
|
|
195
|
+
// it out of what a drag across the list lights up *and* out of what the
|
|
196
|
+
// drag copies. CSS spells this `user-select: none`.
|
|
197
|
+
const markerStyle = { ...STYLES.markerBox, width: markerWidth };
|
|
198
|
+
const items = list.items.map((item, i) => {
|
|
199
|
+
let marker;
|
|
200
|
+
if (item.checked !== null) {
|
|
201
|
+
marker = hx('box', { selectable: false, style: markerStyle }, h('box', {
|
|
202
|
+
style: {
|
|
203
|
+
width: 12,
|
|
204
|
+
height: 12,
|
|
205
|
+
borderWidth: 1,
|
|
206
|
+
borderColor: item.checked ? look.inline.linkColor : look.border,
|
|
207
|
+
borderRadius: 3,
|
|
208
|
+
backgroundColor: item.checked ? look.inline.linkColor : undefined,
|
|
209
|
+
alignItems: 'center',
|
|
210
|
+
justifyContent: 'center',
|
|
211
|
+
marginTop: Math.round(look.inline.size * 0.25),
|
|
212
|
+
},
|
|
213
|
+
}, item.checked
|
|
214
|
+
? h(Icon, { name: 'check', size: 10, color: 'white' })
|
|
215
|
+
: null));
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
marker = hx('box', { selectable: false, style: markerStyle }, hx('text', {
|
|
219
|
+
style: {
|
|
220
|
+
color: look.dim,
|
|
221
|
+
fontSize: look.inline.size,
|
|
222
|
+
fontFamily: look.inline.family,
|
|
223
|
+
},
|
|
224
|
+
}, list.ordered ? `${list.start + i}.` : '•'));
|
|
225
|
+
}
|
|
226
|
+
return hx('box', { key: i, style: STYLES.itemRow }, marker, hx('box', {
|
|
227
|
+
style: {
|
|
228
|
+
...STYLES.column,
|
|
229
|
+
gap: Math.round(look.blockGap * 0.4),
|
|
230
|
+
flexGrow: 1,
|
|
231
|
+
flexShrink: 1,
|
|
232
|
+
},
|
|
233
|
+
}, ...renderBlocks(item.children, ctx)));
|
|
234
|
+
});
|
|
235
|
+
return hx('box', { key, style: { ...STYLES.column, gap } }, ...items);
|
|
236
|
+
}
|
|
237
|
+
function renderTable(table, ctx, key) {
|
|
238
|
+
const look = ctx.look;
|
|
239
|
+
const size = look.inline.size;
|
|
240
|
+
const padX = Math.round(size * 0.6);
|
|
241
|
+
const cols = table.align.length;
|
|
242
|
+
// Column widths: max-content per column, measured through the app's font
|
|
243
|
+
// manager, capped so one long cell cannot starve the rest. Without a
|
|
244
|
+
// font manager (the mock backend) an even fallback keeps the shape.
|
|
245
|
+
const widths = new Array(cols).fill(0);
|
|
246
|
+
const headStyles = inlineStyles(ctx, { weight: 700 });
|
|
247
|
+
const measure = (cells, s) => {
|
|
248
|
+
for (let c = 0; c < cols; c += 1) {
|
|
249
|
+
let w;
|
|
250
|
+
if (ctx.fonts) {
|
|
251
|
+
w = ctx.fonts.layout(runsOf(cells[c], s), {
|
|
252
|
+
family: s.family,
|
|
253
|
+
size: s.size,
|
|
254
|
+
}).width;
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
w = plainTextOf(cells[c]).length * size * 0.55;
|
|
258
|
+
}
|
|
259
|
+
widths[c] = Math.max(widths[c], Math.min(Math.ceil(w), size * 26));
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
measure(table.header, headStyles);
|
|
263
|
+
for (const row of table.rows)
|
|
264
|
+
measure(row, look.inline);
|
|
265
|
+
for (let c = 0; c < cols; c += 1)
|
|
266
|
+
widths[c] = Math.max(widths[c] + padX * 2 + 2, size * 2.5);
|
|
267
|
+
// Nothing here says "these are cells and those are rows": a copy reads the
|
|
268
|
+
// boxes below, where two cells share a band of pixels and the next row
|
|
269
|
+
// starts under them, and joins them with tabs and newlines accordingly.
|
|
270
|
+
const renderRow = (cells, s, rowKey, bg, divided) => hx('box', {
|
|
271
|
+
key: rowKey,
|
|
272
|
+
style: {
|
|
273
|
+
flexDirection: 'row',
|
|
274
|
+
backgroundColor: bg,
|
|
275
|
+
borderTopWidth: divided ? 1 : undefined,
|
|
276
|
+
borderTopColor: divided ? look.border : undefined,
|
|
277
|
+
},
|
|
278
|
+
}, ...cells.map((cell, c) => h('box', {
|
|
279
|
+
key: c,
|
|
280
|
+
style: {
|
|
281
|
+
width: widths[c],
|
|
282
|
+
paddingLeft: padX,
|
|
283
|
+
paddingRight: padX,
|
|
284
|
+
paddingTop: Math.round(size * 0.35),
|
|
285
|
+
paddingBottom: Math.round(size * 0.35),
|
|
286
|
+
},
|
|
287
|
+
}, richtext('c', runsOf(cell, s), {
|
|
288
|
+
textAlign: table.align[c] ?? undefined,
|
|
289
|
+
flexGrow: 1,
|
|
290
|
+
}))));
|
|
291
|
+
const children = [];
|
|
292
|
+
children.push(renderRow(table.header, headStyles, 'h', look.headerBg));
|
|
293
|
+
table.rows.forEach((row, r) => {
|
|
294
|
+
children.push(renderRow(row, look.inline, r, undefined, true));
|
|
295
|
+
});
|
|
296
|
+
// A wide table scrolls inside its own viewport instead of forcing the
|
|
297
|
+
// document wider (the root stays vertical-only).
|
|
298
|
+
return hx('box', { key, style: { overflow: 'scroll', flexDirection: 'column' } }, hx('box', {
|
|
299
|
+
style: {
|
|
300
|
+
...STYLES.column,
|
|
301
|
+
borderWidth: 1,
|
|
302
|
+
borderColor: look.border,
|
|
303
|
+
borderRadius: 6,
|
|
304
|
+
alignSelf: 'flex-start',
|
|
305
|
+
},
|
|
306
|
+
}, ...children));
|
|
307
|
+
}
|
|
308
|
+
const STYLES = {
|
|
309
|
+
column: { flexDirection: 'column' },
|
|
310
|
+
itemRow: { flexDirection: 'row' },
|
|
311
|
+
markerBox: { flexDirection: 'row', flexShrink: 0 },
|
|
312
|
+
};
|
|
313
|
+
/**
|
|
314
|
+
* A markdown document. Feed it a growing `source` while `partial` and it
|
|
315
|
+
* renders each chunk as it arrives without flashing raw syntax; text is
|
|
316
|
+
* selectable across every block — mouse (double/triple click for
|
|
317
|
+
* word/block), Ctrl+A, Ctrl+C, and X11 PRIMARY on release.
|
|
318
|
+
*
|
|
319
|
+
* ```jsx
|
|
320
|
+
* <box style={{ overflow: 'scroll', flexGrow: 1 }}>
|
|
321
|
+
* <Markdown source={streamed} partial={stillStreaming}
|
|
322
|
+
* onLink={(href) => openInBrowser(href)} />
|
|
323
|
+
* </box>
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
export function Markdown(props) {
|
|
327
|
+
const { source, partial = true, selectable = true, onLink, style } = props;
|
|
328
|
+
// `Theme` is an interface, so it has no implicit index signature — the
|
|
329
|
+
// same widening `hx.ts` documents for the `theme` prop.
|
|
330
|
+
const theme = useTheme();
|
|
331
|
+
const app = useApp();
|
|
332
|
+
const links = useLinkClicks(onLink);
|
|
333
|
+
const menu = useSelectionMenu(selectable);
|
|
334
|
+
const look = React.useMemo(() => deriveLook(theme, props), [
|
|
335
|
+
theme,
|
|
336
|
+
props.fontSize,
|
|
337
|
+
props.fontFamily,
|
|
338
|
+
props.monoFamily,
|
|
339
|
+
props.highlight,
|
|
340
|
+
]);
|
|
341
|
+
const doc = React.useMemo(() => parse(source, { partial }), [source, partial]);
|
|
342
|
+
// Per-block element cache, keyed on the block's raw source (+ whether it
|
|
343
|
+
// is the live tail). Streaming appends re-render only the block that
|
|
344
|
+
// changed; everything else is the same ReactElement, so React bails out
|
|
345
|
+
// and the retained nodes keep their layout caches.
|
|
346
|
+
const cacheRef = React.useRef(null);
|
|
347
|
+
const fonts = app?.fonts ?? null;
|
|
348
|
+
// Neither the fences map nor `resolveLanguage` can be part of a string
|
|
349
|
+
// key, so their *identity* is counted instead: a new one is a new epoch,
|
|
350
|
+
// and every cached block that might have rendered through it is re-derived.
|
|
351
|
+
const seamsRef = React.useRef({
|
|
352
|
+
fences: props.fences,
|
|
353
|
+
resolveLanguage: props.resolveLanguage,
|
|
354
|
+
gen: 0,
|
|
355
|
+
});
|
|
356
|
+
if (seamsRef.current.fences !== props.fences ||
|
|
357
|
+
seamsRef.current.resolveLanguage !== props.resolveLanguage) {
|
|
358
|
+
seamsRef.current = {
|
|
359
|
+
fences: props.fences,
|
|
360
|
+
resolveLanguage: props.resolveLanguage,
|
|
361
|
+
gen: seamsRef.current.gen + 1,
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
const epoch = `${look.key}|${fonts ? 'f' : '-'}|${seamsRef.current.gen}`;
|
|
365
|
+
if (!cacheRef.current || cacheRef.current.epoch !== epoch) {
|
|
366
|
+
cacheRef.current = { epoch, map: new Map() };
|
|
367
|
+
}
|
|
368
|
+
const cache = cacheRef.current;
|
|
369
|
+
const children = [];
|
|
370
|
+
{
|
|
371
|
+
const nextMap = new Map();
|
|
372
|
+
const ctx = {
|
|
373
|
+
look,
|
|
374
|
+
fonts,
|
|
375
|
+
fences: props.fences,
|
|
376
|
+
resolveLanguage: props.resolveLanguage,
|
|
377
|
+
};
|
|
378
|
+
for (let i = 0; i < doc.blocks.length; i += 1) {
|
|
379
|
+
const live = partial && i === doc.blocks.length - 1;
|
|
380
|
+
const cacheKey = `${i}|${live ? 'L' : '.'}|${doc.raws[i]}`;
|
|
381
|
+
const hit = cache.map.get(cacheKey) ?? nextMap.get(cacheKey);
|
|
382
|
+
if (hit !== undefined) {
|
|
383
|
+
children.push(hit);
|
|
384
|
+
nextMap.set(cacheKey, hit);
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
const element = renderBlock(doc.blocks[i], live ? { ...ctx, live } : ctx, i);
|
|
388
|
+
children.push(element);
|
|
389
|
+
nextMap.set(cacheKey, element);
|
|
390
|
+
}
|
|
391
|
+
cache.map = nextMap; // old entries fall away with the text that made them
|
|
392
|
+
}
|
|
393
|
+
const rootStyle = {
|
|
394
|
+
flexDirection: 'column',
|
|
395
|
+
gap: look.blockGap,
|
|
396
|
+
alignItems: 'stretch',
|
|
397
|
+
};
|
|
398
|
+
return hx('box', {
|
|
399
|
+
style: style
|
|
400
|
+
? [rootStyle, ...(Array.isArray(style) ? style : [style])]
|
|
401
|
+
: rootStyle,
|
|
402
|
+
// The whole selection: a drag across blocks, word and block
|
|
403
|
+
// granularity, Ctrl+A, Ctrl+C, PRIMARY on release, and one visible
|
|
404
|
+
// selection per application. The surface is a focus target and shows
|
|
405
|
+
// an I-beam because it said this.
|
|
406
|
+
selectable,
|
|
407
|
+
selectionColor: props.selectionColor,
|
|
408
|
+
...links,
|
|
409
|
+
...menu,
|
|
410
|
+
'data-testname': props['data-testname'],
|
|
411
|
+
}, ...children);
|
|
412
|
+
}
|
|
413
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,mEAAmE;AACnE,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,0EAA0E;AAC1E,qEAAqE;AACrE,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,wEAAwE;AACxE,6DAA6D;AAC7D,EAAE;AACF,sEAAsE;AACtE,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,kBAAkB;AAClB,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,6DAA6D;AAC7D,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AACvE,4EAA4E;AAC5E,YAAY;AACZ,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAUvC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAQ7B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;AAE9B,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,4BAA4B;AAC5B,gBAAgB,EAAE,CAAC;AA2FnB,SAAS,UAAU,CACjB,KAA8B,EAC9B,KAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,YAAY,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC;IAC5C,MAAM,MAAM,GAAiB;QAC3B,MAAM;QACN,UAAU;QACV,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;KACzB,CAAC;IACF,OAAO;QACL,MAAM;QACN,GAAG;QACH,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;QAChC,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC1D,SAAS;QACT,GAAG,EAAE;YACH,IAAI;YACJ,GAAG;YACH,MAAM;YACN,MAAM;YACN,UAAU;YACV,IAAI;YACJ,MAAM;YACN,UAAU;YACV,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CAAC;AACJ,CAAC;AAsBD,SAAS,QAAQ,CACf,GAAoB,EACpB,IAAe,EACf,KAAa,EACb,IAAI,GAAG,IAAI;IAEX,MAAM,KAAK,GAA8C,EAAE,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IAC9B,IAAI,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAA6B,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CACnB,GAAc,EACd,IAA2B;IAE3B,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB,EAAE,GAAc;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,GAAc,EAAE,GAAW;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5D,KAAK,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE;gBAC1B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC1C,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;gBAC9C,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEtD,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,MAAM,GAAc;gBACxB,GAAG,GAAG;gBACN,IAAI,EAAE;oBACJ,GAAG,IAAI;oBACP,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACjE;aACF,CAAC;YACF,OAAO,EAAE,CACP,KAAK,EACL;gBACE,GAAG;gBACH,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,MAAM;oBAChB,GAAG,EAAE,IAAI,CAAC,QAAQ;oBAClB,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,IAAI,CAAC,MAAM;oBAC5B,WAAW,EAAE,EAAE;iBAChB;aACF,EACD,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CACxC,CAAC;QACJ,CAAC;QAED,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAErC,KAAK,MAAM;YACT,OAAO,EAAE,CAAC,KAAK,EAAE;gBACf,GAAG;gBACH,KAAK,EAAE;oBACL,MAAM,EAAE,CAAC;oBACT,eAAe,EAAE,IAAI,CAAC,MAAM;oBAC5B,SAAS,EAAE,CAAC;oBACZ,YAAY,EAAE,CAAC;iBAChB;aACF,CAAC,CAAC;QAEL,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,IAAY,EACZ,GAAc,EACd,GAAW;IAEX,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACX,sEAAsE;QACtE,mDAAmD;QACnD,OAAO,CAAC,CACN,KAAK,CAAC,QAAQ,EACd,EAAE,GAAG,EAAE,EACP,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;QACrC,IAAI;QACJ,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;QAC7B,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KAC3E,CAAC,CAAC;IACH,sEAAsE;IACtE,OAAO,EAAE,CACP,KAAK,EACL;QACE,GAAG;QACH,KAAK,EAAE;YACL,GAAG,cAAc,CAAC,IAAI,CAAC;YACvB,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,QAAQ;SACxB;KACF,EACD,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAe,EAAE,GAAc,EAAE,GAAW;IAC9D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO;QAC9B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACpC,EAAE;QACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,2EAA2E;IAC3E,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,WAAW,GAAU,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACvC,IAAI,MAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,GAAG,EAAE,CACT,KAAK,EACL,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EACzC,CAAC,CACC,KAAK,EACL;gBACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,WAAW,EAAE,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;oBAC/D,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACjE,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;iBAC/C;aACF,EACD,IAAI,CAAC,OAAO;gBACV,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBACtD,CAAC,CAAC,IAAI,CACT,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,CACT,KAAK,EACL,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EACzC,EAAE,CACA,MAAM,EACN;gBACE,KAAK,EAAE;oBACL,KAAK,EAAE,IAAI,CAAC,GAAG;oBACf,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;iBAC/B;aACF,EACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAC1C,CACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CACP,KAAK,EACL,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,EACjC,MAAM,EACN,EAAE,CACA,KAAK,EACL;YACE,KAAK,EAAE;gBACL,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpC,QAAQ,EAAE,CAAC;gBACX,UAAU,EAAE,CAAC;aACd;SACF,EACD,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CACpC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAClB,KAAiB,EACjB,GAAc,EACd,GAAW;IAEX,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAEhC,yEAAyE;IACzE,qEAAqE;IACrE,oEAAoE;IACpE,MAAM,MAAM,GAAa,IAAI,KAAK,CAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,CAAC,KAAqB,EAAE,CAAe,EAAQ,EAAE;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAS,CAAC;YACd,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBACxC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb,CAAC,CAAC,KAAK,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC;QAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;IAE7D,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,SAAS,GAAG,CAChB,KAAqB,EACrB,CAAe,EACf,MAAuB,EACvB,EAAW,EACX,OAAiB,EACN,EAAE,CACb,EAAE,CACA,KAAK,EACL;QACE,GAAG,EAAE,MAAM;QACX,KAAK,EAAE;YACL,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACvC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAClD;KACF,EACD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CACvB,CAAC,CACC,KAAK,EACL;QACE,GAAG,EAAE,CAAC;QACN,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YACnC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;SACvC;KACF,EACD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;QAC7B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;QACtC,QAAQ,EAAE,CAAC;KACZ,CAAC,CACH,CACF,CACF,CAAC;IAEJ,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,iDAAiD;IACjD,OAAO,EAAE,CACP,KAAK,EACL,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAC/D,EAAE,CACA,KAAK,EACL;QACE,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,MAAM;YAChB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,YAAY;SACxB;KACF,EACD,GAAG,QAAQ,CACZ,CACF,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnC,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;IACjC,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;CACV,CAAC;AAS3C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC3E,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,KAAK,GAAG,QAAQ,EAAwC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,EAAyC,CAAC;IAE5D,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACxB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,EAC9B;QACE,KAAK;QACL,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,UAAU;QAChB,KAAK,CAAC,SAAS;KAChB,CACF,CAAC;IAEF,MAAM,GAAG,GAAa,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAChC,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;IAEF,yEAAyE;IACzE,qEAAqE;IACrE,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC;IACjC,uEAAuE;IACvE,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAI1B;QACD,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,GAAG,EAAE,CAAC;KACP,CAAC,CAAC;IACH,IACE,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QACxC,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAC1D,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;SAC9B,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACzE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC1D,QAAQ,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;IAE/B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,CAAC;QACC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC7C,MAAM,GAAG,GAAc;YACrB,IAAI;YACJ,KAAK;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CACzB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAC7B,CAAC,CACF,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,qDAAqD;IAC5E,CAAC;IAED,MAAM,SAAS,GAAU;QACvB,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,IAAI,CAAC,QAAQ;QAClB,UAAU,EAAE,SAAS;KACtB,CAAC;IAEF,OAAO,EAAE,CACP,KAAK,EACL;QACE,KAAK,EAAE,KAAK;YACV,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,SAAS;QACb,4DAA4D;QAC5D,mEAAmE;QACnE,qEAAqE;QACrE,kCAAkC;QAClC,UAAU;QACV,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,KAAK;QACR,GAAG,IAAI;QACP,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC;KACb,EAC5B,GAAG,QAAQ,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Document, InlineNode, ParseOptions } from './ast.js';
|
|
2
|
+
export declare function parse(source: string, options?: ParseOptions): Document;
|
|
3
|
+
/**
|
|
4
|
+
* Parse inline markdown. `atDocEnd` marks text whose end is the live end of
|
|
5
|
+
* a streaming document — only then do the implicit-close rules apply.
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseInline(text: string, atDocEnd: boolean): InlineNode[];
|
|
8
|
+
//# sourceMappingURL=parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAEV,QAAQ,EACR,UAAU,EAGV,YAAY,EAEb,MAAM,UAAU,CAAC;AAuDlB,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,QAAQ,CAW1E;AAqfD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,CAqOzE"}
|