mirror of
https://github.com/anotherhadi/ilovetui.git
synced 2026-10-05 10:58:26 +02:00
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
// @bun
|
||||
// src/keymap/provider.tsx
|
||||
import { createComponent as _$createComponent } from "@opentui/solid";
|
||||
import { createDefaultOpenTuiKeymap } from "@opentui/keymap/opentui";
|
||||
import { registerCommaBindings } from "@opentui/keymap/addons";
|
||||
import { KeymapProvider as BaseKeymapProvider } from "@opentui/keymap/solid";
|
||||
import { useRenderer } from "@opentui/solid";
|
||||
import { onCleanup } from "solid-js";
|
||||
import { useKeymap, useBindings, useKeymapSelector, reactiveMatcherFromSignal } from "@opentui/keymap/solid";
|
||||
function KeymapProvider(props) {
|
||||
const renderer = useRenderer();
|
||||
const keymap = createDefaultOpenTuiKeymap(renderer);
|
||||
onCleanup(registerCommaBindings(keymap));
|
||||
return _$createComponent(BaseKeymapProvider, {
|
||||
keymap,
|
||||
get children() {
|
||||
return props.children;
|
||||
}
|
||||
});
|
||||
}
|
||||
export {
|
||||
useKeymapSelector,
|
||||
useKeymap,
|
||||
useBindings,
|
||||
reactiveMatcherFromSignal,
|
||||
KeymapProvider
|
||||
};
|
||||
Reference in New Issue
Block a user