@mdn/fred 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/components/about-tabs/element.css +3 -2
- package/components/scrim-inline/element.css +0 -7
- package/components/scrim-inline/global.css +10 -0
- package/components/social-image/README.md +16 -0
- package/components/social-image/sandbox.js +23 -0
- package/components/social-image/server.css +28 -0
- package/components/social-image/server.js +13 -0
- package/l10n/fluent.js +8 -7
- package/out/service-worker.js +1 -1
- package/out/service-worker.js.map +1 -1
- package/out/static/client/5183.ed3575d7370b617c.js +64 -0
- package/out/static/client/5183.ed3575d7370b617c.js.map +1 -0
- package/out/static/client/7047.7084b7bcf9a47b7b.js +9 -0
- package/out/static/client/7047.7084b7bcf9a47b7b.js.map +1 -0
- package/out/static/client/{8292.88217634072b2959.js → 8292.5a4929a466c7b3ca.js} +2 -2
- package/out/static/client/{8292.88217634072b2959.js.map → 8292.5a4929a466c7b3ca.js.map} +1 -1
- package/out/static/client/{index.a7f592ef6e4f2a0e.js → index.0e1f202766cdb426.js} +3 -3
- package/out/static/client/{index.a7f592ef6e4f2a0e.js.map → index.0e1f202766cdb426.js.map} +1 -1
- package/out/static/client/{runtime.14f0bbf7912ff6c2.js → runtime.076e84c93222dfd0.js} +2 -2
- package/out/static/client/{runtime.14f0bbf7912ff6c2.js.map → runtime.076e84c93222dfd0.js.map} +1 -1
- package/out/static/client/stats.json +319 -283
- package/out/static/client/styles-a11y-menu.bf24a870a8a4969f.js +1 -0
- package/out/static/client/styles-advertising.9f2b7bddc08575fc.js +1 -0
- package/out/static/client/styles-article-footer.aa9f8d240980b0f4.js +1 -0
- package/out/static/client/styles-banner.e738836bac789a8b.js +1 -0
- package/out/static/client/styles-baseline-indicator.c062716f3d033dd8.js +1 -0
- package/out/static/client/styles-blog-index.818261c8123bc042.js +1 -0
- package/out/static/client/styles-blog-post.96ce1680245bbc86.js +1 -0
- package/out/static/client/styles-breadcrumbs-bar.ed7d1440bdccf98f.js +1 -0
- package/out/static/client/styles-breadcrumbs.7599a269dc584d75.js +1 -0
- package/out/static/client/styles-button.de6a7b9b7548d84b.js +1 -0
- package/out/static/client/styles-content-section.a8bd7fde04898354.js +1 -0
- package/out/static/client/styles-contributor-spotlight.adad2e813e1667fe.js +1 -0
- package/out/static/client/styles-curriculum-about.eefa128bb415258c.js +1 -0
- package/out/static/client/styles-curriculum-default.a2692218d2b1a1f9.js +1 -0
- package/out/static/client/styles-curriculum-landing.2d51b8fce8f12b8d.js +1 -0
- package/out/static/client/styles-curriculum-module.f4ae8920ee1c92ff.js +1 -0
- package/out/static/client/styles-curriculum-overview.2d7c17b0f0b9bd92.js +1 -0
- package/out/static/client/styles-featured-articles.c54e8f6b90567441.js +1 -0
- package/out/static/client/styles-footer.cff8d2b7669e06a9.js +1 -0
- package/out/static/client/styles-generic-about.b31b672a5d394108.js +1 -0
- package/out/static/client/styles-generic-community.f7e5df670c7aeaf3.js +1 -0
- package/out/static/client/styles-generic-content.1a9e4b87d8a12a85.js +1 -0
- package/out/static/client/styles-generic-layout.76e37948146a2f39.js +1 -0
- package/out/static/client/styles-generic-sidebar.c07d266d1382c357.js +1 -0
- package/out/static/client/styles-generic-toc.342bb77a42e3cc84.js +1 -0
- package/out/static/client/{styles-global.e813b635d036a38b.css → styles-global.63980d9c69df1f6a.css} +2 -2
- package/out/static/client/{styles-global.e813b635d036a38b.css.map → styles-global.63980d9c69df1f6a.css.map} +1 -1
- package/out/static/client/styles-global.c2e6118d3b833b4a.js +1 -0
- package/out/static/client/styles-heading-anchor.79390408a0c88875.js +1 -0
- package/out/static/client/styles-homepage-body.20c015a218d0bc96.js +1 -0
- package/out/static/client/styles-homepage-contributor-spotlight.21f37f11b3bd4bda.js +1 -0
- package/out/static/client/styles-homepage-footer.24e66b627b59d99f.js +1 -0
- package/out/static/client/styles-homepage-header.1a75fa94f8bab5a0.js +1 -0
- package/out/static/client/styles-homepage-hero.f1bf55f1be2d516d.js +1 -0
- package/out/static/client/styles-homepage.cd5bf6213bc06b4e.js +1 -0
- package/out/static/client/styles-latest-news.0f32a584ef1ed171.js +1 -0
- package/out/static/client/styles-left-sidebar.d7d52289da7ba969.js +1 -0
- package/out/static/client/styles-logo.1ff82941fc133017.js +1 -0
- package/out/static/client/styles-mandala.2a99de27a8c19d02.js +1 -0
- package/out/static/client/styles-menu.13c3394ada0512ef.js +1 -0
- package/out/static/client/styles-navigation.f857f577084aa7ef.js +1 -0
- package/out/static/client/styles-not-found.0bdc6a72643ebe34.js +1 -0
- package/out/static/client/styles-observatory-landing.e709efc8103ee08c.js +1 -0
- package/out/static/client/styles-observatory-results.e098740504c0c0f0.js +1 -0
- package/out/static/client/styles-page-layout.2ab75fc5b95edf1b.js +1 -0
- package/out/static/client/styles-pagination.667a2af3eaebe782.js +1 -0
- package/out/static/client/styles-playground.c1339745dabdf1f6.js +1 -0
- package/out/static/client/styles-recent-contributions.706333df420f227c.js +1 -0
- package/out/static/client/styles-reference-layout.6eaaea648e7e4dce.js +1 -0
- package/out/static/client/styles-reference-toc.dcb67aadb5032e3f.js +1 -0
- package/out/static/client/styles-sandbox.c14203f7b76d9e70.js +1 -0
- package/out/static/client/styles-site-search.ba674569591c3348.js +1 -0
- package/out/static/client/styles-social-image.47d082e57762bfb4.css +2 -0
- package/out/static/client/styles-social-image.47d082e57762bfb4.css.map +1 -0
- package/out/static/client/styles-social-image.f457942a12584899.js +1 -0
- package/out/static/client/styles-translation-banner.c0bf41a60bc2fe87.js +1 -0
- package/out/static/client/styles-writer-toolbar.e7438b6d8e7c99f4.js +1 -0
- package/out/static/client/{styles.519e2a3b2b0392d7.js → styles.cbf2ca4b84823096.js} +2 -2
- package/out/static/client/{styles.519e2a3b2b0392d7.js.map → styles.cbf2ca4b84823096.js.map} +1 -1
- package/out/static/legacy/{145.f57152daa80bc354.js → 145.e71ec0c1d16bfeb6.js} +2 -2
- package/out/static/legacy/{145.f57152daa80bc354.js.map → 145.e71ec0c1d16bfeb6.js.map} +1 -1
- package/out/static/legacy/{2439.db04dec0f2bfe008.js → 2439.152ddc8eff5390cc.js} +2 -2
- package/out/static/legacy/{2439.db04dec0f2bfe008.js.map → 2439.152ddc8eff5390cc.js.map} +1 -1
- package/out/static/legacy/{2569.2ed6f988d52f6cb2.js → 2569.41b52dfae9ff5dbd.js} +2 -2
- package/out/static/legacy/{2569.2ed6f988d52f6cb2.js.map → 2569.41b52dfae9ff5dbd.js.map} +1 -1
- package/out/static/legacy/{3097.5ee3eace96d8c3ea.js → 3097.89f8c27a39d2d759.js} +2 -2
- package/out/static/legacy/{3097.5ee3eace96d8c3ea.js.map → 3097.89f8c27a39d2d759.js.map} +1 -1
- package/out/static/legacy/{4624.5f395686fe61b4a3.js → 4624.831090754998070f.js} +2 -2
- package/out/static/legacy/{4624.5f395686fe61b4a3.js.map → 4624.831090754998070f.js.map} +1 -1
- package/out/static/legacy/{4944.dff54c3109113729.js → 4944.d5de2520acb6bc03.js} +2 -2
- package/out/static/legacy/{4944.dff54c3109113729.js.map → 4944.d5de2520acb6bc03.js.map} +1 -1
- package/out/static/legacy/{4968.12b8af0a52d054ac.js → 4968.c5c0429688b49438.js} +2 -2
- package/out/static/legacy/{4968.12b8af0a52d054ac.js.map → 4968.c5c0429688b49438.js.map} +1 -1
- package/out/static/legacy/{652.702c9f7893508b7f.js → 652.984bbafca5a127d6.js} +2 -2
- package/out/static/legacy/{652.702c9f7893508b7f.js.map → 652.984bbafca5a127d6.js.map} +1 -1
- package/out/static/legacy/{6542.8f8dc41c1b7b4f3d.js → 6542.9ae1d636a2097c7a.js} +2 -2
- package/out/static/legacy/{6542.8f8dc41c1b7b4f3d.js.map → 6542.9ae1d636a2097c7a.js.map} +1 -1
- package/out/static/legacy/{6786.d37ed4aa6d7a5c1a.js → 6786.c180a40232e02d98.js} +3 -3
- package/out/static/legacy/{6786.d37ed4aa6d7a5c1a.js.map → 6786.c180a40232e02d98.js.map} +1 -1
- package/out/static/legacy/{8292.88217634072b2959.js → 8292.5a4929a466c7b3ca.js} +2 -2
- package/out/static/legacy/{8292.88217634072b2959.js.map → 8292.5a4929a466c7b3ca.js.map} +1 -1
- package/out/static/legacy/{8315.525575601119f224.js → 8315.732f4f8af2f04044.js} +2 -2
- package/out/static/legacy/{8315.525575601119f224.js.map → 8315.732f4f8af2f04044.js.map} +1 -1
- package/out/static/legacy/{8769.d63b4369d16f3391.js → 8769.c0eb10a75d355ed3.js} +2 -2
- package/out/static/legacy/{8769.d63b4369d16f3391.js.map → 8769.c0eb10a75d355ed3.js.map} +1 -1
- package/out/static/legacy/{9380.d18451f1d350375d.js → 9380.2e09c0a94dc10112.js} +2 -2
- package/out/static/legacy/{9380.d18451f1d350375d.js.map → 9380.2e09c0a94dc10112.js.map} +1 -1
- package/out/static/legacy/asset-manifest.json +20 -20
- package/out/static/legacy/{index.0b85877f879160b2.js → index.5e65b9f52e86ad40.js} +5 -5
- package/out/static/legacy/{index.0b85877f879160b2.js.LICENSE.txt → index.5e65b9f52e86ad40.js.LICENSE.txt} +1 -1
- package/out/static/legacy/{index.0b85877f879160b2.js.map → index.5e65b9f52e86ad40.js.map} +1 -1
- package/out/static/legacy/{index.645247acbde1c666.html → index.6838304b64f32836.html} +1 -1
- package/out/static/legacy/stats.json +14 -14
- package/out/static/legacy/{yari.46e28128e98126d7.js → yari.c8f274d3a31b194e.js} +6 -6
- package/out/static/legacy/{yari.46e28128e98126d7.js.LICENSE.txt → yari.c8f274d3a31b194e.js.LICENSE.txt} +1 -1
- package/out/static/legacy/{yari.46e28128e98126d7.js.map → yari.c8f274d3a31b194e.js.map} +1 -1
- package/out/static/ssr/8292.js +1 -1
- package/out/static/ssr/8292.js.map +1 -1
- package/out/static/ssr/index.js +149 -142
- package/out/static/ssr/index.js.map +1 -1
- package/out/static/ssr/stats.json +4 -4
- package/out/twitter-card-summary.46ac2375.png +0 -0
- package/package.json +16 -15
- package/public/twitter-card-summary.46ac2375.png +0 -0
- package/server.js +12 -1
- package/out/static/client/5183.e4104aeffa888fd3.js +0 -64
- package/out/static/client/5183.e4104aeffa888fd3.js.map +0 -1
- package/out/static/client/7047.5a3c9165bf33e8ef.js +0 -9
- package/out/static/client/7047.5a3c9165bf33e8ef.js.map +0 -1
- package/out/static/client/styles-a11y-menu.49f604eb400e3a1b.js +0 -1
- package/out/static/client/styles-advertising.206d401ac1918107.js +0 -1
- package/out/static/client/styles-article-footer.bf7a12a8f26de9d8.js +0 -1
- package/out/static/client/styles-banner.045fd9429c0b4559.js +0 -1
- package/out/static/client/styles-baseline-indicator.1a9a989c5eed2bd0.js +0 -1
- package/out/static/client/styles-blog-index.07075fbe70ea701a.js +0 -1
- package/out/static/client/styles-blog-post.f096d7b72acc54c7.js +0 -1
- package/out/static/client/styles-breadcrumbs-bar.b6d2903779905507.js +0 -1
- package/out/static/client/styles-breadcrumbs.7b6a3fca16762395.js +0 -1
- package/out/static/client/styles-button.68557b262acc04d5.js +0 -1
- package/out/static/client/styles-content-section.8b58198fcbb512cd.js +0 -1
- package/out/static/client/styles-contributor-spotlight.65897b7d1c3de5e6.js +0 -1
- package/out/static/client/styles-curriculum-about.013603624423e8b7.js +0 -1
- package/out/static/client/styles-curriculum-default.8d3cc74e416d99c0.js +0 -1
- package/out/static/client/styles-curriculum-landing.95ce2c9c6203fda2.js +0 -1
- package/out/static/client/styles-curriculum-module.6bd730e94b6ab4b0.js +0 -1
- package/out/static/client/styles-curriculum-overview.31fd536067fb14e7.js +0 -1
- package/out/static/client/styles-featured-articles.122a3779cde55236.js +0 -1
- package/out/static/client/styles-footer.fedc4476f04ebc15.js +0 -1
- package/out/static/client/styles-generic-about.7e63ff8a4b7851ef.js +0 -1
- package/out/static/client/styles-generic-community.dae09a544431e63d.js +0 -1
- package/out/static/client/styles-generic-content.16d08aa39ea401b9.js +0 -1
- package/out/static/client/styles-generic-layout.3e4f2f4951ea186b.js +0 -1
- package/out/static/client/styles-generic-sidebar.b2e094fc3c0756ab.js +0 -1
- package/out/static/client/styles-generic-toc.cd70dab26a1241d4.js +0 -1
- package/out/static/client/styles-global.339e7f9a94da6256.js +0 -1
- package/out/static/client/styles-heading-anchor.0deb48e0e151aba3.js +0 -1
- package/out/static/client/styles-homepage-body.cb1b213bec93efdd.js +0 -1
- package/out/static/client/styles-homepage-contributor-spotlight.1a2acbf06be6d425.js +0 -1
- package/out/static/client/styles-homepage-footer.3435c9576666f4a5.js +0 -1
- package/out/static/client/styles-homepage-header.6a6b4ebaf675e721.js +0 -1
- package/out/static/client/styles-homepage-hero.de64115a608af810.js +0 -1
- package/out/static/client/styles-homepage.09583f85e229d2de.js +0 -1
- package/out/static/client/styles-latest-news.d7d8beb1f187d6f5.js +0 -1
- package/out/static/client/styles-left-sidebar.62e4bdb34c86bc43.js +0 -1
- package/out/static/client/styles-logo.15608a14aefd9e51.js +0 -1
- package/out/static/client/styles-mandala.18c6e16ec318e10a.js +0 -1
- package/out/static/client/styles-menu.8011e6627accb1f3.js +0 -1
- package/out/static/client/styles-navigation.507be0a6a4278751.js +0 -1
- package/out/static/client/styles-not-found.5abe16a37f65b63a.js +0 -1
- package/out/static/client/styles-observatory-landing.2bda92fc6d68c4fc.js +0 -1
- package/out/static/client/styles-observatory-results.090bb92b82d036eb.js +0 -1
- package/out/static/client/styles-page-layout.ca4cbe58578a57eb.js +0 -1
- package/out/static/client/styles-pagination.cacd3f49e3de0552.js +0 -1
- package/out/static/client/styles-playground.1c172c9a3a8d9b79.js +0 -1
- package/out/static/client/styles-recent-contributions.45d4f26778c7ba5b.js +0 -1
- package/out/static/client/styles-reference-layout.d26c1e2e7b6dcf90.js +0 -1
- package/out/static/client/styles-reference-toc.bb1b05755fbc1108.js +0 -1
- package/out/static/client/styles-sandbox.a14cc003eeaa8914.js +0 -1
- package/out/static/client/styles-site-search.76d1310c8fe1b8fb.js +0 -1
- package/out/static/client/styles-translation-banner.c9804ae977f28550.js +0 -1
- package/out/static/client/styles-writer-toolbar.e88f55bfa22d6f0e.js +0 -1
- /package/out/static/client/{5183.e4104aeffa888fd3.js.LICENSE.txt → 5183.ed3575d7370b617c.js.LICENSE.txt} +0 -0
- /package/out/static/client/{index.a7f592ef6e4f2a0e.js.LICENSE.txt → index.0e1f202766cdb426.js.LICENSE.txt} +0 -0
- /package/out/static/legacy/{6786.d37ed4aa6d7a5c1a.js.LICENSE.txt → 6786.c180a40232e02d98.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __rspack_esm_id="8315";export const __rspack_esm_ids=["8315"];export const __webpack_modules__={44358(e,t,n){n.r(t),n.d(t,{default:()=>v});var r=n(96540),a=n(3322),l=n(92177),o=n(49136),c=n(5438),u=n(70661),i=n(66786),s=n(16969);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,a,l,o){try{var c=e[l](o),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,a)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){m(l,r,a,o,c,"next",e)}function c(e){m(l,r,a,o,c,"throw",e)}o(void 0)})}}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,c=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(c)throw r}}return l}}(e,t)||d(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}function E(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(o,"next",{value:u(0)}),c(o,"throw",{value:u(1)}),c(o,"return",{value:u(2)}),"function"==typeof Symbol&&c(o,Symbol.iterator,{value:function(){return this}}),o;function u(c){return function(u){var i=[c,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){l.label=i[1];break}if(6===i[0]&&l.label<a[1]){l.label=a[1],a=i;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(i);break}a[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}function v(){var e=(0,a.zy)(),t=(0,a.Zp)(),n=(0,c.Ym)(),o=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname,m=o.replace("/".concat(n,"/_sitemap"),"/".concat(n,"/docs")).toLowerCase();r.useEffect(function(){document.title="Sitemap"},[]);var v=(0,l.Ay)("/".concat(n,"/search-index.json"),function(e){return p(function(){var t;return E(this,function(n){switch(n.label){case 0:return[4,fetch(e)];case 1:if(!(t=n.sent()).ok)throw Error("".concat(t.status," on ").concat(t.url));return[4,t.json()];case 2:return[2,n.sent()]}})})()},{revalidateOnFocus:!1}),S=v.data,k=v.error,_=h(r.useState(null),2),N=_[0],A=_[1];r.useEffect(function(){S&&A(((function(e){if(Array.isArray(e))return f(e)})(S)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(S)||d(S)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){return e.url.localeCompare(t.url)}))},[S]);var j=h(r.useState(new Map),2),C=j[0],x=j[1];r.useEffect(function(){var e=new Map;if(N){var t=!0,n=!1,r=void 0;try{for(var a,l=N[Symbol.iterator]();!(t=(a=l.next()).done);t=!0)!function(){var t=a.value.url.split("/"),n=t.slice(0,3);t.slice(3).forEach(function(t,r){n.push(t);var a=n.join("/");e.set(a,(e.get(a)||0)+1)})}()}catch(e){n=!0,r=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw r}}x(e)}},[N]);var I=h(r.useState(null),2),T=I[0],L=I[1];r.useEffect(function(){N&&L(N.find(function(e){return e.url.toLowerCase()===m})||null)},[m,N]);var O=h(r.useState(""),2),U=O[0],D=O[1];r.useEffect(function(){D("")},[o]);var F=h(r.useState(!1),2),Y=F[0],G=F[1],P=h(r.useState(null),2),R=P[0],B=P[1];r.useEffect(function(){if(N){var e=m.split("/").length;B(N.filter(function(t){return!!t.url.toLowerCase().startsWith(m)&&e+1===t.url.split("/").length&&!!t.url.split("/").slice(-1)[0].toLowerCase().startsWith(U.toLowerCase())}))}},[m,N,U]);var H=h(r.useState(0),2),M=H[0],W=H[1];r.useEffect(function(){W(0)},[U]),r.useEffect(function(){if(Y&&R&&R.length>=1){var e=R[M].url.split("/").slice(3);D(""),G(!1),t("/".concat(n,"/_sitemap/").concat(e.join("/")))}},[n,R,Y,t,M]);var z=h(r.useState(null),2),K=z[0],Q=z[1],V=h(r.useState(null),2),X=V[0],Z=V[1];function $(e){return p(function(){var t,n,r;return E(this,function(a){switch(a.label){case 0:console.log("Going to try to open ".concat(e," in your editor")),Q(e),(t=new URLSearchParams).set("url",e),a.label=1;case 1:return a.trys.push([1,6,,7]),[4,fetch("/_open?".concat(t.toString()))];case 2:if((n=a.sent()).ok)return[3,5];if(!(n.status>=500))return[3,3];return Z(Error("".concat(n.status,": ").concat(n.statusText))),[3,5];case 3:return[4,n.text()];case 4:r=a.sent(),Z(Error("".concat(n.status,": ").concat(r))),a.label=5;case 5:return[3,7];case 6:return Z(a.sent()),[3,7];case 7:return[2]}})})()}return r.useEffect(function(){var e;return K&&(e=setTimeout(function(){Q(null)},3e3)),function(){e&&clearTimeout(e)}},[K]),r.createElement(i.K,null,r.createElement("div",{id:"sitemap"},k&&r.createElement(s.A,{type:"error"},r.createElement("h4",null,"Error"),r.createElement("p",null,r.createElement("code",null,k.toString()))),X&&r.createElement(s.A,{type:"error"},r.createElement("h4",null,"Error opening in your editor"),r.createElement("p",null,r.createElement("code",null,X.toString()))),!S&&!k&&r.createElement(u.R,null),r.createElement("div",{className:"opening-in-your-editor"},K&&r.createElement(r.Fragment,null,"Opening"," ",r.createElement("code",null,K.slice(K.length-50,K.length))," ","in your editor...")),R&&r.createElement(b,{pathname:o,thisDoc:T,openInYourEditor:$}),R&&r.createElement(g,{pathname:o,searchFilter:U,onUpdate:function(e,t){D(e),G(t)},onGoUp:function(){var e=o.split("/");e.length>=4&&t(e.slice(0,-1).join("/"))},onChangeHighlight:function(e){if("up"===e){var t=M-1;R&&(t=(t%R.length+R.length)%R.length),W(t)}else{var n=M+1;R&&(n%=R.length),W(n)}}}),R&&0===R.length&&(U?r.createElement("em",null,"nothing found"):r.createElement("em",null,"has no further sub-documents")),R&&!U&&r.createElement(y,{pathname:o}),R&&R.length>0&&r.createElement(w,{filtered:R,childCounts:C,highlightIndex:M,openInYourEditor:$}),r.createElement("p",{className:"footer-note"},"Note, this sitemap only shows documents. Not any other applications.")))}function y(e){var t=e.pathname.split("/").slice(0,-1);if(t.length<=2)return null;var n=t[t.length-1];return r.createElement("p",null,r.createElement(a.N_,{to:t.join("/")},"↖️ Back up to"," ",t.length<=3?r.createElement("em",null,"root"):r.createElement("code",null,n)))}function g(e){var t=e.pathname,n=e.searchFilter,a=e.onUpdate,l=e.onGoUp,o=e.onChangeHighlight,c=h(r.useState(!1),2),u=c[0],i=c[1],s=h(r.useState(0),2),f=s[0],m=s[1];r.useEffect(function(){f>=2&&(m(0),l())},[f,l]);var p=r.useRef(null),d=r.useCallback(function(e){if(p.current&&e.target){var t=e.target;t===p.current&&("ArrowDown"===e.key?o("down"):"ArrowUp"===e.key&&o("up")),"INPUT"===t.tagName||"TEXTAREA"===t.tagName?("Backspace"===e.key&&e.target===p.current?n.trim()||m(function(e){return e+1}):m(0),"Escape"===e.key&&p.current.blur()):("T"===e.key||"t"===e.key)&&(p.current.focus(),m(0))}},[o,n]);r.useEffect(function(){return window.document.addEventListener("keyup",d),function(){window.document.removeEventListener("keyup",d)}},[d]);var E=t.replace("/_sitemap","/docs");return r.createElement("form",{className:"filter-form",onSubmit:function(e){e.preventDefault(),a(n.trim(),!0)}},r.createElement("code",null,E),"/",r.createElement("input",{type:"search",ref:p,value:n,onChange:function(e){a(e.target.value,!1)},onFocus:function(){i(!0)},onBlur:function(){i(!1)}})," ",!u&&r.createElement("small",{className:"keyboard-tip"},"Tip! press ",r.createElement("kbd",null,"t")," on your keyboard to focus on search filter"))}function b(e){var t=e.pathname,n=e.thisDoc,l=e.openInYourEditor,u=(0,c.Ym)(),i=t.split("/").slice(3),s=t.split("/").slice(0,2);s.push("_sitemap");var f=!o.N4.includes(window.location.hostname);return r.createElement(r.Fragment,null,r.createElement("ul",{className:"breadcrumb"},r.createElement("li",{className:"first"},i.length?r.createElement(a.N_,{to:s.join("/")},"root"):r.createElement("em",null,"root")),i.map(function(e,t){var n=t===i.length-1;return s.push(e),r.createElement("li",{key:"".concat(e).concat(t),className:n?"last":void 0},n?r.createElement("code",null,e):r.createElement(a.N_,{to:s.join("/")},r.createElement("code",null,e)))}),r.createElement("li",{className:"this-doc"},r.createElement("b",null,"Go to:")," ",n?r.createElement(r.Fragment,null,r.createElement(a.N_,{to:n.url},r.createElement("em",null,n.title))," ",o.QD&&!f&&r.createElement("small",null,"(",r.createElement("a",{href:n.url,role:"img","aria-label":"Editor pen",onClick:function(e){e.preventDefault(),l(n.url)},title:"Open in your editor"},"Edit"),")")):r.createElement(a.N_,{to:"/".concat(u,"/")},"Home page"))))}function w(e){var t=e.filtered,n=e.childCounts,l=e.highlightIndex,u=e.openInYourEditor,i=(0,c.Ym)(),s=!o.N4.includes(window.location.hostname);return r.createElement("div",{className:"tree"},r.createElement("ul",null,t.map(function(e,t){var o=n.get(e.url)||0;return r.createElement("li",{key:e.url,className:l===t?"highlight":void 0},r.createElement(a.N_,{to:e.url.replace("/docs/","/_sitemap/"),title:e.title},r.createElement("code",null,e.url.replace("/".concat(i,"/docs"),"")))," ",r.createElement("small",null,"(",1===o?"1 document":"".concat(o.toLocaleString()," documents")," | ",r.createElement(a.N_,{to:e.url,title:"Go to: ".concat(e.title)},"View"),!s&&" | ",!s&&r.createElement(a.N_,{to:e.url,title:"Edit: ".concat(e.title),onClick:function(t){t.preventDefault(),u(e.url)}},"Edit"),")"))})))}}};
|
|
2
|
-
//# sourceMappingURL=8315.
|
|
1
|
+
export const __rspack_esm_id="8315";export const __rspack_esm_ids=["8315"];export const __webpack_modules__={44358(e,t,n){n.r(t),n.d(t,{default:()=>v});var r=n(96540),a=n(3433),l=n(92177),o=n(49136),c=n(5438),u=n(70661),i=n(66786),s=n(16969);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,a,l,o){try{var c=e[l](o),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,a)}function p(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var l=e.apply(t,n);function o(e){m(l,r,a,o,c,"next",e)}function c(e){m(l,r,a,o,c,"throw",e)}o(void 0)})}}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var l=[],o=!0,c=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){c=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(c)throw r}}return l}}(e,t)||d(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}function E(e,t){var n,r,a,l={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(o,"next",{value:u(0)}),c(o,"throw",{value:u(1)}),c(o,"return",{value:u(2)}),"function"==typeof Symbol&&c(o,Symbol.iterator,{value:function(){return this}}),o;function u(c){return function(u){var i=[c,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,i[0]&&(l=0)),l;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,r=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(a=(a=l.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){l.label=i[1];break}if(6===i[0]&&l.label<a[1]){l.label=a[1],a=i;break}if(a&&l.label<a[2]){l.label=a[2],l.ops.push(i);break}a[2]&&l.ops.pop(),l.trys.pop();continue}i=t.call(e,l)}catch(e){i=[6,e],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}function v(){var e=(0,a.zy)(),t=(0,a.Zp)(),n=(0,c.Ym)(),o=e.pathname.endsWith("/")?e.pathname.slice(0,-1):e.pathname,m=o.replace("/".concat(n,"/_sitemap"),"/".concat(n,"/docs")).toLowerCase();r.useEffect(function(){document.title="Sitemap"},[]);var v=(0,l.Ay)("/".concat(n,"/search-index.json"),function(e){return p(function(){var t;return E(this,function(n){switch(n.label){case 0:return[4,fetch(e)];case 1:if(!(t=n.sent()).ok)throw Error("".concat(t.status," on ").concat(t.url));return[4,t.json()];case 2:return[2,n.sent()]}})})()},{revalidateOnFocus:!1}),S=v.data,k=v.error,_=h(r.useState(null),2),N=_[0],A=_[1];r.useEffect(function(){S&&A(((function(e){if(Array.isArray(e))return f(e)})(S)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(S)||d(S)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(e,t){return e.url.localeCompare(t.url)}))},[S]);var j=h(r.useState(new Map),2),C=j[0],x=j[1];r.useEffect(function(){var e=new Map;if(N){var t=!0,n=!1,r=void 0;try{for(var a,l=N[Symbol.iterator]();!(t=(a=l.next()).done);t=!0)!function(){var t=a.value.url.split("/"),n=t.slice(0,3);t.slice(3).forEach(function(t,r){n.push(t);var a=n.join("/");e.set(a,(e.get(a)||0)+1)})}()}catch(e){n=!0,r=e}finally{try{t||null==l.return||l.return()}finally{if(n)throw r}}x(e)}},[N]);var I=h(r.useState(null),2),T=I[0],L=I[1];r.useEffect(function(){N&&L(N.find(function(e){return e.url.toLowerCase()===m})||null)},[m,N]);var O=h(r.useState(""),2),U=O[0],D=O[1];r.useEffect(function(){D("")},[o]);var F=h(r.useState(!1),2),Y=F[0],G=F[1],P=h(r.useState(null),2),R=P[0],B=P[1];r.useEffect(function(){if(N){var e=m.split("/").length;B(N.filter(function(t){return!!t.url.toLowerCase().startsWith(m)&&e+1===t.url.split("/").length&&!!t.url.split("/").slice(-1)[0].toLowerCase().startsWith(U.toLowerCase())}))}},[m,N,U]);var H=h(r.useState(0),2),M=H[0],W=H[1];r.useEffect(function(){W(0)},[U]),r.useEffect(function(){if(Y&&R&&R.length>=1){var e=R[M].url.split("/").slice(3);D(""),G(!1),t("/".concat(n,"/_sitemap/").concat(e.join("/")))}},[n,R,Y,t,M]);var z=h(r.useState(null),2),K=z[0],Q=z[1],V=h(r.useState(null),2),X=V[0],Z=V[1];function $(e){return p(function(){var t,n,r;return E(this,function(a){switch(a.label){case 0:console.log("Going to try to open ".concat(e," in your editor")),Q(e),(t=new URLSearchParams).set("url",e),a.label=1;case 1:return a.trys.push([1,6,,7]),[4,fetch("/_open?".concat(t.toString()))];case 2:if((n=a.sent()).ok)return[3,5];if(!(n.status>=500))return[3,3];return Z(Error("".concat(n.status,": ").concat(n.statusText))),[3,5];case 3:return[4,n.text()];case 4:r=a.sent(),Z(Error("".concat(n.status,": ").concat(r))),a.label=5;case 5:return[3,7];case 6:return Z(a.sent()),[3,7];case 7:return[2]}})})()}return r.useEffect(function(){var e;return K&&(e=setTimeout(function(){Q(null)},3e3)),function(){e&&clearTimeout(e)}},[K]),r.createElement(i.K,null,r.createElement("div",{id:"sitemap"},k&&r.createElement(s.A,{type:"error"},r.createElement("h4",null,"Error"),r.createElement("p",null,r.createElement("code",null,k.toString()))),X&&r.createElement(s.A,{type:"error"},r.createElement("h4",null,"Error opening in your editor"),r.createElement("p",null,r.createElement("code",null,X.toString()))),!S&&!k&&r.createElement(u.R,null),r.createElement("div",{className:"opening-in-your-editor"},K&&r.createElement(r.Fragment,null,"Opening"," ",r.createElement("code",null,K.slice(K.length-50,K.length))," ","in your editor...")),R&&r.createElement(b,{pathname:o,thisDoc:T,openInYourEditor:$}),R&&r.createElement(g,{pathname:o,searchFilter:U,onUpdate:function(e,t){D(e),G(t)},onGoUp:function(){var e=o.split("/");e.length>=4&&t(e.slice(0,-1).join("/"))},onChangeHighlight:function(e){if("up"===e){var t=M-1;R&&(t=(t%R.length+R.length)%R.length),W(t)}else{var n=M+1;R&&(n%=R.length),W(n)}}}),R&&0===R.length&&(U?r.createElement("em",null,"nothing found"):r.createElement("em",null,"has no further sub-documents")),R&&!U&&r.createElement(y,{pathname:o}),R&&R.length>0&&r.createElement(w,{filtered:R,childCounts:C,highlightIndex:M,openInYourEditor:$}),r.createElement("p",{className:"footer-note"},"Note, this sitemap only shows documents. Not any other applications.")))}function y(e){var t=e.pathname.split("/").slice(0,-1);if(t.length<=2)return null;var n=t[t.length-1];return r.createElement("p",null,r.createElement(a.N_,{to:t.join("/")},"↖️ Back up to"," ",t.length<=3?r.createElement("em",null,"root"):r.createElement("code",null,n)))}function g(e){var t=e.pathname,n=e.searchFilter,a=e.onUpdate,l=e.onGoUp,o=e.onChangeHighlight,c=h(r.useState(!1),2),u=c[0],i=c[1],s=h(r.useState(0),2),f=s[0],m=s[1];r.useEffect(function(){f>=2&&(m(0),l())},[f,l]);var p=r.useRef(null),d=r.useCallback(function(e){if(p.current&&e.target){var t=e.target;t===p.current&&("ArrowDown"===e.key?o("down"):"ArrowUp"===e.key&&o("up")),"INPUT"===t.tagName||"TEXTAREA"===t.tagName?("Backspace"===e.key&&e.target===p.current?n.trim()||m(function(e){return e+1}):m(0),"Escape"===e.key&&p.current.blur()):("T"===e.key||"t"===e.key)&&(p.current.focus(),m(0))}},[o,n]);r.useEffect(function(){return window.document.addEventListener("keyup",d),function(){window.document.removeEventListener("keyup",d)}},[d]);var E=t.replace("/_sitemap","/docs");return r.createElement("form",{className:"filter-form",onSubmit:function(e){e.preventDefault(),a(n.trim(),!0)}},r.createElement("code",null,E),"/",r.createElement("input",{type:"search",ref:p,value:n,onChange:function(e){a(e.target.value,!1)},onFocus:function(){i(!0)},onBlur:function(){i(!1)}})," ",!u&&r.createElement("small",{className:"keyboard-tip"},"Tip! press ",r.createElement("kbd",null,"t")," on your keyboard to focus on search filter"))}function b(e){var t=e.pathname,n=e.thisDoc,l=e.openInYourEditor,u=(0,c.Ym)(),i=t.split("/").slice(3),s=t.split("/").slice(0,2);s.push("_sitemap");var f=!o.N4.includes(window.location.hostname);return r.createElement(r.Fragment,null,r.createElement("ul",{className:"breadcrumb"},r.createElement("li",{className:"first"},i.length?r.createElement(a.N_,{to:s.join("/")},"root"):r.createElement("em",null,"root")),i.map(function(e,t){var n=t===i.length-1;return s.push(e),r.createElement("li",{key:"".concat(e).concat(t),className:n?"last":void 0},n?r.createElement("code",null,e):r.createElement(a.N_,{to:s.join("/")},r.createElement("code",null,e)))}),r.createElement("li",{className:"this-doc"},r.createElement("b",null,"Go to:")," ",n?r.createElement(r.Fragment,null,r.createElement(a.N_,{to:n.url},r.createElement("em",null,n.title))," ",o.QD&&!f&&r.createElement("small",null,"(",r.createElement("a",{href:n.url,role:"img","aria-label":"Editor pen",onClick:function(e){e.preventDefault(),l(n.url)},title:"Open in your editor"},"Edit"),")")):r.createElement(a.N_,{to:"/".concat(u,"/")},"Home page"))))}function w(e){var t=e.filtered,n=e.childCounts,l=e.highlightIndex,u=e.openInYourEditor,i=(0,c.Ym)(),s=!o.N4.includes(window.location.hostname);return r.createElement("div",{className:"tree"},r.createElement("ul",null,t.map(function(e,t){var o=n.get(e.url)||0;return r.createElement("li",{key:e.url,className:l===t?"highlight":void 0},r.createElement(a.N_,{to:e.url.replace("/docs/","/_sitemap/"),title:e.title},r.createElement("code",null,e.url.replace("/".concat(i,"/docs"),"")))," ",r.createElement("small",null,"(",1===o?"1 document":"".concat(o.toLocaleString()," documents")," | ",r.createElement(a.N_,{to:e.url,title:"Go to: ".concat(e.title)},"View"),!s&&" | ",!s&&r.createElement(a.N_,{to:e.url,title:"Edit: ".concat(e.title),onClick:function(t){t.preventDefault(),u(e.url)}},"Edit"),")"))})))}}};
|
|
2
|
+
//# sourceMappingURL=8315.732f4f8af2f04044.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8315.525575601119f224.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/sitemap/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Link, useNavigate, useLocation } from \"react-router-dom\";\nimport useSWR from \"swr\";\n\nimport { WRITER_MODE, WRITER_MODE_HOSTNAMES } from \"../env\";\nimport { useLocale } from \"../hooks\";\nimport { Loading } from \"../ui/atoms/loading\";\nimport { MainContentContainer } from \"../ui/atoms/page-content\";\n\nimport \"./index.scss\";\nimport NoteCard from \"../ui/molecules/notecards\";\n\ninterface SearchIndexDoc {\n url: string;\n title: string;\n}\n\nexport default function Sitemap() {\n const location = useLocation();\n const navigate = useNavigate();\n const locale = useLocale();\n\n // Because you can load this app with something like `/en-us/_sitemap/Web/`\n // we have to pretend that didn't happen and force it to be `/en-US/_sitemap/Web`\n const pathname = location.pathname.endsWith(\"/\")\n ? location.pathname.slice(0, -1)\n : location.pathname;\n\n // `pathname` is going to be something like `/en-US/_sitemap/Web/Foo`.\n // Transform that to be just `en-us/docs/web/foo`.\n const searchPathname = pathname\n .replace(`/${locale}/_sitemap`, `/${locale}/docs`)\n .toLowerCase();\n\n React.useEffect(() => {\n document.title = \"Sitemap\";\n }, []);\n\n const { data, error } = useSWR<SearchIndexDoc[] | null, Error | null>(\n `/${locale}/search-index.json`,\n async (url) => {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`${response.status} on ${response.url}`);\n }\n return (await response.json()) as SearchIndexDoc[];\n },\n {\n revalidateOnFocus: false,\n }\n );\n\n const [docs, setDocs] = React.useState<SearchIndexDoc[] | null>(null);\n React.useEffect(() => {\n if (data) {\n const theseDocs = [...data].sort((a, b) => a.url.localeCompare(b.url));\n setDocs(theseDocs);\n }\n }, [data]);\n\n const [childCounts, setChildCounts] = React.useState<Map<string, number>>(\n new Map()\n );\n React.useEffect(() => {\n const counts = new Map<string, number>();\n if (docs) {\n for (const { url } of docs) {\n const split = url.split(\"/\");\n const root = split.slice(0, 3);\n split.slice(3).forEach((portion, i) => {\n root.push(portion);\n const key = root.join(\"/\");\n counts.set(key, (counts.get(key) || 0) + 1);\n });\n }\n setChildCounts(counts);\n }\n }, [docs]);\n\n const [thisDoc, setThisDoc] = React.useState<SearchIndexDoc | null>(null);\n React.useEffect(() => {\n if (docs) {\n const newThisDoc = docs.find((doc) => {\n return doc.url.toLowerCase() === searchPathname;\n });\n setThisDoc(newThisDoc || null);\n }\n }, [searchPathname, docs]);\n\n const [searchFilter, setSearchFilter] = React.useState(\"\");\n React.useEffect(() => {\n setSearchFilter(\"\");\n }, [pathname]);\n const [searchSubmitted, setSearchSubmitted] = React.useState(false);\n\n const [filtered, setFiltered] = React.useState<SearchIndexDoc[] | null>(null);\n React.useEffect(() => {\n if (docs) {\n const depth = searchPathname.split(\"/\").length;\n const newFiltered = docs.filter((doc) => {\n if (\n doc.url.toLowerCase().startsWith(searchPathname) &&\n depth + 1 === doc.url.split(\"/\").length\n ) {\n const baseName = doc.url.split(\"/\").slice(-1)[0].toLowerCase();\n if (!baseName.startsWith(searchFilter.toLowerCase())) {\n return false;\n }\n return true;\n }\n return false;\n });\n setFiltered(newFiltered);\n }\n }, [searchPathname, docs, searchFilter]);\n\n const [highlightIndex, setHighlightIndex] = React.useState(0);\n React.useEffect(() => {\n setHighlightIndex(0);\n }, [searchFilter]);\n\n React.useEffect(() => {\n if (searchSubmitted) {\n if (filtered && filtered.length >= 1) {\n const slug = filtered[highlightIndex].url.split(\"/\").slice(3);\n setSearchFilter(\"\");\n setSearchSubmitted(false);\n navigate(`/${locale}/_sitemap/${slug.join(\"/\")}`);\n }\n }\n }, [locale, filtered, searchSubmitted, navigate, highlightIndex]);\n\n function changeHighlight(direction: \"up\" | \"down\") {\n if (direction === \"up\") {\n let nextNumber = highlightIndex - 1;\n if (filtered) {\n nextNumber =\n ((nextNumber % filtered.length) + filtered.length) % filtered.length;\n }\n setHighlightIndex(nextNumber);\n } else {\n let nextNumber = highlightIndex + 1;\n if (filtered) {\n nextNumber = nextNumber % filtered.length;\n }\n setHighlightIndex(nextNumber);\n }\n }\n\n const [opening, setOpening] = React.useState<string | null>(null);\n const [editorOpeningError, setEditorOpeningError] =\n React.useState<Error | null>(null);\n React.useEffect(() => {\n let unsetOpeningTimer: ReturnType<typeof setTimeout>;\n if (opening) {\n unsetOpeningTimer = setTimeout(() => {\n setOpening(null);\n }, 3000);\n }\n return () => {\n if (unsetOpeningTimer) {\n clearTimeout(unsetOpeningTimer);\n }\n };\n }, [opening]);\n\n async function openInYourEditor(url: string) {\n console.log(`Going to try to open ${url} in your editor`);\n setOpening(url);\n const sp = new URLSearchParams();\n sp.set(\"url\", url);\n try {\n const response = await fetch(`/_open?${sp.toString()}`);\n if (!response.ok) {\n if (response.status >= 500) {\n setEditorOpeningError(\n new Error(`${response.status}: ${response.statusText}`)\n );\n } else {\n const body = await response.text();\n setEditorOpeningError(new Error(`${response.status}: ${body}`));\n }\n }\n } catch (err: any) {\n setEditorOpeningError(err);\n }\n }\n\n return (\n <MainContentContainer>\n <div id=\"sitemap\">\n {error && (\n <NoteCard type=\"error\">\n <h4>Error</h4>\n <p>\n <code>{error.toString()}</code>\n </p>\n </NoteCard>\n )}\n\n {editorOpeningError && (\n <NoteCard type=\"error\">\n <h4>Error opening in your editor</h4>\n <p>\n <code>{editorOpeningError.toString()}</code>\n </p>\n </NoteCard>\n )}\n\n {!data && !error && <Loading />}\n <div className=\"opening-in-your-editor\">\n {opening && (\n <>\n Opening{\" \"}\n <code>{opening.slice(opening.length - 50, opening.length)}</code>{\" \"}\n in your editor...\n </>\n )}\n </div>\n {filtered && (\n <Breadcrumb\n pathname={pathname}\n thisDoc={thisDoc}\n openInYourEditor={openInYourEditor}\n />\n )}\n {filtered && (\n <FilterForm\n pathname={pathname}\n searchFilter={searchFilter}\n onUpdate={(text: string, submitted: boolean) => {\n setSearchFilter(text);\n setSearchSubmitted(submitted);\n }}\n onGoUp={() => {\n // Navigate to the parent! ...if possible\n const split = pathname.split(\"/\");\n if (split.length >= 4) {\n const parentPathname = split.slice(0, -1);\n navigate(parentPathname.join(\"/\"));\n }\n }}\n onChangeHighlight={changeHighlight}\n />\n )}\n {filtered &&\n filtered.length === 0 &&\n (searchFilter ? (\n <em>nothing found</em>\n ) : (\n <em>has no further sub-documents</em>\n ))}\n {filtered && !searchFilter && <GoBackUp pathname={pathname} />}\n {filtered && filtered.length > 0 && (\n <ShowTree\n filtered={filtered}\n childCounts={childCounts}\n highlightIndex={highlightIndex}\n openInYourEditor={openInYourEditor}\n />\n )}\n <p className=\"footer-note\">\n Note, this sitemap only shows documents. Not any other applications.\n </p>\n </div>\n </MainContentContainer>\n );\n}\n\nfunction GoBackUp({ pathname }: { pathname: string }) {\n const parentPath = pathname.split(\"/\").slice(0, -1);\n if (parentPath.length <= 2) {\n return null;\n }\n const parentBasename = parentPath[parentPath.length - 1];\n\n return (\n <p>\n <Link to={parentPath.join(\"/\")}>\n ↖️ Back up to{\" \"}\n {parentPath.length <= 3 ? <em>root</em> : <code>{parentBasename}</code>}\n </Link>\n </p>\n );\n}\n\nfunction FilterForm({\n pathname,\n searchFilter,\n onUpdate,\n onGoUp,\n onChangeHighlight,\n}: {\n pathname: string;\n searchFilter: string;\n onUpdate: (text: string, submitted: boolean) => void;\n onGoUp: () => void;\n onChangeHighlight: (s: \"up\" | \"down\") => void;\n}) {\n const [hideTip, setHideTip] = React.useState(false);\n\n const [countBackspaces, setCountBackspaces] = React.useState(0);\n React.useEffect(() => {\n if (countBackspaces >= 2) {\n setCountBackspaces(0);\n onGoUp();\n }\n }, [countBackspaces, onGoUp]);\n\n const inputRef = React.useRef<null | HTMLInputElement>(null);\n\n const focusSearch = React.useCallback(\n (event: KeyboardEvent) => {\n if (inputRef.current && event.target) {\n const target = event.target as HTMLElement;\n\n if (target === inputRef.current) {\n if (event.key === \"ArrowDown\") {\n onChangeHighlight(\"down\");\n } else if (event.key === \"ArrowUp\") {\n onChangeHighlight(\"up\");\n }\n }\n\n if (target.tagName === \"INPUT\" || target.tagName === \"TEXTAREA\") {\n if (event.key === \"Backspace\" && event.target === inputRef.current) {\n if (!searchFilter.trim()) {\n setCountBackspaces((s) => s + 1);\n }\n } else {\n setCountBackspaces(0);\n }\n\n if (event.key === \"Escape\") {\n inputRef.current.blur();\n }\n } else {\n if (event.key === \"T\" || event.key === \"t\") {\n inputRef.current.focus();\n setCountBackspaces(0);\n }\n }\n }\n },\n [onChangeHighlight, searchFilter]\n );\n\n React.useEffect(() => {\n window.document.addEventListener(\"keyup\", focusSearch);\n return () => {\n window.document.removeEventListener(\"keyup\", focusSearch);\n };\n }, [focusSearch]);\n const prefixPathname = pathname.replace(`/_sitemap`, \"/docs\");\n\n return (\n <form\n className=\"filter-form\"\n onSubmit={(event) => {\n event.preventDefault();\n onUpdate(searchFilter.trim(), true);\n }}\n >\n <code>{prefixPathname}</code>/\n <input\n type=\"search\"\n ref={inputRef}\n value={searchFilter}\n onChange={(event) => {\n onUpdate(event.target.value, false);\n }}\n onFocus={() => {\n setHideTip(true);\n }}\n onBlur={() => {\n setHideTip(false);\n }}\n />{\" \"}\n {!hideTip && (\n <small className=\"keyboard-tip\">\n Tip! press <kbd>t</kbd> on your keyboard to focus on search filter\n </small>\n )}\n </form>\n );\n}\n\nfunction Breadcrumb({\n pathname,\n thisDoc,\n openInYourEditor,\n}: {\n pathname: string;\n thisDoc: SearchIndexDoc | null;\n openInYourEditor: (url: string) => void;\n}) {\n const locale = useLocale();\n const split = pathname.split(\"/\").slice(3);\n const root = pathname.split(\"/\").slice(0, 2);\n root.push(\"_sitemap\");\n\n const isReadOnly = !WRITER_MODE_HOSTNAMES.includes(window.location.hostname);\n\n return (\n <>\n <ul className=\"breadcrumb\">\n <li className=\"first\">\n {split.length ? <Link to={root.join(\"/\")}>root</Link> : <em>root</em>}\n </li>\n {split.map((portion, i) => {\n const last = i === split.length - 1;\n root.push(portion);\n return (\n <li key={`${portion}${i}`} className={last ? \"last\" : undefined}>\n {last ? (\n <code>{portion}</code>\n ) : (\n <Link to={root.join(\"/\")}>\n <code>{portion}</code>\n </Link>\n )}\n </li>\n );\n })}\n <li className=\"this-doc\">\n <b>Go to:</b>{\" \"}\n {thisDoc ? (\n <>\n <Link to={thisDoc.url}>\n <em>{thisDoc.title}</em>\n </Link>{\" \"}\n {WRITER_MODE && !isReadOnly && (\n <small>\n (\n <a\n href={thisDoc.url}\n role=\"img\"\n aria-label=\"Editor pen\"\n onClick={(event) => {\n event.preventDefault();\n openInYourEditor(thisDoc.url);\n }}\n title=\"Open in your editor\"\n >\n Edit\n </a>\n )\n </small>\n )}\n </>\n ) : (\n <Link to={`/${locale}/`}>Home page</Link>\n )}\n </li>\n </ul>\n </>\n );\n}\n\nfunction ShowTree({\n filtered,\n childCounts,\n highlightIndex,\n openInYourEditor,\n}: {\n filtered: SearchIndexDoc[];\n childCounts: Map<string, number>;\n highlightIndex: number;\n openInYourEditor: (url: string) => void;\n}) {\n const locale = useLocale();\n const isReadOnly = !WRITER_MODE_HOSTNAMES.includes(window.location.hostname);\n return (\n <div className=\"tree\">\n <ul>\n {filtered.map((doc, i) => {\n const countChild = childCounts.get(doc.url) || 0;\n return (\n <li\n key={doc.url}\n className={highlightIndex === i ? \"highlight\" : undefined}\n >\n <Link\n to={doc.url.replace(\"/docs/\", \"/_sitemap/\")}\n title={doc.title}\n >\n <code>{doc.url.replace(`/${locale}/docs`, \"\")}</code>\n </Link>{\" \"}\n <small>\n (\n {countChild === 1\n ? \"1 document\"\n : `${countChild.toLocaleString()} documents`}\n {\" | \"}\n <Link to={doc.url} title={`Go to: ${doc.title}`}>\n View\n </Link>\n {!isReadOnly && \" | \"}\n {!isReadOnly && (\n <Link\n to={doc.url}\n title={`Edit: ${doc.title}`}\n onClick={(event) => {\n event.preventDefault();\n openInYourEditor(doc.url);\n }}\n >\n Edit\n </Link>\n )}\n )\n </small>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["Sitemap","location","useLocation","navigate","useNavigate","locale","useLocale","pathname","searchPathname","React","document","_useSWR","url","response","fetch","Error","data","error","_React_useState","docs","setDocs","a","b","_React_useState1","Map","childCounts","setChildCounts","counts","_iteratorError","split","root","portion","i","key","_React_useState2","thisDoc","setThisDoc","newThisDoc","doc","_React_useState3","searchFilter","setSearchFilter","_React_useState4","searchSubmitted","setSearchSubmitted","_React_useState5","filtered","setFiltered","depth","baseName","_React_useState6","highlightIndex","setHighlightIndex","slug","_React_useState7","opening","setOpening","_React_useState8","editorOpeningError","setEditorOpeningError","openInYourEditor","sp","body","console","URLSearchParams","err","unsetOpeningTimer","setTimeout","clearTimeout","MainContentContainer","NoteCard","Loading","Breadcrumb","FilterForm","text","submitted","parentPathname","direction","nextNumber","nextNumber1","GoBackUp","ShowTree","param","parentPath","parentBasename","Link","onUpdate","onGoUp","onChangeHighlight","hideTip","setHideTip","countBackspaces","setCountBackspaces","inputRef","focusSearch","event","target","s","window","prefixPathname","isReadOnly","WRITER_MODE_HOSTNAMES","last","undefined","WRITER_MODE","countChild"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"8315.732f4f8af2f04044.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/sitemap/index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Link, useNavigate, useLocation } from \"react-router-dom\";\nimport useSWR from \"swr\";\n\nimport { WRITER_MODE, WRITER_MODE_HOSTNAMES } from \"../env\";\nimport { useLocale } from \"../hooks\";\nimport { Loading } from \"../ui/atoms/loading\";\nimport { MainContentContainer } from \"../ui/atoms/page-content\";\n\nimport \"./index.scss\";\nimport NoteCard from \"../ui/molecules/notecards\";\n\ninterface SearchIndexDoc {\n url: string;\n title: string;\n}\n\nexport default function Sitemap() {\n const location = useLocation();\n const navigate = useNavigate();\n const locale = useLocale();\n\n // Because you can load this app with something like `/en-us/_sitemap/Web/`\n // we have to pretend that didn't happen and force it to be `/en-US/_sitemap/Web`\n const pathname = location.pathname.endsWith(\"/\")\n ? location.pathname.slice(0, -1)\n : location.pathname;\n\n // `pathname` is going to be something like `/en-US/_sitemap/Web/Foo`.\n // Transform that to be just `en-us/docs/web/foo`.\n const searchPathname = pathname\n .replace(`/${locale}/_sitemap`, `/${locale}/docs`)\n .toLowerCase();\n\n React.useEffect(() => {\n document.title = \"Sitemap\";\n }, []);\n\n const { data, error } = useSWR<SearchIndexDoc[] | null, Error | null>(\n `/${locale}/search-index.json`,\n async (url) => {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`${response.status} on ${response.url}`);\n }\n return (await response.json()) as SearchIndexDoc[];\n },\n {\n revalidateOnFocus: false,\n }\n );\n\n const [docs, setDocs] = React.useState<SearchIndexDoc[] | null>(null);\n React.useEffect(() => {\n if (data) {\n const theseDocs = [...data].sort((a, b) => a.url.localeCompare(b.url));\n setDocs(theseDocs);\n }\n }, [data]);\n\n const [childCounts, setChildCounts] = React.useState<Map<string, number>>(\n new Map()\n );\n React.useEffect(() => {\n const counts = new Map<string, number>();\n if (docs) {\n for (const { url } of docs) {\n const split = url.split(\"/\");\n const root = split.slice(0, 3);\n split.slice(3).forEach((portion, i) => {\n root.push(portion);\n const key = root.join(\"/\");\n counts.set(key, (counts.get(key) || 0) + 1);\n });\n }\n setChildCounts(counts);\n }\n }, [docs]);\n\n const [thisDoc, setThisDoc] = React.useState<SearchIndexDoc | null>(null);\n React.useEffect(() => {\n if (docs) {\n const newThisDoc = docs.find((doc) => {\n return doc.url.toLowerCase() === searchPathname;\n });\n setThisDoc(newThisDoc || null);\n }\n }, [searchPathname, docs]);\n\n const [searchFilter, setSearchFilter] = React.useState(\"\");\n React.useEffect(() => {\n setSearchFilter(\"\");\n }, [pathname]);\n const [searchSubmitted, setSearchSubmitted] = React.useState(false);\n\n const [filtered, setFiltered] = React.useState<SearchIndexDoc[] | null>(null);\n React.useEffect(() => {\n if (docs) {\n const depth = searchPathname.split(\"/\").length;\n const newFiltered = docs.filter((doc) => {\n if (\n doc.url.toLowerCase().startsWith(searchPathname) &&\n depth + 1 === doc.url.split(\"/\").length\n ) {\n const baseName = doc.url.split(\"/\").slice(-1)[0].toLowerCase();\n if (!baseName.startsWith(searchFilter.toLowerCase())) {\n return false;\n }\n return true;\n }\n return false;\n });\n setFiltered(newFiltered);\n }\n }, [searchPathname, docs, searchFilter]);\n\n const [highlightIndex, setHighlightIndex] = React.useState(0);\n React.useEffect(() => {\n setHighlightIndex(0);\n }, [searchFilter]);\n\n React.useEffect(() => {\n if (searchSubmitted) {\n if (filtered && filtered.length >= 1) {\n const slug = filtered[highlightIndex].url.split(\"/\").slice(3);\n setSearchFilter(\"\");\n setSearchSubmitted(false);\n navigate(`/${locale}/_sitemap/${slug.join(\"/\")}`);\n }\n }\n }, [locale, filtered, searchSubmitted, navigate, highlightIndex]);\n\n function changeHighlight(direction: \"up\" | \"down\") {\n if (direction === \"up\") {\n let nextNumber = highlightIndex - 1;\n if (filtered) {\n nextNumber =\n ((nextNumber % filtered.length) + filtered.length) % filtered.length;\n }\n setHighlightIndex(nextNumber);\n } else {\n let nextNumber = highlightIndex + 1;\n if (filtered) {\n nextNumber = nextNumber % filtered.length;\n }\n setHighlightIndex(nextNumber);\n }\n }\n\n const [opening, setOpening] = React.useState<string | null>(null);\n const [editorOpeningError, setEditorOpeningError] =\n React.useState<Error | null>(null);\n React.useEffect(() => {\n let unsetOpeningTimer: ReturnType<typeof setTimeout>;\n if (opening) {\n unsetOpeningTimer = setTimeout(() => {\n setOpening(null);\n }, 3000);\n }\n return () => {\n if (unsetOpeningTimer) {\n clearTimeout(unsetOpeningTimer);\n }\n };\n }, [opening]);\n\n async function openInYourEditor(url: string) {\n console.log(`Going to try to open ${url} in your editor`);\n setOpening(url);\n const sp = new URLSearchParams();\n sp.set(\"url\", url);\n try {\n const response = await fetch(`/_open?${sp.toString()}`);\n if (!response.ok) {\n if (response.status >= 500) {\n setEditorOpeningError(\n new Error(`${response.status}: ${response.statusText}`)\n );\n } else {\n const body = await response.text();\n setEditorOpeningError(new Error(`${response.status}: ${body}`));\n }\n }\n } catch (err: any) {\n setEditorOpeningError(err);\n }\n }\n\n return (\n <MainContentContainer>\n <div id=\"sitemap\">\n {error && (\n <NoteCard type=\"error\">\n <h4>Error</h4>\n <p>\n <code>{error.toString()}</code>\n </p>\n </NoteCard>\n )}\n\n {editorOpeningError && (\n <NoteCard type=\"error\">\n <h4>Error opening in your editor</h4>\n <p>\n <code>{editorOpeningError.toString()}</code>\n </p>\n </NoteCard>\n )}\n\n {!data && !error && <Loading />}\n <div className=\"opening-in-your-editor\">\n {opening && (\n <>\n Opening{\" \"}\n <code>{opening.slice(opening.length - 50, opening.length)}</code>{\" \"}\n in your editor...\n </>\n )}\n </div>\n {filtered && (\n <Breadcrumb\n pathname={pathname}\n thisDoc={thisDoc}\n openInYourEditor={openInYourEditor}\n />\n )}\n {filtered && (\n <FilterForm\n pathname={pathname}\n searchFilter={searchFilter}\n onUpdate={(text: string, submitted: boolean) => {\n setSearchFilter(text);\n setSearchSubmitted(submitted);\n }}\n onGoUp={() => {\n // Navigate to the parent! ...if possible\n const split = pathname.split(\"/\");\n if (split.length >= 4) {\n const parentPathname = split.slice(0, -1);\n navigate(parentPathname.join(\"/\"));\n }\n }}\n onChangeHighlight={changeHighlight}\n />\n )}\n {filtered &&\n filtered.length === 0 &&\n (searchFilter ? (\n <em>nothing found</em>\n ) : (\n <em>has no further sub-documents</em>\n ))}\n {filtered && !searchFilter && <GoBackUp pathname={pathname} />}\n {filtered && filtered.length > 0 && (\n <ShowTree\n filtered={filtered}\n childCounts={childCounts}\n highlightIndex={highlightIndex}\n openInYourEditor={openInYourEditor}\n />\n )}\n <p className=\"footer-note\">\n Note, this sitemap only shows documents. Not any other applications.\n </p>\n </div>\n </MainContentContainer>\n );\n}\n\nfunction GoBackUp({ pathname }: { pathname: string }) {\n const parentPath = pathname.split(\"/\").slice(0, -1);\n if (parentPath.length <= 2) {\n return null;\n }\n const parentBasename = parentPath[parentPath.length - 1];\n\n return (\n <p>\n <Link to={parentPath.join(\"/\")}>\n ↖️ Back up to{\" \"}\n {parentPath.length <= 3 ? <em>root</em> : <code>{parentBasename}</code>}\n </Link>\n </p>\n );\n}\n\nfunction FilterForm({\n pathname,\n searchFilter,\n onUpdate,\n onGoUp,\n onChangeHighlight,\n}: {\n pathname: string;\n searchFilter: string;\n onUpdate: (text: string, submitted: boolean) => void;\n onGoUp: () => void;\n onChangeHighlight: (s: \"up\" | \"down\") => void;\n}) {\n const [hideTip, setHideTip] = React.useState(false);\n\n const [countBackspaces, setCountBackspaces] = React.useState(0);\n React.useEffect(() => {\n if (countBackspaces >= 2) {\n setCountBackspaces(0);\n onGoUp();\n }\n }, [countBackspaces, onGoUp]);\n\n const inputRef = React.useRef<null | HTMLInputElement>(null);\n\n const focusSearch = React.useCallback(\n (event: KeyboardEvent) => {\n if (inputRef.current && event.target) {\n const target = event.target as HTMLElement;\n\n if (target === inputRef.current) {\n if (event.key === \"ArrowDown\") {\n onChangeHighlight(\"down\");\n } else if (event.key === \"ArrowUp\") {\n onChangeHighlight(\"up\");\n }\n }\n\n if (target.tagName === \"INPUT\" || target.tagName === \"TEXTAREA\") {\n if (event.key === \"Backspace\" && event.target === inputRef.current) {\n if (!searchFilter.trim()) {\n setCountBackspaces((s) => s + 1);\n }\n } else {\n setCountBackspaces(0);\n }\n\n if (event.key === \"Escape\") {\n inputRef.current.blur();\n }\n } else {\n if (event.key === \"T\" || event.key === \"t\") {\n inputRef.current.focus();\n setCountBackspaces(0);\n }\n }\n }\n },\n [onChangeHighlight, searchFilter]\n );\n\n React.useEffect(() => {\n window.document.addEventListener(\"keyup\", focusSearch);\n return () => {\n window.document.removeEventListener(\"keyup\", focusSearch);\n };\n }, [focusSearch]);\n const prefixPathname = pathname.replace(`/_sitemap`, \"/docs\");\n\n return (\n <form\n className=\"filter-form\"\n onSubmit={(event) => {\n event.preventDefault();\n onUpdate(searchFilter.trim(), true);\n }}\n >\n <code>{prefixPathname}</code>/\n <input\n type=\"search\"\n ref={inputRef}\n value={searchFilter}\n onChange={(event) => {\n onUpdate(event.target.value, false);\n }}\n onFocus={() => {\n setHideTip(true);\n }}\n onBlur={() => {\n setHideTip(false);\n }}\n />{\" \"}\n {!hideTip && (\n <small className=\"keyboard-tip\">\n Tip! press <kbd>t</kbd> on your keyboard to focus on search filter\n </small>\n )}\n </form>\n );\n}\n\nfunction Breadcrumb({\n pathname,\n thisDoc,\n openInYourEditor,\n}: {\n pathname: string;\n thisDoc: SearchIndexDoc | null;\n openInYourEditor: (url: string) => void;\n}) {\n const locale = useLocale();\n const split = pathname.split(\"/\").slice(3);\n const root = pathname.split(\"/\").slice(0, 2);\n root.push(\"_sitemap\");\n\n const isReadOnly = !WRITER_MODE_HOSTNAMES.includes(window.location.hostname);\n\n return (\n <>\n <ul className=\"breadcrumb\">\n <li className=\"first\">\n {split.length ? <Link to={root.join(\"/\")}>root</Link> : <em>root</em>}\n </li>\n {split.map((portion, i) => {\n const last = i === split.length - 1;\n root.push(portion);\n return (\n <li key={`${portion}${i}`} className={last ? \"last\" : undefined}>\n {last ? (\n <code>{portion}</code>\n ) : (\n <Link to={root.join(\"/\")}>\n <code>{portion}</code>\n </Link>\n )}\n </li>\n );\n })}\n <li className=\"this-doc\">\n <b>Go to:</b>{\" \"}\n {thisDoc ? (\n <>\n <Link to={thisDoc.url}>\n <em>{thisDoc.title}</em>\n </Link>{\" \"}\n {WRITER_MODE && !isReadOnly && (\n <small>\n (\n <a\n href={thisDoc.url}\n role=\"img\"\n aria-label=\"Editor pen\"\n onClick={(event) => {\n event.preventDefault();\n openInYourEditor(thisDoc.url);\n }}\n title=\"Open in your editor\"\n >\n Edit\n </a>\n )\n </small>\n )}\n </>\n ) : (\n <Link to={`/${locale}/`}>Home page</Link>\n )}\n </li>\n </ul>\n </>\n );\n}\n\nfunction ShowTree({\n filtered,\n childCounts,\n highlightIndex,\n openInYourEditor,\n}: {\n filtered: SearchIndexDoc[];\n childCounts: Map<string, number>;\n highlightIndex: number;\n openInYourEditor: (url: string) => void;\n}) {\n const locale = useLocale();\n const isReadOnly = !WRITER_MODE_HOSTNAMES.includes(window.location.hostname);\n return (\n <div className=\"tree\">\n <ul>\n {filtered.map((doc, i) => {\n const countChild = childCounts.get(doc.url) || 0;\n return (\n <li\n key={doc.url}\n className={highlightIndex === i ? \"highlight\" : undefined}\n >\n <Link\n to={doc.url.replace(\"/docs/\", \"/_sitemap/\")}\n title={doc.title}\n >\n <code>{doc.url.replace(`/${locale}/docs`, \"\")}</code>\n </Link>{\" \"}\n <small>\n (\n {countChild === 1\n ? \"1 document\"\n : `${countChild.toLocaleString()} documents`}\n {\" | \"}\n <Link to={doc.url} title={`Go to: ${doc.title}`}>\n View\n </Link>\n {!isReadOnly && \" | \"}\n {!isReadOnly && (\n <Link\n to={doc.url}\n title={`Edit: ${doc.title}`}\n onClick={(event) => {\n event.preventDefault();\n openInYourEditor(doc.url);\n }}\n >\n Edit\n </Link>\n )}\n )\n </small>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["Sitemap","location","useLocation","navigate","useNavigate","locale","useLocale","pathname","searchPathname","React","document","_useSWR","url","response","fetch","Error","data","error","_React_useState","docs","setDocs","a","b","_React_useState1","Map","childCounts","setChildCounts","counts","_iteratorError","split","root","portion","i","key","_React_useState2","thisDoc","setThisDoc","newThisDoc","doc","_React_useState3","searchFilter","setSearchFilter","_React_useState4","searchSubmitted","setSearchSubmitted","_React_useState5","filtered","setFiltered","depth","baseName","_React_useState6","highlightIndex","setHighlightIndex","slug","_React_useState7","opening","setOpening","_React_useState8","editorOpeningError","setEditorOpeningError","openInYourEditor","sp","body","console","URLSearchParams","err","unsetOpeningTimer","setTimeout","clearTimeout","MainContentContainer","NoteCard","Loading","Breadcrumb","FilterForm","text","submitted","parentPathname","direction","nextNumber","nextNumber1","GoBackUp","ShowTree","param","parentPath","parentBasename","Link","onUpdate","onGoUp","onChangeHighlight","hideTip","setHideTip","countBackspaces","setCountBackspaces","inputRef","focusSearch","event","target","s","window","prefixPathname","isReadOnly","WRITER_MODE_HOSTNAMES","last","undefined","WRITER_MODE","countChild"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const __rspack_esm_id="8769";export const __rspack_esm_ids=["8769"];export const __webpack_modules__={52792(e,n,t){t.r(n),t.d(n,{default:()=>j});var a=t(96540),i=t(3322),r=t(92177),l=t(70661),s=t(49136),o=t(5438),u=t(23478),c=t(49351),h=t(16969);function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function E(e,n,t,a,i,r,l){try{var s=e[r](l),o=s.value}catch(e){t(e);return}s.done?n(o):Promise.resolve(o).then(a,i)}function v(e,n,t){return n=d(n),function(e,n){var t;if(n&&("object"==((t=n)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof n))return n;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,A()?Reflect.construct(n,t||[],d(e).constructor):n.apply(e,t))}function m(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function f(e,n,t){return(f=A()?Reflect.construct:function(e,n,t){var a=[null];a.push.apply(a,n);var i=new(Function.bind.apply(e,a));return t&&S(i,t.prototype),i}).apply(null,arguments)}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&S(e,n)}function b(e,n){return null!=n&&"u">typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function S(e,n){return(S=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function k(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,a,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r=[],l=!0,s=!1;try{for(i=i.call(e);!(l=(t=i.next()).done)&&(r.push(t.value),!n||r.length!==n);l=!0);}catch(e){s=!0,a=e}finally{try{l||null==i.return||i.return()}finally{if(s)throw a}}return r}}(e,n)||function(e,n){if(e){if("string"==typeof e)return g(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return g(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){var n="function"==typeof Map?new Map:void 0;return(w=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return f(e,arguments,d(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),S(t,e)})(e)}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}var N=new Map(Object.entries(t(23510).A).map(function(e){var n=k(e,2),t=n[0],a=n[1];return[t.toLowerCase(),a]})),_=[["best","Best"],["relevance","Relevance"],["popularity","Popularity"]],I=function(e){"use strict";function n(e){var t;return m(this,n),p(t=v(this,n,["BadRequestError ".concat(JSON.stringify(e))]),"formErrors",void 0),t.formErrors=e,t}return y(n,e),n}(w(Error)),P=function(e){"use strict";function n(e){var t;return m(this,n),p(t=v(this,n,["ServerOperationalError ".concat(e)]),"statusCode",void 0),t.statusCode=e,t}return y(n,e),n}(w(Error));function j(){var e=k((0,i.ok)(),1)[0],n=(0,o.Ym)(),t=(0,i.PI)(e);e.getAll("locale").length||t.set("locale",n);var s="/api/v1/search?".concat(t.toString()),u=(0,r.Ay)(s,function(e){var n;return(n=function(){var n;return function(e,n){var t,a,i,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(l,"next",{value:o(0)}),s(l,"throw",{value:o(1)}),s(l,"return",{value:o(2)}),"function"==typeof Symbol&&s(l,Symbol.iterator,{value:function(){return this}}),l;function o(s){return function(o){var u=[s,o];if(t)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(r=0)),r;)try{if(t=1,a&&(i=2&u[0]?a.return:u[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,u[1])).done)return i;switch(a=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,a=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(i=(i=r.trys).length>0&&i[i.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){r.label=u[1];break}if(6===u[0]&&r.label<i[1]){r.label=i[1],i=u;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(u);break}i[2]&&r.ops.pop(),r.trys.pop();continue}u=n.call(e,r)}catch(e){u=[6,e],a=0}finally{t=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return[4,fetch(e)];case 1:if(400!==(n=t.sent()).status)return[3,3];return[4,n.json()];case 2:throw new I(t.sent().errors);case 3:if(n.status>=500)throw new P(n.status);if(!n.ok)throw Error("".concat(n.status," on ").concat(e));t.label=4;case 4:return[4,n.json()];case 5:return[2,t.sent()]}})},function(){var e=this,t=arguments;return new Promise(function(a,i){var r=n.apply(e,t);function l(e){E(r,a,i,l,s,"next",e)}function s(e){E(r,a,i,l,s,"throw",e)}l(void 0)})})()},{revalidateOnFocus:!1}),c=u.data,h=u.error,g=e.get("page"),v=k(a.useState(g),2),m=v[0],f=v[1];if(a.useEffect(function(){if(g!==m){f(g);var e=document.querySelector("div.site-search");e&&e.scrollIntoView({behavior:"smooth"})}},[g,m]),h)return b(h,I)?a.createElement(C,null,a.createElement(B,{errors:h.formErrors})):b(h,P)?a.createElement(C,null,a.createElement(L,{statusCode:h.statusCode})):a.createElement(C,null,a.createElement("p",null,"Something else went horribly wrong with the search"),a.createElement("p",null,a.createElement("code",null,h.toString())));if(c){var p=c.metadata.page,d=c.metadata.size,y=c.metadata.total.value;return a.createElement(a.Fragment,null,y>1&&a.createElement(T,null),a.createElement(O,null),a.createElement(x,c),a.createElement(z,{currentPage:p,hitCount:y,pageSize:d,maxPage:10}))}return a.createElement(l.R,{minHeight:500,message:"Loading search results..."})}function O(){if(s.QD){var e=s.o2;return a.createElement(h.A,{type:"warning"},a.createElement("h4",null,"Note!"),a.createElement("p",null,"Site-search is proxied to ",a.createElement("code",null,e)," which means that some content found doesn't reflect what's in your current branch."))}return null}function T(){var e=k((0,i.ok)(),1)[0],n=e.get("sort")||_[0][0];return a.createElement("div",{className:"sort-options"},a.createElement("h2",null,"Sort by:"),a.createElement("ul",{className:"sort-option-list"},_.map(function(t,r){var l=k(t,2),s=l[0],o=l[1];return a.createElement("li",{key:s},s===n?o:a.createElement(i.N_,{to:"?".concat((0,u.m)(e,{sort:s}))},o))})))}function C(e){var n=e.children;return a.createElement("div",null,a.createElement("h3",null,"Search error"),n)}function B(e){var n=e.errors;return a.createElement(h.A,{type:"warning"},a.createElement("p",null,"The search didn't work because there were problems with the input."),a.createElement("ul",null,Object.keys(n).map(function(e){var t=n[e];return a.createElement("li",{key:e},a.createElement("code",null,e)," ",t.map(function(e){return a.createElement("b",{key:e.code},e.message)}))})))}function L(e){var n=e.statusCode;return a.createElement(h.A,{type:"warning"},a.createElement("p",null,"The search failed because the server failed to respond."),a.createElement("p",null,"If you're curious, it was a ",a.createElement("b",null,n)," error."),a.createElement("p",null,a.createElement(c.$,{onClickHandler:function(){window.location.reload()},type:"secondary"},"Try reloading")))}function x(e){var n=e.documents,t=e.metadata,r=e.suggestions,l=(0,o.Ym)(),s=k((0,i.ok)(),1)[0];return a.createElement("div",{className:"search-results"},a.createElement("p",null,"Found ",a.createElement(M,{total:t.total})," in ",t.took_ms," ","milliseconds."),!!r.length&&a.createElement("div",{className:"search-suggestions"},a.createElement("p",null,"Did you mean..."),a.createElement("ul",{className:"search-suggestion-list"},r.map(function(e){return a.createElement("li",{key:e.text},a.createElement(i.N_,{to:"?".concat((0,u.m)(s,{q:e.text,page:void 0}))},e.text)," ",a.createElement(M,{total:e.total}))}))),a.createElement("ul",{className:"search-results-list readable-line-length"},n.map(function(e){var n,t,i=e.highlight.body||[];return a.createElement("li",{className:"search-result-entry",key:e.mdn_url},e.highlight.title&&e.highlight.title.length?a.createElement("h3",{className:"title"},a.createElement("a",{href:e.mdn_url,dangerouslySetInnerHTML:{__html:e.highlight.title[0]}})):a.createElement("h3",{className:"title"},a.createElement("a",{href:e.mdn_url},e.title))," ",l.toLowerCase()!==e.locale&&N.has(e.locale)&&a.createElement("span",{className:"locale-indicator",title:"The linked document is in ".concat(null==(n=N.get(e.locale))?void 0:n.English," which is different from your current locale.")},null==(t=N.get(e.locale))?void 0:t.English),a.createElement("p",{className:"search-result-url"},a.createElement("a",{href:e.mdn_url},e.mdn_url)),a.createElement("p",null,i.length?i.map(function(n,t){return a.createElement("span",{key:"".concat(e.mdn_url).concat(t),className:"highlight",dangerouslySetInnerHTML:{__html:"…".concat(n,"…")}})}):a.createElement("span",{className:"summary"},e.summary)),null!==s.get("debug")&&a.createElement("span",{className:"nerd-data"},a.createElement("b",null,"score:")," ",a.createElement("code",null,e.score),","," ",a.createElement("b",null,"popularity:")," ",a.createElement("code",null,e.popularity),","," "))})))}function M(e){var n=e.total;return a.createElement(a.Fragment,null,"gt"===n.relation&&"more than"," ",n.value.toLocaleString()," ",1===n.value?"match":"matches")}function z(e){var n=e.currentPage,t=e.maxPage,r=e.hitCount,l=e.pageSize,s=k((0,i.ok)(),1)[0];if(!r||r<=l)return null;var o=null,c=null;if(r>n*l&&n<t&&(c=n+1),n>1&&(o=n-1),c||null!==o){var h="";return o&&(h=1===o?"?".concat((0,u.m)(s,{page:void 0})):"?".concat((0,u.m)(s,{page:"".concat(o)}))),a.createElement("ul",{className:"pagination readable-line-length"},h?a.createElement("li",null,a.createElement(i.N_,{to:h,className:"button"},"Previous")):null," ",c?a.createElement("li",null,a.createElement(i.N_,{to:"?".concat((0,u.m)(s,{page:"".concat(c)})),className:"button"},"Next")):null)}return null}},23478(e,n,t){t.d(n,{m:()=>r});var a=t(3322);function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function r(e,n){var t=(0,a.PI)(e);return Object.entries(n).forEach(function(e){var n=function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,a,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r=[],l=!0,s=!1;try{for(i=i.call(e);!(l=(t=i.next()).done)&&(r.push(t.value),2!==r.length);l=!0);}catch(e){s=!0,a=e}finally{try{l||null==i.return||i.return()}finally{if(s)throw a}}return r}}(e,2)||function(e,n){if(e){if("string"==typeof e)return i(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return i(e,2)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),a=n[0],r=n[1];Array.isArray(r)?(t.delete(a),r.forEach(function(e){return t.append(a,e)})):void 0===r?t.delete(a):t.set(a,r)}),t}},23510(e,n,t){t.d(n,{A:()=>a});let a={ach:{English:"Acholi",native:"Acholi"},ak:{English:"Akan",native:"Akan"},"am-et":{English:"Amharic",native:"አማርኛ"},an:{English:"Aragonese",native:"aragon\xe9s"},ar:{English:"Arabic",native:"عربي"},as:{English:"Assamese",native:"অসমীয়া"},ast:{English:"Asturian",native:"Asturianu"},azz:{English:"Highland Puebla Nahuatl",native:"nahuatl sierra norte Puebla"},be:{English:"Belarusian",native:"Беларуская"},bg:{English:"Bulgarian",native:"Български"},bm:{English:"Bambara",native:"Bamanankan"},bn:{English:"Bengali",native:"বাংলা"},br:{English:"Breton",native:"Brezhoneg"},brx:{English:"Bodo",native:"बर'"},bs:{English:"Bosnian",native:"Bosanski"},ca:{English:"Catalan",native:"Catal\xe0"},"ca-valencia":{English:"Catalan (Valencian)",native:"catal\xe0 (valenci\xe0)"},cak:{English:"Kaqchikel",native:"Maya Kaqchikel"},csb:{English:"Kashubian",native:"Kasz\xebbsczi"},cy:{English:"Welsh",native:"Cymraeg"},da:{English:"Danish",native:"Dansk"},dbg:{English:"Debug Robot",native:"Ḓḗƀŭɠ Řǿƀǿŧ"},de:{English:"German",native:"Deutsch"},"de-AT":{English:"German (Austria)",native:"Deutsch (\xd6sterreich)"},"de-CH":{English:"German (Switzerland)",native:"Deutsch (Schweiz)"},"de-DE":{English:"German (Germany)",native:"Deutsch (Deutschland)"},dsb:{English:"Lower Sorbian",native:"Dolnoserbšćina"},el:{English:"Greek",native:"Ελληνικά"},"en-AU":{English:"English (Australian)",native:"English (Australian)"},"en-CA":{English:"English (Canadian)",native:"English (Canadian)"},"en-GB":{English:"English (British)",native:"English (British)"},"en-NZ":{English:"English (New Zealand)",native:"English (New Zealand)"},"en-US":{English:"English (US)",native:"English (US)"},"en-ZA":{English:"English (South African)",native:"English (South African)"},eo:{English:"Esperanto",native:"Esperanto"},es:{English:"Spanish",native:"Espa\xf1ol"},"es-AR":{English:"Spanish (Argentina)",native:"Espa\xf1ol (de Argentina)"},"es-CL":{English:"Spanish (Chile)",native:"Espa\xf1ol (de Chile)"},"es-ES":{English:"Spanish (Spain)",native:"Espa\xf1ol (de Espa\xf1a)"},"es-MX":{English:"Spanish (Mexico)",native:"Espa\xf1ol (de M\xe9xico)"},et:{English:"Estonian",native:"Eesti keel"},eu:{English:"Basque",native:"Euskara"},fa:{English:"Persian",native:"فارسی"},fi:{English:"Finnish",native:"suomi"},"fj-FJ":{English:"Fijian",native:"Vosa vaka-Viti"},fr:{English:"French",native:"Fran\xe7ais"},"fur-IT":{English:"Friulian",native:"Furlan"},ga:{English:"Irish",native:"Gaeilge"},gd:{English:"Gaelic (Scotland)",native:"G\xe0idhlig"},gl:{English:"Galician",native:"Galego"},gn:{English:"Guarani",native:"Ava\xf1e'ẽ"},gu:{English:"Gujarati",native:"ગુજરાતી"},"gu-IN":{English:"Gujarati (India)",native:"ગુજરાતી (ભારત)"},he:{English:"Hebrew",native:"עברית"},hi:{English:"Hindi",native:"हिन्दी"},"hi-IN":{English:"Hindi (India)",native:"हिन्दी (भारत)"},hsb:{English:"Upper Sorbian",native:"Hornjoserbsce"},hu:{English:"Hungarian",native:"magyar"},"hy-AM":{English:"Armenian",native:"Հայերեն"},ia:{English:"Interlingua",native:"Interlingua"},id:{English:"Indonesian",native:"Bahasa Indonesia"},is:{English:"Icelandic",native:"\xedslenska"},it:{English:"Italian",native:"Italiano"},ja:{English:"Japanese",native:"日本語"},"ja-JP-mac":{English:"Japanese",native:"日本語"},kab:{English:"Kabyle",native:"Taqbaylit"},kk:{English:"Kazakh",native:"Қазақ"},km:{English:"Khmer",native:"ខ្មែរ"},kn:{English:"Kannada",native:"ಕನ್ನಡ"},ko:{English:"Korean",native:"한국어"},kok:{English:"Konkani",native:"कोंकनी"},ku:{English:"Kurdish",native:"Kurd\xee"},ks:{English:"Kashmiri",native:"كشمیری"},la:{English:"Latin",native:"Latina"},lg:{English:"Luganda",native:"Luganda"},lij:{English:"Ligurian",native:"Ligure"},lo:{English:"Lao",native:"ພາສາລາວ"},lt:{English:"Lithuanian",native:"Lietuvių"},ltg:{English:"Latgalian",native:"Latgaliešu valoda"},lv:{English:"Latvian",native:"Latviešu"},mai:{English:"Maithili",native:"मैथिली মৈথিলী"},mi:{English:"Maori (Aotearoa)",native:"Māori (Aotearoa)"},mk:{English:"Macedonian",native:"Македонски"},mn:{English:"Mongolian",native:"Монгол"},mr:{English:"Marathi",native:"मराठी"},ms:{English:"Malay",native:"Melayu"},my:{English:"Burmese",native:"မြန်မာဘာသာ"},"nb-NO":{English:"Norwegian (Bokm\xe5l)",native:"Norsk bokm\xe5l"},"ne-NP":{English:"Nepali",native:"नेपाली"},"nn-NO":{English:"Norwegian (Nynorsk)",native:"Norsk nynorsk"},nl:{English:"Dutch",native:"Nederlands"},nr:{English:"Ndebele, South",native:"isiNdebele"},nso:{English:"Northern Sotho",native:"Sepedi"},oc:{English:"Occitan (Lengadocian)",native:"occitan (lengadocian)"},or:{English:"Odia",native:"ଓଡ଼ିଆ"},pa:{English:"Punjabi",native:"ਪੰਜਾਬੀ"},"pa-IN":{English:"Punjabi (India)",native:"ਪੰਜਾਬੀ (ਭਾਰਤ)"},pl:{English:"Polish",native:"Polski"},"pt-BR":{English:"Portuguese (Brazilian)",native:"Portugu\xeas (do\xa0Brasil)"},"pt-PT":{English:"Portuguese (Portugal)",native:"Portugu\xeas (Europeu)"},rm:{English:"Romansh",native:"rumantsch"},ru:{English:"Russian",native:"Русский"},rw:{English:"Kinyarwanda",native:"Ikinyarwanda"},sa:{English:"Sanskrit",native:"संस्कृत"},sat:{English:"Santali",native:"संताली"},sah:{English:"Sakha",native:"Сахалыы"},si:{English:"Sinhala",native:"සිංහල"},sk:{English:"Slovak",native:"slovenčina"},sl:{English:"Slovenian",native:"Slovenščina"},"sr-Cyrl":{English:"Serbian",native:"Српски"},ss:{English:"Siswati",native:"siSwati"},st:{English:"Southern Sotho",native:"Sesotho"},"sv-SE":{English:"Swedish",native:"Svenska"},"ta-IN":{English:"Tamil (India)",native:"தமிழ் (இந்தியா)"},"ta-LK":{English:"Tamil (Sri Lanka)",native:"தமிழ் (இலங்கை)"},th:{English:"Thai",native:"ไทย"},tr:{English:"Turkish",native:"T\xfcrk\xe7e"},trs:{English:"Triqui",native:"Triqui"},ts:{English:"Tsonga",native:"Xitsonga"},tsz:{English:"Pur\xe9pecha",native:"Pur\xe9pecha"},"tt-RU":{English:"Tatar",native:"Tatar\xe7a"},uk:{English:"Ukrainian",native:"Українська"},ur:{English:"Urdu",native:"اُردو"},uz:{English:"Uzbek",native:"Oʻzbek tili"},ve:{English:"Venda",native:"Tshivenḓa"},vi:{English:"Vietnamese",native:"Tiếng Việt"},"x-testing":{English:"Testing",native:"Ŧḗşŧīƞɠ"},"zh-CN":{English:"Chinese (Simplified)",native:"中文 (简体)"},"zh-TW":{English:"Chinese (Traditional)",native:"正體中文 (繁體)"}}}};
|
|
2
|
-
//# sourceMappingURL=8769.
|
|
1
|
+
export const __rspack_esm_id="8769";export const __rspack_esm_ids=["8769"];export const __webpack_modules__={52792(e,n,t){t.r(n),t.d(n,{default:()=>j});var a=t(96540),i=t(3433),r=t(92177),l=t(70661),s=t(49136),o=t(5438),u=t(23478),c=t(49351),h=t(16969);function g(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function E(e,n,t,a,i,r,l){try{var s=e[r](l),o=s.value}catch(e){t(e);return}s.done?n(o):Promise.resolve(o).then(a,i)}function v(e,n,t){return n=d(n),function(e,n){var t;if(n&&("object"==((t=n)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof n))return n;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e,A()?Reflect.construct(n,t||[],d(e).constructor):n.apply(e,t))}function m(e,n){if(!(e instanceof n))throw TypeError("Cannot call a class as a function")}function f(e,n,t){return(f=A()?Reflect.construct:function(e,n,t){var a=[null];a.push.apply(a,n);var i=new(Function.bind.apply(e,a));return t&&S(i,t.prototype),i}).apply(null,arguments)}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&S(e,n)}function b(e,n){return null!=n&&"u">typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function S(e,n){return(S=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function k(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,a,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r=[],l=!0,s=!1;try{for(i=i.call(e);!(l=(t=i.next()).done)&&(r.push(t.value),!n||r.length!==n);l=!0);}catch(e){s=!0,a=e}finally{try{l||null==i.return||i.return()}finally{if(s)throw a}}return r}}(e,n)||function(e,n){if(e){if("string"==typeof e)return g(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return g(e,n)}}(e,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){var n="function"==typeof Map?new Map:void 0;return(w=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return f(e,arguments,d(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),S(t,e)})(e)}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}var N=new Map(Object.entries(t(23510).A).map(function(e){var n=k(e,2),t=n[0],a=n[1];return[t.toLowerCase(),a]})),_=[["best","Best"],["relevance","Relevance"],["popularity","Popularity"]],I=function(e){"use strict";function n(e){var t;return m(this,n),p(t=v(this,n,["BadRequestError ".concat(JSON.stringify(e))]),"formErrors",void 0),t.formErrors=e,t}return y(n,e),n}(w(Error)),P=function(e){"use strict";function n(e){var t;return m(this,n),p(t=v(this,n,["ServerOperationalError ".concat(e)]),"statusCode",void 0),t.statusCode=e,t}return y(n,e),n}(w(Error));function j(){var e=k((0,i.ok)(),1)[0],n=(0,o.Ym)(),t=(0,i.PI)(e);e.getAll("locale").length||t.set("locale",n);var s="/api/v1/search?".concat(t.toString()),u=(0,r.Ay)(s,function(e){var n;return(n=function(){var n;return function(e,n){var t,a,i,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(l,"next",{value:o(0)}),s(l,"throw",{value:o(1)}),s(l,"return",{value:o(2)}),"function"==typeof Symbol&&s(l,Symbol.iterator,{value:function(){return this}}),l;function o(s){return function(o){var u=[s,o];if(t)throw TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(r=0)),r;)try{if(t=1,a&&(i=2&u[0]?a.return:u[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,u[1])).done)return i;switch(a=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return r.label++,{value:u[1],done:!1};case 5:r.label++,a=u[1],u=[0];continue;case 7:u=r.ops.pop(),r.trys.pop();continue;default:if(!(i=(i=r.trys).length>0&&i[i.length-1])&&(6===u[0]||2===u[0])){r=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){r.label=u[1];break}if(6===u[0]&&r.label<i[1]){r.label=i[1],i=u;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(u);break}i[2]&&r.ops.pop(),r.trys.pop();continue}u=n.call(e,r)}catch(e){u=[6,e],a=0}finally{t=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return[4,fetch(e)];case 1:if(400!==(n=t.sent()).status)return[3,3];return[4,n.json()];case 2:throw new I(t.sent().errors);case 3:if(n.status>=500)throw new P(n.status);if(!n.ok)throw Error("".concat(n.status," on ").concat(e));t.label=4;case 4:return[4,n.json()];case 5:return[2,t.sent()]}})},function(){var e=this,t=arguments;return new Promise(function(a,i){var r=n.apply(e,t);function l(e){E(r,a,i,l,s,"next",e)}function s(e){E(r,a,i,l,s,"throw",e)}l(void 0)})})()},{revalidateOnFocus:!1}),c=u.data,h=u.error,g=e.get("page"),v=k(a.useState(g),2),m=v[0],f=v[1];if(a.useEffect(function(){if(g!==m){f(g);var e=document.querySelector("div.site-search");e&&e.scrollIntoView({behavior:"smooth"})}},[g,m]),h)return b(h,I)?a.createElement(C,null,a.createElement(B,{errors:h.formErrors})):b(h,P)?a.createElement(C,null,a.createElement(L,{statusCode:h.statusCode})):a.createElement(C,null,a.createElement("p",null,"Something else went horribly wrong with the search"),a.createElement("p",null,a.createElement("code",null,h.toString())));if(c){var p=c.metadata.page,d=c.metadata.size,y=c.metadata.total.value;return a.createElement(a.Fragment,null,y>1&&a.createElement(T,null),a.createElement(O,null),a.createElement(x,c),a.createElement(z,{currentPage:p,hitCount:y,pageSize:d,maxPage:10}))}return a.createElement(l.R,{minHeight:500,message:"Loading search results..."})}function O(){if(s.QD){var e=s.o2;return a.createElement(h.A,{type:"warning"},a.createElement("h4",null,"Note!"),a.createElement("p",null,"Site-search is proxied to ",a.createElement("code",null,e)," which means that some content found doesn't reflect what's in your current branch."))}return null}function T(){var e=k((0,i.ok)(),1)[0],n=e.get("sort")||_[0][0];return a.createElement("div",{className:"sort-options"},a.createElement("h2",null,"Sort by:"),a.createElement("ul",{className:"sort-option-list"},_.map(function(t,r){var l=k(t,2),s=l[0],o=l[1];return a.createElement("li",{key:s},s===n?o:a.createElement(i.N_,{to:"?".concat((0,u.m)(e,{sort:s}))},o))})))}function C(e){var n=e.children;return a.createElement("div",null,a.createElement("h3",null,"Search error"),n)}function B(e){var n=e.errors;return a.createElement(h.A,{type:"warning"},a.createElement("p",null,"The search didn't work because there were problems with the input."),a.createElement("ul",null,Object.keys(n).map(function(e){var t=n[e];return a.createElement("li",{key:e},a.createElement("code",null,e)," ",t.map(function(e){return a.createElement("b",{key:e.code},e.message)}))})))}function L(e){var n=e.statusCode;return a.createElement(h.A,{type:"warning"},a.createElement("p",null,"The search failed because the server failed to respond."),a.createElement("p",null,"If you're curious, it was a ",a.createElement("b",null,n)," error."),a.createElement("p",null,a.createElement(c.$,{onClickHandler:function(){window.location.reload()},type:"secondary"},"Try reloading")))}function x(e){var n=e.documents,t=e.metadata,r=e.suggestions,l=(0,o.Ym)(),s=k((0,i.ok)(),1)[0];return a.createElement("div",{className:"search-results"},a.createElement("p",null,"Found ",a.createElement(M,{total:t.total})," in ",t.took_ms," ","milliseconds."),!!r.length&&a.createElement("div",{className:"search-suggestions"},a.createElement("p",null,"Did you mean..."),a.createElement("ul",{className:"search-suggestion-list"},r.map(function(e){return a.createElement("li",{key:e.text},a.createElement(i.N_,{to:"?".concat((0,u.m)(s,{q:e.text,page:void 0}))},e.text)," ",a.createElement(M,{total:e.total}))}))),a.createElement("ul",{className:"search-results-list readable-line-length"},n.map(function(e){var n,t,i=e.highlight.body||[];return a.createElement("li",{className:"search-result-entry",key:e.mdn_url},e.highlight.title&&e.highlight.title.length?a.createElement("h3",{className:"title"},a.createElement("a",{href:e.mdn_url,dangerouslySetInnerHTML:{__html:e.highlight.title[0]}})):a.createElement("h3",{className:"title"},a.createElement("a",{href:e.mdn_url},e.title))," ",l.toLowerCase()!==e.locale&&N.has(e.locale)&&a.createElement("span",{className:"locale-indicator",title:"The linked document is in ".concat(null==(n=N.get(e.locale))?void 0:n.English," which is different from your current locale.")},null==(t=N.get(e.locale))?void 0:t.English),a.createElement("p",{className:"search-result-url"},a.createElement("a",{href:e.mdn_url},e.mdn_url)),a.createElement("p",null,i.length?i.map(function(n,t){return a.createElement("span",{key:"".concat(e.mdn_url).concat(t),className:"highlight",dangerouslySetInnerHTML:{__html:"…".concat(n,"…")}})}):a.createElement("span",{className:"summary"},e.summary)),null!==s.get("debug")&&a.createElement("span",{className:"nerd-data"},a.createElement("b",null,"score:")," ",a.createElement("code",null,e.score),","," ",a.createElement("b",null,"popularity:")," ",a.createElement("code",null,e.popularity),","," "))})))}function M(e){var n=e.total;return a.createElement(a.Fragment,null,"gt"===n.relation&&"more than"," ",n.value.toLocaleString()," ",1===n.value?"match":"matches")}function z(e){var n=e.currentPage,t=e.maxPage,r=e.hitCount,l=e.pageSize,s=k((0,i.ok)(),1)[0];if(!r||r<=l)return null;var o=null,c=null;if(r>n*l&&n<t&&(c=n+1),n>1&&(o=n-1),c||null!==o){var h="";return o&&(h=1===o?"?".concat((0,u.m)(s,{page:void 0})):"?".concat((0,u.m)(s,{page:"".concat(o)}))),a.createElement("ul",{className:"pagination readable-line-length"},h?a.createElement("li",null,a.createElement(i.N_,{to:h,className:"button"},"Previous")):null," ",c?a.createElement("li",null,a.createElement(i.N_,{to:"?".concat((0,u.m)(s,{page:"".concat(c)})),className:"button"},"Next")):null)}return null}},23478(e,n,t){t.d(n,{m:()=>r});var a=t(3433);function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,a=Array(n);t<n;t++)a[t]=e[t];return a}function r(e,n){var t=(0,a.PI)(e);return Object.entries(n).forEach(function(e){var n=function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t,a,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r=[],l=!0,s=!1;try{for(i=i.call(e);!(l=(t=i.next()).done)&&(r.push(t.value),2!==r.length);l=!0);}catch(e){s=!0,a=e}finally{try{l||null==i.return||i.return()}finally{if(s)throw a}}return r}}(e,2)||function(e,n){if(e){if("string"==typeof e)return i(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return i(e,2)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),a=n[0],r=n[1];Array.isArray(r)?(t.delete(a),r.forEach(function(e){return t.append(a,e)})):void 0===r?t.delete(a):t.set(a,r)}),t}},23510(e,n,t){t.d(n,{A:()=>a});let a={ach:{English:"Acholi",native:"Acholi"},ak:{English:"Akan",native:"Akan"},"am-et":{English:"Amharic",native:"አማርኛ"},an:{English:"Aragonese",native:"aragon\xe9s"},ar:{English:"Arabic",native:"عربي"},as:{English:"Assamese",native:"অসমীয়া"},ast:{English:"Asturian",native:"Asturianu"},azz:{English:"Highland Puebla Nahuatl",native:"nahuatl sierra norte Puebla"},be:{English:"Belarusian",native:"Беларуская"},bg:{English:"Bulgarian",native:"Български"},bm:{English:"Bambara",native:"Bamanankan"},bn:{English:"Bengali",native:"বাংলা"},br:{English:"Breton",native:"Brezhoneg"},brx:{English:"Bodo",native:"बर'"},bs:{English:"Bosnian",native:"Bosanski"},ca:{English:"Catalan",native:"Catal\xe0"},"ca-valencia":{English:"Catalan (Valencian)",native:"catal\xe0 (valenci\xe0)"},cak:{English:"Kaqchikel",native:"Maya Kaqchikel"},csb:{English:"Kashubian",native:"Kasz\xebbsczi"},cy:{English:"Welsh",native:"Cymraeg"},da:{English:"Danish",native:"Dansk"},dbg:{English:"Debug Robot",native:"Ḓḗƀŭɠ Řǿƀǿŧ"},de:{English:"German",native:"Deutsch"},"de-AT":{English:"German (Austria)",native:"Deutsch (\xd6sterreich)"},"de-CH":{English:"German (Switzerland)",native:"Deutsch (Schweiz)"},"de-DE":{English:"German (Germany)",native:"Deutsch (Deutschland)"},dsb:{English:"Lower Sorbian",native:"Dolnoserbšćina"},el:{English:"Greek",native:"Ελληνικά"},"en-AU":{English:"English (Australian)",native:"English (Australian)"},"en-CA":{English:"English (Canadian)",native:"English (Canadian)"},"en-GB":{English:"English (British)",native:"English (British)"},"en-NZ":{English:"English (New Zealand)",native:"English (New Zealand)"},"en-US":{English:"English (US)",native:"English (US)"},"en-ZA":{English:"English (South African)",native:"English (South African)"},eo:{English:"Esperanto",native:"Esperanto"},es:{English:"Spanish",native:"Espa\xf1ol"},"es-AR":{English:"Spanish (Argentina)",native:"Espa\xf1ol (de Argentina)"},"es-CL":{English:"Spanish (Chile)",native:"Espa\xf1ol (de Chile)"},"es-ES":{English:"Spanish (Spain)",native:"Espa\xf1ol (de Espa\xf1a)"},"es-MX":{English:"Spanish (Mexico)",native:"Espa\xf1ol (de M\xe9xico)"},et:{English:"Estonian",native:"Eesti keel"},eu:{English:"Basque",native:"Euskara"},fa:{English:"Persian",native:"فارسی"},fi:{English:"Finnish",native:"suomi"},"fj-FJ":{English:"Fijian",native:"Vosa vaka-Viti"},fr:{English:"French",native:"Fran\xe7ais"},"fur-IT":{English:"Friulian",native:"Furlan"},ga:{English:"Irish",native:"Gaeilge"},gd:{English:"Gaelic (Scotland)",native:"G\xe0idhlig"},gl:{English:"Galician",native:"Galego"},gn:{English:"Guarani",native:"Ava\xf1e'ẽ"},gu:{English:"Gujarati",native:"ગુજરાતી"},"gu-IN":{English:"Gujarati (India)",native:"ગુજરાતી (ભારત)"},he:{English:"Hebrew",native:"עברית"},hi:{English:"Hindi",native:"हिन्दी"},"hi-IN":{English:"Hindi (India)",native:"हिन्दी (भारत)"},hsb:{English:"Upper Sorbian",native:"Hornjoserbsce"},hu:{English:"Hungarian",native:"magyar"},"hy-AM":{English:"Armenian",native:"Հայերեն"},ia:{English:"Interlingua",native:"Interlingua"},id:{English:"Indonesian",native:"Bahasa Indonesia"},is:{English:"Icelandic",native:"\xedslenska"},it:{English:"Italian",native:"Italiano"},ja:{English:"Japanese",native:"日本語"},"ja-JP-mac":{English:"Japanese",native:"日本語"},kab:{English:"Kabyle",native:"Taqbaylit"},kk:{English:"Kazakh",native:"Қазақ"},km:{English:"Khmer",native:"ខ្មែរ"},kn:{English:"Kannada",native:"ಕನ್ನಡ"},ko:{English:"Korean",native:"한국어"},kok:{English:"Konkani",native:"कोंकनी"},ku:{English:"Kurdish",native:"Kurd\xee"},ks:{English:"Kashmiri",native:"كشمیری"},la:{English:"Latin",native:"Latina"},lg:{English:"Luganda",native:"Luganda"},lij:{English:"Ligurian",native:"Ligure"},lo:{English:"Lao",native:"ພາສາລາວ"},lt:{English:"Lithuanian",native:"Lietuvių"},ltg:{English:"Latgalian",native:"Latgaliešu valoda"},lv:{English:"Latvian",native:"Latviešu"},mai:{English:"Maithili",native:"मैथिली মৈথিলী"},mi:{English:"Maori (Aotearoa)",native:"Māori (Aotearoa)"},mk:{English:"Macedonian",native:"Македонски"},mn:{English:"Mongolian",native:"Монгол"},mr:{English:"Marathi",native:"मराठी"},ms:{English:"Malay",native:"Melayu"},my:{English:"Burmese",native:"မြန်မာဘာသာ"},"nb-NO":{English:"Norwegian (Bokm\xe5l)",native:"Norsk bokm\xe5l"},"ne-NP":{English:"Nepali",native:"नेपाली"},"nn-NO":{English:"Norwegian (Nynorsk)",native:"Norsk nynorsk"},nl:{English:"Dutch",native:"Nederlands"},nr:{English:"Ndebele, South",native:"isiNdebele"},nso:{English:"Northern Sotho",native:"Sepedi"},oc:{English:"Occitan (Lengadocian)",native:"occitan (lengadocian)"},or:{English:"Odia",native:"ଓଡ଼ିଆ"},pa:{English:"Punjabi",native:"ਪੰਜਾਬੀ"},"pa-IN":{English:"Punjabi (India)",native:"ਪੰਜਾਬੀ (ਭਾਰਤ)"},pl:{English:"Polish",native:"Polski"},"pt-BR":{English:"Portuguese (Brazilian)",native:"Portugu\xeas (do\xa0Brasil)"},"pt-PT":{English:"Portuguese (Portugal)",native:"Portugu\xeas (Europeu)"},rm:{English:"Romansh",native:"rumantsch"},ru:{English:"Russian",native:"Русский"},rw:{English:"Kinyarwanda",native:"Ikinyarwanda"},sa:{English:"Sanskrit",native:"संस्कृत"},sat:{English:"Santali",native:"संताली"},sah:{English:"Sakha",native:"Сахалыы"},si:{English:"Sinhala",native:"සිංහල"},sk:{English:"Slovak",native:"slovenčina"},sl:{English:"Slovenian",native:"Slovenščina"},"sr-Cyrl":{English:"Serbian",native:"Српски"},ss:{English:"Siswati",native:"siSwati"},st:{English:"Southern Sotho",native:"Sesotho"},"sv-SE":{English:"Swedish",native:"Svenska"},"ta-IN":{English:"Tamil (India)",native:"தமிழ் (இந்தியா)"},"ta-LK":{English:"Tamil (Sri Lanka)",native:"தமிழ் (இலங்கை)"},th:{English:"Thai",native:"ไทย"},tr:{English:"Turkish",native:"T\xfcrk\xe7e"},trs:{English:"Triqui",native:"Triqui"},ts:{English:"Tsonga",native:"Xitsonga"},tsz:{English:"Pur\xe9pecha",native:"Pur\xe9pecha"},"tt-RU":{English:"Tatar",native:"Tatar\xe7a"},uk:{English:"Ukrainian",native:"Українська"},ur:{English:"Urdu",native:"اُردو"},uz:{English:"Uzbek",native:"Oʻzbek tili"},ve:{English:"Venda",native:"Tshivenḓa"},vi:{English:"Vietnamese",native:"Tiếng Việt"},"x-testing":{English:"Testing",native:"Ŧḗşŧīƞɠ"},"zh-CN":{English:"Chinese (Simplified)",native:"中文 (简体)"},"zh-TW":{English:"Chinese (Traditional)",native:"正體中文 (繁體)"}}}};
|
|
2
|
+
//# sourceMappingURL=8769.c0eb10a75d355ed3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8769.d63b4369d16f3391.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/site-search/search-results.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/site-search/utils.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/libs/languages/index.js"],"sourcesContent":["import React from \"react\";\nimport { createSearchParams, Link, useSearchParams } from \"react-router-dom\";\nimport useSWR from \"swr\";\n\nimport { Loading } from \"../ui/atoms/loading\";\nimport { WRITER_MODE, KUMA_HOST } from \"../env\";\nimport { useLocale } from \"../hooks\";\nimport { appendURL } from \"./utils\";\nimport { Button } from \"../ui/atoms/button\";\n\nimport \"./search-results.scss\";\nimport NoteCard from \"../ui/molecules/notecards\";\n\nimport LANGUAGES_RAW from \"../../../libs/languages\";\n\nconst LANGUAGES = new Map(\n Object.entries(LANGUAGES_RAW).map(([locale, data]) => {\n return [locale.toLowerCase(), data];\n })\n);\n\nconst SORT_OPTIONS = [\n [\"best\", \"Best\"],\n [\"relevance\", \"Relevance\"],\n [\"popularity\", \"Popularity\"],\n];\n\ntype Highlight = {\n body?: string[];\n title?: string[];\n};\n\ninterface Document {\n mdn_url: string;\n locale: string;\n title: string;\n highlight: Highlight;\n summary: string;\n score: number;\n popularity: number;\n}\n\ntype Total = {\n value: number;\n relation: \"eq\" | \"gt\";\n};\n\ninterface Metadata {\n // The time it took Elasticsearch query\n took_ms: number;\n // The time it took Kuma's API to wrap the Elasticsearch query\n api_took_ms: number;\n total: Total;\n}\n\ninterface Suggestion {\n text: string;\n total: Total;\n}\n\ninterface FormErrorMessage {\n message: string;\n code: string;\n}\n\ntype FormErrors = [{ key: string }, FormErrorMessage[]];\n\nclass BadRequestError extends Error {\n public formErrors: FormErrors;\n\n constructor(formErrors: FormErrors) {\n super(`BadRequestError ${JSON.stringify(formErrors)}`);\n this.formErrors = formErrors;\n }\n}\n\nclass ServerOperationalError extends Error {\n public statusCode: number;\n\n constructor(statusCode: number) {\n super(`ServerOperationalError ${statusCode}`);\n this.statusCode = statusCode;\n }\n}\n\nexport default function SearchResults() {\n const [searchParams] = useSearchParams();\n const locale = useLocale();\n // A call to `/api/v1/search` will default to mean the same thing as\n // a call to `/api/v1/search?locale=en-us`. But if they page you're currently\n // on, (e.g. `/ja/search`) we should supply a more explicit default.\n const sp = createSearchParams(searchParams);\n if (!searchParams.getAll(\"locale\").length) {\n // In other words, if it's not explicitly set by the current query string,\n // force in the locale based on the current URL (path).\n sp.set(\"locale\", locale);\n }\n const fetchURL = `/api/v1/search?${sp.toString()}`;\n\n const { data, error } = useSWR(\n fetchURL,\n async (url) => {\n const response = await fetch(url);\n if (response.status === 400) {\n const badRequest = await response.json();\n throw new BadRequestError(badRequest.errors);\n } else if (response.status >= 500) {\n throw new ServerOperationalError(response.status);\n } else if (!response.ok) {\n throw new Error(`${response.status} on ${url}`);\n }\n\n return await response.json();\n },\n {\n revalidateOnFocus: process.env.NODE_ENV === \"development\",\n }\n );\n\n const page = searchParams.get(\"page\");\n const [initialPage, setInitialPage] = React.useState(page);\n React.useEffect(() => {\n if (page !== initialPage) {\n setInitialPage(page);\n const resultsElement = document.querySelector(\"div.site-search\");\n if (resultsElement) {\n resultsElement.scrollIntoView({ behavior: \"smooth\" });\n }\n }\n }, [page, initialPage]);\n\n if (error) {\n if (error instanceof BadRequestError) {\n return (\n <SearchErrorContainer>\n <ExplainBadRequestError errors={error.formErrors} />\n </SearchErrorContainer>\n );\n }\n\n if (error instanceof ServerOperationalError) {\n return (\n <SearchErrorContainer>\n <ExplainServerOperationalError statusCode={error.statusCode} />\n </SearchErrorContainer>\n );\n }\n\n return (\n <SearchErrorContainer>\n <p>Something else went horribly wrong with the search</p>\n <p>\n <code>{error.toString()}</code>\n </p>\n </SearchErrorContainer>\n );\n }\n\n if (data) {\n const currentPage = data.metadata.page;\n const pageSize = data.metadata.size;\n const hitCount = data.metadata.total.value;\n\n return (\n <>\n {/* It only makes sense to display the sorting options if anything was found */}\n {hitCount > 1 && <SortOptions />}\n\n <RemoteSearchWarning />\n\n <Results {...data} />\n\n <Pagination\n currentPage={currentPage}\n hitCount={hitCount}\n pageSize={pageSize}\n maxPage={10}\n />\n </>\n );\n }\n // else...\n return <Loading minHeight={500} message=\"Loading search results...\" />;\n}\n\nfunction RemoteSearchWarning() {\n if (WRITER_MODE) {\n // If you're in WRITER_MODE, the search results will be proxied from a remote\n // Kuma and it might be confusing if a writer is wondering why their\n // actively worked-on content isn't showing up in searches.\n // The default value in the server is not accessible from the react app,\n // so it's hardcoded here in the client.\n const kumaHost = KUMA_HOST;\n return (\n <NoteCard type=\"warning\">\n <h4>Note!</h4>\n <p>\n Site-search is proxied to <code>{kumaHost}</code> which means that\n some content found doesn't reflect what's in your current branch.\n </p>\n </NoteCard>\n );\n }\n return null;\n}\n\nfunction SortOptions() {\n const [searchParams] = useSearchParams();\n const querySort = searchParams.get(\"sort\") || SORT_OPTIONS[0][0];\n return (\n <div className=\"sort-options\">\n <h2>Sort by:</h2>\n <ul className=\"sort-option-list\">\n {SORT_OPTIONS.map(([key, label], i) => {\n return (\n <li key={key}>\n {key === querySort ? (\n label\n ) : (\n <Link to={`?${appendURL(searchParams, { sort: key })}`}>\n {label}\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nfunction SearchErrorContainer({ children }: { children: React.ReactNode }) {\n return (\n <div>\n <h3>Search error</h3>\n {children}\n </div>\n );\n}\n\nfunction ExplainBadRequestError({ errors }: { errors: FormErrors }) {\n return (\n <NoteCard type=\"warning\">\n <p>The search didn't work because there were problems with the input.</p>\n <ul>\n {Object.keys(errors).map((key) => {\n const messages: FormErrorMessage[] = errors[key];\n return (\n <li key={key}>\n <code>{key}</code>{\" \"}\n {messages.map((message) => {\n return <b key={message.code}>{message.message}</b>;\n })}\n </li>\n );\n })}\n </ul>\n </NoteCard>\n );\n}\n\nfunction ExplainServerOperationalError({ statusCode }: { statusCode: number }) {\n return (\n <NoteCard type=\"warning\">\n <p>The search failed because the server failed to respond.</p>\n <p>\n If you're curious, it was a <b>{statusCode}</b> error.\n </p>\n <p>\n <Button\n onClickHandler={() => {\n window.location.reload();\n }}\n type=\"secondary\"\n >\n Try reloading\n </Button>\n </p>\n </NoteCard>\n );\n}\n\nfunction Results({\n documents,\n metadata,\n suggestions,\n}: {\n documents: Document[];\n metadata: Metadata;\n suggestions: Suggestion[];\n}) {\n const locale = useLocale();\n const [searchParams] = useSearchParams();\n\n return (\n <div className=\"search-results\">\n <p>\n Found <ShowTotal total={metadata.total} /> in {metadata.took_ms}{\" \"}\n milliseconds.\n </p>\n\n {!!suggestions.length && (\n <div className=\"search-suggestions\">\n <p>Did you mean...</p>\n <ul className=\"search-suggestion-list\">\n {suggestions.map((suggestion) => {\n return (\n <li key={suggestion.text}>\n <Link\n to={`?${appendURL(searchParams, {\n q: suggestion.text,\n page: undefined,\n })}`}\n >\n {suggestion.text}\n </Link>{\" \"}\n <ShowTotal total={suggestion.total} />\n </li>\n );\n })}\n </ul>\n </div>\n )}\n\n <ul className=\"search-results-list readable-line-length\">\n {documents.map((document) => {\n const highlights = document.highlight.body || [];\n return (\n <li className=\"search-result-entry\" key={document.mdn_url}>\n {/* We're using plain <a href> instead of <Link to> here until\n the bug has been figured out about scrolling to the top on click. */}\n {document.highlight.title && document.highlight.title.length ? (\n <h3 className=\"title\">\n <a\n href={document.mdn_url}\n dangerouslySetInnerHTML={{\n __html: document.highlight.title[0],\n }}\n ></a>\n </h3>\n ) : (\n <h3 className=\"title\">\n <a href={document.mdn_url}>{document.title}</a>\n </h3>\n )}{\" \"}\n {locale.toLowerCase() !== document.locale &&\n LANGUAGES.has(document.locale) && (\n <span\n className=\"locale-indicator\"\n title={`The linked document is in ${\n LANGUAGES.get(document.locale)?.English\n } which is different from your current locale.`}\n >\n {LANGUAGES.get(document.locale)?.English}\n </span>\n )}\n <p className=\"search-result-url\">\n <a href={document.mdn_url}>{document.mdn_url}</a>\n </p>\n <p>\n {highlights.length ? (\n highlights.map((highlight, i) => {\n return (\n <span\n key={`${document.mdn_url}${i}`}\n className=\"highlight\"\n dangerouslySetInnerHTML={{ __html: `…${highlight}…` }}\n ></span>\n );\n })\n ) : (\n <span className=\"summary\">{document.summary}</span>\n )}\n </p>\n {searchParams.get(\"debug\") !== null && (\n <span className=\"nerd-data\">\n <b>score:</b> <code>{document.score}</code>,{\" \"}\n <b>popularity:</b> <code>{document.popularity}</code>,{\" \"}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nfunction ShowTotal({ total }: { total: Total }) {\n return (\n <>\n {total.relation === \"gt\" && \"more than\"} {total.value.toLocaleString()}{\" \"}\n {total.value === 1 ? \"match\" : \"matches\"}\n </>\n );\n}\n\nfunction Pagination({\n currentPage,\n maxPage,\n hitCount,\n pageSize,\n}: {\n currentPage: number;\n maxPage: number;\n hitCount: number;\n pageSize: number;\n}) {\n const [searchParams] = useSearchParams();\n\n if (!hitCount) {\n return null;\n }\n if (hitCount <= pageSize) {\n return null;\n }\n let previousPage: number | null = null;\n let nextPage: number | null = null;\n if (hitCount > currentPage * pageSize && currentPage < maxPage) {\n nextPage = currentPage + 1;\n }\n if (currentPage > 1) {\n previousPage = currentPage - 1;\n }\n\n if (nextPage || previousPage !== null) {\n let previousURL = \"\";\n if (previousPage) {\n if (previousPage === 1) {\n previousURL = `?${appendURL(searchParams, {\n page: undefined,\n })}`;\n } else {\n previousURL = `?${appendURL(searchParams, {\n page: `${previousPage}`,\n })}`;\n }\n }\n return (\n <ul className=\"pagination readable-line-length\">\n {previousURL ? (\n <li>\n <Link to={previousURL} className=\"button\">\n Previous\n </Link>\n </li>\n ) : null}{\" \"}\n {nextPage ? (\n <li>\n <Link\n to={`?${appendURL(searchParams, { page: `${nextPage}` })}`}\n className=\"button\"\n >\n Next\n </Link>\n </li>\n ) : null}\n </ul>\n );\n }\n return null;\n}\n","import { createSearchParams, URLSearchParamsInit } from \"react-router-dom\";\n\nexport function appendURL(\n searchParams: URLSearchParamsInit,\n overrides: Record<string, string | string[] | undefined>\n) {\n const sp = createSearchParams(searchParams);\n Object.entries(overrides).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n sp.delete(key);\n value.forEach((v) => sp.append(key, v));\n } else if (value === undefined) {\n sp.delete(key);\n } else {\n sp.set(key, value);\n }\n });\n return sp;\n}\n","export default {\n ach: {\n English: \"Acholi\",\n native: \"Acholi\",\n },\n ak: {\n English: \"Akan\",\n native: \"Akan\",\n },\n \"am-et\": {\n English: \"Amharic\",\n native: \"\\u12a0\\u121b\\u122d\\u129b\",\n },\n an: {\n English: \"Aragonese\",\n native: \"aragon\\u00e9s\",\n },\n ar: {\n English: \"Arabic\",\n native: \"\\u0639\\u0631\\u0628\\u064a\",\n },\n as: {\n English: \"Assamese\",\n native: \"\\u0985\\u09b8\\u09ae\\u09c0\\u09af\\u09bc\\u09be\",\n },\n ast: {\n English: \"Asturian\",\n native: \"Asturianu\",\n },\n azz: {\n English: \"Highland Puebla Nahuatl\",\n native: \"nahuatl sierra norte Puebla\",\n },\n be: {\n English: \"Belarusian\",\n native: \"\\u0411\\u0435\\u043b\\u0430\\u0440\\u0443\\u0441\\u043a\\u0430\\u044f\",\n },\n bg: {\n English: \"Bulgarian\",\n native: \"\\u0411\\u044a\\u043b\\u0433\\u0430\\u0440\\u0441\\u043a\\u0438\",\n },\n bm: {\n English: \"Bambara\",\n native: \"Bamanankan\",\n },\n bn: {\n English: \"Bengali\",\n native: \"\\u09ac\\u09be\\u0982\\u09b2\\u09be\",\n },\n br: {\n English: \"Breton\",\n native: \"Brezhoneg\",\n },\n brx: {\n English: \"Bodo\",\n native: \"\\u092c\\u0930'\",\n },\n bs: {\n English: \"Bosnian\",\n native: \"Bosanski\",\n },\n ca: {\n English: \"Catalan\",\n native: \"Catal\\u00e0\",\n },\n \"ca-valencia\": {\n English: \"Catalan (Valencian)\",\n native: \"catal\\u00e0 (valenci\\u00e0)\",\n },\n cak: {\n English: \"Kaqchikel\",\n native: \"Maya Kaqchikel\",\n },\n csb: {\n English: \"Kashubian\",\n native: \"Kasz\\u00ebbsczi\",\n },\n cy: {\n English: \"Welsh\",\n native: \"Cymraeg\",\n },\n da: {\n English: \"Danish\",\n native: \"Dansk\",\n },\n dbg: {\n English: \"Debug Robot\",\n native: \"\\u1e12\\u1e17\\u0180\\u016d\\u0260 \\u0158\\u01ff\\u0180\\u01ff\\u0167\",\n },\n de: {\n English: \"German\",\n native: \"Deutsch\",\n },\n \"de-AT\": {\n English: \"German (Austria)\",\n native: \"Deutsch (\\u00d6sterreich)\",\n },\n \"de-CH\": {\n English: \"German (Switzerland)\",\n native: \"Deutsch (Schweiz)\",\n },\n \"de-DE\": {\n English: \"German (Germany)\",\n native: \"Deutsch (Deutschland)\",\n },\n dsb: {\n English: \"Lower Sorbian\",\n native: \"Dolnoserb\\u0161\\u0107ina\",\n },\n el: {\n English: \"Greek\",\n native: \"\\u0395\\u03bb\\u03bb\\u03b7\\u03bd\\u03b9\\u03ba\\u03ac\",\n },\n \"en-AU\": {\n English: \"English (Australian)\",\n native: \"English (Australian)\",\n },\n \"en-CA\": {\n English: \"English (Canadian)\",\n native: \"English (Canadian)\",\n },\n \"en-GB\": {\n English: \"English (British)\",\n native: \"English (British)\",\n },\n \"en-NZ\": {\n English: \"English (New Zealand)\",\n native: \"English (New Zealand)\",\n },\n \"en-US\": {\n English: \"English (US)\",\n native: \"English (US)\",\n },\n \"en-ZA\": {\n English: \"English (South African)\",\n native: \"English (South African)\",\n },\n eo: {\n English: \"Esperanto\",\n native: \"Esperanto\",\n },\n es: {\n English: \"Spanish\",\n native: \"Espa\\u00f1ol\",\n },\n \"es-AR\": {\n English: \"Spanish (Argentina)\",\n native: \"Espa\\u00f1ol (de Argentina)\",\n },\n \"es-CL\": {\n English: \"Spanish (Chile)\",\n native: \"Espa\\u00f1ol (de Chile)\",\n },\n \"es-ES\": {\n English: \"Spanish (Spain)\",\n native: \"Espa\\u00f1ol (de Espa\\u00f1a)\",\n },\n \"es-MX\": {\n English: \"Spanish (Mexico)\",\n native: \"Espa\\u00f1ol (de M\\u00e9xico)\",\n },\n et: {\n English: \"Estonian\",\n native: \"Eesti keel\",\n },\n eu: {\n English: \"Basque\",\n native: \"Euskara\",\n },\n fa: {\n English: \"Persian\",\n native: \"\\u0641\\u0627\\u0631\\u0633\\u06cc\",\n },\n fi: {\n English: \"Finnish\",\n native: \"suomi\",\n },\n \"fj-FJ\": {\n English: \"Fijian\",\n native: \"Vosa vaka-Viti\",\n },\n fr: {\n English: \"French\",\n native: \"Fran\\u00e7ais\",\n },\n \"fur-IT\": {\n English: \"Friulian\",\n native: \"Furlan\",\n },\n ga: {\n English: \"Irish\",\n native: \"Gaeilge\",\n },\n gd: {\n English: \"Gaelic (Scotland)\",\n native: \"G\\u00e0idhlig\",\n },\n gl: {\n English: \"Galician\",\n native: \"Galego\",\n },\n gn: {\n English: \"Guarani\",\n native: \"Ava\\u00f1e'\\u1ebd\",\n },\n gu: {\n English: \"Gujarati\",\n native: \"\\u0a97\\u0ac1\\u0a9c\\u0ab0\\u0abe\\u0aa4\\u0ac0\",\n },\n \"gu-IN\": {\n English: \"Gujarati (India)\",\n native:\n \"\\u0a97\\u0ac1\\u0a9c\\u0ab0\\u0abe\\u0aa4\\u0ac0 (\\u0aad\\u0abe\\u0ab0\\u0aa4)\",\n },\n he: {\n English: \"Hebrew\",\n native: \"\\u05e2\\u05d1\\u05e8\\u05d9\\u05ea\",\n },\n hi: {\n English: \"Hindi\",\n native: \"\\u0939\\u093f\\u0928\\u094d\\u0926\\u0940\",\n },\n \"hi-IN\": {\n English: \"Hindi (India)\",\n native: \"\\u0939\\u093f\\u0928\\u094d\\u0926\\u0940 (\\u092d\\u093e\\u0930\\u0924)\",\n },\n hsb: {\n English: \"Upper Sorbian\",\n native: \"Hornjoserbsce\",\n },\n hu: {\n English: \"Hungarian\",\n native: \"magyar\",\n },\n \"hy-AM\": {\n English: \"Armenian\",\n native: \"\\u0540\\u0561\\u0575\\u0565\\u0580\\u0565\\u0576\",\n },\n ia: {\n English: \"Interlingua\",\n native: \"Interlingua\",\n },\n id: {\n English: \"Indonesian\",\n native: \"Bahasa Indonesia\",\n },\n is: {\n English: \"Icelandic\",\n native: \"\\u00edslenska\",\n },\n it: {\n English: \"Italian\",\n native: \"Italiano\",\n },\n ja: {\n English: \"Japanese\",\n native: \"\\u65e5\\u672c\\u8a9e\",\n },\n \"ja-JP-mac\": {\n English: \"Japanese\",\n native: \"\\u65e5\\u672c\\u8a9e\",\n },\n kab: {\n English: \"Kabyle\",\n native: \"Taqbaylit\",\n },\n kk: {\n English: \"Kazakh\",\n native: \"\\u049a\\u0430\\u0437\\u0430\\u049b\",\n },\n km: {\n English: \"Khmer\",\n native: \"\\u1781\\u17d2\\u1798\\u17c2\\u179a\",\n },\n kn: {\n English: \"Kannada\",\n native: \"\\u0c95\\u0ca8\\u0ccd\\u0ca8\\u0ca1\",\n },\n ko: {\n English: \"Korean\",\n native: \"\\ud55c\\uad6d\\uc5b4\",\n },\n kok: {\n English: \"Konkani\",\n native: \"\\u0915\\u094b\\u0902\\u0915\\u0928\\u0940\",\n },\n ku: {\n English: \"Kurdish\",\n native: \"Kurd\\u00ee\",\n },\n ks: {\n English: \"Kashmiri\",\n native: \"\\u0643\\u0634\\u0645\\u06cc\\u0631\\u06cc\",\n },\n la: {\n English: \"Latin\",\n native: \"Latina\",\n },\n lg: {\n English: \"Luganda\",\n native: \"Luganda\",\n },\n lij: {\n English: \"Ligurian\",\n native: \"Ligure\",\n },\n lo: {\n English: \"Lao\",\n native: \"\\u0e9e\\u0eb2\\u0eaa\\u0eb2\\u0ea5\\u0eb2\\u0ea7\",\n },\n lt: {\n English: \"Lithuanian\",\n native: \"Lietuvi\\u0173\",\n },\n ltg: {\n English: \"Latgalian\",\n native: \"Latgalie\\u0161u valoda\",\n },\n lv: {\n English: \"Latvian\",\n native: \"Latvie\\u0161u\",\n },\n mai: {\n English: \"Maithili\",\n native:\n \"\\u092e\\u0948\\u0925\\u093f\\u0932\\u0940 \\u09ae\\u09c8\\u09a5\\u09bf\\u09b2\\u09c0\",\n },\n mi: {\n English: \"Maori (Aotearoa)\",\n native: \"M\\u0101ori (Aotearoa)\",\n },\n mk: {\n English: \"Macedonian\",\n native: \"\\u041c\\u0430\\u043a\\u0435\\u0434\\u043e\\u043d\\u0441\\u043a\\u0438\",\n },\n mn: {\n English: \"Mongolian\",\n native: \"\\u041c\\u043e\\u043d\\u0433\\u043e\\u043b\",\n },\n mr: {\n English: \"Marathi\",\n native: \"\\u092e\\u0930\\u093e\\u0920\\u0940\",\n },\n ms: {\n English: \"Malay\",\n native: \"Melayu\",\n },\n my: {\n English: \"Burmese\",\n native: \"\\u1019\\u103c\\u1014\\u103a\\u1019\\u102c\\u1018\\u102c\\u101e\\u102c\",\n },\n \"nb-NO\": {\n English: \"Norwegian (Bokm\\u00e5l)\",\n native: \"Norsk bokm\\u00e5l\",\n },\n \"ne-NP\": {\n English: \"Nepali\",\n native: \"\\u0928\\u0947\\u092a\\u093e\\u0932\\u0940\",\n },\n \"nn-NO\": {\n English: \"Norwegian (Nynorsk)\",\n native: \"Norsk nynorsk\",\n },\n nl: {\n English: \"Dutch\",\n native: \"Nederlands\",\n },\n nr: {\n English: \"Ndebele, South\",\n native: \"isiNdebele\",\n },\n nso: {\n English: \"Northern Sotho\",\n native: \"Sepedi\",\n },\n oc: {\n English: \"Occitan (Lengadocian)\",\n native: \"occitan (lengadocian)\",\n },\n or: {\n English: \"Odia\",\n native: \"\\u0b13\\u0b21\\u0b3c\\u0b3f\\u0b06\",\n },\n pa: {\n English: \"Punjabi\",\n native: \"\\u0a2a\\u0a70\\u0a1c\\u0a3e\\u0a2c\\u0a40\",\n },\n \"pa-IN\": {\n English: \"Punjabi (India)\",\n native: \"\\u0a2a\\u0a70\\u0a1c\\u0a3e\\u0a2c\\u0a40 (\\u0a2d\\u0a3e\\u0a30\\u0a24)\",\n },\n pl: {\n English: \"Polish\",\n native: \"Polski\",\n },\n \"pt-BR\": {\n English: \"Portuguese (Brazilian)\",\n native: \"Portugu\\u00eas (do\\u00a0Brasil)\",\n },\n \"pt-PT\": {\n English: \"Portuguese (Portugal)\",\n native: \"Portugu\\u00eas (Europeu)\",\n },\n rm: {\n English: \"Romansh\",\n native: \"rumantsch\",\n },\n ru: {\n English: \"Russian\",\n native: \"\\u0420\\u0443\\u0441\\u0441\\u043a\\u0438\\u0439\",\n },\n rw: {\n English: \"Kinyarwanda\",\n native: \"Ikinyarwanda\",\n },\n sa: {\n English: \"Sanskrit\",\n native: \"\\u0938\\u0902\\u0938\\u094d\\u0915\\u0943\\u0924\",\n },\n sat: {\n English: \"Santali\",\n native: \"\\u0938\\u0902\\u0924\\u093e\\u0932\\u0940\",\n },\n sah: {\n English: \"Sakha\",\n native: \"\\u0421\\u0430\\u0445\\u0430\\u043b\\u044b\\u044b\",\n },\n si: {\n English: \"Sinhala\",\n native: \"\\u0dc3\\u0dd2\\u0d82\\u0dc4\\u0dbd\",\n },\n sk: {\n English: \"Slovak\",\n native: \"sloven\\u010dina\",\n },\n sl: {\n English: \"Slovenian\",\n native: \"Sloven\\u0161\\u010dina\",\n },\n \"sr-Cyrl\": {\n English: \"Serbian\",\n native: \"\\u0421\\u0440\\u043f\\u0441\\u043a\\u0438\",\n },\n ss: {\n English: \"Siswati\",\n native: \"siSwati\",\n },\n st: {\n English: \"Southern Sotho\",\n native: \"Sesotho\",\n },\n \"sv-SE\": {\n English: \"Swedish\",\n native: \"Svenska\",\n },\n \"ta-IN\": {\n English: \"Tamil (India)\",\n native:\n \"\\u0ba4\\u0bae\\u0bbf\\u0bb4\\u0bcd (\\u0b87\\u0ba8\\u0bcd\\u0ba4\\u0bbf\\u0baf\\u0bbe)\",\n },\n \"ta-LK\": {\n English: \"Tamil (Sri Lanka)\",\n native:\n \"\\u0ba4\\u0bae\\u0bbf\\u0bb4\\u0bcd (\\u0b87\\u0bb2\\u0b99\\u0bcd\\u0b95\\u0bc8)\",\n },\n th: {\n English: \"Thai\",\n native: \"\\u0e44\\u0e17\\u0e22\",\n },\n tr: {\n English: \"Turkish\",\n native: \"T\\u00fcrk\\u00e7e\",\n },\n trs: {\n English: \"Triqui\",\n native: \"Triqui\",\n },\n ts: {\n English: \"Tsonga\",\n native: \"Xitsonga\",\n },\n tsz: {\n English: \"Pur\\u00e9pecha\",\n native: \"Pur\\u00e9pecha\",\n },\n \"tt-RU\": {\n English: \"Tatar\",\n native: \"Tatar\\u00e7a\",\n },\n uk: {\n English: \"Ukrainian\",\n native: \"\\u0423\\u043a\\u0440\\u0430\\u0457\\u043d\\u0441\\u044c\\u043a\\u0430\",\n },\n ur: {\n English: \"Urdu\",\n native: \"\\u0627\\u064f\\u0631\\u062f\\u0648\",\n },\n uz: {\n English: \"Uzbek\",\n native: \"O\\u02bbzbek tili\",\n },\n ve: {\n English: \"Venda\",\n native: \"Tshiven\\u1e13a\",\n },\n vi: {\n English: \"Vietnamese\",\n native: \"Ti\\u1ebfng Vi\\u1ec7t\",\n },\n \"x-testing\": {\n English: \"Testing\",\n native: \"\\u0166\\u1e17\\u015f\\u0167\\u012b\\u019e\\u0260\",\n },\n \"zh-CN\": {\n English: \"Chinese (Simplified)\",\n native: \"\\u4e2d\\u6587 (\\u7b80\\u4f53)\",\n },\n \"zh-TW\": {\n English: \"Chinese (Traditional)\",\n native: \"\\u6b63\\u9ad4\\u4e2d\\u6587 (\\u7e41\\u9ad4)\",\n },\n};\n"],"names":["LANGUAGES","Map","Object","LANGUAGES_RAW","locale","data","SORT_OPTIONS","BadRequestError","formErrors","p","JSON","t","Error","ServerOperationalError","statusCode","SearchResults","searchParams","_useSearchParams","useLocale","sp","createSearchParams","fetchURL","_useSWR","url","response","fetch","badRequest","process","error","page","_React_useState","initialPage","setInitialPage","React","resultsElement","document","_instanceof","SearchErrorContainer","ExplainBadRequestError","ExplainServerOperationalError","currentPage","pageSize","hitCount","SortOptions","RemoteSearchWarning","Results","Pagination","Loading","WRITER_MODE","kumaHost","KUMA_HOST","NoteCard","querySort","i","key","label","Link","appendURL","param","children","errors","messages","message","Button","window","documents","metadata","suggestions","ShowTotal","suggestion","undefined","document1","_LANGUAGES_get","_LANGUAGES_get1","highlights","highlight","total","maxPage","previousPage","nextPage","previousURL","overrides","value","Array","v"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"8769.c0eb10a75d355ed3.js","sources":["webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/site-search/search-results.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/client/src/site-search/utils.tsx","webpack://@mdn/fred/./node_modules/@mdn/yari/libs/languages/index.js"],"sourcesContent":["import React from \"react\";\nimport { createSearchParams, Link, useSearchParams } from \"react-router-dom\";\nimport useSWR from \"swr\";\n\nimport { Loading } from \"../ui/atoms/loading\";\nimport { WRITER_MODE, KUMA_HOST } from \"../env\";\nimport { useLocale } from \"../hooks\";\nimport { appendURL } from \"./utils\";\nimport { Button } from \"../ui/atoms/button\";\n\nimport \"./search-results.scss\";\nimport NoteCard from \"../ui/molecules/notecards\";\n\nimport LANGUAGES_RAW from \"../../../libs/languages\";\n\nconst LANGUAGES = new Map(\n Object.entries(LANGUAGES_RAW).map(([locale, data]) => {\n return [locale.toLowerCase(), data];\n })\n);\n\nconst SORT_OPTIONS = [\n [\"best\", \"Best\"],\n [\"relevance\", \"Relevance\"],\n [\"popularity\", \"Popularity\"],\n];\n\ntype Highlight = {\n body?: string[];\n title?: string[];\n};\n\ninterface Document {\n mdn_url: string;\n locale: string;\n title: string;\n highlight: Highlight;\n summary: string;\n score: number;\n popularity: number;\n}\n\ntype Total = {\n value: number;\n relation: \"eq\" | \"gt\";\n};\n\ninterface Metadata {\n // The time it took Elasticsearch query\n took_ms: number;\n // The time it took Kuma's API to wrap the Elasticsearch query\n api_took_ms: number;\n total: Total;\n}\n\ninterface Suggestion {\n text: string;\n total: Total;\n}\n\ninterface FormErrorMessage {\n message: string;\n code: string;\n}\n\ntype FormErrors = [{ key: string }, FormErrorMessage[]];\n\nclass BadRequestError extends Error {\n public formErrors: FormErrors;\n\n constructor(formErrors: FormErrors) {\n super(`BadRequestError ${JSON.stringify(formErrors)}`);\n this.formErrors = formErrors;\n }\n}\n\nclass ServerOperationalError extends Error {\n public statusCode: number;\n\n constructor(statusCode: number) {\n super(`ServerOperationalError ${statusCode}`);\n this.statusCode = statusCode;\n }\n}\n\nexport default function SearchResults() {\n const [searchParams] = useSearchParams();\n const locale = useLocale();\n // A call to `/api/v1/search` will default to mean the same thing as\n // a call to `/api/v1/search?locale=en-us`. But if they page you're currently\n // on, (e.g. `/ja/search`) we should supply a more explicit default.\n const sp = createSearchParams(searchParams);\n if (!searchParams.getAll(\"locale\").length) {\n // In other words, if it's not explicitly set by the current query string,\n // force in the locale based on the current URL (path).\n sp.set(\"locale\", locale);\n }\n const fetchURL = `/api/v1/search?${sp.toString()}`;\n\n const { data, error } = useSWR(\n fetchURL,\n async (url) => {\n const response = await fetch(url);\n if (response.status === 400) {\n const badRequest = await response.json();\n throw new BadRequestError(badRequest.errors);\n } else if (response.status >= 500) {\n throw new ServerOperationalError(response.status);\n } else if (!response.ok) {\n throw new Error(`${response.status} on ${url}`);\n }\n\n return await response.json();\n },\n {\n revalidateOnFocus: process.env.NODE_ENV === \"development\",\n }\n );\n\n const page = searchParams.get(\"page\");\n const [initialPage, setInitialPage] = React.useState(page);\n React.useEffect(() => {\n if (page !== initialPage) {\n setInitialPage(page);\n const resultsElement = document.querySelector(\"div.site-search\");\n if (resultsElement) {\n resultsElement.scrollIntoView({ behavior: \"smooth\" });\n }\n }\n }, [page, initialPage]);\n\n if (error) {\n if (error instanceof BadRequestError) {\n return (\n <SearchErrorContainer>\n <ExplainBadRequestError errors={error.formErrors} />\n </SearchErrorContainer>\n );\n }\n\n if (error instanceof ServerOperationalError) {\n return (\n <SearchErrorContainer>\n <ExplainServerOperationalError statusCode={error.statusCode} />\n </SearchErrorContainer>\n );\n }\n\n return (\n <SearchErrorContainer>\n <p>Something else went horribly wrong with the search</p>\n <p>\n <code>{error.toString()}</code>\n </p>\n </SearchErrorContainer>\n );\n }\n\n if (data) {\n const currentPage = data.metadata.page;\n const pageSize = data.metadata.size;\n const hitCount = data.metadata.total.value;\n\n return (\n <>\n {/* It only makes sense to display the sorting options if anything was found */}\n {hitCount > 1 && <SortOptions />}\n\n <RemoteSearchWarning />\n\n <Results {...data} />\n\n <Pagination\n currentPage={currentPage}\n hitCount={hitCount}\n pageSize={pageSize}\n maxPage={10}\n />\n </>\n );\n }\n // else...\n return <Loading minHeight={500} message=\"Loading search results...\" />;\n}\n\nfunction RemoteSearchWarning() {\n if (WRITER_MODE) {\n // If you're in WRITER_MODE, the search results will be proxied from a remote\n // Kuma and it might be confusing if a writer is wondering why their\n // actively worked-on content isn't showing up in searches.\n // The default value in the server is not accessible from the react app,\n // so it's hardcoded here in the client.\n const kumaHost = KUMA_HOST;\n return (\n <NoteCard type=\"warning\">\n <h4>Note!</h4>\n <p>\n Site-search is proxied to <code>{kumaHost}</code> which means that\n some content found doesn't reflect what's in your current branch.\n </p>\n </NoteCard>\n );\n }\n return null;\n}\n\nfunction SortOptions() {\n const [searchParams] = useSearchParams();\n const querySort = searchParams.get(\"sort\") || SORT_OPTIONS[0][0];\n return (\n <div className=\"sort-options\">\n <h2>Sort by:</h2>\n <ul className=\"sort-option-list\">\n {SORT_OPTIONS.map(([key, label], i) => {\n return (\n <li key={key}>\n {key === querySort ? (\n label\n ) : (\n <Link to={`?${appendURL(searchParams, { sort: key })}`}>\n {label}\n </Link>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nfunction SearchErrorContainer({ children }: { children: React.ReactNode }) {\n return (\n <div>\n <h3>Search error</h3>\n {children}\n </div>\n );\n}\n\nfunction ExplainBadRequestError({ errors }: { errors: FormErrors }) {\n return (\n <NoteCard type=\"warning\">\n <p>The search didn't work because there were problems with the input.</p>\n <ul>\n {Object.keys(errors).map((key) => {\n const messages: FormErrorMessage[] = errors[key];\n return (\n <li key={key}>\n <code>{key}</code>{\" \"}\n {messages.map((message) => {\n return <b key={message.code}>{message.message}</b>;\n })}\n </li>\n );\n })}\n </ul>\n </NoteCard>\n );\n}\n\nfunction ExplainServerOperationalError({ statusCode }: { statusCode: number }) {\n return (\n <NoteCard type=\"warning\">\n <p>The search failed because the server failed to respond.</p>\n <p>\n If you're curious, it was a <b>{statusCode}</b> error.\n </p>\n <p>\n <Button\n onClickHandler={() => {\n window.location.reload();\n }}\n type=\"secondary\"\n >\n Try reloading\n </Button>\n </p>\n </NoteCard>\n );\n}\n\nfunction Results({\n documents,\n metadata,\n suggestions,\n}: {\n documents: Document[];\n metadata: Metadata;\n suggestions: Suggestion[];\n}) {\n const locale = useLocale();\n const [searchParams] = useSearchParams();\n\n return (\n <div className=\"search-results\">\n <p>\n Found <ShowTotal total={metadata.total} /> in {metadata.took_ms}{\" \"}\n milliseconds.\n </p>\n\n {!!suggestions.length && (\n <div className=\"search-suggestions\">\n <p>Did you mean...</p>\n <ul className=\"search-suggestion-list\">\n {suggestions.map((suggestion) => {\n return (\n <li key={suggestion.text}>\n <Link\n to={`?${appendURL(searchParams, {\n q: suggestion.text,\n page: undefined,\n })}`}\n >\n {suggestion.text}\n </Link>{\" \"}\n <ShowTotal total={suggestion.total} />\n </li>\n );\n })}\n </ul>\n </div>\n )}\n\n <ul className=\"search-results-list readable-line-length\">\n {documents.map((document) => {\n const highlights = document.highlight.body || [];\n return (\n <li className=\"search-result-entry\" key={document.mdn_url}>\n {/* We're using plain <a href> instead of <Link to> here until\n the bug has been figured out about scrolling to the top on click. */}\n {document.highlight.title && document.highlight.title.length ? (\n <h3 className=\"title\">\n <a\n href={document.mdn_url}\n dangerouslySetInnerHTML={{\n __html: document.highlight.title[0],\n }}\n ></a>\n </h3>\n ) : (\n <h3 className=\"title\">\n <a href={document.mdn_url}>{document.title}</a>\n </h3>\n )}{\" \"}\n {locale.toLowerCase() !== document.locale &&\n LANGUAGES.has(document.locale) && (\n <span\n className=\"locale-indicator\"\n title={`The linked document is in ${\n LANGUAGES.get(document.locale)?.English\n } which is different from your current locale.`}\n >\n {LANGUAGES.get(document.locale)?.English}\n </span>\n )}\n <p className=\"search-result-url\">\n <a href={document.mdn_url}>{document.mdn_url}</a>\n </p>\n <p>\n {highlights.length ? (\n highlights.map((highlight, i) => {\n return (\n <span\n key={`${document.mdn_url}${i}`}\n className=\"highlight\"\n dangerouslySetInnerHTML={{ __html: `…${highlight}…` }}\n ></span>\n );\n })\n ) : (\n <span className=\"summary\">{document.summary}</span>\n )}\n </p>\n {searchParams.get(\"debug\") !== null && (\n <span className=\"nerd-data\">\n <b>score:</b> <code>{document.score}</code>,{\" \"}\n <b>popularity:</b> <code>{document.popularity}</code>,{\" \"}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n\nfunction ShowTotal({ total }: { total: Total }) {\n return (\n <>\n {total.relation === \"gt\" && \"more than\"} {total.value.toLocaleString()}{\" \"}\n {total.value === 1 ? \"match\" : \"matches\"}\n </>\n );\n}\n\nfunction Pagination({\n currentPage,\n maxPage,\n hitCount,\n pageSize,\n}: {\n currentPage: number;\n maxPage: number;\n hitCount: number;\n pageSize: number;\n}) {\n const [searchParams] = useSearchParams();\n\n if (!hitCount) {\n return null;\n }\n if (hitCount <= pageSize) {\n return null;\n }\n let previousPage: number | null = null;\n let nextPage: number | null = null;\n if (hitCount > currentPage * pageSize && currentPage < maxPage) {\n nextPage = currentPage + 1;\n }\n if (currentPage > 1) {\n previousPage = currentPage - 1;\n }\n\n if (nextPage || previousPage !== null) {\n let previousURL = \"\";\n if (previousPage) {\n if (previousPage === 1) {\n previousURL = `?${appendURL(searchParams, {\n page: undefined,\n })}`;\n } else {\n previousURL = `?${appendURL(searchParams, {\n page: `${previousPage}`,\n })}`;\n }\n }\n return (\n <ul className=\"pagination readable-line-length\">\n {previousURL ? (\n <li>\n <Link to={previousURL} className=\"button\">\n Previous\n </Link>\n </li>\n ) : null}{\" \"}\n {nextPage ? (\n <li>\n <Link\n to={`?${appendURL(searchParams, { page: `${nextPage}` })}`}\n className=\"button\"\n >\n Next\n </Link>\n </li>\n ) : null}\n </ul>\n );\n }\n return null;\n}\n","import { createSearchParams, URLSearchParamsInit } from \"react-router-dom\";\n\nexport function appendURL(\n searchParams: URLSearchParamsInit,\n overrides: Record<string, string | string[] | undefined>\n) {\n const sp = createSearchParams(searchParams);\n Object.entries(overrides).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n sp.delete(key);\n value.forEach((v) => sp.append(key, v));\n } else if (value === undefined) {\n sp.delete(key);\n } else {\n sp.set(key, value);\n }\n });\n return sp;\n}\n","export default {\n ach: {\n English: \"Acholi\",\n native: \"Acholi\",\n },\n ak: {\n English: \"Akan\",\n native: \"Akan\",\n },\n \"am-et\": {\n English: \"Amharic\",\n native: \"\\u12a0\\u121b\\u122d\\u129b\",\n },\n an: {\n English: \"Aragonese\",\n native: \"aragon\\u00e9s\",\n },\n ar: {\n English: \"Arabic\",\n native: \"\\u0639\\u0631\\u0628\\u064a\",\n },\n as: {\n English: \"Assamese\",\n native: \"\\u0985\\u09b8\\u09ae\\u09c0\\u09af\\u09bc\\u09be\",\n },\n ast: {\n English: \"Asturian\",\n native: \"Asturianu\",\n },\n azz: {\n English: \"Highland Puebla Nahuatl\",\n native: \"nahuatl sierra norte Puebla\",\n },\n be: {\n English: \"Belarusian\",\n native: \"\\u0411\\u0435\\u043b\\u0430\\u0440\\u0443\\u0441\\u043a\\u0430\\u044f\",\n },\n bg: {\n English: \"Bulgarian\",\n native: \"\\u0411\\u044a\\u043b\\u0433\\u0430\\u0440\\u0441\\u043a\\u0438\",\n },\n bm: {\n English: \"Bambara\",\n native: \"Bamanankan\",\n },\n bn: {\n English: \"Bengali\",\n native: \"\\u09ac\\u09be\\u0982\\u09b2\\u09be\",\n },\n br: {\n English: \"Breton\",\n native: \"Brezhoneg\",\n },\n brx: {\n English: \"Bodo\",\n native: \"\\u092c\\u0930'\",\n },\n bs: {\n English: \"Bosnian\",\n native: \"Bosanski\",\n },\n ca: {\n English: \"Catalan\",\n native: \"Catal\\u00e0\",\n },\n \"ca-valencia\": {\n English: \"Catalan (Valencian)\",\n native: \"catal\\u00e0 (valenci\\u00e0)\",\n },\n cak: {\n English: \"Kaqchikel\",\n native: \"Maya Kaqchikel\",\n },\n csb: {\n English: \"Kashubian\",\n native: \"Kasz\\u00ebbsczi\",\n },\n cy: {\n English: \"Welsh\",\n native: \"Cymraeg\",\n },\n da: {\n English: \"Danish\",\n native: \"Dansk\",\n },\n dbg: {\n English: \"Debug Robot\",\n native: \"\\u1e12\\u1e17\\u0180\\u016d\\u0260 \\u0158\\u01ff\\u0180\\u01ff\\u0167\",\n },\n de: {\n English: \"German\",\n native: \"Deutsch\",\n },\n \"de-AT\": {\n English: \"German (Austria)\",\n native: \"Deutsch (\\u00d6sterreich)\",\n },\n \"de-CH\": {\n English: \"German (Switzerland)\",\n native: \"Deutsch (Schweiz)\",\n },\n \"de-DE\": {\n English: \"German (Germany)\",\n native: \"Deutsch (Deutschland)\",\n },\n dsb: {\n English: \"Lower Sorbian\",\n native: \"Dolnoserb\\u0161\\u0107ina\",\n },\n el: {\n English: \"Greek\",\n native: \"\\u0395\\u03bb\\u03bb\\u03b7\\u03bd\\u03b9\\u03ba\\u03ac\",\n },\n \"en-AU\": {\n English: \"English (Australian)\",\n native: \"English (Australian)\",\n },\n \"en-CA\": {\n English: \"English (Canadian)\",\n native: \"English (Canadian)\",\n },\n \"en-GB\": {\n English: \"English (British)\",\n native: \"English (British)\",\n },\n \"en-NZ\": {\n English: \"English (New Zealand)\",\n native: \"English (New Zealand)\",\n },\n \"en-US\": {\n English: \"English (US)\",\n native: \"English (US)\",\n },\n \"en-ZA\": {\n English: \"English (South African)\",\n native: \"English (South African)\",\n },\n eo: {\n English: \"Esperanto\",\n native: \"Esperanto\",\n },\n es: {\n English: \"Spanish\",\n native: \"Espa\\u00f1ol\",\n },\n \"es-AR\": {\n English: \"Spanish (Argentina)\",\n native: \"Espa\\u00f1ol (de Argentina)\",\n },\n \"es-CL\": {\n English: \"Spanish (Chile)\",\n native: \"Espa\\u00f1ol (de Chile)\",\n },\n \"es-ES\": {\n English: \"Spanish (Spain)\",\n native: \"Espa\\u00f1ol (de Espa\\u00f1a)\",\n },\n \"es-MX\": {\n English: \"Spanish (Mexico)\",\n native: \"Espa\\u00f1ol (de M\\u00e9xico)\",\n },\n et: {\n English: \"Estonian\",\n native: \"Eesti keel\",\n },\n eu: {\n English: \"Basque\",\n native: \"Euskara\",\n },\n fa: {\n English: \"Persian\",\n native: \"\\u0641\\u0627\\u0631\\u0633\\u06cc\",\n },\n fi: {\n English: \"Finnish\",\n native: \"suomi\",\n },\n \"fj-FJ\": {\n English: \"Fijian\",\n native: \"Vosa vaka-Viti\",\n },\n fr: {\n English: \"French\",\n native: \"Fran\\u00e7ais\",\n },\n \"fur-IT\": {\n English: \"Friulian\",\n native: \"Furlan\",\n },\n ga: {\n English: \"Irish\",\n native: \"Gaeilge\",\n },\n gd: {\n English: \"Gaelic (Scotland)\",\n native: \"G\\u00e0idhlig\",\n },\n gl: {\n English: \"Galician\",\n native: \"Galego\",\n },\n gn: {\n English: \"Guarani\",\n native: \"Ava\\u00f1e'\\u1ebd\",\n },\n gu: {\n English: \"Gujarati\",\n native: \"\\u0a97\\u0ac1\\u0a9c\\u0ab0\\u0abe\\u0aa4\\u0ac0\",\n },\n \"gu-IN\": {\n English: \"Gujarati (India)\",\n native:\n \"\\u0a97\\u0ac1\\u0a9c\\u0ab0\\u0abe\\u0aa4\\u0ac0 (\\u0aad\\u0abe\\u0ab0\\u0aa4)\",\n },\n he: {\n English: \"Hebrew\",\n native: \"\\u05e2\\u05d1\\u05e8\\u05d9\\u05ea\",\n },\n hi: {\n English: \"Hindi\",\n native: \"\\u0939\\u093f\\u0928\\u094d\\u0926\\u0940\",\n },\n \"hi-IN\": {\n English: \"Hindi (India)\",\n native: \"\\u0939\\u093f\\u0928\\u094d\\u0926\\u0940 (\\u092d\\u093e\\u0930\\u0924)\",\n },\n hsb: {\n English: \"Upper Sorbian\",\n native: \"Hornjoserbsce\",\n },\n hu: {\n English: \"Hungarian\",\n native: \"magyar\",\n },\n \"hy-AM\": {\n English: \"Armenian\",\n native: \"\\u0540\\u0561\\u0575\\u0565\\u0580\\u0565\\u0576\",\n },\n ia: {\n English: \"Interlingua\",\n native: \"Interlingua\",\n },\n id: {\n English: \"Indonesian\",\n native: \"Bahasa Indonesia\",\n },\n is: {\n English: \"Icelandic\",\n native: \"\\u00edslenska\",\n },\n it: {\n English: \"Italian\",\n native: \"Italiano\",\n },\n ja: {\n English: \"Japanese\",\n native: \"\\u65e5\\u672c\\u8a9e\",\n },\n \"ja-JP-mac\": {\n English: \"Japanese\",\n native: \"\\u65e5\\u672c\\u8a9e\",\n },\n kab: {\n English: \"Kabyle\",\n native: \"Taqbaylit\",\n },\n kk: {\n English: \"Kazakh\",\n native: \"\\u049a\\u0430\\u0437\\u0430\\u049b\",\n },\n km: {\n English: \"Khmer\",\n native: \"\\u1781\\u17d2\\u1798\\u17c2\\u179a\",\n },\n kn: {\n English: \"Kannada\",\n native: \"\\u0c95\\u0ca8\\u0ccd\\u0ca8\\u0ca1\",\n },\n ko: {\n English: \"Korean\",\n native: \"\\ud55c\\uad6d\\uc5b4\",\n },\n kok: {\n English: \"Konkani\",\n native: \"\\u0915\\u094b\\u0902\\u0915\\u0928\\u0940\",\n },\n ku: {\n English: \"Kurdish\",\n native: \"Kurd\\u00ee\",\n },\n ks: {\n English: \"Kashmiri\",\n native: \"\\u0643\\u0634\\u0645\\u06cc\\u0631\\u06cc\",\n },\n la: {\n English: \"Latin\",\n native: \"Latina\",\n },\n lg: {\n English: \"Luganda\",\n native: \"Luganda\",\n },\n lij: {\n English: \"Ligurian\",\n native: \"Ligure\",\n },\n lo: {\n English: \"Lao\",\n native: \"\\u0e9e\\u0eb2\\u0eaa\\u0eb2\\u0ea5\\u0eb2\\u0ea7\",\n },\n lt: {\n English: \"Lithuanian\",\n native: \"Lietuvi\\u0173\",\n },\n ltg: {\n English: \"Latgalian\",\n native: \"Latgalie\\u0161u valoda\",\n },\n lv: {\n English: \"Latvian\",\n native: \"Latvie\\u0161u\",\n },\n mai: {\n English: \"Maithili\",\n native:\n \"\\u092e\\u0948\\u0925\\u093f\\u0932\\u0940 \\u09ae\\u09c8\\u09a5\\u09bf\\u09b2\\u09c0\",\n },\n mi: {\n English: \"Maori (Aotearoa)\",\n native: \"M\\u0101ori (Aotearoa)\",\n },\n mk: {\n English: \"Macedonian\",\n native: \"\\u041c\\u0430\\u043a\\u0435\\u0434\\u043e\\u043d\\u0441\\u043a\\u0438\",\n },\n mn: {\n English: \"Mongolian\",\n native: \"\\u041c\\u043e\\u043d\\u0433\\u043e\\u043b\",\n },\n mr: {\n English: \"Marathi\",\n native: \"\\u092e\\u0930\\u093e\\u0920\\u0940\",\n },\n ms: {\n English: \"Malay\",\n native: \"Melayu\",\n },\n my: {\n English: \"Burmese\",\n native: \"\\u1019\\u103c\\u1014\\u103a\\u1019\\u102c\\u1018\\u102c\\u101e\\u102c\",\n },\n \"nb-NO\": {\n English: \"Norwegian (Bokm\\u00e5l)\",\n native: \"Norsk bokm\\u00e5l\",\n },\n \"ne-NP\": {\n English: \"Nepali\",\n native: \"\\u0928\\u0947\\u092a\\u093e\\u0932\\u0940\",\n },\n \"nn-NO\": {\n English: \"Norwegian (Nynorsk)\",\n native: \"Norsk nynorsk\",\n },\n nl: {\n English: \"Dutch\",\n native: \"Nederlands\",\n },\n nr: {\n English: \"Ndebele, South\",\n native: \"isiNdebele\",\n },\n nso: {\n English: \"Northern Sotho\",\n native: \"Sepedi\",\n },\n oc: {\n English: \"Occitan (Lengadocian)\",\n native: \"occitan (lengadocian)\",\n },\n or: {\n English: \"Odia\",\n native: \"\\u0b13\\u0b21\\u0b3c\\u0b3f\\u0b06\",\n },\n pa: {\n English: \"Punjabi\",\n native: \"\\u0a2a\\u0a70\\u0a1c\\u0a3e\\u0a2c\\u0a40\",\n },\n \"pa-IN\": {\n English: \"Punjabi (India)\",\n native: \"\\u0a2a\\u0a70\\u0a1c\\u0a3e\\u0a2c\\u0a40 (\\u0a2d\\u0a3e\\u0a30\\u0a24)\",\n },\n pl: {\n English: \"Polish\",\n native: \"Polski\",\n },\n \"pt-BR\": {\n English: \"Portuguese (Brazilian)\",\n native: \"Portugu\\u00eas (do\\u00a0Brasil)\",\n },\n \"pt-PT\": {\n English: \"Portuguese (Portugal)\",\n native: \"Portugu\\u00eas (Europeu)\",\n },\n rm: {\n English: \"Romansh\",\n native: \"rumantsch\",\n },\n ru: {\n English: \"Russian\",\n native: \"\\u0420\\u0443\\u0441\\u0441\\u043a\\u0438\\u0439\",\n },\n rw: {\n English: \"Kinyarwanda\",\n native: \"Ikinyarwanda\",\n },\n sa: {\n English: \"Sanskrit\",\n native: \"\\u0938\\u0902\\u0938\\u094d\\u0915\\u0943\\u0924\",\n },\n sat: {\n English: \"Santali\",\n native: \"\\u0938\\u0902\\u0924\\u093e\\u0932\\u0940\",\n },\n sah: {\n English: \"Sakha\",\n native: \"\\u0421\\u0430\\u0445\\u0430\\u043b\\u044b\\u044b\",\n },\n si: {\n English: \"Sinhala\",\n native: \"\\u0dc3\\u0dd2\\u0d82\\u0dc4\\u0dbd\",\n },\n sk: {\n English: \"Slovak\",\n native: \"sloven\\u010dina\",\n },\n sl: {\n English: \"Slovenian\",\n native: \"Sloven\\u0161\\u010dina\",\n },\n \"sr-Cyrl\": {\n English: \"Serbian\",\n native: \"\\u0421\\u0440\\u043f\\u0441\\u043a\\u0438\",\n },\n ss: {\n English: \"Siswati\",\n native: \"siSwati\",\n },\n st: {\n English: \"Southern Sotho\",\n native: \"Sesotho\",\n },\n \"sv-SE\": {\n English: \"Swedish\",\n native: \"Svenska\",\n },\n \"ta-IN\": {\n English: \"Tamil (India)\",\n native:\n \"\\u0ba4\\u0bae\\u0bbf\\u0bb4\\u0bcd (\\u0b87\\u0ba8\\u0bcd\\u0ba4\\u0bbf\\u0baf\\u0bbe)\",\n },\n \"ta-LK\": {\n English: \"Tamil (Sri Lanka)\",\n native:\n \"\\u0ba4\\u0bae\\u0bbf\\u0bb4\\u0bcd (\\u0b87\\u0bb2\\u0b99\\u0bcd\\u0b95\\u0bc8)\",\n },\n th: {\n English: \"Thai\",\n native: \"\\u0e44\\u0e17\\u0e22\",\n },\n tr: {\n English: \"Turkish\",\n native: \"T\\u00fcrk\\u00e7e\",\n },\n trs: {\n English: \"Triqui\",\n native: \"Triqui\",\n },\n ts: {\n English: \"Tsonga\",\n native: \"Xitsonga\",\n },\n tsz: {\n English: \"Pur\\u00e9pecha\",\n native: \"Pur\\u00e9pecha\",\n },\n \"tt-RU\": {\n English: \"Tatar\",\n native: \"Tatar\\u00e7a\",\n },\n uk: {\n English: \"Ukrainian\",\n native: \"\\u0423\\u043a\\u0440\\u0430\\u0457\\u043d\\u0441\\u044c\\u043a\\u0430\",\n },\n ur: {\n English: \"Urdu\",\n native: \"\\u0627\\u064f\\u0631\\u062f\\u0648\",\n },\n uz: {\n English: \"Uzbek\",\n native: \"O\\u02bbzbek tili\",\n },\n ve: {\n English: \"Venda\",\n native: \"Tshiven\\u1e13a\",\n },\n vi: {\n English: \"Vietnamese\",\n native: \"Ti\\u1ebfng Vi\\u1ec7t\",\n },\n \"x-testing\": {\n English: \"Testing\",\n native: \"\\u0166\\u1e17\\u015f\\u0167\\u012b\\u019e\\u0260\",\n },\n \"zh-CN\": {\n English: \"Chinese (Simplified)\",\n native: \"\\u4e2d\\u6587 (\\u7b80\\u4f53)\",\n },\n \"zh-TW\": {\n English: \"Chinese (Traditional)\",\n native: \"\\u6b63\\u9ad4\\u4e2d\\u6587 (\\u7e41\\u9ad4)\",\n },\n};\n"],"names":["LANGUAGES","Map","Object","LANGUAGES_RAW","locale","data","SORT_OPTIONS","BadRequestError","formErrors","p","JSON","t","Error","ServerOperationalError","statusCode","SearchResults","searchParams","_useSearchParams","useLocale","sp","createSearchParams","fetchURL","_useSWR","url","response","fetch","badRequest","process","error","page","_React_useState","initialPage","setInitialPage","React","resultsElement","document","_instanceof","SearchErrorContainer","ExplainBadRequestError","ExplainServerOperationalError","currentPage","pageSize","hitCount","SortOptions","RemoteSearchWarning","Results","Pagination","Loading","WRITER_MODE","kumaHost","KUMA_HOST","NoteCard","querySort","i","key","label","Link","appendURL","param","children","errors","messages","message","Button","window","documents","metadata","suggestions","ShowTotal","suggestion","undefined","document1","_LANGUAGES_get","_LANGUAGES_get1","highlights","highlight","total","maxPage","previousPage","nextPage","previousURL","overrides","value","Array","v"],"mappings":"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"}
|