@rezi-ui/ink-compat 0.1.0-alpha.3 → 0.1.0-alpha.44
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 +104 -0
- package/dist/components/Box.d.ts +61 -39
- 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 +3 -2
- package/dist/hooks/useApp.d.ts.map +1 -1
- package/dist/hooks/useApp.js +4 -5
- 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 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -23
- 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 +157 -110
- 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 +25 -62
- package/dist/reconciler/types.d.ts.map +1 -1
- package/dist/reconciler/types.js +39 -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 +68 -0
- package/dist/runtime/ResizeObserver.js.map +1 -0
- package/dist/runtime/bridge.d.ts +28 -0
- package/dist/runtime/bridge.d.ts.map +1 -0
- package/dist/runtime/bridge.js +491 -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/domHelpers.d.ts +21 -0
- package/dist/runtime/domHelpers.d.ts.map +1 -0
- package/dist/runtime/domHelpers.js +39 -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 +22 -0
- package/dist/runtime/getBoundingBox.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 +10 -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 +2373 -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 +114 -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 +14 -0
- package/dist/translation/propsToVNode.d.ts.map +1 -0
- package/dist/translation/propsToVNode.js +1036 -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 -24
- 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 -23
- 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 -61
- 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 -40
- 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 -56
- 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 -40
- 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 -9
- package/dist/context/AppContext.d.ts.map +0 -1
- package/dist/context/AppContext.js +0 -8
- 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 -154
- 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 -26
- 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 -24
- package/dist/measurement.d.ts.map +0 -1
- package/dist/measurement.js +0 -272
- 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 -223
- 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 -181
- package/dist/reconciler/textUtils.js.map +0 -1
- package/dist/reconciler.d.ts +0 -3
- package/dist/reconciler.d.ts.map +0 -1
- package/dist/reconciler.js +0 -2
- 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 -269
- 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/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 -23
- package/dist/testing/simulateKeyEvent.js.map +0 -1
- package/dist/types.d.ts +0 -185
- 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,104 @@
|
|
|
1
|
+
# @rezi-ui/ink-compat
|
|
2
|
+
|
|
3
|
+
`@rezi-ui/ink-compat` is an Ink API compatibility layer powered by Rezi.
|
|
4
|
+
|
|
5
|
+
It preserves the Ink component and hook model while rendering through Rezi's engine.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @rezi-ui/ink-compat
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Use
|
|
14
|
+
|
|
15
|
+
Swap imports:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
// Before
|
|
19
|
+
import { render, Box, Text } from "ink";
|
|
20
|
+
|
|
21
|
+
// After
|
|
22
|
+
import { render, Box, Text } from "@rezi-ui/ink-compat";
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
For ecosystems that pin `ink` directly, use package manager overrides/resolutions to redirect `ink` to `@rezi-ui/ink-compat` and companion shims (`ink-gradient`, `ink-spinner`).
|
|
26
|
+
|
|
27
|
+
## Supported surface
|
|
28
|
+
|
|
29
|
+
Components:
|
|
30
|
+
|
|
31
|
+
- `Box`
|
|
32
|
+
- `Text`
|
|
33
|
+
- `Newline`
|
|
34
|
+
- `Spacer`
|
|
35
|
+
- `Static`
|
|
36
|
+
- `Transform`
|
|
37
|
+
|
|
38
|
+
Hooks:
|
|
39
|
+
|
|
40
|
+
- `useApp`
|
|
41
|
+
- `useInput`
|
|
42
|
+
- `useFocus`
|
|
43
|
+
- `useFocusManager`
|
|
44
|
+
- `useStdin`
|
|
45
|
+
- `useStdout`
|
|
46
|
+
- `useStderr`
|
|
47
|
+
- `useIsScreenReaderEnabled`
|
|
48
|
+
- `useCursor`
|
|
49
|
+
|
|
50
|
+
Runtime APIs:
|
|
51
|
+
|
|
52
|
+
- `render`
|
|
53
|
+
- `renderToString`
|
|
54
|
+
- `measureElement`
|
|
55
|
+
- `ResizeObserver`
|
|
56
|
+
- `getBoundingBox`
|
|
57
|
+
- `getInnerHeight`
|
|
58
|
+
- `getScrollHeight`
|
|
59
|
+
|
|
60
|
+
Keyboard utilities:
|
|
61
|
+
|
|
62
|
+
- `kittyFlags`
|
|
63
|
+
- `kittyModifiers`
|
|
64
|
+
|
|
65
|
+
Testing utilities:
|
|
66
|
+
|
|
67
|
+
- `@rezi-ui/ink-compat/testing`
|
|
68
|
+
|
|
69
|
+
## Render options
|
|
70
|
+
|
|
71
|
+
`render(element, options)` supports:
|
|
72
|
+
|
|
73
|
+
- `stdout`, `stdin`, `stderr`
|
|
74
|
+
- `exitOnCtrlC`
|
|
75
|
+
- `patchConsole`
|
|
76
|
+
- `debug`
|
|
77
|
+
- `maxFps`
|
|
78
|
+
- `concurrent`
|
|
79
|
+
- `kittyKeyboard`
|
|
80
|
+
- `isScreenReaderEnabled`
|
|
81
|
+
- `onRender`
|
|
82
|
+
- `alternateBuffer`
|
|
83
|
+
- `incrementalRendering`
|
|
84
|
+
|
|
85
|
+
## Diagnostics
|
|
86
|
+
|
|
87
|
+
Trace output is environment-gated:
|
|
88
|
+
|
|
89
|
+
- `INK_COMPAT_TRACE=1`
|
|
90
|
+
- `INK_COMPAT_TRACE_FILE=/path/log`
|
|
91
|
+
- `INK_COMPAT_TRACE_DETAIL=1`
|
|
92
|
+
- `INK_COMPAT_TRACE_DETAIL_FULL=1`
|
|
93
|
+
- `INK_GRADIENT_TRACE=1`
|
|
94
|
+
|
|
95
|
+
Reference docs:
|
|
96
|
+
|
|
97
|
+
- `docs/architecture/ink-compat.md`
|
|
98
|
+
- `docs/dev/ink-compat-debugging.md`
|
|
99
|
+
|
|
100
|
+
## Known boundaries
|
|
101
|
+
|
|
102
|
+
- Minor visual differences can occur across terminal emulators and OS TTY behavior.
|
|
103
|
+
- App-version and install-mode messaging differences are expected and not renderer bugs.
|
|
104
|
+
- Gradient interpolation can differ slightly from upstream while preserving overall behavior.
|
package/dist/components/Box.d.ts
CHANGED
|
@@ -1,64 +1,86 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* custom reconciler and converted into Rezi VNodes.
|
|
7
|
-
*/
|
|
8
|
-
declare const Box: React.ForwardRefExoticComponent<Readonly<{
|
|
9
|
-
position?: "absolute" | "relative";
|
|
10
|
-
columnGap?: number;
|
|
11
|
-
rowGap?: number;
|
|
12
|
-
gap?: number;
|
|
13
|
-
margin?: number;
|
|
14
|
-
marginX?: number;
|
|
15
|
-
marginY?: number;
|
|
16
|
-
marginTop?: number;
|
|
17
|
-
marginBottom?: number;
|
|
18
|
-
marginLeft?: number;
|
|
19
|
-
marginRight?: number;
|
|
20
|
-
padding?: number;
|
|
21
|
-
paddingX?: number;
|
|
22
|
-
paddingY?: number;
|
|
23
|
-
paddingTop?: number;
|
|
24
|
-
paddingBottom?: number;
|
|
25
|
-
paddingLeft?: number;
|
|
26
|
-
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";
|
|
27
6
|
flexGrow?: number;
|
|
28
7
|
flexShrink?: number;
|
|
29
|
-
flexDirection?: "row" | "column" | "row-reverse" | "column-reverse";
|
|
30
8
|
flexBasis?: number | string;
|
|
31
9
|
flexWrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
32
10
|
alignItems?: "flex-start" | "center" | "flex-end" | "stretch";
|
|
33
|
-
alignSelf?: "flex-start" | "center" | "flex-end"
|
|
34
|
-
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";
|
|
35
14
|
width?: number | string;
|
|
36
15
|
height?: number | string;
|
|
37
16
|
minWidth?: number | string;
|
|
17
|
+
/** @jrichman/ink fork: non-upstream extension used by Gemini CLI tab headers */
|
|
18
|
+
maxWidth?: number | string;
|
|
38
19
|
minHeight?: number | string;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
20
|
+
maxHeight?: number | string;
|
|
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>;
|
|
45
45
|
borderColor?: string;
|
|
46
46
|
borderTopColor?: string;
|
|
47
|
+
borderRightColor?: string;
|
|
47
48
|
borderBottomColor?: string;
|
|
48
49
|
borderLeftColor?: string;
|
|
49
|
-
borderRightColor?: string;
|
|
50
50
|
borderDimColor?: boolean;
|
|
51
51
|
borderTopDimColor?: boolean;
|
|
52
|
+
borderRightDimColor?: boolean;
|
|
52
53
|
borderBottomDimColor?: boolean;
|
|
53
54
|
borderLeftDimColor?: boolean;
|
|
54
|
-
|
|
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;
|
|
55
63
|
overflow?: "visible" | "hidden" | "scroll";
|
|
56
64
|
overflowX?: "visible" | "hidden" | "scroll";
|
|
57
65
|
overflowY?: "visible" | "hidden" | "scroll";
|
|
58
|
-
|
|
66
|
+
/** @jrichman/ink fork: horizontal scroll offset */
|
|
59
67
|
scrollLeft?: number;
|
|
68
|
+
/** @jrichman/ink fork: vertical scroll offset */
|
|
69
|
+
scrollTop?: number;
|
|
70
|
+
/** @jrichman/ink fork: scrollbar thumb color */
|
|
60
71
|
scrollbarThumbColor?: string;
|
|
72
|
+
/** @jrichman/ink fork: make this box opaque (paints background over content below) */
|
|
73
|
+
opaque?: boolean;
|
|
74
|
+
/** @jrichman/ink fork: pin this box to the top of its parent (sticky header) */
|
|
75
|
+
sticky?: boolean;
|
|
76
|
+
/** @jrichman/ink fork: children rendered inside the sticky area */
|
|
77
|
+
stickyChildren?: React.ReactNode;
|
|
61
78
|
children?: React.ReactNode;
|
|
62
|
-
|
|
63
|
-
|
|
79
|
+
ref?: React.Ref<InkHostNode>;
|
|
80
|
+
}
|
|
81
|
+
export declare const Box: {
|
|
82
|
+
(props: BoxProps): React.ReactElement;
|
|
83
|
+
displayName: string;
|
|
84
|
+
};
|
|
85
|
+
export {};
|
|
64
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/components/Transform.
|
|
1
|
+
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../src/components/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAe9C,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
export const Transform = ({ transform, children, ariaLabel, accessibilityLabel, ...rest }) => {
|
|
3
|
+
return React.createElement("ink-virtual", {
|
|
4
|
+
__inkType: "transform",
|
|
5
|
+
__inkTransform: transform,
|
|
6
|
+
...(ariaLabel === undefined ? {} : { ariaLabel }),
|
|
7
|
+
...(accessibilityLabel === undefined ? {} : { accessibilityLabel }),
|
|
8
|
+
...rest,
|
|
9
|
+
children,
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
Transform.displayName = "Transform";
|
|
13
13
|
//# sourceMappingURL=Transform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/components/Transform.
|
|
1
|
+
{"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/components/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,SAAS,EACT,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;QACxC,SAAS,EAAE,WAAW;QACtB,cAAc,EAAE,SAAS;QACzB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACnE,GAAG,IAAI;QACP,QAAQ;KACT,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
|
package/dist/hooks/useApp.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useApp.d.ts","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM;;;EAGrB"}
|
package/dist/hooks/useApp.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
return { exit };
|
|
1
|
+
import { useInkContext } from "../runtime/context.js";
|
|
2
|
+
export function useApp() {
|
|
3
|
+
const ctx = useInkContext();
|
|
4
|
+
return { exit: ctx.exit, rerender: ctx.rerender };
|
|
6
5
|
}
|
|
7
6
|
//# sourceMappingURL=useApp.js.map
|
package/dist/hooks/useApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApp.js","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useApp.js","sourceRoot":"","sources":["../../src/hooks/useApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,MAAM;IACpB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AACpD,CAAC"}
|