UNPKG

vite-plugin-storybook-nextjs

Version:

This is a Vite plugin that allows you to use Next.js features in Vite. It is the basis for `@storybook/experimental-nextjs-vite` and should be used when running portable stories in Vitest.

113 lines (107 loc) 4.08 kB
'use strict'; var actual = require('next/dist/client/components/navigation.js'); var redirectStatusCode_js = require('next/dist/client/components/redirect-status-code.js'); var redirect_js = require('next/dist/client/components/redirect.js'); var previewErrors = require('storybook/internal/preview-errors'); var test = require('storybook/test'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var actual__namespace = /*#__PURE__*/_interopNamespace(actual); // src/plugins/next-mocks/alias/navigation/index.ts var navigationAPI; var createNavigation = (overrides) => { const navigationActions = { push: test.fn().mockName("next/navigation::useRouter().push"), replace: test.fn().mockName("next/navigation::useRouter().replace"), forward: test.fn().mockName("next/navigation::useRouter().forward"), back: test.fn().mockName("next/navigation::useRouter().back"), prefetch: test.fn().mockName("next/navigation::useRouter().prefetch"), refresh: test.fn().mockName("next/navigation::useRouter().refresh") }; if (overrides) { for (const key of Object.keys(navigationActions)) { if (key in overrides) { navigationActions[key] = test.fn((...args) => { return overrides[key](...args); }).mockName(`useRouter().${key}`); } } } navigationAPI = navigationActions; return navigationAPI; }; var getRouter = () => { if (!navigationAPI) { throw new previewErrors.NextjsRouterMocksNotAvailable({ importType: "next/navigation" }); } return navigationAPI; }; var redirect = test.fn( (url, type = actual__namespace.RedirectType.push) => { throw redirect_js.getRedirectError(url, type, redirectStatusCode_js.RedirectStatusCode.SeeOther); } ).mockName("next/navigation::redirect"); var permanentRedirect = test.fn( (url, type = actual__namespace.RedirectType.push) => { throw redirect_js.getRedirectError(url, type, redirectStatusCode_js.RedirectStatusCode.SeeOther); } ).mockName("next/navigation::permanentRedirect"); var useSearchParams2 = test.fn( actual__namespace.useSearchParams ).mockName("next/navigation::useSearchParams"); var usePathname2 = test.fn(actual__namespace.usePathname).mockName( "next/navigation::usePathname" ); var useSelectedLayoutSegment2 = test.fn(actual__namespace.useSelectedLayoutSegment).mockName( "next/navigation::useSelectedLayoutSegment" ); var useSelectedLayoutSegments2 = test.fn(actual__namespace.useSelectedLayoutSegments).mockName( "next/navigation::useSelectedLayoutSegments" ); var useRouter2 = test.fn( actual__namespace.useRouter ).mockName("next/navigation::useRouter"); var useServerInsertedHTML2 = test.fn(actual__namespace.useServerInsertedHTML).mockName( "next/navigation::useServerInsertedHTML" ); var notFound2 = test.fn(actual__namespace.notFound).mockName( "next/navigation::notFound" ); var useParams2 = test.fn( actual__namespace.useParams ).mockName("next/navigation::useParams"); exports.createNavigation = createNavigation; exports.getRouter = getRouter; exports.notFound = notFound2; exports.permanentRedirect = permanentRedirect; exports.redirect = redirect; exports.useParams = useParams2; exports.usePathname = usePathname2; exports.useRouter = useRouter2; exports.useSearchParams = useSearchParams2; exports.useSelectedLayoutSegment = useSelectedLayoutSegment2; exports.useSelectedLayoutSegments = useSelectedLayoutSegments2; exports.useServerInsertedHTML = useServerInsertedHTML2; Object.keys(actual).forEach(function (k) { if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, { enumerable: true, get: function () { return actual[k]; } }); });