@flyingrobots/bijou-tui 7.1.0 → 7.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 +27 -4
- package/dist/accordion.d.ts +3 -108
- package/dist/accordion.d.ts.map +1 -1
- package/dist/accordion.js +2 -161
- package/dist/accordion.js.map +1 -1
- package/dist/accordion.part01.d.ts +25 -0
- package/dist/accordion.part01.d.ts.map +1 -0
- package/dist/accordion.part01.js +61 -0
- package/dist/accordion.part01.js.map +1 -0
- package/dist/accordion.part02.d.ts +8 -0
- package/dist/accordion.part02.d.ts.map +1 -0
- package/dist/accordion.part02.js +15 -0
- package/dist/accordion.part02.js.map +1 -0
- package/dist/animate.d.ts.map +1 -1
- package/dist/animate.js +5 -6
- package/dist/animate.js.map +1 -1
- package/dist/app-frame-actions.d.ts +1 -18
- package/dist/app-frame-actions.d.ts.map +1 -1
- package/dist/app-frame-actions.js +44 -42
- package/dist/app-frame-actions.js.map +1 -1
- package/dist/app-frame-i18n.d.ts.map +1 -1
- package/dist/app-frame-i18n.js +19 -2
- package/dist/app-frame-i18n.js.map +1 -1
- package/dist/app-frame-overlays.d.ts +1 -8
- package/dist/app-frame-overlays.d.ts.map +1 -1
- package/dist/app-frame-overlays.js +54 -24
- package/dist/app-frame-overlays.js.map +1 -1
- package/dist/app-frame-palette.d.ts +1 -11
- package/dist/app-frame-palette.d.ts.map +1 -1
- package/dist/app-frame-palette.js +19 -18
- package/dist/app-frame-palette.js.map +1 -1
- package/dist/app-frame-render.d.ts +0 -7
- package/dist/app-frame-render.d.ts.map +1 -1
- package/dist/app-frame-render.js +17 -26
- package/dist/app-frame-render.js.map +1 -1
- package/dist/app-frame-types.d.ts +8 -4
- package/dist/app-frame-types.d.ts.map +1 -1
- package/dist/app-frame-types.js +5 -5
- package/dist/app-frame-types.js.map +1 -1
- package/dist/app-frame-utils.d.ts +2 -1
- package/dist/app-frame-utils.d.ts.map +1 -1
- package/dist/app-frame-utils.js +8 -1
- package/dist/app-frame-utils.js.map +1 -1
- package/dist/app-frame.d.ts +14 -3
- package/dist/app-frame.d.ts.map +1 -1
- package/dist/app-frame.js +295 -231
- package/dist/app-frame.js.map +1 -1
- package/dist/app-frame.test-support.part01.d.ts +149 -0
- package/dist/app-frame.test-support.part01.d.ts.map +1 -0
- package/dist/app-frame.test-support.part01.js +106 -0
- package/dist/app-frame.test-support.part01.js.map +1 -0
- package/dist/app-frame.test-support.part02.d.ts +15 -0
- package/dist/app-frame.test-support.part02.d.ts.map +1 -0
- package/dist/app-frame.test-support.part02.js +89 -0
- package/dist/app-frame.test-support.part02.js.map +1 -0
- package/dist/browsable-list.d.ts +5 -5
- package/dist/browsable-list.d.ts.map +1 -1
- package/dist/browsable-list.js.map +1 -1
- package/dist/canvas.d.ts +2 -34
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +43 -47
- package/dist/canvas.js.map +1 -1
- package/dist/cell-glyph-fit.js +1 -1
- package/dist/cell-glyph-fit.js.map +1 -1
- package/dist/collection-surface-types.d.ts +12 -0
- package/dist/collection-surface-types.d.ts.map +1 -0
- package/dist/collection-surface-types.js +2 -0
- package/dist/collection-surface-types.js.map +1 -0
- package/dist/collection-surface.d.ts +2 -7
- package/dist/collection-surface.d.ts.map +1 -1
- package/dist/collection-surface.js +8 -18
- package/dist/collection-surface.js.map +1 -1
- package/dist/command-palette.d.ts.map +1 -1
- package/dist/command-palette.js +2 -1
- package/dist/command-palette.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/css/install.js.map +1 -1
- package/dist/css/parser.js +9 -3
- package/dist/css/parser.js.map +1 -1
- package/dist/css/resolver-types.d.ts +13 -0
- package/dist/css/resolver-types.d.ts.map +1 -0
- package/dist/css/resolver-types.js +2 -0
- package/dist/css/resolver-types.js.map +1 -0
- package/dist/css/resolver.d.ts +2 -12
- package/dist/css/resolver.d.ts.map +1 -1
- package/dist/css/resolver.js +13 -20
- package/dist/css/resolver.js.map +1 -1
- package/dist/css/text-style.d.ts +4 -8
- package/dist/css/text-style.d.ts.map +1 -1
- package/dist/css/text-style.js +13 -18
- package/dist/css/text-style.js.map +1 -1
- package/dist/dag-pane.d.ts +4 -224
- package/dist/dag-pane.d.ts.map +1 -1
- package/dist/dag-pane.js +3 -516
- package/dist/dag-pane.js.map +1 -1
- package/dist/dag-pane.part01.d.ts +58 -0
- package/dist/dag-pane.part01.d.ts.map +1 -0
- package/dist/dag-pane.part01.js +2 -0
- package/dist/dag-pane.part01.js.map +1 -0
- package/dist/dag-pane.part02.d.ts +4 -0
- package/dist/dag-pane.part02.d.ts.map +1 -0
- package/dist/dag-pane.part02.js +56 -0
- package/dist/dag-pane.part02.js.map +1 -0
- package/dist/dag-pane.part03.d.ts +6 -0
- package/dist/dag-pane.part03.d.ts.map +1 -0
- package/dist/dag-pane.part03.js +76 -0
- package/dist/dag-pane.part03.js.map +1 -0
- package/dist/dag-pane.part04.d.ts +7 -0
- package/dist/dag-pane.part04.d.ts.map +1 -0
- package/dist/dag-pane.part04.js +66 -0
- package/dist/dag-pane.part04.js.map +1 -0
- package/dist/dag-pane.part05.d.ts +7 -0
- package/dist/dag-pane.part05.d.ts.map +1 -0
- package/dist/dag-pane.part05.js +78 -0
- package/dist/dag-pane.part05.js.map +1 -0
- package/dist/dag-pane.part06.d.ts +14 -0
- package/dist/dag-pane.part06.d.ts.map +1 -0
- package/dist/dag-pane.part06.js +65 -0
- package/dist/dag-pane.part06.js.map +1 -0
- package/dist/dag-pane.part07.d.ts +18 -0
- package/dist/dag-pane.part07.d.ts.map +1 -0
- package/dist/dag-pane.part07.js +22 -0
- package/dist/dag-pane.part07.js.map +1 -0
- package/dist/driver.d.ts +35 -21
- package/dist/driver.d.ts.map +1 -1
- package/dist/driver.js +69 -39
- package/dist/driver.js.map +1 -1
- package/dist/eventbus.d.ts.map +1 -1
- package/dist/eventbus.js +13 -23
- package/dist/eventbus.js.map +1 -1
- package/dist/file-picker.d.ts +4 -164
- package/dist/file-picker.d.ts.map +1 -1
- package/dist/file-picker.js +3 -292
- package/dist/file-picker.js.map +1 -1
- package/dist/file-picker.part01.d.ts +54 -0
- package/dist/file-picker.part01.d.ts.map +1 -0
- package/dist/file-picker.part01.js +47 -0
- package/dist/file-picker.part01.js.map +1 -0
- package/dist/file-picker.part02.d.ts +9 -0
- package/dist/file-picker.part02.d.ts.map +1 -0
- package/dist/file-picker.part02.js +77 -0
- package/dist/file-picker.part02.js.map +1 -0
- package/dist/file-picker.part03.d.ts +12 -0
- package/dist/file-picker.part03.d.ts.map +1 -0
- package/dist/file-picker.part03.js +35 -0
- package/dist/file-picker.part03.js.map +1 -0
- package/dist/flex.d.ts +0 -61
- package/dist/flex.d.ts.map +1 -1
- package/dist/flex.js +11 -161
- package/dist/flex.js.map +1 -1
- package/dist/focus-area.d.ts +6 -210
- package/dist/focus-area.d.ts.map +1 -1
- package/dist/focus-area.js +5 -425
- package/dist/focus-area.js.map +1 -1
- package/dist/focus-area.part01.d.ts +57 -0
- package/dist/focus-area.part01.d.ts.map +1 -0
- package/dist/focus-area.part01.js +23 -0
- package/dist/focus-area.part01.js.map +1 -0
- package/dist/focus-area.part02.d.ts +13 -0
- package/dist/focus-area.part02.d.ts.map +1 -0
- package/dist/focus-area.part02.js +65 -0
- package/dist/focus-area.part02.js.map +1 -0
- package/dist/focus-area.part03.d.ts +5 -0
- package/dist/focus-area.part03.d.ts.map +1 -0
- package/dist/focus-area.part03.js +42 -0
- package/dist/focus-area.part03.js.map +1 -0
- package/dist/focus-area.part04.d.ts +5 -0
- package/dist/focus-area.part04.d.ts.map +1 -0
- package/dist/focus-area.part04.js +49 -0
- package/dist/focus-area.part04.js.map +1 -0
- package/dist/focus-area.part05.d.ts +10 -0
- package/dist/focus-area.part05.d.ts.map +1 -0
- package/dist/focus-area.part05.js +66 -0
- package/dist/focus-area.part05.js.map +1 -0
- package/dist/focus-area.part06.d.ts +17 -0
- package/dist/focus-area.part06.d.ts.map +1 -0
- package/dist/focus-area.part06.js +48 -0
- package/dist/focus-area.part06.js.map +1 -0
- package/dist/focus-map.d.ts.map +1 -1
- package/dist/focus-map.js +8 -10
- package/dist/focus-map.js.map +1 -1
- package/dist/index.d.ts +8 -80
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -107
- package/dist/index.js.map +1 -1
- package/dist/index.part01.d.ts +15 -0
- package/dist/index.part01.d.ts.map +1 -0
- package/dist/index.part01.js +11 -0
- package/dist/index.part01.js.map +1 -0
- package/dist/index.part02.d.ts +26 -0
- package/dist/index.part02.d.ts.map +1 -0
- package/dist/index.part02.js +24 -0
- package/dist/index.part02.js.map +1 -0
- package/dist/index.part03.d.ts +17 -0
- package/dist/index.part03.d.ts.map +1 -0
- package/dist/index.part03.js +11 -0
- package/dist/index.part03.js.map +1 -0
- package/dist/index.part04.d.ts +6 -0
- package/dist/index.part04.d.ts.map +1 -0
- package/dist/index.part04.js +11 -0
- package/dist/index.part04.js.map +1 -0
- package/dist/index.part05.d.ts +10 -0
- package/dist/index.part05.d.ts.map +1 -0
- package/dist/index.part05.js +26 -0
- package/dist/index.part05.js.map +1 -0
- package/dist/index.part06.d.ts +9 -0
- package/dist/index.part06.d.ts.map +1 -0
- package/dist/index.part06.js +16 -0
- package/dist/index.part06.js.map +1 -0
- package/dist/index.part07.d.ts +8 -0
- package/dist/index.part07.d.ts.map +1 -0
- package/dist/index.part07.js +15 -0
- package/dist/index.part07.js.map +1 -0
- package/dist/index.part08.d.ts +5 -0
- package/dist/index.part08.d.ts.map +1 -0
- package/dist/index.part08.js +9 -0
- package/dist/index.part08.js.map +1 -0
- package/dist/input-map.d.ts.map +1 -1
- package/dist/input-map.js +1 -2
- package/dist/input-map.js.map +1 -1
- package/dist/input-parser.d.ts +3 -0
- package/dist/input-parser.d.ts.map +1 -0
- package/dist/input-parser.js +95 -0
- package/dist/input-parser.js.map +1 -0
- package/dist/input-routing-inspector.js +3 -3
- package/dist/input-routing-inspector.js.map +1 -1
- package/dist/inputstack.d.ts.map +1 -1
- package/dist/inputstack.js +2 -0
- package/dist/inputstack.js.map +1 -1
- package/dist/keybindings.d.ts.map +1 -1
- package/dist/keybindings.js +5 -2
- package/dist/keybindings.js.map +1 -1
- package/dist/keys.d.ts +0 -36
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +11 -66
- package/dist/keys.js.map +1 -1
- package/dist/layout-inspector.d.ts +2 -30
- package/dist/layout-inspector.d.ts.map +1 -1
- package/dist/layout-inspector.js +1 -132
- package/dist/layout-inspector.js.map +1 -1
- package/dist/layout-inspector.part01.d.ts +52 -0
- package/dist/layout-inspector.part01.d.ts.map +1 -0
- package/dist/layout-inspector.part01.js +48 -0
- package/dist/layout-inspector.part01.js.map +1 -0
- package/dist/layout-inspector.part02.d.ts +11 -0
- package/dist/layout-inspector.part02.d.ts.map +1 -0
- package/dist/layout-inspector.part02.js +80 -0
- package/dist/layout-inspector.part02.js.map +1 -0
- package/dist/layout-inspector.part03.d.ts +5 -0
- package/dist/layout-inspector.part03.d.ts.map +1 -0
- package/dist/layout-inspector.part03.js +11 -0
- package/dist/layout-inspector.part03.js.map +1 -0
- package/dist/layout-preset.js +4 -4
- package/dist/layout-preset.js.map +1 -1
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +5 -3
- package/dist/layout.js.map +1 -1
- package/dist/motion/motion.js +8 -4
- package/dist/motion/motion.js.map +1 -1
- package/dist/motion/reconciler.d.ts.map +1 -1
- package/dist/motion/reconciler.js +9 -7
- package/dist/motion/reconciler.js.map +1 -1
- package/dist/mouse-mode.d.ts +5 -0
- package/dist/mouse-mode.d.ts.map +1 -0
- package/dist/mouse-mode.js +17 -0
- package/dist/mouse-mode.js.map +1 -0
- package/dist/navigable-table.d.ts +3 -136
- package/dist/navigable-table.d.ts.map +1 -1
- package/dist/navigable-table.js +2 -234
- package/dist/navigable-table.js.map +1 -1
- package/dist/navigable-table.part01.d.ts +42 -0
- package/dist/navigable-table.part01.d.ts.map +1 -0
- package/dist/navigable-table.part01.js +42 -0
- package/dist/navigable-table.part01.js.map +1 -0
- package/dist/navigable-table.part02.d.ts +16 -0
- package/dist/navigable-table.part02.d.ts.map +1 -0
- package/dist/navigable-table.part02.js +83 -0
- package/dist/navigable-table.part02.js.map +1 -0
- package/dist/notification-card.d.ts +11 -0
- package/dist/notification-card.d.ts.map +1 -0
- package/dist/notification-card.js +157 -0
- package/dist/notification-card.js.map +1 -0
- package/dist/notification-stack.d.ts +6 -0
- package/dist/notification-stack.d.ts.map +1 -0
- package/dist/notification-stack.js +257 -0
- package/dist/notification-stack.js.map +1 -0
- package/dist/notification.d.ts +14 -112
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +12 -1087
- package/dist/notification.js.map +1 -1
- package/dist/notification.part01.d.ts +77 -0
- package/dist/notification.part01.d.ts.map +1 -0
- package/dist/notification.part01.js +19 -0
- package/dist/notification.part01.js.map +1 -0
- package/dist/notification.part02.d.ts +42 -0
- package/dist/notification.part02.d.ts.map +1 -0
- package/dist/notification.part02.js +44 -0
- package/dist/notification.part02.js.map +1 -0
- package/dist/notification.part03.d.ts +6 -0
- package/dist/notification.part03.d.ts.map +1 -0
- package/dist/notification.part03.js +81 -0
- package/dist/notification.part03.js.map +1 -0
- package/dist/notification.part04.d.ts +4 -0
- package/dist/notification.part04.d.ts.map +1 -0
- package/dist/notification.part04.js +32 -0
- package/dist/notification.part04.js.map +1 -0
- package/dist/notification.part05.d.ts +6 -0
- package/dist/notification.part05.d.ts.map +1 -0
- package/dist/notification.part05.js +95 -0
- package/dist/notification.part05.js.map +1 -0
- package/dist/notification.part06.d.ts +9 -0
- package/dist/notification.part06.d.ts.map +1 -0
- package/dist/notification.part06.js +65 -0
- package/dist/notification.part06.js.map +1 -0
- package/dist/notification.part07.d.ts +10 -0
- package/dist/notification.part07.d.ts.map +1 -0
- package/dist/notification.part07.js +70 -0
- package/dist/notification.part07.js.map +1 -0
- package/dist/notification.part08.d.ts +5 -0
- package/dist/notification.part08.d.ts.map +1 -0
- package/dist/notification.part08.js +79 -0
- package/dist/notification.part08.js.map +1 -0
- package/dist/notification.part09.d.ts +14 -0
- package/dist/notification.part09.d.ts.map +1 -0
- package/dist/notification.part09.js +96 -0
- package/dist/notification.part09.js.map +1 -0
- package/dist/notification.part10.d.ts +13 -0
- package/dist/notification.part10.d.ts.map +1 -0
- package/dist/notification.part10.js +94 -0
- package/dist/notification.part10.js.map +1 -0
- package/dist/notification.part11.d.ts +6 -0
- package/dist/notification.part11.d.ts.map +1 -0
- package/dist/notification.part11.js +42 -0
- package/dist/notification.part11.js.map +1 -0
- package/dist/overlay.d.ts +8 -232
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +5 -629
- package/dist/overlay.js.map +1 -1
- package/dist/overlay.part01.d.ts +71 -0
- package/dist/overlay.part01.d.ts.map +1 -0
- package/dist/overlay.part01.js +34 -0
- package/dist/overlay.part01.js.map +1 -0
- package/dist/overlay.part02.d.ts +8 -0
- package/dist/overlay.part02.d.ts.map +1 -0
- package/dist/overlay.part02.js +81 -0
- package/dist/overlay.part02.js.map +1 -0
- package/dist/overlay.part03.d.ts +27 -0
- package/dist/overlay.part03.d.ts.map +1 -0
- package/dist/overlay.part03.js +83 -0
- package/dist/overlay.part03.js.map +1 -0
- package/dist/overlay.part04.d.ts +8 -0
- package/dist/overlay.part04.d.ts.map +1 -0
- package/dist/overlay.part04.js +103 -0
- package/dist/overlay.part04.js.map +1 -0
- package/dist/overlay.part05.d.ts +8 -0
- package/dist/overlay.part05.d.ts.map +1 -0
- package/dist/overlay.part05.js +66 -0
- package/dist/overlay.part05.js.map +1 -0
- package/dist/overlay.part06.d.ts +46 -0
- package/dist/overlay.part06.d.ts.map +1 -0
- package/dist/overlay.part06.js +35 -0
- package/dist/overlay.part06.js.map +1 -0
- package/dist/overlay.part07.d.ts +4 -0
- package/dist/overlay.part07.d.ts.map +1 -0
- package/dist/overlay.part07.js +64 -0
- package/dist/overlay.part07.js.map +1 -0
- package/dist/overlay.part08.d.ts +34 -0
- package/dist/overlay.part08.d.ts.map +1 -0
- package/dist/overlay.part08.js +54 -0
- package/dist/overlay.part08.js.map +1 -0
- package/dist/overlay.part09.d.ts +6 -0
- package/dist/overlay.part09.d.ts.map +1 -0
- package/dist/overlay.part09.js +42 -0
- package/dist/overlay.part09.js.map +1 -0
- package/dist/pager.d.ts.map +1 -1
- package/dist/pager.js +2 -4
- package/dist/pager.js.map +1 -1
- package/dist/panel-dock.d.ts.map +1 -1
- package/dist/panel-dock.js +9 -11
- package/dist/panel-dock.js.map +1 -1
- package/dist/panels.d.ts.map +1 -1
- package/dist/panels.js +2 -0
- package/dist/panels.js.map +1 -1
- package/dist/pipeline/middleware/css.d.ts +3 -5
- package/dist/pipeline/middleware/css.d.ts.map +1 -1
- package/dist/pipeline/middleware/css.js +12 -6
- package/dist/pipeline/middleware/css.js.map +1 -1
- package/dist/pipeline/middleware/grayscale.js +15 -10
- package/dist/pipeline/middleware/grayscale.js.map +1 -1
- package/dist/pipeline/middleware/motion.js +9 -1
- package/dist/pipeline/middleware/motion.js.map +1 -1
- package/dist/pipeline/middleware/paint.js +9 -1
- package/dist/pipeline/middleware/paint.js.map +1 -1
- package/dist/pipeline/middleware/surface-shaders.js +13 -11
- package/dist/pipeline/middleware/surface-shaders.js.map +1 -1
- package/dist/pipeline/pipeline.d.ts +7 -52
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +37 -27
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/raster-glyph.d.ts +2 -44
- package/dist/raster-glyph.d.ts.map +1 -1
- package/dist/raster-glyph.js +1 -404
- package/dist/raster-glyph.js.map +1 -1
- package/dist/raster-glyph.part01.d.ts +75 -0
- package/dist/raster-glyph.part01.d.ts.map +1 -0
- package/dist/raster-glyph.part01.js +25 -0
- package/dist/raster-glyph.part01.js.map +1 -0
- package/dist/raster-glyph.part02.d.ts +12 -0
- package/dist/raster-glyph.part02.d.ts.map +1 -0
- package/dist/raster-glyph.part02.js +81 -0
- package/dist/raster-glyph.part02.js.map +1 -0
- package/dist/raster-glyph.part03.d.ts +6 -0
- package/dist/raster-glyph.part03.d.ts.map +1 -0
- package/dist/raster-glyph.part03.js +60 -0
- package/dist/raster-glyph.part03.js.map +1 -0
- package/dist/raster-glyph.part04.d.ts +7 -0
- package/dist/raster-glyph.part04.d.ts.map +1 -0
- package/dist/raster-glyph.part04.js +59 -0
- package/dist/raster-glyph.part04.js.map +1 -0
- package/dist/raster-glyph.part05.d.ts +6 -0
- package/dist/raster-glyph.part05.d.ts.map +1 -0
- package/dist/raster-glyph.part05.js +71 -0
- package/dist/raster-glyph.part05.js.map +1 -0
- package/dist/raster-glyph.part06.d.ts +18 -0
- package/dist/raster-glyph.part06.d.ts.map +1 -0
- package/dist/raster-glyph.part06.js +78 -0
- package/dist/raster-glyph.part06.js.map +1 -0
- package/dist/raster-glyph.part07.d.ts +11 -0
- package/dist/raster-glyph.part07.d.ts.map +1 -0
- package/dist/raster-glyph.part07.js +55 -0
- package/dist/raster-glyph.part07.js.map +1 -0
- package/dist/raytrace.d.ts +3 -58
- package/dist/raytrace.d.ts.map +1 -1
- package/dist/raytrace.js +2 -120
- package/dist/raytrace.js.map +1 -1
- package/dist/raytrace.part01.d.ts +47 -0
- package/dist/raytrace.part01.d.ts.map +1 -0
- package/dist/raytrace.part01.js +45 -0
- package/dist/raytrace.part01.js.map +1 -0
- package/dist/raytrace.part02.d.ts +12 -0
- package/dist/raytrace.part02.d.ts.map +1 -0
- package/dist/raytrace.part02.js +73 -0
- package/dist/raytrace.part02.js.map +1 -0
- package/dist/runtime-binding.d.ts +2 -3
- package/dist/runtime-binding.d.ts.map +1 -1
- package/dist/runtime-binding.js +49 -38
- package/dist/runtime-binding.js.map +1 -1
- package/dist/runtime-engine.d.ts +2 -2
- package/dist/runtime-engine.d.ts.map +1 -1
- package/dist/runtime-engine.js +15 -4
- package/dist/runtime-engine.js.map +1 -1
- package/dist/runtime.d.ts +2 -18
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +33 -59
- package/dist/runtime.js.map +1 -1
- package/dist/screen.js +1 -1
- package/dist/screen.js.map +1 -1
- package/dist/shell-quit.d.ts.map +1 -1
- package/dist/shell-quit.js +48 -5
- package/dist/shell-quit.js.map +1 -1
- package/dist/split-pane.d.ts +3 -104
- package/dist/split-pane.d.ts.map +1 -1
- package/dist/split-pane.js +2 -190
- package/dist/split-pane.js.map +1 -1
- package/dist/split-pane.part01.d.ts +60 -0
- package/dist/split-pane.part01.d.ts.map +1 -0
- package/dist/split-pane.part01.js +45 -0
- package/dist/split-pane.part01.js.map +1 -0
- package/dist/split-pane.part02.d.ts +8 -0
- package/dist/split-pane.part02.d.ts.map +1 -0
- package/dist/split-pane.part02.js +73 -0
- package/dist/split-pane.part02.js.map +1 -0
- package/dist/split-pane.part03.d.ts +4 -0
- package/dist/split-pane.part03.d.ts.map +1 -0
- package/dist/split-pane.part03.js +40 -0
- package/dist/split-pane.part03.js.map +1 -0
- package/dist/spring.d.ts +4 -187
- package/dist/spring.d.ts.map +1 -1
- package/dist/spring.js +2 -142
- package/dist/spring.js.map +1 -1
- package/dist/spring.part01.d.ts +90 -0
- package/dist/spring.part01.d.ts.map +1 -0
- package/dist/spring.part01.js +58 -0
- package/dist/spring.part01.js.map +1 -0
- package/dist/spring.part02.d.ts +25 -0
- package/dist/spring.part02.d.ts.map +1 -0
- package/dist/spring.part02.js +21 -0
- package/dist/spring.part02.js.map +1 -0
- package/dist/status-bar.js +1 -1
- package/dist/status-bar.js.map +1 -1
- package/dist/subapp/mount.d.ts +6 -6
- package/dist/subapp/mount.d.ts.map +1 -1
- package/dist/subapp/mount.js +19 -14
- package/dist/subapp/mount.js.map +1 -1
- package/dist/surface-budget-types.d.ts +26 -0
- package/dist/surface-budget-types.d.ts.map +1 -0
- package/dist/surface-budget-types.js +2 -0
- package/dist/surface-budget-types.js.map +1 -0
- package/dist/surface-budget.d.ts +2 -25
- package/dist/surface-budget.d.ts.map +1 -1
- package/dist/surface-budget.js.map +1 -1
- package/dist/surface-diff.js +26 -28
- package/dist/surface-diff.js.map +1 -1
- package/dist/surface-layout.d.ts.map +1 -1
- package/dist/surface-layout.js +1 -2
- package/dist/surface-layout.js.map +1 -1
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +17 -15
- package/dist/timeline.js.map +1 -1
- package/dist/transition-shaders.d.ts +5 -142
- package/dist/transition-shaders.d.ts.map +1 -1
- package/dist/transition-shaders.js +4 -391
- package/dist/transition-shaders.js.map +1 -1
- package/dist/transition-shaders.part01.d.ts +41 -0
- package/dist/transition-shaders.part01.d.ts.map +1 -0
- package/dist/transition-shaders.part01.js +38 -0
- package/dist/transition-shaders.part01.js.map +1 -0
- package/dist/transition-shaders.part02.d.ts +12 -0
- package/dist/transition-shaders.part02.d.ts.map +1 -0
- package/dist/transition-shaders.part02.js +88 -0
- package/dist/transition-shaders.part02.js.map +1 -0
- package/dist/transition-shaders.part03.d.ts +6 -0
- package/dist/transition-shaders.part03.d.ts.map +1 -0
- package/dist/transition-shaders.part03.js +82 -0
- package/dist/transition-shaders.part03.js.map +1 -0
- package/dist/transition-shaders.part04.d.ts +16 -0
- package/dist/transition-shaders.part04.d.ts.map +1 -0
- package/dist/transition-shaders.part04.js +98 -0
- package/dist/transition-shaders.part04.js.map +1 -0
- package/dist/types.d.ts +10 -42
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -36
- package/dist/types.js.map +1 -1
- package/dist/view-output.d.ts +1 -1
- package/dist/view-output.d.ts.map +1 -1
- package/dist/view-output.js +3 -2
- package/dist/view-output.js.map +1 -1
- package/dist/viewport.d.ts +7 -213
- package/dist/viewport.d.ts.map +1 -1
- package/dist/viewport.js +6 -470
- package/dist/viewport.js.map +1 -1
- package/dist/viewport.part01.d.ts +51 -0
- package/dist/viewport.part01.d.ts.map +1 -0
- package/dist/viewport.part01.js +10 -0
- package/dist/viewport.part01.js.map +1 -0
- package/dist/viewport.part02.d.ts +2 -0
- package/dist/viewport.part02.d.ts.map +1 -0
- package/dist/viewport.part02.js +69 -0
- package/dist/viewport.part02.js.map +1 -0
- package/dist/viewport.part03.d.ts +10 -0
- package/dist/viewport.part03.d.ts.map +1 -0
- package/dist/viewport.part03.js +78 -0
- package/dist/viewport.part03.js.map +1 -0
- package/dist/viewport.part04.d.ts +4 -0
- package/dist/viewport.part04.d.ts.map +1 -0
- package/dist/viewport.part04.js +50 -0
- package/dist/viewport.part04.js.map +1 -0
- package/dist/viewport.part05.d.ts +5 -0
- package/dist/viewport.part05.d.ts.map +1 -0
- package/dist/viewport.part05.js +59 -0
- package/dist/viewport.part05.js.map +1 -0
- package/dist/viewport.part06.d.ts +14 -0
- package/dist/viewport.part06.d.ts.map +1 -0
- package/dist/viewport.part06.js +58 -0
- package/dist/viewport.part06.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { BijouContext, Cell, TokenValue } from '@flyingrobots/bijou';
|
|
2
|
+
export interface TransitionCell {
|
|
3
|
+
readonly x: number;
|
|
4
|
+
readonly y: number;
|
|
5
|
+
readonly width: number;
|
|
6
|
+
readonly height: number;
|
|
7
|
+
readonly progress: number;
|
|
8
|
+
/** Stable pseudo-random [0, 1] based on coordinates — constant across frames. */
|
|
9
|
+
readonly rand: number;
|
|
10
|
+
/** Monotonic frame counter for temporal effects (glitch, static, etc.). */
|
|
11
|
+
readonly frame: number;
|
|
12
|
+
readonly ctx: BijouContext;
|
|
13
|
+
}
|
|
14
|
+
export type TransitionOverrideRole = 'decoration' | 'marker';
|
|
15
|
+
export interface TransitionResult {
|
|
16
|
+
readonly showNext: boolean;
|
|
17
|
+
readonly overrideChar?: string;
|
|
18
|
+
/** Surface-native override cell. Merged on top of the selected base cell. */
|
|
19
|
+
readonly overrideCell?: Cell;
|
|
20
|
+
/** Semantic role of the override. Defaults to `'decoration'` if omitted. */
|
|
21
|
+
readonly overrideRole?: TransitionOverrideRole;
|
|
22
|
+
}
|
|
23
|
+
export type TransitionShaderFn = (cell: TransitionCell) => TransitionResult;
|
|
24
|
+
export type WipeDirection = 'left' | 'right' | 'up' | 'down';
|
|
25
|
+
export type BuiltinTransition = 'none' | 'wipe' | 'dissolve' | 'grid' | 'fade' | 'melt' | 'matrix' | 'scramble' | 'radial' | 'diamond' | 'spiral' | 'blinds' | 'curtain' | 'pixelate' | 'typewriter' | 'glitch' | 'static';
|
|
26
|
+
export declare function tokenCell(char: string, token: TokenValue): Cell;
|
|
27
|
+
export declare function noise(x: number, y: number, seed: number): number;
|
|
28
|
+
export interface OriginMetrics {
|
|
29
|
+
readonly nx: number;
|
|
30
|
+
readonly ny: number;
|
|
31
|
+
readonly aspect: number;
|
|
32
|
+
readonly dx: number;
|
|
33
|
+
readonly dy: number;
|
|
34
|
+
readonly dist: number;
|
|
35
|
+
readonly maxDist: number;
|
|
36
|
+
readonly normDist: number;
|
|
37
|
+
}
|
|
38
|
+
export declare function computeOriginMetrics(x: number, y: number, width: number, height: number, originX: number, originY: number): OriginMetrics;
|
|
39
|
+
export declare const wipeShader: TransitionShaderFn;
|
|
40
|
+
export declare const dissolveShader: TransitionShaderFn;
|
|
41
|
+
//# sourceMappingURL=transition-shaders.part01.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part01.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part01.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC5B;AACD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;CAChD;AACD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,gBAAgB,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AACb,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAW/D;AACD,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhE;AACD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAC/B,aAAa,CAaf;AACD,eAAO,MAAM,UAAU,EAAE,kBAEvB,CAAC;AACH,eAAO,MAAM,cAAc,EAAE,kBAE3B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function tokenCell(char, token) {
|
|
2
|
+
const cell = {
|
|
3
|
+
char,
|
|
4
|
+
fg: token.hex,
|
|
5
|
+
bg: token.bg,
|
|
6
|
+
modifiers: token.modifiers ? [...token.modifiers] : [],
|
|
7
|
+
empty: false,
|
|
8
|
+
};
|
|
9
|
+
if (token.fgRGB)
|
|
10
|
+
cell.fgRGB = token.fgRGB;
|
|
11
|
+
if (token.bgRGB)
|
|
12
|
+
cell.bgRGB = token.bgRGB;
|
|
13
|
+
return cell;
|
|
14
|
+
}
|
|
15
|
+
export function noise(x, y, seed) {
|
|
16
|
+
// Constant offset (7.31) breaks the degenerate fixed point at (0, 0, 0).
|
|
17
|
+
const v = Math.sin(x * 12.9898 + y * 78.233 + seed * 43.7585 + 7.31) * 43758.5453;
|
|
18
|
+
return v - Math.floor(v);
|
|
19
|
+
}
|
|
20
|
+
export function computeOriginMetrics(x, y, width, height, originX, originY) {
|
|
21
|
+
const nx = x / width;
|
|
22
|
+
const ny = y / height;
|
|
23
|
+
const aspect = width / Math.max(1, height) * 0.5; // chars are ~2:1 tall
|
|
24
|
+
const dx = (nx - originX) * aspect;
|
|
25
|
+
const dy = ny - originY;
|
|
26
|
+
const dist = Math.sqrt(dx * dx + dy * dy);
|
|
27
|
+
const maxDist = Math.sqrt(Math.max(originX, 1 - originX) ** 2 * aspect * aspect
|
|
28
|
+
+ Math.max(originY, 1 - originY) ** 2);
|
|
29
|
+
const normDist = maxDist > 0 ? dist / maxDist : 0;
|
|
30
|
+
return { nx, ny, aspect, dx, dy, dist, maxDist, normDist };
|
|
31
|
+
}
|
|
32
|
+
export const wipeShader = ({ x, width, progress }) => ({
|
|
33
|
+
showNext: x / width < progress,
|
|
34
|
+
});
|
|
35
|
+
export const dissolveShader = ({ rand, progress }) => ({
|
|
36
|
+
showNext: rand < progress,
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=transition-shaders.part01.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part01.js","sourceRoot":"","sources":["../src/transition-shaders.part01.ts"],"names":[],"mappings":"AA0CA,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAiB;IACvD,MAAM,IAAI,GAAS;QACjB,IAAI;QACJ,EAAE,EAAE,KAAK,CAAC,GAAG;QACb,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,KAAK,EAAE,KAAK;KACb,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;IACtD,yEAAyE;IACzE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAClF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EACnD,OAAe,EAAE,OAAe;IAEhC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,sBAAsB;IACxE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM;UACnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC;AACD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,QAAQ,EAAE,IAAI,GAAG,QAAQ;CAC1B,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TransitionShaderFn, WipeDirection } from './transition-shaders.part01.js';
|
|
2
|
+
export declare const gridShader: TransitionShaderFn;
|
|
3
|
+
export declare const fadeShader: TransitionShaderFn;
|
|
4
|
+
export declare const meltShader: TransitionShaderFn;
|
|
5
|
+
export declare const matrixShader: TransitionShaderFn;
|
|
6
|
+
export declare const scrambleShader: TransitionShaderFn;
|
|
7
|
+
export declare function wipe(direction?: WipeDirection): TransitionShaderFn;
|
|
8
|
+
export declare function radial(originX?: number, originY?: number): TransitionShaderFn;
|
|
9
|
+
export declare function diamond(originX?: number, originY?: number): TransitionShaderFn;
|
|
10
|
+
export declare function spiral(turns?: number, originX?: number, originY?: number): TransitionShaderFn;
|
|
11
|
+
export declare function blinds(count?: number, direction?: 'horizontal' | 'vertical'): TransitionShaderFn;
|
|
12
|
+
//# sourceMappingURL=transition-shaders.part02.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part02.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part02.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACxF,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,kBAEvB,CAAC;AACH,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AACF,eAAO,MAAM,YAAY,EAAE,kBAiB1B,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,kBAa5B,CAAC;AACF,wBAAgB,IAAI,CAAC,SAAS,GAAE,aAAuB,GAAG,kBAAkB,CAQ3E;AACD,wBAAgB,MAAM,CAAC,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CAKvE;AACD,wBAAgB,OAAO,CAAC,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CASxE;AACD,wBAAgB,MAAM,CAAC,KAAK,SAAI,EAAE,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CAQlF;AACD,wBAAgB,MAAM,CACpB,KAAK,SAAI,EACT,SAAS,GAAE,YAAY,GAAG,UAAyB,GAClD,kBAAkB,CAMpB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { computeOriginMetrics, tokenCell } from './transition-shaders.part01.js';
|
|
2
|
+
export const gridShader = ({ x, y, progress }) => {
|
|
3
|
+
const gx = Math.floor(x / 8);
|
|
4
|
+
const gy = Math.floor(y / 4);
|
|
5
|
+
return { showNext: ((gx + gy) % 10) / 10 < progress };
|
|
6
|
+
};
|
|
7
|
+
export const fadeShader = ({ progress }) => ({
|
|
8
|
+
showNext: progress > 0.5,
|
|
9
|
+
});
|
|
10
|
+
export const meltShader = ({ x, y, height, progress }) => {
|
|
11
|
+
const variability = (Math.sin(x * 0.7) * 0.5 + 0.5) * 0.4;
|
|
12
|
+
const dropStart = progress * 1.4 - variability;
|
|
13
|
+
return { showNext: y / height < dropStart };
|
|
14
|
+
};
|
|
15
|
+
export const matrixShader = ({ rand, progress, ctx }) => {
|
|
16
|
+
const threshold = progress;
|
|
17
|
+
const edge = 0.1;
|
|
18
|
+
if (rand < threshold) {
|
|
19
|
+
return { showNext: true };
|
|
20
|
+
}
|
|
21
|
+
if (rand < threshold + edge) {
|
|
22
|
+
const chars = '01$#@%&*';
|
|
23
|
+
const char = chars.charAt(Math.min(Math.floor(rand * 100) % chars.length, chars.length - 1));
|
|
24
|
+
return {
|
|
25
|
+
showNext: false,
|
|
26
|
+
overrideChar: char,
|
|
27
|
+
overrideCell: tokenCell(char, ctx.status('success')),
|
|
28
|
+
overrideRole: 'decoration',
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return { showNext: false };
|
|
32
|
+
};
|
|
33
|
+
export const scrambleShader = ({ rand, progress, ctx }) => {
|
|
34
|
+
const scrambleAmount = 1 - Math.abs(progress - 0.5) * 2;
|
|
35
|
+
if (rand < scrambleAmount * 0.8) {
|
|
36
|
+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
|
|
37
|
+
const char = chars.charAt(Math.min(Math.floor(rand * 1000) % chars.length, chars.length - 1));
|
|
38
|
+
return {
|
|
39
|
+
showNext: false,
|
|
40
|
+
overrideChar: char,
|
|
41
|
+
overrideCell: tokenCell(char, ctx.semantic('muted')),
|
|
42
|
+
overrideRole: 'decoration',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return { showNext: progress > 0.5 };
|
|
46
|
+
};
|
|
47
|
+
export function wipe(direction = 'right') {
|
|
48
|
+
return ({ x, y, width, height, progress }) => {
|
|
49
|
+
const t = direction === 'right' ? x / width
|
|
50
|
+
: direction === 'left' ? 1 - x / width
|
|
51
|
+
: direction === 'down' ? y / height
|
|
52
|
+
: 1 - y / height;
|
|
53
|
+
return { showNext: t < progress };
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export function radial(originX = 0.5, originY = 0.5) {
|
|
57
|
+
return ({ x, y, width, height, progress }) => {
|
|
58
|
+
const m = computeOriginMetrics(x, y, width, height, originX, originY);
|
|
59
|
+
return { showNext: progress >= 1 || m.normDist < progress };
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export function diamond(originX = 0.5, originY = 0.5) {
|
|
63
|
+
return ({ x, y, width, height, progress }) => {
|
|
64
|
+
const m = computeOriginMetrics(x, y, width, height, originX, originY);
|
|
65
|
+
const dist = Math.abs(m.dx) + Math.abs(m.dy);
|
|
66
|
+
const maxDist = Math.max(originX, 1 - originX) * m.aspect
|
|
67
|
+
+ Math.max(originY, 1 - originY);
|
|
68
|
+
const normDist = maxDist > 0 ? dist / maxDist : 0;
|
|
69
|
+
return { showNext: progress >= 1 || normDist < progress };
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export function spiral(turns = 3, originX = 0.5, originY = 0.5) {
|
|
73
|
+
return ({ x, y, width, height, progress }) => {
|
|
74
|
+
const m = computeOriginMetrics(x, y, width, height, originX, originY);
|
|
75
|
+
const angle = (Math.atan2(m.dy, m.dx) / (2 * Math.PI) + 0.5) % 1; // [0, 1]
|
|
76
|
+
// Combine angle + distance into a spiral threshold
|
|
77
|
+
const spiralT = (angle + m.normDist * turns) % 1;
|
|
78
|
+
return { showNext: spiralT < progress };
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export function blinds(count = 8, direction = 'horizontal') {
|
|
82
|
+
return ({ x, y, width, height, progress }) => {
|
|
83
|
+
const pos = direction === 'horizontal' ? y / height : x / width;
|
|
84
|
+
const band = (pos * count) % 1;
|
|
85
|
+
return { showNext: band < progress };
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=transition-shaders.part02.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part02.js","sourceRoot":"","sources":["../src/transition-shaders.part02.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TransitionShaderFn } from './transition-shaders.part01.js';
|
|
2
|
+
export declare function curtain(direction?: 'horizontal' | 'vertical'): TransitionShaderFn;
|
|
3
|
+
export declare function pixelate(maxBlockSize?: number): TransitionShaderFn;
|
|
4
|
+
export declare function typewriter(cursor?: string): TransitionShaderFn;
|
|
5
|
+
export declare function glitch(intensity?: number): TransitionShaderFn;
|
|
6
|
+
//# sourceMappingURL=transition-shaders.part03.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part03.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part03.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,wBAAgB,OAAO,CAAC,SAAS,GAAE,YAAY,GAAG,UAAuB,GAAG,kBAAkB,CAM7F;AACD,wBAAgB,QAAQ,CAAC,YAAY,SAAK,GAAG,kBAAkB,CAqB9D;AACD,wBAAgB,UAAU,CAAC,MAAM,SAAM,GAAG,kBAAkB,CAgB3D;AACD,wBAAgB,MAAM,CAAC,SAAS,SAAM,GAAG,kBAAkB,CAkC1D"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { noise, tokenCell } from './transition-shaders.part01.js';
|
|
2
|
+
export function curtain(direction = 'vertical') {
|
|
3
|
+
return ({ x, y, width, height, progress }) => {
|
|
4
|
+
const pos = direction === 'vertical' ? x / width : y / height;
|
|
5
|
+
const distFromCenter = Math.abs(pos - 0.5) * 2; // 0 at center, 1 at edges
|
|
6
|
+
return { showNext: progress >= 1 || distFromCenter < progress };
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function pixelate(maxBlockSize = 16) {
|
|
10
|
+
return ({ x, y, progress, rand }) => {
|
|
11
|
+
// Phase 1 (0–0.5): pixelate the previous page with growing blocks
|
|
12
|
+
// Phase 2 (0.5–1): de-pixelate to reveal next page with shrinking blocks
|
|
13
|
+
const showNext = progress > 0.5;
|
|
14
|
+
const phase = showNext ? 1 - (progress - 0.5) * 2 : progress * 2;
|
|
15
|
+
const blockSize = Math.max(1, Math.round(phase * maxBlockSize));
|
|
16
|
+
const bx = Math.floor(x / blockSize);
|
|
17
|
+
const by = Math.floor(y / blockSize);
|
|
18
|
+
// Stable random per block
|
|
19
|
+
const blockRand = noise(bx, by, 0);
|
|
20
|
+
// Within each block, either all show or all hide (pixelation effect)
|
|
21
|
+
if (blockSize <= 1)
|
|
22
|
+
return { showNext };
|
|
23
|
+
const scramble = phase > 0.3 && blockRand < phase * 0.6;
|
|
24
|
+
if (scramble) {
|
|
25
|
+
const chars = '░▒▓█';
|
|
26
|
+
const char = chars.charAt(Math.min(Math.floor(rand * chars.length), chars.length - 1));
|
|
27
|
+
return { showNext: false, overrideChar: char, overrideRole: 'decoration' };
|
|
28
|
+
}
|
|
29
|
+
return { showNext };
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function typewriter(cursor = '▌') {
|
|
33
|
+
return ({ x, y, width, height, progress, ctx }) => {
|
|
34
|
+
const totalCells = width * height;
|
|
35
|
+
const revealed = Math.floor(progress * totalCells);
|
|
36
|
+
const cellIndex = y * width + x;
|
|
37
|
+
if (cellIndex < revealed)
|
|
38
|
+
return { showNext: true };
|
|
39
|
+
if (cellIndex === revealed) {
|
|
40
|
+
return {
|
|
41
|
+
showNext: false,
|
|
42
|
+
overrideChar: cursor,
|
|
43
|
+
overrideCell: tokenCell(cursor, ctx.status('info')),
|
|
44
|
+
overrideRole: 'marker',
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return { showNext: false };
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function glitch(intensity = 0.5) {
|
|
51
|
+
return ({ x, y, progress, frame, ctx }) => {
|
|
52
|
+
// Glitch peaks at midpoint, ramps up then down
|
|
53
|
+
const glitchAmount = (1 - Math.abs(progress - 0.5) * 2) * intensity;
|
|
54
|
+
const rowNoise = noise(0, y, frame * 0.3);
|
|
55
|
+
// Selected rows show block-char corruption across all their cells
|
|
56
|
+
if (rowNoise < glitchAmount * 0.6) {
|
|
57
|
+
const glitchChars = '▓░▒█▄▀';
|
|
58
|
+
const n = noise(x, y, frame);
|
|
59
|
+
const char = glitchChars.charAt(Math.min(Math.floor(n * glitchChars.length), glitchChars.length - 1));
|
|
60
|
+
return {
|
|
61
|
+
showNext: false,
|
|
62
|
+
overrideChar: char,
|
|
63
|
+
overrideCell: tokenCell(char, ctx.status('error')),
|
|
64
|
+
overrideRole: 'decoration',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Scattered cells get individual scramble
|
|
68
|
+
const cellNoise = noise(x, y, frame * 0.5);
|
|
69
|
+
if (cellNoise < glitchAmount * 0.3) {
|
|
70
|
+
const glitchChars = '▓░▒█▄▀╪╫╬';
|
|
71
|
+
const char = glitchChars.charAt(Math.min(Math.floor(cellNoise * 100) % glitchChars.length, glitchChars.length - 1));
|
|
72
|
+
return {
|
|
73
|
+
showNext: false,
|
|
74
|
+
overrideChar: char,
|
|
75
|
+
overrideCell: tokenCell(char, ctx.status('warning')),
|
|
76
|
+
overrideRole: 'decoration',
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return { showNext: progress > 0.5 };
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=transition-shaders.part03.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part03.js","sourceRoot":"","sources":["../src/transition-shaders.part03.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BuiltinTransition, TransitionShaderFn } from './transition-shaders.part01.js';
|
|
2
|
+
export declare function tvStatic(density?: number): TransitionShaderFn;
|
|
3
|
+
export declare const radialShader: TransitionShaderFn;
|
|
4
|
+
export declare const diamondShader: TransitionShaderFn;
|
|
5
|
+
export declare const spiralShader: TransitionShaderFn;
|
|
6
|
+
export declare const blindsShader: TransitionShaderFn;
|
|
7
|
+
export declare const curtainShader: TransitionShaderFn;
|
|
8
|
+
export declare const pixelateShader: TransitionShaderFn;
|
|
9
|
+
export declare const typewriterShader: TransitionShaderFn;
|
|
10
|
+
export declare const glitchShader: TransitionShaderFn;
|
|
11
|
+
export declare const staticShader: TransitionShaderFn;
|
|
12
|
+
export declare function reverse(shader: TransitionShaderFn): TransitionShaderFn;
|
|
13
|
+
export declare function chain(a: TransitionShaderFn, b: TransitionShaderFn): TransitionShaderFn;
|
|
14
|
+
export declare function overlay(base: TransitionShaderFn, top: TransitionShaderFn): TransitionShaderFn;
|
|
15
|
+
export declare const TRANSITION_SHADERS: Record<BuiltinTransition, TransitionShaderFn | undefined>;
|
|
16
|
+
//# sourceMappingURL=transition-shaders.part04.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part04.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part04.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAK5F,wBAAgB,QAAQ,CAAC,OAAO,SAAM,GAAG,kBAAkB,CA2B1D;AACD,eAAO,MAAM,YAAY,EAAE,kBAA6B,CAAC;AACzD,eAAO,MAAM,aAAa,EAAE,kBAA8B,CAAC;AAC3D,eAAO,MAAM,YAAY,EAAE,kBAA6B,CAAC;AACzD,eAAO,MAAM,YAAY,EAAE,kBAA6B,CAAC;AACzD,eAAO,MAAM,aAAa,EAAE,kBAA8B,CAAC;AAC3D,eAAO,MAAM,cAAc,EAAE,kBAA+B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,EAAE,kBAAiC,CAAC;AACjE,eAAO,MAAM,YAAY,EAAE,kBAA6B,CAAC;AACzD,eAAO,MAAM,YAAY,EAAE,kBAA+B,CAAC;AAC3D,wBAAgB,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAiBtE;AACD,wBAAgB,KAAK,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,CAOtF;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,kBAAkB,GAAG,kBAAkB,CAY7F;AACD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,SAAS,CAkBxF,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { dissolveShader, noise, tokenCell, wipeShader } from './transition-shaders.part01.js';
|
|
2
|
+
import { blinds, diamond, fadeShader, gridShader, matrixShader, meltShader, radial, scrambleShader, spiral } from './transition-shaders.part02.js';
|
|
3
|
+
import { curtain, glitch, pixelate, typewriter } from './transition-shaders.part03.js';
|
|
4
|
+
export function tvStatic(density = 0.7) {
|
|
5
|
+
return ({ x, y, progress, frame, ctx }) => {
|
|
6
|
+
// Static covers the screen then clears to reveal next page
|
|
7
|
+
// Phase 1 (0–0.3): static fades in over previous page
|
|
8
|
+
// Phase 2 (0.3–0.7): full static
|
|
9
|
+
// Phase 3 (0.7–1): static clears to reveal next page
|
|
10
|
+
const staticAmount = progress < 0.3
|
|
11
|
+
? progress / 0.3
|
|
12
|
+
: progress > 0.7
|
|
13
|
+
? (1 - progress) / 0.3
|
|
14
|
+
: 1;
|
|
15
|
+
const cellNoise = noise(x, y, frame);
|
|
16
|
+
if (cellNoise < staticAmount * density) {
|
|
17
|
+
const intensity = noise(x + 1, y + 1, frame);
|
|
18
|
+
const chars = ' ░▒▓█';
|
|
19
|
+
const char = chars.charAt(Math.min(Math.floor(intensity * chars.length), chars.length - 1));
|
|
20
|
+
return {
|
|
21
|
+
showNext: false,
|
|
22
|
+
overrideChar: char,
|
|
23
|
+
overrideCell: tokenCell(char, ctx.semantic('muted')),
|
|
24
|
+
overrideRole: 'decoration',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return { showNext: progress > 0.5 };
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export const radialShader = radial();
|
|
31
|
+
export const diamondShader = diamond();
|
|
32
|
+
export const spiralShader = spiral();
|
|
33
|
+
export const blindsShader = blinds();
|
|
34
|
+
export const curtainShader = curtain();
|
|
35
|
+
export const pixelateShader = pixelate();
|
|
36
|
+
export const typewriterShader = typewriter();
|
|
37
|
+
export const glitchShader = glitch();
|
|
38
|
+
export const staticShader = tvStatic();
|
|
39
|
+
export function reverse(shader) {
|
|
40
|
+
return (cell) => {
|
|
41
|
+
const result = shader({ ...cell, progress: 1 - cell.progress });
|
|
42
|
+
// Marker overrides (e.g., typewriter cursor) are positional — they become
|
|
43
|
+
// stale when progress is remapped. Decoration overrides (glitch noise,
|
|
44
|
+
// static blocks) are ambient and survive the reversal.
|
|
45
|
+
const keepOverride = (result.overrideChar !== undefined || result.overrideCell !== undefined)
|
|
46
|
+
&& result.overrideRole !== 'marker';
|
|
47
|
+
return keepOverride
|
|
48
|
+
? {
|
|
49
|
+
showNext: !result.showNext,
|
|
50
|
+
overrideChar: result.overrideChar,
|
|
51
|
+
overrideCell: result.overrideCell,
|
|
52
|
+
overrideRole: result.overrideRole,
|
|
53
|
+
}
|
|
54
|
+
: { showNext: !result.showNext };
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export function chain(a, b) {
|
|
58
|
+
return (cell) => {
|
|
59
|
+
if (cell.progress <= 0.5) {
|
|
60
|
+
return a({ ...cell, progress: cell.progress * 2 });
|
|
61
|
+
}
|
|
62
|
+
return b({ ...cell, progress: (cell.progress - 0.5) * 2 });
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function overlay(base, top) {
|
|
66
|
+
return (cell) => {
|
|
67
|
+
const topResult = top(cell);
|
|
68
|
+
if (topResult.overrideChar !== undefined || topResult.overrideCell !== undefined)
|
|
69
|
+
return topResult;
|
|
70
|
+
const baseResult = base(cell);
|
|
71
|
+
return {
|
|
72
|
+
showNext: topResult.showNext || baseResult.showNext,
|
|
73
|
+
overrideChar: baseResult.overrideChar,
|
|
74
|
+
overrideCell: baseResult.overrideCell,
|
|
75
|
+
overrideRole: baseResult.overrideRole,
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export const TRANSITION_SHADERS = {
|
|
80
|
+
none: undefined,
|
|
81
|
+
wipe: wipeShader,
|
|
82
|
+
dissolve: dissolveShader,
|
|
83
|
+
grid: gridShader,
|
|
84
|
+
fade: fadeShader,
|
|
85
|
+
melt: meltShader,
|
|
86
|
+
matrix: matrixShader,
|
|
87
|
+
scramble: scrambleShader,
|
|
88
|
+
radial: radialShader,
|
|
89
|
+
diamond: diamondShader,
|
|
90
|
+
spiral: spiralShader,
|
|
91
|
+
blinds: blindsShader,
|
|
92
|
+
curtain: curtainShader,
|
|
93
|
+
pixelate: pixelateShader,
|
|
94
|
+
typewriter: typewriterShader,
|
|
95
|
+
glitch: glitchShader,
|
|
96
|
+
static: staticShader,
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=transition-shaders.part04.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transition-shaders.part04.js","sourceRoot":"","sources":["../src/transition-shaders.part04.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core type definitions for the bijou-tui framework.
|
|
3
|
-
*
|
|
4
|
-
* Define the message types (key, resize, mouse), TEA application interface,
|
|
5
|
-
* command abstraction, and runtime options used throughout bijou-tui.
|
|
6
|
-
*
|
|
7
|
-
* @module
|
|
8
|
-
*/
|
|
9
1
|
import type { BijouContext } from '@flyingrobots/bijou';
|
|
10
2
|
import type { Middleware } from './eventbus.js';
|
|
11
3
|
import type { RenderPipeline } from './pipeline/pipeline.js';
|
|
@@ -40,11 +32,13 @@ export interface PulseMsg {
|
|
|
40
32
|
/** Time delta in seconds since the last pulse. */
|
|
41
33
|
readonly dt: number;
|
|
42
34
|
}
|
|
43
|
-
/** Mouse button
|
|
35
|
+
/** Mouse button; `"none"` covers scroll and unbuttoned motion. */
|
|
44
36
|
export type MouseButton = 'left' | 'middle' | 'right' | 'none';
|
|
45
|
-
/** Mouse action
|
|
37
|
+
/** Mouse action. */
|
|
46
38
|
export type MouseAction = 'press' | 'release' | 'move' | 'scroll-up' | 'scroll-down';
|
|
47
|
-
/**
|
|
39
|
+
/** SGR mouse tracking mode. */
|
|
40
|
+
export type MouseTrackingMode = 'press' | 'drag' | 'any';
|
|
41
|
+
/** Mouse input event. */
|
|
48
42
|
export interface MouseMsg {
|
|
49
43
|
/** Discriminant tag identifying this as a mouse message. */
|
|
50
44
|
readonly type: 'mouse';
|
|
@@ -63,33 +57,9 @@ export interface MouseMsg {
|
|
|
63
57
|
/** Whether the Ctrl modifier was held. */
|
|
64
58
|
readonly ctrl: boolean;
|
|
65
59
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Narrow an unknown message to {@link KeyMsg}.
|
|
68
|
-
*
|
|
69
|
-
* @param msg - Value to test.
|
|
70
|
-
* @returns `true` if `msg` is a `KeyMsg`.
|
|
71
|
-
*/
|
|
72
60
|
export declare function isKeyMsg(msg: unknown): msg is KeyMsg;
|
|
73
|
-
/**
|
|
74
|
-
* Narrow an unknown message to {@link ResizeMsg}.
|
|
75
|
-
*
|
|
76
|
-
* @param msg - Value to test.
|
|
77
|
-
* @returns `true` if `msg` is a `ResizeMsg`.
|
|
78
|
-
*/
|
|
79
61
|
export declare function isResizeMsg(msg: unknown): msg is ResizeMsg;
|
|
80
|
-
/**
|
|
81
|
-
* Narrow an unknown message to {@link PulseMsg}.
|
|
82
|
-
*
|
|
83
|
-
* @param msg - Value to test.
|
|
84
|
-
* @returns `true` if `msg` is a `PulseMsg`.
|
|
85
|
-
*/
|
|
86
62
|
export declare function isPulseMsg(msg: unknown): msg is PulseMsg;
|
|
87
|
-
/**
|
|
88
|
-
* Narrow an unknown message to {@link MouseMsg}.
|
|
89
|
-
*
|
|
90
|
-
* @param msg - Value to test.
|
|
91
|
-
* @returns `true` if `msg` is a `MouseMsg`.
|
|
92
|
-
*/
|
|
93
63
|
export declare function isMouseMsg(msg: unknown): msg is MouseMsg;
|
|
94
64
|
/** Sentinel symbol signaling that the application should quit. */
|
|
95
65
|
export declare const QUIT: unique symbol;
|
|
@@ -102,7 +72,7 @@ export interface CmdDisposable {
|
|
|
102
72
|
/** Cleanup forms a command may return after installing a long-lived effect. */
|
|
103
73
|
export type CmdCleanup = CmdDisposable | (() => void);
|
|
104
74
|
/** Final output a command may resolve to. */
|
|
105
|
-
export type CmdResult<M> = M | QuitSignal | CmdCleanup |
|
|
75
|
+
export type CmdResult<M> = M | QuitSignal | CmdCleanup | undefined;
|
|
106
76
|
/** Narrow an unknown value to a disposable command handle. */
|
|
107
77
|
export declare function isCmdDisposable(value: unknown): value is CmdDisposable;
|
|
108
78
|
/** Narrow an unknown value to a supported command cleanup form. */
|
|
@@ -190,18 +160,16 @@ export interface App<Model, M = never> {
|
|
|
190
160
|
*/
|
|
191
161
|
routeRuntimeIssue?(issue: RuntimeIssue): M | undefined;
|
|
192
162
|
}
|
|
193
|
-
/**
|
|
194
|
-
|
|
195
|
-
*
|
|
196
|
-
* @template M - Custom application message type.
|
|
197
|
-
*/
|
|
198
|
-
export interface RunOptions<M = any> {
|
|
163
|
+
/** TEA runtime options. */
|
|
164
|
+
export interface RunOptions<M = unknown> {
|
|
199
165
|
/** Enter the alternate screen buffer on startup. */
|
|
200
166
|
altScreen?: boolean;
|
|
201
167
|
/** Hide the cursor on startup. */
|
|
202
168
|
hideCursor?: boolean;
|
|
203
169
|
/** Enable mouse input (SGR mode). Default: false. */
|
|
204
170
|
mouse?: boolean;
|
|
171
|
+
/** Mouse mode: `press`, `drag` (default), or hover-capable `any`. */
|
|
172
|
+
mouseMode?: MouseTrackingMode;
|
|
205
173
|
/** Bijou context providing I/O and runtime ports. */
|
|
206
174
|
ctx?: BijouContext;
|
|
207
175
|
/** Optional middleware to intercept or modify messages. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,47 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core type definitions for the bijou-tui framework.
|
|
3
|
-
*
|
|
4
|
-
* Define the message types (key, resize, mouse), TEA application interface,
|
|
5
|
-
* command abstraction, and runtime options used throughout bijou-tui.
|
|
6
|
-
*
|
|
7
|
-
* @module
|
|
8
|
-
*/
|
|
9
1
|
// --- Type guards ---
|
|
10
|
-
/**
|
|
11
|
-
* Narrow an unknown message to {@link KeyMsg}.
|
|
12
|
-
*
|
|
13
|
-
* @param msg - Value to test.
|
|
14
|
-
* @returns `true` if `msg` is a `KeyMsg`.
|
|
15
|
-
*/
|
|
16
2
|
export function isKeyMsg(msg) {
|
|
17
|
-
return
|
|
3
|
+
return messageType(msg) === 'key';
|
|
18
4
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Narrow an unknown message to {@link ResizeMsg}.
|
|
21
|
-
*
|
|
22
|
-
* @param msg - Value to test.
|
|
23
|
-
* @returns `true` if `msg` is a `ResizeMsg`.
|
|
24
|
-
*/
|
|
25
5
|
export function isResizeMsg(msg) {
|
|
26
|
-
return
|
|
6
|
+
return messageType(msg) === 'resize';
|
|
27
7
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Narrow an unknown message to {@link PulseMsg}.
|
|
30
|
-
*
|
|
31
|
-
* @param msg - Value to test.
|
|
32
|
-
* @returns `true` if `msg` is a `PulseMsg`.
|
|
33
|
-
*/
|
|
34
8
|
export function isPulseMsg(msg) {
|
|
35
|
-
return
|
|
9
|
+
return messageType(msg) === 'pulse';
|
|
36
10
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Narrow an unknown message to {@link MouseMsg}.
|
|
39
|
-
*
|
|
40
|
-
* @param msg - Value to test.
|
|
41
|
-
* @returns `true` if `msg` is a `MouseMsg`.
|
|
42
|
-
*/
|
|
43
11
|
export function isMouseMsg(msg) {
|
|
44
|
-
return
|
|
12
|
+
return messageType(msg) === 'mouse';
|
|
13
|
+
}
|
|
14
|
+
function messageType(msg) {
|
|
15
|
+
if (typeof msg !== 'object' || msg === null || !('type' in msg))
|
|
16
|
+
return undefined;
|
|
17
|
+
return msg.type;
|
|
45
18
|
}
|
|
46
19
|
// --- Commands ---
|
|
47
20
|
/** Sentinel symbol signaling that the application should quit. */
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsEA,sBAAsB;AAEtB,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,mBAAmB;AAEnB,kEAAkE;AAClE,MAAM,CAAC,MAAM,IAAI,GAAkB,MAAM,CAAC,MAAM,CAAC,CAAC;AAgBlD,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,SAAS,IAAI,KAAK;WAClB,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/view-output.d.ts
CHANGED
|
@@ -12,5 +12,5 @@ export declare function isSurfaceView(value: unknown): value is Surface;
|
|
|
12
12
|
export declare function isLayoutNodeView(value: unknown): value is LayoutNode;
|
|
13
13
|
export declare function normalizeViewOutput(output: ViewOutput, size: ViewportSize): NormalizedViewOutput;
|
|
14
14
|
export declare function normalizeViewOutputInto(output: ViewOutput, size: ViewportSize, scratch?: Surface): NormalizedViewOutput;
|
|
15
|
-
export declare function wrapViewOutputAsLayoutRoot(output: ViewOutput,
|
|
15
|
+
export declare function wrapViewOutputAsLayoutRoot(output: ViewOutput, size: ViewportSize): LayoutNode;
|
|
16
16
|
//# sourceMappingURL=view-output.d.ts.map
|