create project

This commit is contained in:
ismailsosic
2022-12-27 12:05:56 +01:00
parent 2a33a2d3de
commit cd2143287c
16035 changed files with 2489703 additions and 0 deletions

View File

@@ -0,0 +1 @@
export declare function addBasePath(path: string, required?: boolean): string;

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addBasePath = addBasePath;
var _addPathPrefix = require("../shared/lib/router/utils/add-path-prefix");
var _normalizeTrailingSlash = require("./normalize-trailing-slash");
const basePath = process.env.__NEXT_ROUTER_BASEPATH || '';
function addBasePath(path, required) {
if (process.env.__NEXT_MANUAL_CLIENT_BASE_PATH) {
if (!required) {
return path;
}
}
return (0, _normalizeTrailingSlash).normalizePathTrailingSlash((0, _addPathPrefix).addPathPrefix(path, basePath));
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=add-base-path.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../client/add-base-path.ts"],"names":["addBasePath","basePath","process","env","__NEXT_ROUTER_BASEPATH","path","required","__NEXT_MANUAL_CLIENT_BASE_PATH","normalizePathTrailingSlash","addPathPrefix"],"mappings":"AAAA;;;;QAKgBA,WAAW,GAAXA,WAAW;AALG,IAAA,cAA4C,WAA5C,4CAA4C,CAAA;AAC/B,IAAA,uBAA4B,WAA5B,4BAA4B,CAAA;AAEvE,MAAMC,QAAQ,GAAG,AAACC,OAAO,CAACC,GAAG,CAACC,sBAAsB,IAAe,EAAE;AAE9D,SAASJ,WAAW,CAACK,IAAY,EAAEC,QAAkB,EAAU;IACpE,IAAIJ,OAAO,CAACC,GAAG,CAACI,8BAA8B,EAAE;QAC9C,IAAI,CAACD,QAAQ,EAAE;YACb,OAAOD,IAAI,CAAA;SACZ;KACF;IAED,OAAOG,CAAAA,GAAAA,uBAA0B,AAA+B,CAAA,2BAA/B,CAACC,CAAAA,GAAAA,cAAa,AAAgB,CAAA,cAAhB,CAACJ,IAAI,EAAEJ,QAAQ,CAAC,CAAC,CAAA;CACjE"}

View File

@@ -0,0 +1,2 @@
import type { addLocale as Fn } from '../shared/lib/router/utils/add-locale';
export declare const addLocale: typeof Fn;

21
kitabcitab/node_modules/next/dist/client/add-locale.js generated vendored Normal file
View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.addLocale = void 0;
var _normalizeTrailingSlash = require("./normalize-trailing-slash");
const addLocale = (path, ...args)=>{
if (process.env.__NEXT_I18N_SUPPORT) {
return (0, _normalizeTrailingSlash).normalizePathTrailingSlash(require('../shared/lib/router/utils/add-locale').addLocale(path, ...args));
}
return path;
};
exports.addLocale = addLocale;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=add-locale.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../client/add-locale.ts"],"names":["addLocale","path","args","process","env","__NEXT_I18N_SUPPORT","normalizePathTrailingSlash","require"],"mappings":"AAAA;;;;;AAC2C,IAAA,uBAA4B,WAA5B,4BAA4B,CAAA;AAEhE,MAAMA,SAAS,GAAc,CAACC,IAAI,EAAKC,GAAAA,IAAI,GAAK;IACrD,IAAIC,OAAO,CAACC,GAAG,CAACC,mBAAmB,EAAE;QACnC,OAAOC,CAAAA,GAAAA,uBAA0B,AAEhC,CAAA,2BAFgC,CAC/BC,OAAO,CAAC,uCAAuC,CAAC,CAACP,SAAS,CAACC,IAAI,KAAKC,IAAI,CAAC,CAC1E,CAAA;KACF;IACD,OAAOD,IAAI,CAAA;CACZ;QAPYD,SAAS,GAATA,SAAS"}

View File

@@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.appBootstrap = appBootstrap;
/**
* Before starting the Next.js runtime and requiring any module, we need to make
* sure the following scripts are executed in the correct order:
* - Polyfills
* - next/script with `beforeInteractive` strategy
*/ const version = "13.1.1";
window.next = {
version,
appDir: true
};
function loadScriptsInSequence(scripts, hydrate) {
if (!scripts || !scripts.length) {
return hydrate();
}
return scripts.reduce((promise, [src, props])=>{
return promise.then(()=>{
return new Promise((resolve, reject)=>{
const el = document.createElement('script');
if (props) {
for(const key in props){
if (key !== 'children') {
el.setAttribute(key, props[key]);
}
}
}
if (src) {
el.src = src;
el.onload = resolve;
el.onerror = reject;
} else if (props) {
el.innerHTML = props.children;
setTimeout(resolve);
}
document.head.appendChild(el);
});
});
}, Promise.resolve()).then(()=>{
hydrate();
}).catch((err)=>{
console.error(err);
// Still try to hydrate even if there's an error.
hydrate();
});
}
function appBootstrap(callback) {
loadScriptsInSequence(self.__next_s, ()=>{
callback();
});
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-bootstrap.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../client/app-bootstrap.js"],"names":["appBootstrap","version","process","env","__NEXT_VERSION","window","next","appDir","loadScriptsInSequence","scripts","hydrate","length","reduce","promise","src","props","then","Promise","resolve","reject","el","document","createElement","key","setAttribute","onload","onerror","innerHTML","children","setTimeout","head","appendChild","catch","err","console","error","callback","self","__next_s"],"mappings":"AAOA;;;;QAiDgBA,YAAY,GAAZA,YAAY;AAxD5B;;;;;GAKG,CAEH,MAAMC,OAAO,GAAGC,OAAO,CAACC,GAAG,CAACC,cAAc;AAE1CC,MAAM,CAACC,IAAI,GAAG;IACZL,OAAO;IACPM,MAAM,EAAE,IAAI;CACb;AAED,SAASC,qBAAqB,CAACC,OAAO,EAAEC,OAAO,EAAE;IAC/C,IAAI,CAACD,OAAO,IAAI,CAACA,OAAO,CAACE,MAAM,EAAE;QAC/B,OAAOD,OAAO,EAAE,CAAA;KACjB;IAED,OAAOD,OAAO,CACXG,MAAM,CAAC,CAACC,OAAO,EAAE,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAK;QACjC,OAAOF,OAAO,CAACG,IAAI,CAAC,IAAM;YACxB,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,GAAK;gBACtC,MAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC;gBAE3C,IAAIP,KAAK,EAAE;oBACT,IAAK,MAAMQ,GAAG,IAAIR,KAAK,CAAE;wBACvB,IAAIQ,GAAG,KAAK,UAAU,EAAE;4BACtBH,EAAE,CAACI,YAAY,CAACD,GAAG,EAAER,KAAK,CAACQ,GAAG,CAAC,CAAC;yBACjC;qBACF;iBACF;gBAED,IAAIT,GAAG,EAAE;oBACPM,EAAE,CAACN,GAAG,GAAGA,GAAG;oBACZM,EAAE,CAACK,MAAM,GAAGP,OAAO;oBACnBE,EAAE,CAACM,OAAO,GAAGP,MAAM;iBACpB,MAAM,IAAIJ,KAAK,EAAE;oBAChBK,EAAE,CAACO,SAAS,GAAGZ,KAAK,CAACa,QAAQ;oBAC7BC,UAAU,CAACX,OAAO,CAAC;iBACpB;gBAEDG,QAAQ,CAACS,IAAI,CAACC,WAAW,CAACX,EAAE,CAAC;aAC9B,CAAC,CAAA;SACH,CAAC,CAAA;KACH,EAAEH,OAAO,CAACC,OAAO,EAAE,CAAC,CACpBF,IAAI,CAAC,IAAM;QACVN,OAAO,EAAE;KACV,CAAC,CACDsB,KAAK,CAAC,CAACC,GAAG,GAAK;QACdC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClB,iDAAiD;QACjDvB,OAAO,EAAE;KACV,CAAC,CAAA;CACL;AAEM,SAASV,YAAY,CAACoC,QAAQ,EAAE;IACrC5B,qBAAqB,CAAC6B,IAAI,CAACC,QAAQ,EAAE,IAAM;QACzCF,QAAQ,EAAE;KACX,CAAC;CACH"}

View File

@@ -0,0 +1,5 @@
import '../build/polyfills/polyfill-module';
declare global {
const __webpack_require__: any;
}
export declare function hydrate(): void;

201
kitabcitab/node_modules/next/dist/client/app-index.js generated vendored Normal file
View File

@@ -0,0 +1,201 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.hydrate = hydrate;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
require("../build/polyfills/polyfill-module");
var _client = _interop_require_default(require("react-dom/client"));
var _react = _interop_require_wildcard(require("react"));
var _client1 = require("next/dist/compiled/react-server-dom-webpack/client");
var _headManagerContext = require("../shared/lib/head-manager-context");
var _appRouterContext = require("../shared/lib/app-router-context");
var _onRecoverableError = _interop_require_default(require("./on-recoverable-error"));
// eslint-disable-next-line no-undef
const getChunkScriptFilename = __webpack_require__.u;
const chunkFilenameMap = {};
// eslint-disable-next-line no-undef
__webpack_require__.u = (chunkId)=>{
return chunkFilenameMap[chunkId] || getChunkScriptFilename(chunkId);
};
// Ignore the module ID transform in client.
// eslint-disable-next-line no-undef
// @ts-expect-error TODO: fix type
self.__next_require__ = process.env.NODE_ENV !== 'production' ? (id)=>{
const mod = __webpack_require__(id);
if (typeof mod === 'object') {
// Return a proxy to flight client to make sure it's always getting
// the latest module, instead of being cached.
return new Proxy(mod, {
get (_target, prop) {
return __webpack_require__(id)[prop];
}
});
}
return mod;
} : __webpack_require__;
self.__next_chunk_load__ = (chunk)=>{
if (!chunk) return Promise.resolve();
const [chunkId, chunkFileName] = chunk.split(':');
chunkFilenameMap[chunkId] = `static/chunks/${chunkFileName}.js`;
// @ts-ignore
// eslint-disable-next-line no-undef
return __webpack_chunk_load__(chunkId);
};
const appElement = document;
const getCacheKey = ()=>{
const { pathname , search } = location;
return pathname + search;
};
const encoder = new TextEncoder();
let initialServerDataBuffer = undefined;
let initialServerDataWriter = undefined;
let initialServerDataLoaded = false;
let initialServerDataFlushed = false;
function nextServerDataCallback(seg) {
if (seg[0] === 0) {
initialServerDataBuffer = [];
} else {
if (!initialServerDataBuffer) throw new Error('Unexpected server data: missing bootstrap script.');
if (initialServerDataWriter) {
initialServerDataWriter.enqueue(encoder.encode(seg[1]));
} else {
initialServerDataBuffer.push(seg[1]);
}
}
}
// There might be race conditions between `nextServerDataRegisterWriter` and
// `DOMContentLoaded`. The former will be called when React starts to hydrate
// the root, the latter will be called when the DOM is fully loaded.
// For streaming, the former is called first due to partial hydration.
// For non-streaming, the latter can be called first.
// Hence, we use two variables `initialServerDataLoaded` and
// `initialServerDataFlushed` to make sure the writer will be closed and
// `initialServerDataBuffer` will be cleared in the right time.
function nextServerDataRegisterWriter(ctr) {
if (initialServerDataBuffer) {
initialServerDataBuffer.forEach((val)=>{
ctr.enqueue(encoder.encode(val));
});
if (initialServerDataLoaded && !initialServerDataFlushed) {
ctr.close();
initialServerDataFlushed = true;
initialServerDataBuffer = undefined;
}
}
initialServerDataWriter = ctr;
}
// When `DOMContentLoaded`, we can close all pending writers to finish hydration.
const DOMContentLoaded = function() {
if (initialServerDataWriter && !initialServerDataFlushed) {
initialServerDataWriter.close();
initialServerDataFlushed = true;
initialServerDataBuffer = undefined;
}
initialServerDataLoaded = true;
};
// It's possible that the DOM is already loaded.
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', DOMContentLoaded, false);
} else {
DOMContentLoaded();
}
const nextServerDataLoadingGlobal = self.__next_f = self.__next_f || [];
nextServerDataLoadingGlobal.forEach(nextServerDataCallback);
nextServerDataLoadingGlobal.push = nextServerDataCallback;
function createResponseCache() {
return new Map();
}
const rscCache = createResponseCache();
function useInitialServerResponse(cacheKey) {
const response = rscCache.get(cacheKey);
if (response) return response;
const readable = new ReadableStream({
start (controller) {
nextServerDataRegisterWriter(controller);
}
});
const newResponse = (0, _client1).createFromReadableStream(readable);
rscCache.set(cacheKey, newResponse);
return newResponse;
}
function ServerRoot({ cacheKey }) {
_react.default.useEffect(()=>{
rscCache.delete(cacheKey);
});
const response = useInitialServerResponse(cacheKey);
const root = (0, _react).use(response);
return root;
}
const StrictModeIfEnabled = process.env.__NEXT_STRICT_MODE_APP ? _react.default.StrictMode : _react.default.Fragment;
function Root({ children }) {
_react.default.useEffect(()=>{
if (process.env.__NEXT_ANALYTICS_ID) {
require('./performance-relayer-app')();
}
}, []);
if (process.env.__NEXT_TEST_MODE) {
// eslint-disable-next-line react-hooks/rules-of-hooks
_react.default.useEffect(()=>{
window.__NEXT_HYDRATED = true;
if (window.__NEXT_HYDRATED_CB) {
window.__NEXT_HYDRATED_CB();
}
}, []);
}
return children;
}
function RSCComponent(props) {
const cacheKey = getCacheKey();
return /*#__PURE__*/ _react.default.createElement(ServerRoot, Object.assign({}, props, {
cacheKey: cacheKey
}));
}
function hydrate() {
if (process.env.NODE_ENV !== 'production') {
const rootLayoutMissingTagsError = self.__next_root_layout_missing_tags_error;
const HotReload = require('./components/react-dev-overlay/hot-reloader-client').default;
// Don't try to hydrate if root layout is missing required tags, render error instead
if (rootLayoutMissingTagsError) {
const reactRootElement = document.createElement('div');
document.body.appendChild(reactRootElement);
const reactRoot = _client.default.createRoot(reactRootElement, {
onRecoverableError: _onRecoverableError.default
});
reactRoot.render(/*#__PURE__*/ _react.default.createElement(_appRouterContext.GlobalLayoutRouterContext.Provider, {
value: {
tree: rootLayoutMissingTagsError.tree,
changeByServerResponse: ()=>{},
focusAndScrollRef: {
apply: false
}
}
}, /*#__PURE__*/ _react.default.createElement(HotReload, {
assetPrefix: rootLayoutMissingTagsError.assetPrefix
})));
return;
}
}
const reactEl = /*#__PURE__*/ _react.default.createElement(StrictModeIfEnabled, null, /*#__PURE__*/ _react.default.createElement(_headManagerContext.HeadManagerContext.Provider, {
value: {
appDir: true
}
}, /*#__PURE__*/ _react.default.createElement(Root, null, /*#__PURE__*/ _react.default.createElement(RSCComponent, null))));
const options = {
onRecoverableError: _onRecoverableError.default
};
const isError = document.documentElement.id === '__next_error__';
const reactRoot = isError ? _client.default.createRoot(appElement, options) : _react.default.startTransition(()=>_client.default.hydrateRoot(appElement, reactEl, options));
if (isError) {
reactRoot.render(reactEl);
}
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-index.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,15 @@
"use strict";
var _appBootstrap = require("./app-bootstrap");
(0, _appBootstrap // TODO-APP: build indicator
).appBootstrap(()=>{
const { hydrate } = require('./app-index');
hydrate();
});
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-next-dev.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../client/app-next-dev.js"],"names":["appBootstrap","hydrate","require"],"mappings":"AAEA;AAA6B,IAAA,aAAiB,WAAjB,iBAAiB,CAAA;AAE9CA,CAAAA,GAAAA,aAAY,AAGV,CAEF,4BAA4B;CAF1B,aAHU,CAAC,IAAM;IACjB,MAAM,EAAEC,OAAO,CAAA,EAAE,GAAGC,OAAO,CAAC,aAAa,CAAC;IAC1CD,OAAO,EAAE;CACV,CAAC"}

17
kitabcitab/node_modules/next/dist/client/app-next.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
"use strict";
var _appBootstrap = require("./app-bootstrap");
(0, _appBootstrap).appBootstrap(()=>{
// Include app-router and layout-router in the main chunk
require('next/dist/client/components/app-router');
require('next/dist/client/components/layout-router');
const { hydrate } = require('./app-index');
hydrate();
});
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-next.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../client/app-next.js"],"names":["appBootstrap","require","hydrate"],"mappings":"AAAA;AAA6B,IAAA,aAAiB,WAAjB,iBAAiB,CAAA;AAE9CA,CAAAA,GAAAA,aAAY,AAMV,CAAA,aANU,CAAC,IAAM;IACjB,yDAAyD;IACzDC,OAAO,CAAC,wCAAwC,CAAC;IACjDA,OAAO,CAAC,2CAA2C,CAAC;IACpD,MAAM,EAAEC,OAAO,CAAA,EAAE,GAAGD,OAAO,CAAC,aAAa,CAAC;IAC1CC,OAAO,EAAE;CACV,CAAC"}

View File

@@ -0,0 +1,12 @@
import { NextRouter } from '../router';
/**
* useRouter from `next/compat/router` is designed to assist developers
* migrating from `pages/` to `app/`. Unlike `next/router`, this hook does not
* throw when the `NextRouter` is not mounted, and instead returns `null`. The
* more concrete return type here lets developers use this hook within
* components that could be shared between both `app/` and `pages/` and handle
* to the case where the router is not mounted.
*
* @returns The `NextRouter` instance if it's available, otherwise `null`.
*/
export declare function useRouter(): NextRouter | null;

View File

@@ -0,0 +1,18 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useRouter = useRouter;
var _react = require("react");
var _routerContext = require("../../shared/lib/router-context");
function useRouter() {
return (0, _react).useContext(_routerContext.RouterContext);
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=router.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/compat/router.ts"],"names":["useRouter","useContext","RouterContext"],"mappings":"AAAA;;;;QAcgBA,SAAS,GAATA,SAAS;AAdE,IAAA,MAAO,WAAP,OAAO,CAAA;AACJ,IAAA,cAAiC,WAAjC,iCAAiC,CAAA;AAaxD,SAASA,SAAS,GAAsB;IAC7C,OAAOC,CAAAA,GAAAA,MAAU,AAAe,CAAA,WAAf,CAACC,cAAa,cAAA,CAAC,CAAA;CACjC"}

View File

@@ -0,0 +1,6 @@
export declare const RSC: "RSC";
export declare const NEXT_ROUTER_STATE_TREE: "Next-Router-State-Tree";
export declare const NEXT_ROUTER_PREFETCH: "Next-Router-Prefetch";
export declare const FETCH_CACHE_HEADER: "x-vercel-sc-headers";
export declare const RSC_VARY_HEADER: "RSC, Next-Router-State-Tree, Next-Router-Prefetch";
export declare const FLIGHT_PARAMETERS: readonly [readonly ["RSC"], readonly ["Next-Router-State-Tree"], readonly ["Next-Router-Prefetch"]];

View File

@@ -0,0 +1,35 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FLIGHT_PARAMETERS = exports.RSC_VARY_HEADER = exports.FETCH_CACHE_HEADER = exports.NEXT_ROUTER_PREFETCH = exports.NEXT_ROUTER_STATE_TREE = exports.RSC = void 0;
const RSC = 'RSC';
exports.RSC = RSC;
const NEXT_ROUTER_STATE_TREE = 'Next-Router-State-Tree';
exports.NEXT_ROUTER_STATE_TREE = NEXT_ROUTER_STATE_TREE;
const NEXT_ROUTER_PREFETCH = 'Next-Router-Prefetch';
exports.NEXT_ROUTER_PREFETCH = NEXT_ROUTER_PREFETCH;
const FETCH_CACHE_HEADER = 'x-vercel-sc-headers';
exports.FETCH_CACHE_HEADER = FETCH_CACHE_HEADER;
const RSC_VARY_HEADER = `${RSC}, ${NEXT_ROUTER_STATE_TREE}, ${NEXT_ROUTER_PREFETCH}`;
exports.RSC_VARY_HEADER = RSC_VARY_HEADER;
const FLIGHT_PARAMETERS = [
[
RSC
],
[
NEXT_ROUTER_STATE_TREE
],
[
NEXT_ROUTER_PREFETCH
],
];
exports.FLIGHT_PARAMETERS = FLIGHT_PARAMETERS;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-router-headers.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/app-router-headers.ts"],"names":["RSC","NEXT_ROUTER_STATE_TREE","NEXT_ROUTER_PREFETCH","FETCH_CACHE_HEADER","RSC_VARY_HEADER","FLIGHT_PARAMETERS"],"mappings":"AAAA;;;;;AAAO,MAAMA,GAAG,GAAG,KAAK,AAAS;QAApBA,GAAG,GAAHA,GAAG;AACT,MAAMC,sBAAsB,GAAG,wBAAwB,AAAS;QAA1DA,sBAAsB,GAAtBA,sBAAsB;AAC5B,MAAMC,oBAAoB,GAAG,sBAAsB,AAAS;QAAtDA,oBAAoB,GAApBA,oBAAoB;AAC1B,MAAMC,kBAAkB,GAAG,qBAAqB,AAAS;QAAnDA,kBAAkB,GAAlBA,kBAAkB;AACxB,MAAMC,eAAe,GAC1B,CAAC,EAAEJ,GAAG,CAAC,EAAE,EAAEC,sBAAsB,CAAC,EAAE,EAAEC,oBAAoB,CAAC,CAAC,AAAS;QAD1DE,eAAe,GAAfA,eAAe;AAGrB,MAAMC,iBAAiB,GAAG;IAC/B;QAACL,GAAG;KAAC;IACL;QAACC,sBAAsB;KAAC;IACxB;QAACC,oBAAoB;KAAC;CACvB,AAAS;QAJGG,iBAAiB,GAAjBA,iBAAiB"}

View File

@@ -0,0 +1,18 @@
import type { ReactNode } from 'react';
import type { FlightRouterState, FlightData } from '../../server/app-render';
import type { ErrorComponent } from './error-boundary';
/**
* Fetch the flight data for the provided url. Takes in the current router state to decide what to render server-side.
*/
export declare function fetchServerResponse(url: URL, flightRouterState: FlightRouterState, prefetch?: true): Promise<[FlightData: FlightData, canonicalUrlOverride: URL | undefined]>;
declare type AppRouterProps = {
initialHead: ReactNode;
initialTree: FlightRouterState;
initialCanonicalUrl: string;
children: ReactNode;
assetPrefix: string;
};
export default function AppRouter(props: AppRouterProps & {
globalErrorComponent: ErrorComponent;
}): JSX.Element;
export {};

View File

@@ -0,0 +1,351 @@
"use client";
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = AppRouter;
exports.fetchServerResponse = fetchServerResponse;
var _async_to_generator = require("@swc/helpers/lib/_async_to_generator.js").default;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var _object_without_properties_loose = require("@swc/helpers/lib/_object_without_properties_loose.js").default;
var _react = _interop_require_wildcard(require("react"));
var _client = require("next/dist/compiled/react-server-dom-webpack/client");
var _appRouterContext = require("../../shared/lib/app-router-context");
var _reducer = require("./reducer");
var _hooksClientContext = require("../../shared/lib/hooks-client-context");
var _useReducerWithDevtools = require("./use-reducer-with-devtools");
var _errorBoundary = require("./error-boundary");
var _appRouterHeaders = require("./app-router-headers");
function AppRouter(props) {
const { globalErrorComponent } = props, rest = _object_without_properties_loose(props, [
"globalErrorComponent"
]);
return /*#__PURE__*/ _react.default.createElement(_errorBoundary.ErrorBoundary, {
errorComponent: globalErrorComponent
}, /*#__PURE__*/ _react.default.createElement(Router, Object.assign({}, rest)));
}
function urlToUrlWithoutFlightMarker(url) {
const urlWithoutFlightParameters = new URL(url, location.origin);
// TODO-APP: handle .rsc for static export case
return urlWithoutFlightParameters;
}
const HotReloader = process.env.NODE_ENV === 'production' ? null : require('./react-dev-overlay/hot-reloader-client').default;
function fetchServerResponse(url, flightRouterState, prefetch) {
return _fetchServerResponse.apply(this, arguments);
}
function _fetchServerResponse() {
_fetchServerResponse = _async_to_generator(function*(url, flightRouterState, prefetch) {
const headers = {
// Enable flight response
[_appRouterHeaders.RSC]: '1',
// Provide the current router state
[_appRouterHeaders.NEXT_ROUTER_STATE_TREE]: JSON.stringify(flightRouterState)
};
if (prefetch) {
// Enable prefetch response
headers[_appRouterHeaders.NEXT_ROUTER_PREFETCH] = '1';
}
const res = yield fetch(url.toString(), {
headers
});
const canonicalUrl = res.redirected ? urlToUrlWithoutFlightMarker(res.url) : undefined;
const isFlightResponse = res.headers.get('content-type') === 'application/octet-stream';
// If fetch returns something different than flight response handle it like a mpa navigation
if (!isFlightResponse) {
return [
res.url,
undefined
];
}
// Handle the `fetch` readable stream that can be unwrapped by `React.use`.
const flightData = yield (0, _client).createFromFetch(Promise.resolve(res));
return [
flightData,
canonicalUrl
];
});
return _fetchServerResponse.apply(this, arguments);
}
// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.
let initialParallelRoutes = typeof window === 'undefined' ? null : new Map();
const prefetched = new Set();
function findHeadInCache(cache, parallelRoutes) {
const isLastItem = Object.keys(parallelRoutes).length === 0;
if (isLastItem) {
return cache.head;
}
for(const key in parallelRoutes){
const [segment, childParallelRoutes] = parallelRoutes[key];
const childSegmentMap = cache.parallelRoutes.get(key);
if (!childSegmentMap) {
continue;
}
const cacheKey = Array.isArray(segment) ? segment[1] : segment;
const cacheNode = childSegmentMap.get(cacheKey);
if (!cacheNode) {
continue;
}
const item = findHeadInCache(cacheNode, childParallelRoutes);
if (item) {
return item;
}
}
return undefined;
}
/**
* The global router that wraps the application components.
*/ function Router({ initialHead , initialTree , initialCanonicalUrl , children , assetPrefix }) {
const initialState = (0, _react).useMemo(()=>{
return {
tree: initialTree,
cache: {
status: _appRouterContext.CacheStates.READY,
data: null,
subTreeData: children,
parallelRoutes: typeof window === 'undefined' ? new Map() : initialParallelRoutes
},
prefetchCache: new Map(),
pushRef: {
pendingPush: false,
mpaNavigation: false
},
focusAndScrollRef: {
apply: false
},
canonicalUrl: // location.href is read as the initial value for canonicalUrl in the browser
// This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.
typeof window !== 'undefined' ? (0, _reducer).createHrefFromUrl(window.location) : initialCanonicalUrl
};
}, [
children,
initialCanonicalUrl,
initialTree
]);
const [{ tree , cache , prefetchCache , pushRef , focusAndScrollRef , canonicalUrl }, dispatch, sync, ] = (0, _useReducerWithDevtools).useReducerWithReduxDevtools(_reducer.reducer, initialState);
const head = (0, _react).useMemo(()=>{
return findHeadInCache(cache, tree[1]);
}, [
cache,
tree
]);
(0, _react).useEffect(()=>{
// Ensure initialParallelRoutes is cleaned up from memory once it's used.
initialParallelRoutes = null;
}, []);
// Add memoized pathname/query for useSearchParams and usePathname.
const { searchParams , pathname } = (0, _react).useMemo(()=>{
const url = new URL(canonicalUrl, typeof window === 'undefined' ? 'http://n' : window.location.href);
return {
// This is turned into a readonly class in `useSearchParams`
searchParams: url.searchParams,
pathname: url.pathname
};
}, [
canonicalUrl
]);
/**
* Server response that only patches the cache and tree.
*/ const changeByServerResponse = (0, _react).useCallback((previousTree, flightData, overrideCanonicalUrl)=>{
dispatch({
type: _reducer.ACTION_SERVER_PATCH,
flightData,
previousTree,
overrideCanonicalUrl,
cache: {
status: _appRouterContext.CacheStates.LAZY_INITIALIZED,
data: null,
subTreeData: null,
parallelRoutes: new Map()
},
mutable: {}
});
}, [
dispatch
]);
/**
* The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.
*/ const appRouter = (0, _react).useMemo(()=>{
const navigate = (href, navigateType, forceOptimisticNavigation)=>{
return dispatch({
type: _reducer.ACTION_NAVIGATE,
url: new URL(href, location.origin),
forceOptimisticNavigation,
navigateType,
cache: {
status: _appRouterContext.CacheStates.LAZY_INITIALIZED,
data: null,
subTreeData: null,
parallelRoutes: new Map()
},
mutable: {}
});
};
const routerInstance = {
back: ()=>window.history.back(),
forward: ()=>window.history.forward(),
prefetch: _async_to_generator(function*(href) {
// If prefetch has already been triggered, don't trigger it again.
if (prefetched.has(href)) {
return;
}
prefetched.add(href);
const url = new URL(href, location.origin);
try {
var ref;
const routerTree = ((ref = window.history.state) == null ? void 0 : ref.tree) || initialTree;
const serverResponse = yield fetchServerResponse(url, // initialTree is used when history.state.tree is missing because the history state is set in `useEffect` below, it being missing means this is the hydration case.
routerTree, true);
// @ts-ignore startTransition exists
_react.default.startTransition(()=>{
dispatch({
type: _reducer.ACTION_PREFETCH,
url,
tree: routerTree,
serverResponse
});
});
} catch (err) {
console.error('PREFETCH ERROR', err);
}
}),
replace: (href, options = {})=>{
// @ts-ignore startTransition exists
_react.default.startTransition(()=>{
navigate(href, 'replace', Boolean(options.forceOptimisticNavigation));
});
},
push: (href, options = {})=>{
// @ts-ignore startTransition exists
_react.default.startTransition(()=>{
navigate(href, 'push', Boolean(options.forceOptimisticNavigation));
});
},
refresh: ()=>{
// @ts-ignore startTransition exists
_react.default.startTransition(()=>{
dispatch({
type: _reducer.ACTION_REFRESH,
cache: {
status: _appRouterContext.CacheStates.LAZY_INITIALIZED,
data: null,
subTreeData: null,
parallelRoutes: new Map()
},
mutable: {}
});
});
}
};
return routerInstance;
}, [
dispatch,
initialTree
]);
(0, _react).useEffect(()=>{
// When mpaNavigation flag is set do a hard navigation to the new url.
if (pushRef.mpaNavigation) {
window.location.href = canonicalUrl;
return;
}
// Identifier is shortened intentionally.
// __NA is used to identify if the history entry can be handled by the app-router.
// __N is used to identify if the history entry can be handled by the old router.
const historyState = {
__NA: true,
tree
};
if (pushRef.pendingPush && (0, _reducer).createHrefFromUrl(new URL(window.location.href)) !== canonicalUrl) {
// This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.
pushRef.pendingPush = false;
window.history.pushState(historyState, '', canonicalUrl);
} else {
window.history.replaceState(historyState, '', canonicalUrl);
}
sync();
}, [
tree,
pushRef,
canonicalUrl,
sync
]);
// Add `window.nd` for debugging purposes.
// This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.
if (typeof window !== 'undefined') {
// @ts-ignore this is for debugging
window.nd = {
router: appRouter,
cache,
prefetchCache,
tree
};
}
/**
* Handle popstate event, this is used to handle back/forward in the browser.
* By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.
* That case can happen when the old router injected the history entry.
*/ const onPopState = (0, _react).useCallback(({ state })=>{
if (!state) {
// TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.
return;
}
// This case happens when the history entry was pushed by the `pages` router.
if (!state.__NA) {
window.location.reload();
return;
}
// @ts-ignore useTransition exists
// TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously
// Without startTransition works if the cache is there for this path
_react.default.startTransition(()=>{
dispatch({
type: _reducer.ACTION_RESTORE,
url: new URL(window.location.href),
tree: state.tree
});
});
}, [
dispatch
]);
// Register popstate event to call onPopstate.
(0, _react).useEffect(()=>{
window.addEventListener('popstate', onPopState);
return ()=>{
window.removeEventListener('popstate', onPopState);
};
}, [
onPopState
]);
const content = /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, head || initialHead, cache.subTreeData);
return /*#__PURE__*/ _react.default.createElement(_hooksClientContext.PathnameContext.Provider, {
value: pathname
}, /*#__PURE__*/ _react.default.createElement(_hooksClientContext.SearchParamsContext.Provider, {
value: searchParams
}, /*#__PURE__*/ _react.default.createElement(_appRouterContext.GlobalLayoutRouterContext.Provider, {
value: {
changeByServerResponse,
tree,
focusAndScrollRef
}
}, /*#__PURE__*/ _react.default.createElement(_appRouterContext.AppRouterContext.Provider, {
value: appRouter
}, /*#__PURE__*/ _react.default.createElement(_appRouterContext.LayoutRouterContext.Provider, {
value: {
childNodes: cache.parallelRoutes,
tree: tree,
// Root node always has `url`
// Provided in AppTreeContext to ensure it can be overwritten in layout-router
url: canonicalUrl
}
}, HotReloader ? /*#__PURE__*/ _react.default.createElement(HotReloader, {
assetPrefix: assetPrefix
}, content) : content)))));
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=app-router.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
export declare function bailoutToClientRendering(): boolean | never;

View File

@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bailoutToClientRendering = bailoutToClientRendering;
var _dynamicNoSsr = require("../../shared/lib/dynamic-no-ssr");
var _staticGenerationAsyncStorage = require("./static-generation-async-storage");
function bailoutToClientRendering() {
const staticGenerationStore = _staticGenerationAsyncStorage.staticGenerationAsyncStorage && 'getStore' in _staticGenerationAsyncStorage.staticGenerationAsyncStorage ? _staticGenerationAsyncStorage.staticGenerationAsyncStorage == null ? void 0 : _staticGenerationAsyncStorage.staticGenerationAsyncStorage.getStore() : _staticGenerationAsyncStorage.staticGenerationAsyncStorage;
if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) {
return true;
}
if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) {
(0, _dynamicNoSsr).suspense();
}
return false;
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=bailout-to-client-rendering.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/bailout-to-client-rendering.ts"],"names":["bailoutToClientRendering","staticGenerationStore","staticGenerationAsyncStorage","getStore","forceStatic","isStaticGeneration","suspense"],"mappings":"AAAA;;;;QAGgBA,wBAAwB,GAAxBA,wBAAwB;AAHf,IAAA,aAAiC,WAAjC,iCAAiC,CAAA;AACb,IAAA,6BAAmC,WAAnC,mCAAmC,CAAA;AAEzE,SAASA,wBAAwB,GAAoB;IAC1D,MAAMC,qBAAqB,GACzBC,6BAA4B,6BAAA,IAAI,UAAU,IAAIA,6BAA4B,6BAAA,GACtEA,6BAA4B,6BAAA,QAAU,GAAtCA,KAAAA,CAAsC,GAAtCA,6BAA4B,6BAAA,CAAEC,QAAQ,EAAE,GACxCD,6BAA4B,6BAAA;IAElC,IAAID,qBAAqB,QAAa,GAAlCA,KAAAA,CAAkC,GAAlCA,qBAAqB,CAAEG,WAAW,EAAE;QACtC,OAAO,IAAI,CAAA;KACZ;IAED,IAAIH,qBAAqB,QAAoB,GAAzCA,KAAAA,CAAyC,GAAzCA,qBAAqB,CAAEI,kBAAkB,EAAE;QAC7CC,CAAAA,GAAAA,aAAQ,AAAE,CAAA,SAAF,EAAE;KACX;IAED,OAAO,KAAK,CAAA;CACb"}

View File

@@ -0,0 +1,33 @@
import React from 'react';
export declare type ErrorComponent = React.ComponentType<{
error: Error;
reset: () => void;
}>;
export interface ErrorBoundaryProps {
errorComponent: ErrorComponent;
errorStyles?: React.ReactNode | undefined;
}
export declare class ErrorBoundaryHandler extends React.Component<ErrorBoundaryProps, {
error: Error | null;
}> {
constructor(props: ErrorBoundaryProps);
static getDerivedStateFromError(error: Error): {
error: Error;
};
reset: () => void;
render(): React.ReactNode;
}
export default function GlobalError({ error }: {
error: any;
}): JSX.Element;
/**
* Handles errors through `getDerivedStateFromError`.
* Renders the provided error component and provides a way to `reset` the error boundary state.
*/
/**
* Renders error boundary with the provided "errorComponent" property as the fallback.
* If no "errorComponent" property is provided it renders the children without an error boundary.
*/
export declare function ErrorBoundary({ errorComponent, errorStyles, children, }: ErrorBoundaryProps & {
children: React.ReactNode;
}): JSX.Element;

View File

@@ -0,0 +1,91 @@
"use client";
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = GlobalError;
exports.ErrorBoundary = ErrorBoundary;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _react = _interop_require_default(require("react"));
function GlobalError({ error }) {
return /*#__PURE__*/ _react.default.createElement("html", null, /*#__PURE__*/ _react.default.createElement("head", null), /*#__PURE__*/ _react.default.createElement("body", null, /*#__PURE__*/ _react.default.createElement("div", {
style: styles.error
}, /*#__PURE__*/ _react.default.createElement("div", {
style: styles.desc
}, /*#__PURE__*/ _react.default.createElement("h2", {
style: styles.text
}, "Application error: a client-side exception has occurred (see the browser console for more information)."), (error == null ? void 0 : error.digest) && /*#__PURE__*/ _react.default.createElement("p", {
style: styles.text
}, `Digest: ${error.digest}`)))));
}
const styles = {
error: {
fontFamily: '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
height: '100vh',
textAlign: 'center',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center'
},
desc: {
display: 'inline-block',
textAlign: 'left',
lineHeight: '49px',
height: '49px',
verticalAlign: 'middle'
},
text: {
fontSize: '14px',
fontWeight: 'normal',
lineHeight: '49px',
margin: 0,
padding: 0
}
};
class ErrorBoundaryHandler extends _react.default.Component {
static getDerivedStateFromError(error) {
return {
error
};
}
render() {
if (this.state.error) {
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, this.props.errorStyles, /*#__PURE__*/ _react.default.createElement(this.props.errorComponent, {
error: this.state.error,
reset: this.reset
}));
}
return this.props.children;
}
constructor(props){
super(props);
this.reset = ()=>{
this.setState({
error: null
});
};
this.state = {
error: null
};
}
}
exports.ErrorBoundaryHandler = ErrorBoundaryHandler;
function ErrorBoundary({ errorComponent , errorStyles , children }) {
if (errorComponent) {
return /*#__PURE__*/ _react.default.createElement(ErrorBoundaryHandler, {
errorComponent: errorComponent,
errorStyles: errorStyles
}, children);
}
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=error-boundary.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/error-boundary.tsx"],"names":["GlobalError","ErrorBoundary","error","html","head","body","div","style","styles","desc","h2","text","digest","p","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","lineHeight","verticalAlign","fontSize","fontWeight","margin","padding","ErrorBoundaryHandler","React","Component","getDerivedStateFromError","render","state","props","errorStyles","this","errorComponent","reset","children","constructor","setState"],"mappings":"AAAA;;;;kBA2EwBA,WAAW;QA8BnBC,aAAa,GAAbA,aAAa;;AAvGX,IAAA,MAAO,oCAAP,OAAO,EAAA;AAyEV,SAASD,WAAW,CAAC,EAAEE,KAAK,CAAA,EAAkB,EAAE;IAC7D,qBACE,6BAACC,MAAI,sBACH,6BAACC,MAAI,OAAQ,gBACb,6BAACC,MAAI,sBACH,6BAACC,KAAG;QAACC,KAAK,EAAEC,MAAM,CAACN,KAAK;qBACtB,6BAACI,KAAG;QAACC,KAAK,EAAEC,MAAM,CAACC,IAAI;qBACrB,6BAACC,IAAE;QAACH,KAAK,EAAEC,MAAM,CAACG,IAAI;OAAE,yGAGxB,CAAK,EACJT,CAAAA,KAAK,QAAQ,GAAbA,KAAAA,CAAa,GAAbA,KAAK,CAAEU,MAAM,CAAA,kBACZ,6BAACC,GAAC;QAACN,KAAK,EAAEC,MAAM,CAACG,IAAI;OAAG,CAAC,QAAQ,EAAET,KAAK,CAACU,MAAM,CAAC,CAAC,CAAK,AACvD,CACG,CACF,CACD,CACF,CACR;CACF;AA9FD,YAAY;AAIZ,MAAMJ,MAAM,GAAG;IACbN,KAAK,EAAE;QACLY,UAAU,EACR,2HAA2H;QAC7HC,MAAM,EAAE,OAAO;QACfC,SAAS,EAAE,QAAQ;QACnBC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,QAAQ;QACvBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;KACzB;IACDX,IAAI,EAAE;QACJQ,OAAO,EAAE,cAAc;QACvBD,SAAS,EAAE,MAAM;QACjBK,UAAU,EAAE,MAAM;QAClBN,MAAM,EAAE,MAAM;QACdO,aAAa,EAAE,QAAQ;KACxB;IACDX,IAAI,EAAE;QACJY,QAAQ,EAAE,MAAM;QAChBC,UAAU,EAAE,QAAQ;QACpBH,UAAU,EAAE,MAAM;QAClBI,MAAM,EAAE,CAAC;QACTC,OAAO,EAAE,CAAC;KACX;CACF,AAAS;AAYH,MAAMC,oBAAoB,SAASC,MAAK,QAAA,CAACC,SAAS;IASvD,OAAOC,wBAAwB,CAAC5B,KAAY,EAAE;QAC5C,OAAO;YAAEA,KAAK;SAAE,CAAA;KACjB;IAMD6B,MAAM,GAAG;QACP,IAAI,IAAI,CAACC,KAAK,CAAC9B,KAAK,EAAE;YACpB,qBACE,4DACG,IAAI,CAAC+B,KAAK,CAACC,WAAW,gBACvB,6BAACC,IAAI,CAACF,KAAK,CAACG,cAAc;gBACxBlC,KAAK,EAAE,IAAI,CAAC8B,KAAK,CAAC9B,KAAK;gBACvBmC,KAAK,EAAE,IAAI,CAACA,KAAK;cACjB,CACD,CACJ;SACF;QAED,OAAO,IAAI,CAACJ,KAAK,CAACK,QAAQ,CAAA;KAC3B;IA3BDC,YAAYN,KAAyB,CAAE;QACrC,KAAK,CAACA,KAAK,CAAC;QAQdI,KAAAA,KAAK,GAAG,IAAM;YACZ,IAAI,CAACG,QAAQ,CAAC;gBAAEtC,KAAK,EAAE,IAAI;aAAE,CAAC;SAC/B,CAAA;QATC,IAAI,CAAC8B,KAAK,GAAG;YAAE9B,KAAK,EAAE,IAAI;SAAE;KAC7B;CAyBF;QAhCYyB,oBAAoB,GAApBA,oBAAoB;AAgE1B,SAAS1B,aAAa,CAAC,EAC5BmC,cAAc,CAAA,EACdF,WAAW,CAAA,EACXI,QAAQ,CAAA,EAC2C,EAAe;IAClE,IAAIF,cAAc,EAAE;QAClB,qBACE,6BAACT,oBAAoB;YACnBS,cAAc,EAAEA,cAAc;YAC9BF,WAAW,EAAEA,WAAW;WAEvBI,QAAQ,CACY,CACxB;KACF;IAED,qBAAO,4DAAGA,QAAQ,CAAI,CAAA;CACvB"}

View File

@@ -0,0 +1,2 @@
/// <reference types="react" />
export declare function NotFound(): JSX.Element;

View File

@@ -0,0 +1,78 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.NotFound = NotFound;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _react = _interop_require_default(require("react"));
const styles = {
error: {
fontFamily: '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',
height: '100vh',
textAlign: 'center',
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
justifyContent: 'center'
},
desc: {
display: 'inline-block',
textAlign: 'left',
lineHeight: '49px',
height: '49px',
verticalAlign: 'middle'
},
h1: {
display: 'inline-block',
margin: 0,
marginRight: '20px',
padding: '0 23px 0 0',
fontSize: '24px',
fontWeight: 500,
verticalAlign: 'top',
lineHeight: '49px'
},
h2: {
fontSize: '14px',
fontWeight: 'normal',
lineHeight: '49px',
margin: 0,
padding: 0
}
};
function NotFound() {
return /*#__PURE__*/ _react.default.createElement("div", {
style: styles.error
}, /*#__PURE__*/ _react.default.createElement("head", null, /*#__PURE__*/ _react.default.createElement("title", null, "404: This page could not be found.")), /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("style", {
dangerouslySetInnerHTML: {
__html: `
body { margin: 0; color: #000; background: #fff; }
.next-error-h1 {
border-right: 1px solid rgba(0, 0, 0, .3);
}
@media (prefers-color-scheme: dark) {
body { color: #fff; background: #000; }
.next-error-h1 {
border-right: 1px solid rgba(255, 255, 255, .3);
}
}
`
}
}), /*#__PURE__*/ _react.default.createElement("h1", {
className: "next-error-h1",
style: styles.h1
}, "404"), /*#__PURE__*/ _react.default.createElement("div", {
style: styles.desc
}, /*#__PURE__*/ _react.default.createElement("h2", {
style: styles.h2
}, "This page could not be found."))));
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=error.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/error.tsx"],"names":["NotFound","styles","error","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","desc","lineHeight","verticalAlign","h1","margin","marginRight","padding","fontSize","fontWeight","h2","div","style","head","title","dangerouslySetInnerHTML","__html","className"],"mappings":"AAAA;;;;QA0CgBA,QAAQ,GAARA,QAAQ;;AA1CN,IAAA,MAAO,oCAAP,OAAO,EAAA;AAEzB,MAAMC,MAAM,GAAyC;IACnDC,KAAK,EAAE;QACLC,UAAU,EACR,2HAA2H;QAC7HC,MAAM,EAAE,OAAO;QACfC,SAAS,EAAE,QAAQ;QACnBC,OAAO,EAAE,MAAM;QACfC,aAAa,EAAE,QAAQ;QACvBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;KACzB;IAEDC,IAAI,EAAE;QACJJ,OAAO,EAAE,cAAc;QACvBD,SAAS,EAAE,MAAM;QACjBM,UAAU,EAAE,MAAM;QAClBP,MAAM,EAAE,MAAM;QACdQ,aAAa,EAAE,QAAQ;KACxB;IAEDC,EAAE,EAAE;QACFP,OAAO,EAAE,cAAc;QACvBQ,MAAM,EAAE,CAAC;QACTC,WAAW,EAAE,MAAM;QACnBC,OAAO,EAAE,YAAY;QACrBC,QAAQ,EAAE,MAAM;QAChBC,UAAU,EAAE,GAAG;QACfN,aAAa,EAAE,KAAK;QACpBD,UAAU,EAAE,MAAM;KACnB;IAEDQ,EAAE,EAAE;QACFF,QAAQ,EAAE,MAAM;QAChBC,UAAU,EAAE,QAAQ;QACpBP,UAAU,EAAE,MAAM;QAClBG,MAAM,EAAE,CAAC;QACTE,OAAO,EAAE,CAAC;KACX;CACF;AAEM,SAAShB,QAAQ,GAAG;IACzB,qBACE,6BAACoB,KAAG;QAACC,KAAK,EAAEpB,MAAM,CAACC,KAAK;qBACtB,6BAACoB,MAAI,sBACH,6BAACC,OAAK,QAAC,oCAAkC,CAAQ,CAC5C,gBACP,6BAACH,KAAG,sBACF,6BAACC,OAAK;QACJG,uBAAuB,EAAE;YACvBC,MAAM,EAAE,CAAC;;;;;;;;;;;;UAYX,CAAC;SACA;MACD,gBACF,6BAACZ,IAAE;QAACa,SAAS,EAAC,eAAe;QAACL,KAAK,EAAEpB,MAAM,CAACY,EAAE;OAAE,KAEhD,CAAK,gBACL,6BAACO,KAAG;QAACC,KAAK,EAAEpB,MAAM,CAACS,IAAI;qBACrB,6BAACS,IAAE;QAACE,KAAK,EAAEpB,MAAM,CAACkB,EAAE;OAAE,+BAA6B,CAAK,CACpD,CACF,CACF,CACP;CACF"}

View File

@@ -0,0 +1,2 @@
/// <reference types="react" />
export declare function DefaultHead(): JSX.Element;

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DefaultHead = DefaultHead;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _react = _interop_require_default(require("react"));
function DefaultHead() {
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("meta", {
charSet: "utf-8"
}), /*#__PURE__*/ _react.default.createElement("meta", {
name: "viewport",
content: "width=device-width, initial-scale=1"
}));
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=head.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/head.tsx"],"names":["DefaultHead","meta","charSet","name","content"],"mappings":"AAAA;;;;QAEgBA,WAAW,GAAXA,WAAW;;AAFT,IAAA,MAAO,oCAAP,OAAO,EAAA;AAElB,SAASA,WAAW,GAAG;IAC5B,qBACE,0EACE,6BAACC,MAAI;QAACC,OAAO,EAAC,OAAO;MAAG,gBACxB,6BAACD,MAAI;QAACE,IAAI,EAAC,UAAU;QAACC,OAAO,EAAC,qCAAqC;MAAG,CACrE,CACJ;CACF"}

View File

@@ -0,0 +1,4 @@
import { RequestCookies } from '../../server/web/spec-extension/cookies';
export declare function headers(): Headers;
export declare function previewData(): any;
export declare function cookies(): RequestCookies | import("../../server/app-render").ReadonlyRequestCookies;

View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.headers = headers;
exports.previewData = previewData;
exports.cookies = cookies;
var _cookies = require("../../server/web/spec-extension/cookies");
var _requestAsyncStorage = require("./request-async-storage");
var _staticGenerationBailout = require("./static-generation-bailout");
function headers() {
if ((0, _staticGenerationBailout).staticGenerationBailout('headers')) {
return new Headers({});
}
const requestStore = _requestAsyncStorage.requestAsyncStorage && 'getStore' in _requestAsyncStorage.requestAsyncStorage ? _requestAsyncStorage.requestAsyncStorage.getStore() : _requestAsyncStorage.requestAsyncStorage;
return requestStore.headers;
}
function previewData() {
const requestStore = _requestAsyncStorage.requestAsyncStorage && 'getStore' in _requestAsyncStorage.requestAsyncStorage ? _requestAsyncStorage.requestAsyncStorage.getStore() : _requestAsyncStorage.requestAsyncStorage;
return requestStore.previewData;
}
function cookies() {
if ((0, _staticGenerationBailout).staticGenerationBailout('cookies')) {
return new _cookies.RequestCookies(new Headers({}));
}
const requestStore = _requestAsyncStorage.requestAsyncStorage && 'getStore' in _requestAsyncStorage.requestAsyncStorage ? _requestAsyncStorage.requestAsyncStorage.getStore() : _requestAsyncStorage.requestAsyncStorage;
return requestStore.cookies;
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=headers.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/headers.ts"],"names":["headers","previewData","cookies","staticGenerationBailout","Headers","requestStore","requestAsyncStorage","getStore","RequestCookies"],"mappings":"AAAA;;;;QAIgBA,OAAO,GAAPA,OAAO;QAaPC,WAAW,GAAXA,WAAW;QAQXC,OAAO,GAAPA,OAAO;AAzBQ,IAAA,QAAyC,WAAzC,yCAAyC,CAAA;AACpC,IAAA,oBAAyB,WAAzB,yBAAyB,CAAA;AACrB,IAAA,wBAA6B,WAA7B,6BAA6B,CAAA;AAE9D,SAASF,OAAO,GAAG;IACxB,IAAIG,CAAAA,GAAAA,wBAAuB,AAAW,CAAA,wBAAX,CAAC,SAAS,CAAC,EAAE;QACtC,OAAO,IAAIC,OAAO,CAAC,EAAE,CAAC,CAAA;KACvB;IAED,MAAMC,YAAY,GAChBC,oBAAmB,oBAAA,IAAI,UAAU,IAAIA,oBAAmB,oBAAA,GACpDA,oBAAmB,oBAAA,CAACC,QAAQ,EAAE,GAC9BD,oBAAmB,oBAAA;IAEzB,OAAOD,YAAY,CAACL,OAAO,CAAA;CAC5B;AAEM,SAASC,WAAW,GAAG;IAC5B,MAAMI,YAAY,GAChBC,oBAAmB,oBAAA,IAAI,UAAU,IAAIA,oBAAmB,oBAAA,GACpDA,oBAAmB,oBAAA,CAACC,QAAQ,EAAE,GAC9BD,oBAAmB,oBAAA;IACzB,OAAOD,YAAY,CAACJ,WAAW,CAAA;CAChC;AAEM,SAASC,OAAO,GAAG;IACxB,IAAIC,CAAAA,GAAAA,wBAAuB,AAAW,CAAA,wBAAX,CAAC,SAAS,CAAC,EAAE;QACtC,OAAO,IAAIK,QAAc,eAAA,CAAC,IAAIJ,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;KAC3C;IACD,MAAMC,YAAY,GAChBC,oBAAmB,oBAAA,IAAI,UAAU,IAAIA,oBAAmB,oBAAA,GACpDA,oBAAmB,oBAAA,CAACC,QAAQ,EAAE,GAC9BD,oBAAmB,oBAAA;IAEzB,OAAOD,YAAY,CAACH,OAAO,CAAA;CAC5B"}

View File

@@ -0,0 +1,5 @@
export declare const DYNAMIC_ERROR_CODE = "DYNAMIC_SERVER_USAGE";
export declare class DynamicServerError extends Error {
digest: typeof DYNAMIC_ERROR_CODE;
constructor(type: string);
}

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DYNAMIC_ERROR_CODE = void 0;
const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE';
exports.DYNAMIC_ERROR_CODE = DYNAMIC_ERROR_CODE;
class DynamicServerError extends Error {
constructor(type){
super(`Dynamic server usage: ${type}`);
this.digest = DYNAMIC_ERROR_CODE;
}
}
exports.DynamicServerError = DynamicServerError;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=hooks-server-context.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/hooks-server-context.ts"],"names":["DYNAMIC_ERROR_CODE","DynamicServerError","Error","constructor","type","digest"],"mappings":"AAAA;;;;;AAAO,MAAMA,kBAAkB,GAAG,sBAAsB;QAA3CA,kBAAkB,GAAlBA,kBAAkB;AAExB,MAAMC,kBAAkB,SAASC,KAAK;IAG3CC,YAAYC,IAAY,CAAE;QACxB,KAAK,CAAC,CAAC,sBAAsB,EAAEA,IAAI,CAAC,CAAC,CAAC;QAHxCC,KAAAA,MAAM,GAA8BL,kBAAkB,CAAA;KAIrD;CACF;QANYC,kBAAkB,GAAlBA,kBAAkB"}

View File

@@ -0,0 +1,4 @@
/**
* Create a Promise that does not resolve. This is used to suspend when data is not available yet.
*/
export declare function createInfinitePromise(): Promise<void>;

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createInfinitePromise = createInfinitePromise;
/**
* Used to cache in createInfinitePromise
*/ let infinitePromise;
function createInfinitePromise() {
if (!infinitePromise) {
// Only create the Promise once
infinitePromise = new Promise(()=>{
// This is used to debug when the rendering is never updated.
// setTimeout(() => {
// infinitePromise = new Error('Infinite promise')
// resolve()
// }, 5000)
});
}
return infinitePromise;
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=infinite-promise.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/infinite-promise.ts"],"names":["createInfinitePromise","infinitePromise","Promise"],"mappings":"AAGA;;;;QAKgBA,qBAAqB,GAArBA,qBAAqB;AARrC;;GAEG,CACH,IAAIC,eAAe,AAAe;AAK3B,SAASD,qBAAqB,GAAG;IACtC,IAAI,CAACC,eAAe,EAAE;QACpB,+BAA+B;QAC/BA,eAAe,GAAG,IAAIC,OAAO,CAAC,IAAmB;QAC/C,6DAA6D;QAC7D,qBAAqB;QACrB,oDAAoD;QACpD,cAAc;QACd,WAAW;SACZ,CAAC;KACH;IAED,OAAOD,eAAe,CAAA;CACvB"}

View File

@@ -0,0 +1,37 @@
import type { ChildSegmentMap } from '../../shared/lib/app-router-context';
import type { FlightRouterState, FlightSegmentPath, ChildProp } from '../../server/app-render';
import type { ErrorComponent } from './error-boundary';
import React from 'react';
/**
* InnerLayoutRouter handles rendering the provided segment based on the cache.
*/
export declare function InnerLayoutRouter({ parallelRouterKey, url, childNodes, childProp, segmentPath, tree, path, rootLayoutIncluded, }: {
parallelRouterKey: string;
url: string;
childNodes: ChildSegmentMap;
childProp: ChildProp | null;
segmentPath: FlightSegmentPath;
tree: FlightRouterState;
isActive: boolean;
path: string;
rootLayoutIncluded: boolean;
}): JSX.Element | null;
/**
* OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.
* It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.
*/
export default function OuterLayoutRouter({ parallelRouterKey, segmentPath, childProp, error, errorStyles, templateStyles, loading, loadingStyles, hasLoading, template, notFound, notFoundStyles, rootLayoutIncluded, }: {
parallelRouterKey: string;
segmentPath: FlightSegmentPath;
childProp: ChildProp;
error: ErrorComponent;
errorStyles: React.ReactNode | undefined;
templateStyles: React.ReactNode | undefined;
template: React.ReactNode;
loading: React.ReactNode | undefined;
loadingStyles: React.ReactNode | undefined;
hasLoading: boolean;
notFound: React.ReactNode | undefined;
notFoundStyles: React.ReactNode | undefined;
rootLayoutIncluded: boolean;
}): JSX.Element;

View File

@@ -0,0 +1,372 @@
"use client";
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = OuterLayoutRouter;
exports.InnerLayoutRouter = InnerLayoutRouter;
var _extends = require("@swc/helpers/lib/_extends.js").default;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var _react = _interop_require_wildcard(require("react"));
var _reactDom = _interop_require_default(require("react-dom"));
var _appRouterContext = require("../../shared/lib/app-router-context");
var _appRouter = require("./app-router");
var _infinitePromise = require("./infinite-promise");
var _errorBoundary = require("./error-boundary");
var _matchSegments = require("./match-segments");
var _navigation = require("./navigation");
function OuterLayoutRouter({ parallelRouterKey , segmentPath , childProp , error , errorStyles , templateStyles , loading , loadingStyles , hasLoading , template , notFound , notFoundStyles , rootLayoutIncluded }) {
const context = (0, _react).useContext(_appRouterContext.LayoutRouterContext);
if (!context) {
throw new Error('invariant expected layout router to be mounted');
}
const { childNodes , tree , url } = context;
// Get the current parallelRouter cache node
let childNodesForParallelRouter = childNodes.get(parallelRouterKey);
// If the parallel router cache node does not exist yet, create it.
// This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.
if (!childNodesForParallelRouter) {
childNodes.set(parallelRouterKey, new Map());
childNodesForParallelRouter = childNodes.get(parallelRouterKey);
}
// Get the active segment in the tree
// The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.
const treeSegment = tree[1][parallelRouterKey][0];
const childPropSegment = Array.isArray(childProp.segment) ? childProp.segment[1] : childProp.segment;
// If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.
const currentChildSegment = Array.isArray(treeSegment) ? treeSegment[1] : treeSegment;
/**
* Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.
*/ // TODO-APP: Add handling of `<Offscreen>` when it's available.
const preservedSegments = [
currentChildSegment
];
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, preservedSegments.map((preservedSegment)=>{
return(/*
- Error boundary
- Only renders error boundary if error component is provided.
- Rendered for each segment to ensure they have their own error state.
- Loading boundary
- Only renders suspense boundary if loading components is provided.
- Rendered for each segment to ensure they have their own loading state.
- Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.
*/ /*#__PURE__*/ _react.default.createElement(_appRouterContext.TemplateContext.Provider, {
key: preservedSegment,
value: /*#__PURE__*/ _react.default.createElement(_errorBoundary.ErrorBoundary, {
errorComponent: error,
errorStyles: errorStyles
}, /*#__PURE__*/ _react.default.createElement(LoadingBoundary, {
hasLoading: hasLoading,
loading: loading,
loadingStyles: loadingStyles
}, /*#__PURE__*/ _react.default.createElement(NotFoundBoundary, {
notFound: notFound,
notFoundStyles: notFoundStyles
}, /*#__PURE__*/ _react.default.createElement(RedirectBoundary, null, /*#__PURE__*/ _react.default.createElement(InnerLayoutRouter, {
parallelRouterKey: parallelRouterKey,
url: url,
tree: tree,
childNodes: childNodesForParallelRouter,
childProp: childPropSegment === preservedSegment ? childProp : null,
segmentPath: segmentPath,
path: preservedSegment,
isActive: currentChildSegment === preservedSegment,
rootLayoutIncluded: rootLayoutIncluded
})))))
}, /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, templateStyles, template)));
}));
}
/**
* Add refetch marker to router state at the point of the current layout segment.
* This ensures the response returned is not further down than the current layout segment.
*/ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {
if (segmentPathToWalk) {
const [segment, parallelRouteKey] = segmentPathToWalk;
const isLast = segmentPathToWalk.length === 2;
if ((0, _matchSegments).matchSegment(treeToRecreate[0], segment)) {
if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {
if (isLast) {
const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);
return [
treeToRecreate[0],
_extends({}, treeToRecreate[1], {
[parallelRouteKey]: [
subTree[0],
subTree[1],
subTree[2],
'refetch',
]
}),
];
}
return [
treeToRecreate[0],
_extends({}, treeToRecreate[1], {
[parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])
}),
];
}
}
}
return treeToRecreate;
}
// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available
/**
* Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning
*/ function findDOMNode(instance) {
// Tree-shake for server bundle
if (typeof window === undefined) return null;
// Only apply strict mode warning when not in production
if (process.env.NODE_ENV !== 'production') {
const originalConsoleError = console.error;
try {
console.error = (...messages)=>{
// Ignore strict mode warning for the findDomNode call below
if (!messages[0].includes('Warning: %s is deprecated in StrictMode.')) {
originalConsoleError(...messages);
}
};
return _reactDom.default.findDOMNode(instance);
} finally{
console.error = originalConsoleError;
}
}
return _reactDom.default.findDOMNode(instance);
}
/**
* Check if the top of the HTMLElement is in the viewport.
*/ function topOfElementInViewport(element) {
const rect = element.getBoundingClientRect();
return rect.top >= 0;
}
class ScrollAndFocusHandler extends _react.default.Component {
componentDidMount() {
// Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.
const { focusAndScrollRef } = this.props;
const domNode = findDOMNode(this);
if (focusAndScrollRef.apply && domNode instanceof HTMLElement) {
// State is mutated to ensure that the focus and scroll is applied only once.
focusAndScrollRef.apply = false;
// Set focus on the element
domNode.focus();
// Only scroll into viewport when the layout is not visible currently.
if (!topOfElementInViewport(domNode)) {
const htmlElement = document.documentElement;
const existing = htmlElement.style.scrollBehavior;
htmlElement.style.scrollBehavior = 'auto';
// In Chrome-based browsers we need to force reflow before calling `scrollTo`.
// Otherwise it will not pickup the change in scrollBehavior
// More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042
htmlElement.getClientRects();
domNode.scrollIntoView();
htmlElement.style.scrollBehavior = existing;
}
}
}
render() {
return this.props.children;
}
}
function InnerLayoutRouter({ parallelRouterKey , url , childNodes , childProp , segmentPath , tree , // TODO-APP: implement `<Offscreen>` when available.
// isActive,
path , rootLayoutIncluded }) {
const context = (0, _react).useContext(_appRouterContext.GlobalLayoutRouterContext);
if (!context) {
throw new Error('invariant global layout router not mounted');
}
const { changeByServerResponse , tree: fullTree , focusAndScrollRef } = context;
// Read segment path from the parallel router cache node.
let childNode = childNodes.get(path);
// If childProp is available this means it's the Flight / SSR case.
if (childProp && // TODO-APP: verify if this can be null based on user code
childProp.current !== null) {
if (childNode && childNode.status === _appRouterContext.CacheStates.LAZY_INITIALIZED) {
// @ts-expect-error TODO-APP: handle changing of the type
childNode.status = _appRouterContext.CacheStates.READY;
// @ts-expect-error TODO-APP: handle changing of the type
childNode.subTreeData = childProp.current;
// Mutates the prop in order to clean up the memory associated with the subTreeData as it is now part of the cache.
childProp.current = null;
} else {
// Add the segment's subTreeData to the cache.
// This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.
childNodes.set(path, {
status: _appRouterContext.CacheStates.READY,
data: null,
subTreeData: childProp.current,
parallelRoutes: new Map()
});
// Mutates the prop in order to clean up the memory associated with the subTreeData as it is now part of the cache.
childProp.current = null;
// In the above case childNode was set on childNodes, so we have to get it from the cacheNodes again.
childNode = childNodes.get(path);
}
}
// When childNode is not available during rendering client-side we need to fetch it from the server.
if (!childNode || childNode.status === _appRouterContext.CacheStates.LAZY_INITIALIZED) {
/**
* Router state with refetch marker added
*/ // TODO-APP: remove ''
const refetchTree = walkAddRefetch([
'',
...segmentPath
], fullTree);
/**
* Flight data fetch kicked off during render and put into the cache.
*/ childNodes.set(path, {
status: _appRouterContext.CacheStates.DATA_FETCH,
data: (0, _appRouter).fetchServerResponse(new URL(url, location.origin), refetchTree),
subTreeData: null,
head: childNode && childNode.status === _appRouterContext.CacheStates.LAZY_INITIALIZED ? childNode.head : undefined,
parallelRoutes: childNode && childNode.status === _appRouterContext.CacheStates.LAZY_INITIALIZED ? childNode.parallelRoutes : new Map()
});
// In the above case childNode was set on childNodes, so we have to get it from the cacheNodes again.
childNode = childNodes.get(path);
}
// This case should never happen so it throws an error. It indicates there's a bug in the Next.js.
if (!childNode) {
throw new Error('Child node should always exist');
}
// This case should never happen so it throws an error. It indicates there's a bug in the Next.js.
if (childNode.subTreeData && childNode.data) {
throw new Error('Child node should not have both subTreeData and data');
}
// If cache node has a data request we have to unwrap response by `use` and update the cache.
if (childNode.data) {
/**
* Flight response data
*/ // When the data has not resolved yet `use` will suspend here.
const [flightData, overrideCanonicalUrl] = (0, _react).use(childNode.data);
// Handle case when navigating to page in `pages` from `app`
if (typeof flightData === 'string') {
window.location.href = url;
return null;
}
// segmentPath from the server does not match the layout's segmentPath
childNode.data = null;
// setTimeout is used to start a new transition during render, this is an intentional hack around React.
setTimeout(()=>{
// @ts-ignore startTransition exists
_react.default.startTransition(()=>{
changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);
});
});
// Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.
(0, _react).use((0, _infinitePromise).createInfinitePromise());
}
// If cache node has no subTreeData and no data request we have to infinitely suspend as the data will likely flow in from another place.
// TODO-APP: double check users can't return null in a component that will kick in here.
if (!childNode.subTreeData) {
(0, _react).use((0, _infinitePromise).createInfinitePromise());
}
const subtree = // The layout router context narrows down tree and childNodes at each level.
/*#__PURE__*/ _react.default.createElement(_appRouterContext.LayoutRouterContext.Provider, {
value: {
tree: tree[1][parallelRouterKey],
childNodes: childNode.parallelRoutes,
// TODO-APP: overriding of url for parallel routes
url: url
}
}, childNode.subTreeData);
// Ensure root layout is not wrapped in a div as the root layout renders `<html>`
return rootLayoutIncluded ? /*#__PURE__*/ _react.default.createElement(ScrollAndFocusHandler, {
focusAndScrollRef: focusAndScrollRef
}, subtree) : subtree;
}
/**
* Renders suspense boundary with the provided "loading" property as the fallback.
* If no loading property is provided it renders the children without a suspense boundary.
*/ function LoadingBoundary({ children , loading , loadingStyles , hasLoading }) {
if (hasLoading) {
return /*#__PURE__*/ _react.default.createElement(_react.default.Suspense, {
fallback: /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, loadingStyles, loading)
}, children);
}
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
}
function HandleRedirect({ redirect }) {
const router = (0, _navigation).useRouter();
(0, _react).useEffect(()=>{
router.replace(redirect, {});
}, [
redirect,
router
]);
return null;
}
class RedirectErrorBoundary extends _react.default.Component {
static getDerivedStateFromError(error) {
var ref;
if (error == null ? void 0 : (ref = error.digest) == null ? void 0 : ref.startsWith('NEXT_REDIRECT')) {
const url = error.digest.split(';')[1];
return {
redirect: url
};
}
// Re-throw if error is not for redirect
throw error;
}
render() {
const redirect = this.state.redirect;
if (redirect !== null) {
return /*#__PURE__*/ _react.default.createElement(HandleRedirect, {
redirect: redirect
});
}
return this.props.children;
}
constructor(props){
super(props);
this.state = {
redirect: null
};
}
}
function RedirectBoundary({ children }) {
const router = (0, _navigation).useRouter();
return /*#__PURE__*/ _react.default.createElement(RedirectErrorBoundary, {
router: router
}, children);
}
class NotFoundErrorBoundary extends _react.default.Component {
static getDerivedStateFromError(error) {
if ((error == null ? void 0 : error.digest) === 'NEXT_NOT_FOUND') {
return {
notFoundTriggered: true
};
}
// Re-throw if error is not for 404
throw error;
}
render() {
if (this.state.notFoundTriggered) {
return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement("meta", {
name: "robots",
content: "noindex"
}), this.props.notFoundStyles, this.props.notFound);
}
return this.props.children;
}
constructor(props){
super(props);
this.state = {
notFoundTriggered: false
};
}
}
function NotFoundBoundary({ notFound , notFoundStyles , children }) {
return notFound ? /*#__PURE__*/ _react.default.createElement(NotFoundErrorBoundary, {
notFound: notFound,
notFoundStyles: notFoundStyles
}, children) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=layout-router.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
import type { Segment } from '../../server/app-render';
export declare const matchSegment: (existingSegment: Segment, segment: Segment) => boolean;

View File

@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.matchSegment = void 0;
const matchSegment = (existingSegment, segment)=>{
// Common case: segment is just a string
if (typeof existingSegment === 'string' && typeof segment === 'string') {
return existingSegment === segment;
}
// Dynamic parameter case: segment is an array with param/value. Both param and value are compared.
if (Array.isArray(existingSegment) && Array.isArray(segment)) {
return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];
}
return false;
};
exports.matchSegment = matchSegment;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=match-segments.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/match-segments.ts"],"names":["matchSegment","existingSegment","segment","Array","isArray"],"mappings":"AAAA;;;;;AAEO,MAAMA,YAAY,GAAG,CAC1BC,eAAwB,EACxBC,OAAgB,GACJ;IACZ,wCAAwC;IACxC,IAAI,OAAOD,eAAe,KAAK,QAAQ,IAAI,OAAOC,OAAO,KAAK,QAAQ,EAAE;QACtE,OAAOD,eAAe,KAAKC,OAAO,CAAA;KACnC;IAED,mGAAmG;IACnG,IAAIC,KAAK,CAACC,OAAO,CAACH,eAAe,CAAC,IAAIE,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,EAAE;QAC5D,OACED,eAAe,CAAC,CAAC,CAAC,KAAKC,OAAO,CAAC,CAAC,CAAC,IAAID,eAAe,CAAC,CAAC,CAAC,KAAKC,OAAO,CAAC,CAAC,CAAC,CACvE;KACF;IAED,OAAO,KAAK,CAAA;CACb;QAjBYF,YAAY,GAAZA,YAAY"}

View File

@@ -0,0 +1,42 @@
declare const INTERNAL_URLSEARCHPARAMS_INSTANCE: unique symbol;
declare class ReadonlyURLSearchParams {
[INTERNAL_URLSEARCHPARAMS_INSTANCE]: URLSearchParams;
entries: URLSearchParams['entries'];
forEach: URLSearchParams['forEach'];
get: URLSearchParams['get'];
getAll: URLSearchParams['getAll'];
has: URLSearchParams['has'];
keys: URLSearchParams['keys'];
values: URLSearchParams['values'];
toString: URLSearchParams['toString'];
constructor(urlSearchParams: URLSearchParams);
[Symbol.iterator](): IterableIterator<[string, string]>;
append(): void;
delete(): void;
set(): void;
sort(): void;
}
/**
* Get a read-only URLSearchParams object. For example searchParams.get('foo') would return 'bar' when ?foo=bar
* Learn more about URLSearchParams here: https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
*/
export declare function useSearchParams(): ReadonlyURLSearchParams;
/**
* Get the current pathname. For example usePathname() on /dashboard?foo=bar would return "/dashboard"
*/
export declare function usePathname(): string | null;
export { ServerInsertedHTMLContext, useServerInsertedHTML, } from '../../shared/lib/server-inserted-html';
/**
* Get the router methods. For example router.push('/dashboard')
*/
export declare function useRouter(): import('../../shared/lib/app-router-context').AppRouterInstance;
/**
* Get the canonical segment path from the current level to the leaf node.
*/
export declare function useSelectedLayoutSegments(parallelRouteKey?: string): string[];
/**
* Get the segment below the current level
*/
export declare function useSelectedLayoutSegment(parallelRouteKey?: string): string | null;
export { redirect } from './redirect';
export { notFound } from './not-found';

View File

@@ -0,0 +1,137 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useSearchParams = useSearchParams;
exports.usePathname = usePathname;
Object.defineProperty(exports, "ServerInsertedHTMLContext", {
enumerable: true,
get: function() {
return _serverInsertedHtml.ServerInsertedHTMLContext;
}
});
Object.defineProperty(exports, "useServerInsertedHTML", {
enumerable: true,
get: function() {
return _serverInsertedHtml.useServerInsertedHTML;
}
});
exports.useRouter = useRouter;
exports.useSelectedLayoutSegments = useSelectedLayoutSegments;
exports.useSelectedLayoutSegment = useSelectedLayoutSegment;
Object.defineProperty(exports, "redirect", {
enumerable: true,
get: function() {
return _redirect.redirect;
}
});
Object.defineProperty(exports, "notFound", {
enumerable: true,
get: function() {
return _notFound.notFound;
}
});
var _react = require("react");
var _appRouterContext = require("../../shared/lib/app-router-context");
var _hooksClientContext = require("../../shared/lib/hooks-client-context");
var _bailoutToClientRendering = require("./bailout-to-client-rendering");
var _serverInsertedHtml = require("../../shared/lib/server-inserted-html");
var _redirect = require("./redirect");
var _notFound = require("./not-found");
const INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol('internal for urlsearchparams readonly');
function readonlyURLSearchParamsError() {
return new Error('ReadonlyURLSearchParams cannot be modified');
}
class ReadonlyURLSearchParams {
[Symbol.iterator]() {
return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator]();
}
append() {
throw readonlyURLSearchParamsError();
}
delete() {
throw readonlyURLSearchParamsError();
}
set() {
throw readonlyURLSearchParamsError();
}
sort() {
throw readonlyURLSearchParamsError();
}
constructor(urlSearchParams){
// Since `new Headers` uses `this.append()` to fill the headers object ReadonlyHeaders can't extend from Headers directly as it would throw.
this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;
this.entries = urlSearchParams.entries.bind(urlSearchParams);
this.forEach = urlSearchParams.forEach.bind(urlSearchParams);
this.get = urlSearchParams.get.bind(urlSearchParams);
this.getAll = urlSearchParams.getAll.bind(urlSearchParams);
this.has = urlSearchParams.has.bind(urlSearchParams);
this.keys = urlSearchParams.keys.bind(urlSearchParams);
this.values = urlSearchParams.values.bind(urlSearchParams);
this.toString = urlSearchParams.toString.bind(urlSearchParams);
}
}
function useSearchParams() {
const searchParams = (0, _react).useContext(_hooksClientContext.SearchParamsContext);
const readonlySearchParams = (0, _react).useMemo(()=>{
return new ReadonlyURLSearchParams(searchParams || new URLSearchParams());
}, [
searchParams
]);
if ((0, _bailoutToClientRendering).bailoutToClientRendering()) {
// TODO-APP: handle dynamic = 'force-static' here and on the client
return readonlySearchParams;
}
if (!searchParams) {
throw new Error('invariant expected search params to be mounted');
}
return readonlySearchParams;
}
function usePathname() {
return (0, _react).useContext(_hooksClientContext.PathnameContext);
}
function useRouter() {
const router = (0, _react).useContext(_appRouterContext.AppRouterContext);
if (router === null) {
throw new Error('invariant expected app router to be mounted');
}
return router;
}
// TODO-APP: handle parallel routes
function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first = true, segmentPath = []) {
let node;
if (first) {
// Use the provided parallel route key on the first parallel route
node = tree[1][parallelRouteKey];
} else {
// After first parallel route prefer children, if there's no children pick the first parallel route.
const parallelRoutes = tree[1];
var _children;
node = (_children = parallelRoutes.children) != null ? _children : Object.values(parallelRoutes)[0];
}
if (!node) return segmentPath;
const segment = node[0];
const segmentValue = Array.isArray(segment) ? segment[1] : segment;
if (!segmentValue) return segmentPath;
segmentPath.push(segmentValue);
return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);
}
function useSelectedLayoutSegments(parallelRouteKey = 'children') {
const { tree } = (0, _react).useContext(_appRouterContext.LayoutRouterContext);
return getSelectedLayoutSegmentPath(tree, parallelRouteKey);
}
function useSelectedLayoutSegment(parallelRouteKey = 'children') {
const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);
if (selectedLayoutSegments.length === 0) {
return null;
}
return selectedLayoutSegments[0];
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=navigation.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/navigation.ts"],"names":["useSearchParams","usePathname","ServerInsertedHTMLContext","useServerInsertedHTML","useRouter","useSelectedLayoutSegments","useSelectedLayoutSegment","redirect","notFound","INTERNAL_URLSEARCHPARAMS_INSTANCE","Symbol","readonlyURLSearchParamsError","Error","ReadonlyURLSearchParams","iterator","append","delete","set","sort","constructor","urlSearchParams","entries","bind","forEach","get","getAll","has","keys","values","toString","searchParams","useContext","SearchParamsContext","readonlySearchParams","useMemo","URLSearchParams","bailoutToClientRendering","PathnameContext","router","AppRouterContext","getSelectedLayoutSegmentPath","tree","parallelRouteKey","first","segmentPath","node","parallelRoutes","children","Object","segment","segmentValue","Array","isArray","push","LayoutRouterContext","selectedLayoutSegments","length"],"mappings":"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"}

View File

@@ -0,0 +1 @@
export default function NoopHead(): null;

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = NoopHead;
function NoopHead() {
return null;
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=noop-head.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/noop-head.tsx"],"names":["NoopHead"],"mappings":"AAAA;;;;kBAAwBA,QAAQ;AAAjB,SAASA,QAAQ,GAAG;IACjC,OAAO,IAAI,CAAA;CACZ"}

View File

@@ -0,0 +1,2 @@
export declare const NOT_FOUND_ERROR_CODE = "NEXT_NOT_FOUND";
export declare function notFound(): never;

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.notFound = notFound;
exports.NOT_FOUND_ERROR_CODE = void 0;
const NOT_FOUND_ERROR_CODE = 'NEXT_NOT_FOUND';
exports.NOT_FOUND_ERROR_CODE = NOT_FOUND_ERROR_CODE;
function notFound() {
// eslint-disable-next-line no-throw-literal
const error = new Error(NOT_FOUND_ERROR_CODE);
error.digest = NOT_FOUND_ERROR_CODE;
throw error;
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=not-found.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../client/components/not-found.ts"],"names":["notFound","NOT_FOUND_ERROR_CODE","error","Error","digest"],"mappings":"AAAA;;;;QAEgBA,QAAQ,GAARA,QAAQ;;AAFjB,MAAMC,oBAAoB,GAAG,gBAAgB;QAAvCA,oBAAoB,GAApBA,oBAAoB;AAE1B,SAASD,QAAQ,GAAU;IAChC,4CAA4C;IAC5C,MAAME,KAAK,GAAG,IAAIC,KAAK,CAACF,oBAAoB,CAAC,AAC5C;IAAA,AAACC,KAAK,CAASE,MAAM,GAAGH,oBAAoB;IAC7C,MAAMC,KAAK,CAAA;CACZ"}

View File

@@ -0,0 +1,5 @@
import type { ReactNode } from 'react';
export default function HotReload({ assetPrefix, children, }: {
assetPrefix: string;
children?: ReactNode;
}): JSX.Element;

View File

@@ -0,0 +1,372 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = HotReload;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var _react = _interop_require_wildcard(require("react"));
var _stripAnsi = _interop_require_default(require("next/dist/compiled/strip-ansi"));
var _formatWebpackMessages = _interop_require_default(require("../../dev/error-overlay/format-webpack-messages"));
var _navigation = require("../navigation");
var _errorOverlayReducer = require("./internal/error-overlay-reducer");
var _parseStack = require("./internal/helpers/parseStack");
var _reactDevOverlay = _interop_require_default(require("./internal/ReactDevOverlay"));
var _useErrorHandler = require("./internal/helpers/use-error-handler");
var _useWebsocket = require("./internal/helpers/use-websocket");
function HotReload({ assetPrefix , children }) {
const [state, dispatch] = (0, _react).useReducer(_errorOverlayReducer.errorOverlayReducer, {
nextId: 1,
buildError: null,
errors: [],
refreshState: {
type: 'idle'
}
});
const dispatcher = (0, _react).useMemo(()=>{
return {
onBuildOk () {
dispatch({
type: _errorOverlayReducer.ACTION_BUILD_OK
});
},
onBuildError (message) {
dispatch({
type: _errorOverlayReducer.ACTION_BUILD_ERROR,
message
});
},
onBeforeRefresh () {
dispatch({
type: _errorOverlayReducer.ACTION_BEFORE_REFRESH
});
},
onRefresh () {
dispatch({
type: _errorOverlayReducer.ACTION_REFRESH
});
}
};
}, [
dispatch
]);
const handleOnUnhandledError = (0, _react).useCallback((error)=>{
dispatch({
type: _errorOverlayReducer.ACTION_UNHANDLED_ERROR,
reason: error,
frames: (0, _parseStack).parseStack(error.stack)
});
}, []);
const handleOnUnhandledRejection = (0, _react).useCallback((reason)=>{
dispatch({
type: _errorOverlayReducer.ACTION_UNHANDLED_REJECTION,
reason: reason,
frames: (0, _parseStack).parseStack(reason.stack)
});
}, []);
const handleOnReactError = (0, _react).useCallback(()=>{
_useErrorHandler.RuntimeErrorHandler.hadRuntimeError = true;
}, []);
(0, _useErrorHandler).useErrorHandler(handleOnUnhandledError, handleOnUnhandledRejection);
const webSocketRef = (0, _useWebsocket).useWebsocket(assetPrefix);
(0, _useWebsocket).useWebsocketPing(webSocketRef);
const sendMessage = (0, _useWebsocket).useSendMessage(webSocketRef);
const router = (0, _navigation).useRouter();
(0, _react).useEffect(()=>{
const handler = (event)=>{
if (event.data.indexOf('action') === -1 && // TODO-APP: clean this up for consistency
event.data.indexOf('pong') === -1) {
return;
}
try {
processMessage(event, sendMessage, router, dispatcher);
} catch (ex) {
console.warn('Invalid HMR message: ' + event.data + '\n', ex);
}
};
const websocket = webSocketRef.current;
if (websocket) {
websocket.addEventListener('message', handler);
}
return ()=>websocket && websocket.removeEventListener('message', handler);
}, [
sendMessage,
router,
webSocketRef,
dispatcher
]);
return /*#__PURE__*/ _react.default.createElement(_reactDevOverlay.default, {
onReactError: handleOnReactError,
state: state
}, children);
}
let mostRecentCompilationHash = null;
let __nextDevClientId = Math.round(Math.random() * 100 + Date.now());
// let startLatency = undefined
function onBeforeFastRefresh(dispatcher, hasUpdates) {
if (hasUpdates) {
dispatcher.onBeforeRefresh();
}
}
function onFastRefresh(dispatcher, hasUpdates) {
dispatcher.onBuildOk();
if (hasUpdates) {
dispatcher.onRefresh();
}
}
// There is a newer version of the code available.
function handleAvailableHash(hash) {
// Update last known compilation hash.
mostRecentCompilationHash = hash;
}
// Is there a newer version of this code available?
function isUpdateAvailable() {
/* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.
// It's a global variable injected by Webpack.
// @ts-expect-error __webpack_hash__ exists
return mostRecentCompilationHash !== __webpack_hash__;
}
// Webpack disallows updates in other states.
function canApplyUpdates() {
// @ts-expect-error module.hot exists
return module.hot.status() === 'idle';
}
function afterApplyUpdates(fn) {
if (canApplyUpdates()) {
fn();
} else {
function handler(status) {
if (status === 'idle') {
// @ts-expect-error module.hot exists
module.hot.removeStatusHandler(handler);
fn();
}
}
// @ts-expect-error module.hot exists
module.hot.addStatusHandler(handler);
}
}
function performFullReload(err, sendMessage) {
const stackTrace = err && (err.stack && err.stack.split('\n').slice(0, 5).join('\n') || err.message || err + '');
sendMessage(JSON.stringify({
event: 'client-full-reload',
stackTrace,
hadRuntimeError: !!_useErrorHandler.RuntimeErrorHandler.hadRuntimeError
}));
window.location.reload();
}
// Attempt to update code on the fly, fall back to a hard reload.
function tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {
if (!isUpdateAvailable() || !canApplyUpdates()) {
dispatcher.onBuildOk();
return;
}
function handleApplyUpdates(err, updatedModules) {
if (err || _useErrorHandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {
if (err) {
console.warn('[Fast Refresh] performing full reload\n\n' + "Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\n" + 'You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\n' + 'Consider migrating the non-React component export to a separate file and importing it into both files.\n\n' + 'It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\n' + 'Fast Refresh requires at least one parent function component in your React tree.');
} else if (_useErrorHandler.RuntimeErrorHandler.hadRuntimeError) {
console.warn('[Fast Refresh] performing full reload because your application had an unrecoverable error');
}
performFullReload(err, sendMessage);
return;
}
const hasUpdates = Boolean(updatedModules.length);
if (typeof onHotUpdateSuccess === 'function') {
// Maybe we want to do something.
onHotUpdateSuccess(hasUpdates);
}
if (isUpdateAvailable()) {
// While we were updating, there was a new update! Do it again.
tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);
} else {
dispatcher.onBuildOk();
if (process.env.__NEXT_TEST_MODE) {
afterApplyUpdates(()=>{
if (self.__NEXT_HMR_CB) {
self.__NEXT_HMR_CB();
self.__NEXT_HMR_CB = null;
}
});
}
}
}
// https://webpack.js.org/api/hot-module-replacement/#check
// @ts-expect-error module.hot exists
module.hot.check(/* autoApply */ false).then((updatedModules)=>{
if (!updatedModules) {
return null;
}
if (typeof onBeforeUpdate === 'function') {
const hasUpdates = Boolean(updatedModules.length);
onBeforeUpdate(hasUpdates);
}
// https://webpack.js.org/api/hot-module-replacement/#apply
// @ts-expect-error module.hot exists
return module.hot.apply();
}).then((updatedModules)=>{
handleApplyUpdates(null, updatedModules);
}, (err)=>{
handleApplyUpdates(err, null);
});
}
function processMessage(e, sendMessage, router, dispatcher) {
const obj = JSON.parse(e.data);
switch(obj.action){
case 'building':
{
console.log('[Fast Refresh] rebuilding');
break;
}
case 'built':
case 'sync':
{
if (obj.hash) {
handleAvailableHash(obj.hash);
}
const { errors , warnings } = obj;
const hasErrors = Boolean(errors && errors.length);
// Compilation with errors (e.g. syntax error or missing modules).
if (hasErrors) {
sendMessage(JSON.stringify({
event: 'client-error',
errorCount: errors.length,
clientId: __nextDevClientId
}));
// "Massage" webpack messages.
var formatted = (0, _formatWebpackMessages).default({
errors: errors,
warnings: []
});
// Only show the first error.
dispatcher.onBuildError(formatted.errors[0]);
// Also log them to the console.
for(let i = 0; i < formatted.errors.length; i++){
console.error((0, _stripAnsi).default(formatted.errors[i]));
}
// Do not attempt to reload now.
// We will reload on next success instead.
if (process.env.__NEXT_TEST_MODE) {
if (self.__NEXT_HMR_CB) {
self.__NEXT_HMR_CB(formatted.errors[0]);
self.__NEXT_HMR_CB = null;
}
}
return;
}
const hasWarnings = Boolean(warnings && warnings.length);
if (hasWarnings) {
sendMessage(JSON.stringify({
event: 'client-warning',
warningCount: warnings.length,
clientId: __nextDevClientId
}));
// Compilation with warnings (e.g. ESLint).
const isHotUpdate = obj.action !== 'sync';
// Print warnings to the console.
const formattedMessages = (0, _formatWebpackMessages).default({
warnings: warnings,
errors: []
});
for(let i = 0; i < formattedMessages.warnings.length; i++){
if (i === 5) {
console.warn('There were more warnings in other files.\n' + 'You can find a complete log in the terminal.');
break;
}
console.warn((0, _stripAnsi).default(formattedMessages.warnings[i]));
}
// Attempt to apply hot updates or reload.
if (isHotUpdate) {
tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {
onBeforeFastRefresh(dispatcher, hasUpdates);
}, function onSuccessfulHotUpdate(hasUpdates) {
// Only dismiss it when we're sure it's a hot update.
// Otherwise it would flicker right before the reload.
onFastRefresh(dispatcher, hasUpdates);
}, sendMessage, dispatcher);
}
return;
}
sendMessage(JSON.stringify({
event: 'client-success',
clientId: __nextDevClientId
}));
const isHotUpdate = obj.action !== 'sync' || (!window.__NEXT_DATA__ || window.__NEXT_DATA__.page !== '/_error') && isUpdateAvailable();
// Attempt to apply hot updates or reload.
if (isHotUpdate) {
tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {
onBeforeFastRefresh(dispatcher, hasUpdates);
}, function onSuccessfulHotUpdate(hasUpdates) {
// Only dismiss it when we're sure it's a hot update.
// Otherwise it would flicker right before the reload.
onFastRefresh(dispatcher, hasUpdates);
}, sendMessage, dispatcher);
}
return;
}
// TODO-APP: make server component change more granular
case 'serverComponentChanges':
{
sendMessage(JSON.stringify({
event: 'server-component-reload-page',
clientId: __nextDevClientId
}));
if (_useErrorHandler.RuntimeErrorHandler.hadRuntimeError) {
return window.location.reload();
}
(0, _react).startTransition(()=>{
router.refresh();
dispatcher.onRefresh();
});
if (process.env.__NEXT_TEST_MODE) {
if (self.__NEXT_HMR_CB) {
self.__NEXT_HMR_CB();
self.__NEXT_HMR_CB = null;
}
}
return;
}
case 'reloadPage':
{
sendMessage(JSON.stringify({
event: 'client-reload-page',
clientId: __nextDevClientId
}));
return window.location.reload();
}
case 'removedPage':
{
// TODO-APP: potentially only refresh if the currently viewed page was removed.
router.refresh();
return;
}
case 'addedPage':
{
// TODO-APP: potentially only refresh if the currently viewed page was added.
router.refresh();
return;
}
case 'pong':
{
const { invalid } = obj;
if (invalid) {
// Payload can be invalid even if the page does exist.
// So, we check if it can be created.
router.refresh();
}
return;
}
default:
{
throw new Error('Unexpected action ' + obj.action);
}
}
}
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=hot-reloader-client.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,19 @@
import * as React from 'react';
import { OverlayState } from './error-overlay-reducer';
import { SupportedErrorEvent } from './container/Errors';
interface ReactDevOverlayState {
reactError: SupportedErrorEvent | null;
}
declare class ReactDevOverlay extends React.PureComponent<{
state: OverlayState;
children: React.ReactNode;
onReactError: (error: Error) => void;
}, ReactDevOverlayState> {
state: {
reactError: null;
};
static getDerivedStateFromError(error: Error): ReactDevOverlayState;
componentDidCatch(componentErr: Error): void;
render(): JSX.Element;
}
export default ReactDevOverlay;

View File

@@ -0,0 +1,73 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var React = _interop_require_wildcard(require("react"));
var _errorOverlayReducer = require("./error-overlay-reducer");
var _shadowPortal = require("./components/ShadowPortal");
var _buildError = require("./container/BuildError");
var _errors = require("./container/Errors");
var _base = require("./styles/Base");
var _componentStyles = require("./styles/ComponentStyles");
var _cssReset = require("./styles/CssReset");
var _parseStack = require("./helpers/parseStack");
var _rootLayoutError = require("./container/RootLayoutError");
class ReactDevOverlay extends React.PureComponent {
static getDerivedStateFromError(error) {
const e = error;
const event = {
type: _errorOverlayReducer.ACTION_UNHANDLED_ERROR,
reason: error,
frames: (0, _parseStack).parseStack(e.stack)
};
const errorEvent = {
id: 0,
event
};
return {
reactError: errorEvent
};
}
componentDidCatch(componentErr) {
this.props.onReactError(componentErr);
}
render() {
const { state , children } = this.props;
const { reactError } = this.state;
const hasBuildError = state.buildError != null;
const hasRuntimeErrors = Boolean(state.errors.length);
const rootLayoutMissingTagsError = state.rootLayoutMissingTagsError;
const isMounted = hasBuildError || hasRuntimeErrors || reactError || rootLayoutMissingTagsError;
return /*#__PURE__*/ React.createElement(React.Fragment, null, reactError ? /*#__PURE__*/ React.createElement("html", null, /*#__PURE__*/ React.createElement("head", null), /*#__PURE__*/ React.createElement("body", null)) : children, isMounted ? /*#__PURE__*/ React.createElement(_shadowPortal.ShadowPortal, null, /*#__PURE__*/ React.createElement(_cssReset.CssReset, null), /*#__PURE__*/ React.createElement(_base.Base, null), /*#__PURE__*/ React.createElement(_componentStyles.ComponentStyles, null), rootLayoutMissingTagsError ? /*#__PURE__*/ React.createElement(_rootLayoutError.RootLayoutError, {
missingTags: rootLayoutMissingTagsError.missingTags
}) : hasBuildError ? /*#__PURE__*/ React.createElement(_buildError.BuildError, {
message: state.buildError
}) : reactError ? /*#__PURE__*/ React.createElement(_errors.Errors, {
initialDisplayState: "fullscreen",
errors: [
reactError
]
}) : hasRuntimeErrors ? /*#__PURE__*/ React.createElement(_errors.Errors, {
initialDisplayState: "minimized",
errors: state.errors
}) : undefined) : undefined);
}
constructor(...args){
super(...args);
this.state = {
reactError: null
};
}
}
var _default = ReactDevOverlay;
exports.default = _default;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=ReactDevOverlay.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../client/components/react-dev-overlay/internal/ReactDevOverlay.tsx"],"names":["React","ReactDevOverlay","PureComponent","getDerivedStateFromError","error","e","event","type","ACTION_UNHANDLED_ERROR","reason","frames","parseStack","stack","errorEvent","id","reactError","componentDidCatch","componentErr","props","onReactError","render","state","children","hasBuildError","buildError","hasRuntimeErrors","Boolean","errors","length","rootLayoutMissingTagsError","isMounted","html","head","body","ShadowPortal","CssReset","Base","ComponentStyles","RootLayoutError","missingTags","BuildError","message","Errors","initialDisplayState","undefined"],"mappings":"AAAA;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AAKV,IAAA,oBAAyB,WAAzB,yBAAyB,CAAA;AAEH,IAAA,aAA2B,WAA3B,2BAA2B,CAAA;AAC7B,IAAA,WAAwB,WAAxB,wBAAwB,CAAA;AACP,IAAA,OAAoB,WAApB,oBAAoB,CAAA;AAC3C,IAAA,KAAe,WAAf,eAAe,CAAA;AACJ,IAAA,gBAA0B,WAA1B,0BAA0B,CAAA;AACjC,IAAA,SAAmB,WAAnB,mBAAmB,CAAA;AACjB,IAAA,WAAsB,WAAtB,sBAAsB,CAAA;AACjB,IAAA,gBAA6B,WAA7B,6BAA6B,CAAA;AAK7D,MAAMC,eAAe,SAASD,KAAK,CAACE,aAAa;IAU/C,OAAOC,wBAAwB,CAACC,KAAY,EAAwB;QAClE,MAAMC,CAAC,GAAGD,KAAK;QACf,MAAME,KAAK,GAAyB;YAClCC,IAAI,EAAEC,oBAAsB,uBAAA;YAC5BC,MAAM,EAAEL,KAAK;YACbM,MAAM,EAAEC,CAAAA,GAAAA,WAAU,AAAU,CAAA,WAAV,CAACN,CAAC,CAACO,KAAK,CAAE;SAC7B;QACD,MAAMC,UAAU,GAAwB;YACtCC,EAAE,EAAE,CAAC;YACLR,KAAK;SACN;QACD,OAAO;YAAES,UAAU,EAAEF,UAAU;SAAE,CAAA;KAClC;IAEDG,iBAAiB,CAACC,YAAmB,EAAE;QACrC,IAAI,CAACC,KAAK,CAACC,YAAY,CAACF,YAAY,CAAC;KACtC;IAEDG,MAAM,GAAG;QACP,MAAM,EAAEC,KAAK,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAG,IAAI,CAACJ,KAAK;QACtC,MAAM,EAAEH,UAAU,CAAA,EAAE,GAAG,IAAI,CAACM,KAAK;QAEjC,MAAME,aAAa,GAAGF,KAAK,CAACG,UAAU,IAAI,IAAI;QAC9C,MAAMC,gBAAgB,GAAGC,OAAO,CAACL,KAAK,CAACM,MAAM,CAACC,MAAM,CAAC;QACrD,MAAMC,0BAA0B,GAAGR,KAAK,CAACQ,0BAA0B;QACnE,MAAMC,SAAS,GACbP,aAAa,IACbE,gBAAgB,IAChBV,UAAU,IACVc,0BAA0B;QAE5B,qBACE,0CACGd,UAAU,iBACT,oBAACgB,MAAI,sBACH,oBAACC,MAAI,OAAQ,gBACb,oBAACC,MAAI,OAAQ,CACR,GAEPX,QAAQ,AACT,EACAQ,SAAS,iBACR,oBAACI,aAAY,aAAA,sBACX,oBAACC,SAAQ,SAAA,OAAG,gBACZ,oBAACC,KAAI,KAAA,OAAG,gBACR,oBAACC,gBAAe,gBAAA,OAAG,EAElBR,0BAA0B,iBACzB,oBAACS,gBAAe,gBAAA;YACdC,WAAW,EAAEV,0BAA0B,CAACU,WAAW;UACnD,GACAhB,aAAa,iBACf,oBAACiB,WAAU,WAAA;YAACC,OAAO,EAAEpB,KAAK,CAACG,UAAU;UAAK,GACxCT,UAAU,iBACZ,oBAAC2B,OAAM,OAAA;YAACC,mBAAmB,EAAC,YAAY;YAAChB,MAAM,EAAE;gBAACZ,UAAU;aAAC;UAAI,GAC/DU,gBAAgB,iBAClB,oBAACiB,OAAM,OAAA;YAACC,mBAAmB,EAAC,WAAW;YAAChB,MAAM,EAAEN,KAAK,CAACM,MAAM;UAAI,GAC9DiB,SAAS,CACA,GACbA,SAAS,CACZ,CACJ;KACF;;;QAhEDvB,KAAAA,KAAK,GAAG;YAAEN,UAAU,EAAE,IAAI;SAAE,CAAA;;CAiE7B;eAEcd,eAAe"}

View File

@@ -0,0 +1,7 @@
import * as React from 'react';
import { StackFrame } from 'next/dist/compiled/stacktrace-parser';
export declare type CodeFrameProps = {
stackFrame: StackFrame;
codeFrame: string;
};
export declare const CodeFrame: React.FC<CodeFrameProps>;

View File

@@ -0,0 +1,91 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CodeFrame = void 0;
var _extends = require("@swc/helpers/lib/_extends.js").default;
var _interop_require_default = require("@swc/helpers/lib/_interop_require_default.js").default;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var _anser = _interop_require_default(require("next/dist/compiled/anser"));
var React = _interop_require_wildcard(require("react"));
var _stripAnsi = _interop_require_default(require("next/dist/compiled/strip-ansi"));
var _stackFrame = require("../../helpers/stack-frame");
const CodeFrame = function CodeFrame({ stackFrame , codeFrame , }) {
// Strip leading spaces out of the code frame:
const formattedFrame = React.useMemo(()=>{
const lines = codeFrame.split(/\r?\n/g);
const prefixLength = lines.map((line)=>/^>? +\d+ +\| [ ]+/.exec((0, _stripAnsi).default(line)) === null ? null : /^>? +\d+ +\| ( *)/.exec((0, _stripAnsi).default(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);
if (prefixLength > 1) {
const p = ' '.repeat(prefixLength);
return lines.map((line, a)=>~(a = line.indexOf('|')) ? line.substring(0, a) + line.substring(a).replace(p, '') : line).join('\n');
}
return lines.join('\n');
}, [
codeFrame
]);
const decoded = React.useMemo(()=>{
return _anser.default.ansiToJson(formattedFrame, {
json: true,
use_classes: true,
remove_empty: true
});
}, [
formattedFrame
]);
const open = React.useCallback(()=>{
const params = new URLSearchParams();
for(const key in stackFrame){
var _key;
params.append(key, ((_key = stackFrame[key]) != null ? _key : '').toString());
}
self.fetch(`${process.env.__NEXT_ROUTER_BASEPATH || ''}/__nextjs_launch-editor?${params.toString()}`).then(()=>{}, ()=>{
console.error('There was an issue opening this code in your editor.');
});
}, [
stackFrame
]);
// TODO: make the caret absolute
return /*#__PURE__*/ React.createElement("div", {
"data-nextjs-codeframe": true
}, /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("p", {
role: "link",
onClick: open,
tabIndex: 1,
title: "Click to open in your editor"
}, /*#__PURE__*/ React.createElement("span", null, (0, _stackFrame).getFrameSource(stackFrame), " @ ", stackFrame.methodName), /*#__PURE__*/ React.createElement("svg", {
xmlns: "http://www.w3.org/2000/svg",
viewBox: "0 0 24 24",
fill: "none",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}, /*#__PURE__*/ React.createElement("path", {
d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
}), /*#__PURE__*/ React.createElement("polyline", {
points: "15 3 21 3 21 9"
}), /*#__PURE__*/ React.createElement("line", {
x1: "10",
y1: "14",
x2: "21",
y2: "3"
})))), /*#__PURE__*/ React.createElement("pre", null, decoded.map((entry, index)=>/*#__PURE__*/ React.createElement("span", {
key: `frame-${index}`,
style: _extends({
color: entry.fg ? `var(--color-${entry.fg})` : undefined
}, entry.decoration === 'bold' ? {
fontWeight: 800
} : entry.decoration === 'italic' ? {
fontStyle: 'italic'
} : undefined)
}, entry.content))));
};
exports.CodeFrame = CodeFrame;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=CodeFrame.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.tsx"],"names":["React","CodeFrame","stackFrame","codeFrame","formattedFrame","useMemo","lines","split","prefixLength","map","line","exec","stripAnsi","filter","Boolean","v","pop","reduce","c","n","isNaN","length","Math","min","NaN","p","repeat","a","indexOf","substring","replace","join","decoded","Anser","ansiToJson","json","use_classes","remove_empty","open","useCallback","params","URLSearchParams","key","append","toString","self","fetch","process","env","__NEXT_ROUTER_BASEPATH","then","console","error","div","data-nextjs-codeframe","role","onClick","tabIndex","title","span","getFrameSource","methodName","svg","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","polyline","points","x1","y1","x2","y2","pre","entry","index","style","color","fg","undefined","decoration","fontWeight","fontStyle","content"],"mappings":"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"}

View File

@@ -0,0 +1 @@
export { CodeFrame } from './CodeFrame';

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "CodeFrame", {
enumerable: true,
get: function() {
return _codeFrame.CodeFrame;
}
});
var _codeFrame = require("./CodeFrame");
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/CodeFrame/index.tsx"],"names":["CodeFrame"],"mappings":"AAAA;;;;+BAASA,WAAS;;;0BAATA,SAAS;;;yBAAQ,aAAa"}

View File

@@ -0,0 +1,2 @@
declare const styles: string;
export { styles };

View File

@@ -0,0 +1,63 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.styles = void 0;
var _noopTemplate = require("../../helpers/noop-template");
const styles = _noopTemplate.noop`
[data-nextjs-codeframe] {
overflow: auto;
border-radius: var(--size-gap-half);
background-color: var(--color-ansi-bg);
color: var(--color-ansi-fg);
}
[data-nextjs-codeframe]::selection,
[data-nextjs-codeframe] *::selection {
background-color: var(--color-ansi-selection);
}
[data-nextjs-codeframe] * {
color: inherit;
background-color: transparent;
font-family: var(--font-stack-monospace);
}
[data-nextjs-codeframe] > * {
margin: 0;
padding: calc(var(--size-gap) + var(--size-gap-half))
calc(var(--size-gap-double) + var(--size-gap-half));
}
[data-nextjs-codeframe] > div {
display: inline-block;
width: auto;
min-width: 100%;
border-bottom: 1px solid var(--color-ansi-bright-black);
}
[data-nextjs-codeframe] > div > p {
display: flex;
align-items: center;
justify-content: space-between;
cursor: pointer;
margin: 0;
}
[data-nextjs-codeframe] > div > p:hover {
text-decoration: underline dotted;
}
[data-nextjs-codeframe] div > p > svg {
width: auto;
height: 1em;
margin-left: 8px;
}
[data-nextjs-codeframe] div > pre {
overflow: hidden;
display: inline-block;
}
`;
exports.styles = styles;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=styles.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/CodeFrame/styles.tsx"],"names":["styles","css"],"mappings":"AAAA;;;;;AAA4B,IAAA,aAA6B,WAA7B,6BAA6B,CAAA;AAEzD,MAAMA,MAAM,GAAGC,aAAG,KAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CnB,CAAC;QAEQD,MAAM,GAANA,MAAM"}

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
export declare type DialogProps = {
type: 'error' | 'warning';
'aria-labelledby': string;
'aria-describedby': string;
onClose?: (e: MouseEvent | TouchEvent) => void;
};
declare const Dialog: React.FC<DialogProps>;
export { Dialog };

View File

@@ -0,0 +1,67 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Dialog = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var _object_without_properties_loose = require("@swc/helpers/lib/_object_without_properties_loose.js").default;
var React = _interop_require_wildcard(require("react"));
var _useOnClickOutside = require("../../hooks/use-on-click-outside");
const Dialog = function Dialog(_param) {
var { children , type , onClose } = _param, props = _object_without_properties_loose(_param, [
"children",
"type",
"onClose"
]);
const [dialog, setDialog] = React.useState(null);
const onDialog = React.useCallback((node)=>{
setDialog(node);
}, []);
(0, _useOnClickOutside).useOnClickOutside(dialog, onClose);
// Make HTMLElements with `role=link` accessible to be triggered by the
// keyboard, i.e. [Enter].
React.useEffect(()=>{
if (dialog == null) {
return;
}
const root = dialog.getRootNode();
// Always true, but we do this for TypeScript:
if (!(root instanceof ShadowRoot)) {
return;
}
const shadowRoot = root;
function handler(e) {
const el = shadowRoot.activeElement;
if (e.key === 'Enter' && el instanceof HTMLElement && el.getAttribute('role') === 'link') {
e.preventDefault();
e.stopPropagation();
el.click();
}
}
shadowRoot.addEventListener('keydown', handler);
return ()=>shadowRoot.removeEventListener('keydown', handler);
}, [
dialog
]);
return /*#__PURE__*/ React.createElement("div", {
ref: onDialog,
"data-nextjs-dialog": true,
tabIndex: -1,
role: "dialog",
"aria-labelledby": props['aria-labelledby'],
"aria-describedby": props['aria-describedby'],
"aria-modal": "true"
}, /*#__PURE__*/ React.createElement("div", {
"data-nextjs-dialog-banner": true,
className: `banner-${type}`
}), children);
};
exports.Dialog = Dialog;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=Dialog.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/Dialog.tsx"],"names":["React","Dialog","children","type","onClose","props","dialog","setDialog","useState","onDialog","useCallback","node","useOnClickOutside","useEffect","root","getRootNode","ShadowRoot","shadowRoot","handler","e","el","activeElement","key","HTMLElement","getAttribute","preventDefault","stopPropagation","click","addEventListener","removeEventListener","div","ref","data-nextjs-dialog","tabIndex","role","aria-labelledby","aria-describedby","aria-modal","data-nextjs-dialog-banner","className"],"mappings":"AAAA;;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AACiB,IAAA,kBAAkC,WAAlC,kCAAkC,CAAA;AASpE,MAAMC,MAAM,GAA0B,SAASA,MAAM,CAAC,MAKrD,EAAE;QALmD,EACpDC,QAAQ,CAAA,EACRC,IAAI,CAAA,EACJC,OAAO,CAAA,EAER,GALqD,MAKrD,EADIC,KAAK,oCAJ4C,MAKrD;QAJCH,UAAQ;QACRC,MAAI;QACJC,SAAO;;IAGP,MAAM,CAACE,MAAM,EAAEC,SAAS,CAAC,GAAGP,KAAK,CAACQ,QAAQ,CAAwB,IAAI,CAAC;IACvE,MAAMC,QAAQ,GAAGT,KAAK,CAACU,WAAW,CAAC,CAACC,IAAI,GAAK;QAC3CJ,SAAS,CAACI,IAAI,CAAC;KAChB,EAAE,EAAE,CAAC;IACNC,CAAAA,GAAAA,kBAAiB,AAAiB,CAAA,kBAAjB,CAACN,MAAM,EAAEF,OAAO,CAAC;IAElC,uEAAuE;IACvE,0BAA0B;IAC1BJ,KAAK,CAACa,SAAS,CAAC,IAAM;QACpB,IAAIP,MAAM,IAAI,IAAI,EAAE;YAClB,OAAM;SACP;QAED,MAAMQ,IAAI,GAAGR,MAAM,CAACS,WAAW,EAAE;QACjC,8CAA8C;QAC9C,IAAI,CAAC,CAACD,IAAI,YAAYE,UAAU,CAAC,EAAE;YACjC,OAAM;SACP;QACD,MAAMC,UAAU,GAAGH,IAAI;QACvB,SAASI,OAAO,CAACC,CAAgB,EAAE;YACjC,MAAMC,EAAE,GAAGH,UAAU,CAACI,aAAa;YACnC,IACEF,CAAC,CAACG,GAAG,KAAK,OAAO,IACjBF,EAAE,YAAYG,WAAW,IACzBH,EAAE,CAACI,YAAY,CAAC,MAAM,CAAC,KAAK,MAAM,EAClC;gBACAL,CAAC,CAACM,cAAc,EAAE;gBAClBN,CAAC,CAACO,eAAe,EAAE;gBAEnBN,EAAE,CAACO,KAAK,EAAE;aACX;SACF;QAEDV,UAAU,CAACW,gBAAgB,CAAC,SAAS,EAAEV,OAAO,CAAkB;QAChE,OAAO,IACLD,UAAU,CAACY,mBAAmB,CAAC,SAAS,EAAEX,OAAO,CAAkB,CAAA;KACtE,EAAE;QAACZ,MAAM;KAAC,CAAC;IAEZ,qBACE,oBAACwB,KAAG;QACFC,GAAG,EAAEtB,QAAQ;QACbuB,oBAAkB,EAAlBA,IAAkB;QAClBC,QAAQ,EAAE,CAAC,CAAC;QACZC,IAAI,EAAC,QAAQ;QACbC,iBAAe,EAAE9B,KAAK,CAAC,iBAAiB,CAAC;QACzC+B,kBAAgB,EAAE/B,KAAK,CAAC,kBAAkB,CAAC;QAC3CgC,YAAU,EAAC,MAAM;qBAEjB,oBAACP,KAAG;QAACQ,2BAAyB,EAAzBA,IAAyB;QAACC,SAAS,EAAE,CAAC,OAAO,EAAEpC,IAAI,CAAC,CAAC;MAAI,EAC7DD,QAAQ,CACL,CACP;CACF;QAEQD,MAAM,GAANA,MAAM"}

View File

@@ -0,0 +1,6 @@
import * as React from 'react';
export declare type DialogBodyProps = {
className?: string;
};
declare const DialogBody: React.FC<DialogBodyProps>;
export { DialogBody };

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DialogBody = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var React = _interop_require_wildcard(require("react"));
const DialogBody = function DialogBody({ children , className , }) {
return /*#__PURE__*/ React.createElement("div", {
"data-nextjs-dialog-body": true,
className: className
}, children);
};
exports.DialogBody = DialogBody;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=DialogBody.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/DialogBody.tsx"],"names":["React","DialogBody","children","className","div","data-nextjs-dialog-body"],"mappings":"AAAA;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AAMjB,MAAMC,UAAU,GAA8B,SAASA,UAAU,CAAC,EAChEC,QAAQ,CAAA,EACRC,SAAS,CAAA,IACV,EAAE;IACD,qBACE,oBAACC,KAAG;QAACC,yBAAuB,EAAvBA,IAAuB;QAACF,SAAS,EAAEA,SAAS;OAC9CD,QAAQ,CACL,CACP;CACF;QAEQD,UAAU,GAAVA,UAAU"}

View File

@@ -0,0 +1,6 @@
import * as React from 'react';
export declare type DialogContentProps = {
className?: string;
};
declare const DialogContent: React.FC<DialogContentProps>;
export { DialogContent };

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DialogContent = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var React = _interop_require_wildcard(require("react"));
const DialogContent = function DialogContent({ children , className , }) {
return /*#__PURE__*/ React.createElement("div", {
"data-nextjs-dialog-content": true,
className: className
}, children);
};
exports.DialogContent = DialogContent;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=DialogContent.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/DialogContent.tsx"],"names":["React","DialogContent","children","className","div","data-nextjs-dialog-content"],"mappings":"AAAA;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AAMjB,MAAMC,aAAa,GAAiC,SAASA,aAAa,CAAC,EACzEC,QAAQ,CAAA,EACRC,SAAS,CAAA,IACV,EAAE;IACD,qBACE,oBAACC,KAAG;QAACC,4BAA0B,EAA1BA,IAA0B;QAACF,SAAS,EAAEA,SAAS;OACjDD,QAAQ,CACL,CACP;CACF;QAEQD,aAAa,GAAbA,aAAa"}

View File

@@ -0,0 +1,6 @@
import * as React from 'react';
export declare type DialogHeaderProps = {
className?: string;
};
declare const DialogHeader: React.FC<DialogHeaderProps>;
export { DialogHeader };

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DialogHeader = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var React = _interop_require_wildcard(require("react"));
const DialogHeader = function DialogHeader({ children , className , }) {
return /*#__PURE__*/ React.createElement("div", {
"data-nextjs-dialog-header": true,
className: className
}, children);
};
exports.DialogHeader = DialogHeader;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=DialogHeader.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.tsx"],"names":["React","DialogHeader","children","className","div","data-nextjs-dialog-header"],"mappings":"AAAA;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AAMjB,MAAMC,YAAY,GAAgC,SAASA,YAAY,CAAC,EACtEC,QAAQ,CAAA,EACRC,SAAS,CAAA,IACV,EAAE;IACD,qBACE,oBAACC,KAAG;QAACC,2BAAyB,EAAzBA,IAAyB;QAACF,SAAS,EAAEA,SAAS;OAChDD,QAAQ,CACL,CACP;CACF;QAEQD,YAAY,GAAZA,YAAY"}

View File

@@ -0,0 +1,5 @@
export { Dialog } from './Dialog';
export { DialogBody } from './DialogBody';
export { DialogContent } from './DialogContent';
export { DialogHeader } from './DialogHeader';
export { styles } from './styles';

View File

@@ -0,0 +1,47 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Dialog", {
enumerable: true,
get: function() {
return _dialog.Dialog;
}
});
Object.defineProperty(exports, "DialogBody", {
enumerable: true,
get: function() {
return _dialogBody.DialogBody;
}
});
Object.defineProperty(exports, "DialogContent", {
enumerable: true,
get: function() {
return _dialogContent.DialogContent;
}
});
Object.defineProperty(exports, "DialogHeader", {
enumerable: true,
get: function() {
return _dialogHeader.DialogHeader;
}
});
Object.defineProperty(exports, "styles", {
enumerable: true,
get: function() {
return _styles.styles;
}
});
var _dialog = require("./Dialog");
var _dialogBody = require("./DialogBody");
var _dialogContent = require("./DialogContent");
var _dialogHeader = require("./DialogHeader");
var _styles = require("./styles");
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/index.ts"],"names":["Dialog","DialogBody","DialogContent","DialogHeader","styles"],"mappings":"AAAA;;;;+BAASA,QAAM;;;uBAANA,MAAM;;;+BACNC,YAAU;;;2BAAVA,UAAU;;;+BACVC,eAAa;;;8BAAbA,aAAa;;;+BACbC,cAAY;;;6BAAZA,YAAY;;;+BACZC,QAAM;;;uBAANA,MAAM;;;sBAJQ,UAAU;0BACN,cAAc;6BACX,iBAAiB;4BAClB,gBAAgB;sBACtB,UAAU"}

View File

@@ -0,0 +1,2 @@
declare const styles: string;
export { styles };

View File

@@ -0,0 +1,102 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.styles = void 0;
var _noopTemplate = require("../../helpers/noop-template");
const styles = _noopTemplate.noop`
[data-nextjs-dialog] {
display: flex;
flex-direction: column;
width: 100%;
margin-right: auto;
margin-left: auto;
outline: none;
background: white;
border-radius: var(--size-gap);
box-shadow: 0 var(--size-gap-half) var(--size-gap-double)
rgba(0, 0, 0, 0.25);
max-height: calc(100% - 56px);
overflow-y: hidden;
}
@media (max-height: 812px) {
[data-nextjs-dialog-overlay] {
max-height: calc(100% - 15px);
}
}
@media (min-width: 576px) {
[data-nextjs-dialog] {
max-width: 540px;
box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);
}
}
@media (min-width: 768px) {
[data-nextjs-dialog] {
max-width: 720px;
}
}
@media (min-width: 992px) {
[data-nextjs-dialog] {
max-width: 960px;
}
}
[data-nextjs-dialog-banner] {
position: relative;
}
[data-nextjs-dialog-banner].banner-warning {
border-color: var(--color-ansi-yellow);
}
[data-nextjs-dialog-banner].banner-error {
border-color: var(--color-ansi-red);
}
[data-nextjs-dialog-banner]::after {
z-index: 2;
content: '';
position: absolute;
top: 0;
right: 0;
width: 100%;
/* banner width: */
border-top-width: var(--size-gap-half);
border-bottom-width: 0;
border-top-style: solid;
border-bottom-style: solid;
border-top-color: inherit;
border-bottom-color: transparent;
}
[data-nextjs-dialog-content] {
overflow-y: auto;
border: none;
margin: 0;
/* calc(padding + banner width offset) */
padding: calc(var(--size-gap-double) + var(--size-gap-half))
var(--size-gap-double);
height: 100%;
display: flex;
flex-direction: column;
}
[data-nextjs-dialog-content] > [data-nextjs-dialog-header] {
flex-shrink: 0;
margin-bottom: var(--size-gap-double);
}
[data-nextjs-dialog-content] > [data-nextjs-dialog-body] {
position: relative;
flex: 1 1 auto;
}
`;
exports.styles = styles;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=styles.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/Dialog/styles.ts"],"names":["styles","css"],"mappings":"AAAA;;;;;AAA4B,IAAA,aAA6B,WAA7B,6BAA6B,CAAA;AAEzD,MAAMA,MAAM,GAAGC,aAAG,KAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFnB,CAAC;QAEQD,MAAM,GAANA,MAAM"}

View File

@@ -0,0 +1,9 @@
import * as React from 'react';
export declare type LeftRightDialogHeaderProps = {
className?: string;
previous: (() => void) | null;
next: (() => void) | null;
close?: () => void;
};
declare const LeftRightDialogHeader: React.FC<LeftRightDialogHeaderProps>;
export { LeftRightDialogHeader };

View File

@@ -0,0 +1,146 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LeftRightDialogHeader = void 0;
var _interop_require_wildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
var React = _interop_require_wildcard(require("react"));
var _closeIcon = require("../../icons/CloseIcon");
const LeftRightDialogHeader = function LeftRightDialogHeader({ children , className , previous , next , close , }) {
const buttonLeft = React.useRef(null);
const buttonRight = React.useRef(null);
const buttonClose = React.useRef(null);
const [nav, setNav] = React.useState(null);
const onNav = React.useCallback((el)=>{
setNav(el);
}, []);
React.useEffect(()=>{
if (nav == null) {
return;
}
const root = nav.getRootNode();
const d = self.document;
function handler(e) {
if (e.key === 'ArrowLeft') {
e.stopPropagation();
if (buttonLeft.current) {
buttonLeft.current.focus();
}
previous && previous();
} else if (e.key === 'ArrowRight') {
e.stopPropagation();
if (buttonRight.current) {
buttonRight.current.focus();
}
next && next();
} else if (e.key === 'Escape') {
e.stopPropagation();
if (root instanceof ShadowRoot) {
const a = root.activeElement;
if (a && a !== buttonClose.current && a instanceof HTMLElement) {
a.blur();
return;
}
}
if (close) {
close();
}
}
}
root.addEventListener('keydown', handler);
if (root !== d) {
d.addEventListener('keydown', handler);
}
return function() {
root.removeEventListener('keydown', handler);
if (root !== d) {
d.removeEventListener('keydown', handler);
}
};
}, [
close,
nav,
next,
previous
]);
// Unlock focus for browsers like Firefox, that break all user focus if the
// currently focused item becomes disabled.
React.useEffect(()=>{
if (nav == null) {
return;
}
const root = nav.getRootNode();
// Always true, but we do this for TypeScript:
if (root instanceof ShadowRoot) {
const a = root.activeElement;
if (previous == null) {
if (buttonLeft.current && a === buttonLeft.current) {
buttonLeft.current.blur();
}
} else if (next == null) {
if (buttonRight.current && a === buttonRight.current) {
buttonRight.current.blur();
}
}
}
}, [
nav,
next,
previous
]);
return /*#__PURE__*/ React.createElement("div", {
"data-nextjs-dialog-left-right": true,
className: className
}, /*#__PURE__*/ React.createElement("nav", {
ref: onNav
}, /*#__PURE__*/ React.createElement("button", {
ref: buttonLeft,
type: "button",
disabled: previous == null ? true : undefined,
"aria-disabled": previous == null ? true : undefined,
onClick: previous != null ? previous : undefined
}, /*#__PURE__*/ React.createElement("svg", {
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/ React.createElement("path", {
d: "M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}))), /*#__PURE__*/ React.createElement("button", {
ref: buttonRight,
type: "button",
disabled: next == null ? true : undefined,
"aria-disabled": next == null ? true : undefined,
onClick: next != null ? next : undefined
}, /*#__PURE__*/ React.createElement("svg", {
viewBox: "0 0 14 14",
fill: "none",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/ React.createElement("path", {
d: "M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z",
stroke: "currentColor",
strokeWidth: "2",
strokeLinecap: "round",
strokeLinejoin: "round"
}))), "\xa0", children), close ? /*#__PURE__*/ React.createElement("button", {
"data-nextjs-errors-dialog-left-right-close-button": true,
ref: buttonClose,
type: "button",
onClick: close,
"aria-label": "Close"
}, /*#__PURE__*/ React.createElement("span", {
"aria-hidden": "true"
}, /*#__PURE__*/ React.createElement(_closeIcon.CloseIcon, null))) : null);
};
exports.LeftRightDialogHeader = LeftRightDialogHeader;
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=LeftRightDialogHeader.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.tsx"],"names":["React","LeftRightDialogHeader","children","className","previous","next","close","buttonLeft","useRef","buttonRight","buttonClose","nav","setNav","useState","onNav","useCallback","el","useEffect","root","getRootNode","d","self","document","handler","e","key","stopPropagation","current","focus","ShadowRoot","a","activeElement","HTMLElement","blur","addEventListener","removeEventListener","div","data-nextjs-dialog-left-right","ref","button","type","disabled","undefined","aria-disabled","onClick","svg","viewBox","fill","xmlns","path","stroke","strokeWidth","strokeLinecap","strokeLinejoin","data-nextjs-errors-dialog-left-right-close-button","aria-label","span","aria-hidden","CloseIcon"],"mappings":"AAAA;;;;;;AAAYA,IAAAA,KAAK,qCAAM,OAAO,EAAb;AACS,IAAA,UAAuB,WAAvB,uBAAuB,CAAA;AASjD,MAAMC,qBAAqB,GACzB,SAASA,qBAAqB,CAAC,EAC7BC,QAAQ,CAAA,EACRC,SAAS,CAAA,EACTC,QAAQ,CAAA,EACRC,IAAI,CAAA,EACJC,KAAK,CAAA,IACN,EAAE;IACD,MAAMC,UAAU,GAAGP,KAAK,CAACQ,MAAM,CAA2B,IAAI,CAAC;IAC/D,MAAMC,WAAW,GAAGT,KAAK,CAACQ,MAAM,CAA2B,IAAI,CAAC;IAChE,MAAME,WAAW,GAAGV,KAAK,CAACQ,MAAM,CAA2B,IAAI,CAAC;IAEhE,MAAM,CAACG,GAAG,EAAEC,MAAM,CAAC,GAAGZ,KAAK,CAACa,QAAQ,CAAqB,IAAI,CAAC;IAC9D,MAAMC,KAAK,GAAGd,KAAK,CAACe,WAAW,CAAC,CAACC,EAAe,GAAK;QACnDJ,MAAM,CAACI,EAAE,CAAC;KACX,EAAE,EAAE,CAAC;IAENhB,KAAK,CAACiB,SAAS,CAAC,IAAM;QACpB,IAAIN,GAAG,IAAI,IAAI,EAAE;YACf,OAAM;SACP;QAED,MAAMO,IAAI,GAAGP,GAAG,CAACQ,WAAW,EAAE;QAC9B,MAAMC,CAAC,GAAGC,IAAI,CAACC,QAAQ;QAEvB,SAASC,OAAO,CAACC,CAAgB,EAAE;YACjC,IAAIA,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;gBACzBD,CAAC,CAACE,eAAe,EAAE;gBACnB,IAAInB,UAAU,CAACoB,OAAO,EAAE;oBACtBpB,UAAU,CAACoB,OAAO,CAACC,KAAK,EAAE;iBAC3B;gBACDxB,QAAQ,IAAIA,QAAQ,EAAE;aACvB,MAAM,IAAIoB,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;gBACjCD,CAAC,CAACE,eAAe,EAAE;gBACnB,IAAIjB,WAAW,CAACkB,OAAO,EAAE;oBACvBlB,WAAW,CAACkB,OAAO,CAACC,KAAK,EAAE;iBAC5B;gBACDvB,IAAI,IAAIA,IAAI,EAAE;aACf,MAAM,IAAImB,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;gBAC7BD,CAAC,CAACE,eAAe,EAAE;gBACnB,IAAIR,IAAI,YAAYW,UAAU,EAAE;oBAC9B,MAAMC,CAAC,GAAGZ,IAAI,CAACa,aAAa;oBAC5B,IAAID,CAAC,IAAIA,CAAC,KAAKpB,WAAW,CAACiB,OAAO,IAAIG,CAAC,YAAYE,WAAW,EAAE;wBAC9DF,CAAC,CAACG,IAAI,EAAE;wBACR,OAAM;qBACP;iBACF;gBAED,IAAI3B,KAAK,EAAE;oBACTA,KAAK,EAAE;iBACR;aACF;SACF;QAEDY,IAAI,CAACgB,gBAAgB,CAAC,SAAS,EAAEX,OAAO,CAAkB;QAC1D,IAAIL,IAAI,KAAKE,CAAC,EAAE;YACdA,CAAC,CAACc,gBAAgB,CAAC,SAAS,EAAEX,OAAO,CAAC;SACvC;QACD,OAAO,WAAY;YACjBL,IAAI,CAACiB,mBAAmB,CAAC,SAAS,EAAEZ,OAAO,CAAkB;YAC7D,IAAIL,IAAI,KAAKE,CAAC,EAAE;gBACdA,CAAC,CAACe,mBAAmB,CAAC,SAAS,EAAEZ,OAAO,CAAC;aAC1C;SACF,CAAA;KACF,EAAE;QAACjB,KAAK;QAAEK,GAAG;QAAEN,IAAI;QAAED,QAAQ;KAAC,CAAC;IAEhC,2EAA2E;IAC3E,2CAA2C;IAC3CJ,KAAK,CAACiB,SAAS,CAAC,IAAM;QACpB,IAAIN,GAAG,IAAI,IAAI,EAAE;YACf,OAAM;SACP;QAED,MAAMO,IAAI,GAAGP,GAAG,CAACQ,WAAW,EAAE;QAC9B,8CAA8C;QAC9C,IAAID,IAAI,YAAYW,UAAU,EAAE;YAC9B,MAAMC,CAAC,GAAGZ,IAAI,CAACa,aAAa;YAE5B,IAAI3B,QAAQ,IAAI,IAAI,EAAE;gBACpB,IAAIG,UAAU,CAACoB,OAAO,IAAIG,CAAC,KAAKvB,UAAU,CAACoB,OAAO,EAAE;oBAClDpB,UAAU,CAACoB,OAAO,CAACM,IAAI,EAAE;iBAC1B;aACF,MAAM,IAAI5B,IAAI,IAAI,IAAI,EAAE;gBACvB,IAAII,WAAW,CAACkB,OAAO,IAAIG,CAAC,KAAKrB,WAAW,CAACkB,OAAO,EAAE;oBACpDlB,WAAW,CAACkB,OAAO,CAACM,IAAI,EAAE;iBAC3B;aACF;SACF;KACF,EAAE;QAACtB,GAAG;QAAEN,IAAI;QAAED,QAAQ;KAAC,CAAC;IAEzB,qBACE,oBAACgC,KAAG;QAACC,+BAA6B,EAA7BA,IAA6B;QAAClC,SAAS,EAAEA,SAAS;qBACrD,oBAACQ,KAAG;QAAC2B,GAAG,EAAExB,KAAK;qBACb,oBAACyB,QAAM;QACLD,GAAG,EAAE/B,UAAU;QACfiC,IAAI,EAAC,QAAQ;QACbC,QAAQ,EAAErC,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAGsC,SAAS;QAC7CC,eAAa,EAAEvC,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAGsC,SAAS;QAClDE,OAAO,EAAExC,QAAQ,WAARA,QAAQ,GAAIsC,SAAS;qBAE9B,oBAACG,KAAG;QACFC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAC,MAAM;QACXC,KAAK,EAAC,4BAA4B;qBAElC,oBAACC,MAAI;QACH7B,CAAC,EAAC,mFAAmF;QACrF8B,MAAM,EAAC,cAAc;QACrBC,WAAW,EAAC,GAAG;QACfC,aAAa,EAAC,OAAO;QACrBC,cAAc,EAAC,OAAO;MACtB,CACE,CACC,gBACT,oBAACd,QAAM;QACLD,GAAG,EAAE7B,WAAW;QAChB+B,IAAI,EAAC,QAAQ;QACbC,QAAQ,EAAEpC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAGqC,SAAS;QACzCC,eAAa,EAAEtC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAGqC,SAAS;QAC9CE,OAAO,EAAEvC,IAAI,WAAJA,IAAI,GAAIqC,SAAS;qBAE1B,oBAACG,KAAG;QACFC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAC,MAAM;QACXC,KAAK,EAAC,4BAA4B;qBAElC,oBAACC,MAAI;QACH7B,CAAC,EAAC,8EAA8E;QAChF8B,MAAM,EAAC,cAAc;QACrBC,WAAW,EAAC,GAAG;QACfC,aAAa,EAAC,OAAO;QACrBC,cAAc,EAAC,OAAO;MACtB,CACE,CACC,EAAA,MAET,EAACnD,QAAQ,CACL,EACLI,KAAK,iBACJ,oBAACiC,QAAM;QACLe,mDAAiD,EAAjDA,IAAiD;QACjDhB,GAAG,EAAE5B,WAAW;QAChB8B,IAAI,EAAC,QAAQ;QACbI,OAAO,EAAEtC,KAAK;QACdiD,YAAU,EAAC,OAAO;qBAElB,oBAACC,MAAI;QAACC,aAAW,EAAC,MAAM;qBACtB,oBAACC,UAAS,UAAA,OAAG,CACR,CACA,GACP,IAAI,CACJ,CACP;CACF;QAEMzD,qBAAqB,GAArBA,qBAAqB"}

View File

@@ -0,0 +1,2 @@
export { LeftRightDialogHeader } from './LeftRightDialogHeader';
export { styles } from './styles';

View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "LeftRightDialogHeader", {
enumerable: true,
get: function() {
return _leftRightDialogHeader.LeftRightDialogHeader;
}
});
Object.defineProperty(exports, "styles", {
enumerable: true,
get: function() {
return _styles.styles;
}
});
var _leftRightDialogHeader = require("./LeftRightDialogHeader");
var _styles = require("./styles");
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
Object.defineProperty(exports.default, '__esModule', { value: true });
Object.assign(exports.default, exports);
module.exports = exports.default;
}
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"sources":["../../../../../../../client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.ts"],"names":["LeftRightDialogHeader","styles"],"mappings":"AAAA;;;;+BAASA,uBAAqB;;;sCAArBA,qBAAqB;;;+BACrBC,QAAM;;;uBAANA,MAAM;;;qCADuB,yBAAyB;sBACxC,UAAU"}

View File

@@ -0,0 +1,2 @@
declare const styles: string;
export { styles };

Some files were not shown because too many files have changed in this diff Show More