(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main"],{ /***/ "./node_modules/@next/polyfill-module/dist/polyfill-module.js": /*!********************************************************************!*\ !*** ./node_modules/@next/polyfill-module/dist/polyfill-module.js ***! \********************************************************************/ /***/ (function() { "trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var t=/\((.*)\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if("function"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(o){return r.resolve(t()).then(function(){return o})},function(o){return r.resolve(t()).then(function(){throw o})})}); /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/client.js": /*!************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/client.js ***! \************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; exports.__esModule = true; exports.onRefresh = exports.unregister = exports.register = exports.onBuildError = exports.onBuildOk = exports.ReactDevOverlay = exports.getNodeError = void 0; var Bus = __importStar(__webpack_require__(/*! ./internal/bus */ "./node_modules/@next/react-dev-overlay/lib/internal/bus.js")); var parseStack_1 = __webpack_require__(/*! ./internal/helpers/parseStack */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/parseStack.js"); var isRegistered = false; var stackTraceLimit = undefined; function onUnhandledError(ev) { var error = ev === null || ev === void 0 ? void 0 : ev.error; if (!error || !(error instanceof Error) || typeof error.stack !== 'string') { // A non-error was thrown, we don't have anything to show. :-( return; } var e = error; Bus.emit({ type: Bus.TYPE_UNHANDLED_ERROR, reason: error, frames: (0, parseStack_1.parseStack)(e.stack) }); } function onUnhandledRejection(ev) { var reason = ev === null || ev === void 0 ? void 0 : ev.reason; if (!reason || !(reason instanceof Error) || typeof reason.stack !== 'string') { // A non-error was thrown, we don't have anything to show. :-( return; } var e = reason; Bus.emit({ type: Bus.TYPE_UNHANDLED_REJECTION, reason: reason, frames: (0, parseStack_1.parseStack)(e.stack) }); } function register() { if (isRegistered) { return; } isRegistered = true; try { var limit = Error.stackTraceLimit; Error.stackTraceLimit = 50; stackTraceLimit = limit; } catch (_a) { } window.addEventListener('error', onUnhandledError); window.addEventListener('unhandledrejection', onUnhandledRejection); } exports.register = register; function unregister() { if (!isRegistered) { return; } isRegistered = false; if (stackTraceLimit !== undefined) { try { Error.stackTraceLimit = stackTraceLimit; } catch (_a) { } stackTraceLimit = undefined; } window.removeEventListener('error', onUnhandledError); window.removeEventListener('unhandledrejection', onUnhandledRejection); } exports.unregister = unregister; function onBuildOk() { Bus.emit({ type: Bus.TYPE_BUILD_OK }); } exports.onBuildOk = onBuildOk; function onBuildError(message) { Bus.emit({ type: Bus.TYPE_BUILD_ERROR, message: message }); } exports.onBuildError = onBuildError; function onRefresh() { Bus.emit({ type: Bus.TYPE_REFFRESH }); } exports.onRefresh = onRefresh; var nodeStackFrames_1 = __webpack_require__(/*! ./internal/helpers/nodeStackFrames */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/nodeStackFrames.js"); __createBinding(exports, nodeStackFrames_1, "getNodeError"); var ReactDevOverlay_1 = __webpack_require__(/*! ./internal/ReactDevOverlay */ "./node_modules/@next/react-dev-overlay/lib/internal/ReactDevOverlay.js"); __createBinding(exports, ReactDevOverlay_1, "default", "ReactDevOverlay"); //# sourceMappingURL=client.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/ErrorBoundary.js": /*!****************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/ErrorBoundary.js ***! \****************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; exports.ErrorBoundary = void 0; var react_1 = __importDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var ErrorBoundary = /** @class */ (function (_super) { __extends(ErrorBoundary, _super); function ErrorBoundary() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { error: null }; return _this; } ErrorBoundary.prototype.componentDidCatch = function (error, // Loosely typed because it depends on the React version and was // accidentally excluded in some versions. errorInfo) { this.props.onError(error, (errorInfo === null || errorInfo === void 0 ? void 0 : errorInfo.componentStack) || null); this.setState({ error: error }); }; ErrorBoundary.prototype.render = function () { return this.state.error ? // The component has to be unmounted or else it would continue to error null : this.props.children; }; return ErrorBoundary; }(react_1["default"].PureComponent)); exports.ErrorBoundary = ErrorBoundary; //# sourceMappingURL=ErrorBoundary.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/ReactDevOverlay.js": /*!******************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/ReactDevOverlay.js ***! \******************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __spreadArray = (this && this.__spreadArray) || function (to, from) { for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) to[j] = from[i]; return to; }; exports.__esModule = true; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var Bus = __importStar(__webpack_require__(/*! ./bus */ "./node_modules/@next/react-dev-overlay/lib/internal/bus.js")); var ShadowPortal_1 = __webpack_require__(/*! ./components/ShadowPortal */ "./node_modules/@next/react-dev-overlay/lib/internal/components/ShadowPortal.js"); var Errors_1 = __webpack_require__(/*! ./container/Errors */ "./node_modules/@next/react-dev-overlay/lib/internal/container/Errors.js"); var BuildError_1 = __webpack_require__(/*! ./container/BuildError */ "./node_modules/@next/react-dev-overlay/lib/internal/container/BuildError.js"); var ErrorBoundary_1 = __webpack_require__(/*! ./ErrorBoundary */ "./node_modules/@next/react-dev-overlay/lib/internal/ErrorBoundary.js"); var Base_1 = __webpack_require__(/*! ./styles/Base */ "./node_modules/@next/react-dev-overlay/lib/internal/styles/Base.js"); var ComponentStyles_1 = __webpack_require__(/*! ./styles/ComponentStyles */ "./node_modules/@next/react-dev-overlay/lib/internal/styles/ComponentStyles.js"); var CssReset_1 = __webpack_require__(/*! ./styles/CssReset */ "./node_modules/@next/react-dev-overlay/lib/internal/styles/CssReset.js"); function reducer(state, ev) { switch (ev.type) { case Bus.TYPE_BUILD_OK: { return __assign(__assign({}, state), { buildError: null }); } case Bus.TYPE_BUILD_ERROR: { return __assign(__assign({}, state), { buildError: ev.message }); } case Bus.TYPE_REFFRESH: { return __assign(__assign({}, state), { buildError: null, errors: [] }); } case Bus.TYPE_UNHANDLED_ERROR: case Bus.TYPE_UNHANDLED_REJECTION: { return __assign(__assign({}, state), { nextId: state.nextId + 1, errors: __spreadArray(__spreadArray([], __read(state.errors)), [{ id: state.nextId, event: ev }]) }); } default: { // eslint-disable-next-line @typescript-eslint/no-unused-vars var _1 = ev; return state; } } } var ReactDevOverlay = function ReactDevOverlay(_a) { var children = _a.children; var _b = __read(React.useReducer(reducer, { nextId: 1, buildError: null, errors: [] }), 2), state = _b[0], dispatch = _b[1]; React.useEffect(function () { Bus.on(dispatch); return function () { Bus.off(dispatch); }; }, [dispatch]); var onComponentError = React.useCallback(function (_error, _componentStack) { // TODO: special handling }, []); var hasBuildError = state.buildError != null; var hasRuntimeErrors = Boolean(state.errors.length); var isMounted = hasBuildError || hasRuntimeErrors; return (React.createElement(React.Fragment, null, React.createElement(ErrorBoundary_1.ErrorBoundary, { onError: onComponentError }, children !== null && children !== void 0 ? children : null), isMounted ? (React.createElement(ShadowPortal_1.ShadowPortal, null, React.createElement(CssReset_1.CssReset, null), React.createElement(Base_1.Base, null), React.createElement(ComponentStyles_1.ComponentStyles, null), hasBuildError ? (React.createElement(BuildError_1.BuildError, { message: state.buildError })) : hasRuntimeErrors ? (React.createElement(Errors_1.Errors, { errors: state.errors })) : undefined)) : undefined)); }; exports.default = ReactDevOverlay; //# sourceMappingURL=ReactDevOverlay.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/bus.js": /*!******************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/bus.js ***! \******************************************************************/ /***/ (function(__unused_webpack_module, exports) { "use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; exports.__esModule = true; exports.off = exports.on = exports.emit = exports.TYPE_UNHANDLED_REJECTION = exports.TYPE_UNHANDLED_ERROR = exports.TYPE_REFFRESH = exports.TYPE_BUILD_ERROR = exports.TYPE_BUILD_OK = void 0; exports.TYPE_BUILD_OK = 'build-ok'; exports.TYPE_BUILD_ERROR = 'build-error'; exports.TYPE_REFFRESH = 'fast-refresh'; exports.TYPE_UNHANDLED_ERROR = 'unhandled-error'; exports.TYPE_UNHANDLED_REJECTION = 'unhandled-rejection'; var handlers = new Set(); var queue = []; function drain() { // Draining should never happen synchronously in case multiple handlers are // registered. setTimeout(function () { var _loop_1 = function () { var ev = queue.shift(); handlers.forEach(function (handler) { return handler(ev); }); }; while ( // Until we are out of events: Boolean(queue.length) && // Or, if all handlers removed themselves as a result of handling the // event(s) Boolean(handlers.size)) { _loop_1(); } }, 1); } function emit(ev) { queue.push(Object.freeze(__assign({}, ev))); drain(); } exports.emit = emit; function on(fn) { if (handlers.has(fn)) { return false; } handlers.add(fn); drain(); return true; } exports.on = on; function off(fn) { if (handlers.has(fn)) { handlers["delete"](fn); return true; } return false; } exports.off = off; //# sourceMappingURL=bus.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/CodeFrame.js": /*!*********************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/CodeFrame.js ***! \*********************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; exports.CodeFrame = void 0; var anser_1 = __importDefault(__webpack_require__(/*! anser */ "./node_modules/anser/lib/index.js")); var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var strip_ansi_1 = __importDefault(__webpack_require__(/*! strip-ansi */ "./node_modules/strip-ansi/index.js")); var stack_frame_1 = __webpack_require__(/*! ../../helpers/stack-frame */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/stack-frame.js"); var CodeFrame = function CodeFrame(_a) { var stackFrame = _a.stackFrame, codeFrame = _a.codeFrame; // Strip leading spaces out of the code frame: var formattedFrame = React.useMemo(function () { var lines = codeFrame.split(/\r?\n/g); var prefixLength = lines .map(function (line) { return /^>? +\d+ +\| ( *)/.exec((0, strip_ansi_1["default"])(line)); }) .filter(Boolean) .map(function (v) { return v.pop(); }) .reduce(function (c, n) { return (isNaN(c) ? n.length : Math.min(c, n.length)); }, NaN); if (prefixLength > 1) { var p_1 = ' '.repeat(prefixLength); return lines .map(function (line, a) { return ~(a = line.indexOf('|')) ? line.substring(0, a) + line.substring(a).replace(p_1, '') : line; }) .join('\n'); } return lines.join('\n'); }, [codeFrame]); var decoded = React.useMemo(function () { return anser_1["default"].ansiToJson(formattedFrame, { json: true, use_classes: true, remove_empty: true }); }, [formattedFrame]); var open = React.useCallback(function () { var _a; var params = new URLSearchParams(); for (var key in stackFrame) { params.append(key, ((_a = stackFrame[key]) !== null && _a !== void 0 ? _a : '').toString()); } self .fetch(( false || '') + "/__nextjs_launch-editor?" + params.toString()) .then(function () { }, function () { // TODO: report error }); }, [stackFrame]); // TODO: make the caret absolute return (React.createElement("div", { "data-nextjs-codeframe": true }, React.createElement("p", { role: "link", onClick: open, tabIndex: 1, title: "Click to open in your editor" }, React.createElement("span", null, (0, stack_frame_1.getFrameSource)(stackFrame), " @ ", stackFrame.methodName), 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" }, React.createElement("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }), React.createElement("polyline", { points: "15 3 21 3 21 9" }), React.createElement("line", { x1: "10", y1: "14", x2: "21", y2: "3" }))), React.createElement("hr", null), React.createElement("pre", null, decoded.map(function (entry, index) { return (React.createElement("span", { key: "frame-" + index, style: __assign({ color: entry.fg ? "var(--color-" + entry.fg + ")" : undefined }, (entry.decoration === 'bold' ? { fontWeight: 800 } : entry.decoration === 'italic' ? { fontStyle: 'italic' } : undefined)) }, entry.content)); })))); }; exports.CodeFrame = CodeFrame; //# sourceMappingURL=CodeFrame.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/index.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/index.js ***! \*****************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; exports.CodeFrame = void 0; var CodeFrame_1 = __webpack_require__(/*! ./CodeFrame */ "./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/CodeFrame.js"); __createBinding(exports, CodeFrame_1, "CodeFrame"); //# sourceMappingURL=index.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/styles.js": /*!******************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/CodeFrame/styles.js ***! \******************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; exports.__esModule = true; exports.styles = void 0; var noop_template_1 = __webpack_require__(/*! ../../helpers/noop-template */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/noop-template.js"); var styles = (0, noop_template_1.noop)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n [data-nextjs-codeframe] {\n border-radius: var(--size-gap-half);\n background-color: var(--color-ansi-bg);\n color: var(--color-ansi-fg);\n }\n [data-nextjs-codeframe]::selection,\n [data-nextjs-codeframe] *::selection {\n background-color: var(--color-ansi-selection);\n }\n [data-nextjs-codeframe] * {\n color: inherit;\n background-color: transparent;\n font-family: var(--font-stack-monospace);\n }\n\n [data-nextjs-codeframe] > * {\n margin: 0;\n padding: calc(var(--size-gap) + var(--size-gap-half))\n calc(var(--size-gap-double) + var(--size-gap-half));\n }\n [data-nextjs-codeframe] > hr {\n margin: 0;\n padding: 0;\n\n border: none;\n border-style: solid;\n border-width: 0;\n border-bottom-width: 1px;\n border-color: var(--color-ansi-bright-black);\n }\n\n [data-nextjs-codeframe] > p {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n }\n [data-nextjs-codeframe] > p:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-codeframe] > p > svg {\n width: auto;\n height: 1em;\n margin-left: 8px;\n }\n"], ["\n [data-nextjs-codeframe] {\n border-radius: var(--size-gap-half);\n background-color: var(--color-ansi-bg);\n color: var(--color-ansi-fg);\n }\n [data-nextjs-codeframe]::selection,\n [data-nextjs-codeframe] *::selection {\n background-color: var(--color-ansi-selection);\n }\n [data-nextjs-codeframe] * {\n color: inherit;\n background-color: transparent;\n font-family: var(--font-stack-monospace);\n }\n\n [data-nextjs-codeframe] > * {\n margin: 0;\n padding: calc(var(--size-gap) + var(--size-gap-half))\n calc(var(--size-gap-double) + var(--size-gap-half));\n }\n [data-nextjs-codeframe] > hr {\n margin: 0;\n padding: 0;\n\n border: none;\n border-style: solid;\n border-width: 0;\n border-bottom-width: 1px;\n border-color: var(--color-ansi-bright-black);\n }\n\n [data-nextjs-codeframe] > p {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n }\n [data-nextjs-codeframe] > p:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-codeframe] > p > svg {\n width: auto;\n height: 1em;\n margin-left: 8px;\n }\n"]))); exports.styles = styles; var templateObject_1; //# sourceMappingURL=styles.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/Dialog.js": /*!***************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/Dialog.js ***! \***************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; exports.__esModule = true; exports.Dialog = void 0; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var use_on_click_outside_1 = __webpack_require__(/*! ../../hooks/use-on-click-outside */ "./node_modules/@next/react-dev-overlay/lib/internal/hooks/use-on-click-outside.js"); var Dialog = function Dialog(_a) { var children = _a.children, type = _a.type, onClose = _a.onClose, props = __rest(_a, ["children", "type", "onClose"]); var _b = __read(React.useState(null), 2), dialog = _b[0], setDialog = _b[1]; var onDialog = React.useCallback(function (node) { setDialog(node); }, []); (0, use_on_click_outside_1.useOnClickOutside)(dialog, onClose); // Make HTMLElements with `role=link` accessible to be triggered by the // keyboard, i.e. [Enter]. React.useEffect(function () { if (dialog == null) { return; } var root = dialog.getRootNode(); // Always true, but we do this for TypeScript: if (!(root instanceof ShadowRoot)) { return; } var shadowRoot = root; function handler(e) { var 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 function () { return shadowRoot.removeEventListener('keydown', handler); }; }, [dialog]); return (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" }, React.createElement("div", { "data-nextjs-dialog-banner": true, className: "banner-" + type }), children)); }; exports.Dialog = Dialog; //# sourceMappingURL=Dialog.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogBody.js": /*!*******************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogBody.js ***! \*******************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; exports.__esModule = true; exports.DialogBody = void 0; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var DialogBody = function DialogBody(_a) { var children = _a.children, className = _a.className; return (React.createElement("div", { "data-nextjs-dialog-body": true, className: className }, children)); }; exports.DialogBody = DialogBody; //# sourceMappingURL=DialogBody.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogContent.js": /*!**********************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogContent.js ***! \**********************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; exports.__esModule = true; exports.DialogContent = void 0; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var DialogContent = function DialogContent(_a) { var children = _a.children, className = _a.className; return (React.createElement("div", { "data-nextjs-dialog-content": true, className: className }, children)); }; exports.DialogContent = DialogContent; //# sourceMappingURL=DialogContent.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogHeader.js": /*!*********************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogHeader.js ***! \*********************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; exports.__esModule = true; exports.DialogHeader = void 0; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var DialogHeader = function DialogHeader(_a) { var children = _a.children, className = _a.className; return (React.createElement("div", { "data-nextjs-dialog-header": true, className: className }, children)); }; exports.DialogHeader = DialogHeader; //# sourceMappingURL=DialogHeader.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/index.js": /*!**************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/index.js ***! \**************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; exports.styles = exports.DialogHeader = exports.DialogContent = exports.DialogBody = exports.Dialog = void 0; var Dialog_1 = __webpack_require__(/*! ./Dialog */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/Dialog.js"); __createBinding(exports, Dialog_1, "Dialog"); var DialogBody_1 = __webpack_require__(/*! ./DialogBody */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogBody.js"); __createBinding(exports, DialogBody_1, "DialogBody"); var DialogContent_1 = __webpack_require__(/*! ./DialogContent */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogContent.js"); __createBinding(exports, DialogContent_1, "DialogContent"); var DialogHeader_1 = __webpack_require__(/*! ./DialogHeader */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/DialogHeader.js"); __createBinding(exports, DialogHeader_1, "DialogHeader"); var styles_1 = __webpack_require__(/*! ./styles */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/styles.js"); __createBinding(exports, styles_1, "styles"); //# sourceMappingURL=index.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/styles.js": /*!***************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Dialog/styles.js ***! \***************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; exports.__esModule = true; exports.styles = void 0; var noop_template_1 = __webpack_require__(/*! ../../helpers/noop-template */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/noop-template.js"); var styles = (0, noop_template_1.noop)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n [data-nextjs-dialog] {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n outline: none;\n background: white;\n border-radius: var(--size-gap);\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\n rgba(0, 0, 0, 0.25);\n max-height: calc(100% - 56px);\n overflow-y: hidden;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n max-height: calc(100% - 15px);\n }\n }\n\n @media (min-width: 576px) {\n [data-nextjs-dialog] {\n max-width: 540px;\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\n }\n }\n\n @media (min-width: 768px) {\n [data-nextjs-dialog] {\n max-width: 720px;\n }\n }\n\n @media (min-width: 992px) {\n [data-nextjs-dialog] {\n max-width: 960px;\n }\n }\n\n [data-nextjs-dialog-banner] {\n position: relative;\n }\n [data-nextjs-dialog-banner].banner-warning {\n border-color: var(--color-ansi-yellow);\n }\n [data-nextjs-dialog-banner].banner-error {\n border-color: var(--color-ansi-red);\n }\n\n [data-nextjs-dialog-banner]::after {\n z-index: 2;\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n /* banner width: */\n border-top-width: var(--size-gap-half);\n border-bottom-width: 0;\n border-top-style: solid;\n border-bottom-style: solid;\n border-top-color: inherit;\n border-bottom-color: transparent;\n }\n\n [data-nextjs-dialog-content] {\n overflow-y: auto;\n border: none;\n margin: 0;\n /* calc(padding + banner width offset) */\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\n var(--size-gap-double);\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\n flex-shrink: 0;\n margin-bottom: var(--size-gap-double);\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\n position: relative;\n flex: 1 1 auto;\n }\n"], ["\n [data-nextjs-dialog] {\n display: flex;\n flex-direction: column;\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n outline: none;\n background: white;\n border-radius: var(--size-gap);\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\n rgba(0, 0, 0, 0.25);\n max-height: calc(100% - 56px);\n overflow-y: hidden;\n }\n\n @media (max-height: 812px) {\n [data-nextjs-dialog-overlay] {\n max-height: calc(100% - 15px);\n }\n }\n\n @media (min-width: 576px) {\n [data-nextjs-dialog] {\n max-width: 540px;\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\n }\n }\n\n @media (min-width: 768px) {\n [data-nextjs-dialog] {\n max-width: 720px;\n }\n }\n\n @media (min-width: 992px) {\n [data-nextjs-dialog] {\n max-width: 960px;\n }\n }\n\n [data-nextjs-dialog-banner] {\n position: relative;\n }\n [data-nextjs-dialog-banner].banner-warning {\n border-color: var(--color-ansi-yellow);\n }\n [data-nextjs-dialog-banner].banner-error {\n border-color: var(--color-ansi-red);\n }\n\n [data-nextjs-dialog-banner]::after {\n z-index: 2;\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n /* banner width: */\n border-top-width: var(--size-gap-half);\n border-bottom-width: 0;\n border-top-style: solid;\n border-bottom-style: solid;\n border-top-color: inherit;\n border-bottom-color: transparent;\n }\n\n [data-nextjs-dialog-content] {\n overflow-y: auto;\n border: none;\n margin: 0;\n /* calc(padding + banner width offset) */\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\n var(--size-gap-double);\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\n flex-shrink: 0;\n margin-bottom: var(--size-gap-double);\n }\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\n position: relative;\n flex: 1 1 auto;\n }\n"]))); exports.styles = styles; var templateObject_1; //# sourceMappingURL=styles.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! \*********************************************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; exports.__esModule = true; exports.LeftRightDialogHeader = void 0; var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var LeftRightDialogHeader = function LeftRightDialogHeader(_a) { var children = _a.children, className = _a.className, previous = _a.previous, next = _a.next, close = _a.close; var buttonLeft = React.useRef(null); var buttonRight = React.useRef(null); var buttonClose = React.useRef(null); var _b = __read(React.useState(null), 2), nav = _b[0], setNav = _b[1]; var onNav = React.useCallback(function (el) { setNav(el); }, []); React.useEffect(function () { if (nav == null) { return; } var root = nav.getRootNode(); var 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) { var 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(function () { if (nav == null) { return; } var root = nav.getRootNode(); // Always true, but we do this for TypeScript: if (root instanceof ShadowRoot) { var 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 (React.createElement("div", { "data-nextjs-dialog-left-right": true, className: className }, React.createElement("nav", { ref: onNav }, React.createElement("button", { ref: buttonLeft, type: "button", disabled: previous == null ? true : undefined, "aria-disabled": previous == null ? true : undefined, onClick: previous !== null && previous !== void 0 ? previous : undefined }, React.createElement("svg", { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, 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" }))), React.createElement("button", { ref: buttonRight, type: "button", disabled: next == null ? true : undefined, "aria-disabled": next == null ? true : undefined, onClick: next !== null && next !== void 0 ? next : undefined }, React.createElement("svg", { viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, 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" }))), "\u00A0", children), close ? (React.createElement("button", { ref: buttonClose, type: "button", onClick: close, "aria-label": "Close" }, React.createElement("span", { "aria-hidden": "true" }, React.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, React.createElement("path", { d: "M18 6L6 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), React.createElement("path", { d: "M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }))))) : null)); }; exports.LeftRightDialogHeader = LeftRightDialogHeader; //# sourceMappingURL=LeftRightDialogHeader.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/index.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/index.js ***! \*****************************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; exports.styles = exports.LeftRightDialogHeader = void 0; var LeftRightDialogHeader_1 = __webpack_require__(/*! ./LeftRightDialogHeader */ "./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js"); __createBinding(exports, LeftRightDialogHeader_1, "LeftRightDialogHeader"); var styles_1 = __webpack_require__(/*! ./styles */ "./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/styles.js"); __createBinding(exports, styles_1, "styles"); //# sourceMappingURL=index.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/styles.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/LeftRightDialogHeader/styles.js ***! \******************************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } return cooked; }; exports.__esModule = true; exports.styles = void 0; var noop_template_1 = __webpack_require__(/*! ../../helpers/noop-template */ "./node_modules/@next/react-dev-overlay/lib/internal/helpers/noop-template.js"); var styles = (0, noop_template_1.noop)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n [data-nextjs-dialog-left-right] {\n display: flex;\n flex-direction: row;\n align-content: center;\n align-items: center;\n justify-content: space-between;\n }\n [data-nextjs-dialog-left-right] > nav > button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n width: calc(var(--size-gap-double) + var(--size-gap));\n height: calc(var(--size-gap-double) + var(--size-gap));\n font-size: 0;\n border: none;\n background-color: rgba(255, 85, 85, 0.1);\n color: var(--color-ansi-red);\n cursor: pointer;\n transition: background-color 0.25s ease;\n }\n [data-nextjs-dialog-left-right] > nav > button > svg {\n width: auto;\n height: calc(var(--size-gap) + var(--size-gap-half));\n }\n [data-nextjs-dialog-left-right] > nav > button:hover {\n background-color: rgba(255, 85, 85, 0.2);\n }\n [data-nextjs-dialog-left-right] > nav > button:disabled {\n background-color: rgba(255, 85, 85, 0.1);\n color: rgba(255, 85, 85, 0.4);\n cursor: not-allowed;\n }\n\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\n margin-right: 1px;\n }\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\n }\n\n [data-nextjs-dialog-left-right] > button:last-of-type {\n border: 0;\n padding: 0;\n\n background-color: transparent;\n appearance: none;\n\n opacity: 0.4;\n transition: opacity 0.25s ease;\n }\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\n opacity: 0.7;\n }\n"], ["\n [data-nextjs-dialog-left-right] {\n display: flex;\n flex-direction: row;\n align-content: center;\n align-items: center;\n justify-content: space-between;\n }\n [data-nextjs-dialog-left-right] > nav > button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n width: calc(var(--size-gap-double) + var(--size-gap));\n height: calc(var(--size-gap-double) + var(--size-gap));\n font-size: 0;\n border: none;\n background-color: rgba(255, 85, 85, 0.1);\n color: var(--color-ansi-red);\n cursor: pointer;\n transition: background-color 0.25s ease;\n }\n [data-nextjs-dialog-left-right] > nav > button > svg {\n width: auto;\n height: calc(var(--size-gap) + var(--size-gap-half));\n }\n [data-nextjs-dialog-left-right] > nav > button:hover {\n background-color: rgba(255, 85, 85, 0.2);\n }\n [data-nextjs-dialog-left-right] > nav > button:disabled {\n background-color: rgba(255, 85, 85, 0.1);\n color: rgba(255, 85, 85, 0.4);\n cursor: not-allowed;\n }\n\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\n margin-right: 1px;\n }\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\n }\n\n [data-nextjs-dialog-left-right] > button:last-of-type {\n border: 0;\n padding: 0;\n\n background-color: transparent;\n appearance: none;\n\n opacity: 0.4;\n transition: opacity 0.25s ease;\n }\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\n opacity: 0.7;\n }\n"]))); exports.styles = styles; var templateObject_1; //# sourceMappingURL=styles.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/Overlay.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/Overlay.js ***! \*****************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; exports.Overlay = void 0; // @ts-ignore var maintain__tab_focus_1 = __importDefault(__webpack_require__(/*! ./maintain--tab-focus */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/maintain--tab-focus.js")); var React = __importStar(__webpack_require__(/*! react */ "./node_modules/react/index.js")); var body_locker_1 = __webpack_require__(/*! ./body-locker */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/body-locker.js"); var Overlay = function Overlay(_a) { var className = _a.className, children = _a.children, fixed = _a.fixed; React.useEffect(function () { (0, body_locker_1.lock)(); return function () { (0, body_locker_1.unlock)(); }; }, []); var _b = __read(React.useState(null), 2), overlay = _b[0], setOverlay = _b[1]; var onOverlay = React.useCallback(function (el) { setOverlay(el); }, []); React.useEffect(function () { if (overlay == null) { return; } var handle2 = (0, maintain__tab_focus_1["default"])({ context: overlay }); return function () { handle2.disengage(); }; }, [overlay]); return (React.createElement("div", { "data-nextjs-dialog-overlay": true, className: className, ref: onOverlay }, React.createElement("div", { "data-nextjs-dialog-backdrop": true, "data-nextjs-dialog-backdrop-fixed": fixed ? true : undefined }), children)); }; exports.Overlay = Overlay; //# sourceMappingURL=Overlay.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/body-locker.js": /*!*********************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/body-locker.js ***! \*********************************************************************************************/ /***/ (function(__unused_webpack_module, exports) { "use strict"; exports.__esModule = true; exports.unlock = exports.lock = void 0; var previousBodyPaddingRight; var previousBodyOverflowSetting; var activeLocks = 0; function lock() { setTimeout(function () { if (activeLocks++ > 0) { return; } var scrollBarGap = window.innerWidth - document.documentElement.clientWidth; if (scrollBarGap > 0) { previousBodyPaddingRight = document.body.style.paddingRight; document.body.style.paddingRight = scrollBarGap + "px"; } previousBodyOverflowSetting = document.body.style.overflow; document.body.style.overflow = 'hidden'; }); } exports.lock = lock; function unlock() { setTimeout(function () { if (activeLocks === 0 || --activeLocks !== 0) { return; } if (previousBodyPaddingRight !== undefined) { document.body.style.paddingRight = previousBodyPaddingRight; previousBodyPaddingRight = undefined; } if (previousBodyOverflowSetting !== undefined) { document.body.style.overflow = previousBodyOverflowSetting; previousBodyOverflowSetting = undefined; } }); } exports.unlock = unlock; //# sourceMappingURL=body-locker.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/index.js": /*!***************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/index.js ***! \***************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; exports.Overlay = void 0; var Overlay_1 = __webpack_require__(/*! ./Overlay */ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/Overlay.js"); __createBinding(exports, Overlay_1, "Overlay"); //# sourceMappingURL=index.js.map /***/ }), /***/ "./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/maintain--tab-focus.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/@next/react-dev-overlay/lib/internal/components/Overlay/maintain--tab-focus.js ***! \*****************************************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /* eslint-disable */ // @ts-nocheck // Copied from https://github.com/medialize/ally.js // License: MIT // Copyright (c) 2015 Rodney Rehm // // Entrypoint: ally.js/maintain/tab-focus var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; var platform_1 = __importDefault(__webpack_require__(/*! platform */ "./node_modules/platform/platform.js")); var css_escape_1 = __importDefault(__webpack_require__(/*! css.escape */ "./node_modules/css.escape/css.escape.js")); // input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes // yes, to some extent this is a bad replica of jQuery's constructor function function nodeArray(input) { if (!input) { return []; } if (Array.isArray(input)) { return input; } // instanceof Node - does not work with iframes if (input.nodeType !== undefined) { return [input]; } if (typeof input === 'string') { input = document.querySelectorAll(input); } if (input.length !== undefined) { return [].slice.call(input, 0); } throw new TypeError('unexpected input ' + String(input)); } function contextToElement(_ref) { var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? 'context-to-element' : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument; var element = nodeArray(context)[0]; if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) { element = element.documentElement; } if (!element && defaultToDocument) { return document.documentElement; } if (!element) { throw new TypeError(label + ' requires valid options.context'); } if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) { throw new TypeError(label + ' requires options.context to be an Element'); } return element; } function getShadowHost() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context; var element = contextToElement({ label: 'get/shadow-host', context: context }); // walk up to the root var container = null; while (element) { container = element; element = element.parentNode; } // https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does) if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) { // the root is attached to a fragment node that has a host return container.host; } return null; } function getDocument(node) { if (!node) { return document; } if (node.nodeType === Node.DOCUMENT_NODE) { return node; } return node.ownerDocument || document; } function isActiveElement(context) { var element = contextToElement({ label: 'is/active-element', resolveDocument: true, context: context }); var _document = getDocument(element); if (_document.activeElement === element) { return true; } var shadowHost = getShadowHost({ context: element }); if (shadowHost && shadowHost.shadowRoot.activeElement === element) { return true; } return false; } // [elem, elem.parent, elem.parent.parent, …, html] // will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost function getParents() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context; var list = []; var element = contextToElement({ label: 'get/parents', context: context }); while (element) { list.push(element); // IE does know support parentElement on SVGElement element = element.parentNode; if (element && element.nodeType !== Node.ELEMENT_NODE) { element = null; } } return list; } // Element.prototype.matches may be available at a different name // https://developer.mozilla.org/en/docs/Web/API/Element/matches var names = [ 'matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', ]; var name = null; function findMethodName(element) { names.some(function (_name) { if (!element[_name]) { return false; } name = _name; return true; }); } function elementMatches(element, selector) { if (!name) { findMethodName(element); } return element[name](selector); } // deep clone of original platform var platform = JSON.parse(JSON.stringify(platform_1["default"])); // operating system var os = platform.os.family || ''; var ANDROID = os === 'Android'; var WINDOWS = os.slice(0, 7) === 'Windows'; var OSX = os === 'OS X'; var IOS = os === 'iOS'; // layout var BLINK = platform.layout === 'Blink'; var GECKO = platform.layout === 'Gecko'; var TRIDENT = platform.layout === 'Trident'; var EDGE = platform.layout === 'EdgeHTML'; var WEBKIT = platform.layout === 'WebKit'; // browser version (not layout engine version!) var version = parseFloat(platform.version); var majorVersion = Math.floor(version); platform.majorVersion = majorVersion; platform.is = { // operating system ANDROID: ANDROID, WINDOWS: WINDOWS, OSX: OSX, IOS: IOS, // layout BLINK: BLINK, GECKO: GECKO, TRIDENT: TRIDENT, EDGE: EDGE, WEBKIT: WEBKIT, // INTERNET EXPLORERS IE9: TRIDENT && majorVersion === 9, IE10: TRIDENT && majorVersion === 10, IE11: TRIDENT && majorVersion === 11 }; function before() { var data = { // remember what had focus to restore after test activeElement: document.activeElement, // remember scroll positions to restore after test windowScrollTop: window.scrollTop, windowScrollLeft: window.scrollLeft, bodyScrollTop: document.body.scrollTop, bodyScrollLeft: document.body.scrollLeft }; // wrap tests in an element hidden from screen readers to prevent them // from announcing focus, which can be quite irritating to the user var iframe = document.createElement('iframe'); iframe.setAttribute('style', 'position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;'); iframe.setAttribute('aria-live', 'off'); iframe.setAttribute('aria-busy', 'true'); iframe.setAttribute('aria-hidden', 'true'); document.body.appendChild(iframe); var _window = iframe.contentWindow; var _document = _window.document; _document.open(); _document.close(); var wrapper = _document.createElement('div'); _document.body.appendChild(wrapper); data.iframe = iframe; data.wrapper = wrapper; data.window = _window; data.document = _document; return data; } // options.element: // {string} element name // {function} callback(wrapper, document) to generate an element // options.mutate: (optional) // {function} callback(element, wrapper, document) to manipulate element prior to focus-test. // Can return DOMElement to define focus target (default: element) // options.validate: (optional) // {function} callback(element, focusTarget, document) to manipulate test-result function test(data, options) { // make sure we operate on a clean slate data.wrapper.innerHTML = ''; // create dummy element to test focusability of var element = typeof options.element === 'string' ? data.document.createElement(options.element) : options.element(data.wrapper, data.document); // allow callback to further specify dummy element // and optionally define element to focus var focus = options.mutate && options.mutate(element, data.wrapper, data.document); if (!focus && focus !== false) { focus = element; } // element needs to be part of the DOM to be focusable !element.parentNode && data.wrapper.appendChild(element); // test if the element with invalid tabindex can be focused focus && focus.focus && focus.focus(); // validate test's result return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus; } function after(data) { // restore focus to what it was before test and cleanup if (data.activeElement === document.body) { document.activeElement && document.activeElement.blur && document.activeElement.blur(); if (platform.is.IE10) { // IE10 does not redirect focus to when the activeElement is removed document.body.focus(); } } else { data.activeElement && data.activeElement.focus && data.activeElement.focus(); } document.body.removeChild(data.iframe); // restore scroll position window.scrollTop = data.windowScrollTop; window.scrollLeft = data.windowScrollLeft; document.body.scrollTop = data.bodyScrollTop; document.body.scrollLeft = data.bodyScrollLeft; } function detectFocus(tests) { var data = before(); var results = {}; Object.keys(tests).map(function (key) { results[key] = test(data, tests[key]); }); after(data); return results; } // this file is overwritten by `npm run build:pre` var version$1 = '1.4.1'; /* Facility to cache test results in localStorage. USAGE: cache.get('key'); cache.set('key', 'value'); */ function readLocalStorage(key) { // allow reading from storage to retrieve previous support results // even while the document does not have focus var data = void 0; try { data = window.localStorage && window.localStorage.getItem(key); data = data ? JSON.parse(data) : {}; } catch (e) { data = {}; } return data; } function writeLocalStorage(key, value) { if (!document.hasFocus()) { // if the document does not have focus when tests are executed, focus() may // not be handled properly and events may not be dispatched immediately. // This can happen when a document is reloaded while Developer Tools have focus. try { window.localStorage && window.localStorage.removeItem(key); } catch (e) { // ignore } return; } try { window.localStorage && window.localStorage.setItem(key, JSON.stringify(value)); } catch (e) { // ignore } } var userAgent = (typeof window !== 'undefined' && window.navigator.userAgent) || ''; var cacheKey = 'ally-supports-cache'; var cache = readLocalStorage(cacheKey); // update the cache if ally or the user agent changed (newer version, etc) if (cache.userAgent !== userAgent || cache.version !== version$1) { cache = {}; } cache.userAgent = userAgent; cache.version = version$1; var cache$1 = { get: function get() { return cache; }, set: function set(values) { Object.keys(values).forEach(function (key) { cache[key] = values[key]; }); cache.time = new Date().toISOString(); writeLocalStorage(cacheKey, cache); } }; function cssShadowPiercingDeepCombinator() { var combinator = void 0; // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572 // https://code.google.com/p/chromium/issues/detail?id=446051 try { document.querySelector('html >>> :first-child'); combinator = '>>>'; } catch (noArrowArrowArrow) { try { // old syntax supported at least up to Chrome 41 // https://code.google.com/p/chromium/issues/detail?id=446051 document.querySelector('html /deep/ :first-child'); combinator = '/deep/'; } catch (noDeep) { combinator = ''; } } return combinator; } var gif = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-usemap var focusAreaImgTabindex = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + '' + ''; return element.querySelector('area'); } }; // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-usemap var focusAreaTabindex = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + '' + ''; return false; }, validate: function validate(element, focusTarget, _document) { if (platform.is.GECKO) { // fixes https://github.com/medialize/ally.js/issues/35 // Firefox loads the DataURI asynchronously, causing a false-negative return true; } var focus = element.querySelector('area'); focus.focus(); return _document.activeElement === focus; } }; // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-usemap var focusAreaWithoutHref = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + '' + ''; return element.querySelector('area'); }, validate: function validate(element, focusTarget, _document) { if (platform.is.GECKO) { // fixes https://github.com/medialize/ally.js/issues/35 // Firefox loads the DataURI asynchronously, causing a false-negative return true; } return _document.activeElement === focusTarget; } }; var focusAudioWithoutControls = { name: 'can-focus-audio-without-controls', element: 'audio', mutate: function mutate(element) { try { // invalid media file can trigger warning in console, data-uri to prevent HTTP request element.setAttribute('src', gif); } catch (e) { // IE9 may throw "Error: Not implemented" } } }; var invalidGif = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ'; // NOTE: https://github.com/medialize/ally.js/issues/35 // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-usemap var focusBrokenImageMap = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + ''; return element.querySelector('area'); } }; // Children of focusable elements with display:flex are focusable in IE10-11 var focusChildrenOfFocusableFlexbox = { element: 'div', mutate: function mutate(element) { element.setAttribute('tabindex', '-1'); element.setAttribute('style', 'display: -webkit-flex; display: -ms-flexbox; display: flex;'); element.innerHTML = 'hello'; return element.querySelector('span'); } }; // fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree // @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled // @browser-issue Chromium https://crbug.com/453847 // @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086 var focusFieldsetDisabled = { element: 'fieldset', mutate: function mutate(element) { element.setAttribute('tabindex', 0); element.setAttribute('disabled', 'disabled'); } }; var focusFieldset = { element: 'fieldset', mutate: function mutate(element) { element.innerHTML = 'legend

content

'; } }; // elements with display:flex are focusable in IE10-11 var focusFlexboxContainer = { element: 'span', mutate: function mutate(element) { element.setAttribute('style', 'display: -webkit-flex; display: -ms-flexbox; display: flex;'); element.innerHTML = 'hello'; } }; // form[tabindex=0][disabled] should be focusable as the // specification doesn't know the disabled attribute on the form element // @specification https://www.w3.org/TR/html5/forms.html#the-form-element var focusFormDisabled = { element: 'form', mutate: function mutate(element) { element.setAttribute('tabindex', 0); element.setAttribute('disabled', 'disabled'); } }; // NOTE: https://github.com/medialize/ally.js/issues/35 // fixes https://github.com/medialize/ally.js/issues/20 // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-ismap var focusImgIsmap = { element: 'a', mutate: function mutate(element) { element.href = '#void'; element.innerHTML = ''; return element.querySelector('img'); } }; // NOTE: https://github.com/medialize/ally.js/issues/35 // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attr-usemap var focusImgUsemapTabindex = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + ''; return element.querySelector('img'); } }; var focusInHiddenIframe = { element: function element(wrapper, _document) { var iframe = _document.createElement('iframe'); // iframe must be part of the DOM before accessing the contentWindow is possible wrapper.appendChild(iframe); // create the iframe's default document () var iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.close(); return iframe; }, mutate: function mutate(iframe) { iframe.style.visibility = 'hidden'; var iframeDocument = iframe.contentWindow.document; var input = iframeDocument.createElement('input'); iframeDocument.body.appendChild(input); return input; }, validate: function validate(iframe) { var iframeDocument = iframe.contentWindow.document; var focus = iframeDocument.querySelector('input'); return iframeDocument.activeElement === focus; } }; var result = !platform.is.WEBKIT; function focusInZeroDimensionObject() { return result; } // Firefox allows *any* value and treats invalid values like tabindex="-1" // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054 var focusInvalidTabindex = { element: 'div', mutate: function mutate(element) { element.setAttribute('tabindex', 'invalid-value'); } }; var focusLabelTabindex = { element: 'label', mutate: function mutate(element) { element.setAttribute('tabindex', '-1'); }, validate: function validate(element, focusTarget, _document) { // force layout in Chrome 49, otherwise the element won't be focusable /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight; /* eslint-enable no-unused-vars */ element.focus(); return _document.activeElement === element; } }; var svg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb' + 'G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ' + 'zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg=='; // Note: IE10 on BrowserStack does not like this test var focusObjectSvgHidden = { element: 'object', mutate: function mutate(element) { element.setAttribute('type', 'image/svg+xml'); element.setAttribute('data', svg); element.setAttribute('width', '200'); element.setAttribute('height', '50'); element.style.visibility = 'hidden'; } }; // Note: IE10 on BrowserStack does not like this test var focusObjectSvg = { name: 'can-focus-object-svg', element: 'object', mutate: function mutate(element) { element.setAttribute('type', 'image/svg+xml'); element.setAttribute('data', svg); element.setAttribute('width', '200'); element.setAttribute('height', '50'); }, validate: function validate(element, focusTarget, _document) { if (platform.is.GECKO) { // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result. // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string return true; } return _document.activeElement === element; } }; // Every Environment except IE9 considers SWF objects focusable var result$1 = !platform.is.IE9; function focusObjectSwf() { return result$1; } var focusRedirectImgUsemap = { element: 'div', mutate: function mutate(element) { element.innerHTML = '' + ''; // focus the , not the
return element.querySelector('img'); }, validate: function validate(element, focusTarget, _document) { var target = element.querySelector('area'); return _document.activeElement === target; } }; // see https://jsbin.com/nenirisage/edit?html,js,console,output var focusRedirectLegend = { element: 'fieldset', mutate: function mutate(element) { element.innerHTML = 'legend'; // take care of focus in validate(); return false; }, validate: function validate(element, focusTarget, _document) { var focusable = element.querySelector('input[tabindex="-1"]'); var tabbable = element.querySelector('input[tabindex="0"]'); // Firefox requires this test to focus the
first, while this is not necessary in // https://jsbin.com/nenirisage/edit?html,js,console,output element.focus(); element.querySelector('legend').focus(); return ((_document.activeElement === focusable && 'focusable') || (_document.activeElement === tabbable && 'tabbable') || ''); } }; // https://github.com/medialize/ally.js/issues/21 var focusScrollBody = { element: 'div', mutate: function mutate(element) { element.setAttribute('style', 'width: 100px; height: 50px; overflow: auto;'); element.innerHTML = '
scrollable content
'; return element.querySelector('div'); } }; // https://github.com/medialize/ally.js/issues/21 var focusScrollContainerWithoutOverflow = { element: 'div', mutate: function mutate(element) { element.setAttribute('style', 'width: 100px; height: 50px;'); element.innerHTML = '
scrollable content
'; } }; // https://github.com/medialize/ally.js/issues/21 var focusScrollContainer = { element: 'div', mutate: function mutate(element) { element.setAttribute('style', 'width: 100px; height: 50px; overflow: auto;'); element.innerHTML = '
scrollable content
'; } }; var focusSummary = { element: 'details', mutate: function mutate(element) { element.innerHTML = 'foo

content

'; return element.firstElementChild; } }; function makeFocusableForeignObject() { var fragment = document.createElement('div'); fragment.innerHTML = '\n \n '; return fragment.firstChild.firstChild; } function focusSvgForeignObjectHack(element) { // Edge13, Edge14: foreignObject focus hack // https://jsbin.com/kunehinugi/edit?html,js,output // https://jsbin.com/fajagi/3/edit?html,js,output var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === 'svg'; if (!isSvgElement) { return false; } // inject and focus an element into the SVG element to receive focus var foreignObject = makeFocusableForeignObject(); element.appendChild(foreignObject); var input = foreignObject.querySelector('input'); input.focus(); // upon disabling the activeElement, IE and Edge // will not shift focus to like all the other // browsers, but instead find the first focusable // ancestor and shift focus to that input.disabled = true; // clean up element.removeChild(foreignObject); return true; } function generate(element) { return ('' + element + ''); } function focus(element) { if (element.focus) { return; } try { HTMLElement.prototype.focus.call(element); } catch (e) { focusSvgForeignObjectHack(element); } } function validate(element, focusTarget, _document) { focus(focusTarget); return _document.activeElement === focusTarget; } var focusSvgFocusableAttribute = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate('a'); return element.querySelector('text'); }, validate: validate }; var focusSvgTabindexAttribute = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate('a'); return element.querySelector('text'); }, validate: validate }; var focusSvgNegativeTabindexAttribute = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate('a'); return element.querySelector('text'); }, validate: validate }; var focusSvgUseTabindex = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate([ 'link', '', ].join('')); return element.querySelector('use'); }, validate: validate }; var focusSvgForeignobjectTabindex = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate(''); // Safari 8's quersSelector() can't identify foreignObject, but getElementyByTagName() can return (element.querySelector('foreignObject') || element.getElementsByTagName('foreignObject')[0]); }, validate: validate }; // Firefox seems to be handling the SVG-document-in-iframe creation asynchronously // and thereby produces a false negative test result. Thus the test is pointless // and we resort to UA sniffing once again. // see http://jsbin.com/vunadohoko/1/edit?js,console,output var result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== 'undefined' && SVGElement.prototype.focus); function focusSvgInIframe() { return result$2; } var focusSvg = { element: 'div', mutate: function mutate(element) { element.innerHTML = generate(''); return element.firstChild; }, validate: validate }; // Firefox allows *any* value and treats invalid values like tabindex="-1" // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054 var focusTabindexTrailingCharacters = { element: 'div', mutate: function mutate(element) { element.setAttribute('tabindex', '3x'); } }; var focusTable = { element: 'table', mutate: function mutate(element, wrapper, _document) { // IE9 has a problem replacing TBODY contents with innerHTML. // https://stackoverflow.com/a/8097055/515124 // element.innerHTML = 'cell'; var fragment = _document.createDocumentFragment(); fragment.innerHTML = 'cell'; element.appendChild(fragment); } }; var focusVideoWithoutControls = { element: 'video', mutate: function mutate(element) { try { // invalid media file can trigger warning in console, data-uri to prevent HTTP request element.setAttribute('src', gif); } catch (e) { // IE9 may throw "Error: Not implemented" } } }; // https://jsbin.com/vafaba/3/edit?html,js,console,output var result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE; function tabsequenceAreaAtImgPosition() { return result$3; } var testCallbacks = { cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator, focusInZeroDimensionObject: focusInZeroDimensionObject, focusObjectSwf: focusObjectSwf, focusSvgInIframe: focusSvgInIframe, tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition }; var testDescriptions = { focusAreaImgTabindex: focusAreaImgTabindex, focusAreaTabindex: focusAreaTabindex, focusAreaWithoutHref: focusAreaWithoutHref, focusAudioWithoutControls: focusAudioWithoutControls, focusBrokenImageMap: focusBrokenImageMap, focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox, focusFieldsetDisabled: focusFieldsetDisabled, focusFieldset: focusFieldset, focusFlexboxContainer: focusFlexboxContainer, focusFormDisabled: focusFormDisabled, focusImgIsmap: focusImgIsmap, focusImgUsemapTabindex: focusImgUsemapTabindex, focusInHiddenIframe: focusInHiddenIframe, focusInvalidTabindex: focusInvalidTabindex, focusLabelTabindex: focusLabelTabindex, focusObjectSvg: focusObjectSvg, focusObjectSvgHidden: focusObjectSvgHidden, focusRedirectImgUsemap: focusRedirectImgUsemap, focusRedirectLegend: focusRedirectLegend, focusScrollBody: focusScrollBody, focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow, focusScrollContainer: focusScrollContainer, focusSummary: focusSummary, focusSvgFocusableAttribute: focusSvgFocusableAttribute, focusSvgTabindexAttribute: focusSvgTabindexAttribute, focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute, focusSvgUseTabindex: focusSvgUseTabindex, focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex, focusSvg: focusSvg, focusTabindexTrailingCharacters: focusTabindexTrailingCharacters, focusTable: focusTable, focusVideoWithoutControls: focusVideoWithoutControls }; function executeTests() { var results = detectFocus(testDescriptions); Object.keys(testCallbacks).forEach(function (key) { results[key] = testCallbacks[key](); }); return results; } var supportsCache = null; function _supports() { if (supportsCache) { return supportsCache; } supportsCache = cache$1.get(); if (!supportsCache.time) { cache$1.set(executeTests()); supportsCache = cache$1.get(); } return supportsCache; } var supports = void 0; // https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers // NOTE: all browsers agree to allow trailing spaces as well var validIntegerPatternNoTrailing = /^\s*(-|\+)?[0-9]+\s*$/; var validIntegerPatternWithTrailing = /^\s*(-|\+)?[0-9]+.*$/; function isValidTabindex(context) { if (!supports) { supports = _supports(); } var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing; var element = contextToElement({ label: 'is/valid-tabindex', resolveDocument: true, context: context }); // Edge 14 has a capitalization problem on SVG elements, // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/ var hasTabindex = element.hasAttribute('tabindex'); var hasTabIndex = element.hasAttribute('tabIndex'); if (!hasTabindex && !hasTabIndex) { return false; } // older Firefox and Internet Explorer don't support tabindex on SVG elements var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === 'svg'; if (isSvgElement && !supports.focusSvgTabindexAttribute) { return false; } // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054 if (supports.focusInvalidTabindex) { return true; } // an element matches the tabindex selector even if its value is invalid var tabindex = element.getAttribute(hasTabindex ? 'tabindex' : 'tabIndex'); // IE11 parses tabindex="" as the value "-32768" // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965 if (tabindex === '-32768') { return false; } return Boolean(tabindex && validIntegerPattern.test(tabindex)); } function tabindexValue(element) { if (!isValidTabindex(element)) { return null; } // Edge 14 has a capitalization problem on SVG elements, // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/ var hasTabindex = element.hasAttribute('tabindex'); var attributeName = hasTabindex ? 'tabindex' : 'tabIndex'; // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054 var tabindex = parseInt(element.getAttribute(attributeName), 10); return isNaN(tabindex) ? -1 : tabindex; } // this is a shared utility file for focus-relevant.js and tabbable.js // separate testing of this file's functions is not necessary, // as they're implicitly tested by way of the consumers function isUserModifyWritable(style) { // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify // https://github.com/medialize/ally.js/issues/17 var userModify = style.webkitUserModify || ''; return Boolean(userModify && userModify.indexOf('write') !== -1); } function hasCssOverflowScroll(style) { return [ style.getPropertyValue('overflow'), style.getPropertyValue('overflow-x'), style.getPropertyValue('overflow-y'), ].some(function (overflow) { return overflow === 'auto' || overflow === 'scroll'; }); } function hasCssDisplayFlex(style) { return style.display.indexOf('flex') > -1; } function isScrollableContainer(element, nodeName, parentNodeName, parentStyle) { if (nodeName !== 'div' && nodeName !== 'span') { // Internet Explorer advances scrollable containers and bodies to focusable // only if the scrollable container is
or - this does *not* // happen for
,
, … return false; } if (parentNodeName && parentNodeName !== 'div' && parentNodeName !== 'span' && !hasCssOverflowScroll(parentStyle)) { return false; } return (element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth); } var supports$1 = void 0; function isFocusRelevantRules() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? { flexbox: false, scrollable: false, shadow: false } : _ref$except; if (!supports$1) { supports$1 = _supports(); } var element = contextToElement({ label: 'is/focus-relevant', resolveDocument: true, context: context }); if (!except.shadow && element.shadowRoot) { // a ShadowDOM host receives focus when the focus moves to its content return true; } var nodeName = element.nodeName.toLowerCase(); if (nodeName === 'input' && element.type === 'hidden') { // input[type="hidden"] supports.cannot be focused return false; } if (nodeName === 'input' || nodeName === 'select' || nodeName === 'button' || nodeName === 'textarea') { return true; } if (nodeName === 'legend' && supports$1.focusRedirectLegend) { // specifics filtered in is/focusable return true; } if (nodeName === 'label') { // specifics filtered in is/focusable return true; } if (nodeName === 'area') { // specifics filtered in is/focusable return true; } if (nodeName === 'a' && element.hasAttribute('href')) { return true; } if (nodeName === 'object' && element.hasAttribute('usemap')) { // object[usemap] is not focusable in any browser return false; } if (nodeName === 'object') { var svgType = element.getAttribute('type'); if (!supports$1.focusObjectSvg && svgType === 'image/svg+xml') { // object[type="image/svg+xml"] is not focusable in Internet Explorer return false; } else if (!supports$1.focusObjectSwf && svgType === 'application/x-shockwave-flash') { // object[type="application/x-shockwave-flash"] is not focusable in Internet Explorer 9 return false; } } if (nodeName === 'iframe' || nodeName === 'object') { // browsing context containers return true; } if (nodeName === 'embed' || nodeName === 'keygen') { // embed is considered focus-relevant but not focusable // see https://github.com/medialize/ally.js/issues/82 return true; } if (element.hasAttribute('contenteditable')) { // also see CSS property user-modify below return true; } if (nodeName === 'audio' && (supports$1.focusAudioWithoutControls || element.hasAttribute('controls'))) { return true; } if (nodeName === 'video' && (supports$1.focusVideoWithoutControls || element.hasAttribute('controls'))) { return true; } if (supports$1.focusSummary && nodeName === 'summary') { return true; } var validTabindex = isValidTabindex(element); if (nodeName === 'img' && element.hasAttribute('usemap')) { // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused, // it appears the tabindex is overruled so focus is still forwarded to the return ((validTabindex && supports$1.focusImgUsemapTabindex) || supports$1.focusRedirectImgUsemap); } if (supports$1.focusTable && (nodeName === 'table' || nodeName === 'td')) { // IE10-11 supports.can focus and
return true; } if (supports$1.focusFieldset && nodeName === 'fieldset') { // IE10-11 supports.can focus
return true; } var isSvgElement = nodeName === 'svg'; var isSvgContent = element.ownerSVGElement; var focusableAttribute = element.getAttribute('focusable'); var tabindex = tabindexValue(element); if (nodeName === 'use' && tabindex !== null && !supports$1.focusSvgUseTabindex) { // cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit return false; } if (nodeName === 'foreignobject') { // can only be made focusable in Blink and WebKit return tabindex !== null && supports$1.focusSvgForeignobjectTabindex; } if (elementMatches(element, 'svg a') && element.hasAttribute('xlink:href')) { return true; } if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) { // Firefox 51 and 52 treat any natively tabbable SVG element with // tabindex="-1" as tabbable and everything else as inert // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340 return false; } if (isSvgElement) { return (validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2 Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === 'true')); } if (isSvgContent) { if (supports$1.focusSvgTabindexAttribute && validTabindex) { return true; } if (supports$1.focusSvgFocusableAttribute) { // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2 return focusableAttribute === 'true'; } } // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute if (validTabindex) { return true; } var style = window.getComputedStyle(element, null); if (isUserModifyWritable(style)) { return true; } if (supports$1.focusImgIsmap && nodeName === 'img' && element.hasAttribute('ismap')) { // IE10-11 considers the in focusable // https://github.com/medialize/ally.js/issues/20 var hasLinkParent = getParents({ context: element }).some(function (parent) { return (parent.nodeName.toLowerCase() === 'a' && parent.hasAttribute('href')); }); if (hasLinkParent) { return true; } } // https://github.com/medialize/ally.js/issues/21 if (!except.scrollable && supports$1.focusScrollContainer) { if (supports$1.focusScrollContainerWithoutOverflow) { // Internet Explorer does will consider the scrollable area focusable // if the element is a
or a and it is in fact scrollable, // regardless of the CSS overflow property if (isScrollableContainer(element, nodeName)) { return true; } } else if (hasCssOverflowScroll(style)) { // Firefox requires proper overflow setting, IE does not necessarily // https://developer.mozilla.org/en-US/docs/Web/CSS/overflow return true; } } if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) { // elements with display:flex are focusable in IE10-11 return true; } var parent = element.parentElement; if (!except.scrollable && parent) { var parentNodeName = parent.nodeName.toLowerCase(); var parentStyle = window.getComputedStyle(parent, null); if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) { // scrollable bodies are focusable Internet Explorer // https://github.com/medialize/ally.js/issues/21 return true; } // Children of focusable elements with display:flex are focusable in IE10-11 if (supports$1.focusChildrenOfFocusableFlexbox) { if (hasCssDisplayFlex(parentStyle)) { return true; } } } // NOTE: elements marked as inert are not focusable, // but that property is not exposed to the DOM // https://www.w3.org/TR/html5/editing.html#inert return false; } // bind exceptions to an iterator callback isFocusRelevantRules.except = function () { var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var isFocusRelevant = function isFocusRelevant(context) { return isFocusRelevantRules({ context: context, except: except }); }; isFocusRelevant.rules = isFocusRelevantRules; return isFocusRelevant; }; // provide isFocusRelevant(context) as default iterator callback var isFocusRelevant = isFocusRelevantRules.except({}); function findIndex(array, callback) { // attempt to use native or polyfilled Array#findIndex first if (array.findIndex) { return array.findIndex(callback); } var length = array.length; // shortcut if the array is empty if (length === 0) { return -1; } // otherwise loop over array for (var i = 0; i < length; i++) { if (callback(array[i], i, array)) { return i; } } return -1; } function getContentDocument(node) { try { // works on and