| Server IP : 14.225.204.176 / Your IP : 216.73.216.252 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/zinisoft.net-react/.next/cache/webpack/client-production/ |
Upload File : |
wpc % �webpack/lib/cache/PackFileCacheStrategy�PackContentItems�`qt ResolverCachePlugin|normal|default|alias=[|server-only$=|next/dist/compiled/server-only/index|client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/client-only$=|next/dist/compiled/client-only/index|next/dist/compiled/server-only=|next/dist/compiled/server-only/index|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js=|next/dist/client/components/noop-head|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js=|next/dist/api/image|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js=|next/dist/api/constants|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js=|next/dist/api/router|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js=|next/dist/api/app-dynamic|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js=|next/dist/api/script|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js=|next/dist/api/link|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js=|next/dist/api/navigation|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js=|next/dist/api/headers|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js=|next/dist/api/og|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js=|next/dist/api/document|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js=|next/dist/api/app|]|fallback=[|assert=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js|buffer=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js|constants=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json|crypto=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js|domain=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js|http=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js|https=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js|os=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js|punycode=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js|process=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js|querystring=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js|stream=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js|string_decoder=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js|sys=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|timers=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js|tty=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js|util=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js|vm=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js|zlib=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js|events=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js|setImmediate=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js|]|dependencyType=|esm|path=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3|request=|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\Header.jsx� Compilation/modules|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\Header.jsx|app-pages-browser� FlagDependencyExportsPlugin|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\Header.jsx|app-pages-browser� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\app-router.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\error-boundary.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\layout-router.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\not-found-boundary.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\render-from-template-context.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\static-generation-searchparams-bailout-provider.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\link.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\app-index.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\image-component.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\FallbackImage.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\RelatedPost.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\social\SocialFour.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\social\SocialTwo.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\social\Social.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\image-grid\ImageGridThree.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\WorkcaseStudy.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\image-grid\ImageGridFour.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\BlogGridSLider.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\form\SearchBlog.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\faq\FaqTwo.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\CountDown.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\Address.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\Newsletter.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\pricing\Pricing.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\award\Award.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\image-grid\ImageGrid.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\counter\Counter.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\react\jsx-runtime.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\client\components\redirect-boundary.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\testimonial\Testimonial.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\brand\BrandFour.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\brand\BrandThree.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\InstagramFeed.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\Resume.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\testimonial\TestimonialThree.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\jarallax\ContactJarallax.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\ContactForm.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\brand\Brand.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\shared\lib\head.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\ScrollToTop.jsx|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\react-animated-cursor\dist\index.umd.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\shared\lib\app-dynamic.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\shared\lib\lazy-dynamic\loadable.js|app-pages-browser|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\Header.jsx|app-pages-browser|83e8d31761cf3cae|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\footer\FooterSection.jsx|app-pages-browser|60f49e87c7d76c07|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\blog\BlogThree.jsx|app-pages-browser|5b23ba1191bd039c|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\team\TeamTwo.jsx|app-pages-browser|d20cf9bf366288d2|webpack� Compilation/codeGeneration|javascript/auto|G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js??ruleSet[1].rules[13].oneOf[4].use[1]!G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\portfolio\PortfolioListing.jsx|app-pages-browser|ed3b48cf562682b2|webpack�Compilation/codeGeneration|webpack/runtime/get javascript chunk filename|webpack�Compilation/assets|chunk603�Compilation/assets|chunk787�Compilation/assets|chunk845�Compilation/assets|chunk949�Compilation/assets|chunk941�Compilation/assets|chunk570�Compilation/assets|chunk881�Compilation/assets|chunk123�Compilation/assets|chunk272�Compilation/assets|chunk450�Compilation/assets|chunk319�Compilation/assets|chunk981�Compilation/assets|chunk29�Compilation/assets|chunk703�Compilation/assets|chunk718�Compilation/assets|chunk69�Compilation/assets|chunk299�Compilation/assets|chunk543�TerserWebpackPlugin|static/chunks/app/layout-2122c06be61f56cc.js�TerserWebpackPlugin|static/chunks/app/(blog)/blog/[slug]/page-59b8023498bb124e.js�TerserWebpackPlugin|static/chunks/app/(portfolio)/case-study/[id]/page-f78823dad633903f.js�TerserWebpackPlugin|static/chunks/app/(service)/service/[id]/page-932855beca2cccb6.js�TerserWebpackPlugin|static/chunks/app/(blog)/blogs/page-417fa23a2baf10ec.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/faq/page-ca22c749c866cd3b.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/coming-soon/page-a176fb3f80883790.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/contact/page-92083c48fab9a5b7.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/pricing/page-788baf3d8dd86f6d.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/about-us/page-d24d78776b9c3a26.js�TerserWebpackPlugin|static/chunks/app/(portfolio)/case-studies/page-b55c3226fc3fccde.js�TerserWebpackPlugin|static/chunks/app/(others-pages)/about-me/page-86219f72d456f364.js�TerserWebpackPlugin|static/chunks/app/page-6a658e628e4d737a.js�TerserWebpackPlugin|static/chunks/app/(service)/services/page-48bd42be4f6b7929.js�TerserWebpackPlugin|static/chunks/webpack-9e6af9381f6924c3.js�TerserWebpackPlugin|static/chunks/703-0827914c5e32db86.js�TerserWebpackPlugin|static/chunks/718-f09a1e8d3f03b95a.js�TerserWebpackPlugin|static/chunks/299-46f2f4161a0ccaa1.js�TerserWebpackPlugin|static/DnID1qPwIshlIv_S5xnGN/_ssgManifest.js�TerserWebpackPlugin|static/DnID1qPwIshlIv_S5xnGN/_buildManifest.js�CssMinimizerPlugin|static/css/13ea740e02a65dd4.css�RealContentHashPlugin|analyse|static/css/13ea740e02a65dd4.css�RealContentHashPlugin|analyse|static/chunks/app/layout-2122c06be61f56cc.js�RealContentHashPlugin|analyse|static/chunks/app/(blog)/blog/[slug]/page-59b8023498bb124e.js�RealContentHashPlugin|analyse|static/chunks/app/(portfolio)/case-study/[id]/page-f78823dad633903f.js�RealContentHashPlugin|analyse|static/chunks/app/(service)/service/[id]/page-932855beca2cccb6.js�RealContentHashPlugin|analyse|static/chunks/app/(blog)/blogs/page-417fa23a2baf10ec.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/faq/page-ca22c749c866cd3b.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/coming-soon/page-a176fb3f80883790.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/contact/page-92083c48fab9a5b7.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/pricing/page-788baf3d8dd86f6d.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/about-us/page-d24d78776b9c3a26.js�RealContentHashPlugin|analyse|static/chunks/app/(portfolio)/case-studies/page-b55c3226fc3fccde.js�RealContentHashPlugin|analyse|static/chunks/app/(others-pages)/about-me/page-86219f72d456f364.js�RealContentHashPlugin|analyse|static/chunks/app/page-6a658e628e4d737a.js�RealContentHashPlugin|analyse|static/chunks/app/(service)/services/page-48bd42be4f6b7929.js�RealContentHashPlugin|analyse|static/chunks/webpack-9e6af9381f6924c3.js�RealContentHashPlugin|analyse|static/chunks/703-0827914c5e32db86.js�RealContentHashPlugin|analyse|static/chunks/718-f09a1e8d3f03b95a.js�RealContentHashPlugin|analyse|static/chunks/299-46f2f4161a0ccaa1.js�RealContentHashPlugin|analyse|static/DnID1qPwIshlIv_S5xnGN/_ssgManifest.js�RealContentHashPlugin|analyse|static/DnID1qPwIshlIv_S5xnGN/_buildManifest.js�RealContentHashPlugin|generate|static/chunks/webpack-9e6af9381f6924c3.js�webpack/lib/cache/ResolverCachePlugin��`�_ResolverCachePluginCacheMiss�context�path�request�query�fragment�module�directory�file�internal�fullySpecified�descriptionFilePath�descriptionFileData�descriptionFileRoot�relativePath�__innerRequest_request�__innerRequest_relativePath�__innerRequest�issuer�issuerLayer�compiler��app-pages-browser�client�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\Header.jsx�� �G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\package.json�name�version�private�scripts�dependencies�zinisoft-frontend�1.3.0�dev�build�start�lint�start http://localhost:3000 && next dev�next build�next start�next lint`�@hookform/resolvers�aos�bootstrap�eslint-config-next�jarallax�next�photoswipe�react�react-accessible-accordion�react-animated-cursor�react-countup�react-dom�react-hook-form�react-modal-video�react-photoswipe-gallery�react-pro-sidebar�react-slick�react-tooltip�react-transition-group�react-visibility-sensor�sass�slick-carousel�util�yup�^2.9.11�^2.3.4�^5.1.3�^14.1.0�^1.12.8��^5.3.7�^18.2.0�^5.0.0�^2.7.0�^6.4.2��^7.44.3�^2.0.2�^2.2.7�^0.7.1�^0.29.0�^4.5.1�^4.4.5�^5.1.1�^1.62.1�^1.8.1�^0.12.5�^0.32.11�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3�./components/header/Header.jsx���webpack/lib/FileSystemInfo�Snapshot@� �q��yB��G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components�safeTime�timestamp�hash! �KT��yB pKT��yB�3d8d8e2d08e5377f� �� ��G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\header\package.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\components\package.json
� uq��yB�G:\zinisoft\zinisoft_beta\zinisoft.net�G:\zinisoft\zinisoft_beta�G:\zinisoft�G:\�� �� �� �� �� ��! �8�yB �8�yB�9ee201e165a02c33�webpack/lib/NormalModule�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource� /* __next_internal_client_entry_do_not_use__ default auto */ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import React, { useEffect, useState } from "react";
import Link from "next/link";
import Image from "next/image";
import Search from "../form/Search";
import DropdownMenu from "./menu/DropdownMenu";
import MobileMenu from "./menu/MobileMenu";
import { headerData } from "../../data/header";
const Header = (param)=>{
let { opaque = false } = param;
const [click, setClick] = useState(false);
const [click1, setClick1] = useState(false);
const [navbar, setNavbar] = useState(false);
useEffect(()=>{
const changeBackground = ()=>{
setNavbar(window.scrollY >= 80);
};
changeBackground();
window.addEventListener("scroll", changeBackground);
return ()=>window.removeEventListener("scroll", changeBackground);
}, []);
return /*#__PURE__*/ _jsxs(_Fragment, {
children: [
/*#__PURE__*/ _jsx("header", {
className: opaque ? "ptf-header ptf-header--style-3 ptf-header--opaque" : "ptf-header ptf-header--style-1",
children: /*#__PURE__*/ _jsx("div", {
className: navbar ? opaque ? "ptf-navbar ptf-navbar--main ptf-navbar--sticky ptf-navbar--fixed" : "ptf-navbar ptf-navbar--main ptf-navbar--sticky ptf-navbar--transparent ptf-navbar--white-text-on-top ptf-navbar--fixed ptf-navbar--solid" : opaque ? "ptf-navbar ptf-navbar--main ptf-navbar--sticky" : "ptf-navbar ptf-navbar--main ptf-navbar--sticky ptf-navbar--transparent ptf-navbar--white-text-on-top",
children: /*#__PURE__*/ _jsx("div", {
className: "container-xxl",
children: /*#__PURE__*/ _jsxs("div", {
className: "ptf-navbar-inner",
children: [
/*#__PURE__*/ _jsxs(Link, {
className: "ptf-navbar-logo",
href: headerData.logo.href,
children: [
/*#__PURE__*/ _jsx(Image, {
width: 180,
height: 174,
style: {
objectFit: "contain"
},
className: "black",
src: headerData.logo.dark.src,
alt: headerData.logo.dark.alt,
priority: true,
unoptimized: true
}),
/*#__PURE__*/ _jsx(Image, {
width: 180,
height: 174,
style: {
objectFit: "contain"
},
className: "white",
src: headerData.logo.light.src,
alt: headerData.logo.light.alt,
priority: true,
unoptimized: true
})
]
}),
/*#__PURE__*/ _jsx("nav", {
className: "ptf-nav ptf-nav--default",
children: /*#__PURE__*/ _jsx(DropdownMenu, {})
}),
/*#__PURE__*/ _jsx("div", {
className: "ptf-offcanvas-menu-icon js-offcanvas-menu-toggle bar right",
onClick: ()=>{
setClick(false);
setClick1((value)=>!value);
},
children: /*#__PURE__*/ _jsx("i", {
className: "lnir lnir-menu-alt-5"
})
})
]
})
})
})
}),
/*#__PURE__*/ _jsxs("div", {
className: click1 ? "ptf-offcanvas-menu is-open" : "ptf-offcanvas-menu",
children: [
/*#__PURE__*/ _jsxs("div", {
className: "ptf-offcanvas-menu__header",
children: [
/*#__PURE__*/ _jsx("div", {
className: "ptf-language-switcher",
children: headerData.languages.map((item)=>/*#__PURE__*/ _jsx("a", {
className: item.isActive ? "is-active" : "",
href: item.href,
children: item.label
}, item.label))
}),
/*#__PURE__*/ _jsx("span", {
className: "ptf-offcanvas-menu-icon js-offcanvas-menu-toggle",
onClick: ()=>setClick1((value)=>!value),
children: /*#__PURE__*/ _jsx("i", {
className: "lnir lnir-close"
})
})
]
}),
/*#__PURE__*/ _jsx(MobileMenu, {})
]
})
]
});
};
export default Header;
�exportsType�sideEffectFree�namespace
�javascript/auto���alias��mainFields�fallback` �server-only$�client-only$�next/dist/compiled/client-only$�next/dist/compiled/server-only�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\head.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\image.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\constants.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\router.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dynamic.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\script.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\link.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\navigation.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\headers.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\og.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\document.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\app.js�react$�react-dom$�react/jsx-runtime$�react/jsx-dev-runtime$�react-dom/client$�react-dom/server$�react-dom/static$�react-dom/static.edge$�react-dom/static.browser$�react-dom/server.edge$�react-dom/server.browser$�react-server-dom-webpack/client$�react-server-dom-webpack/client.edge$�react-server-dom-webpack/server.edge$�react-server-dom-webpack/server.node$�@vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts�next/dist/compiled/server-only/index�next/dist/compiled/client-only/index���next/dist/client/components/noop-head�next/dist/api/image�next/dist/api/constants�next/dist/api/router�next/dist/api/app-dynamic�next/dist/api/script�next/dist/api/link�next/dist/api/navigation�next/dist/api/headers�next/dist/api/og�next/dist/api/document�next/dist/api/app�next/dist/compiled/react�next/dist/compiled/react-dom�next/dist/compiled/react/jsx-runtime�next/dist/compiled/react/jsx-dev-runtime�next/dist/compiled/react-dom/client�next/dist/compiled/react-dom/server�next/dist/compiled/react-dom-experimental/static�next/dist/compiled/react-dom-experimental/static.edge�next/dist/compiled/react-dom-experimental/static.browser�next/dist/build/webpack/alias/react-dom-server-edge.js�next/dist/build/webpack/alias/react-dom-server-browser.js�next/dist/compiled/react-server-dom-webpack/client�next/dist/compiled/react-server-dom-webpack/client.edge�next/dist/compiled/react-server-dom-webpack/server.edge�next/dist/compiled/react-server-dom-webpack/server.node�next/dist/client/dev/noop-turbopack-hmr
�browser8����main`�assert�buffer�constants�crypto�domain�http�https�os*����punycode�process�querystring�stream�string_decoder�sys�timers�ttyd����vm�zlib�events�setImmediate�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\assert\assert.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\buffer\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\constants-browserify\constants.json�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\crypto-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\domain-browser\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-http\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\https-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\os-browserify\browser.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\path-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\punycode\punycode.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\polyfills\process.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\querystring-es3\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\stream-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\string_decoder\string_decoder.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\util\util.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\timers-browserify\main.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\tty-browserify\index.js��G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\vm-browserify\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\browserify-zlib\index.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\events\events.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\compiled\setimmediate\setImmediate.js
�`�cacheable�parsed�fileDependencies�contextDependencies�missingDependencies�buildDependencies�valueDependenciesc����assets�assetsInfo�rsc�strict�exportsArgument�topLevelDeclarations�snapshot�webpack/lib/util/LazySet� G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-flight-client-module-loader.js�G:\zinisoft\zinisoft_beta\zinisoft.net\frontend-v3\node_modules\next\dist\build\webpack\loaders\next-swc-loader.js �webpack/DefinePlugin_hash�9119f935�ddef3c97e4f94604�type�actions�isClientRef����__webpack_exports__�Header�*default* uq��yB ����N���
�webpack/lib/dependencies/HarmonyCompatibilityDependency
d� � ��webpack/lib/dependencies/ConstDependency�`=@�
a=@� �A� �
`3�A� �
`�A�
`�A *
`$�A+ Z
`/�A[ �
`+�A� �
`/�webpack/lib/dependencies/HarmonyExportHeaderDependency A� � A� �
co o `-�webpack/lib/dependencies/HarmonyImportSideEffectDependency�react/jsx-runtime�
a=@� ��� ���
`3�next/link�
`�next/image�
`�../form/Search�
`$�./menu/DropdownMenu�
`/�./menu/MobileMenu�
`+�../../data/header�
`/�webpack/lib/dependencies/HarmonyImportSpecifierDependencya�useState�A �default�����
c&��AD L ������
c (��Au } ������
c
(�useEffect�A� � ������
c
�jsxs�_jsxsA� � ����
c�Fragment�_FragmentA� �
����
c(�jsx�_jsxA ����
c��A� � ����
c(,��A� � ����
c,0��A ����
c05��A� � ����
c!.!3��LinkA� �
����
c!4!8�headerData�logo�href�A% 9 A% / A% 4
����
c#*#>��A� � ����
c%6%:��ImageA� �
����
c%;%@��dark�src�A:
R
A:
D
A:
I
A:
N
����
c,1,I����alt�A�
�
A�
�
A�
�
A�
�
����
c-1-I��A{ ����
c161:��A� �
����
c1;1@�ׅlight��A
-
A
A
#
A
)
����
c818J�����A`
y
A`
j
A`
o
A`
u
����
c919J��A� � �z���z����
c?.?2��A- 1 �v���v����
cA<A@��DropdownMenuA2 >
�z���z����
cAAAM��A� � �m���m����
cC.C2��A$ ( }���i���i����
cI<I@��AQ V y���e���e����
cRR��A� � u���a���a����
cU"U'��A� � q���]���]����
cX*X.��languages�map�A ) A A %
i���b���b����
cZ*ZB��A@ D e���Q���Q����
cZYZ]����A� � a���M���M����
c`*`.{���|���A� � ]���I���I����
cc8c<w���x���Ag k Y���E���E����
ci"i&W����MobileMenuAl v
T���K���K����
ci'i1�webpack/lib/dependencies/HarmonyExportExpressionDependency@;���<����
co o�webpack/lib/dependencies/PureExpressionDependency@:���Q���
co o
�webpack/lib/ModuleGraph�RestoreProvidedData"����provided�canMangleProvide�terminalBinding�exportsInfoG���
�sources�runtimeRequirements�data�javascript�webpack/lib/util/registerExternalSerializer�webpack-sources/CachedSource e �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource�a /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
getServerActionDispatcher: null,
urlToUrlWithoutFlightMarker: null,
createEmptyCacheNode: null,
default: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getServerActionDispatcher: function() {
return getServerActionDispatcher;
},
urlToUrlWithoutFlightMarker: function() {
return urlToUrlWithoutFlightMarker;
},
createEmptyCacheNode: function() {
return createEmptyCacheNode;
},
default: function() {
return AppRouter;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
const _routerreducertypes = require("./router-reducer/router-reducer-types");
const _createhreffromurl = require("./router-reducer/create-href-from-url");
const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime");
const _usereducerwithdevtools = require("./use-reducer-with-devtools");
const _errorboundary = require("./error-boundary");
const _createinitialrouterstate = require("./router-reducer/create-initial-router-state");
const _isbot = require("../../shared/lib/router/utils/is-bot");
const _addbasepath = require("../add-base-path");
const _approuterannouncer = require("./app-router-announcer");
const _redirectboundary = require("./redirect-boundary");
const _findheadincache = require("./router-reducer/reducers/find-head-in-cache");
const _infinitepromise = require("./infinite-promise");
const _approuterheaders = require("./app-router-headers");
const _removebasepath = require("../remove-base-path");
const _hasbasepath = require("../has-base-path");
const isServer = "object" === "undefined";
// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.
let initialParallelRoutes = isServer ? null : new Map();
let globalServerActionDispatcher = null;
function getServerActionDispatcher() {
return globalServerActionDispatcher;
}
const globalMutable = {};
function urlToUrlWithoutFlightMarker(url) {
const urlWithoutFlightParameters = new URL(url, location.origin);
urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);
if ("production" === "production") {
if (process.env.__NEXT_CONFIG_OUTPUT === "export" && urlWithoutFlightParameters.pathname.endsWith(".txt")) {
const { pathname } = urlWithoutFlightParameters;
const length = pathname.endsWith("/index.txt") ? 10 : 4;
// Slice off `/index.txt` or `.txt` from the end of the pathname
urlWithoutFlightParameters.pathname = pathname.slice(0, -length);
}
}
return urlWithoutFlightParameters;
}
function isExternalURL(url) {
return url.origin !== window.location.origin;
}
function HistoryUpdater(param) {
let { appRouterState, sync } = param;
(0, _react.useInsertionEffect)(()=>{
const { tree, pushRef, canonicalUrl } = appRouterState;
const historyState = {
...pushRef.preserveCustomHistoryState ? window.history.state : {},
// Identifier is shortened intentionally.
// __NA is used to identify if the history entry can be handled by the app-router.
// __N is used to identify if the history entry can be handled by the old router.
__NA: true,
__PRIVATE_NEXTJS_INTERNALS_TREE: tree
};
if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.
// This mirrors the browser behavior for normal navigation.
(0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {
// This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.
pushRef.pendingPush = false;
window.history.pushState(historyState, "", canonicalUrl);
} else {
window.history.replaceState(historyState, "", canonicalUrl);
}
sync(appRouterState);
}, [
appRouterState,
sync
]);
return null;
}
function createEmptyCacheNode() {
return {
lazyData: null,
rsc: null,
prefetchRsc: null,
parallelRoutes: new Map()
};
}
function useServerActionDispatcher(dispatch) {
const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{
(0, _react.startTransition)(()=>{
dispatch({
...actionPayload,
type: _routerreducertypes.ACTION_SERVER_ACTION
});
});
}, [
dispatch
]);
globalServerActionDispatcher = serverActionDispatcher;
}
/**
* Server response that only patches the cache and tree.
*/ function useChangeByServerResponse(dispatch) {
return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_SERVER_PATCH,
flightData,
previousTree,
overrideCanonicalUrl
});
});
}, [
dispatch
]);
}
function useNavigate(dispatch) {
return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{
const url = new URL((0, _addbasepath.addBasePath)(href), location.href);
return dispatch({
type: _routerreducertypes.ACTION_NAVIGATE,
url,
isExternalUrl: isExternalURL(url),
locationSearch: location.search,
shouldScroll: shouldScroll != null ? shouldScroll : true,
navigateType
});
}, [
dispatch
]);
}
function copyNextJsInternalHistoryState(data) {
if (data == null) data = {};
const currentState = window.history.state;
const __NA = currentState == null ? void 0 : currentState.__NA;
if (__NA) {
data.__NA = __NA;
}
const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;
if (__PRIVATE_NEXTJS_INTERNALS_TREE) {
data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;
}
return data;
}
function Head(param) {
let { headCacheNode } = param;
// If this segment has a `prefetchHead`, it's the statically prefetched data.
// We should use that on initial render instead of `head`. Then we'll switch
// to `head` when the dynamic response streams in.
const head = headCacheNode !== null ? headCacheNode.head : null;
const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;
// If no prefetch data is available, then we go straight to rendering `head`.
const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;
// We use `useDeferredValue` to handle switching between the prefetched and
// final values. The second argument is returned on initial render, then it
// re-renders with the first argument.
//
// @ts-expect-error The second argument to `useDeferredValue` is only
// available in the experimental builds. When its disabled, it will always
// return `head`.
return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);
}
/**
* The global router that wraps the application components.
*/ function Router(param) {
let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, assetPrefix, missingSlots } = param;
const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({
buildId,
initialSeedData,
initialCanonicalUrl,
initialTree,
initialParallelRoutes,
isServer,
location: !isServer ? window.location : null,
initialHead
}), [
buildId,
initialSeedData,
initialCanonicalUrl,
initialTree,
initialHead
]);
const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);
(0, _react.useEffect)(()=>{
// Ensure initialParallelRoutes is cleaned up from memory once it's used.
initialParallelRoutes = null;
}, []);
const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
// Add memoized pathname/query for useSearchParams and usePathname.
const { searchParams, pathname } = (0, _react.useMemo)(()=>{
const url = new URL(canonicalUrl, "object" === "undefined" ? "http://n" : window.location.href);
return {
// This is turned into a readonly class in `useSearchParams`
searchParams: url.searchParams,
pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname
};
}, [
canonicalUrl
]);
const changeByServerResponse = useChangeByServerResponse(dispatch);
const navigate = useNavigate(dispatch);
useServerActionDispatcher(dispatch);
/**
* The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.
*/ const appRouter = (0, _react.useMemo)(()=>{
const routerInstance = {
back: ()=>window.history.back(),
forward: ()=>window.history.forward(),
prefetch: (href, options)=>{
// Don't prefetch for bots as they don't navigate.
// Don't prefetch during development (improves compilation performance)
if ((0, _isbot.isBot)(window.navigator.userAgent) || "production" === "development") {
return;
}
const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);
// External urls can't be prefetched in the same way.
if (isExternalURL(url)) {
return;
}
(0, _react.startTransition)(()=>{
var _options_kind;
dispatch({
type: _routerreducertypes.ACTION_PREFETCH,
url,
kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL
});
});
},
replace: (href, options)=>{
if (options === void 0) options = {};
(0, _react.startTransition)(()=>{
var _options_scroll;
navigate(href, "replace", (_options_scroll = options.scroll) != null ? _options_scroll : true);
});
},
push: (href, options)=>{
if (options === void 0) options = {};
(0, _react.startTransition)(()=>{
var _options_scroll;
navigate(href, "push", (_options_scroll = options.scroll) != null ? _options_scroll : true);
});
},
refresh: ()=>{
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_REFRESH,
origin: window.location.origin
});
});
},
// @ts-ignore we don't want to expose this method at all
fastRefresh: ()=>{
if ("production" !== "development") {
throw new Error("fastRefresh can only be used in development mode. Please use refresh instead.");
} else {
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_FAST_REFRESH,
origin: window.location.origin
});
});
}
}
};
return routerInstance;
}, [
dispatch,
navigate
]);
(0, _react.useEffect)(()=>{
// Exists for debugging purposes. Don't use in application code.
if (window.next) {
window.next.router = appRouter;
}
}, [
appRouter
]);
if ("production" !== "production") {
// eslint-disable-next-line react-hooks/rules-of-hooks
const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
// This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes
// eslint-disable-next-line react-hooks/rules-of-hooks
(0, _react.useEffect)(()=>{
// Add `window.nd` for debugging purposes.
// This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.
// @ts-ignore this is for debugging
window.nd = {
router: appRouter,
cache,
prefetchCache,
tree
};
}, [
appRouter,
cache,
prefetchCache,
tree
]);
}
(0, _react.useEffect)(()=>{
// If the app is restored from bfcache, it's possible that
// pushRef.mpaNavigation is true, which would mean that any re-render of this component
// would trigger the mpa navigation logic again from the lines below.
// This will restore the router to the initial state in the event that the app is restored from bfcache.
function handlePageShow(event) {
var _window_history_state;
if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {
return;
}
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(window.location.href),
tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
}
window.addEventListener("pageshow", handlePageShow);
return ()=>{
window.removeEventListener("pageshow", handlePageShow);
};
}, [
dispatch
]);
// When mpaNavigation flag is set do a hard navigation to the new url.
// Infinitely suspend because we don't actually want to rerender any child
// components with the new URL and any entangled state updates shouldn't
// commit either (eg: useTransition isPending should stay true until the page
// unloads).
//
// This is a side effect in render. Don't try this at home, kids. It's
// probably safe because we know this is a singleton component and it's never
// in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,
// but that's... fine?)
const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
if (pushRef.mpaNavigation) {
// if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL
if (globalMutable.pendingMpaPath !== canonicalUrl) {
const location1 = window.location;
if (pushRef.pendingPush) {
location1.assign(canonicalUrl);
} else {
location1.replace(canonicalUrl);
}
globalMutable.pendingMpaPath = canonicalUrl;
}
// TODO-APP: Should we listen to navigateerror here to catch failed
// navigations somehow? And should we call window.stop() if a SPA navigation
// should interrupt an MPA one?
(0, _react.use)((0, _infinitepromise.createInfinitePromise)());
}
(0, _react.useEffect)(()=>{
const originalPushState = window.history.pushState.bind(window.history);
const originalReplaceState = window.history.replaceState.bind(window.history);
// Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.
const applyUrlFromHistoryPushReplace = (url)=>{
const href = window.location.href;
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(url != null ? url : href, href),
tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
});
};
/**
* Patch pushState to ensure external changes to the history are reflected in the Next.js Router.
* Ensures Next.js internal history state is copied to the new history entry.
* Ensures usePathname and useSearchParams hold the newly provided url.
*/ window.history.pushState = function pushState(data, _unused, url) {
// Avoid a loop when Next.js internals trigger pushState/replaceState
if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {
return originalPushState(data, _unused, url);
}
data = copyNextJsInternalHistoryState(data);
if (url) {
applyUrlFromHistoryPushReplace(url);
}
return originalPushState(data, _unused, url);
};
/**
* Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.
* Ensures Next.js internal history state is copied to the new history entry.
* Ensures usePathname and useSearchParams hold the newly provided url.
*/ window.history.replaceState = function replaceState(data, _unused, url) {
// Avoid a loop when Next.js internals trigger pushState/replaceState
if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {
return originalReplaceState(data, _unused, url);
}
data = copyNextJsInternalHistoryState(data);
if (url) {
applyUrlFromHistoryPushReplace(url);
}
return originalReplaceState(data, _unused, url);
};
/**
* Handle popstate event, this is used to handle back/forward in the browser.
* By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.
* That case can happen when the old router injected the history entry.
*/ const onPopState = (param)=>{
let { state } = param;
if (!state) {
// TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.
return;
}
// This case happens when the history entry was pushed by the `pages` router.
if (!state.__NA) {
window.location.reload();
return;
}
// @ts-ignore useTransition exists
// TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously
// Without startTransition works if the cache is there for this path
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(window.location.href),
tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
});
};
// Register popstate event to call onPopstate.
window.addEventListener("popstate", onPopState);
return ()=>{
window.history.pushState = originalPushState;
window.history.replaceState = originalReplaceState;
window.removeEventListener("popstate", onPopState);
};
}, [
dispatch
]);
const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
const matchingHead = (0, _react.useMemo)(()=>{
return (0, _findheadincache.findHeadInCache)(cache, tree[1]);
}, [
cache,
tree
]);
let head;
if (matchingHead !== null) {
// The head is wrapped in an extra component so we can use
// `useDeferredValue` to swap between the prefetched and final versions of
// the head. (This is what LayoutRouter does for segment data, too.)
//
// The `key` is used to remount the component whenever the head moves to
// a different segment.
const [headCacheNode, headKey] = matchingHead;
head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {
headCacheNode: headCacheNode
}, headKey);
} else {
head = null;
}
let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {
children: [
head,
cache.rsc,
/*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {
tree: tree
})
]
});
if ("production" !== "production") {
if ("object" !== "undefined") {
const DevRootNotFoundBoundary = require("./dev-root-not-found-boundary").DevRootNotFoundBoundary;
content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootNotFoundBoundary, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext.Provider, {
value: missingSlots,
children: content
})
});
}
const HotReloader = require("./react-dev-overlay/hot-reloader-client").default;
content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {
assetPrefix: assetPrefix,
children: content
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {
appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),
sync: sync
}),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {
value: pathname,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {
value: searchParams,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {
value: {
buildId,
changeByServerResponse,
tree,
focusAndScrollRef,
nextUrl
},
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {
value: appRouter,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
value: {
childNodes: cache.parallelRoutes,
tree,
// Root node always has `url`
// Provided in AppTreeContext to ensure it can be overwritten in layout-router
url: canonicalUrl
},
children: content
})
})
})
})
})
]
});
}
function AppRouter(props) {
const { globalErrorComponent, ...rest } = props;
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
errorComponent: globalErrorComponent,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {
...rest
})
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=app-router.js.map
d55ACo_� � � > D F o � � � � � � � � S s y { � � � � � ! # X _| � � � � � � � � / B H J o � � � � � � � � � 7 = ? l _� � � � � � � � � 0 6 8 I �
�
�
" I [# r# v# # �.
/ �/ �0 2 02 E32 �5 �T �T �T rW ��Object.defineProperty(exports, "__esModule", (�))�0�__webpack_require__�91884��3827��64090��38599��91414��68419��14758��21276��48955��94492��16407��45786��92054��85737��40671��44399��42275��18895��87379�true�false�{}� false�0����������source�size�maps\��� ReplaceSourceRawSource�a /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
getServerActionDispatcher: null,
urlToUrlWithoutFlightMarker: null,
createEmptyCacheNode: null,
default: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getServerActionDispatcher: function() {
return getServerActionDispatcher;
},
urlToUrlWithoutFlightMarker: function() {
return urlToUrlWithoutFlightMarker;
},
createEmptyCacheNode: function() {
return createEmptyCacheNode;
},
default: function() {
return AppRouter;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
const _routerreducertypes = require("./router-reducer/router-reducer-types");
const _createhreffromurl = require("./router-reducer/create-href-from-url");
const _hooksclientcontextsharedruntime = require("../../shared/lib/hooks-client-context.shared-runtime");
const _usereducerwithdevtools = require("./use-reducer-with-devtools");
const _errorboundary = require("./error-boundary");
const _createinitialrouterstate = require("./router-reducer/create-initial-router-state");
const _isbot = require("../../shared/lib/router/utils/is-bot");
const _addbasepath = require("../add-base-path");
const _approuterannouncer = require("./app-router-announcer");
const _redirectboundary = require("./redirect-boundary");
const _findheadincache = require("./router-reducer/reducers/find-head-in-cache");
const _infinitepromise = require("./infinite-promise");
const _approuterheaders = require("./app-router-headers");
const _removebasepath = require("../remove-base-path");
const _hasbasepath = require("../has-base-path");
const isServer = "object" === "undefined";
// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.
let initialParallelRoutes = isServer ? null : new Map();
let globalServerActionDispatcher = null;
function getServerActionDispatcher() {
return globalServerActionDispatcher;
}
const globalMutable = {};
function urlToUrlWithoutFlightMarker(url) {
const urlWithoutFlightParameters = new URL(url, location.origin);
urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);
if ("production" === "production") {
if (process.env.__NEXT_CONFIG_OUTPUT === "export" && urlWithoutFlightParameters.pathname.endsWith(".txt")) {
const { pathname } = urlWithoutFlightParameters;
const length = pathname.endsWith("/index.txt") ? 10 : 4;
// Slice off `/index.txt` or `.txt` from the end of the pathname
urlWithoutFlightParameters.pathname = pathname.slice(0, -length);
}
}
return urlWithoutFlightParameters;
}
function isExternalURL(url) {
return url.origin !== window.location.origin;
}
function HistoryUpdater(param) {
let { appRouterState, sync } = param;
(0, _react.useInsertionEffect)(()=>{
const { tree, pushRef, canonicalUrl } = appRouterState;
const historyState = {
...pushRef.preserveCustomHistoryState ? window.history.state : {},
// Identifier is shortened intentionally.
// __NA is used to identify if the history entry can be handled by the app-router.
// __N is used to identify if the history entry can be handled by the old router.
__NA: true,
__PRIVATE_NEXTJS_INTERNALS_TREE: tree
};
if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.
// This mirrors the browser behavior for normal navigation.
(0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {
// This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.
pushRef.pendingPush = false;
window.history.pushState(historyState, "", canonicalUrl);
} else {
window.history.replaceState(historyState, "", canonicalUrl);
}
sync(appRouterState);
}, [
appRouterState,
sync
]);
return null;
}
function createEmptyCacheNode() {
return {
lazyData: null,
rsc: null,
prefetchRsc: null,
parallelRoutes: new Map()
};
}
function useServerActionDispatcher(dispatch) {
const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{
(0, _react.startTransition)(()=>{
dispatch({
...actionPayload,
type: _routerreducertypes.ACTION_SERVER_ACTION
});
});
}, [
dispatch
]);
globalServerActionDispatcher = serverActionDispatcher;
}
/**
* Server response that only patches the cache and tree.
*/ function useChangeByServerResponse(dispatch) {
return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_SERVER_PATCH,
flightData,
previousTree,
overrideCanonicalUrl
});
});
}, [
dispatch
]);
}
function useNavigate(dispatch) {
return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{
const url = new URL((0, _addbasepath.addBasePath)(href), location.href);
return dispatch({
type: _routerreducertypes.ACTION_NAVIGATE,
url,
isExternalUrl: isExternalURL(url),
locationSearch: location.search,
shouldScroll: shouldScroll != null ? shouldScroll : true,
navigateType
});
}, [
dispatch
]);
}
function copyNextJsInternalHistoryState(data) {
if (data == null) data = {};
const currentState = window.history.state;
const __NA = currentState == null ? void 0 : currentState.__NA;
if (__NA) {
data.__NA = __NA;
}
const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;
if (__PRIVATE_NEXTJS_INTERNALS_TREE) {
data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;
}
return data;
}
function Head(param) {
let { headCacheNode } = param;
// If this segment has a `prefetchHead`, it's the statically prefetched data.
// We should use that on initial render instead of `head`. Then we'll switch
// to `head` when the dynamic response streams in.
const head = headCacheNode !== null ? headCacheNode.head : null;
const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;
// If no prefetch data is available, then we go straight to rendering `head`.
const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;
// We use `useDeferredValue` to handle switching between the prefetched and
// final values. The second argument is returned on initial render, then it
// re-renders with the first argument.
//
// @ts-expect-error The second argument to `useDeferredValue` is only
// available in the experimental builds. When its disabled, it will always
// return `head`.
return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);
}
/**
* The global router that wraps the application components.
*/ function Router(param) {
let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, assetPrefix, missingSlots } = param;
const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({
buildId,
initialSeedData,
initialCanonicalUrl,
initialTree,
initialParallelRoutes,
isServer,
location: !isServer ? window.location : null,
initialHead
}), [
buildId,
initialSeedData,
initialCanonicalUrl,
initialTree,
initialHead
]);
const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);
(0, _react.useEffect)(()=>{
// Ensure initialParallelRoutes is cleaned up from memory once it's used.
initialParallelRoutes = null;
}, []);
const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
// Add memoized pathname/query for useSearchParams and usePathname.
const { searchParams, pathname } = (0, _react.useMemo)(()=>{
const url = new URL(canonicalUrl, "object" === "undefined" ? "http://n" : window.location.href);
return {
// This is turned into a readonly class in `useSearchParams`
searchParams: url.searchParams,
pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname
};
}, [
canonicalUrl
]);
const changeByServerResponse = useChangeByServerResponse(dispatch);
const navigate = useNavigate(dispatch);
useServerActionDispatcher(dispatch);
/**
* The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.
*/ const appRouter = (0, _react.useMemo)(()=>{
const routerInstance = {
back: ()=>window.history.back(),
forward: ()=>window.history.forward(),
prefetch: (href, options)=>{
// Don't prefetch for bots as they don't navigate.
// Don't prefetch during development (improves compilation performance)
if ((0, _isbot.isBot)(window.navigator.userAgent) || "production" === "development") {
return;
}
const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);
// External urls can't be prefetched in the same way.
if (isExternalURL(url)) {
return;
}
(0, _react.startTransition)(()=>{
var _options_kind;
dispatch({
type: _routerreducertypes.ACTION_PREFETCH,
url,
kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL
});
});
},
replace: (href, options)=>{
if (options === void 0) options = {};
(0, _react.startTransition)(()=>{
var _options_scroll;
navigate(href, "replace", (_options_scroll = options.scroll) != null ? _options_scroll : true);
});
},
push: (href, options)=>{
if (options === void 0) options = {};
(0, _react.startTransition)(()=>{
var _options_scroll;
navigate(href, "push", (_options_scroll = options.scroll) != null ? _options_scroll : true);
});
},
refresh: ()=>{
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_REFRESH,
origin: window.location.origin
});
});
},
// @ts-ignore we don't want to expose this method at all
fastRefresh: ()=>{
if ("production" !== "development") {
throw new Error("fastRefresh can only be used in development mode. Please use refresh instead.");
} else {
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_FAST_REFRESH,
origin: window.location.origin
});
});
}
}
};
return routerInstance;
}, [
dispatch,
navigate
]);
(0, _react.useEffect)(()=>{
// Exists for debugging purposes. Don't use in application code.
if (window.next) {
window.next.router = appRouter;
}
}, [
appRouter
]);
if ("production" !== "production") {
// eslint-disable-next-line react-hooks/rules-of-hooks
const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
// This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes
// eslint-disable-next-line react-hooks/rules-of-hooks
(0, _react.useEffect)(()=>{
// Add `window.nd` for debugging purposes.
// This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.
// @ts-ignore this is for debugging
window.nd = {
router: appRouter,
cache,
prefetchCache,
tree
};
}, [
appRouter,
cache,
prefetchCache,
tree
]);
}
(0, _react.useEffect)(()=>{
// If the app is restored from bfcache, it's possible that
// pushRef.mpaNavigation is true, which would mean that any re-render of this component
// would trigger the mpa navigation logic again from the lines below.
// This will restore the router to the initial state in the event that the app is restored from bfcache.
function handlePageShow(event) {
var _window_history_state;
if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {
return;
}
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(window.location.href),
tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
}
window.addEventListener("pageshow", handlePageShow);
return ()=>{
window.removeEventListener("pageshow", handlePageShow);
};
}, [
dispatch
]);
// When mpaNavigation flag is set do a hard navigation to the new url.
// Infinitely suspend because we don't actually want to rerender any child
// components with the new URL and any entangled state updates shouldn't
// commit either (eg: useTransition isPending should stay true until the page
// unloads).
//
// This is a side effect in render. Don't try this at home, kids. It's
// probably safe because we know this is a singleton component and it's never
// in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,
// but that's... fine?)
const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
if (pushRef.mpaNavigation) {
// if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL
if (globalMutable.pendingMpaPath !== canonicalUrl) {
const location1 = window.location;
if (pushRef.pendingPush) {
location1.assign(canonicalUrl);
} else {
location1.replace(canonicalUrl);
}
globalMutable.pendingMpaPath = canonicalUrl;
}
// TODO-APP: Should we listen to navigateerror here to catch failed
// navigations somehow? And should we call window.stop() if a SPA navigation
// should interrupt an MPA one?
(0, _react.use)((0, _infinitepromise.createInfinitePromise)());
}
(0, _react.useEffect)(()=>{
const originalPushState = window.history.pushState.bind(window.history);
const originalReplaceState = window.history.replaceState.bind(window.history);
// Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.
const applyUrlFromHistoryPushReplace = (url)=>{
const href = window.location.href;
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(url != null ? url : href, href),
tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
});
};
/**
* Patch pushState to ensure external changes to the history are reflected in the Next.js Router.
* Ensures Next.js internal history state is copied to the new history entry.
* Ensures usePathname and useSearchParams hold the newly provided url.
*/ window.history.pushState = function pushState(data, _unused, url) {
// Avoid a loop when Next.js internals trigger pushState/replaceState
if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {
return originalPushState(data, _unused, url);
}
data = copyNextJsInternalHistoryState(data);
if (url) {
applyUrlFromHistoryPushReplace(url);
}
return originalPushState(data, _unused, url);
};
/**
* Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.
* Ensures Next.js internal history state is copied to the new history entry.
* Ensures usePathname and useSearchParams hold the newly provided url.
*/ window.history.replaceState = function replaceState(data, _unused, url) {
// Avoid a loop when Next.js internals trigger pushState/replaceState
if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {
return originalReplaceState(data, _unused, url);
}
data = copyNextJsInternalHistoryState(data);
if (url) {
applyUrlFromHistoryPushReplace(url);
}
return originalReplaceState(data, _unused, url);
};
/**
* Handle popstate event, this is used to handle back/forward in the browser.
* By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.
* That case can happen when the old router injected the history entry.
*/ const onPopState = (param)=>{
let { state } = param;
if (!state) {
// TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.
return;
}
// This case happens when the history entry was pushed by the `pages` router.
if (!state.__NA) {
window.location.reload();
return;
}
// @ts-ignore useTransition exists
// TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously
// Without startTransition works if the cache is there for this path
(0, _react.startTransition)(()=>{
dispatch({
type: _routerreducertypes.ACTION_RESTORE,
url: new URL(window.location.href),
tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE
});
});
};
// Register popstate event to call onPopstate.
window.addEventListener("popstate", onPopState);
return ()=>{
window.history.pushState = originalPushState;
window.history.replaceState = originalReplaceState;
window.removeEventListener("popstate", onPopState);
};
}, [
dispatch
]);
const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);
const matchingHead = (0, _react.useMemo)(()=>{
return (0, _findheadincache.findHeadInCache)(cache, tree[1]);
}, [
cache,
tree
]);
let head;
if (matchingHead !== null) {
// The head is wrapped in an extra component so we can use
// `useDeferredValue` to swap between the prefetched and final versions of
// the head. (This is what LayoutRouter does for segment data, too.)
//
// The `key` is used to remount the component whenever the head moves to
// a different segment.
const [headCacheNode, headKey] = matchingHead;
head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {
headCacheNode: headCacheNode
}, headKey);
} else {
head = null;
}
let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {
children: [
head,
cache.rsc,
/*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {
tree: tree
})
]
});
if ("production" !== "production") {
if ("object" !== "undefined") {
const DevRootNotFoundBoundary = require("./dev-root-not-found-boundary").DevRootNotFoundBoundary;
content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootNotFoundBoundary, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext.Provider, {
value: missingSlots,
children: content
})
});
}
const HotReloader = require("./react-dev-overlay/hot-reloader-client").default;
content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {
assetPrefix: assetPrefix,
children: content
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {
appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),
sync: sync
}),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {
value: pathname,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {
value: searchParams,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {
value: {
buildId,
changeByServerResponse,
tree,
focusAndScrollRef,
nextUrl
},
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {
value: appRouter,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
value: {
childNodes: cache.parallelRoutes,
tree,
// Root node always has `url`
// Provided in AppTreeContext to ensure it can be overwritten in layout-router
url: canonicalUrl
},
children: content
})
})
})
})
})
]
});
}
function AppRouter(props) {
const { globalErrorComponent, ...rest } = props;
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
errorComponent: globalErrorComponent,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {
...rest
})
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=app-router.js.map
� 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402850undefined830836__webpack_require__undefined83887991884undefined903909__webpack_require__undefined9119293827undefined990996__webpack_require__undefined998100464090undefined10481054__webpack_require__undefined1056110738599undefined11391145__webpack_require__undefined1147118591414undefined12161222__webpack_require__undefined1224126268419undefined13071313__webpack_require__undefined1315136814758undefined14041410__webpack_require__undefined1412144021276undefined14671473__webpack_require__undefined1475149248955undefined15301536__webpack_require__undefined1538158394492undefined16021608__webpack_require__undefined1610164716407undefined16721678__webpack_require__undefined1680169745786undefined17291735__webpack_require__undefined1737176092054undefined17901796__webpack_require__undefined1798181885737undefined18471853__webpack_require__undefined1855190040671undefined19291935__webpack_require__undefined1937195644399undefined19861992__webpack_require__undefined1994201542275undefined20432049__webpack_require__undefined2051207118895undefined20962102__webpack_require__undefined2104212187379undefined27022730trueundefined27472847falseundefined28503145{}undefined90519074 falseundefined907890870undefined1201312042trueundefined1218812481{}undefined1282012848falseundefined1285113707{}undefined2163221660falseundefined2166322386{}undefined
�����__webpack_require__ �� � �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSourceV /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
ErrorBoundaryHandler: null,
GlobalError: null,
default: null,
ErrorBoundary: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
ErrorBoundaryHandler: function() {
return ErrorBoundaryHandler;
},
GlobalError: function() {
return GlobalError;
},
// Exported so that the import signature in the loaders can be identical to user
// supplied custom global error signatures.
default: function() {
return _default;
},
ErrorBoundary: function() {
return ErrorBoundary;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _navigation = require("./navigation");
const _isnextroutererror = require("./is-next-router-error");
const styles = {
error: {
// https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52
fontFamily: 'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',
height: "100vh",
textAlign: "center",
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center"
},
text: {
fontSize: "14px",
fontWeight: 400,
lineHeight: "28px",
margin: "0 8px"
}
};
// if we are revalidating we want to re-throw the error so the
// function crashes so we can maintain our previous cache
// instead of caching the error page
function HandleISRError(param) {
let { error } = param;
if (typeof fetch.__nextGetStaticStore === "function") {
var _fetch___nextGetStaticStore;
const store = (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore()) == null ? void 0 : _fetch___nextGetStaticStore.getStore();
if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {
console.error(error);
throw error;
}
}
return null;
}
class ErrorBoundaryHandler extends _react.default.Component {
static getDerivedStateFromError(error) {
if ((0, _isnextroutererror.isNextRouterError)(error)) {
// Re-throw if an expected internal Next.js router error occurs
// this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)
throw error;
}
return {
error
};
}
static getDerivedStateFromProps(props, state) {
/**
* Handles reset of the error boundary when a navigation happens.
* Ensures the error boundary does not stay enabled when navigating to a new page.
* Approach of setState in render is safe as it checks the previous pathname and then overrides
* it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders
*/ if (props.pathname !== state.previousPathname && state.error) {
return {
error: null,
previousPathname: props.pathname
};
}
return {
error: state.error,
previousPathname: props.pathname
};
}
render() {
if (this.state.error) {
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {
error: this.state.error
}),
this.props.errorStyles,
this.props.errorScripts,
/*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {
error: this.state.error,
reset: this.reset
})
]
});
}
return this.props.children;
}
constructor(props){
super(props);
this.reset = ()=>{
this.setState({
error: null
});
};
this.state = {
error: null,
previousPathname: this.props.pathname
};
}
}
function GlobalError(param) {
let { error } = param;
const digest = error == null ? void 0 : error.digest;
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("html", {
id: "__next_error__",
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("head", {}),
/*#__PURE__*/ (0, _jsxruntime.jsxs)("body", {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {
error: error
}),
/*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
style: styles.error,
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
style: styles.text,
children: "Application error: a " + (digest ? "server" : "client") + "-side exception has occurred (see the " + (digest ? "server logs" : "browser console") + " for more information)."
}),
digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
style: styles.text,
children: "Digest: " + digest
}) : null
]
})
})
]
})
]
});
}
const _default = GlobalError;
function ErrorBoundary(param) {
let { errorComponent, errorStyles, errorScripts, children } = param;
const pathname = (0, _navigation.usePathname)();
if (errorComponent) {
return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {
pathname: pathname,
errorComponent: errorComponent,
errorStyles: errorStyles,
errorScripts: errorScripts,
children: children
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=error-boundary.js.map
d5ACoW� � � m s u � � � � � 2 8 : G f l n � ��Object.defineProperty(exports, "__esModule", (�))�0�__webpack_require__�86921��3827��64090��15313��74950� �V /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
ErrorBoundaryHandler: null,
GlobalError: null,
default: null,
ErrorBoundary: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
ErrorBoundaryHandler: function() {
return ErrorBoundaryHandler;
},
GlobalError: function() {
return GlobalError;
},
// Exported so that the import signature in the loaders can be identical to user
// supplied custom global error signatures.
default: function() {
return _default;
},
ErrorBoundary: function() {
return ErrorBoundary;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _navigation = require("./navigation");
const _isnextroutererror = require("./is-next-router-error");
const styles = {
error: {
// https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52
fontFamily: 'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',
height: "100vh",
textAlign: "center",
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center"
},
text: {
fontSize: "14px",
fontWeight: 400,
lineHeight: "28px",
margin: "0 8px"
}
};
// if we are revalidating we want to re-throw the error so the
// function crashes so we can maintain our previous cache
// instead of caching the error page
function HandleISRError(param) {
let { error } = param;
if (typeof fetch.__nextGetStaticStore === "function") {
var _fetch___nextGetStaticStore;
const store = (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore()) == null ? void 0 : _fetch___nextGetStaticStore.getStore();
if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {
console.error(error);
throw error;
}
}
return null;
}
class ErrorBoundaryHandler extends _react.default.Component {
static getDerivedStateFromError(error) {
if ((0, _isnextroutererror.isNextRouterError)(error)) {
// Re-throw if an expected internal Next.js router error occurs
// this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)
throw error;
}
return {
error
};
}
static getDerivedStateFromProps(props, state) {
/**
* Handles reset of the error boundary when a navigation happens.
* Ensures the error boundary does not stay enabled when navigating to a new page.
* Approach of setState in render is safe as it checks the previous pathname and then overrides
* it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders
*/ if (props.pathname !== state.previousPathname && state.error) {
return {
error: null,
previousPathname: props.pathname
};
}
return {
error: state.error,
previousPathname: props.pathname
};
}
render() {
if (this.state.error) {
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {
error: this.state.error
}),
this.props.errorStyles,
this.props.errorScripts,
/*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {
error: this.state.error,
reset: this.reset
})
]
});
}
return this.props.children;
}
constructor(props){
super(props);
this.reset = ()=>{
this.setState({
error: null
});
};
this.state = {
error: null,
previousPathname: this.props.pathname
};
}
}
function GlobalError(param) {
let { error } = param;
const digest = error == null ? void 0 : error.digest;
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("html", {
id: "__next_error__",
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("head", {}),
/*#__PURE__*/ (0, _jsxruntime.jsxs)("body", {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {
error: error
}),
/*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
style: styles.error,
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("h2", {
style: styles.text,
children: "Application error: a " + (digest ? "server" : "client") + "-side exception has occurred (see the " + (digest ? "server logs" : "browser console") + " for more information)."
}),
digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
style: styles.text,
children: "Digest: " + digest
}) : null
]
})
})
]
})
]
});
}
const _default = GlobalError;
function ErrorBoundary(param) {
let { errorComponent, errorStyles, errorScripts, children } = param;
const pathname = (0, _navigation.usePathname)();
if (errorComponent) {
return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {
pathname: pathname,
errorComponent: errorComponent,
errorStyles: errorStyles,
errorScripts: errorScripts,
children: children
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=error-boundary.js.map
� 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined1402570undefined877883__webpack_require__undefined88592586921undefined949955__webpack_require__undefined9579753827undefined10351041__webpack_require__undefined1043104964090undefined10741080__webpack_require__undefined1082109515313undefined11261132__webpack_require__undefined1134115774950undefined
������� �� 5[ �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource7X /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, /**
* OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.
* It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.
*/ "default", {
enumerable: true,
get: function() {
return OuterLayoutRouter;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactdom = /*#__PURE__*/ _interop_require_default._(require("react-dom"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
const _fetchserverresponse = require("./router-reducer/fetch-server-response");
const _infinitepromise = require("./infinite-promise");
const _errorboundary = require("./error-boundary");
const _matchsegments = require("./match-segments");
const _handlesmoothscroll = require("../../shared/lib/router/utils/handle-smooth-scroll");
const _redirectboundary = require("./redirect-boundary");
const _notfoundboundary = require("./not-found-boundary");
const _getsegmentvalue = require("./router-reducer/reducers/get-segment-value");
const _createroutercachekey = require("./router-reducer/create-router-cache-key");
/**
* Add refetch marker to router state at the point of the current layout segment.
* This ensures the response returned is not further down than the current layout segment.
*/ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {
if (segmentPathToWalk) {
const [segment, parallelRouteKey] = segmentPathToWalk;
const isLast = segmentPathToWalk.length === 2;
if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {
if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {
if (isLast) {
const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: [
subTree[0],
subTree[1],
subTree[2],
"refetch"
]
}
];
}
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])
}
];
}
}
}
return treeToRecreate;
}
// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available
/**
* Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning
*/ function findDOMNode(instance) {
// Tree-shake for server bundle
if ("object" === "undefined") return null;
// Only apply strict mode warning when not in production
if ("production" !== "production") {
const originalConsoleError = console.error;
try {
console.error = function() {
for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){
messages[_key] = arguments[_key];
}
// Ignore strict mode warning for the findDomNode call below
if (!messages[0].includes("Warning: %s is deprecated in StrictMode.")) {
originalConsoleError(...messages);
}
};
return _reactdom.default.findDOMNode(instance);
} finally{
console.error = originalConsoleError;
}
}
return _reactdom.default.findDOMNode(instance);
}
const rectProperties = [
"bottom",
"height",
"left",
"right",
"top",
"width",
"x",
"y"
];
/**
* Check if a HTMLElement is hidden or fixed/sticky position
*/ function shouldSkipElement(element) {
// we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check
// and will result in a situation we bail on scroll because of something like a fixed nav,
// even though the actual page content is offscreen
if ([
"sticky",
"fixed"
].includes(getComputedStyle(element).position)) {
if ("production" === "development") {
console.warn("Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:", element);
}
return true;
}
// Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`
// because `offsetParent` doesn't consider document/body
const rect = element.getBoundingClientRect();
return rectProperties.every((item)=>rect[item] === 0);
}
/**
* Check if the top corner of the HTMLElement is in the viewport.
*/ function topOfElementInViewport(element, viewportHeight) {
const rect = element.getBoundingClientRect();
return rect.top >= 0 && rect.top <= viewportHeight;
}
/**
* Find the DOM node for a hash fragment.
* If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.
* If the hash fragment is an id, the page has to scroll to the element with that id.
* If the hash fragment is a name, the page has to scroll to the first element with that name.
*/ function getHashFragmentDomNode(hashFragment) {
// If the hash fragment is `top` the page has to scroll to the top of the page.
if (hashFragment === "top") {
return document.body;
}
var _document_getElementById;
// If the hash fragment is an id, the page has to scroll to the element with that id.
return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];
}
class InnerScrollAndFocusHandler extends _react.default.Component {
componentDidMount() {
this.handlePotentialScroll();
}
componentDidUpdate() {
// Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.
if (this.props.focusAndScrollRef.apply) {
this.handlePotentialScroll();
}
}
render() {
return this.props.children;
}
constructor(...args){
super(...args);
this.handlePotentialScroll = ()=>{
// Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.
const { focusAndScrollRef, segmentPath } = this.props;
if (focusAndScrollRef.apply) {
// segmentPaths is an array of segment paths that should be scrolled to
// if the current segment path is not in the array, the scroll is not applied
// unless the array is empty, in which case the scroll is always applied
if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {
return;
}
let domNode = null;
const hashFragment = focusAndScrollRef.hashFragment;
if (hashFragment) {
domNode = getHashFragmentDomNode(hashFragment);
}
// `findDOMNode` is tricky because it returns just the first child if the component is a fragment.
// This already caused a bug where the first child was a <link/> in head.
if (!domNode) {
domNode = findDOMNode(this);
}
// If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.
if (!(domNode instanceof Element)) {
return;
}
// Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.
// If the element is skipped, try to select the next sibling and try again.
while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){
// No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.
if (domNode.nextElementSibling === null) {
return;
}
domNode = domNode.nextElementSibling;
}
// State is mutated to ensure that the focus and scroll is applied only once.
focusAndScrollRef.apply = false;
focusAndScrollRef.hashFragment = null;
focusAndScrollRef.segmentPaths = [];
(0, _handlesmoothscroll.handleSmoothScroll)(()=>{
// In case of hash scroll, we only need to scroll the element into view
if (hashFragment) {
domNode.scrollIntoView();
return;
}
// Store the current viewport height because reading `clientHeight` causes a reflow,
// and it won't change during this function.
const htmlElement = document.documentElement;
const viewportHeight = htmlElement.clientHeight;
// If the element's top edge is already in the viewport, exit early.
if (topOfElementInViewport(domNode, viewportHeight)) {
return;
}
// Otherwise, try scrolling go the top of the document to be backward compatible with pages
// scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)
// We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left
// scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically
htmlElement.scrollTop = 0;
// Scroll to domNode if domNode is not in viewport when scrolled to top of document
if (!topOfElementInViewport(domNode, viewportHeight)) {
domNode.scrollIntoView();
}
}, {
// We will force layout by querying domNode position
dontForceLayout: true,
onlyHashChange: focusAndScrollRef.onlyHashChange
});
// Mutate after scrolling so that it can be read by `handleSmoothScroll`
focusAndScrollRef.onlyHashChange = false;
// Set focus on the element
domNode.focus();
}
};
}
}
function ScrollAndFocusHandler(param) {
let { segmentPath, children } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
if (!context) {
throw new Error("invariant global layout router not mounted");
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {
segmentPath: segmentPath,
focusAndScrollRef: context.focusAndScrollRef,
children: children
});
}
/**
* InnerLayoutRouter handles rendering the provided segment based on the cache.
*/ function InnerLayoutRouter(param) {
let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,
cacheKey } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
if (!context) {
throw new Error("invariant global layout router not mounted");
}
const { buildId, changeByServerResponse, tree: fullTree } = context;
// Read segment path from the parallel router cache node.
let childNode = childNodes.get(cacheKey);
// When data is not available during rendering client-side we need to fetch
// it from the server.
if (childNode === undefined) {
const newLazyCacheNode = {
lazyData: null,
rsc: null,
prefetchRsc: null,
head: null,
parallelRoutes: new Map()
};
/**
* Flight data fetch kicked off during render and put into the cache.
*/ childNode = newLazyCacheNode;
childNodes.set(cacheKey, newLazyCacheNode);
}
// `rsc` represents the renderable node for this segment.
// If this segment has a `prefetchRsc`, it's the statically prefetched data.
// We should use that on initial render instead of `rsc`. Then we'll switch
// to `rsc` when the dynamic response streams in.
//
// If no prefetch data is available, then we go straight to rendering `rsc`.
const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;
// We use `useDeferredValue` to handle switching between the prefetched and
// final values. The second argument is returned on initial render, then it
// re-renders with the first argument.
//
// @ts-expect-error The second argument to `useDeferredValue` is only
// available in the experimental builds. When its disabled, it will always
// return `rsc`.
const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);
// `rsc` is either a React node or a promise for a React node, except we
// special case `null` to represent that this segment's data is missing. If
// it's a promise, we need to unwrap it so we can determine whether or not the
// data is missing.
const resolvedRsc = typeof rsc === "object" && rsc !== null && typeof rsc.then === "function" ? (0, _react.use)(rsc) : rsc;
if (!resolvedRsc) {
// The data for this segment is not available, and there's no pending
// navigation that will be able to fulfill it. We need to fetch more from
// the server and patch the cache.
// Check if there's already a pending request.
let lazyData = childNode.lazyData;
if (lazyData === null) {
/**
* Router state with refetch marker added
*/ // TODO-APP: remove ''
const refetchTree = walkAddRefetch([
"",
...segmentPath
], fullTree);
childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId);
}
/**
* Flight response data
*/ // When the data has not resolved yet `use` will suspend here.
const [flightData, overrideCanonicalUrl] = (0, _react.use)(lazyData);
// segmentPath from the server does not match the layout's segmentPath
childNode.lazyData = null;
// setTimeout is used to start a new transition during render, this is an intentional hack around React.
setTimeout(()=>{
(0, _react.startTransition)(()=>{
changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);
});
});
// Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.
(0, _react.use)((0, _infinitepromise.createInfinitePromise)());
}
// If we get to this point, then we know we have something we can render.
const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
value: {
tree: tree[1][parallelRouterKey],
childNodes: childNode.parallelRoutes,
// TODO-APP: overriding of url for parallel routes
url: url
},
children: resolvedRsc
});
// Ensure root layout is not wrapped in a div as the root layout renders `<html>`
return subtree;
}
/**
* Renders suspense boundary with the provided "loading" property as the fallback.
* If no loading property is provided it renders the children without a suspense boundary.
*/ function LoadingBoundary(param) {
let { children, loading, loadingStyles, loadingScripts, hasLoading } = param;
if (hasLoading) {
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
loadingStyles,
loadingScripts,
loading
]
}),
children: children
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
function OuterLayoutRouter(param) {
let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, loading, loadingStyles, loadingScripts, hasLoading, template, notFound, notFoundStyles, styles } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
if (!context) {
throw new Error("invariant expected layout router to be mounted");
}
const { childNodes, tree, url } = context;
// Get the current parallelRouter cache node
let childNodesForParallelRouter = childNodes.get(parallelRouterKey);
// If the parallel router cache node does not exist yet, create it.
// This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.
if (!childNodesForParallelRouter) {
childNodesForParallelRouter = new Map();
childNodes.set(parallelRouterKey, childNodesForParallelRouter);
}
// Get the active segment in the tree
// The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.
const treeSegment = tree[1][parallelRouterKey][0];
// If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.
const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);
/**
* Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.
*/ // TODO-APP: Add handling of `<Offscreen>` when it's available.
const preservedSegments = [
treeSegment
];
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
styles,
preservedSegments.map((preservedSegment)=>{
const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);
const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);
return(/*
- Error boundary
- Only renders error boundary if error component is provided.
- Rendered for each segment to ensure they have their own error state.
- Loading boundary
- Only renders suspense boundary if loading components is provided.
- Rendered for each segment to ensure they have their own loading state.
- Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.
*/ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {
value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {
segmentPath: segmentPath,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
errorComponent: error,
errorStyles: errorStyles,
errorScripts: errorScripts,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {
hasLoading: hasLoading,
loading: loading,
loadingStyles: loadingStyles,
loadingScripts: loadingScripts,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {
notFound: notFound,
notFoundStyles: notFoundStyles,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {
parallelRouterKey: parallelRouterKey,
url: url,
tree: tree,
childNodes: childNodesForParallelRouter,
segmentPath: segmentPath,
cacheKey: cacheKey,
isActive: currentChildSegmentValue === preservedSegmentValue
})
})
})
})
})
}),
children: [
templateStyles,
templateScripts,
template
]
}, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));
})
]
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=layout-router.js.map
d)5ACo_� � � � � �
5 [ a c � � � � � � I O Q [ � � � � � � _� / 5 7 J e k m ~ � � � � � � �
+ 1 3 G e k m � � � � � � � M� &
)
p
�
�
> � � � p ��Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "default", (��__webpack_require__�86921��91884��3827��64090��89542��38599��73546��44399��48955��22295��73011��85737��11902��6793��555�false�{}����� �7X /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, /**
* OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.
* It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.
*/ "default", {
enumerable: true,
get: function() {
return OuterLayoutRouter;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _reactdom = /*#__PURE__*/ _interop_require_default._(require("react-dom"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
const _fetchserverresponse = require("./router-reducer/fetch-server-response");
const _infinitepromise = require("./infinite-promise");
const _errorboundary = require("./error-boundary");
const _matchsegments = require("./match-segments");
const _handlesmoothscroll = require("../../shared/lib/router/utils/handle-smooth-scroll");
const _redirectboundary = require("./redirect-boundary");
const _notfoundboundary = require("./not-found-boundary");
const _getsegmentvalue = require("./router-reducer/reducers/get-segment-value");
const _createroutercachekey = require("./router-reducer/create-router-cache-key");
/**
* Add refetch marker to router state at the point of the current layout segment.
* This ensures the response returned is not further down than the current layout segment.
*/ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {
if (segmentPathToWalk) {
const [segment, parallelRouteKey] = segmentPathToWalk;
const isLast = segmentPathToWalk.length === 2;
if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {
if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {
if (isLast) {
const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: [
subTree[0],
subTree[1],
subTree[2],
"refetch"
]
}
];
}
return [
treeToRecreate[0],
{
...treeToRecreate[1],
[parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])
}
];
}
}
}
return treeToRecreate;
}
// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available
/**
* Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning
*/ function findDOMNode(instance) {
// Tree-shake for server bundle
if ("object" === "undefined") return null;
// Only apply strict mode warning when not in production
if ("production" !== "production") {
const originalConsoleError = console.error;
try {
console.error = function() {
for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){
messages[_key] = arguments[_key];
}
// Ignore strict mode warning for the findDomNode call below
if (!messages[0].includes("Warning: %s is deprecated in StrictMode.")) {
originalConsoleError(...messages);
}
};
return _reactdom.default.findDOMNode(instance);
} finally{
console.error = originalConsoleError;
}
}
return _reactdom.default.findDOMNode(instance);
}
const rectProperties = [
"bottom",
"height",
"left",
"right",
"top",
"width",
"x",
"y"
];
/**
* Check if a HTMLElement is hidden or fixed/sticky position
*/ function shouldSkipElement(element) {
// we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check
// and will result in a situation we bail on scroll because of something like a fixed nav,
// even though the actual page content is offscreen
if ([
"sticky",
"fixed"
].includes(getComputedStyle(element).position)) {
if ("production" === "development") {
console.warn("Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:", element);
}
return true;
}
// Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`
// because `offsetParent` doesn't consider document/body
const rect = element.getBoundingClientRect();
return rectProperties.every((item)=>rect[item] === 0);
}
/**
* Check if the top corner of the HTMLElement is in the viewport.
*/ function topOfElementInViewport(element, viewportHeight) {
const rect = element.getBoundingClientRect();
return rect.top >= 0 && rect.top <= viewportHeight;
}
/**
* Find the DOM node for a hash fragment.
* If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.
* If the hash fragment is an id, the page has to scroll to the element with that id.
* If the hash fragment is a name, the page has to scroll to the first element with that name.
*/ function getHashFragmentDomNode(hashFragment) {
// If the hash fragment is `top` the page has to scroll to the top of the page.
if (hashFragment === "top") {
return document.body;
}
var _document_getElementById;
// If the hash fragment is an id, the page has to scroll to the element with that id.
return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];
}
class InnerScrollAndFocusHandler extends _react.default.Component {
componentDidMount() {
this.handlePotentialScroll();
}
componentDidUpdate() {
// Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.
if (this.props.focusAndScrollRef.apply) {
this.handlePotentialScroll();
}
}
render() {
return this.props.children;
}
constructor(...args){
super(...args);
this.handlePotentialScroll = ()=>{
// Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.
const { focusAndScrollRef, segmentPath } = this.props;
if (focusAndScrollRef.apply) {
// segmentPaths is an array of segment paths that should be scrolled to
// if the current segment path is not in the array, the scroll is not applied
// unless the array is empty, in which case the scroll is always applied
if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {
return;
}
let domNode = null;
const hashFragment = focusAndScrollRef.hashFragment;
if (hashFragment) {
domNode = getHashFragmentDomNode(hashFragment);
}
// `findDOMNode` is tricky because it returns just the first child if the component is a fragment.
// This already caused a bug where the first child was a <link/> in head.
if (!domNode) {
domNode = findDOMNode(this);
}
// If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.
if (!(domNode instanceof Element)) {
return;
}
// Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.
// If the element is skipped, try to select the next sibling and try again.
while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){
// No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.
if (domNode.nextElementSibling === null) {
return;
}
domNode = domNode.nextElementSibling;
}
// State is mutated to ensure that the focus and scroll is applied only once.
focusAndScrollRef.apply = false;
focusAndScrollRef.hashFragment = null;
focusAndScrollRef.segmentPaths = [];
(0, _handlesmoothscroll.handleSmoothScroll)(()=>{
// In case of hash scroll, we only need to scroll the element into view
if (hashFragment) {
domNode.scrollIntoView();
return;
}
// Store the current viewport height because reading `clientHeight` causes a reflow,
// and it won't change during this function.
const htmlElement = document.documentElement;
const viewportHeight = htmlElement.clientHeight;
// If the element's top edge is already in the viewport, exit early.
if (topOfElementInViewport(domNode, viewportHeight)) {
return;
}
// Otherwise, try scrolling go the top of the document to be backward compatible with pages
// scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)
// We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left
// scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically
htmlElement.scrollTop = 0;
// Scroll to domNode if domNode is not in viewport when scrolled to top of document
if (!topOfElementInViewport(domNode, viewportHeight)) {
domNode.scrollIntoView();
}
}, {
// We will force layout by querying domNode position
dontForceLayout: true,
onlyHashChange: focusAndScrollRef.onlyHashChange
});
// Mutate after scrolling so that it can be read by `handleSmoothScroll`
focusAndScrollRef.onlyHashChange = false;
// Set focus on the element
domNode.focus();
}
};
}
}
function ScrollAndFocusHandler(param) {
let { segmentPath, children } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
if (!context) {
throw new Error("invariant global layout router not mounted");
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {
segmentPath: segmentPath,
focusAndScrollRef: context.focusAndScrollRef,
children: children
});
}
/**
* InnerLayoutRouter handles rendering the provided segment based on the cache.
*/ function InnerLayoutRouter(param) {
let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,
cacheKey } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
if (!context) {
throw new Error("invariant global layout router not mounted");
}
const { buildId, changeByServerResponse, tree: fullTree } = context;
// Read segment path from the parallel router cache node.
let childNode = childNodes.get(cacheKey);
// When data is not available during rendering client-side we need to fetch
// it from the server.
if (childNode === undefined) {
const newLazyCacheNode = {
lazyData: null,
rsc: null,
prefetchRsc: null,
head: null,
parallelRoutes: new Map()
};
/**
* Flight data fetch kicked off during render and put into the cache.
*/ childNode = newLazyCacheNode;
childNodes.set(cacheKey, newLazyCacheNode);
}
// `rsc` represents the renderable node for this segment.
// If this segment has a `prefetchRsc`, it's the statically prefetched data.
// We should use that on initial render instead of `rsc`. Then we'll switch
// to `rsc` when the dynamic response streams in.
//
// If no prefetch data is available, then we go straight to rendering `rsc`.
const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;
// We use `useDeferredValue` to handle switching between the prefetched and
// final values. The second argument is returned on initial render, then it
// re-renders with the first argument.
//
// @ts-expect-error The second argument to `useDeferredValue` is only
// available in the experimental builds. When its disabled, it will always
// return `rsc`.
const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);
// `rsc` is either a React node or a promise for a React node, except we
// special case `null` to represent that this segment's data is missing. If
// it's a promise, we need to unwrap it so we can determine whether or not the
// data is missing.
const resolvedRsc = typeof rsc === "object" && rsc !== null && typeof rsc.then === "function" ? (0, _react.use)(rsc) : rsc;
if (!resolvedRsc) {
// The data for this segment is not available, and there's no pending
// navigation that will be able to fulfill it. We need to fetch more from
// the server and patch the cache.
// Check if there's already a pending request.
let lazyData = childNode.lazyData;
if (lazyData === null) {
/**
* Router state with refetch marker added
*/ // TODO-APP: remove ''
const refetchTree = walkAddRefetch([
"",
...segmentPath
], fullTree);
childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId);
}
/**
* Flight response data
*/ // When the data has not resolved yet `use` will suspend here.
const [flightData, overrideCanonicalUrl] = (0, _react.use)(lazyData);
// segmentPath from the server does not match the layout's segmentPath
childNode.lazyData = null;
// setTimeout is used to start a new transition during render, this is an intentional hack around React.
setTimeout(()=>{
(0, _react.startTransition)(()=>{
changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);
});
});
// Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.
(0, _react.use)((0, _infinitepromise.createInfinitePromise)());
}
// If we get to this point, then we know we have something we can render.
const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
value: {
tree: tree[1][parallelRouterKey],
childNodes: childNode.parallelRoutes,
// TODO-APP: overriding of url for parallel routes
url: url
},
children: resolvedRsc
});
// Ensure root layout is not wrapped in a div as the root layout renders `<html>`
return subtree;
}
/**
* Renders suspense boundary with the provided "loading" property as the fallback.
* If no loading property is provided it renders the children without a suspense boundary.
*/ function LoadingBoundary(param) {
let { children, loading, loadingStyles, loadingScripts, hasLoading } = param;
if (hasLoading) {
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
loadingStyles,
loadingScripts,
loading
]
}),
children: children
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
function OuterLayoutRouter(param) {
let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, loading, loadingStyles, loadingScripts, hasLoading, template, notFound, notFoundStyles, styles } = param;
const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
if (!context) {
throw new Error("invariant expected layout router to be mounted");
}
const { childNodes, tree, url } = context;
// Get the current parallelRouter cache node
let childNodesForParallelRouter = childNodes.get(parallelRouterKey);
// If the parallel router cache node does not exist yet, create it.
// This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.
if (!childNodesForParallelRouter) {
childNodesForParallelRouter = new Map();
childNodes.set(parallelRouterKey, childNodesForParallelRouter);
}
// Get the active segment in the tree
// The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.
const treeSegment = tree[1][parallelRouterKey][0];
// If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.
const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);
/**
* Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.
*/ // TODO-APP: Add handling of `<Offscreen>` when it's available.
const preservedSegments = [
treeSegment
];
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
styles,
preservedSegments.map((preservedSegment)=>{
const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);
const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);
return(/*
- Error boundary
- Only renders error boundary if error component is provided.
- Rendered for each segment to ensure they have their own error state.
- Loading boundary
- Only renders suspense boundary if loading components is provided.
- Rendered for each segment to ensure they have their own loading state.
- Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.
*/ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {
value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {
segmentPath: segmentPath,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
errorComponent: error,
errorStyles: errorStyles,
errorScripts: errorScripts,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {
hasLoading: hasLoading,
loading: loading,
loadingStyles: loadingStyles,
loadingScripts: loadingScripts,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {
notFound: notFound,
notFoundStyles: notFoundStyles,
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {
parallelRouterKey: parallelRouterKey,
url: url,
tree: tree,
childNodes: childNodesForParallelRouter,
segmentPath: segmentPath,
cacheKey: cacheKey,
isActive: currentChildSegmentValue === preservedSegmentValue
})
})
})
})
})
}),
children: [
templateStyles,
templateScripts,
template
]
}, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));
})
]
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=layout-router.js.map
i 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134393Object.defineProperty(exports, "default", (undefined481481))undefined517523__webpack_require__undefined52556586921undefined603609__webpack_require__undefined61165291884undefined676682__webpack_require__undefined6847023827undefined763769__webpack_require__undefined77177764090undefined841847__webpack_require__undefined84985989542undefined903909__webpack_require__undefined91196238599undefined9951001__webpack_require__undefined1003104273546undefined10711077__webpack_require__undefined1079109844399undefined11251131__webpack_require__undefined1133115048955undefined11771183__webpack_require__undefined1185120222295undefined12341240__webpack_require__undefined1242129373011undefined13231329__webpack_require__undefined1331135185737undefined13811387__webpack_require__undefined1389141011902undefined14391445__webpack_require__undefined144714916793undefined15251531__webpack_require__undefined15331574555undefined33323355falseundefined33583369{}undefined34403468falseundefined34714158{}undefined48074836falseundefined48394976{}undefined
������ �� �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "NotFoundBoundary", {
enumerable: true,
get: function() {
return NotFoundBoundary;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _navigation = require("./navigation");
const _notfound = require("./not-found");
const _warnonce = require("../../shared/lib/utils/warn-once");
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
class NotFoundErrorBoundary extends _react.default.Component {
componentDidCatch() {
if ("production" === "development" && // A missing children slot is the typical not-found case, so no need to warn
!this.props.missingSlots.has("children")) {
let warningMessage = "No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\n" + "Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\n\n";
if (this.props.missingSlots.size > 0) {
const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>"@" + slot).join(", ");
warningMessage += "Missing slots: " + formattedSlots;
}
(0, _warnonce.warnOnce)(warningMessage);
}
}
static getDerivedStateFromError(error) {
if ((0, _notfound.isNotFoundError)(error)) {
return {
notFoundTriggered: true
};
}
// Re-throw if error is not for 404
throw error;
}
static getDerivedStateFromProps(props, state) {
/**
* Handles reset of the error boundary when a navigation happens.
* Ensures the error boundary does not stay enabled when navigating to a new page.
* Approach of setState in render is safe as it checks the previous pathname and then overrides
* it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders
*/ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {
return {
notFoundTriggered: false,
previousPathname: props.pathname
};
}
return {
notFoundTriggered: state.notFoundTriggered,
previousPathname: props.pathname
};
}
render() {
if (this.state.notFoundTriggered) {
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
name: "robots",
content: "noindex"
}),
"production" === "development" && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
name: "next-error",
content: "not-found"
}),
this.props.notFoundStyles,
this.props.notFound
]
});
}
return this.props.children;
}
constructor(props){
super(props);
this.state = {
notFoundTriggered: !!props.asNotFound,
previousPathname: props.pathname
};
}
}
function NotFoundBoundary(param) {
let { notFound, notFoundStyles, asNotFound, children } = param;
const pathname = (0, _navigation.usePathname)();
const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);
return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {
pathname: pathname,
notFound: notFound,
notFoundStyles: notFoundStyles,
asNotFound: asNotFound,
missingSlots: missingSlots,
children: children
}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=not-found-boundary.js.map
d5ACo_� � � � 4 : < e } � � � � � � � � & , . : P V X y � � I� � H � � H � � � � ��Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "NotFoundBoundary", (��__webpack_require__�91884��3827��64090��15313��12322��76184��38599�false�{}� false�0� �� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "NotFoundBoundary", {
enumerable: true,
get: function() {
return NotFoundBoundary;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _navigation = require("./navigation");
const _notfound = require("./not-found");
const _warnonce = require("../../shared/lib/utils/warn-once");
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
class NotFoundErrorBoundary extends _react.default.Component {
componentDidCatch() {
if ("production" === "development" && // A missing children slot is the typical not-found case, so no need to warn
!this.props.missingSlots.has("children")) {
let warningMessage = "No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\n" + "Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\n\n";
if (this.props.missingSlots.size > 0) {
const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>"@" + slot).join(", ");
warningMessage += "Missing slots: " + formattedSlots;
}
(0, _warnonce.warnOnce)(warningMessage);
}
}
static getDerivedStateFromError(error) {
if ((0, _notfound.isNotFoundError)(error)) {
return {
notFoundTriggered: true
};
}
// Re-throw if error is not for 404
throw error;
}
static getDerivedStateFromProps(props, state) {
/**
* Handles reset of the error boundary when a navigation happens.
* Ensures the error boundary does not stay enabled when navigating to a new page.
* Approach of setState in render is safe as it checks the previous pathname and then overrides
* it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders
*/ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {
return {
notFoundTriggered: false,
previousPathname: props.pathname
};
}
return {
notFoundTriggered: state.notFoundTriggered,
previousPathname: props.pathname
};
}
render() {
if (this.state.notFoundTriggered) {
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
name: "robots",
content: "noindex"
}),
"production" === "development" && /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
name: "next-error",
content: "not-found"
}),
this.props.notFoundStyles,
this.props.notFound
]
});
}
return this.props.children;
}
constructor(props){
super(props);
this.state = {
notFoundTriggered: !!props.asNotFound,
previousPathname: props.pathname
};
}
}
function NotFoundBoundary(param) {
let { notFound, notFoundStyles, asNotFound, children } = param;
const pathname = (0, _navigation.usePathname)();
const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);
return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {
pathname: pathname,
notFound: notFound,
notFoundStyles: notFoundStyles,
asNotFound: asNotFound,
missingSlots: missingSlots,
children: children
}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=not-found-boundary.js.map
w 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134184Object.defineProperty(exports, "NotFoundBoundary", (undefined271271))undefined308314__webpack_require__undefined31635791884undefined381387__webpack_require__undefined3894073827undefined468474__webpack_require__undefined47648264090undefined507513__webpack_require__undefined51552815313undefined550556__webpack_require__undefined55857012322undefined592598__webpack_require__undefined60063376184undefined676682__webpack_require__undefined68473538599undefined840998falseundefined10011608{}undefined30163045 falseundefined306432050undefined
������ �� b �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return RenderFromTemplateContext;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
function RenderFromTemplateContext() {
const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=render-from-template-context.js.map
d
5ACoU� � � � 4 : < e } � � � � � � � I ��Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "default", (��__webpack_require__�91884��3827��64090��38599� �� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return RenderFromTemplateContext;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _approutercontextsharedruntime = require("../../shared/lib/app-router-context.shared-runtime");
function RenderFromTemplateContext() {
const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
children: children
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=render-from-template-context.js.map
| 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134175Object.defineProperty(exports, "default", (undefined271271))undefined308314__webpack_require__undefined31635791884undefined381387__webpack_require__undefined3894073827undefined468474__webpack_require__undefined47648264090undefined526532__webpack_require__undefined53458538599undefined
������� �� v �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return StaticGenerationSearchParamsBailoutProvider;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _searchparamsbailoutproxy = require("./searchparams-bailout-proxy");
function StaticGenerationSearchParamsBailoutProvider(param) {
let { Component, propsForComponent, isStaticGeneration } = param;
if (isStaticGeneration) {
const searchParams = (0, _searchparamsbailoutproxy.createSearchParamsBailoutProxy)();
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
searchParams: searchParams,
...propsForComponent
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
...propsForComponent
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map
d
5ACoU� � � � ! ! E K M u � � � � � � � � = ��Object.defineProperty(exports, "__esModule", (�))�Object.defineProperty(exports, "default", (��__webpack_require__�86921��3827��64090��15797� �� /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return StaticGenerationSearchParamsBailoutProvider;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _searchparamsbailoutproxy = require("./searchparams-bailout-proxy");
function StaticGenerationSearchParamsBailoutProvider(param) {
let { Component, propsForComponent, isStaticGeneration } = param;
if (isStaticGeneration) {
const searchParams = (0, _searchparamsbailoutproxy.createSearchParamsBailoutProxy)();
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
searchParams: searchParams,
...propsForComponent
});
}
return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
...propsForComponent
});
}
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map
| 5365undefined67111Object.defineProperty(exports, "__esModule", (undefined131131))undefined134175Object.defineProperty(exports, "default", (undefined289289))undefined325331__webpack_require__undefined33337386921undefined397403__webpack_require__undefined4054233827undefined483489__webpack_require__undefined49149764090undefined536542__webpack_require__undefined54457315797undefined
�������� �� yN �webpack/lib/util/registerExternalSerializer�webpack-sources/ReplaceSource�webpack/lib/util/registerExternalSerializer�webpack-sources/RawSource$K /* __next_internal_client_entry_do_not_use__ cjs */ "use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
const _jsxruntime = require("react/jsx-runtime");
const _react = /*#__PURE__*/ _interop_require_default._(require("react"));
const _resolvehref = require("./resolve-href");
const _islocalurl = require("../shared/lib/router/utils/is-local-url");
const _formaturl = require("../shared/lib/router/utils/format-url");
const _utils = require("../shared/lib/utils");
const _addlocale = require("./add-locale");
const _routercontextsharedruntime = require("../shared/lib/router-context.shared-runtime");
const _approutercontextsharedruntime = require("../shared/lib/app-router-context.shared-runtime");
const _useintersection = require("./use-intersection");
const _getdomainlocale = require("./get-domain-locale");
const _addbasepath = require("./add-base-path");
const _routerreducertypes = require("./components/router-reducer/router-reducer-types");
const prefetched = new Set();
function prefetch(router, href, as, options, appOptions, isAppRouter) {
if ("object" === "undefined") {
return;
}
// app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.
if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {
return;
}
// We should only dedupe requests when experimental.optimisticClientCache is
// disabled.
if (!options.bypassPrefetchedCheck) {
const locale = typeof options.locale !== "undefined" ? options.locale : "locale" in router ? router.locale : undefined;
const prefetchedKey = href + "%" + as + "%" + locale;
// If we've already fetched the key, then don't prefetch it again!
if (prefetched.has(prefetchedKey)) {
return;
}
// Mark this URL as prefetched.
prefetched.add(prefetchedKey);
}
const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);
// Prefetch the JSON page if asked (only in the client)
// We need to handle a prefetch error here since we may be
// loading with priority which can reject but we don't
// want to force navigation since this is only a prefetch
Promise.resolve(prefetchPromise).catch((err)=>{
if ("production" !== "production") {
// rethrow to show invalid URL errors
throw err;
}
});
}
function isModifiedEvent(event) {
const eventTarget = event.currentTarget;
const target = eventTarget.getAttribute("target");
return target && target !== "_self" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download
event.nativeEvent && event.nativeEvent.which === 2;
}
function linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {
const { nodeName } = e.currentTarget;
// anchors inside an svg have a lowercase nodeName
const isAnchorNodeName = nodeName.toUpperCase() === "A";
if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.
!isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {
// ignore click for browser’s default behavior
return;
}
e.preventDefault();
const navigate = ()=>{
// If the router is an NextRouter instance it will have `beforePopState`
const routerScroll = scroll != null ? scroll : true;
if ("beforePopState" in router) {
router[replace ? "replace" : "push"](href, as, {
shallow,
locale,
scroll: routerScroll
});
} else {
router[replace ? "replace" : "push"](as || href, {
scroll: routerScroll
});
}
};
if (isAppRouter) {
_react.default.startTransition(navigate);
} else {
navigate();
}
}
function formatStringOrUrl(urlObjOrString) {
if (typeof urlObjOrString === "string") {
return urlObjOrString;
}
return (0, _formaturl.formatUrl)(urlObjOrString);
}
/**
* React Component that enables client-side transitions between routes.
*/ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {
let children;
const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;
children = childrenProp;
if (legacyBehavior && (typeof children === "string" || typeof children === "number")) {
children = /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
children: children
});
}
const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);
const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);
const router = pagesRouter != null ? pagesRouter : appRouter;
// We're in the app directory if there is no pages router.
const isAppRouter = !pagesRouter;
const prefetchEnabled = prefetchProp !== false;
/**
* The possible states for prefetch are:
* - null: this is the default "auto" mode, where we will prefetch partially if the link is in the viewport
* - true: we will prefetch if the link is visible and prefetch the full page, not just partially
* - false: we will not prefetch if in the viewport at all
*/ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;
if ("production" !== "production") {
function createPropError(args) {
return new Error("Failed prop type: The prop `" + args.key + "` expects a " + args.expected + " in `<Link>`, but got `" + args.actual + "` instead." + ("object" !== "undefined" ? "\nOpen your browser's console to view the Component stack trace." : ""));
}
// TypeScript trick for type-guarding:
const requiredPropsGuard = {
href: true
};
const requiredProps = Object.keys(requiredPropsGuard);
requiredProps.forEach((key)=>{
if (key === "href") {
if (props[key] == null || typeof props[key] !== "string" && typeof props[key] !== "object") {
throw createPropError({
key,
expected: "`string` or `object`",
actual: props[key] === null ? "null" : typeof props[key]
});
}
} else {
// TypeScript trick for type-guarding:
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const _ = key;
}
});
// TypeScript trick for type-guarding:
const optionalPropsGuard = {
as: true,
replace: true,
scroll: true,
shallow: true,
passHref: true,
prefetch: true,
locale: true,
onClick: true,
onMouseEnter: true,
onTouchStart: true,
legacyBehavior: true
};
const optionalProps = Object.keys(optionalPropsGuard);
optionalProps.forEach((key)=>{
const valType = typeof props[key];
if (key === "as") {
if (props[key] && valType !== "string" && valType !== "object") {
throw createPropError({
key,
expected: "`string` or `object`",
actual: valType
});
}
} else if (key === "locale") {
if (props[key] && valType !== "string") {
throw createPropError({
key,
expected: "`string`",
actual: valType
});
}
} else if (key === "onClick" || key === "onMouseEnter" || key === "onTouchStart") {
if (props[key] && valType !== "function") {
throw createPropError({
key,
expected: "`function`",
actual: valType
});
}
} else if (key === "replace" || key === "scroll" || key === "shallow" || key === "passHref" || key === "prefetch" || key === "legacyBehavior") {
if (props[key] != null && valType !== "boolean") {
throw createPropError({
key,
expected: "`boolean`",
actual: valType
});
}
} else {
// TypeScript trick for type-guarding:
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const _ = key;
}
});
// This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes
// eslint-disable-next-line react-hooks/rules-of-hooks
const hasWarned = _react.default.useRef(false);
if (props.prefetch && !hasWarned.current && !isAppRouter) {
hasWarned.current = true;
console.warn("Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated");
}
}
if ("production" !== "production") {
if (isAppRouter && !asProp) {
let href;
if (typeof hrefProp === "string") {
href = hrefProp;
} else if (typeof hrefProp === "object" && typeof hrefProp.pathname === "string") {
href = hrefProp.pathname;
}
if (href) {
const hasDynamicSegment = href.split("/").some((segment)=>segment.startsWith("[") && segment.endsWith("]"));
if (hasDynamicSegment) {
throw new Error("Dynamic href `" + href + "` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href");
}
}
}
}
const { href, as } = _react.default.useMemo(()=>{
if (!pagesRouter) {
const resolvedHref = formatStringOrUrl(hrefProp);
return {
href: resolvedHref,
as: asProp ? formatStringOrUrl(asProp) : resolvedHref
};
}
const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);
return {
href: resolvedHref,
as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref
};
}, [
pagesRouter,
hrefProp,
asProp
]);
const previousHref = _react.default.useRef(href);
const previousAs = _react.default.useRef(as);
// This will return the first child, if multiple are provided it will throw an error
let child;
if (legacyBehavior) {
if ("production" === "development") {
if (onClick) {
console.warn('"onClick" was passed to <Link> with `href` of `' + hrefProp + '` but "legacyBehavior" was set. The legacy behavior requires onClick be set on the child of next/link');
}
if (onMouseEnterProp) {
console.warn('"onMouseEnter" was passed to <Link> with `href` of `' + hrefProp + '` but "legacyBehavior" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');
}
try {
child = _react.default.Children.only(children);
} catch (err) {
if (!children) {
throw new Error("No children were passed to <Link> with `href` of `" + hrefProp + "` but one child is required https://nextjs.org/docs/messages/link-no-children");
}
throw new Error("Multiple children were passed to <Link> with `href` of `" + hrefProp + "` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children" + ("object" !== "undefined" ? " \nOpen your browser's console to view the Component stack trace." : ""));
}
} else {
child = _react.default.Children.only(children);
}
} else {
if ("production" === "development") {
if ((children == null ? void 0 : children.type) === "a") {
throw new Error("Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor");
}
}
}
const childRef = legacyBehavior ? child && typeof child === "object" && child.ref : forwardedRef;
const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({
rootMargin: "200px"
});
const setRef = _react.default.useCallback((el)=>{
// Before the link getting observed, check if visible state need to be reset
if (previousAs.current !== as || previousHref.current !== href) {
resetVisible();
previousAs.current = as;
previousHref.current = href;
}
setIntersectionRef(el);
if (childRef) {
if (typeof childRef === "function") childRef(el);
else if (typeof childRef === "object") {
childRef.current = el;
}
}
}, [
as,
childRef,
href,
resetVisible,
setIntersectionRef
]);
// Prefetch the URL if we haven't already and it's visible.
_react.default.useEffect(()=>{
// in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.
if ("production" !== "production") {
return;
}
if (!router) {
return;
}
// If we don't need to prefetch the URL, don't do prefetch.
if (!isVisible || !prefetchEnabled) {
return;
}
// Prefetch the URL.
prefetch(router, href, as, {
locale
}, {
kind: appPrefetchKind
}, isAppRouter);
}, [
as,
href,
isVisible,
locale,
prefetchEnabled,
pagesRouter == null ? void 0 : pagesRouter.locale,
router,
isAppRouter,
appPrefetchKind
]);
const childProps = {
ref: setRef,
onClick (e) {
if ("production" !== "production") {
if (!e) {
throw new Error('Component rendered inside next/link has to pass click event to "onClick" prop.');
}
}
if (!legacyBehavior && typeof onClick === "function") {
onClick(e);
}
if (legacyBehavior && child.props && typeof child.props.onClick === "function") {
child.props.onClick(e);
}
if (!router) {
return;
}
if (e.defaultPrevented) {
return;
}
linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);
},
onMouseEnter (e) {
if (!legacyBehavior && typeof onMouseEnterProp === "function") {
onMouseEnterProp(e);
}
if (legacyBehavior && child.props && typeof child.props.onMouseEnter === "function") {
child.props.onMouseEnter(e);
}
if (!router) {
return;
}
if ((!prefetchEnabled || "production" === "development") && isAppRouter) {
return;
}
prefetch(router, href, as, {
locale,
priority: true,
// @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}
bypassPrefetchedCheck: true
}, {
kind: appPrefetchKind
}, isAppRouter);
},
onTouchStart (e) {
if (!legacyBehavior && typeof onTouchStartProp === "function") {
onTouchStartProp(e);
}
if (legacyBehavior && child.props && typeof child.props.onTouchStart === "function") {
child.props.onTouchStart(e);
}
if (!router) {
return;
}
if (!prefetchEnabled && isAppRouter) {
return;
}
prefetch(router, href, as, {
locale,
priority: true,
// @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}
bypassPrefetchedCheck: true
}, {
kind: appPrefetchKind
}, isAppRouter);
}
};
// If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
// defined, we specify the current 'href', so that repetition is not needed by the user.
// If the url is absolute, we can bypass the logic to prepend the domain and locale.
if ((0, _utils.isAbsoluteUrl)(as)) {
childProps.href = as;
} else if (!legacyBehavior || passHref || child.type === "a" && !("href" in child.props)) {
const curLocale = typeof locale !== "undefined" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;
// we only render domain locales if we are currently on a domain locale
// so that locale links are still visitable in development/preview envs
const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);
childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));
}
return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
...restProps,
...childProps,
children: children
});
});
const _default = Link;
if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
Object.defineProperty(exports.default, "__esModule", {
value: true
});
Object.assign(exports.default, exports);
module.exports = exports.default;
} //# sourceMappingURL=link.js.map
d15ACo_� � � � � � " ( * R j p r � � � � � � � � � G ^ d f � � � _� � � � � � C n t v � � � � � � 0 6 8 H h n p � * ]- C
%
(
{
� � � �&