@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,306 @@
|
|
|
1
|
+
// `<Flow>` — a directed-graph editor: nodes you can drag, handles you can
|
|
2
|
+
// drag between, a pane you can pan and zoom, and a controlled `nodes`/`edges`
|
|
3
|
+
// pair that the app owns.
|
|
4
|
+
//
|
|
5
|
+
// The surface is react-flow's, because a graph editor's API is a solved
|
|
6
|
+
// problem and an app that has described a graph for one should not have to
|
|
7
|
+
// describe it again. What differs is the one thing that could not be carried
|
|
8
|
+
// over: react-flow renders each node as a DOM subtree and zooms with a CSS
|
|
9
|
+
// transform, and this renderer has neither, so a custom node type is a
|
|
10
|
+
// `paint` rather than a component. `./node.ts` has the argument in full.
|
|
11
|
+
//
|
|
12
|
+
// **Registration happens when this module is evaluated**, which is the
|
|
13
|
+
// design and not a shortcut: nothing in the package registers anything until
|
|
14
|
+
// an app imports the component that needs it, so `sideEffects: false` stays
|
|
15
|
+
// honest. Do not move it into `../index.ts` (AGENTS.md, "Tree-shaking is a
|
|
16
|
+
// constraint").
|
|
17
|
+
import React, { useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
|
|
18
|
+
import { Renderer } from 'react-x11';
|
|
19
|
+
import { registerElement, registeredElements } from 'react-x11/host';
|
|
20
|
+
import { createStyles, flattenStyle } from 'react-x11/style';
|
|
21
|
+
import { applyEdgeChanges, applyNodeChanges } from './model.js';
|
|
22
|
+
import { ELEMENT, FlowGraphNode, SELF_DAMAGED_PROPS } from './node.js';
|
|
23
|
+
if (!registeredElements().includes(ELEMENT)) {
|
|
24
|
+
registerElement(ELEMENT, {
|
|
25
|
+
create: (props, app) => new FlowGraphNode(props, app),
|
|
26
|
+
// No `semanticNames`: not one of this element's prop names is also a
|
|
27
|
+
// style name, and `test/flow.test.ts` is what keeps that true — the
|
|
28
|
+
// failure it guards against (throws in development, works in
|
|
29
|
+
// production) is the worst shape a bug can have.
|
|
30
|
+
childrenAllowed: false,
|
|
31
|
+
// The commit claim: changes to these damage nothing by name — the
|
|
32
|
+
// element's own `applyProps` diffs them into the box that actually
|
|
33
|
+
// changed (react-x11#301). Without this, every drag step's new `nodes`
|
|
34
|
+
// array identity would repaint the whole pane.
|
|
35
|
+
selfDamagedProps: [...SELF_DAMAGED_PROPS],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* `pane` is the default for the box `<Flow>` renders: it fills its parent —
|
|
40
|
+
* unless the app's own style gives it a height or a `flexGrow`, in which
|
|
41
|
+
* case adding one would silently override what it asked for. Checked
|
|
42
|
+
* against the *flattened* style, so an array works too.
|
|
43
|
+
*
|
|
44
|
+
* `fill` is what the drawn pane always gets, because the app's style went on
|
|
45
|
+
* the box around it. `overflow: 'hidden'` there is what clips a mounted node
|
|
46
|
+
* body that has been panned half off the edge.
|
|
47
|
+
*/
|
|
48
|
+
const styles = createStyles({
|
|
49
|
+
pane: { flexGrow: 1, overflow: 'hidden' },
|
|
50
|
+
clip: { overflow: 'hidden' },
|
|
51
|
+
fill: { flexGrow: 1 },
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Commit a state update before returning, whatever lane the surrounding
|
|
55
|
+
* dispatch runs in.
|
|
56
|
+
*
|
|
57
|
+
* Pointer motion and the wheel dispatch at *continuous* priority, whose
|
|
58
|
+
* React updates the scheduler may hold across several frames — while the
|
|
59
|
+
* pane paints every gesture step immediately from its own state. A mounted
|
|
60
|
+
* node body positioned through ordinary setState therefore trails the drawn
|
|
61
|
+
* card by however many steps queue up, converging only when the gesture
|
|
62
|
+
* pauses; this is what "the content lags and catches up" looks like. The
|
|
63
|
+
* reconciler's own escape hatch forces the render and commit inline, so the
|
|
64
|
+
* body's box moves in the same frame as the card that carries it.
|
|
65
|
+
*
|
|
66
|
+
* `Renderer` is documented as an unstable escape hatch, so the shape is
|
|
67
|
+
* probed: a core that drops it degrades to the plain setState — laggy under
|
|
68
|
+
* continuous input, never wrong.
|
|
69
|
+
*/
|
|
70
|
+
const flushSync = typeof Renderer
|
|
71
|
+
.flushSyncFromReconciler === 'function'
|
|
72
|
+
? (fn) => void Renderer.flushSyncFromReconciler(fn)
|
|
73
|
+
: (fn) => fn();
|
|
74
|
+
/**
|
|
75
|
+
* One mounted node body. Memoized so that a *move* re-renders nothing: a
|
|
76
|
+
* drag or a pan changes only the overlay box's `left`/`top` — the body's
|
|
77
|
+
* subtree keeps its identity and React commits a style-only update. The
|
|
78
|
+
* compare deliberately ignores `x`/`y`, which is why `rect`'s position half
|
|
79
|
+
* is documented as advisory: content re-renders when the node, its
|
|
80
|
+
* selection, the zoom or its size change, and rides along otherwise.
|
|
81
|
+
*
|
|
82
|
+
* This is what makes a mounted node cost one box diff per drag step with no
|
|
83
|
+
* memoisation asked of the app — its `render` is simply not called.
|
|
84
|
+
*/
|
|
85
|
+
const FlowNodeBody = React.memo(function FlowNodeBody(props) {
|
|
86
|
+
return props.type.render({
|
|
87
|
+
node: props.node,
|
|
88
|
+
selected: props.selected,
|
|
89
|
+
zoom: props.zoom,
|
|
90
|
+
rect: {
|
|
91
|
+
x: props.x,
|
|
92
|
+
y: props.y,
|
|
93
|
+
width: props.width,
|
|
94
|
+
height: props.height,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}, (a, b) => a.type === b.type &&
|
|
98
|
+
a.node === b.node &&
|
|
99
|
+
a.selected === b.selected &&
|
|
100
|
+
a.zoom === b.zoom &&
|
|
101
|
+
a.width === b.width &&
|
|
102
|
+
a.height === b.height);
|
|
103
|
+
/**
|
|
104
|
+
* A directed graph.
|
|
105
|
+
*
|
|
106
|
+
* ```tsx
|
|
107
|
+
* const [nodes, setNodes, onNodesChange] = useNodesState([
|
|
108
|
+
* { id: 'a', position: { x: 0, y: 0 }, data: { label: 'read' } },
|
|
109
|
+
* { id: 'b', position: { x: 0, y: 120 }, data: { label: 'write' } },
|
|
110
|
+
* ]);
|
|
111
|
+
* const [edges, setEdges, onEdgesChange] = useEdgesState([
|
|
112
|
+
* { id: 'a-b', source: 'a', target: 'b' },
|
|
113
|
+
* ]);
|
|
114
|
+
*
|
|
115
|
+
* <Flow
|
|
116
|
+
* nodes={nodes}
|
|
117
|
+
* edges={edges}
|
|
118
|
+
* onNodesChange={onNodesChange}
|
|
119
|
+
* onEdgesChange={onEdgesChange}
|
|
120
|
+
* onConnect={(c) => setEdges((es) => addEdge(c, es))}
|
|
121
|
+
* fitView
|
|
122
|
+
* minimap
|
|
123
|
+
* />
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* Leave `nodes`/`edges` out and pass `defaultNodes`/`defaultEdges` for the
|
|
127
|
+
* uncontrolled form, where the pane owns the arrays.
|
|
128
|
+
*/
|
|
129
|
+
export function Flow(props) {
|
|
130
|
+
const { nodes, defaultNodes, edges, defaultEdges, onNodesChange, onEdgesChange, onSelectionChange, onWheel, style, ref, ...rest } = props;
|
|
131
|
+
const pane = useRef(null);
|
|
132
|
+
const [ownNodes, setOwnNodes] = useState(() => defaultNodes ?? []);
|
|
133
|
+
const [ownEdges, setOwnEdges] = useState(() => defaultEdges ?? []);
|
|
134
|
+
const controlledNodes = nodes !== undefined;
|
|
135
|
+
const controlledEdges = edges !== undefined;
|
|
136
|
+
const currentNodes = nodes ?? ownNodes;
|
|
137
|
+
const currentEdges = edges ?? ownEdges;
|
|
138
|
+
// The controlled/uncontrolled fork, and the whole of it: the pane always
|
|
139
|
+
// *describes* a change, and who applies it is the only difference between
|
|
140
|
+
// the two modes.
|
|
141
|
+
const handleNodesChange = (changes) => {
|
|
142
|
+
if (!controlledNodes) {
|
|
143
|
+
setOwnNodes((current) => applyNodeChanges(changes, current));
|
|
144
|
+
}
|
|
145
|
+
onNodesChange?.(changes);
|
|
146
|
+
};
|
|
147
|
+
const handleEdgesChange = (changes) => {
|
|
148
|
+
if (!controlledEdges) {
|
|
149
|
+
setOwnEdges((current) => applyEdgeChanges(changes, current));
|
|
150
|
+
}
|
|
151
|
+
onEdgesChange?.(changes);
|
|
152
|
+
};
|
|
153
|
+
useImperativeHandle(ref, () => ({
|
|
154
|
+
// Every method reads the node at call time rather than closing over
|
|
155
|
+
// it: the ref attaches after the commit that created the node, and a
|
|
156
|
+
// handle built once must still work for the whole mount.
|
|
157
|
+
getViewport: () => pane.current?.getViewport() ?? { x: 0, y: 0, zoom: 1 },
|
|
158
|
+
setViewport: (viewport) => pane.current?.setViewport(viewport),
|
|
159
|
+
zoomIn: (step) => pane.current?.zoomIn(step),
|
|
160
|
+
zoomOut: (step) => pane.current?.zoomOut(step),
|
|
161
|
+
zoomTo: (zoom) => pane.current?.zoomTo(zoom),
|
|
162
|
+
fitView: (options) => pane.current?.fitView(options),
|
|
163
|
+
setCenter: (x, y, options) => pane.current?.setCenter(x, y, options),
|
|
164
|
+
screenToFlowPosition: (point) => pane.current?.screenToFlowPosition(point) ?? point,
|
|
165
|
+
flowToScreenPosition: (point) => pane.current?.flowToScreenPosition(point) ?? point,
|
|
166
|
+
getNodeBounds: (id) => pane.current?.getNodeBounds(id) ?? null,
|
|
167
|
+
getNodesBounds: (ids) => pane.current?.getNodesBounds(ids) ?? null,
|
|
168
|
+
}), []);
|
|
169
|
+
// Selection lives in the arrays, so "it changed" is a question about them
|
|
170
|
+
// and not a second source of truth to keep in step.
|
|
171
|
+
const selectionKey = useMemo(() => {
|
|
172
|
+
const parts = [];
|
|
173
|
+
for (const node of currentNodes)
|
|
174
|
+
if (node.selected)
|
|
175
|
+
parts.push(`n:${node.id}`);
|
|
176
|
+
for (const edge of currentEdges)
|
|
177
|
+
if (edge.selected)
|
|
178
|
+
parts.push(`e:${edge.id}`);
|
|
179
|
+
return parts.join('|');
|
|
180
|
+
}, [currentNodes, currentEdges]);
|
|
181
|
+
const latest = useRef({ onSelectionChange, currentNodes, currentEdges });
|
|
182
|
+
useEffect(() => {
|
|
183
|
+
latest.current = { onSelectionChange, currentNodes, currentEdges };
|
|
184
|
+
});
|
|
185
|
+
useEffect(() => {
|
|
186
|
+
const { onSelectionChange: notify, currentNodes: ns, currentEdges: es, } = latest.current;
|
|
187
|
+
notify?.({
|
|
188
|
+
nodes: ns.filter((n) => n.selected),
|
|
189
|
+
edges: es.filter((e) => e.selected),
|
|
190
|
+
});
|
|
191
|
+
// Only when the selection itself changed: the arrays are rebuilt by
|
|
192
|
+
// every drag step, and re-notifying then would make a drag a storm.
|
|
193
|
+
}, [selectionKey]);
|
|
194
|
+
const flat = flattenStyle(style ?? null);
|
|
195
|
+
const sized = flat.height !== undefined ||
|
|
196
|
+
flat.flexGrow !== undefined ||
|
|
197
|
+
flat.flexBasis !== undefined;
|
|
198
|
+
// --- mounted node bodies ------------------------------------------------
|
|
199
|
+
//
|
|
200
|
+
// Only the node types that asked for one cost anything: with no `render`
|
|
201
|
+
// in the registry the pane is never given `onNodeBodies`, never computes a
|
|
202
|
+
// rect, and this half of the component is one `useState` that stays empty.
|
|
203
|
+
const { nodeTypes } = rest;
|
|
204
|
+
const mounts = useMemo(() => nodeTypes
|
|
205
|
+
? Object.values(nodeTypes).some((type) => type?.render != null)
|
|
206
|
+
: false, [nodeTypes]);
|
|
207
|
+
const [bodies, setBodies] = useState([]);
|
|
208
|
+
// Gesture-time emissions commit inline (see `flushSync` above); the rest —
|
|
209
|
+
// a programmatic `fitView`, the first paint — take the ordinary path.
|
|
210
|
+
const handleBodies = (next, sync) => {
|
|
211
|
+
if (sync)
|
|
212
|
+
flushSync(() => setBodies(next));
|
|
213
|
+
else
|
|
214
|
+
setBodies(next);
|
|
215
|
+
};
|
|
216
|
+
const byId = useMemo(() => {
|
|
217
|
+
const map = new Map();
|
|
218
|
+
if (mounts)
|
|
219
|
+
for (const node of currentNodes)
|
|
220
|
+
map.set(node.id, node);
|
|
221
|
+
return map;
|
|
222
|
+
}, [mounts, currentNodes]);
|
|
223
|
+
const overlays = mounts
|
|
224
|
+
? bodies.map((body) => {
|
|
225
|
+
const node = byId.get(body.id);
|
|
226
|
+
const type = node && nodeTypes?.[node.type ?? 'default'];
|
|
227
|
+
if (!node || !type?.render)
|
|
228
|
+
return null;
|
|
229
|
+
return React.createElement('box', {
|
|
230
|
+
key: body.id,
|
|
231
|
+
style: {
|
|
232
|
+
position: 'absolute',
|
|
233
|
+
left: body.x,
|
|
234
|
+
top: body.y,
|
|
235
|
+
width: body.width,
|
|
236
|
+
height: body.height,
|
|
237
|
+
// The box follows the zoom; what is inside it does not, so
|
|
238
|
+
// this is what stops a zoomed-out node spilling its form over
|
|
239
|
+
// the graph.
|
|
240
|
+
overflow: 'hidden',
|
|
241
|
+
},
|
|
242
|
+
}, React.createElement(FlowNodeBody, {
|
|
243
|
+
type: type,
|
|
244
|
+
node: node,
|
|
245
|
+
selected: body.selected,
|
|
246
|
+
zoom: body.zoom,
|
|
247
|
+
x: body.x,
|
|
248
|
+
y: body.y,
|
|
249
|
+
width: body.width,
|
|
250
|
+
height: body.height,
|
|
251
|
+
}));
|
|
252
|
+
})
|
|
253
|
+
: null;
|
|
254
|
+
// The pane and the bodies are siblings rather than parent and children:
|
|
255
|
+
// a registered element's own drawing happens *after* `super.paint` has
|
|
256
|
+
// painted its children, so anything mounted inside the pane would be
|
|
257
|
+
// painted over by the graph. Beside it, and after it, they land on top.
|
|
258
|
+
return React.createElement('box', { style: sized ? [styles.clip, style] : [styles.pane, style] }, React.createElement(ELEMENT, {
|
|
259
|
+
...rest,
|
|
260
|
+
key: 'pane',
|
|
261
|
+
ref: pane,
|
|
262
|
+
nodes: currentNodes,
|
|
263
|
+
edges: currentEdges,
|
|
264
|
+
onNodesChange: handleNodesChange,
|
|
265
|
+
onEdgesChange: handleEdgesChange,
|
|
266
|
+
// The wheel and hover reach the element through the default-action
|
|
267
|
+
// seam now (react-x11#302): an app's own `onWheel` runs first and
|
|
268
|
+
// `preventDefault()` vetoes, with no forwarding here — and the bare
|
|
269
|
+
// `<flowgraph>` element zooms and hovers on its own.
|
|
270
|
+
onWheel,
|
|
271
|
+
onNodeBodies: mounts ? handleBodies : undefined,
|
|
272
|
+
style: styles.fill,
|
|
273
|
+
role: 'group',
|
|
274
|
+
'aria-label': rest['aria-label'] ?? 'Flow graph',
|
|
275
|
+
}), overlays);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* `useState` for nodes, with the change handler `<Flow>` wants already
|
|
279
|
+
* bound — react-flow's hook of the same name, and the shortest correct way
|
|
280
|
+
* to hold a graph.
|
|
281
|
+
*
|
|
282
|
+
* ```tsx
|
|
283
|
+
* const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
|
|
284
|
+
* ```
|
|
285
|
+
*/
|
|
286
|
+
export function useNodesState(initial) {
|
|
287
|
+
const [nodes, setNodes] = useState(() => [...initial]);
|
|
288
|
+
const onNodesChange = useRef((changes) => {
|
|
289
|
+
setNodes((current) => applyNodeChanges(changes, current));
|
|
290
|
+
}).current;
|
|
291
|
+
return [nodes, setNodes, onNodesChange];
|
|
292
|
+
}
|
|
293
|
+
/** {@link useNodesState} for edges. */
|
|
294
|
+
export function useEdgesState(initial) {
|
|
295
|
+
const [edges, setEdges] = useState(() => [...initial]);
|
|
296
|
+
const onEdgesChange = useRef((changes) => {
|
|
297
|
+
setEdges((current) => applyEdgeChanges(changes, current));
|
|
298
|
+
}).current;
|
|
299
|
+
return [edges, setEdges, onEdgesChange];
|
|
300
|
+
}
|
|
301
|
+
/** The host element name, for apps that would rather write `<flowgraph>`.
|
|
302
|
+
* The raw element is the whole component minus the controlled/uncontrolled
|
|
303
|
+
* fork and the wheel and hover wiring, which have no default-action seam. */
|
|
304
|
+
export { ELEMENT as FLOW_ELEMENT, FlowGraphNode };
|
|
305
|
+
export { addEdge, applyEdgeChanges, applyNodeChanges, connectedEdges, connectionId, resolvePalette, } from './model.js';
|
|
306
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flow/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type { BackgroundOptions, Connection, EdgeChange, EdgeMarker, FitViewOptions, FlowEdge, FlowNode, FlowNodeData, FlowNodeType, FlowPalette, FlowRect, HandleAnchor, HandlePosition, HandleSpec, MarkerType, NodeChange, TextOptions, Viewport, XYPosition } from './types.js';
|
|
2
|
+
export declare const NODE_PAD_X = 14;
|
|
3
|
+
export declare const NODE_PAD_Y = 11;
|
|
4
|
+
export declare const NODE_LABEL_SIZE = 13;
|
|
5
|
+
export declare const NODE_DESC_SIZE = 11;
|
|
6
|
+
export declare const NODE_MIN_WIDTH = 110;
|
|
7
|
+
export declare const NODE_MAX_WIDTH = 260;
|
|
8
|
+
export declare const NODE_MIN_HEIGHT = 40;
|
|
9
|
+
/** Handle radius in graph units. */
|
|
10
|
+
export declare const HANDLE_RADIUS = 4.5;
|
|
11
|
+
/** Resize grip half-width, and how far outside one a press still grabs it. */
|
|
12
|
+
export declare const RESIZE_GRIP = 3.5;
|
|
13
|
+
export declare const RESIZE_SLOP = 4;
|
|
14
|
+
/** Floors for a resize, when the node names none. Small enough to be a
|
|
15
|
+
* badge, big enough that a node cannot be dragged out of existence. */
|
|
16
|
+
export declare const MIN_NODE_WIDTH = 48;
|
|
17
|
+
export declare const MIN_NODE_HEIGHT = 32;
|
|
18
|
+
/** The strip a `render` node keeps for its title and for dragging. */
|
|
19
|
+
export declare const NODE_HEADER = 26;
|
|
20
|
+
/** How far a `render` node's body is inset from its own border, so the
|
|
21
|
+
* resize grips and the border stay the pane's to hit. */
|
|
22
|
+
export declare const NODE_BODY_INSET = 5;
|
|
23
|
+
/** Below this the mounted body is not worth showing: it is laid out at its
|
|
24
|
+
* natural size, so a small box would show a corner of a form. */
|
|
25
|
+
export declare const RENDER_ZOOM = 0.6;
|
|
26
|
+
/** How far outside a handle a press still counts as grabbing it. */
|
|
27
|
+
export declare const HANDLE_SLOP = 5;
|
|
28
|
+
/** How far from an edge a press still counts as hitting it. */
|
|
29
|
+
export declare const EDGE_SLOP = 6;
|
|
30
|
+
/** How far a step/smoothstep edge leaves a node before it turns. */
|
|
31
|
+
export declare const EDGE_STEP_OFFSET = 18;
|
|
32
|
+
export declare const DEFAULT_MARKER_SIZE = 11;
|
|
33
|
+
export declare const DEFAULT_MIN_ZOOM = 0.2;
|
|
34
|
+
export declare const DEFAULT_MAX_ZOOM = 2.5;
|
|
35
|
+
export declare const ZOOM_STEP = 1.2;
|
|
36
|
+
/**
|
|
37
|
+
* Fold position/select/remove/add/replace changes into a node array — the
|
|
38
|
+
* reducer half of the controlled contract, and the body of `useNodesState`.
|
|
39
|
+
*
|
|
40
|
+
* Returns the array it was given when nothing applied, so a `useMemo` or a
|
|
41
|
+
* `React.memo` above it is not defeated by an edit that changed nothing.
|
|
42
|
+
*/
|
|
43
|
+
export declare function applyNodeChanges<Data = FlowNodeData>(changes: readonly NodeChange<Data>[], nodes: readonly FlowNode<Data>[]): FlowNode<Data>[];
|
|
44
|
+
/** {@link applyNodeChanges} for edges. Removing a node does *not* remove its
|
|
45
|
+
* edges — that is the app's call, and `removeConnectedEdges` is the helper. */
|
|
46
|
+
export declare function applyEdgeChanges<Data = unknown>(changes: readonly EdgeChange<Data>[], edges: readonly FlowEdge<Data>[]): FlowEdge<Data>[];
|
|
47
|
+
/** The id `addEdge` gives a connection it turned into an edge. Derived from
|
|
48
|
+
* the endpoints so that connecting the same two handles twice is idempotent
|
|
49
|
+
* rather than a duplicate nobody can tell apart. */
|
|
50
|
+
export declare function connectionId(connection: Connection): string;
|
|
51
|
+
/**
|
|
52
|
+
* Add the edge a connection describes, unless it is already there. Takes an
|
|
53
|
+
* edge as well as a `Connection`, so `addEdge({ ...connection, animated:
|
|
54
|
+
* true }, edges)` reads the way it does in react-flow.
|
|
55
|
+
*/
|
|
56
|
+
export declare function addEdge<Data = unknown>(connection: Connection | (Partial<FlowEdge<Data>> & Connection), edges: readonly FlowEdge<Data>[]): FlowEdge<Data>[];
|
|
57
|
+
/** Every edge with an end on one of these nodes — what a delete usually
|
|
58
|
+
* wants to take with it. */
|
|
59
|
+
export declare function connectedEdges<Data = unknown>(ids: readonly string[], edges: readonly FlowEdge<Data>[]): FlowEdge<Data>[];
|
|
60
|
+
export declare function snapTo(value: number, grid: number): number;
|
|
61
|
+
/** Which way an edge leaves a side. */
|
|
62
|
+
export declare function handleDirection(position: HandlePosition): XYPosition;
|
|
63
|
+
/** The handles a node carries: its own, else its type's, else the pair every
|
|
64
|
+
* node has — a target in and a source out. */
|
|
65
|
+
export declare function resolveHandles<Data>(node: FlowNode<Data>, type: FlowNodeType<Data> | undefined): readonly HandleSpec[];
|
|
66
|
+
/** Place a handle on a node's box. Graph space, and the centre of the dot. */
|
|
67
|
+
export declare function handleAnchor(nodeId: string, rect: FlowRect, spec: HandleSpec): HandleAnchor;
|
|
68
|
+
/**
|
|
69
|
+
* How big a node is when it does not say. The label decides the width, one
|
|
70
|
+
* or two lines decide the height, and both are clamped — an unbounded label
|
|
71
|
+
* would otherwise turn one long string into a node wider than the pane.
|
|
72
|
+
*/
|
|
73
|
+
export declare function measureNode<Data>(node: FlowNode<Data>, type: FlowNodeType<Data> | undefined, measure: (text: string, options?: TextOptions) => number): {
|
|
74
|
+
width: number;
|
|
75
|
+
height: number;
|
|
76
|
+
};
|
|
77
|
+
/** The box around a set of rects, or null when there are none. */
|
|
78
|
+
export declare function boundsOf(rects: readonly FlowRect[]): FlowRect | null;
|
|
79
|
+
/** The box around two boxes. */
|
|
80
|
+
export declare function unionRects(a: FlowRect, b: FlowRect): FlowRect;
|
|
81
|
+
/** A box grown by `m` on every side; negative shrinks. */
|
|
82
|
+
export declare function inflateRect(r: FlowRect, m: number): FlowRect;
|
|
83
|
+
/** The overlap of two boxes, or null when they have none. */
|
|
84
|
+
export declare function intersectRects(a: FlowRect, b: FlowRect): FlowRect | null;
|
|
85
|
+
export declare function rectsOverlap(a: FlowRect, b: FlowRect): boolean;
|
|
86
|
+
export declare function rectContains(r: FlowRect, p: XYPosition): boolean;
|
|
87
|
+
export declare function clamp(value: number, lo: number, hi: number): number;
|
|
88
|
+
/**
|
|
89
|
+
* The viewport that frames `bounds` inside a pane of `size`. Zoom first —
|
|
90
|
+
* the smaller of the two axis ratios, so nothing is cut — then translate so
|
|
91
|
+
* the scaled bounds land centred.
|
|
92
|
+
*/
|
|
93
|
+
export declare function fitViewport(bounds: FlowRect, size: {
|
|
94
|
+
width: number;
|
|
95
|
+
height: number;
|
|
96
|
+
}, options: FitViewOptions | undefined, limits: {
|
|
97
|
+
minZoom: number;
|
|
98
|
+
maxZoom: number;
|
|
99
|
+
}): Viewport;
|
|
100
|
+
/** The eight grips on a node's border, as unit directions. */
|
|
101
|
+
export declare const RESIZE_DIRECTIONS: readonly XYPosition[];
|
|
102
|
+
/** Where a grip sits on a box. */
|
|
103
|
+
export declare function gripPoint(rect: FlowRect, dir: XYPosition): XYPosition;
|
|
104
|
+
/**
|
|
105
|
+
* Drag one grip and get the box it makes. The edges the grip does not own
|
|
106
|
+
* stay exactly where they were — which is what makes a resize from the
|
|
107
|
+
* top-left move the node's origin and one from the bottom-right not.
|
|
108
|
+
*
|
|
109
|
+
* Clamped to the minimum by moving the dragged edge back, never by moving
|
|
110
|
+
* the opposite one: a node held at its floor must not creep across the
|
|
111
|
+
* canvas while the pointer keeps going.
|
|
112
|
+
*/
|
|
113
|
+
export declare function resizeRect(origin: FlowRect, dir: XYPosition, dx: number, dy: number, limits: {
|
|
114
|
+
minWidth: number;
|
|
115
|
+
minHeight: number;
|
|
116
|
+
}, snap?: (value: number, axis: 0 | 1) => number): FlowRect;
|
|
117
|
+
/**
|
|
118
|
+
* Can these two handles be joined? A source only meets a target in
|
|
119
|
+
* `'strict'` mode; `'loose'` asks only that the two ends are different
|
|
120
|
+
* nodes, for graphs whose handles are not typed.
|
|
121
|
+
*/
|
|
122
|
+
export declare function canConnect(from: {
|
|
123
|
+
nodeId: string;
|
|
124
|
+
type: 'source' | 'target';
|
|
125
|
+
}, to: {
|
|
126
|
+
nodeId: string;
|
|
127
|
+
type: 'source' | 'target';
|
|
128
|
+
}, mode: 'strict' | 'loose'): boolean;
|
|
129
|
+
/** Orient a finished gesture into a `Connection`: whichever end is the
|
|
130
|
+
* source becomes `source`, whichever way round the user dragged. */
|
|
131
|
+
export declare function orientConnection(from: {
|
|
132
|
+
nodeId: string;
|
|
133
|
+
handleId: string | null;
|
|
134
|
+
type: 'source' | 'target';
|
|
135
|
+
}, to: {
|
|
136
|
+
nodeId: string;
|
|
137
|
+
handleId: string | null;
|
|
138
|
+
type: 'source' | 'target';
|
|
139
|
+
}): Connection;
|
|
140
|
+
/** Perceived lightness, 0-1, or null for a colour that would not parse. Only
|
|
141
|
+
* used to pick between two hard-coded fallbacks, never to compute one. */
|
|
142
|
+
export declare function lightness(color: string | undefined): number | null;
|
|
143
|
+
/**
|
|
144
|
+
* The pane's colours: the desktop palette where it has an opinion, a
|
|
145
|
+
* hard-coded scheme where it does not, and the app's `palette` prop over
|
|
146
|
+
* both.
|
|
147
|
+
*
|
|
148
|
+
* Every token is taken by its own name. A node is `surface` and the pane is
|
|
149
|
+
* `background` — "the ground" and "what is raised off it", which is exactly
|
|
150
|
+
* the distinction core's palette draws, and the reason a card on a dark
|
|
151
|
+
* desktop is a card you can see.
|
|
152
|
+
*/
|
|
153
|
+
export declare function resolvePalette(theme: Record<string, unknown> | null, overrides?: Partial<FlowPalette>): FlowPalette;
|
|
154
|
+
export declare function normalizeBackground(value: BackgroundOptions | string | boolean | undefined): Required<Omit<BackgroundOptions, 'color'>> & {
|
|
155
|
+
color?: string;
|
|
156
|
+
};
|
|
157
|
+
export declare function normalizeMarker(marker: MarkerType | EdgeMarker | null | undefined): EdgeMarker | null;
|
|
158
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/flow/model.ts"],"names":[],"mappings":"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"}
|