solid-modals
Version:
A container for handling modals and hamburger menus in SolidJS
97 lines (71 loc) • 1.69 kB
Markdown
  
Features:
- Simple use
- Smooth modal
- Hamburger
- Clear on route change
- Use any where with your costume wrapper
```sh
pnpm add solid-modals
```
or `npm`/`yarn`
base init in Solid-start app
```TypeScript
// app.tsx
import { Router } from "@solidjs/router";
import { FileRoutes } from "@solidjs/start/router";
import { Suspense } from "solid-js";
import { ModalRoot } from "solid-modals";
export default function App() {
return (
<Router
root={(props) => (
<Suspense>
{props.children}
<ModalRoot />
</Suspense>
)}
>
<FileRoutes />
</Router>
);
}
```
```TypeScript
// TestModal .tsx
import { ModalBase, useModal } from "solid-modals";
export function TestModal() {
const { onModal, onClear } = useModal();
function onBaseModal() {
onModal(
<ModalBase onClear={onClear}>
<div>hi</div>
</ModalBase>
);
}
return <button onClick={onBaseModal}>open modal</button>;
}
```
```TypeScript
import { ModalHamburger, useModal } from "solid-modals";
export function TestHamburgerModal() {
const { onModal, onClear } = useModal();
function onHamburger() {
onModal(
<ModalHamburger onClear={onClear}>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</ModalHamburger>
);
}
return <button onClick={onHamburger}>open modal</button>;
}
```