import { type Accessor, createEffect, createSignal } from "solid-js";
import { render } from "solid-js/web";
export default function tooltip(el: HTMLElement, title: Accessor<string>) {
createEffect(() => {
el.title = title();
});
}
declare module "solid-js" {
namespace JSX {
interface DirectiveFunctions {
tooltip: typeof tooltip;
}
}
}
function App() {
const [count, setCount] = createSignal<number>(0);
return (
<button
onClick={() => setCount((c) => c + 1)}
use:tooltip="Push to increment count"
>
{count()}
</button>
);
}
render(() => <App />, document.getElementById("app")!);
import { type Accessor, createEffect, createSignal } from "solid-js";
import { render } from "solid-js/web";
export default function tooltip(el: HTMLElement, title: Accessor<string>) {
createEffect(() => {
el.title = title();
});
}
declare module "solid-js" {
namespace JSX {
interface DirectiveFunctions {
tooltip: typeof tooltip;
}
}
}
function App() {
const [count, setCount] = createSignal<number>(0);
return (
<button
onClick={() => setCount((c) => c + 1)}
use:tooltip="Push to increment count"
>
{count()}
</button>
);
}
render(() => <App />, document.getElementById("app")!);