import { GlobalActionsProvider } from "@plasmicapp/react-web/lib/host";
import { MemoDataProvider } from "../MemoDataProvider/MemoDataProvider";
import { BlockersContext } from "./controller/useBlockers";
import { useRouterController } from "./controller/useRouterController";
import { useStorage } from "./storage/useStorage";
import { useRouterContext } from "./useRouterContext";
export function Router({ initialQueryString, storage: storageType, children, }) {
    const storage = useStorage({ initialQueryString, type: storageType });
    const controller = useRouterController(storage);
    const { route, actions } = useRouterContext(controller);
    return (<BlockersContext.Provider value={controller.blockers}>
      <GlobalActionsProvider contextName="Router" actions={actions}>
        <MemoDataProvider name="route" data={route} deps={[route]}>
          {children}
        </MemoDataProvider>
      </GlobalActionsProvider>
    </BlockersContext.Provider>);
}
//# sourceMappingURL=Router.jsx.map