@visulima/tui 1.0.0-alpha.1 → 1.0.0-alpha.10
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/CHANGELOG.md +137 -0
- package/LICENSE.md +203 -9
- package/README.md +6 -6
- package/dist/core/index.d.ts +58 -5
- package/dist/core/index.js +1 -5
- package/dist/ink/index.d.ts +6574 -159
- package/dist/ink/index.js +1 -100
- package/dist/packem_chunks/devtools.js +3 -26
- package/dist/packem_shared/Accordion-BXsqchV-.js +1 -0
- package/dist/packem_shared/Alert-BhYVMHtR.js +1 -0
- package/dist/packem_shared/AnimatePresence-Eu7Z8KHc.js +1 -0
- package/dist/packem_shared/ApprovalPrompt-BSn0FT1g.js +1 -0
- package/dist/packem_shared/AreaChart-Chy-frI7.js +1 -0
- package/dist/packem_shared/Badge-B8WPyRsK.js +1 -0
- package/dist/packem_shared/BarChart-rpZtlMcF.js +1 -0
- package/dist/packem_shared/BigText-CRpwUzrt.js +1 -0
- package/dist/packem_shared/BlinkDot-BvnRuWP8.js +1 -0
- package/dist/packem_shared/Box-BwqSvWuq.js +1 -0
- package/dist/packem_shared/Breadcrumb-D0hClbRV.js +1 -0
- package/dist/packem_shared/Button-B89Yvbc6.js +1 -0
- package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-DqErf7XX.js +1 -0
- package/dist/packem_shared/Calendar-Dmflvm2S.js +1 -0
- package/dist/packem_shared/Canvas-CKg6WV47.js +1 -0
- package/dist/packem_shared/Card-B_9fXdtU.js +1 -0
- package/dist/packem_shared/Cell-BrXn3jxY.js +1 -0
- package/dist/packem_shared/Checkbox-BN71eCWU.js +1 -0
- package/dist/packem_shared/Code-HhevcyiH.js +2 -0
- package/dist/packem_shared/Collapsible-u6uf_FdV.js +1 -0
- package/dist/packem_shared/CommandBlock-B-nslpCv.js +4 -0
- package/dist/packem_shared/CommandPalette-CEFdaURo.js +1 -0
- package/dist/packem_shared/ConfirmDialog-5Jje_Xpu.js +1 -0
- package/dist/packem_shared/ConfirmInput-D44Mb9oo.js +1 -0
- package/dist/packem_shared/ConsoleOverlay-CM3APfgP.js +1 -0
- package/dist/packem_shared/ContentSwitcher-Dm5BkrCt.js +1 -0
- package/dist/packem_shared/ControlledScrollView-DI8KZOQB.js +1 -0
- package/dist/packem_shared/Cursor-BoLFIMol.js +1 -0
- package/dist/packem_shared/DatePicker-CnSrFFAE.js +1 -0
- package/dist/packem_shared/DefinitionList-v8RDuF_R.js +1 -0
- package/dist/packem_shared/DevTools-O8EbCfHa.js +1 -0
- package/dist/packem_shared/Dialog-CTaL8pn0.js +1 -0
- package/dist/packem_shared/DiffView-BUIFqUB0.js +1 -0
- package/dist/packem_shared/Divider-C47bKmqu.js +1 -0
- package/dist/packem_shared/FilePicker-CUo7R5Qb.js +1 -0
- package/dist/packem_shared/FocusContext-Xy0cwJpO.js +1 -0
- package/dist/packem_shared/FormField-af3aUpRL.js +1 -0
- package/dist/packem_shared/Fullscreen-CuJ8y0s0.js +1 -0
- package/dist/packem_shared/Gauge-Dz-usH__.js +1 -0
- package/dist/packem_shared/Gradient-DYNc0GZA.js +1 -0
- package/dist/packem_shared/Heading-mwEYza3Y.js +1 -0
- package/dist/packem_shared/Heatmap-ChL97U1-.js +1 -0
- package/dist/packem_shared/Help-Zcelyw_U.js +1 -0
- package/dist/packem_shared/Histogram-FIf2F83d.js +1 -0
- package/dist/packem_shared/IMECompositionBuffer-C89PhiOu.js +1 -0
- package/dist/packem_shared/InputParser-rZKjY_7Y.js +2 -0
- package/dist/packem_shared/KEY-Bk8B-3h_.js +1 -0
- package/dist/packem_shared/Kbd-DpkPp4jB.js +1 -0
- package/dist/packem_shared/LayoutNode-rxblE317.js +1 -0
- package/dist/packem_shared/LineChart-BXE_girm.js +1 -0
- package/dist/packem_shared/Link-i2o2EG4-.js +1 -0
- package/dist/packem_shared/LoadingIndicator-TC1Fjwyt.js +1 -0
- package/dist/packem_shared/Markdown-R1XqK63D.js +1 -0
- package/dist/packem_shared/MaskedInput-J01phOZs.js +1 -0
- package/dist/packem_shared/Menu-CfrH4ymk.js +1 -0
- package/dist/packem_shared/MessageBubble-BmBBU2Rm.js +1 -0
- package/dist/packem_shared/ModelBadge-D3wrXncu.js +1 -0
- package/dist/packem_shared/MouseProvider-pjza-lpc.js +1 -0
- package/dist/packem_shared/MultiSelect-Dqmn-bVo.js +1 -0
- package/dist/packem_shared/NAMED_COLORS-B9fJsYdg.js +1 -0
- package/dist/packem_shared/Newline-BSG4iUqp.js +2 -0
- package/dist/packem_shared/OperationTree-DksxjMIV.js +1 -0
- package/dist/packem_shared/OptionList-CNx7r9yN.js +1 -0
- package/dist/packem_shared/OrderedList-BeDy035w.js +1 -0
- package/dist/packem_shared/Paginator-B56s6bhS.js +1 -0
- package/dist/packem_shared/Paragraph-BqJlH0R-.js +1 -0
- package/dist/packem_shared/Placeholder-GMpHRGC8.js +1 -0
- package/dist/packem_shared/ProgressBar-Bj3fmORR.js +1 -0
- package/dist/packem_shared/RadioGroup-Br8BeEwS.js +1 -0
- package/dist/packem_shared/Renderer-DJXooAsp.js +1 -0
- package/dist/packem_shared/ResizeObserverEntry-Dq0dk8Kq.js +1 -0
- package/dist/packem_shared/ScatterPlot-OhfYco5l.js +1 -0
- package/dist/packem_shared/ScrollBar-Da5Y3z7N.js +1 -0
- package/dist/packem_shared/ScrollBarBox-Dz6F-Eat.js +1 -0
- package/dist/packem_shared/ScrollList-DiVGyEjv.js +1 -0
- package/dist/packem_shared/ScrollView-BojONotI.js +1 -0
- package/dist/packem_shared/SearchInput-BoPTRbhV.js +1 -0
- package/dist/packem_shared/SelectInput-CAJ7SCBq.js +1 -0
- package/dist/packem_shared/SelectInputIndicator-N1n8ULHs.js +1 -0
- package/dist/packem_shared/SelectInputItem-BEkbmobs.js +1 -0
- package/dist/packem_shared/ShimmerText-CuGQ2NDC.js +1 -0
- package/dist/packem_shared/Slider-Cg_tJpKa.js +1 -0
- package/dist/packem_shared/Spacer-eT3HOrXk.js +1 -0
- package/dist/packem_shared/Sparkline-T6_FPVET.js +1 -0
- package/dist/packem_shared/Spinner-B0-A50pu.js +1 -0
- package/dist/packem_shared/Static-DLynr5pn.js +1 -0
- package/dist/packem_shared/Static-jzLPaHJF.js +1 -0
- package/dist/packem_shared/StaticRender-BgD61E7x.js +1 -0
- package/dist/packem_shared/StatusLine-Ch4jjef1.js +1 -0
- package/dist/packem_shared/StatusMessage-B1qfKeMM.js +1 -0
- package/dist/packem_shared/Stepper-CNPAqxiU.js +1 -0
- package/dist/packem_shared/Stopwatch-CAx2EWwq.js +1 -0
- package/dist/packem_shared/StreamingText-BYOKSB2T.js +1 -0
- package/dist/packem_shared/Switch-DzSpKYu7.js +1 -0
- package/dist/packem_shared/Tab-BcXzSUdj.js +1 -0
- package/dist/packem_shared/Table-DJp1TLrR.js +1 -0
- package/dist/packem_shared/Tabs-D68z0SOt.js +1 -0
- package/dist/packem_shared/Tag-BvLHnYRn.js +1 -0
- package/dist/packem_shared/Text-mTAve9R2.js +1 -0
- package/dist/packem_shared/TextInput-C_gYQlnF.js +1 -0
- package/dist/packem_shared/Textarea-C2ET_oMb.js +2 -0
- package/dist/packem_shared/Timer-CI3aQX65.js +1 -0
- package/dist/packem_shared/Toast-Drvc8XfG.js +1 -0
- package/dist/packem_shared/Tooltip-C5UnQlLd.js +1 -0
- package/dist/packem_shared/Transform-fYmcdqRT.js +1 -0
- package/dist/packem_shared/Transition-CJDBKYUB.js +1 -0
- package/dist/packem_shared/TreeNodeMap-CspqSCpb.js +1 -0
- package/dist/packem_shared/TreeView-DjhacGJ5.js +1 -0
- package/dist/packem_shared/TuiApp-DrjI_i-R.js +1 -0
- package/dist/packem_shared/TuiContext-BoJvG3NN.js +3 -0
- package/dist/packem_shared/UnorderedList-BnfqexZs.js +1 -0
- package/dist/packem_shared/accessibility-context-DDyHTwmA.js +1 -0
- package/dist/packem_shared/animation-context-DW3p-vpk.js +1 -0
- package/dist/packem_shared/ansi-parser-B6uXaq65.js +1 -0
- package/dist/packem_shared/ansi-tokenizer-DqX9nJuk.js +1 -0
- package/dist/packem_shared/app-context-BVpKlG1z.js +1 -0
- package/dist/packem_shared/background-context-rjOaWFki.js +1 -0
- package/dist/packem_shared/boxes-DyY_LXCi.js +1 -0
- package/dist/packem_shared/braille-BBjIoaN0.js +1 -0
- package/dist/packem_shared/colorize-DbTZMrJO.js +1 -0
- package/dist/packem_shared/comparePoints-C85EsmNz.js +1 -0
- package/dist/packem_shared/controlled-scroll-view-CmrAEvJk.js +1 -0
- package/dist/packem_shared/createInlineLoop-DRNZ7jqH.js +2 -0
- package/dist/packem_shared/createLinkedScrollGroup-BMTJ7rAj.js +1 -0
- package/dist/packem_shared/createMemoryStorage-QVZNXbWz.js +2 -0
- package/dist/packem_shared/createScreen-CrLrxA6t.js +3 -0
- package/dist/packem_shared/cursor-context-CFviBqPX.js +1 -0
- package/dist/packem_shared/dom-4y__5fWB.js +1 -0
- package/dist/packem_shared/focus-context-CsT69klR.js +1 -0
- package/dist/packem_shared/format-time-C7Q-hQZq.js +1 -0
- package/dist/packem_shared/getPathToRoot-B2tKmx3i.js +1 -0
- package/dist/packem_shared/getScrollHeight-BTEY8ewu.js +1 -0
- package/dist/packem_shared/input-utils-fAxzSlNh.js +1 -0
- package/dist/packem_shared/input.d-Bfq7oc06.d.ts +90 -0
- package/dist/packem_shared/isIntersecting-B3KbKTmu.js +1 -0
- package/dist/packem_shared/isOsc52Supported-DKK7Uee6.js +1 -0
- package/dist/packem_shared/isTerminalPaletteQuerySupported-Dn2hFAZ_.js +1 -0
- package/dist/packem_shared/kittyFlags-C3rZLbcK.js +1 -0
- package/dist/packem_shared/line-chart-DrM8PwnI.js +1 -0
- package/dist/packem_shared/measure-element-DSp7YDus.js +2 -0
- package/dist/packem_shared/measure-text-DDjHT1jD.js +3 -0
- package/dist/packem_shared/measureElement-DA8WqFP_.js +1 -0
- package/dist/packem_shared/mouse-context-DaARgUu1.js +1 -0
- package/dist/packem_shared/parseSgrMouse-Ccj70ijb.js +1 -0
- package/dist/packem_shared/processLayout-DXDfFb_d.js +1 -0
- package/dist/packem_shared/reconciler-BuOP-TZ6.js +1 -0
- package/dist/packem_shared/reconciler-DSYCrIZs.js +1 -0
- package/dist/packem_shared/render-DDqtMAFN.js +1 -0
- package/dist/packem_shared/render-_r0K9K11.js +28 -0
- package/dist/packem_shared/render.d-BR3gA-N8.d.ts +1257 -0
- package/dist/packem_shared/renderToString-DeqOWRP8.js +4 -0
- package/dist/packem_shared/renderToString-IYYPyASm.js +2 -0
- package/dist/packem_shared/renderTreeToBuffer-DPkoCgP2.js +2 -0
- package/dist/packem_shared/renderer-D2p6av2X.js +17 -0
- package/dist/packem_shared/setEnableStyledLineCache-D2gZbwFM.js +1 -0
- package/dist/packem_shared/squashTextNodesWithMap-Cpqmc45i.js +1 -0
- package/dist/packem_shared/stderr-context-BzEaUICS.js +1 -0
- package/dist/packem_shared/stdin-context-BTaaFagk.js +1 -0
- package/dist/packem_shared/stdout-context-BnblEPez.js +1 -0
- package/dist/packem_shared/text-width-CZ9vPvM0.js +2 -0
- package/dist/packem_shared/token-to-elements-BYxT6J_Q.js +1 -0
- package/dist/packem_shared/treeViewTheme-1RIZyB4M.js +1 -0
- package/dist/packem_shared/useAnimation-B9we6ZzL.js +1 -0
- package/dist/packem_shared/useApp-B6fvM42d.js +1 -0
- package/dist/packem_shared/useBoxMetrics-D5pkIr6P.js +1 -0
- package/dist/packem_shared/useClipboard-CBxy0hT8.js +1 -0
- package/dist/packem_shared/useColorBlindness-BvWcu2Bb.js +1 -0
- package/dist/packem_shared/useConsoleCapture-BxiG8iLJ.js +1 -0
- package/dist/packem_shared/useCursor-CPu8T5Db.js +1 -0
- package/dist/packem_shared/useElementDimensions-qJ_WXFZ9.js +1 -0
- package/dist/packem_shared/useFocus-DSmziO_x.js +1 -0
- package/dist/packem_shared/useFocusManager-Uapn3LQo.js +1 -0
- package/dist/packem_shared/useForm-CzV-Oext.js +1 -0
- package/dist/packem_shared/useHotkey-D0dGey14.js +1 -0
- package/dist/packem_shared/useInput-D1_jG26Z.js +2 -0
- package/dist/packem_shared/useInterval-AobjZT3u.js +1 -0
- package/dist/packem_shared/useIsScreenReaderEnabled-DjWHh-II.js +1 -0
- package/dist/packem_shared/useKeyBindings-zabkEJQs.js +1 -0
- package/dist/packem_shared/useKeyChord-CICQIxXj.js +1 -0
- package/dist/packem_shared/useMouseAction-2dRfU1vE.js +1 -0
- package/dist/packem_shared/useMouseContext-C746G7kY.js +1 -0
- package/dist/packem_shared/useMousePosition-BTWfV4JK.js +1 -0
- package/dist/packem_shared/useOnMouseClick-nY8xLZmt.js +1 -0
- package/dist/packem_shared/useOnMouseHover-D3DczIol.js +1 -0
- package/dist/packem_shared/useOnMouseState-cRK8QvzD.js +1 -0
- package/dist/packem_shared/usePaste-CKKB9H-Z.js +1 -0
- package/dist/packem_shared/useScrollAcceleration-NrY1oVMs.js +1 -0
- package/dist/packem_shared/useScrollInput-Caghtn-Q.js +1 -0
- package/dist/packem_shared/useStderr-BDZb6InG.js +1 -0
- package/dist/packem_shared/useStdin-DKa4h35k.js +1 -0
- package/dist/packem_shared/useStdout-B-2lX4C5.js +1 -0
- package/dist/packem_shared/useStopwatch-DffK7iMh.js +1 -0
- package/dist/packem_shared/useTerminalPalette-Cv7tSduR.js +1 -0
- package/dist/packem_shared/useTextBuffer-DekkGLxI.js +4 -0
- package/dist/packem_shared/useTextSelection-CGT0GLDR.js +1 -0
- package/dist/packem_shared/useTimeout-7LEFYTnG.js +1 -0
- package/dist/packem_shared/useTimer-DyoqSyGi.js +1 -0
- package/dist/packem_shared/useTreeView-8UlTK6sW.js +1 -0
- package/dist/packem_shared/useTreeViewState-CRPCUWrb.js +1 -0
- package/dist/packem_shared/useWindowSize-yDZsXF8z.js +1 -0
- package/dist/packem_shared/utils-THUhYKG2.js +1 -0
- package/dist/packem_shared/variant-config-BJqpNo7H.js +1 -0
- package/dist/packem_shared/waitFor-Dj5zfL5s.js +4 -0
- package/dist/packem_shared/wrapOrTruncateStyledLine-BZ00SM8i.js +3 -0
- package/dist/react/index.d.ts +519 -8
- package/dist/react/index.js +1 -9
- package/dist/testing/index.d.ts +274 -135
- package/dist/testing/index.js +1 -260
- package/index.js +691 -539
- package/package.json +24 -28
- package/dist/core/app.d.ts +0 -50
- package/dist/core/cell.d.ts +0 -33
- package/dist/core/inline.d.ts +0 -22
- package/dist/core/input.d.ts +0 -18
- package/dist/core/native-binding.d.ts +0 -22
- package/dist/ink/ansi-to-cell.d.ts +0 -5
- package/dist/ink/ansi-tokenizer.d.ts +0 -38
- package/dist/ink/clipboard.d.ts +0 -29
- package/dist/ink/color-matrix.d.ts +0 -49
- package/dist/ink/color-utils.d.ts +0 -30
- package/dist/ink/colorize.d.ts +0 -4
- package/dist/ink/components/AccessibilityContext.d.ts +0 -4
- package/dist/ink/components/Alert.d.ts +0 -30
- package/dist/ink/components/AnimationContext.d.ts +0 -10
- package/dist/ink/components/App.d.ts +0 -19
- package/dist/ink/components/AppContext.d.ts +0 -38
- package/dist/ink/components/BackgroundContext.d.ts +0 -5
- package/dist/ink/components/Badge.d.ts +0 -27
- package/dist/ink/components/BigText.d.ts +0 -71
- package/dist/ink/components/Box.d.ts +0 -58
- package/dist/ink/components/Code.d.ts +0 -46
- package/dist/ink/components/ConfirmInput.d.ts +0 -40
- package/dist/ink/components/ConsoleOverlay.d.ts +0 -52
- package/dist/ink/components/Cursor.d.ts +0 -43
- package/dist/ink/components/CursorContext.d.ts +0 -12
- package/dist/ink/components/Dialog.d.ts +0 -93
- package/dist/ink/components/DiffView.d.ts +0 -71
- package/dist/ink/components/ErrorBoundary.d.ts +0 -17
- package/dist/ink/components/ErrorOverview.d.ts +0 -6
- package/dist/ink/components/FocusContext.d.ts +0 -17
- package/dist/ink/components/Gradient.d.ts +0 -38
- package/dist/ink/components/Help.d.ts +0 -49
- package/dist/ink/components/Link.d.ts +0 -34
- package/dist/ink/components/Markdown.d.ts +0 -34
- package/dist/ink/components/MultiSelect.d.ts +0 -63
- package/dist/ink/components/Newline.d.ts +0 -12
- package/dist/ink/components/OrderedList.d.ts +0 -30
- package/dist/ink/components/Paginator.d.ts +0 -75
- package/dist/ink/components/ProgressBar.d.ts +0 -51
- package/dist/ink/components/SelectInput.d.ts +0 -96
- package/dist/ink/components/SelectInputIndicator.d.ts +0 -36
- package/dist/ink/components/SelectInputItem.d.ts +0 -43
- package/dist/ink/components/Slider.d.ts +0 -92
- package/dist/ink/components/Spacer.d.ts +0 -7
- package/dist/ink/components/Spinner.d.ts +0 -42
- package/dist/ink/components/Static.d.ts +0 -24
- package/dist/ink/components/StaticRender.d.ts +0 -28
- package/dist/ink/components/StatusMessage.d.ts +0 -26
- package/dist/ink/components/StderrContext.d.ts +0 -16
- package/dist/ink/components/StdinContext.d.ts +0 -29
- package/dist/ink/components/StdoutContext.d.ts +0 -16
- package/dist/ink/components/Stopwatch.d.ts +0 -44
- package/dist/ink/components/Tab.d.ts +0 -25
- package/dist/ink/components/Table.d.ts +0 -80
- package/dist/ink/components/Tabs.d.ts +0 -97
- package/dist/ink/components/Text.d.ts +0 -63
- package/dist/ink/components/TextInput.d.ts +0 -48
- package/dist/ink/components/Textarea.d.ts +0 -62
- package/dist/ink/components/Timer.d.ts +0 -52
- package/dist/ink/components/Transform.d.ts +0 -16
- package/dist/ink/components/UnorderedList.d.ts +0 -35
- package/dist/ink/components/file-picker/FilePicker.d.ts +0 -75
- package/dist/ink/components/file-picker/index.d.ts +0 -3
- package/dist/ink/components/file-picker/types.d.ts +0 -38
- package/dist/ink/components/file-picker/use-file-system.d.ts +0 -16
- package/dist/ink/components/scroll/ControlledScrollView.d.ts +0 -43
- package/dist/ink/components/scroll/ScrollBar.d.ts +0 -20
- package/dist/ink/components/scroll/ScrollBarBox.d.ts +0 -15
- package/dist/ink/components/scroll/ScrollList.d.ts +0 -12
- package/dist/ink/components/scroll/ScrollView.d.ts +0 -98
- package/dist/ink/components/scroll/index.d.ts +0 -10
- package/dist/ink/components/scroll/use-state-ref.d.ts +0 -8
- package/dist/ink/components/tree-view/TreeView.d.ts +0 -89
- package/dist/ink/components/tree-view/TreeViewNode.d.ts +0 -29
- package/dist/ink/components/tree-view/index.d.ts +0 -11
- package/dist/ink/components/tree-view/theme.d.ts +0 -24
- package/dist/ink/components/tree-view/tree-node-map.d.ts +0 -72
- package/dist/ink/components/tree-view/types.d.ts +0 -55
- package/dist/ink/components/tree-view/use-tree-view-state.d.ts +0 -135
- package/dist/ink/components/tree-view/use-tree-view.d.ts +0 -26
- package/dist/ink/components/variant-config.d.ts +0 -10
- package/dist/ink/cursor-helpers.d.ts +0 -38
- package/dist/ink/data-limited-lru-map.d.ts +0 -21
- package/dist/ink/devtools-window-polyfill.d.ts +0 -1
- package/dist/ink/devtools.d.ts +0 -1
- package/dist/ink/dom.d.ts +0 -213
- package/dist/ink/get-max-width.d.ts +0 -3
- package/dist/ink/highlighter.d.ts +0 -28
- package/dist/ink/hooks/use-animation.d.ts +0 -43
- package/dist/ink/hooks/use-app.d.ts +0 -6
- package/dist/ink/hooks/use-box-metrics.d.ts +0 -58
- package/dist/ink/hooks/use-clipboard.d.ts +0 -29
- package/dist/ink/hooks/use-color-blindness.d.ts +0 -33
- package/dist/ink/hooks/use-console-capture.d.ts +0 -43
- package/dist/ink/hooks/use-cursor.d.ts +0 -12
- package/dist/ink/hooks/use-focus-manager.d.ts +0 -42
- package/dist/ink/hooks/use-focus.d.ts +0 -30
- package/dist/ink/hooks/use-input.d.ts +0 -149
- package/dist/ink/hooks/use-is-screen-reader-enabled.d.ts +0 -6
- package/dist/ink/hooks/use-key-bindings.d.ts +0 -61
- package/dist/ink/hooks/use-linked-scroll.d.ts +0 -41
- package/dist/ink/hooks/use-paste.d.ts +0 -44
- package/dist/ink/hooks/use-scroll-acceleration.d.ts +0 -47
- package/dist/ink/hooks/use-scroll-input.d.ts +0 -34
- package/dist/ink/hooks/use-stderr.d.ts +0 -6
- package/dist/ink/hooks/use-stdin.d.ts +0 -7
- package/dist/ink/hooks/use-stdout.d.ts +0 -6
- package/dist/ink/hooks/use-stopwatch.d.ts +0 -40
- package/dist/ink/hooks/use-terminal-palette.d.ts +0 -19
- package/dist/ink/hooks/use-text-buffer.d.ts +0 -42
- package/dist/ink/hooks/use-text-selection.d.ts +0 -45
- package/dist/ink/hooks/use-timer.d.ts +0 -49
- package/dist/ink/hooks/use-window-size.d.ts +0 -18
- package/dist/ink/ime-utils.d.ts +0 -25
- package/dist/ink/ink.d.ts +0 -189
- package/dist/ink/input-parser.d.ts +0 -10
- package/dist/ink/input-utils.d.ts +0 -16
- package/dist/ink/instances.d.ts +0 -3
- package/dist/ink/kitty-keyboard.d.ts +0 -23
- package/dist/ink/layout.d.ts +0 -26
- package/dist/ink/log-update-native.d.ts +0 -14
- package/dist/ink/log-update.d.ts +0 -21
- package/dist/ink/measure-element.d.ts +0 -147
- package/dist/ink/measure-text.d.ts +0 -56
- package/dist/ink/mouse/Fullscreen.d.ts +0 -8
- package/dist/ink/mouse/MouseProvider.d.ts +0 -11
- package/dist/ink/mouse/ansi-parser.d.ts +0 -37
- package/dist/ink/mouse/constants.d.ts +0 -59
- package/dist/ink/mouse/index.d.ts +0 -20
- package/dist/ink/mouse/is-intersecting.d.ts +0 -18
- package/dist/ink/mouse/mouse-context.d.ts +0 -36
- package/dist/ink/mouse/use-element-position.d.ts +0 -29
- package/dist/ink/mouse/use-mouse-action.d.ts +0 -7
- package/dist/ink/mouse/use-mouse-position.d.ts +0 -7
- package/dist/ink/mouse/use-mouse.d.ts +0 -7
- package/dist/ink/mouse/use-on-mouse-click.d.ts +0 -14
- package/dist/ink/mouse/use-on-mouse-hover.d.ts +0 -8
- package/dist/ink/mouse/use-on-mouse-state.d.ts +0 -11
- package/dist/ink/output.d.ts +0 -74
- package/dist/ink/parse-keypress.d.ts +0 -22
- package/dist/ink/reconciler.d.ts +0 -3
- package/dist/ink/region.d.ts +0 -99
- package/dist/ink/render-background.d.ts +0 -4
- package/dist/ink/render-border.d.ts +0 -4
- package/dist/ink/render-node-to-output.d.ts +0 -38
- package/dist/ink/render-scrollbar.d.ts +0 -9
- package/dist/ink/render-sticky.d.ts +0 -44
- package/dist/ink/render-to-string.d.ts +0 -37
- package/dist/ink/render.d.ts +0 -191
- package/dist/ink/renderer.d.ts +0 -17
- package/dist/ink/resize-observer.d.ts +0 -44
- package/dist/ink/sanitize-ansi.d.ts +0 -2
- package/dist/ink/scroll.d.ts +0 -23
- package/dist/ink/selection.d.ts +0 -70
- package/dist/ink/squash-text-nodes.d.ts +0 -18
- package/dist/ink/style-flags.d.ts +0 -17
- package/dist/ink/styled-line-factory.d.ts +0 -25
- package/dist/ink/styled-line-serializer.d.ts +0 -18
- package/dist/ink/styled-line.d.ts +0 -109
- package/dist/ink/styles.d.ts +0 -369
- package/dist/ink/terminal-palette.d.ts +0 -25
- package/dist/ink/text-wrap.d.ts +0 -10
- package/dist/ink/token-to-elements.d.ts +0 -22
- package/dist/ink/utils/format-time.d.ts +0 -4
- package/dist/ink/utils.d.ts +0 -9
- package/dist/ink/wrap-text.d.ts +0 -3
- package/dist/ink/write-synchronized.d.ts +0 -4
- package/dist/packem_shared/AccessibilityContext-BLelHhNU.js +0 -7
- package/dist/packem_shared/Alert-Dr3s_LD9.js +0 -17
- package/dist/packem_shared/AnimationContext-BcJg8Jr6.js +0 -15
- package/dist/packem_shared/AppContext-CP0U6H7O.js +0 -11
- package/dist/packem_shared/BackgroundContext-BAUaxfOb.js +0 -5
- package/dist/packem_shared/Badge-Dk7EGGM6.js +0 -13
- package/dist/packem_shared/BigText-CjMdY63X.js +0 -24
- package/dist/packem_shared/Box-D_pSJ9Jp.js +0 -73
- package/dist/packem_shared/COLOR_BLINDNESS_SIMULATION-BsMy5Ewl.js +0 -81
- package/dist/packem_shared/Cell-DCg1kJY-.js +0 -48
- package/dist/packem_shared/Code-DjQvPBD9.js +0 -53
- package/dist/packem_shared/ConfirmInput-85Y4kRQW.js +0 -44
- package/dist/packem_shared/ConsoleOverlay-DBNa4vtj.js +0 -57
- package/dist/packem_shared/ControlledScrollView-BlOaxcsN.js +0 -286
- package/dist/packem_shared/ControlledScrollView-DfAhcufF.js +0 -5
- package/dist/packem_shared/Cursor-DiW7YoSK.js +0 -18
- package/dist/packem_shared/CursorContext-JxRzlqAx.js +0 -9
- package/dist/packem_shared/DevTools-aMPIsaHx.js +0 -61
- package/dist/packem_shared/Dialog-DsSNAVgC.js +0 -71
- package/dist/packem_shared/DiffView-hqaw-2S6.js +0 -329
- package/dist/packem_shared/FilePicker-DNwFxRhq.js +0 -254
- package/dist/packem_shared/FocusContext-CWkYtgcm.js +0 -26
- package/dist/packem_shared/FocusContext-D5wFxSRz.js +0 -153
- package/dist/packem_shared/Fullscreen-DrElAE1o.js +0 -11
- package/dist/packem_shared/Gradient-Ql5P0GUd.js +0 -136
- package/dist/packem_shared/Help-6wanGG38.js +0 -112
- package/dist/packem_shared/IMECompositionBuffer-Dl3S0KnF.js +0 -55
- package/dist/packem_shared/InputParser-BKHpWfvN.js +0 -156
- package/dist/packem_shared/LayoutNode-Cjnsodiy.js +0 -131
- package/dist/packem_shared/Link-COcKYfGT.js +0 -66
- package/dist/packem_shared/Markdown-y1ISztof.js +0 -212
- package/dist/packem_shared/MouseProvider-Y9TSSEGl.js +0 -136
- package/dist/packem_shared/MultiSelect-ChoLUcDI.js +0 -129
- package/dist/packem_shared/NAMED_COLORS-a4QBvb5r.js +0 -262
- package/dist/packem_shared/Newline-DBtYEg8x.js +0 -7
- package/dist/packem_shared/OrderedList-Cp7pXr6m.js +0 -26
- package/dist/packem_shared/Paginator-D1AuD-kj.js +0 -104
- package/dist/packem_shared/ProgressBar-DOfpVagn.js +0 -22
- package/dist/packem_shared/Renderer-zZ5O3vxc.js +0 -31
- package/dist/packem_shared/ResizeObserverEntry-Br4seLeQ.js +0 -102
- package/dist/packem_shared/ScrollBar-EWAs2Uc7.js +0 -106
- package/dist/packem_shared/ScrollBarBox-DTNNlh7R.js +0 -72
- package/dist/packem_shared/ScrollList-DCeIFL8M.js +0 -227
- package/dist/packem_shared/ScrollView-v3MCNIyX.js +0 -196
- package/dist/packem_shared/SelectInput-BN2TMyxp.js +0 -260
- package/dist/packem_shared/SelectInputIndicator-DkRMoH_b.js +0 -9
- package/dist/packem_shared/SelectInputItem-BF9LQgKu.js +0 -8
- package/dist/packem_shared/Slider-BWD7xZX6.js +0 -116
- package/dist/packem_shared/Spacer-Bs4ER-HK.js +0 -8
- package/dist/packem_shared/Spinner-BuI-kN4p.js +0 -1799
- package/dist/packem_shared/Static-DpTd6Eed.js +0 -22
- package/dist/packem_shared/Static-xmD9giJj.js +0 -18
- package/dist/packem_shared/StaticRender-tYwH6QXl.js +0 -33
- package/dist/packem_shared/StatusMessage-BtSYxzwb.js +0 -14
- package/dist/packem_shared/StderrContext-Bj4Mf7v7.js +0 -17
- package/dist/packem_shared/StdinContext-Bq_GNJ3z.js +0 -38
- package/dist/packem_shared/StdoutContext-CgjWeCdO.js +0 -17
- package/dist/packem_shared/Stopwatch-DjtTCyHn.js +0 -23
- package/dist/packem_shared/Tab-C6r5q4hR.js +0 -7
- package/dist/packem_shared/Table-D-rSVlzb.js +0 -82
- package/dist/packem_shared/Tabs-BXpZwLWo.js +0 -146
- package/dist/packem_shared/Text-DvAUdZcK.js +0 -65
- package/dist/packem_shared/TextInput-C79WEQ5U.js +0 -137
- package/dist/packem_shared/Textarea-Dj06R6Zd.js +0 -272
- package/dist/packem_shared/Timer-wi9zuh4n.js +0 -22
- package/dist/packem_shared/Transform-BHxY_dAM.js +0 -14
- package/dist/packem_shared/TreeNodeMap-CtJUvBnd.js +0 -155
- package/dist/packem_shared/TreeView-C2062dtj.js +0 -148
- package/dist/packem_shared/TuiApp-DfxOnXqi.js +0 -120
- package/dist/packem_shared/TuiContext-CqEjMyXd.js +0 -415
- package/dist/packem_shared/UnorderedList-DhnadWjX.js +0 -33
- package/dist/packem_shared/ansi-parser-0BdVTKho.js +0 -41
- package/dist/packem_shared/ansi-tokenizer-LHq2LUWA.js +0 -307
- package/dist/packem_shared/boxes-oi3WUbyR.js +0 -92
- package/dist/packem_shared/colorize-88_Vk8cn.js +0 -48
- package/dist/packem_shared/comparePoints-CGMDnd3_.js +0 -287
- package/dist/packem_shared/createInlineLoop-BxMmcq9D.js +0 -93
- package/dist/packem_shared/createLinkedScrollGroup-Djw4Ceo0.js +0 -44
- package/dist/packem_shared/dom-DvzhsAez.js +0 -225
- package/dist/packem_shared/format-time-BGmnDukX.js +0 -12
- package/dist/packem_shared/getPathToRoot-a1wbwxfL.js +0 -4
- package/dist/packem_shared/getScrollHeight-BubfU_df.js +0 -63
- package/dist/packem_shared/input-utils-ViAEXa0Z.js +0 -19
- package/dist/packem_shared/isIntersecting-fEXHJN5R.js +0 -10
- package/dist/packem_shared/isOsc52Supported-G0k4sXJx.js +0 -36
- package/dist/packem_shared/isTerminalPaletteQuerySupported-EeiwMKbr.js +0 -93
- package/dist/packem_shared/kittyFlags-bNNf_9kX.js +0 -26
- package/dist/packem_shared/measure-element-Reza_yfC.js +0 -396
- package/dist/packem_shared/measure-text-DItZYotK.js +0 -1189
- package/dist/packem_shared/measureElement-CTgFCmKd.js +0 -4
- package/dist/packem_shared/mouse-context-BUHWKEIe.js +0 -6
- package/dist/packem_shared/parseSgrMouse-BHVBPP9G.js +0 -1
- package/dist/packem_shared/processLayout-BQ9kXfd3.js +0 -2
- package/dist/packem_shared/reconciler-BXf6miSS.js +0 -211
- package/dist/packem_shared/reconciler-gfmqURLy.js +0 -680
- package/dist/packem_shared/render-BAwdjfki.js +0 -2806
- package/dist/packem_shared/render-Bpjhf0lD.js +0 -195
- package/dist/packem_shared/renderToString-Cfg55DRD.js +0 -62
- package/dist/packem_shared/renderToString-ClIaXgrC.js +0 -86
- package/dist/packem_shared/renderTreeToBuffer-D3mo7M7m.js +0 -308
- package/dist/packem_shared/renderer-B3wROkeg.js +0 -1431
- package/dist/packem_shared/setEnableStyledLineCache-BpskngSJ.js +0 -2
- package/dist/packem_shared/squashTextNodesWithMap-iqm6OMMT.js +0 -100
- package/dist/packem_shared/text-width-DhuarWcB.js +0 -42
- package/dist/packem_shared/token-to-elements-BRFl_rzw.js +0 -249
- package/dist/packem_shared/treeViewTheme-BpSw9TMf.js +0 -52
- package/dist/packem_shared/useAnimation-kj31sA-T.js +0 -62
- package/dist/packem_shared/useApp-DPQlRzi5.js +0 -6
- package/dist/packem_shared/useBoxMetrics-rBjKc-g4.js +0 -54
- package/dist/packem_shared/useClipboard-B_9-adw1.js +0 -23
- package/dist/packem_shared/useColorBlindness-D_sTIhcb.js +0 -30
- package/dist/packem_shared/useConsoleCapture-Dvt7G1W1.js +0 -61
- package/dist/packem_shared/useCursor-BIJzc8k9.js +0 -19
- package/dist/packem_shared/useElementDimensions-CAoKitVD.js +0 -67
- package/dist/packem_shared/useFocus-CNl5QHHf.js +0 -37
- package/dist/packem_shared/useFocusManager-BPYaUuKQ.js +0 -16
- package/dist/packem_shared/useInput-Cfp5zB2s.js +0 -594
- package/dist/packem_shared/useIsScreenReaderEnabled-CnGKCe0f.js +0 -9
- package/dist/packem_shared/useKeyBindings-B78l1E1n.js +0 -66
- package/dist/packem_shared/useMouseAction-C5gZ2nj7.js +0 -29
- package/dist/packem_shared/useMouseContext-D-rFy60Q.js +0 -12
- package/dist/packem_shared/useMousePosition-BHBJ-kBk.js +0 -25
- package/dist/packem_shared/useOnMouseClick--ZIyBOBO.js +0 -35
- package/dist/packem_shared/useOnMouseHover-26diuXUC.js +0 -32
- package/dist/packem_shared/useOnMouseState-NO_Kda_C.js +0 -13
- package/dist/packem_shared/usePaste-Ct8J4AGR.js +0 -35
- package/dist/packem_shared/useScrollAcceleration-R9LfrPVG.js +0 -73
- package/dist/packem_shared/useScrollInput-D3CpBq_a.js +0 -72
- package/dist/packem_shared/useStderr-CAOVUh4E.js +0 -6
- package/dist/packem_shared/useStdin-X-O0kd-n.js +0 -7
- package/dist/packem_shared/useStdout-DyF6DSH0.js +0 -6
- package/dist/packem_shared/useStopwatch-qC4Beai4.js +0 -33
- package/dist/packem_shared/useTerminalPalette-BaWO2c4Q.js +0 -38
- package/dist/packem_shared/useTextBuffer-C8fEe9Ly.js +0 -398
- package/dist/packem_shared/useTextSelection-mXtxgsPK.js +0 -50
- package/dist/packem_shared/useTimer-CPQ7j827.js +0 -46
- package/dist/packem_shared/useTreeView-BT57P3Kx.js +0 -101
- package/dist/packem_shared/useTreeViewState-BpS_KZ-K.js +0 -502
- package/dist/packem_shared/useWindowSize-ugEmGZJm.js +0 -20
- package/dist/packem_shared/utils-BgdlrbOH.js +0 -140
- package/dist/packem_shared/variant-config-DSZoX5TM.js +0 -8
- package/dist/packem_shared/wrapOrTruncateStyledLine-DN3Nogoc.js +0 -147
- package/dist/react/devtools.d.ts +0 -27
- package/dist/react/focus.d.ts +0 -39
- package/dist/react/hooks.d.ts +0 -238
- package/dist/react/layout.d.ts +0 -35
- package/dist/react/react.d.ts +0 -57
- package/dist/react/reconciler.d.ts +0 -4
- package/dist/react/render-to-string.d.ts +0 -21
- package/dist/react/renderer.d.ts +0 -2
- package/dist/react/scene.d.ts +0 -3
- package/dist/react/static.d.ts +0 -39
- package/dist/react/styles.d.ts +0 -83
- package/dist/react/text-width.d.ts +0 -20
- package/dist/testing/keys.d.ts +0 -89
- package/dist/testing/screen.d.ts +0 -35
- package/dist/testing/wait-for.d.ts +0 -21
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React hook for managing text selection with keyboard and clipboard integration.
|
|
3
|
-
*
|
|
4
|
-
* Builds on the existing Selection/Range classes from `../selection.ts` and
|
|
5
|
-
* provides a high-level API for Shift+Arrow selection and copy-to-clipboard.
|
|
6
|
-
*/
|
|
7
|
-
import type { RefObject } from "react";
|
|
8
|
-
import type { DOMElement } from "../dom.d.ts";
|
|
9
|
-
import { Selection } from "../selection.d.ts";
|
|
10
|
-
export type UseTextSelectionOptions = {
|
|
11
|
-
/**
|
|
12
|
-
* Automatically copy selected text to clipboard when selection changes.
|
|
13
|
-
* @default false
|
|
14
|
-
*/
|
|
15
|
-
readonly copyOnSelect?: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Enable or disable text selection.
|
|
18
|
-
* @default true
|
|
19
|
-
*/
|
|
20
|
-
readonly isActive?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Called whenever the selection changes.
|
|
23
|
-
*/
|
|
24
|
-
readonly onSelectionChange?: (selectedText: string) => void;
|
|
25
|
-
};
|
|
26
|
-
export type UseTextSelectionResult = {
|
|
27
|
-
/** Clear the current selection. */
|
|
28
|
-
readonly clearSelection: () => void;
|
|
29
|
-
/** Select all content within the referenced element. */
|
|
30
|
-
readonly selectAll: () => void;
|
|
31
|
-
/** The currently selected text. */
|
|
32
|
-
readonly selectedText: string;
|
|
33
|
-
/** The underlying Selection instance. */
|
|
34
|
-
readonly selection: Selection;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Hook for managing text selection on a DOM element.
|
|
38
|
-
*
|
|
39
|
-
* ```tsx
|
|
40
|
-
* const ref = useRef(null);
|
|
41
|
-
* const { selectedText, selectAll, clearSelection } = useTextSelection(ref);
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
declare const useTextSelection: (ref: RefObject<DOMElement | null>, options?: UseTextSelectionOptions) => UseTextSelectionResult;
|
|
45
|
-
export default useTextSelection;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export type UseTimerOptions = {
|
|
2
|
-
/**
|
|
3
|
-
* Whether to start the timer immediately.
|
|
4
|
-
*
|
|
5
|
-
* @default false
|
|
6
|
-
*/
|
|
7
|
-
readonly autoStart?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Total countdown duration in milliseconds.
|
|
10
|
-
*/
|
|
11
|
-
readonly duration: number;
|
|
12
|
-
/**
|
|
13
|
-
* Tick interval in milliseconds.
|
|
14
|
-
*
|
|
15
|
-
* @default 1000
|
|
16
|
-
*/
|
|
17
|
-
readonly interval?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Called once when the timer reaches zero.
|
|
20
|
-
*/
|
|
21
|
-
readonly onTimeout?: () => void;
|
|
22
|
-
};
|
|
23
|
-
export type UseTimerResult = {
|
|
24
|
-
/** Whether the countdown has reached zero. */
|
|
25
|
-
readonly isFinished: boolean;
|
|
26
|
-
/** Whether the timer is currently counting down. */
|
|
27
|
-
readonly isRunning: boolean;
|
|
28
|
-
/** Milliseconds remaining (clamped to >= 0). */
|
|
29
|
-
readonly remaining: number;
|
|
30
|
-
/** Reset the timer to the original duration and stop it. */
|
|
31
|
-
readonly reset: () => void;
|
|
32
|
-
/** Start the countdown. */
|
|
33
|
-
readonly start: () => void;
|
|
34
|
-
/** Stop (pause) the countdown. */
|
|
35
|
-
readonly stop: () => void;
|
|
36
|
-
/** Toggle between running and stopped. */
|
|
37
|
-
readonly toggle: () => void;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* A countdown timer hook built on `useAnimation`.
|
|
41
|
-
*
|
|
42
|
-
* ```tsx
|
|
43
|
-
* const { remaining, isRunning, start, stop, reset, isFinished } = useTimer({
|
|
44
|
-
* duration: 60_000,
|
|
45
|
-
* onTimeout: () => console.log("Time's up!"),
|
|
46
|
-
* });
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export default function useTimer(options: UseTimerOptions): UseTimerResult;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dimensions of the terminal window.
|
|
3
|
-
*/
|
|
4
|
-
export type WindowSize = {
|
|
5
|
-
/**
|
|
6
|
-
* Number of columns (horizontal character cells).
|
|
7
|
-
*/
|
|
8
|
-
readonly columns: number;
|
|
9
|
-
/**
|
|
10
|
-
* Number of rows (vertical character cells).
|
|
11
|
-
*/
|
|
12
|
-
readonly rows: number;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* A React hook that returns the current terminal window dimensions and re-renders the component whenever the terminal is resized.
|
|
16
|
-
*/
|
|
17
|
-
declare const useWindowSize: () => WindowSize;
|
|
18
|
-
export default useWindowSize;
|
package/dist/ink/ime-utils.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detect whether a string contains non-ASCII characters that are likely
|
|
3
|
-
* IME (Input Method Editor) composition input — CJK ideographs, Hangul,
|
|
4
|
-
* Thai, Vietnamese diacritics, etc.
|
|
5
|
-
*/
|
|
6
|
-
declare const isIMEInput: (data: string) => boolean;
|
|
7
|
-
type IMECompositionBufferOptions = {
|
|
8
|
-
onFlush: (text: string) => void;
|
|
9
|
-
timeout: number;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Buffers rapid multi-byte character input from IME and flushes the
|
|
13
|
-
* accumulated text after a configurable timeout.
|
|
14
|
-
*/
|
|
15
|
-
declare class IMECompositionBuffer {
|
|
16
|
-
private buffer;
|
|
17
|
-
private timer;
|
|
18
|
-
private readonly onFlush;
|
|
19
|
-
private readonly timeout;
|
|
20
|
-
constructor({ onFlush, timeout }: IMECompositionBufferOptions);
|
|
21
|
-
add(text: string): void;
|
|
22
|
-
flush(): void;
|
|
23
|
-
destroy(): void;
|
|
24
|
-
}
|
|
25
|
-
export { IMECompositionBuffer, isIMEInput };
|
package/dist/ink/ink.d.ts
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
import * as dom from "./dom.d.ts";
|
|
3
|
-
import type { KittyKeyboardOptions } from "./kitty-keyboard.d.ts";
|
|
4
|
-
import type { CursorPosition } from "./log-update.d.ts";
|
|
5
|
-
/**
|
|
6
|
-
* Performance metrics for a render operation.
|
|
7
|
-
*/
|
|
8
|
-
export type RenderMetrics = {
|
|
9
|
-
/**
|
|
10
|
-
* Time spent rendering in milliseconds.
|
|
11
|
-
*/
|
|
12
|
-
renderTime: number;
|
|
13
|
-
};
|
|
14
|
-
export type Options = {
|
|
15
|
-
/**
|
|
16
|
-
* Render the app in the terminal's alternate screen buffer. When enabled, the app renders on a separate screen, and the original terminal content is restored when the app exits. This is the same mechanism used by programs like vim, htop, and less.
|
|
17
|
-
*
|
|
18
|
-
* Note: The terminal's scrollback buffer is not available while in the alternate screen. This is standard terminal behavior; programs like vim use the alternate screen specifically to avoid polluting the user's scrollback history.
|
|
19
|
-
*
|
|
20
|
-
* Note: Ink intentionally treats alternate-screen teardown output as disposable. It does not preserve or replay teardown-time frames, hook writes, or `console.*` output after restoring the primary screen.
|
|
21
|
-
*
|
|
22
|
-
Only works in interactive mode. Ignored when `interactive` is `false` or in a non-interactive environment (CI, piped stdout).
|
|
23
|
-
|
|
24
|
-
Note: Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.
|
|
25
|
-
|
|
26
|
-
@default false
|
|
27
|
-
|
|
28
|
-
@see {@link RenderOptions.alternateScreen}
|
|
29
|
-
*/
|
|
30
|
-
alternateScreen?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Enable React Concurrent Rendering mode.
|
|
33
|
-
*
|
|
34
|
-
* When enabled:
|
|
35
|
-
* - Suspense boundaries work correctly with async data
|
|
36
|
-
* - `useTransition` and `useDeferredValue` are fully functional
|
|
37
|
-
- Updates can be interrupted for higher priority work
|
|
38
|
-
|
|
39
|
-
Note: Concurrent mode changes the timing of renders. Some tests may need to use `act()` to properly await updates. Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change the rendering mode or create a fresh instance.
|
|
40
|
-
|
|
41
|
-
@default false
|
|
42
|
-
@experimental
|
|
43
|
-
*/
|
|
44
|
-
concurrent?: boolean;
|
|
45
|
-
debug: boolean;
|
|
46
|
-
exitOnCtrlC: boolean;
|
|
47
|
-
incrementalRendering?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Override automatic interactive mode detection.
|
|
50
|
-
*
|
|
51
|
-
* By default, Ink detects whether the environment is interactive based on CI detection (via [`is-in-ci`](https://github.com/sindresorhus/is-in-ci)) and `stdout.isTTY`. Most users should not need to set this.
|
|
52
|
-
*
|
|
53
|
-
* When non-interactive, Ink disables ANSI erase sequences, cursor manipulation, synchronized output, resize handling, and kitty keyboard auto-detection, writing only the final frame at unmount.
|
|
54
|
-
*
|
|
55
|
-
Set to `false` to force non-interactive mode or `true` to force interactive mode when the automatic detection doesn't suit your use case.
|
|
56
|
-
|
|
57
|
-
Note: Reusing the same stdout across multiple `render()` calls without unmounting is unsupported. Call `unmount()` first if you need to change this option or create a fresh instance.
|
|
58
|
-
|
|
59
|
-
@default true (false if in CI or `stdout.isTTY` is falsy)
|
|
60
|
-
|
|
61
|
-
@see {@link RenderOptions.interactive}
|
|
62
|
-
*/
|
|
63
|
-
interactive?: boolean;
|
|
64
|
-
isScreenReaderEnabled?: boolean;
|
|
65
|
-
kittyKeyboard?: KittyKeyboardOptions;
|
|
66
|
-
maxFps?: number;
|
|
67
|
-
onRender?: (metrics: RenderMetrics) => void;
|
|
68
|
-
patchConsole: boolean;
|
|
69
|
-
standardReactLayoutTiming?: boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Whether to track text selection state during rendering.
|
|
72
|
-
*
|
|
73
|
-
* @default false
|
|
74
|
-
*/
|
|
75
|
-
trackSelection?: boolean;
|
|
76
|
-
stderr: NodeJS.WriteStream;
|
|
77
|
-
stdin: NodeJS.ReadStream;
|
|
78
|
-
stdout: NodeJS.WriteStream;
|
|
79
|
-
/**
|
|
80
|
-
* Use the native Rust cell-diff renderer instead of ANSI string-based log-update.
|
|
81
|
-
* Produces a Uint32Array buffer that the Rust renderer diffs cell-by-cell,
|
|
82
|
-
* generating minimal ANSI escape sequences. Significantly reduces GC pressure
|
|
83
|
-
* and improves rendering performance for complex UIs.
|
|
84
|
-
*
|
|
85
|
-
* Falls back to the string-based path if native bindings are not available.
|
|
86
|
-
* @default false
|
|
87
|
-
*/
|
|
88
|
-
useNativeRenderer?: boolean;
|
|
89
|
-
waitUntilExit?: () => Promise<unknown>;
|
|
90
|
-
};
|
|
91
|
-
export default class Ink {
|
|
92
|
-
/**
|
|
93
|
-
* Whether this instance is using concurrent rendering mode.
|
|
94
|
-
*/
|
|
95
|
-
readonly isConcurrent: boolean;
|
|
96
|
-
private readonly options;
|
|
97
|
-
private readonly log;
|
|
98
|
-
private manualCursorPosition;
|
|
99
|
-
private renderedCursorPosition;
|
|
100
|
-
private renderedCursorRequested;
|
|
101
|
-
private readonly throttledLog;
|
|
102
|
-
private readonly isScreenReaderEnabled;
|
|
103
|
-
private readonly interactive;
|
|
104
|
-
private readonly renderThrottleMs;
|
|
105
|
-
private alternateScreen;
|
|
106
|
-
private isUnmounted;
|
|
107
|
-
private isUnmounting;
|
|
108
|
-
private lastOutput;
|
|
109
|
-
private lastOutputToRender;
|
|
110
|
-
private lastOutputHeight;
|
|
111
|
-
private lastTerminalWidth;
|
|
112
|
-
private readonly nativeLog;
|
|
113
|
-
private readonly useNativeRenderer;
|
|
114
|
-
private readonly container;
|
|
115
|
-
readonly rootNode: dom.DOMElement;
|
|
116
|
-
private fullStaticOutput;
|
|
117
|
-
private readonly exitPromise;
|
|
118
|
-
private exitResult;
|
|
119
|
-
private beforeExitHandler?;
|
|
120
|
-
private restoreConsole?;
|
|
121
|
-
private unsubscribeResize?;
|
|
122
|
-
private readonly throttledOnRender?;
|
|
123
|
-
private hasPendingThrottledRender;
|
|
124
|
-
private kittyProtocolEnabled;
|
|
125
|
-
private cancelKittyDetection?;
|
|
126
|
-
private nextRenderCommit?;
|
|
127
|
-
private deferredInitDone;
|
|
128
|
-
constructor(options: Options);
|
|
129
|
-
/**
|
|
130
|
-
* Perform deferred initialization on the first render frame.
|
|
131
|
-
* Kitty keyboard auto-detection is deferred here because the CSI ? u
|
|
132
|
-
* query sets up a synchronous stdin listener with a 200ms timeout.
|
|
133
|
-
* "enabled" mode runs immediately in the constructor (it's just a write).
|
|
134
|
-
*/
|
|
135
|
-
private runDeferredInit;
|
|
136
|
-
resized: () => void;
|
|
137
|
-
resolveExitPromise: (result?: unknown) => void;
|
|
138
|
-
rejectExitPromise: (reason?: Error) => void;
|
|
139
|
-
unsubscribeExit: () => void;
|
|
140
|
-
handleAppExit: (errorOrResult?: unknown) => void;
|
|
141
|
-
getActiveCursorPosition: () => CursorPosition | undefined;
|
|
142
|
-
setCursorPosition: (position: CursorPosition | undefined) => void;
|
|
143
|
-
restoreLastOutput: () => void;
|
|
144
|
-
calculateLayout: () => void;
|
|
145
|
-
private calculateScrollAndTriggerObservers;
|
|
146
|
-
/**
|
|
147
|
-
* Force a full layout recalculation by marking all text nodes dirty.
|
|
148
|
-
* Useful when the string width function changes or terminal font changes.
|
|
149
|
-
*/
|
|
150
|
-
recalculateLayout(): void;
|
|
151
|
-
/**
|
|
152
|
-
* Walk the DOM tree before Yoga layout to handle StaticRender nodes:
|
|
153
|
-
* - Re-attach Yoga children if a cached render was invalidated
|
|
154
|
-
* - Pre-render ink-static-render nodes that don't have a cached render yet
|
|
155
|
-
*/
|
|
156
|
-
private prepareYogaTree;
|
|
157
|
-
private markAllTextNodesDirty;
|
|
158
|
-
onRender: () => void;
|
|
159
|
-
private accessibilityContextValue;
|
|
160
|
-
render(node: ReactNode): void;
|
|
161
|
-
writeToStdout: (data: string) => void;
|
|
162
|
-
writeToStderr: (data: string) => void;
|
|
163
|
-
unmount: (error?: Error | number | null) => void;
|
|
164
|
-
waitUntilExit(): Promise<unknown>;
|
|
165
|
-
waitUntilRenderFlush(): Promise<void>;
|
|
166
|
-
clear(): void;
|
|
167
|
-
patchConsole(): void;
|
|
168
|
-
private setAlternateScreen;
|
|
169
|
-
private resolveInteractiveOption;
|
|
170
|
-
private resolveAlternateScreenOption;
|
|
171
|
-
private shouldSync;
|
|
172
|
-
private writeBestEffort;
|
|
173
|
-
private awaitExit;
|
|
174
|
-
private hasPendingConcurrentWork;
|
|
175
|
-
private awaitNextRender;
|
|
176
|
-
private renderInteractiveFrame;
|
|
177
|
-
/**
|
|
178
|
-
* Handle kitty keyboard "enabled" mode immediately (just a stdout.write).
|
|
179
|
-
* Called from the constructor.
|
|
180
|
-
*/
|
|
181
|
-
private initImmediateKittyKeyboard;
|
|
182
|
-
/**
|
|
183
|
-
* Handle kitty keyboard "auto" mode detection. Deferred to first render
|
|
184
|
-
* because the CSI ? u query sets up a stdin listener with a 200ms timeout.
|
|
185
|
-
*/
|
|
186
|
-
private initDeferredKittyKeyboard;
|
|
187
|
-
private confirmKittySupport;
|
|
188
|
-
private enableKittyProtocol;
|
|
189
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type InputEvent = string | {
|
|
2
|
-
readonly paste: string;
|
|
3
|
-
};
|
|
4
|
-
export type InputParser = {
|
|
5
|
-
flushPendingEscape: () => string | undefined;
|
|
6
|
-
hasPendingEscape: () => boolean;
|
|
7
|
-
push: (chunk: string) => InputEvent[];
|
|
8
|
-
reset: () => void;
|
|
9
|
-
};
|
|
10
|
-
export declare const createInputParser: () => InputParser;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared input filtering utilities for text input components.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Check if a character is a C0 control character or DEL.
|
|
6
|
-
*/
|
|
7
|
-
export declare const isControlCharacter: (input: string) => boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Determine whether the input should be inserted as text.
|
|
10
|
-
* Filters out modifier chords (Ctrl+S, Meta+S, etc.) while allowing
|
|
11
|
-
* AltGr-produced symbols (Ctrl+Meta+@, Ctrl+Meta+€) on international keyboards.
|
|
12
|
-
*/
|
|
13
|
-
export declare const isInsertableInput: (input: string, key: {
|
|
14
|
-
ctrl: boolean;
|
|
15
|
-
meta: boolean;
|
|
16
|
-
}) => boolean;
|
package/dist/ink/instances.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export declare const kittyFlags: {
|
|
2
|
-
readonly disambiguateEscapeCodes: 1;
|
|
3
|
-
readonly reportAllKeysAsEscapeCodes: 8;
|
|
4
|
-
readonly reportAlternateKeys: 4;
|
|
5
|
-
readonly reportAssociatedText: 16;
|
|
6
|
-
readonly reportEventTypes: 2;
|
|
7
|
-
};
|
|
8
|
-
export type KittyFlagName = keyof typeof kittyFlags;
|
|
9
|
-
export declare function resolveFlags(flags: KittyFlagName[]): number;
|
|
10
|
-
export declare const kittyModifiers: {
|
|
11
|
-
readonly alt: 2;
|
|
12
|
-
readonly capsLock: 64;
|
|
13
|
-
readonly ctrl: 4;
|
|
14
|
-
readonly hyper: 16;
|
|
15
|
-
readonly meta: 32;
|
|
16
|
-
readonly numLock: 128;
|
|
17
|
-
readonly shift: 1;
|
|
18
|
-
readonly super: 8;
|
|
19
|
-
};
|
|
20
|
-
export type KittyKeyboardOptions = {
|
|
21
|
-
flags?: KittyFlagName[];
|
|
22
|
-
mode?: "auto" | "enabled" | "disabled";
|
|
23
|
-
};
|
package/dist/ink/layout.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { DOMElement, DOMNode } from "./dom.d.ts";
|
|
2
|
-
import type { TextFragment } from "./measure-element.d.ts";
|
|
3
|
-
type Position = {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
};
|
|
7
|
-
declare const getAbsolutePosition: (node: DOMElement) => Position | undefined;
|
|
8
|
-
declare const getAbsoluteContentPosition: (node: DOMElement) => Position | undefined;
|
|
9
|
-
/**
|
|
10
|
-
* Generic layout tree walker with callbacks for text, newline, and space events.
|
|
11
|
-
* Used by selection.ts for extracting text from the DOM tree with proper layout positioning.
|
|
12
|
-
*
|
|
13
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
14
|
-
*/
|
|
15
|
-
export type LayoutCallbacks<T> = {
|
|
16
|
-
initialState: () => T;
|
|
17
|
-
onNewline: (count: number, state: T) => void;
|
|
18
|
-
onSpace: (count: number, state: T) => void;
|
|
19
|
-
onText: (fragment: TextFragment, state: T) => void;
|
|
20
|
-
};
|
|
21
|
-
export declare const processLayout: <T>(node: DOMNode, callbacks: LayoutCallbacks<T>) => {
|
|
22
|
-
lineBottom: number;
|
|
23
|
-
state: T;
|
|
24
|
-
};
|
|
25
|
-
export type { Position };
|
|
26
|
-
export { getAbsoluteContentPosition, getAbsolutePosition };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export type NativeLogUpdate = {
|
|
2
|
-
clear: () => void;
|
|
3
|
-
destroy: () => void;
|
|
4
|
-
render: (buffer: Uint32Array, width: number, height: number) => void;
|
|
5
|
-
resize: (width: number, height: number) => void;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Create a native (Rust-backed) renderer for Ink's output.
|
|
9
|
-
*
|
|
10
|
-
* The native binding is loaded lazily — if it's not available (e.g., unsupported
|
|
11
|
-
* platform), `createNative` returns `undefined`. The binding lookup is cached
|
|
12
|
-
* at the module level so subsequent calls avoid the try-catch + require overhead.
|
|
13
|
-
*/
|
|
14
|
-
export declare const createNative: (stream: NodeJS.WriteStream) => NativeLogUpdate | undefined;
|
package/dist/ink/log-update.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Writable } from "node:stream";
|
|
2
|
-
import type { CursorPosition } from "./cursor-helpers.d.ts";
|
|
3
|
-
export type { CursorPosition } from "./cursor-helpers.d.ts";
|
|
4
|
-
export type LogUpdate = {
|
|
5
|
-
clear: () => void;
|
|
6
|
-
done: () => void;
|
|
7
|
-
isCursorDirty: () => boolean;
|
|
8
|
-
reset: () => void;
|
|
9
|
-
setCursorPosition: (position: CursorPosition | undefined) => void;
|
|
10
|
-
sync: (string_: string) => void;
|
|
11
|
-
willRender: (string_: string) => boolean;
|
|
12
|
-
(string_: string): boolean;
|
|
13
|
-
};
|
|
14
|
-
declare const create: (stream: Writable, { incremental, showCursor }?: {
|
|
15
|
-
incremental?: boolean;
|
|
16
|
-
showCursor?: boolean;
|
|
17
|
-
}) => LogUpdate;
|
|
18
|
-
declare const logUpdate: {
|
|
19
|
-
create: typeof create;
|
|
20
|
-
};
|
|
21
|
-
export default logUpdate;
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import type { DOMElement, DOMNode } from "./dom.d.ts";
|
|
2
|
-
type Output = {
|
|
3
|
-
/**
|
|
4
|
-
* Element height.
|
|
5
|
-
*/
|
|
6
|
-
height: number;
|
|
7
|
-
/**
|
|
8
|
-
* Element width.
|
|
9
|
-
*/
|
|
10
|
-
width: number;
|
|
11
|
-
/**
|
|
12
|
-
* Element X position relative to Ink output origin.
|
|
13
|
-
*/
|
|
14
|
-
x: number;
|
|
15
|
-
/**
|
|
16
|
-
* Element Y position relative to Ink output origin.
|
|
17
|
-
*/
|
|
18
|
-
y: number;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Measure the dimensions of a particular `<Box>` element.
|
|
22
|
-
* Returns an object with `x`, `y`, `width` and `height` properties.
|
|
23
|
-
*/
|
|
24
|
-
declare const measureElement: (node: DOMElement) => Output;
|
|
25
|
-
export default measureElement;
|
|
26
|
-
/**
|
|
27
|
-
* Get an element's inner width (excluding borders).
|
|
28
|
-
*/
|
|
29
|
-
export declare const getInnerWidth: (node: DOMElement) => number;
|
|
30
|
-
/**
|
|
31
|
-
* Get an element's inner height (excluding borders).
|
|
32
|
-
*/
|
|
33
|
-
export declare const getInnerHeight: (node: DOMElement) => number;
|
|
34
|
-
/**
|
|
35
|
-
* Get an element's position and dimensions relative to the root,
|
|
36
|
-
* accounting for scroll offsets of ancestor elements.
|
|
37
|
-
*/
|
|
38
|
-
export declare const getBoundingBox: (node: DOMElement) => {
|
|
39
|
-
height: number;
|
|
40
|
-
width: number;
|
|
41
|
-
x: number;
|
|
42
|
-
y: number;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Get how much scroll height was added by stableScrollback.
|
|
46
|
-
*/
|
|
47
|
-
export declare const getAddedScrollHeight: (node: DOMElement) => number;
|
|
48
|
-
export type ScrollbarBoundingBox = {
|
|
49
|
-
height: number;
|
|
50
|
-
thumb: {
|
|
51
|
-
end: number;
|
|
52
|
-
endHalf: number;
|
|
53
|
-
height: number;
|
|
54
|
-
start: number;
|
|
55
|
-
startHalf: number;
|
|
56
|
-
width: number;
|
|
57
|
-
x: number;
|
|
58
|
-
y: number;
|
|
59
|
-
};
|
|
60
|
-
width: number;
|
|
61
|
-
x: number;
|
|
62
|
-
y: number;
|
|
63
|
-
};
|
|
64
|
-
export declare const calculateScrollbarThumb: (options: {
|
|
65
|
-
axis: "horizontal" | "vertical";
|
|
66
|
-
clientDimension: number;
|
|
67
|
-
scrollbarDimension: number;
|
|
68
|
-
scrollDimension: number;
|
|
69
|
-
scrollPosition: number;
|
|
70
|
-
}) => {
|
|
71
|
-
endIndex: number;
|
|
72
|
-
startIndex: number;
|
|
73
|
-
thumbEndHalf: number;
|
|
74
|
-
thumbStartHalf: number;
|
|
75
|
-
};
|
|
76
|
-
export declare const calculateScrollbarLayout: (options: {
|
|
77
|
-
axis: "horizontal" | "vertical";
|
|
78
|
-
clientDimension: number;
|
|
79
|
-
hasOppositeScrollbar: boolean;
|
|
80
|
-
height: number;
|
|
81
|
-
marginBottom: number;
|
|
82
|
-
marginRight: number;
|
|
83
|
-
scrollDimension: number;
|
|
84
|
-
scrollPosition: number;
|
|
85
|
-
width: number;
|
|
86
|
-
x: number;
|
|
87
|
-
y: number;
|
|
88
|
-
}) => ScrollbarBoundingBox | undefined;
|
|
89
|
-
/**
|
|
90
|
-
* Get the bounding box of the vertical scrollbar.
|
|
91
|
-
*/
|
|
92
|
-
export declare const getVerticalScrollbarBoundingBox: (node: DOMElement, offset?: {
|
|
93
|
-
x: number;
|
|
94
|
-
y: number;
|
|
95
|
-
}) => ScrollbarBoundingBox | undefined;
|
|
96
|
-
/**
|
|
97
|
-
* Get the bounding box of the horizontal scrollbar.
|
|
98
|
-
*/
|
|
99
|
-
export declare const getHorizontalScrollbarBoundingBox: (node: DOMElement, offset?: {
|
|
100
|
-
x: number;
|
|
101
|
-
y: number;
|
|
102
|
-
}) => ScrollbarBoundingBox | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* Get the top position of a node relative to a given ancestor.
|
|
105
|
-
* Returns undefined if the ancestor is not in the node's parent chain.
|
|
106
|
-
*
|
|
107
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
108
|
-
*/
|
|
109
|
-
export declare const getRelativeTop: (node: DOMElement, ancestor?: DOMElement) => number | undefined;
|
|
110
|
-
/**
|
|
111
|
-
* Get the left position of a node relative to a given ancestor.
|
|
112
|
-
* Returns undefined if the ancestor is not in the node's parent chain.
|
|
113
|
-
*
|
|
114
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
115
|
-
*/
|
|
116
|
-
export declare const getRelativeLeft: (node: DOMElement, ancestor?: DOMElement) => number | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* A text fragment from the layout tree with its position and dimensions.
|
|
119
|
-
* Used by `processLayout` for text extraction and selection.
|
|
120
|
-
*
|
|
121
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
122
|
-
*/
|
|
123
|
-
export type TextFragment = {
|
|
124
|
-
height: number;
|
|
125
|
-
node: DOMElement;
|
|
126
|
-
text: string;
|
|
127
|
-
visualX: number;
|
|
128
|
-
visualY: number;
|
|
129
|
-
width: number;
|
|
130
|
-
x: number;
|
|
131
|
-
y: number;
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Get the text content of a DOM node (text node value or squashed children).
|
|
135
|
-
*/
|
|
136
|
-
export declare const getText: (node: DOMNode) => string;
|
|
137
|
-
/**
|
|
138
|
-
* Walk the layout tree to collect all text fragments in document order,
|
|
139
|
-
* with their positions adjusted for borders and flex layout.
|
|
140
|
-
*
|
|
141
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
142
|
-
*/
|
|
143
|
-
export declare const collectSortedFragments: (node: DOMNode) => {
|
|
144
|
-
fragments: TextFragment[];
|
|
145
|
-
removedHorizontal: number;
|
|
146
|
-
removedVertical: number;
|
|
147
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { StyledLine } from "./styled-line.d.ts";
|
|
2
|
-
export type StringWidthFunction = (text: string) => number;
|
|
3
|
-
type Output = {
|
|
4
|
-
height: number;
|
|
5
|
-
width: number;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Enable or disable the StyledLine tokenization cache at runtime.
|
|
9
|
-
* Disabling clears the existing cache.
|
|
10
|
-
*/
|
|
11
|
-
export declare const setEnableStyledLineCache: (enabled: boolean) => void;
|
|
12
|
-
/**
|
|
13
|
-
* Clear only the StyledLine tokenization cache.
|
|
14
|
-
*/
|
|
15
|
-
export declare const clearStyledLineCache: () => void;
|
|
16
|
-
/**
|
|
17
|
-
* Replace the string width function used for text measurement.
|
|
18
|
-
* Useful for terminals with non-standard character widths.
|
|
19
|
-
* Clears the measurement cache when called.
|
|
20
|
-
*/
|
|
21
|
-
export declare const setStringWidthFunction: (function_: StringWidthFunction) => void;
|
|
22
|
-
/**
|
|
23
|
-
* Clear the string width measurement cache. Call this if the terminal
|
|
24
|
-
* environment changes in a way that affects character widths.
|
|
25
|
-
*/
|
|
26
|
-
export declare const clearStringWidthCache: () => void;
|
|
27
|
-
/**
|
|
28
|
-
* Get the visual width of a single character, with caching and error handling.
|
|
29
|
-
*
|
|
30
|
-
* Ported from jacob314/ink fork (Google LLC, Apache-2.0).
|
|
31
|
-
*/
|
|
32
|
-
export declare const inkCharacterWidth: (text: string) => number;
|
|
33
|
-
declare const measureText: (text: string) => Output;
|
|
34
|
-
export default measureText;
|
|
35
|
-
/**
|
|
36
|
-
* Convert a text string to a StyledLine, with caching.
|
|
37
|
-
* Uses the direct text → StyledLine pipeline (handles combining chars,
|
|
38
|
-
* tabs, regional indicators, ANSI codes, etc.) without intermediate
|
|
39
|
-
* StyledChar objects.
|
|
40
|
-
*/
|
|
41
|
-
export declare const toStyledLine: (text: string) => StyledLine;
|
|
42
|
-
/**
|
|
43
|
-
* Get the total visual width of a StyledLine.
|
|
44
|
-
*/
|
|
45
|
-
export declare const styledLineWidth: (line: StyledLine) => number;
|
|
46
|
-
/**
|
|
47
|
-
* Split a StyledLine by newline characters into multiple StyledLines.
|
|
48
|
-
*/
|
|
49
|
-
export declare const splitStyledLineByNewline: (line: StyledLine) => StyledLine[];
|
|
50
|
-
/**
|
|
51
|
-
* Measure the dimensions of a StyledLine (width of widest line, height in lines).
|
|
52
|
-
*/
|
|
53
|
-
export declare const measureStyledLine: (line: StyledLine) => {
|
|
54
|
-
height: number;
|
|
55
|
-
width: number;
|
|
56
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ported from `\@zenobius/ink-mouse` (https://github.com/zenobi-us/ink-mouse)
|
|
3
|
-
* Copyright Zeno Jiricek, licensed under Apache-2.0
|
|
4
|
-
*/
|
|
5
|
-
import type { PropsWithChildren } from "react";
|
|
6
|
-
import React from "react";
|
|
7
|
-
declare const Fullscreen: ({ children }: PropsWithChildren) => React.JSX.Element;
|
|
8
|
-
export default Fullscreen;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ported from `\@zenobius/ink-mouse` (https://github.com/zenobi-us/ink-mouse)
|
|
3
|
-
* Copyright Zeno Jiricek, licensed under Apache-2.0
|
|
4
|
-
*
|
|
5
|
-
* Rewritten to integrate with the ink input pipeline instead of
|
|
6
|
-
* listening on process.stdin directly.
|
|
7
|
-
*/
|
|
8
|
-
import type { PropsWithChildren } from "react";
|
|
9
|
-
import React from "react";
|
|
10
|
-
declare const MouseProvider: ({ children }: PropsWithChildren) => React.JSX.Element;
|
|
11
|
-
export default MouseProvider;
|