Skip to content

modalController

Global utilities for managing all modals.

Import

tsx
import { modalController } from "@hirotoshioi/hiraku";

Methods

closeAll()

Closes all open modals.

tsx
modalController.closeAll();

Use cases:

  • Route navigation
  • Logout
  • Error recovery
tsx
// Close all modals on route change
useEffect(() => {
  return () => modalController.closeAll();
}, [pathname]);

isOpen()

Returns whether any modal is currently open.

tsx
if (modalController.isOpen()) {
  console.log("A modal is open");
}

Returns: boolean

getCount()

Returns the number of open modals.

tsx
const count = modalController.getCount();
console.log(`${count} modals open`);

Returns: number

getTop()

Returns the topmost (most recently opened) modal instance.

tsx
const top = modalController.getTop();
if (top) {
  console.log("Top modal:", top.id);
}

Returns: ModalInstance | undefined

Released under the MIT License.