@rezi-ui/ink-compat 0.1.0-alpha.6 → 0.1.0-alpha.63
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 +182 -0
- package/dist/components/Box.d.ts +56 -56
- package/dist/components/Box.d.ts.map +1 -1
- package/dist/components/Box.js +3 -12
- package/dist/components/Box.js.map +1 -1
- package/dist/components/Newline.d.ts +3 -13
- package/dist/components/Newline.d.ts.map +1 -1
- package/dist/components/Newline.js +4 -8
- package/dist/components/Newline.js.map +1 -1
- package/dist/components/Spacer.d.ts +1 -7
- package/dist/components/Spacer.d.ts.map +1 -1
- package/dist/components/Spacer.js +4 -9
- package/dist/components/Spacer.js.map +1 -1
- package/dist/components/Static.d.ts +12 -26
- package/dist/components/Static.d.ts.map +1 -1
- package/dist/components/Static.js +12 -13
- package/dist/components/Static.js.map +1 -1
- package/dist/components/Text.d.ts +28 -7
- package/dist/components/Text.d.ts.map +1 -1
- package/dist/components/Text.js +4 -11
- package/dist/components/Text.js.map +1 -1
- package/dist/components/Transform.d.ts +9 -16
- package/dist/components/Transform.d.ts.map +1 -1
- package/dist/components/Transform.js +11 -11
- package/dist/components/Transform.js.map +1 -1
- package/dist/hooks/useApp.d.ts +4 -2
- package/dist/hooks/useApp.d.ts.map +1 -1
- package/dist/hooks/useApp.js +4 -4
- package/dist/hooks/useApp.js.map +1 -1
- package/dist/hooks/useCursor.d.ts +5 -0
- package/dist/hooks/useCursor.d.ts.map +1 -0
- package/dist/hooks/useCursor.js +15 -0
- package/dist/hooks/useCursor.js.map +1 -0
- package/dist/hooks/useFocus.d.ts +5 -25
- package/dist/hooks/useFocus.d.ts.map +1 -1
- package/dist/hooks/useFocus.js +47 -31
- package/dist/hooks/useFocus.js.map +1 -1
- package/dist/hooks/useFocusManager.d.ts +2 -4
- package/dist/hooks/useFocusManager.d.ts.map +1 -1
- package/dist/hooks/useFocusManager.js +9 -12
- package/dist/hooks/useFocusManager.js.map +1 -1
- package/dist/hooks/useInput.d.ts +4 -9
- package/dist/hooks/useInput.d.ts.map +1 -1
- package/dist/hooks/useInput.js +15 -118
- package/dist/hooks/useInput.js.map +1 -1
- package/dist/hooks/useIsScreenReaderEnabled.d.ts +1 -1
- package/dist/hooks/useIsScreenReaderEnabled.d.ts.map +1 -1
- package/dist/hooks/useIsScreenReaderEnabled.js +4 -4
- package/dist/hooks/useIsScreenReaderEnabled.js.map +1 -1
- package/dist/hooks/useStderr.d.ts +2 -7
- package/dist/hooks/useStderr.d.ts.map +1 -1
- package/dist/hooks/useStderr.js +4 -9
- package/dist/hooks/useStderr.js.map +1 -1
- package/dist/hooks/useStdin.d.ts +4 -14
- package/dist/hooks/useStdin.d.ts.map +1 -1
- package/dist/hooks/useStdin.js +6 -11
- package/dist/hooks/useStdin.js.map +1 -1
- package/dist/hooks/useStdout.d.ts +2 -7
- package/dist/hooks/useStdout.d.ts.map +1 -1
- package/dist/hooks/useStdout.js +4 -9
- package/dist/hooks/useStdout.js.map +1 -1
- package/dist/index.d.ts +34 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -25
- package/dist/index.js.map +1 -1
- package/dist/kitty-keyboard.d.ts +20 -0
- package/dist/kitty-keyboard.d.ts.map +1 -0
- package/dist/kitty-keyboard.js +25 -0
- package/dist/kitty-keyboard.js.map +1 -0
- package/dist/reconciler/hostConfig.d.ts +63 -4
- package/dist/reconciler/hostConfig.d.ts.map +1 -1
- package/dist/reconciler/hostConfig.js +160 -140
- package/dist/reconciler/hostConfig.js.map +1 -1
- package/dist/reconciler/reconciler.d.ts +9 -0
- package/dist/reconciler/reconciler.d.ts.map +1 -0
- package/dist/reconciler/reconciler.js +4 -0
- package/dist/reconciler/reconciler.js.map +1 -0
- package/dist/reconciler/types.d.ts +48 -62
- package/dist/reconciler/types.d.ts.map +1 -1
- package/dist/reconciler/types.js +294 -27
- package/dist/reconciler/types.js.map +1 -1
- package/dist/runtime/ResizeObserver.d.ts +33 -0
- package/dist/runtime/ResizeObserver.d.ts.map +1 -0
- package/dist/runtime/ResizeObserver.js +69 -0
- package/dist/runtime/ResizeObserver.js.map +1 -0
- package/dist/runtime/bridge.d.ts +34 -0
- package/dist/runtime/bridge.d.ts.map +1 -0
- package/dist/runtime/bridge.js +478 -0
- package/dist/runtime/bridge.js.map +1 -0
- package/dist/runtime/context.d.ts +55 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +10 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/runtime/createInkRenderer.d.ts +110 -0
- package/dist/runtime/createInkRenderer.d.ts.map +1 -0
- package/dist/runtime/createInkRenderer.js +469 -0
- package/dist/runtime/createInkRenderer.js.map +1 -0
- package/dist/runtime/domHelpers.d.ts +21 -0
- package/dist/runtime/domHelpers.d.ts.map +1 -0
- package/dist/runtime/domHelpers.js +40 -0
- package/dist/runtime/domHelpers.js.map +1 -0
- package/dist/runtime/getBoundingBox.d.ts +18 -0
- package/dist/runtime/getBoundingBox.d.ts.map +1 -0
- package/dist/runtime/getBoundingBox.js +23 -0
- package/dist/runtime/getBoundingBox.js.map +1 -0
- package/dist/runtime/layoutState.d.ts +11 -0
- package/dist/runtime/layoutState.d.ts.map +1 -0
- package/dist/runtime/layoutState.js +29 -0
- package/dist/runtime/layoutState.js.map +1 -0
- package/dist/runtime/measureElement.d.ts +6 -0
- package/dist/runtime/measureElement.d.ts.map +1 -0
- package/dist/runtime/measureElement.js +11 -0
- package/dist/runtime/measureElement.js.map +1 -0
- package/dist/runtime/reactBridge.d.ts +7 -0
- package/dist/runtime/reactBridge.d.ts.map +1 -0
- package/dist/runtime/reactBridge.js +85 -0
- package/dist/runtime/reactBridge.js.map +1 -0
- package/dist/runtime/reactHelpers.d.ts +5 -0
- package/dist/runtime/reactHelpers.d.ts.map +1 -0
- package/dist/runtime/reactHelpers.js +22 -0
- package/dist/runtime/reactHelpers.js.map +1 -0
- package/dist/runtime/render.d.ts +40 -0
- package/dist/runtime/render.d.ts.map +1 -0
- package/dist/runtime/render.js +3032 -0
- package/dist/runtime/render.js.map +1 -0
- package/dist/runtime/renderToString.d.ts +6 -0
- package/dist/runtime/renderToString.d.ts.map +1 -0
- package/dist/runtime/renderToString.js +45 -0
- package/dist/runtime/renderToString.js.map +1 -0
- package/dist/shims/ink-gradient.d.ts +12 -0
- package/dist/shims/ink-gradient.d.ts.map +1 -0
- package/dist/shims/ink-gradient.js +137 -0
- package/dist/shims/ink-gradient.js.map +1 -0
- package/dist/shims/ink-spinner.d.ts +16 -0
- package/dist/shims/ink-spinner.d.ts.map +1 -0
- package/dist/shims/ink-spinner.js +39 -0
- package/dist/shims/ink-spinner.js.map +1 -0
- package/dist/styledChars.d.ts +45 -0
- package/dist/styledChars.d.ts.map +1 -0
- package/dist/styledChars.js +283 -0
- package/dist/styledChars.js.map +1 -0
- package/dist/testing/index.d.ts +12 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +75 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/translation/borderMap.d.ts +3 -0
- package/dist/translation/borderMap.d.ts.map +1 -0
- package/dist/translation/borderMap.js +21 -0
- package/dist/translation/borderMap.js.map +1 -0
- package/dist/translation/colorMap.d.ts +8 -0
- package/dist/translation/colorMap.d.ts.map +1 -0
- package/dist/translation/colorMap.js +136 -0
- package/dist/translation/colorMap.js.map +1 -0
- package/dist/translation/layoutMap.d.ts +6 -0
- package/dist/translation/layoutMap.d.ts.map +1 -0
- package/dist/translation/layoutMap.js +28 -0
- package/dist/translation/layoutMap.js.map +1 -0
- package/dist/translation/propsToVNode.d.ts +49 -0
- package/dist/translation/propsToVNode.d.ts.map +1 -0
- package/dist/translation/propsToVNode.js +1319 -0
- package/dist/translation/propsToVNode.js.map +1 -0
- package/dist/translation/traceCollector.d.ts +16 -0
- package/dist/translation/traceCollector.d.ts.map +1 -0
- package/dist/translation/traceCollector.js +28 -0
- package/dist/translation/traceCollector.js.map +1 -0
- package/package.json +30 -22
- package/dist/__tests__/Newline.test.d.ts +0 -2
- package/dist/__tests__/Newline.test.d.ts.map +0 -1
- package/dist/__tests__/Newline.test.js +0 -42
- package/dist/__tests__/Newline.test.js.map +0 -1
- package/dist/__tests__/Static.test.d.ts +0 -2
- package/dist/__tests__/Static.test.d.ts.map +0 -1
- package/dist/__tests__/Static.test.js +0 -53
- package/dist/__tests__/Static.test.js.map +0 -1
- package/dist/__tests__/Transform.test.d.ts +0 -2
- package/dist/__tests__/Transform.test.d.ts.map +0 -1
- package/dist/__tests__/Transform.test.js +0 -36
- package/dist/__tests__/Transform.test.js.map +0 -1
- package/dist/__tests__/api.surface.test.d.ts +0 -2
- package/dist/__tests__/api.surface.test.d.ts.map +0 -1
- package/dist/__tests__/api.surface.test.js +0 -32
- package/dist/__tests__/api.surface.test.js.map +0 -1
- package/dist/__tests__/color.test.d.ts +0 -2
- package/dist/__tests__/color.test.d.ts.map +0 -1
- package/dist/__tests__/color.test.js +0 -37
- package/dist/__tests__/color.test.js.map +0 -1
- package/dist/__tests__/compat.thirdparty.test.d.ts +0 -2
- package/dist/__tests__/compat.thirdparty.test.d.ts.map +0 -1
- package/dist/__tests__/compat.thirdparty.test.js +0 -70
- package/dist/__tests__/compat.thirdparty.test.js.map +0 -1
- package/dist/__tests__/emitter.test.d.ts +0 -2
- package/dist/__tests__/emitter.test.d.ts.map +0 -1
- package/dist/__tests__/emitter.test.js +0 -34
- package/dist/__tests__/emitter.test.js.map +0 -1
- package/dist/__tests__/golden/border-styles.golden.test.d.ts +0 -2
- package/dist/__tests__/golden/border-styles.golden.test.d.ts.map +0 -1
- package/dist/__tests__/golden/border-styles.golden.test.js +0 -15
- package/dist/__tests__/golden/border-styles.golden.test.js.map +0 -1
- package/dist/__tests__/golden/box-layout.golden.test.d.ts +0 -2
- package/dist/__tests__/golden/box-layout.golden.test.d.ts.map +0 -1
- package/dist/__tests__/golden/box-layout.golden.test.js +0 -15
- package/dist/__tests__/golden/box-layout.golden.test.js.map +0 -1
- package/dist/__tests__/golden/flex-layout.golden.test.d.ts +0 -2
- package/dist/__tests__/golden/flex-layout.golden.test.d.ts.map +0 -1
- package/dist/__tests__/golden/flex-layout.golden.test.js +0 -15
- package/dist/__tests__/golden/flex-layout.golden.test.js.map +0 -1
- package/dist/__tests__/golden/harness.d.ts +0 -6
- package/dist/__tests__/golden/harness.d.ts.map +0 -1
- package/dist/__tests__/golden/harness.js +0 -31
- package/dist/__tests__/golden/harness.js.map +0 -1
- package/dist/__tests__/golden/simple-text.golden.test.d.ts +0 -2
- package/dist/__tests__/golden/simple-text.golden.test.d.ts.map +0 -1
- package/dist/__tests__/golden/simple-text.golden.test.js +0 -15
- package/dist/__tests__/golden/simple-text.golden.test.js.map +0 -1
- package/dist/__tests__/integration/counter.test.d.ts +0 -2
- package/dist/__tests__/integration/counter.test.d.ts.map +0 -1
- package/dist/__tests__/integration/counter.test.js +0 -41
- package/dist/__tests__/integration/counter.test.js.map +0 -1
- package/dist/__tests__/integration/focus-cycle.test.d.ts +0 -2
- package/dist/__tests__/integration/focus-cycle.test.d.ts.map +0 -1
- package/dist/__tests__/integration/focus-cycle.test.js +0 -37
- package/dist/__tests__/integration/focus-cycle.test.js.map +0 -1
- package/dist/__tests__/integration/harness.d.ts +0 -17
- package/dist/__tests__/integration/harness.d.ts.map +0 -1
- package/dist/__tests__/integration/harness.js +0 -57
- package/dist/__tests__/integration/harness.js.map +0 -1
- package/dist/__tests__/integration/list-nav.test.d.ts +0 -2
- package/dist/__tests__/integration/list-nav.test.d.ts.map +0 -1
- package/dist/__tests__/integration/list-nav.test.js +0 -40
- package/dist/__tests__/integration/list-nav.test.js.map +0 -1
- package/dist/__tests__/integration/nested-layout.test.d.ts +0 -2
- package/dist/__tests__/integration/nested-layout.test.d.ts.map +0 -1
- package/dist/__tests__/integration/nested-layout.test.js +0 -47
- package/dist/__tests__/integration/nested-layout.test.js.map +0 -1
- package/dist/__tests__/integration/static-log.test.d.ts +0 -2
- package/dist/__tests__/integration/static-log.test.d.ts.map +0 -1
- package/dist/__tests__/integration/static-log.test.js +0 -48
- package/dist/__tests__/integration/static-log.test.js.map +0 -1
- package/dist/__tests__/measurement.test.d.ts +0 -2
- package/dist/__tests__/measurement.test.d.ts.map +0 -1
- package/dist/__tests__/measurement.test.js +0 -115
- package/dist/__tests__/measurement.test.js.map +0 -1
- package/dist/__tests__/props.test.d.ts +0 -2
- package/dist/__tests__/props.test.d.ts.map +0 -1
- package/dist/__tests__/props.test.js +0 -131
- package/dist/__tests__/props.test.js.map +0 -1
- package/dist/__tests__/reconciler.test.d.ts +0 -2
- package/dist/__tests__/reconciler.test.d.ts.map +0 -1
- package/dist/__tests__/reconciler.test.js +0 -72
- package/dist/__tests__/reconciler.test.js.map +0 -1
- package/dist/__tests__/render.consoleCapture.test.d.ts +0 -2
- package/dist/__tests__/render.consoleCapture.test.d.ts.map +0 -1
- package/dist/__tests__/render.consoleCapture.test.js +0 -46
- package/dist/__tests__/render.consoleCapture.test.js.map +0 -1
- package/dist/__tests__/render.deferred.test.d.ts +0 -2
- package/dist/__tests__/render.deferred.test.d.ts.map +0 -1
- package/dist/__tests__/render.deferred.test.js +0 -16
- package/dist/__tests__/render.deferred.test.js.map +0 -1
- package/dist/__tests__/render.options.test.d.ts +0 -2
- package/dist/__tests__/render.options.test.d.ts.map +0 -1
- package/dist/__tests__/render.options.test.js +0 -17
- package/dist/__tests__/render.options.test.js.map +0 -1
- package/dist/__tests__/render.parity.test.d.ts +0 -2
- package/dist/__tests__/render.parity.test.d.ts.map +0 -1
- package/dist/__tests__/render.parity.test.js +0 -124
- package/dist/__tests__/render.parity.test.js.map +0 -1
- package/dist/__tests__/render.test.d.ts +0 -2
- package/dist/__tests__/render.test.d.ts.map +0 -1
- package/dist/__tests__/render.test.js +0 -46
- package/dist/__tests__/render.test.js.map +0 -1
- package/dist/__tests__/resizeObserver.test.d.ts +0 -2
- package/dist/__tests__/resizeObserver.test.d.ts.map +0 -1
- package/dist/__tests__/resizeObserver.test.js +0 -50
- package/dist/__tests__/resizeObserver.test.js.map +0 -1
- package/dist/__tests__/testBackend.d.ts +0 -48
- package/dist/__tests__/testBackend.d.ts.map +0 -1
- package/dist/__tests__/testBackend.js +0 -109
- package/dist/__tests__/testBackend.js.map +0 -1
- package/dist/__tests__/useApp.test.d.ts +0 -2
- package/dist/__tests__/useApp.test.d.ts.map +0 -1
- package/dist/__tests__/useApp.test.js +0 -62
- package/dist/__tests__/useApp.test.js.map +0 -1
- package/dist/__tests__/useFocus.test.d.ts +0 -2
- package/dist/__tests__/useFocus.test.d.ts.map +0 -1
- package/dist/__tests__/useFocus.test.js +0 -60
- package/dist/__tests__/useFocus.test.js.map +0 -1
- package/dist/__tests__/useFocusManager.test.d.ts +0 -2
- package/dist/__tests__/useFocusManager.test.d.ts.map +0 -1
- package/dist/__tests__/useFocusManager.test.js +0 -57
- package/dist/__tests__/useFocusManager.test.js.map +0 -1
- package/dist/__tests__/useInput.test.d.ts +0 -2
- package/dist/__tests__/useInput.test.d.ts.map +0 -1
- package/dist/__tests__/useInput.test.js +0 -182
- package/dist/__tests__/useInput.test.js.map +0 -1
- package/dist/__tests__/useStderr.test.d.ts +0 -2
- package/dist/__tests__/useStderr.test.d.ts.map +0 -1
- package/dist/__tests__/useStderr.test.js +0 -59
- package/dist/__tests__/useStderr.test.js.map +0 -1
- package/dist/__tests__/useStdin.test.d.ts +0 -2
- package/dist/__tests__/useStdin.test.d.ts.map +0 -1
- package/dist/__tests__/useStdin.test.js +0 -45
- package/dist/__tests__/useStdin.test.js.map +0 -1
- package/dist/__tests__/useStdout.test.d.ts +0 -2
- package/dist/__tests__/useStdout.test.d.ts.map +0 -1
- package/dist/__tests__/useStdout.test.js +0 -59
- package/dist/__tests__/useStdout.test.js.map +0 -1
- package/dist/color.d.ts +0 -19
- package/dist/color.d.ts.map +0 -1
- package/dist/color.js +0 -121
- package/dist/color.js.map +0 -1
- package/dist/context/AccessibilityContext.d.ts +0 -4
- package/dist/context/AccessibilityContext.d.ts.map +0 -1
- package/dist/context/AccessibilityContext.js +0 -4
- package/dist/context/AccessibilityContext.js.map +0 -1
- package/dist/context/AppContext.d.ts +0 -13
- package/dist/context/AppContext.d.ts.map +0 -1
- package/dist/context/AppContext.js +0 -14
- package/dist/context/AppContext.js.map +0 -1
- package/dist/context/FocusContext.d.ts +0 -31
- package/dist/context/FocusContext.d.ts.map +0 -1
- package/dist/context/FocusContext.js +0 -16
- package/dist/context/FocusContext.js.map +0 -1
- package/dist/context/FocusProvider.d.ts +0 -5
- package/dist/context/FocusProvider.d.ts.map +0 -1
- package/dist/context/FocusProvider.js +0 -160
- package/dist/context/FocusProvider.js.map +0 -1
- package/dist/context/StdioContext.d.ts +0 -24
- package/dist/context/StdioContext.d.ts.map +0 -1
- package/dist/context/StdioContext.js +0 -15
- package/dist/context/StdioContext.js.map +0 -1
- package/dist/errors.d.ts +0 -8
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -9
- package/dist/errors.js.map +0 -1
- package/dist/internal/emitter.d.ts +0 -8
- package/dist/internal/emitter.d.ts.map +0 -1
- package/dist/internal/emitter.js +0 -29
- package/dist/internal/emitter.js.map +0 -1
- package/dist/internal/warn.d.ts +0 -3
- package/dist/internal/warn.d.ts.map +0 -1
- package/dist/internal/warn.js +0 -17
- package/dist/internal/warn.js.map +0 -1
- package/dist/measureElement.d.ts +0 -12
- package/dist/measureElement.d.ts.map +0 -1
- package/dist/measureElement.js +0 -11
- package/dist/measureElement.js.map +0 -1
- package/dist/measurement.d.ts +0 -25
- package/dist/measurement.d.ts.map +0 -1
- package/dist/measurement.js +0 -281
- package/dist/measurement.js.map +0 -1
- package/dist/props/boxProps.d.ts +0 -17
- package/dist/props/boxProps.d.ts.map +0 -1
- package/dist/props/boxProps.js +0 -242
- package/dist/props/boxProps.js.map +0 -1
- package/dist/props/textProps.d.ts +0 -8
- package/dist/props/textProps.d.ts.map +0 -1
- package/dist/props/textProps.js +0 -35
- package/dist/props/textProps.js.map +0 -1
- package/dist/props.d.ts +0 -5
- package/dist/props.d.ts.map +0 -1
- package/dist/props.js +0 -3
- package/dist/props.js.map +0 -1
- package/dist/reconciler/convert.d.ts +0 -4
- package/dist/reconciler/convert.d.ts.map +0 -1
- package/dist/reconciler/convert.js +0 -157
- package/dist/reconciler/convert.js.map +0 -1
- package/dist/reconciler/textUtils.d.ts +0 -6
- package/dist/reconciler/textUtils.d.ts.map +0 -1
- package/dist/reconciler/textUtils.js +0 -395
- package/dist/reconciler/textUtils.js.map +0 -1
- package/dist/reconciler.d.ts +0 -11
- package/dist/reconciler.d.ts.map +0 -1
- package/dist/reconciler.js +0 -58
- package/dist/reconciler.js.map +0 -1
- package/dist/render/consoleCapture.d.ts +0 -14
- package/dist/render/consoleCapture.d.ts.map +0 -1
- package/dist/render/consoleCapture.js +0 -89
- package/dist/render/consoleCapture.js.map +0 -1
- package/dist/render/deferred.d.ts +0 -7
- package/dist/render/deferred.d.ts.map +0 -1
- package/dist/render/deferred.js +0 -10
- package/dist/render/deferred.js.map +0 -1
- package/dist/render/options.d.ts +0 -3
- package/dist/render/options.d.ts.map +0 -1
- package/dist/render/options.js +0 -12
- package/dist/render/options.js.map +0 -1
- package/dist/render.d.ts +0 -4
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -282
- package/dist/render.js.map +0 -1
- package/dist/resizeObserver.d.ts +0 -24
- package/dist/resizeObserver.d.ts.map +0 -1
- package/dist/resizeObserver.js +0 -54
- package/dist/resizeObserver.js.map +0 -1
- package/dist/styledTextCompat.d.ts +0 -22
- package/dist/styledTextCompat.d.ts.map +0 -1
- package/dist/styledTextCompat.js +0 -264
- package/dist/styledTextCompat.js.map +0 -1
- package/dist/testing/findText.d.ts +0 -4
- package/dist/testing/findText.d.ts.map +0 -1
- package/dist/testing/findText.js +0 -27
- package/dist/testing/findText.js.map +0 -1
- package/dist/testing/renderToVNode.d.ts +0 -9
- package/dist/testing/renderToVNode.d.ts.map +0 -1
- package/dist/testing/renderToVNode.js +0 -22
- package/dist/testing/renderToVNode.js.map +0 -1
- package/dist/testing/simulateKeyEvent.d.ts +0 -18
- package/dist/testing/simulateKeyEvent.d.ts.map +0 -1
- package/dist/testing/simulateKeyEvent.js +0 -25
- package/dist/testing/simulateKeyEvent.js.map +0 -1
- package/dist/types.d.ts +0 -233
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# @rezi-ui/ink-compat
|
|
2
|
+
|
|
3
|
+
`@rezi-ui/ink-compat` is an Ink API compatibility layer powered by Rezi.
|
|
4
|
+
|
|
5
|
+
It keeps the Ink component/hook model, but replaces Ink's renderer backend with
|
|
6
|
+
Rezi's deterministic layout + draw pipeline.
|
|
7
|
+
|
|
8
|
+
## Why use it
|
|
9
|
+
|
|
10
|
+
- Keep existing Ink app code and mental model.
|
|
11
|
+
- Migrate incrementally (explicit import swap or package aliasing).
|
|
12
|
+
- Get deterministic, env-gated diagnostics for parity and performance triage.
|
|
13
|
+
|
|
14
|
+
## Install
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @rezi-ui/ink-compat
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If your app uses `ink-gradient` or `ink-spinner`, install matching shims:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install ink-gradient-shim ink-spinner-shim
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Migration options
|
|
27
|
+
|
|
28
|
+
### Option A: explicit import swap
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
// Before
|
|
32
|
+
import { render, Box, Text } from "ink";
|
|
33
|
+
|
|
34
|
+
// After
|
|
35
|
+
import { render, Box, Text } from "@rezi-ui/ink-compat";
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Option B: no-source-change package aliasing
|
|
39
|
+
|
|
40
|
+
Keep `import "ink"` in app code and alias dependencies:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npm install \
|
|
44
|
+
ink@npm:@rezi-ui/ink-compat@latest \
|
|
45
|
+
ink-gradient@npm:ink-gradient-shim@latest \
|
|
46
|
+
ink-spinner@npm:ink-spinner-shim@latest
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Equivalent with `pnpm`:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pnpm add \
|
|
53
|
+
ink@npm:@rezi-ui/ink-compat@latest \
|
|
54
|
+
ink-gradient@npm:ink-gradient-shim@latest \
|
|
55
|
+
ink-spinner@npm:ink-spinner-shim@latest
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Equivalent with `yarn`:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
yarn add \
|
|
62
|
+
ink@npm:@rezi-ui/ink-compat@latest \
|
|
63
|
+
ink-gradient@npm:ink-gradient-shim@latest \
|
|
64
|
+
ink-spinner@npm:ink-spinner-shim@latest
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Verify wiring (avoid silent fallback to real Ink)
|
|
68
|
+
|
|
69
|
+
Run this in the app root:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
node -e "const p=require('ink/package.json'); if(p.name!=='@rezi-ui/ink-compat') throw new Error('ink resolves to '+p.name); console.log('ink-compat active:', p.version);"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
And confirm resolved path:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
node -e "const fs=require('node:fs'); const path=require('node:path'); const pkg=require.resolve('ink/package.json'); console.log(fs.realpathSync(path.dirname(pkg)));"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## How it works
|
|
82
|
+
|
|
83
|
+
At runtime, ink-compat runs this pipeline:
|
|
84
|
+
|
|
85
|
+
1. React reconciles to an `InkHostNode` tree (compat host config).
|
|
86
|
+
2. Translation maps Ink props/components to Rezi VNodes.
|
|
87
|
+
3. Rezi layout + render generate draw ops, then ANSI output is serialized to terminal streams.
|
|
88
|
+
|
|
89
|
+
Key behavior:
|
|
90
|
+
|
|
91
|
+
- `<Static>` is handled as a dedicated scrollback-oriented channel.
|
|
92
|
+
- Input/focus/cursor are bridged through compat context/hooks.
|
|
93
|
+
- Diagnostics and heavy instrumentation are env-gated.
|
|
94
|
+
|
|
95
|
+
For full architecture details, see `https://rezitui.dev/docs/architecture/ink-compat/`.
|
|
96
|
+
For a practical migration workflow, see `https://rezitui.dev/docs/migration/ink-to-ink-compat/`.
|
|
97
|
+
|
|
98
|
+
## Supported API surface
|
|
99
|
+
|
|
100
|
+
### Components
|
|
101
|
+
|
|
102
|
+
- `Box`
|
|
103
|
+
- `Text`
|
|
104
|
+
- `Newline`
|
|
105
|
+
- `Spacer`
|
|
106
|
+
- `Static`
|
|
107
|
+
- `Transform`
|
|
108
|
+
|
|
109
|
+
### Hooks
|
|
110
|
+
|
|
111
|
+
- `useApp`
|
|
112
|
+
- `useInput`
|
|
113
|
+
- `useFocus`
|
|
114
|
+
- `useFocusManager`
|
|
115
|
+
- `useStdin`
|
|
116
|
+
- `useStdout`
|
|
117
|
+
- `useStderr`
|
|
118
|
+
- `useIsScreenReaderEnabled`
|
|
119
|
+
- `useCursor`
|
|
120
|
+
|
|
121
|
+
### Runtime APIs
|
|
122
|
+
|
|
123
|
+
- `render`
|
|
124
|
+
- `renderToString`
|
|
125
|
+
- `measureElement`
|
|
126
|
+
- `ResizeObserver`
|
|
127
|
+
- `getBoundingBox`
|
|
128
|
+
- `getInnerHeight`
|
|
129
|
+
- `getScrollHeight`
|
|
130
|
+
|
|
131
|
+
### Keyboard helpers
|
|
132
|
+
|
|
133
|
+
- `kittyFlags`
|
|
134
|
+
- `kittyModifiers`
|
|
135
|
+
|
|
136
|
+
### Testing entrypoint
|
|
137
|
+
|
|
138
|
+
- `@rezi-ui/ink-compat/testing`
|
|
139
|
+
|
|
140
|
+
## `render(element, options)` options
|
|
141
|
+
|
|
142
|
+
- `stdout`, `stdin`, `stderr`
|
|
143
|
+
- `exitOnCtrlC`
|
|
144
|
+
- `patchConsole`
|
|
145
|
+
- `debug`
|
|
146
|
+
- `maxFps`
|
|
147
|
+
- `concurrent` (compatibility flag; not an upstream-concurrency semantic toggle)
|
|
148
|
+
- `kittyKeyboard`
|
|
149
|
+
- `isScreenReaderEnabled`
|
|
150
|
+
- `onRender`
|
|
151
|
+
- `alternateBuffer`
|
|
152
|
+
- `incrementalRendering`
|
|
153
|
+
|
|
154
|
+
## Diagnostics
|
|
155
|
+
|
|
156
|
+
Trace output is env-gated:
|
|
157
|
+
|
|
158
|
+
- `INK_COMPAT_TRACE=1`
|
|
159
|
+
- `INK_COMPAT_TRACE_FILE=/path/log`
|
|
160
|
+
- `INK_COMPAT_TRACE_STDERR=1`
|
|
161
|
+
- `INK_COMPAT_TRACE_DETAIL=1`
|
|
162
|
+
- `INK_COMPAT_TRACE_DETAIL_FULL=1`
|
|
163
|
+
- `INK_COMPAT_TRACE_ALL_FRAMES=1`
|
|
164
|
+
- `INK_COMPAT_TRACE_IO=1`
|
|
165
|
+
- `INK_COMPAT_TRACE_RESIZE_VERBOSE=1`
|
|
166
|
+
- `INK_GRADIENT_TRACE=1`
|
|
167
|
+
|
|
168
|
+
Debugging runbook:
|
|
169
|
+
|
|
170
|
+
- `https://rezitui.dev/docs/dev/ink-compat-debugging/`
|
|
171
|
+
|
|
172
|
+
## Known boundaries
|
|
173
|
+
|
|
174
|
+
- Minor visual differences can occur across terminal emulators / OS TTY behavior.
|
|
175
|
+
- App/version-specific messaging differences are expected and are not renderer bugs.
|
|
176
|
+
- Gradient interpolation can differ slightly while preserving overall behavior.
|
|
177
|
+
|
|
178
|
+
## Documentation
|
|
179
|
+
|
|
180
|
+
- Porting guide: `https://rezitui.dev/docs/migration/ink-to-ink-compat/`
|
|
181
|
+
- Architecture and internals: `https://rezitui.dev/docs/architecture/ink-compat/`
|
|
182
|
+
- Debugging and parity runbook: `https://rezitui.dev/docs/dev/ink-compat-debugging/`
|
package/dist/components/Box.d.ts
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* We render a host element (`"ink-box"`) that is interpreted by this package's
|
|
7
|
-
* custom reconciler and converted into Rezi VNodes.
|
|
8
|
-
*/
|
|
9
|
-
declare const Box: React.ForwardRefExoticComponent<Readonly<{
|
|
10
|
-
position?: "absolute" | "relative";
|
|
11
|
-
columnGap?: number;
|
|
12
|
-
rowGap?: number;
|
|
13
|
-
gap?: number;
|
|
14
|
-
margin?: number;
|
|
15
|
-
marginX?: number;
|
|
16
|
-
marginY?: number;
|
|
17
|
-
marginTop?: number;
|
|
18
|
-
marginBottom?: number;
|
|
19
|
-
marginLeft?: number;
|
|
20
|
-
marginRight?: number;
|
|
21
|
-
padding?: number;
|
|
22
|
-
paddingX?: number;
|
|
23
|
-
paddingY?: number;
|
|
24
|
-
paddingTop?: number;
|
|
25
|
-
paddingBottom?: number;
|
|
26
|
-
paddingLeft?: number;
|
|
27
|
-
paddingRight?: number;
|
|
2
|
+
import type { InkHostNode } from "../reconciler/types.js";
|
|
3
|
+
type InkBorderStyleName = "single" | "double" | "round" | "bold" | "singleDouble" | "doubleSingle" | "classic" | "arrow";
|
|
4
|
+
export interface BoxProps {
|
|
5
|
+
flexDirection?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
28
6
|
flexGrow?: number;
|
|
29
7
|
flexShrink?: number;
|
|
30
|
-
flexDirection?: "row" | "column" | "row-reverse" | "column-reverse";
|
|
31
8
|
flexBasis?: number | string;
|
|
32
9
|
flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
33
10
|
alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
|
|
34
|
-
alignSelf?: "flex-start" | "center" | "flex-end"
|
|
35
|
-
justifyContent?: "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly"
|
|
11
|
+
alignSelf?: "auto" | "flex-start" | "center" | "flex-end";
|
|
12
|
+
justifyContent?: "flex-start" | "center" | "flex-end" | "space-between" | "space-around" | "space-evenly";
|
|
13
|
+
display?: "flex" | "none";
|
|
36
14
|
width?: number | string;
|
|
37
15
|
height?: number | string;
|
|
38
16
|
minWidth?: number | string;
|
|
17
|
+
/** @jrichman/ink fork: non-upstream extension used by Gemini CLI tab headers */
|
|
39
18
|
maxWidth?: number | string;
|
|
40
19
|
minHeight?: number | string;
|
|
41
20
|
maxHeight?: number | string;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
21
|
+
position?: "relative" | "absolute";
|
|
22
|
+
top?: number;
|
|
23
|
+
right?: number;
|
|
24
|
+
bottom?: number;
|
|
25
|
+
left?: number;
|
|
26
|
+
padding?: number;
|
|
27
|
+
paddingX?: number;
|
|
28
|
+
paddingY?: number;
|
|
29
|
+
paddingTop?: number;
|
|
30
|
+
paddingRight?: number;
|
|
31
|
+
paddingBottom?: number;
|
|
32
|
+
paddingLeft?: number;
|
|
33
|
+
margin?: number;
|
|
34
|
+
marginX?: number;
|
|
35
|
+
marginY?: number;
|
|
36
|
+
marginTop?: number;
|
|
37
|
+
marginRight?: number;
|
|
38
|
+
marginBottom?: number;
|
|
39
|
+
marginLeft?: number;
|
|
40
|
+
gap?: number;
|
|
41
|
+
columnGap?: number;
|
|
42
|
+
rowGap?: number;
|
|
43
|
+
/** @jrichman/ink fork: supports custom border glyph maps in addition to named styles */
|
|
44
|
+
borderStyle?: InkBorderStyleName | Record<string, string>;
|
|
48
45
|
borderColor?: string;
|
|
49
46
|
borderTopColor?: string;
|
|
47
|
+
borderRightColor?: string;
|
|
50
48
|
borderBottomColor?: string;
|
|
51
49
|
borderLeftColor?: string;
|
|
52
|
-
borderRightColor?: string;
|
|
53
50
|
borderDimColor?: boolean;
|
|
54
51
|
borderTopDimColor?: boolean;
|
|
52
|
+
borderRightDimColor?: boolean;
|
|
55
53
|
borderBottomDimColor?: boolean;
|
|
56
54
|
borderLeftDimColor?: boolean;
|
|
57
|
-
|
|
55
|
+
borderTop?: boolean;
|
|
56
|
+
borderRight?: boolean;
|
|
57
|
+
borderBottom?: boolean;
|
|
58
|
+
borderLeft?: boolean;
|
|
59
|
+
backgroundColor?: string;
|
|
60
|
+
ariaLabel?: string;
|
|
61
|
+
"aria-label"?: string;
|
|
62
|
+
accessibilityLabel?: string;
|
|
58
63
|
overflow?: "visible" | "hidden" | "scroll";
|
|
59
64
|
overflowX?: "visible" | "hidden" | "scroll";
|
|
60
65
|
overflowY?: "visible" | "hidden" | "scroll";
|
|
61
|
-
|
|
62
|
-
scrollTop?: number;
|
|
66
|
+
/** @jrichman/ink fork: horizontal scroll offset */
|
|
63
67
|
scrollLeft?: number;
|
|
68
|
+
/** @jrichman/ink fork: vertical scroll offset */
|
|
69
|
+
scrollTop?: number;
|
|
70
|
+
/** @jrichman/ink fork: scrollbar thumb color */
|
|
64
71
|
scrollbarThumbColor?: string;
|
|
65
|
-
|
|
66
|
-
"aria-label"?: string;
|
|
67
|
-
"aria-hidden"?: boolean;
|
|
68
|
-
"aria-role"?: "button" | "checkbox" | "combobox" | "list" | "listbox" | "listitem" | "menu" | "menuitem" | "option" | "progressbar" | "radio" | "radiogroup" | "tab" | "tablist" | "table" | "textbox" | "timer" | "toolbar";
|
|
69
|
-
"aria-state"?: Readonly<{
|
|
70
|
-
busy?: boolean;
|
|
71
|
-
checked?: boolean;
|
|
72
|
-
disabled?: boolean;
|
|
73
|
-
expanded?: boolean;
|
|
74
|
-
multiline?: boolean;
|
|
75
|
-
multiselectable?: boolean;
|
|
76
|
-
readonly?: boolean;
|
|
77
|
-
required?: boolean;
|
|
78
|
-
selected?: boolean;
|
|
79
|
-
}>;
|
|
72
|
+
/** @jrichman/ink fork: make this box opaque (paints background over content below) */
|
|
80
73
|
opaque?: boolean;
|
|
74
|
+
/** @jrichman/ink fork: pin this box to the top of its parent (sticky header) */
|
|
81
75
|
sticky?: boolean;
|
|
76
|
+
/** @jrichman/ink fork: children rendered inside the sticky area */
|
|
82
77
|
stickyChildren?: React.ReactNode;
|
|
83
78
|
children?: React.ReactNode;
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
ref?: React.Ref<InkHostNode>;
|
|
80
|
+
}
|
|
81
|
+
export declare const Box: {
|
|
82
|
+
(props: BoxProps): React.ReactElement;
|
|
83
|
+
displayName: string;
|
|
84
|
+
};
|
|
85
|
+
export {};
|
|
86
86
|
//# sourceMappingURL=Box.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.
|
|
1
|
+
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../src/components/Box.ts"],"names":[],"mappings":"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"}
|
package/dist/components/Box.js
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* We render a host element (`"ink-box"`) that is interpreted by this package's
|
|
6
|
-
* custom reconciler and converted into Rezi VNodes.
|
|
7
|
-
*/
|
|
8
|
-
const Box = React.forwardRef((props, ref) => {
|
|
9
|
-
const { children, ...rest } = props;
|
|
10
|
-
// `ref` is accepted for compatibility but currently unused.
|
|
11
|
-
return React.createElement("ink-box", { ...rest, ref }, children);
|
|
12
|
-
});
|
|
2
|
+
export const Box = (props) => {
|
|
3
|
+
return React.createElement("ink-box", { ...props });
|
|
4
|
+
};
|
|
13
5
|
Box.displayName = "Box";
|
|
14
|
-
export default Box;
|
|
15
6
|
//# sourceMappingURL=Box.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.
|
|
1
|
+
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/components/Box.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA4G1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAe,EAAsB,EAAE;IACzD,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export
|
|
3
|
-
/**
|
|
4
|
-
* Number of newlines to insert.
|
|
5
|
-
*
|
|
6
|
-
* @default 1
|
|
7
|
-
*/
|
|
2
|
+
export interface NewlineProps {
|
|
8
3
|
count?: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
* Ink-compatible `<Newline>` component.
|
|
12
|
-
*
|
|
13
|
-
* Adds one or more newline (`\n`) characters. Intended to be used within `<Text>`.
|
|
14
|
-
*/
|
|
15
|
-
export default function Newline({ count }: Props): React.JSX.Element;
|
|
4
|
+
}
|
|
5
|
+
export declare const Newline: React.FC<NewlineProps>;
|
|
16
6
|
//# sourceMappingURL=Newline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Newline.d.ts","sourceRoot":"","sources":["../../src/components/Newline.
|
|
1
|
+
{"version":3,"file":"Newline.d.ts","sourceRoot":"","sources":["../../src/components/Newline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAE1C,CAAC"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export default function Newline({ count = 1 }) {
|
|
8
|
-
return React.createElement("ink-text", null, "\n".repeat(count));
|
|
9
|
-
}
|
|
2
|
+
export const Newline = ({ count = 1 }) => {
|
|
3
|
+
return React.createElement("ink-virtual", { __inkType: "newline", count });
|
|
4
|
+
};
|
|
5
|
+
Newline.displayName = "Newline";
|
|
10
6
|
//# sourceMappingURL=Newline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Newline.js","sourceRoot":"","sources":["../../src/components/Newline.
|
|
1
|
+
{"version":3,"file":"Newline.js","sourceRoot":"","sources":["../../src/components/Newline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE;IAC/D,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
* Ink-compatible `<Spacer>` component.
|
|
4
|
-
*
|
|
5
|
-
* Ink implements this as `<Box flexGrow={1} />`. For Rezi, we map it directly
|
|
6
|
-
* to a spacer node to avoid creating unnecessary layout containers.
|
|
7
|
-
*/
|
|
8
|
-
export default function Spacer(): React.JSX.Element;
|
|
2
|
+
export declare const Spacer: React.FC;
|
|
9
3
|
//# sourceMappingURL=Spacer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../src/components/Spacer.
|
|
1
|
+
{"version":3,"file":"Spacer.d.ts","sourceRoot":"","sources":["../../src/components/Spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAE1B,CAAC"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* to a spacer node to avoid creating unnecessary layout containers.
|
|
7
|
-
*/
|
|
8
|
-
export default function Spacer() {
|
|
9
|
-
return React.createElement("ink-spacer", null);
|
|
10
|
-
}
|
|
2
|
+
export const Spacer = () => {
|
|
3
|
+
return React.createElement("ink-box", { __inkType: "spacer", flexGrow: 1 });
|
|
4
|
+
};
|
|
5
|
+
Spacer.displayName = "Spacer";
|
|
11
6
|
//# sourceMappingURL=Spacer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spacer.js","sourceRoot":"","sources":["../../src/components/Spacer.
|
|
1
|
+
{"version":3,"file":"Spacer.js","sourceRoot":"","sources":["../../src/components/Spacer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAa,GAAG,EAAE;IACnC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -1,29 +1,15 @@
|
|
|
1
|
-
import React
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
items: readonly T[];
|
|
9
|
-
/**
|
|
10
|
-
* Styles to apply to a container of child elements. See `<Box>` for supported properties.
|
|
11
|
-
*/
|
|
12
|
-
style?: BoxStyleProps;
|
|
13
|
-
/**
|
|
14
|
-
* Function that is called to render every item in `items` array.
|
|
15
|
-
* First argument is an item itself and second argument is index of that item in `items` array.
|
|
16
|
-
* Note that `key` must be assigned to the root component.
|
|
17
|
-
*/
|
|
18
|
-
children: (item: T, index: number) => ReactNode;
|
|
19
|
-
}>;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface StaticProps<T> {
|
|
3
|
+
items: T[];
|
|
4
|
+
children: (item: T, index: number) => React.ReactNode;
|
|
5
|
+
style?: Record<string, unknown>;
|
|
6
|
+
}
|
|
20
7
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* Ink's implementation relies on static output being rendered separately and left on the terminal.
|
|
24
|
-
* Rezi re-renders the full framebuffer, so we emulate Ink semantics by accumulating static nodes
|
|
25
|
-
* in the renderer layer (see `internal_static` handling in the compat reconciler).
|
|
8
|
+
* <Static> renders items once. This implementation marks the subtree as static
|
|
9
|
+
* so renderers can treat it as scrollback-oriented output.
|
|
26
10
|
*/
|
|
27
|
-
export
|
|
28
|
-
export {
|
|
11
|
+
export declare function Static<T>(props: StaticProps<T>): React.ReactElement;
|
|
12
|
+
export declare namespace Static {
|
|
13
|
+
var displayName: string;
|
|
14
|
+
}
|
|
29
15
|
//# sourceMappingURL=Static.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../src/components/Static.
|
|
1
|
+
{"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../src/components/Static.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CA6BnE;yBA7Be,MAAM"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
import React, { useLayoutEffect, useMemo, useState } from "react";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Ink's implementation relies on static output being rendered separately and left on the terminal.
|
|
6
|
-
* Rezi re-renders the full framebuffer, so we emulate Ink semantics by accumulating static nodes
|
|
7
|
-
* in the renderer layer (see `internal_static` handling in the compat reconciler).
|
|
3
|
+
* <Static> renders items once. This implementation marks the subtree as static
|
|
4
|
+
* so renderers can treat it as scrollback-oriented output.
|
|
8
5
|
*/
|
|
9
|
-
export
|
|
10
|
-
const { items, children:
|
|
6
|
+
export function Static(props) {
|
|
7
|
+
const { items, children: renderItem, style } = props;
|
|
11
8
|
const [index, setIndex] = useState(0);
|
|
12
|
-
const itemsToRender = useMemo(() =>
|
|
9
|
+
const itemsToRender = useMemo(() => {
|
|
10
|
+
return items.slice(index);
|
|
11
|
+
}, [items, index]);
|
|
13
12
|
useLayoutEffect(() => {
|
|
14
13
|
setIndex(items.length);
|
|
15
14
|
}, [items.length]);
|
|
16
|
-
const
|
|
17
|
-
|
|
15
|
+
const staticStyle = {
|
|
16
|
+
...(style ?? {}),
|
|
18
17
|
position: "absolute",
|
|
19
18
|
flexDirection: "column",
|
|
20
|
-
|
|
21
|
-
}),
|
|
22
|
-
return React.createElement("ink-box", { internal_static: true, ...style }, children);
|
|
19
|
+
};
|
|
20
|
+
return React.createElement("ink-box", { __inkStatic: true, ...staticStyle }, ...itemsToRender.map((item, itemIndex) => React.createElement(React.Fragment, { key: `${index}:${itemIndex}` }, renderItem(item, index + itemIndex))));
|
|
23
21
|
}
|
|
22
|
+
Static.displayName = "Static";
|
|
24
23
|
//# sourceMappingURL=Static.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Static.js","sourceRoot":"","sources":["../../src/components/Static.
|
|
1
|
+
{"version":3,"file":"Static.js","sourceRoot":"","sources":["../../src/components/Static.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQlE;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAI,KAAqB;IAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,eAAe,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,MAAM,WAAW,GAA4B;QAC3C,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAChB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,QAAQ;KACxB,CAAC;IAEF,OAAO,KAAK,CAAC,aAAa,CACxB,SAAS,EACT,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,EACrC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACvC,KAAK,CAAC,aAAa,CACjB,KAAK,CAAC,QAAQ,EACd,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,SAAS,EAAE,EAAE,EAChC,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,CACpC,CACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import type { InkHostNode } from "../reconciler/types.js";
|
|
3
|
+
export interface TextProps {
|
|
4
|
+
color?: string;
|
|
5
|
+
backgroundColor?: string;
|
|
6
|
+
bold?: boolean;
|
|
7
|
+
italic?: boolean;
|
|
8
|
+
underline?: boolean;
|
|
9
|
+
strikethrough?: boolean;
|
|
10
|
+
inverse?: boolean;
|
|
11
|
+
dimColor?: boolean;
|
|
12
|
+
wrap?: "wrap" | "truncate" | "truncate-start" | "truncate-middle" | "truncate-end";
|
|
13
|
+
/** @jrichman/ink fork: show terminal cursor at this position */
|
|
14
|
+
terminalCursorFocus?: boolean;
|
|
15
|
+
/** @jrichman/ink fork: cursor column offset within the text */
|
|
16
|
+
terminalCursorPosition?: number;
|
|
17
|
+
ariaLabel?: string;
|
|
18
|
+
"aria-label"?: string;
|
|
19
|
+
accessibilityLabel?: string;
|
|
20
|
+
children?: React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
type TextComponent = React.ForwardRefExoticComponent<TextProps & React.RefAttributes<InkHostNode>> & {
|
|
23
|
+
displayName?: string;
|
|
24
|
+
mock?: unknown;
|
|
25
|
+
mockClear?: unknown;
|
|
26
|
+
mockReset?: unknown;
|
|
27
|
+
};
|
|
28
|
+
export declare const Text: TextComponent;
|
|
29
|
+
export {};
|
|
9
30
|
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;IACnF,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,KAAK,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAClD,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAC7C,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAEA,aAAa,CAAC"}
|
package/dist/components/Text.js
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export default function Text(props) {
|
|
8
|
-
if (props.children === undefined || props.children === null)
|
|
9
|
-
return null;
|
|
10
|
-
const { children, ...rest } = props;
|
|
11
|
-
return React.createElement("ink-text", rest, children);
|
|
12
|
-
}
|
|
2
|
+
export const Text = React.forwardRef((props, ref) => {
|
|
3
|
+
return React.createElement("ink-text", { ...props, ref });
|
|
4
|
+
});
|
|
5
|
+
Text.displayName = "Text";
|
|
13
6
|
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/components/Text.
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/components/Text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkC1B,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1E,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC,CAA6B,CAAC;AAE/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC"}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
|
-
import React
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Ink-compatible `<Transform>` component.
|
|
12
|
-
*
|
|
13
|
-
* In Ink, this transforms the rendered string output. In the Rezi compat layer,
|
|
14
|
-
* we apply the transform to the flattened text content (best-effort).
|
|
15
|
-
*/
|
|
16
|
-
export default function Transform({ children, transform }: Props): React.JSX.Element | null;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface TransformProps {
|
|
3
|
+
transform: (line: string, index: number) => string;
|
|
4
|
+
ariaLabel?: string;
|
|
5
|
+
"aria-label"?: string;
|
|
6
|
+
accessibilityLabel?: string;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const Transform: React.FC<TransformProps>;
|
|
17
10
|
//# sourceMappingURL=Transform.d.ts.map
|