@diplodoc/client 5.1.1 → 5.2.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 CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.2.0](https://github.com/diplodoc-platform/client/compare/v5.1.1...v5.2.0) (2025-12-03)
4
+
5
+
6
+ ### Features
7
+
8
+ * add feedback.url config option ([#233](https://github.com/diplodoc-platform/client/issues/233)) ([1682ad2](https://github.com/diplodoc-platform/client/commit/1682ad2f48c6b69975bebc98dc1a86b512c2c69c))
9
+
3
10
  ## [5.1.1](https://github.com/diplodoc-platform/client/compare/v5.1.0...v5.1.1) (2025-12-03)
4
11
 
5
12
 
@@ -1,2 +1,2 @@
1
- (()=>{var e={39039:function(e,t,n){"use strict";var r,o,a,i,c,s=n(7409),u=n(29995),l=n(85893),d=n(67294),f=n(20745),h=n(99282),m=n(13065),g=n(53816),v=n(8534),p=n(369),w=n(7481),b=n(65848),x=n(55006),y=n(27853);n(68648);var S=(0,d.createContext)({pathname:"/",depth:0});S.displayName="RouterContext";var _=S.Provider,C=(0,d.createContext)(v.Uo.En);C.displayName="Lang";var j=C.Provider,k=n(14823),M=n(55210),T={theme:v.Q2.Light,textSize:v.tF.M,showMiniToc:!0,wideFormat:!0,fullScreen:!1},O=["ar","arc","ckb","dv","fa","ha","he","khw","ks","ps","sd","ur","uz_AF","yi"],N=((r={}).RTL="rtl",r.LTR="ltr",r);function E(){return"undefined"!=typeof document}function F(e){var t=e.theme;"undefined"!=typeof document&&document.querySelectorAll(".g-root").forEach(function(e){e.classList.toggle("g-root_theme_light","light"===t),e.classList.toggle("g-root_theme_dark","dark"===t)})}function L(e){if(E()){document.body.classList.add("g-root");var t=function(e,t){return document.body.classList.toggle(e,!!t)};Object.keys(e).forEach(function(n){switch(n){case"wideFormat":t("dc-root_wide-format",e[n]);break;case"focusSearch":t("dc-root_focused-search",e[n]);break;case"fullScreen":t("dc-root_full-screen",e[n]);break;case"landingPage":t("dc-root_document-page",!e[n]),t("dc-root_landing-page",e[n]);break;case"mobileView":t("mobile",e[n]),t("desktop",!e[n])}})}}(0,M._)(new Set((0,M._)(["href"]).concat((0,M._)(["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"]))));var I=function(e){return"boolean"==typeof e?e:!!e&&"true"===e};function P(){var e=A("theme"),t=A("textSize"),n=A("showMiniToc"),r=A("wideFormat"),o=A("fullScreen");return{theme:e,textSize:t,showMiniToc:I(n),wideFormat:I(r),fullScreen:I(o)}}function z(e){return"PAGE_CONSTRUCTOR"===(0,k.C2)(e)}function R(){return!!E()&&document.body.clientWidth<769}function A(e){if(!E())return T[e];try{return sessionStorage.getItem(e)||T[e]}catch(t){return T[e]}}function H(e,t){var n=t.match(/^file:\/\/\/(.*)$/),r=(n?"/"+n[1]:t.replace(/^https?:\/\/[^/]+/,"")).replace(/\/[a-z]{2}\//,"/".concat(e,"/"));return n?"file://"+r:r}var U=n(27412),Z=n(24460);function W(e,t){var n=(0,Z._)((0,d.useState)(t[e]),2),r=n[0],o=n[1],a=(0,d.useMemo)(function(){var t,n;return t=e,n=o,function(e){if(E())try{sessionStorage.setItem(t,String(e))}catch(e){}n(e)}},[e,o]);return(0,d.useMemo)(function(){var t;return t={},(0,U._)(t,e,r),(0,U._)(t,"onChange"+e.replace(/^./,function(e){return e.toUpperCase()}),a),t},[e,r,a])}var B=n(22853),D=n(76150),q=n(43830),J=n(52062),V=n(41196),$=n(28395),Q=function(){function e(t){var r=this,o=this;(0,q._)(this,e),(0,U._)(this,"worker",void 0),(0,U._)(this,"config",void 0),(0,U._)(this,"init",function(){var e;e=(0,h._)((0,s._)({},r.config),{base:r.base,mark:"Suggest__Item__Marker"}),r.worker=(0,D._)(function(){var t;return(0,$.Jh)(this,function(r){switch(r.label){case 0:return[4,(0,D._)(function(){var e,t,r;return(0,$.Jh)(this,function(o){try{return[2,new Worker(new URL(n.p+n.u("444"),n.b))]}catch(n){if((0,V._)(n,DOMException)&&(e=X.exec(n.message)))return t=e[1],r=new Blob(["importScripts('".concat(t,"');")],{type:"text/javascript"}),[2,new Worker(URL.createObjectURL(r))];throw n}})})()];case 1:return[4,Y(t=r.sent(),(0,h._)((0,s._)({},e),{type:"init"}))];case 2:return r.sent(),[2,t]}})})()}),(0,U._)(this,"link",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=new URLSearchParams;n&&o.set("query",n),r>1&&o.set("page",r.toString());var a=o.toString()?"?".concat(o.toString()):"";return"".concat(e,"/").concat(t.link).concat(a)}(o.base,o.config,e,t)}),this.config=t}return(0,J._)(e,[{key:"suggest",value:function(e){return(0,D._)(function(){return(0,$.Jh)(this,function(t){return[2,this.request({type:"suggest",query:e})]})}).call(this)}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return(0,D._)(function(){return(0,$.Jh)(this,function(r){return[2,this.request({type:"search",query:e,page:t,count:n})]})}).call(this)}},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:function(e){return(0,D._)(function(){return(0,$.Jh)(this,function(t){switch(t.label){case 0:return[4,this.worker];case 1:return[2,Y.apply(void 0,[t.sent(),e])]}})}).call(this)}}]),e}(),X=/Script at '(.*?)' cannot be accessed from origin/;function Y(e,t){var n=new MessageChannel;return new Promise(function(r,o){n.port1.onmessage=function(e){e.data.error?o(e.data.error):r(e.data.result)},n.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[n.port2])})}n(10932),(0,B.default)("Search");var G=(0,d.createContext)(null);G.displayName="SearchContext";var K=G.Provider;n(90101);var ee=n(57276);n(12646);var et=(0,B.default)("Layout");function en(){return null}function er(){return null}function eo(){return null}var ea={doc:!1},ei=function(e){var t,n,r,o=(0,s._)({},ea,e),a=o.children,i=o.doc,c=o.headerHeight;return d.Children.forEach(a,function(e){switch(e.type){case en:t=e.props.children;break;case er:n=e.props.children;break;case eo:r=e.props.children}}),(0,l.jsxs)("div",{className:et({"full-header":(void 0===c?0:c)>0}),children:[t&&(0,l.jsx)("div",{className:et("header"),children:t}),(0,l.jsxs)("div",{className:et("body"),children:[n&&(0,l.jsx)("div",{className:et("content"),children:n}),r&&(0,l.jsx)("div",{className:et("footer",{doc:i}),children:r})]})]})};ei.displayName="Layout",ei.Header=en,ei.Content=er,ei.Footer=eo;var ec=(0,B.default)("pc-page-constructor"),es=(0,B.default)("pc-constructor-row"),eu=function(e){var t=e.children;return t?(0,l.jsx)(ee.X2j,{className:es(),children:(0,l.jsx)(ee.JXS,{children:t})}):null};function el(e){var t=e.background,n=e.blocks,r=(0,ee.FgM)(),o=(0,ee.UuE)(t,r);return(0,l.jsx)("div",{className:ec("docs"),children:(0,l.jsxs)("div",{className:ec("wrapper"),children:[n&&o&&(0,l.jsx)(ee.sX4,(0,h._)((0,s._)({},o),{className:ec("background")})),(0,l.jsx)(ee.rjZ,{children:(0,l.jsx)(eu,{children:(0,l.jsx)(ee.wFT,{items:n})})})]})})}var ed=function(e,t){var n=(0,k.C2)(e)===v.n_.PageConstructor&&"data"in e&&"fullScreen"in e.data&&e.data.fullScreen,r=(0,d.useMemo)(function(){return n?e.data:{blocks:[{type:"page",resetPaddings:!0}]}},[n,e]);return(0,d.useMemo)(function(){return{custom:{page:t},layout:r}},[t,r])},ef=n(57727),eh=n(86015),em=n(77438),eg=n(97319);n(5122);var ev=(0,B.default)("Suggest");function ep(){return(0,l.jsx)(em.J,{data:eg.Z,className:ev("end"),size:24})}function ew(){var e,t,n,r,o,a,i,c,u=(e=(0,d.useContext)(C),n=void 0===(t=(0,d.useContext)(S).depth)?0:t,r=(0,d.useContext)(G),a=(o=(0,Z._)((0,d.useState)(null),2))[0],i=o[1],c=(0,d.useMemo)(function(){return r?(0,h._)((0,s._)({},r),{depth:n,lang:e}):null},[e,n,r]),(0,d.useEffect)(function(){c&&i(c?new Q(c):null)},[c]),a),f=(0,d.useRef)(null),m=(0,ef.I)("search"),g=(0,d.useCallback)(function(){L({focusSearch:!0})},[]),v=(0,d.useCallback)(function(){L({focusSearch:!1}),setTimeout(function(){f.current&&f.current.close()},100)},[]);return!u||m?null:(0,l.jsx)(eh.F,{ref:f,provider:u,onFocus:g,onBlur:v,endContent:(0,l.jsx)(ep,{}),className:ev("input"),classNameContainer:ev(),classNameClose:ev("close"),closeButton:!0})}var eb=n(69609),ex=n(24426),ey=(0,d.memo)(function(e){var t=e.mobileView,n=e.theme,r=e.onChangeTheme,o=e.textSize,a=e.onChangeTextSize,i=e.wideFormat,c=e.onChangeWideFormat,s=e.showMiniToc,u=e.onChangeShowMiniToc,d=e.lang,f=e.langs,h=e.onChangeLang,m=e.availableLangs;return(0,l.jsx)(eb.C,{controlClassName:"Control",controlSize:v.$D.L,isWideView:t,isMobileView:t,children:(0,l.jsx)(ex.Z,{className:"Controls",theme:n,onChangeTheme:r,wideFormat:i,onChangeWideFormat:c,showMiniToc:s,onChangeShowMiniToc:u,textSize:o,onChangeTextSize:a,lang:d,langs:f,onChangeLang:h,availableLangs:void 0===m?[]:m})})});ey.displayName="HeaderControls";var eS=n(14029),e_=n(40443);function eC(e,t,n){return e.some(function(e){return e.type===n})||t.some(function(e){return e.type===n})}var ej={},ek={},eM=[],eT=[],eO=function(e,t,n,r,o){var a=e.toc,i=a.navigation||ej,c=i.header,u=void 0===c?ek:c,f=i.logo,m=u.leftItems,g=void 0===m?eM:m,p=u.rightItems,w=void 0===p?eT:p,b=eC(w,g,"controls"),x=eC(w,g,"search"),y=(0,d.useContext)(G),_=(0,d.useContext)(S);y&&!x&&w.unshift({type:"search"});var C=(0,d.useMemo)(function(){return{withBorder:!0,leftItems:g,rightItems:w,customMobileHeaderItems:[{type:"search"}]}},[g,w]),j=(0,d.useMemo)(function(){return{toc:a,router:_,headerHeight:64}},[a,_]),k=(0,d.useMemo)(function(){return{controlSize:v.$D.L,userSettings:t,viewerInterface:o}},[t,o]),M=(0,d.useMemo)(function(){var e;return ej===i?void 0:{header:{leftItems:[]},renderNavigation:function(){var e;return(0,l.jsx)(eS.Z,{logo:(0,h._)((0,s._)({},f),{icon:null!=(e=null==f?void 0:f.icon)?e:""}),data:C,navigationTocData:j,mobileControlsData:k})},logo:(0,h._)((0,s._)({},f),{icon:null!=(e=null==f?void 0:f.icon)?e:""})}},[C,j,k,f,i]);return(0,d.useMemo)(function(){return{custom:{search:r,controls:n,MobileDropdown:e_.Z},layout:M,withControls:b}},[r,n,M,b])};function eN(e){var t=e.data,n=e.props,r=e.controls,o=n.theme,a=n.fullScreen,i=(0,k.C2)(t),c=(0,k.N7)(i),u=(0,d.useCallback)(function(){return(0,l.jsx)(ew,{})},[]),f=(0,d.useCallback)(function(){return(0,l.jsx)(ey,(0,s._)({},r))},[r]),m=eO(t,r,f,u),g=(0,d.useCallback)(function(){var e,o;return(0,l.jsx)(ei,{headerHeight:a||!m.layout?0:64,children:(0,l.jsx)(ei.Content,{children:(0,l.jsx)(c,(0,h._)((0,s._)({},t,n,m.withControls?(o=["theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","langs","onChangeLang"],Object.keys(e=r).reduce(function(t,n){return o.includes(n)||(t[n]=e[n]),t},{})):r),{children:(0,l.jsx)(el,(0,s._)({},t.data))}))})})},[t,m,n,r,a,c]),v=ed(t,g),p=(0,d.useMemo)(function(){return{navigation:m.custom,blocks:v.custom}},[m,v]);return(0,l.jsx)(ee.WwW,{theme:o,projectSettings:{disableCompress:!0},ssrConfig:{isServer:!0},children:(0,l.jsx)(ee.C4W,{custom:p,content:v.layout,navigation:a?void 0:m.layout})})}var eE=n(91398),eF=n(17344),eL=n(87767),eI=n(96998),eP=n(34952),ez=n(76638);function eR(){var e=(0,eI.F)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(eL.r,{}),(0,l.jsx)(eF.S,{}),(0,l.jsx)(eE.u,{theme:e===v.Q2.Dark?"dark":"neutral",zoom:{showMenu:!0,bindKeys:!0}}),(0,l.jsx)(eP.TabsRuntime,{saveTabsToLocalStorage:!0,saveTabsToQueryStateMode:"page"}),(0,l.jsx)(ez.Hc,{})]})}function eA(e,t){return t.some(function(t){return"string"==typeof t?t===e:t.lang===e})}var eH=n(18245),eU=function(e){var t=e.components,n=e.pureComponents;return function(e){return function(r){var o=r.forwardRef,a=r.mdxArtifacts,i=r.html,c=(0,d.useRef)(null);c.current=null;var u=(0,d.useCallback)(function(e){return c.current=e,o(e)},[o]),l=(0,eH.Z)({refCtr:c,components:t,pureComponents:n,mdxArtifacts:a,html:i});return d.createElement(d.Fragment,null,d.createElement(e,(0,h._)((0,s._)({},r),{forwardRef:u})),l)}}};function eZ(e){var t,r,o,a,i,c,u,f,S,C,M,T,E,I,A,U=e.data,B=e.router,D=e.lang,q=e.langs,J=e.search,V=e.analytics,$=e.viewerInterface,Q=(r=W("theme",t=P()),o=W("textSize",t),a=W("wideFormat",t),i=W("fullScreen",t),c=W("showMiniToc",t),(0,d.useMemo)(function(){return(0,s._)({},r,o,a,c,i)},[r,o,a,c,i])),X=(u=e.lang,f=e.langs,S=(0,d.useCallback)(function(e,t){var n=t||{},r=n.tld,o=n.href;if(o){window.location.href=o;return}var a=window.location.href;r?window.location.replace(H(e,a.replace(/([a-zA-Z0-9-]+\.[a-zA-Z0-9-]+)(?=[/:?#]|$)/,function(e){var t=e.lastIndexOf(".");return -1===t?e:e.slice(0,t+1)+r}))):window.location.replace(H(e,a))},[]),(0,d.useMemo)(function(){return{lang:u,langs:f,onChangeLang:S}},[u,f,S])),Y=(M=(C=(0,Z._)((0,d.useState)(R()),2))[0],T=C[1],E=(0,d.useCallback)(function(){T(R())},[]),(0,d.useEffect)(E,[E]),(0,d.useEffect)(function(){return window.addEventListener("resize",E),function(){return window.removeEventListener("resize",E)}},[E]),M),G=(0,d.useMemo)(function(){if(!("meta"in U))return[];var e=U.meta,t=e.canonical,n=e.alternate;if(!t)return[];var r=new Set,o=(0,Z._)(t.split("/"),1)[0];eA(o,q)&&r.add(o);var a=!0,i=!1,c=void 0;try{for(var s,u=(void 0===n?[]:n)[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value.href;if(!(!l||(0,k.$2)(l))){var d=(0,Z._)(l.split("/"),1)[0];eA(d,q)&&r.add(d)}}}catch(e){i=!0,c=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw c}}return Array.from(r)},[U,q]),ee=g.aP.includes(D)?D:v.Uo.En;(0,p.jQ)({lang:ee,localeCode:ee});var et=(0,d.useMemo)(function(){var e=[],t=n.g&&"getMdxInitProps"in n.g&&n.g.getMdxInitProps;return"function"==typeof t&&e.push(eU(t({dependencies:{react:d}}))),e},[]),en=Q.theme,er=Q.textSize,eo=Q.wideFormat,ea=Q.fullScreen,ei=Q.showMiniToc,ec=null==$?void 0:$.feedback,es="string"==typeof ec?ec:void 0,eu=(0,d.useCallback)(function(e){es&&fetch(es,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,h._)((0,s._)({},e),{page:B.pathname,timestamp:new Date().toISOString()}))}).catch(function(e){console.error("Failed to send feedback:",e)})},[es,B.pathname]),el=(0,d.useMemo)(function(){return{router:B,theme:en,textSize:er,wideFormat:eo,fullScreen:ea,showMiniToc:ei,isMobile:Y}},[B,en,er,eo,ea,ei,Y]),ed=(0,d.useMemo)(function(){return(0,h._)((0,s._)({},Q,X),{mobileView:Y,availableLangs:G,onSendFeedback:eu})},[X,Q,Y,G,eu]),ef=O.includes(D)?N.RTL:N.LTR,eh=z(U);return(0,d.useEffect)(function(){L({mobileView:Y,wideFormat:eo,fullScreen:ea,landingPage:eh}),F({theme:en}),function(){var e=window.location.hash.substring(1);if(e){var t=document.getElementById(e);if(t){for(var n,r=null==t?void 0:t.parentElement;r;)(null==(n=r)?void 0:n.tagName.toLowerCase())==="details"&&(r.open=!0),r=r.parentElement;t.focus(),setTimeout(function(){!function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;if(!((t=e.getBoundingClientRect()).top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)))if(-1!==["H1","H2","H3","H4","H5","H6"].indexOf(e.tagName))e.scrollIntoView();else{var r=e.getBoundingClientRect().top+window.scrollY-n;window.scrollTo({top:r})}}(t)},10)}}}()},[en,Y,eo,ea,eh,D]),(0,l.jsx)("div",{className:"App",children:(0,l.jsx)(m.f,{theme:en,direction:ef,children:(0,l.jsx)(j,{value:D,children:(0,l.jsx)(_,{value:B,children:(0,l.jsx)(K,{value:J,children:(0,l.jsxs)(w._,{interface:$||{},children:[(0,l.jsx)(b.Y.Provider,{value:et,children:(0,l.jsx)(eN,{data:U,props:el,controls:ed})}),V&&(0,l.jsx)(x.Z,{router:B,gtmId:(null==V||null==(I=V.gtm)?void 0:I.id)||"",consentMode:null==V||null==(A=V.gtm)?void 0:A.mode}),(0,l.jsx)(y.Z,{}),(0,l.jsx)(eR,{})]})})})})})})}n(65333);var eW=document.getElementById("root"),eB=window.__DATA__;if(!eW)throw Error("Root element not found!");if(!(eB&&(void 0===eB?"undefined":(0,u._)(eB))==="object"&&null!==eB&&"data"in eB))throw Error("Invalid data format for App component");a=(o=P()).theme,i=o.wideFormat,c=o.fullScreen,L({mobileView:R(),wideFormat:i,fullScreen:c,landingPage:z(eB.data)}),F({theme:a}),window.STATIC_CONTENT?(0,f.hydrateRoot)(eW,(0,l.jsx)(eZ,(0,s._)({},eB))):(0,f.createRoot)(eW).render((0,l.jsx)(eZ,(0,s._)({},eB)))},90101:function(){var e,t;"undefined"!=typeof Element&&((t=(e=Element.prototype).matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector)?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),function(e){return e===t})})},86685:function(e,t,n){"use strict";function r(){}n.d(t,{Z:()=>r})},65333:function(e,t,n){"use strict";e.exports={}},12646:function(e,t,n){"use strict";e.exports={}},10932:function(e,t,n){"use strict";e.exports={}},5122:function(e,t,n){"use strict";e.exports={}},18925:function(){},81481:function(){},21361:function(){},49505:function(){},53480:function(){},31337:function(){}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var a=Object.create(null);n.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>{i[e]=()=>r[e]});return i.default=()=>r,n.d(a,i),a}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.k=e=>""+e+".css",n.u=e=>""+e+"-504c3782d2b3e0db.js",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=[];n.O=(t,r,o,a)=>{if(r){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[r,o,a];return}for(var c=1/0,i=0;i<e.length;i++){for(var[r,o,a]=e[i],s=!0,u=0;u<r.length;u++)(!1&a||c>=a)&&Object.keys(n.O).every(e=>n.O[e](r[u]))?r.splice(u--,1):(s=!1,a<c&&(c=a));if(s){e.splice(i--,1);var l=o();void 0!==l&&(t=l)}}return t}})(),n.rv=()=>"1.4.11",n.j="387",(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");n.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{n.b=document.baseURI||self.location.href;var e={387:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,[i,c,s]=r,u=0;if(i.some(t=>0!==e[t])){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);if(s)var l=s(n)}for(t&&t(r);u<i.length;u++)a=i[u],n.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return n.O(l)},r=self.webpackChunk_diplodoc_client=self.webpackChunk_diplodoc_client||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),n.ruid="bundler=rspack@1.4.11";var r=n.O(void 0,["966","971"],function(){return n(39039)});r=n.O(r)})();
2
- //# sourceMappingURL=app-f94acb83de1926b6.js.map
1
+ (()=>{var e={28942:function(e,t,n){"use strict";var r,o,a,i,c,u=n(7409),s=n(29995),l=n(85893),d=n(67294),f=n(20745),h=n(99282),m=n(13065),g=n(53816),v=n(8534),p=n(369),w=n(7481),b=n(65848),x=n(55006),y=n(27853);n(68648);var S=(0,d.createContext)({pathname:"/",depth:0});S.displayName="RouterContext";var _=S.Provider,C=(0,d.createContext)(v.Uo.En);C.displayName="Lang";var j=C.Provider,k=n(14823),M=n(55210),T={theme:v.Q2.Light,textSize:v.tF.M,showMiniToc:!0,wideFormat:!0,fullScreen:!1},O=["ar","arc","ckb","dv","fa","ha","he","khw","ks","ps","sd","ur","uz_AF","yi"],N=((r={}).RTL="rtl",r.LTR="ltr",r);function E(){return"undefined"!=typeof document}function F(e){var t=e.theme;"undefined"!=typeof document&&document.querySelectorAll(".g-root").forEach(function(e){e.classList.toggle("g-root_theme_light","light"===t),e.classList.toggle("g-root_theme_dark","dark"===t)})}function L(e){if(E()){document.body.classList.add("g-root");var t=function(e,t){return document.body.classList.toggle(e,!!t)};Object.keys(e).forEach(function(n){switch(n){case"wideFormat":t("dc-root_wide-format",e[n]);break;case"focusSearch":t("dc-root_focused-search",e[n]);break;case"fullScreen":t("dc-root_full-screen",e[n]);break;case"landingPage":t("dc-root_document-page",!e[n]),t("dc-root_landing-page",e[n]);break;case"mobileView":t("mobile",e[n]),t("desktop",!e[n])}})}}(0,M._)(new Set((0,M._)(["href"]).concat((0,M._)(["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"]))));var I=function(e){return"boolean"==typeof e?e:!!e&&"true"===e};function P(){var e=A("theme"),t=A("textSize"),n=A("showMiniToc"),r=A("wideFormat"),o=A("fullScreen");return{theme:e,textSize:t,showMiniToc:I(n),wideFormat:I(r),fullScreen:I(o)}}function z(e){return"PAGE_CONSTRUCTOR"===(0,k.C2)(e)}function R(){return!!E()&&document.body.clientWidth<769}function A(e){if(!E())return T[e];try{return sessionStorage.getItem(e)||T[e]}catch(t){return T[e]}}function H(e,t){var n=t.match(/^file:\/\/\/(.*)$/),r=(n?"/"+n[1]:t.replace(/^https?:\/\/[^/]+/,"")).replace(/\/[a-z]{2}\//,"/".concat(e,"/"));return n?"file://"+r:r}var U=n(27412),Z=n(24460);function W(e,t){var n=(0,Z._)((0,d.useState)(t[e]),2),r=n[0],o=n[1],a=(0,d.useMemo)(function(){var t,n;return t=e,n=o,function(e){if(E())try{sessionStorage.setItem(t,String(e))}catch(e){}n(e)}},[e,o]);return(0,d.useMemo)(function(){var t;return t={},(0,U._)(t,e,r),(0,U._)(t,"onChange"+e.replace(/^./,function(e){return e.toUpperCase()}),a),t},[e,r,a])}var B=n(22853),D=n(76150),q=n(43830),J=n(52062),V=n(41196),$=n(28395),Q=function(){function e(t){var r=this,o=this;(0,q._)(this,e),(0,U._)(this,"worker",void 0),(0,U._)(this,"config",void 0),(0,U._)(this,"init",function(){var e;e=(0,h._)((0,u._)({},r.config),{base:r.base,mark:"Suggest__Item__Marker"}),r.worker=(0,D._)(function(){var t;return(0,$.Jh)(this,function(r){switch(r.label){case 0:return[4,(0,D._)(function(){var e,t,r;return(0,$.Jh)(this,function(o){try{return[2,new Worker(new URL(n.p+n.u("444"),n.b))]}catch(n){if((0,V._)(n,DOMException)&&(e=X.exec(n.message)))return t=e[1],r=new Blob(["importScripts('".concat(t,"');")],{type:"text/javascript"}),[2,new Worker(URL.createObjectURL(r))];throw n}})})()];case 1:return[4,Y(t=r.sent(),(0,h._)((0,u._)({},e),{type:"init"}))];case 2:return r.sent(),[2,t]}})})()}),(0,U._)(this,"link",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=new URLSearchParams;n&&o.set("query",n),r>1&&o.set("page",r.toString());var a=o.toString()?"?".concat(o.toString()):"";return"".concat(e,"/").concat(t.link).concat(a)}(o.base,o.config,e,t)}),this.config=t}return(0,J._)(e,[{key:"suggest",value:function(e){return(0,D._)(function(){return(0,$.Jh)(this,function(t){return[2,this.request({type:"suggest",query:e})]})}).call(this)}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return(0,D._)(function(){return(0,$.Jh)(this,function(r){return[2,this.request({type:"search",query:e,page:t,count:n})]})}).call(this)}},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:function(e){return(0,D._)(function(){return(0,$.Jh)(this,function(t){switch(t.label){case 0:return[4,this.worker];case 1:return[2,Y.apply(void 0,[t.sent(),e])]}})}).call(this)}}]),e}(),X=/Script at '(.*?)' cannot be accessed from origin/;function Y(e,t){var n=new MessageChannel;return new Promise(function(r,o){n.port1.onmessage=function(e){e.data.error?o(e.data.error):r(e.data.result)},n.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[n.port2])})}n(10932),(0,B.default)("Search");var G=(0,d.createContext)(null);G.displayName="SearchContext";var K=G.Provider;n(90101);var ee=n(57276);n(12646);var et=(0,B.default)("Layout");function en(){return null}function er(){return null}function eo(){return null}var ea={doc:!1},ei=function(e){var t,n,r,o=(0,u._)({},ea,e),a=o.children,i=o.doc,c=o.headerHeight;return d.Children.forEach(a,function(e){switch(e.type){case en:t=e.props.children;break;case er:n=e.props.children;break;case eo:r=e.props.children}}),(0,l.jsxs)("div",{className:et({"full-header":(void 0===c?0:c)>0}),children:[t&&(0,l.jsx)("div",{className:et("header"),children:t}),(0,l.jsxs)("div",{className:et("body"),children:[n&&(0,l.jsx)("div",{className:et("content"),children:n}),r&&(0,l.jsx)("div",{className:et("footer",{doc:i}),children:r})]})]})};ei.displayName="Layout",ei.Header=en,ei.Content=er,ei.Footer=eo;var ec=(0,B.default)("pc-page-constructor"),eu=(0,B.default)("pc-constructor-row"),es=function(e){var t=e.children;return t?(0,l.jsx)(ee.X2j,{className:eu(),children:(0,l.jsx)(ee.JXS,{children:t})}):null};function el(e){var t=e.background,n=e.blocks,r=(0,ee.FgM)(),o=(0,ee.UuE)(t,r);return(0,l.jsx)("div",{className:ec("docs"),children:(0,l.jsxs)("div",{className:ec("wrapper"),children:[n&&o&&(0,l.jsx)(ee.sX4,(0,h._)((0,u._)({},o),{className:ec("background")})),(0,l.jsx)(ee.rjZ,{children:(0,l.jsx)(es,{children:(0,l.jsx)(ee.wFT,{items:n})})})]})})}var ed=function(e,t){var n=(0,k.C2)(e)===v.n_.PageConstructor&&"data"in e&&"fullScreen"in e.data&&e.data.fullScreen,r=(0,d.useMemo)(function(){return n?e.data:{blocks:[{type:"page",resetPaddings:!0}]}},[n,e]);return(0,d.useMemo)(function(){return{custom:{page:t},layout:r}},[t,r])},ef=n(57727),eh=n(86015),em=n(77438),eg=n(97319);n(5122);var ev=(0,B.default)("Suggest");function ep(){return(0,l.jsx)(em.J,{data:eg.Z,className:ev("end"),size:24})}function ew(){var e,t,n,r,o,a,i,c,s=(e=(0,d.useContext)(C),n=void 0===(t=(0,d.useContext)(S).depth)?0:t,r=(0,d.useContext)(G),a=(o=(0,Z._)((0,d.useState)(null),2))[0],i=o[1],c=(0,d.useMemo)(function(){return r?(0,h._)((0,u._)({},r),{depth:n,lang:e}):null},[e,n,r]),(0,d.useEffect)(function(){c&&i(c?new Q(c):null)},[c]),a),f=(0,d.useRef)(null),m=(0,ef.I)("search"),g=(0,d.useCallback)(function(){L({focusSearch:!0})},[]),v=(0,d.useCallback)(function(){L({focusSearch:!1}),setTimeout(function(){f.current&&f.current.close()},100)},[]);return!s||m?null:(0,l.jsx)(eh.F,{ref:f,provider:s,onFocus:g,onBlur:v,endContent:(0,l.jsx)(ep,{}),className:ev("input"),classNameContainer:ev(),classNameClose:ev("close"),closeButton:!0})}var eb=n(69609),ex=n(24426),ey=(0,d.memo)(function(e){var t=e.mobileView,n=e.theme,r=e.onChangeTheme,o=e.textSize,a=e.onChangeTextSize,i=e.wideFormat,c=e.onChangeWideFormat,u=e.showMiniToc,s=e.onChangeShowMiniToc,d=e.lang,f=e.langs,h=e.onChangeLang,m=e.availableLangs;return(0,l.jsx)(eb.C,{controlClassName:"Control",controlSize:v.$D.L,isWideView:t,isMobileView:t,children:(0,l.jsx)(ex.Z,{className:"Controls",theme:n,onChangeTheme:r,wideFormat:i,onChangeWideFormat:c,showMiniToc:u,onChangeShowMiniToc:s,textSize:o,onChangeTextSize:a,lang:d,langs:f,onChangeLang:h,availableLangs:void 0===m?[]:m})})});ey.displayName="HeaderControls";var eS=n(14029),e_=n(40443);function eC(e,t,n){return e.some(function(e){return e.type===n})||t.some(function(e){return e.type===n})}var ej={},ek={},eM=[],eT=[],eO=function(e,t,n,r,o){var a=e.toc,i=a.navigation||ej,c=i.header,s=void 0===c?ek:c,f=i.logo,m=s.leftItems,g=void 0===m?eM:m,p=s.rightItems,w=void 0===p?eT:p,b=eC(w,g,"controls"),x=eC(w,g,"search"),y=(0,d.useContext)(G),_=(0,d.useContext)(S);y&&!x&&w.unshift({type:"search"});var C=(0,d.useMemo)(function(){return{withBorder:!0,leftItems:g,rightItems:w,customMobileHeaderItems:[{type:"search"}]}},[g,w]),j=(0,d.useMemo)(function(){return{toc:a,router:_,headerHeight:64}},[a,_]),k=(0,d.useMemo)(function(){return{controlSize:v.$D.L,userSettings:t,viewerInterface:o}},[t,o]),M=(0,d.useMemo)(function(){var e;return ej===i?void 0:{header:{leftItems:[]},renderNavigation:function(){var e;return(0,l.jsx)(eS.Z,{logo:(0,h._)((0,u._)({},f),{icon:null!=(e=null==f?void 0:f.icon)?e:""}),data:C,navigationTocData:j,mobileControlsData:k})},logo:(0,h._)((0,u._)({},f),{icon:null!=(e=null==f?void 0:f.icon)?e:""})}},[C,j,k,f,i]);return(0,d.useMemo)(function(){return{custom:{search:r,controls:n,MobileDropdown:e_.Z},layout:M,withControls:b}},[r,n,M,b])};function eN(e){var t=e.data,n=e.props,r=e.controls,o=n.theme,a=n.fullScreen,i=(0,k.C2)(t),c=(0,k.N7)(i),s=(0,d.useCallback)(function(){return(0,l.jsx)(ew,{})},[]),f=(0,d.useCallback)(function(){return(0,l.jsx)(ey,(0,u._)({},r))},[r]),m=eO(t,r,f,s),g=(0,d.useCallback)(function(){var e,o;return(0,l.jsx)(ei,{headerHeight:a||!m.layout?0:64,children:(0,l.jsx)(ei.Content,{children:(0,l.jsx)(c,(0,h._)((0,u._)({},t,n,m.withControls?(o=["theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","langs","onChangeLang"],Object.keys(e=r).reduce(function(t,n){return o.includes(n)||(t[n]=e[n]),t},{})):r),{children:(0,l.jsx)(el,(0,u._)({},t.data))}))})})},[t,m,n,r,a,c]),v=ed(t,g),p=(0,d.useMemo)(function(){return{navigation:m.custom,blocks:v.custom}},[m,v]);return(0,l.jsx)(ee.WwW,{theme:o,projectSettings:{disableCompress:!0},ssrConfig:{isServer:!0},children:(0,l.jsx)(ee.C4W,{custom:p,content:v.layout,navigation:a?void 0:m.layout})})}var eE=n(91398),eF=n(17344),eL=n(87767),eI=n(96998),eP=n(34952),ez=n(76638);function eR(){var e=(0,eI.F)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(eL.r,{}),(0,l.jsx)(eF.S,{}),(0,l.jsx)(eE.u,{theme:e===v.Q2.Dark?"dark":"neutral",zoom:{showMenu:!0,bindKeys:!0}}),(0,l.jsx)(eP.TabsRuntime,{saveTabsToLocalStorage:!0,saveTabsToQueryStateMode:"page"}),(0,l.jsx)(ez.Hc,{})]})}function eA(e,t){return t.some(function(t){return"string"==typeof t?t===e:t.lang===e})}var eH=n(18245),eU=function(e){var t=e.components,n=e.pureComponents;return function(e){return function(r){var o=r.forwardRef,a=r.mdxArtifacts,i=r.html,c=(0,d.useRef)(null);c.current=null;var s=(0,d.useCallback)(function(e){return c.current=e,o(e)},[o]),l=(0,eH.Z)({refCtr:c,components:t,pureComponents:n,mdxArtifacts:a,html:i});return d.createElement(d.Fragment,null,d.createElement(e,(0,h._)((0,u._)({},r),{forwardRef:s})),l)}}};function eZ(e){var t,r,o,a,i,c,s,f,S,C,M,T,E,I,A,U,B,D,q,J,V,$=e.data,Q=e.router,X=e.lang,Y=e.langs,G=e.search,ee=e.analytics,et=e.feedback,en=e.viewerInterface,er=(r=W("theme",t=P()),o=W("textSize",t),a=W("wideFormat",t),i=W("fullScreen",t),c=W("showMiniToc",t),(0,d.useMemo)(function(){return(0,u._)({},r,o,a,c,i)},[r,o,a,c,i])),eo=(s=e.lang,f=e.langs,S=(0,d.useCallback)(function(e,t){var n=t||{},r=n.tld,o=n.href;if(o){window.location.href=o;return}var a=window.location.href;r?window.location.replace(H(e,a.replace(/([a-zA-Z0-9-]+\.[a-zA-Z0-9-]+)(?=[/:?#]|$)/,function(e){var t=e.lastIndexOf(".");return -1===t?e:e.slice(0,t+1)+r}))):window.location.replace(H(e,a))},[]),(0,d.useMemo)(function(){return{lang:s,langs:f,onChangeLang:S}},[s,f,S])),ea=(M=(C=(0,Z._)((0,d.useState)(R()),2))[0],T=C[1],E=(0,d.useCallback)(function(){T(R())},[]),(0,d.useEffect)(E,[E]),(0,d.useEffect)(function(){return window.addEventListener("resize",E),function(){return window.removeEventListener("resize",E)}},[E]),M),ei=(0,d.useMemo)(function(){if(!("meta"in $))return[];var e=$.meta,t=e.canonical,n=e.alternate;if(!t)return[];var r=new Set,o=(0,Z._)(t.split("/"),1)[0];eA(o,Y)&&r.add(o);var a=!0,i=!1,c=void 0;try{for(var u,s=(void 0===n?[]:n)[Symbol.iterator]();!(a=(u=s.next()).done);a=!0){var l=u.value.href;if(!(!l||(0,k.$2)(l))){var d=(0,Z._)(l.split("/"),1)[0];eA(d,Y)&&r.add(d)}}}catch(e){i=!0,c=e}finally{try{a||null==s.return||s.return()}finally{if(i)throw c}}return Array.from(r)},[$,Y]),ec=g.aP.includes(X)?X:v.Uo.En;(0,p.jQ)({lang:ec,localeCode:ec});var eu=(0,d.useMemo)(function(){var e=[],t=n.g&&"getMdxInitProps"in n.g&&n.g.getMdxInitProps;return"function"==typeof t&&e.push(eU(t({dependencies:{react:d}}))),e},[]),es=er.theme,el=er.textSize,ed=er.wideFormat,ef=er.fullScreen,eh=er.showMiniToc,em=(A=(I={feedbackUrl:null==et?void 0:et.url,router:Q,viewerInterface:en}).feedbackUrl,U=I.router,B=I.viewerInterface,D=(0,d.useCallback)(function(e){A&&fetch(A,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,h._)((0,u._)({},e),{page:U.pathname,timestamp:new Date().toISOString()}))}).catch(function(e){console.error("Failed to send feedback:",e)})},[A,U.pathname]),q=(null==B?void 0:B.feedback)!==!1,A&&q?D:void 0),eg=(0,d.useMemo)(function(){return{router:Q,theme:es,textSize:el,wideFormat:ed,fullScreen:ef,showMiniToc:eh,isMobile:ea}},[Q,es,el,ed,ef,eh,ea]),ev=(0,d.useMemo)(function(){return(0,h._)((0,u._)({},er,eo),{mobileView:ea,availableLangs:ei,onSendFeedback:em})},[eo,er,ea,ei,em]),ep=O.includes(X)?N.RTL:N.LTR,ew=z($);return(0,d.useEffect)(function(){L({mobileView:ea,wideFormat:ed,fullScreen:ef,landingPage:ew}),F({theme:es}),function(){var e=window.location.hash.substring(1);if(e){var t=document.getElementById(e);if(t){for(var n,r=null==t?void 0:t.parentElement;r;)(null==(n=r)?void 0:n.tagName.toLowerCase())==="details"&&(r.open=!0),r=r.parentElement;t.focus(),setTimeout(function(){!function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;if(!((t=e.getBoundingClientRect()).top>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)))if(-1!==["H1","H2","H3","H4","H5","H6"].indexOf(e.tagName))e.scrollIntoView();else{var r=e.getBoundingClientRect().top+window.scrollY-n;window.scrollTo({top:r})}}(t)},10)}}}()},[es,ea,ed,ef,ew,X]),(0,l.jsx)("div",{className:"App",children:(0,l.jsx)(m.f,{theme:es,direction:ep,children:(0,l.jsx)(j,{value:X,children:(0,l.jsx)(_,{value:Q,children:(0,l.jsx)(K,{value:G,children:(0,l.jsxs)(w._,{interface:en||{},children:[(0,l.jsx)(b.Y.Provider,{value:eu,children:(0,l.jsx)(eN,{data:$,props:eg,controls:ev})}),ee&&(0,l.jsx)(x.Z,{router:Q,gtmId:(null==ee||null==(J=ee.gtm)?void 0:J.id)||"",consentMode:null==ee||null==(V=ee.gtm)?void 0:V.mode}),(0,l.jsx)(y.Z,{}),(0,l.jsx)(eR,{})]})})})})})})}n(65333);var eW=document.getElementById("root"),eB=window.__DATA__;if(!eW)throw Error("Root element not found!");if(!(eB&&(void 0===eB?"undefined":(0,s._)(eB))==="object"&&null!==eB&&"data"in eB))throw Error("Invalid data format for App component");a=(o=P()).theme,i=o.wideFormat,c=o.fullScreen,L({mobileView:R(),wideFormat:i,fullScreen:c,landingPage:z(eB.data)}),F({theme:a}),window.STATIC_CONTENT?(0,f.hydrateRoot)(eW,(0,l.jsx)(eZ,(0,u._)({},eB))):(0,f.createRoot)(eW).render((0,l.jsx)(eZ,(0,u._)({},eB)))},90101:function(){var e,t;"undefined"!=typeof Element&&((t=(e=Element.prototype).matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector)?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),function(e){return e===t})})},86685:function(e,t,n){"use strict";function r(){}n.d(t,{Z:()=>r})},65333:function(e,t,n){"use strict";e.exports={}},12646:function(e,t,n){"use strict";e.exports={}},10932:function(e,t,n){"use strict";e.exports={}},5122:function(e,t,n){"use strict";e.exports={}},18925:function(){},81481:function(){},21361:function(){},49505:function(){},53480:function(){},31337:function(){}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var a=Object.create(null);n.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>{i[e]=()=>r[e]});return i.default=()=>r,n.d(a,i),a}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.k=e=>""+e+".css",n.u=e=>""+e+"-504c3782d2b3e0db.js",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=[];n.O=(t,r,o,a)=>{if(r){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[r,o,a];return}for(var c=1/0,i=0;i<e.length;i++){for(var[r,o,a]=e[i],u=!0,s=0;s<r.length;s++)(!1&a||c>=a)&&Object.keys(n.O).every(e=>n.O[e](r[s]))?r.splice(s--,1):(u=!1,a<c&&(c=a));if(u){e.splice(i--,1);var l=o();void 0!==l&&(t=l)}}return t}})(),n.rv=()=>"1.4.11",n.j="387",(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");n.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{n.b=document.baseURI||self.location.href;var e={387:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,[i,c,u]=r,s=0;if(i.some(t=>0!==e[t])){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);if(u)var l=u(n)}for(t&&t(r);s<i.length;s++)a=i[s],n.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return n.O(l)},r=self.webpackChunk_diplodoc_client=self.webpackChunk_diplodoc_client||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),n.ruid="bundler=rspack@1.4.11";var r=n.O(void 0,["966","971"],function(){return n(28942)});r=n.O(r)})();
2
+ //# sourceMappingURL=app-e70f636e61ffb694.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-e70f636e61ffb694.js","sources":["webpack://@diplodoc/client/./src/constants.ts","webpack://@diplodoc/client/./src/interceptors/fast-class-applier.ts","webpack://@diplodoc/client/./src/components/Router/index.ts","webpack://@diplodoc/client/./src/hooks/useLang.ts","webpack://@diplodoc/client/./src/utils.ts","webpack://@diplodoc/client/./src/components/App/useSettings.ts","webpack://@diplodoc/client/./src/components/Search/provider/index.ts","webpack://@diplodoc/client/./src/components/Search/provider/utils/searchLink.ts","webpack://@diplodoc/client/./src/components/Search/Page.tsx","webpack://@diplodoc/client/./src/components/Search/index.tsx","webpack://@diplodoc/client/./src/components/Layout/index.tsx","webpack://@diplodoc/client/./src/components/ConstructorPage/index.tsx","webpack://@diplodoc/client/./src/components/ConstructorPage/useContent.tsx","webpack://@diplodoc/client/./src/components/Search/Suggest.tsx","webpack://@diplodoc/client/./src/components/Search/useProvider.ts","webpack://@diplodoc/client/./src/components/HeaderControls/index.tsx","webpack://@diplodoc/client/./src/components/ConstructorPage/useNavigation.tsx","webpack://@diplodoc/client/./src/components/App/Page.tsx","webpack://@diplodoc/client/./src/components/App/Runtime.tsx","webpack://@diplodoc/client/./src/components/App/useAvailableLangs.ts","webpack://@diplodoc/client/./src/components/App/withMdxInit.tsx","webpack://@diplodoc/client/./src/components/App/index.tsx","webpack://@diplodoc/client/./src/components/App/useLangs.ts","webpack://@diplodoc/client/./src/components/App/useMobile.ts","webpack://@diplodoc/client/./src/hooks/useFeedback.ts","webpack://@diplodoc/client/./src/index.tsx","webpack://@diplodoc/client/./src/interceptors/leading-page-links.js","webpack://@diplodoc/client/./src/stub/empty-module.js","webpack://@diplodoc/client/webpack/runtime/compat_get_default_export","webpack://@diplodoc/client/webpack/runtime/create_fake_namespace_object","webpack://@diplodoc/client/webpack/runtime/define_property_getters","webpack://@diplodoc/client/webpack/runtime/get css chunk filename","webpack://@diplodoc/client/webpack/runtime/get javascript chunk filename","webpack://@diplodoc/client/webpack/runtime/global","webpack://@diplodoc/client/webpack/runtime/has_own_property","webpack://@diplodoc/client/webpack/runtime/make_namespace_object","webpack://@diplodoc/client/webpack/runtime/node_module_decorator","webpack://@diplodoc/client/webpack/runtime/on_chunk_loaded","webpack://@diplodoc/client/webpack/runtime/rspack_version","webpack://@diplodoc/client/webpack/runtime/runtime_id","webpack://@diplodoc/client/webpack/runtime/auto_public_path","webpack://@diplodoc/client/webpack/runtime/jsonp_chunk_loading","webpack://@diplodoc/client/webpack/runtime/rspack_unique_id"],"sourcesContent":["import {TextSizes, Theme} from '@diplodoc/components';\n\nexport const HEADER_HEIGHT = 64;\n\nexport const MOBILE_VIEW_WIDTH_BREAKPOINT = 769;\n\nexport const DEFAULT_USER_SETTINGS = {\n theme: Theme.Light,\n textSize: TextSizes.M,\n showMiniToc: true,\n wideFormat: true,\n fullScreen: false,\n};\n\nexport const RTL_LANGS = [\n 'ar',\n 'arc',\n 'ckb',\n 'dv',\n 'fa',\n 'ha',\n 'he',\n 'khw',\n 'ks',\n 'ps',\n 'sd',\n 'ur',\n 'uz_AF',\n 'yi',\n];\n\nexport enum TextDirection {\n RTL = 'rtl',\n LTR = 'ltr',\n}\n\nexport const LINK_KEYS_LEADING_CONFIG = ['href'];\nexport const LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = [\n 'src',\n 'url',\n 'href',\n 'icon',\n 'image',\n 'desktop',\n 'mobile',\n 'tablet',\n 'previewImg',\n 'image',\n 'avatar',\n 'logo',\n 'light',\n 'dark',\n];\n\nexport const LINK_KEYS = [\n ...new Set([...LINK_KEYS_LEADING_CONFIG, ...LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG]),\n];\n","import type {DocInnerProps} from '../components/App';\n\nimport {\n getLandingPage,\n getMobileView,\n getSettings,\n updateRootClassName,\n updateThemeClassName,\n} from '../utils';\n\nexport function setRootClasses(data: DocInnerProps) {\n const {theme, wideFormat, fullScreen} = getSettings();\n const mobileView = getMobileView();\n const landingPage = getLandingPage(data.data);\n\n updateRootClassName({mobileView, wideFormat, fullScreen, landingPage});\n updateThemeClassName({theme});\n}\n","import type {Router} from '@diplodoc/components';\n\nimport {createContext, useContext} from 'react';\n\nexport interface RouterConfig extends Router {\n depth: number;\n}\n\nexport const RouterContext = createContext<RouterConfig>({\n pathname: '/',\n depth: 0,\n});\n\nRouterContext.displayName = 'RouterContext';\n\nexport const RouterProvider = RouterContext.Provider;\n\nexport function useRouter() {\n return useContext(RouterContext);\n}\n","import {createContext, useContext} from 'react';\nimport {Lang} from '@diplodoc/components';\n\nconst LangContext = createContext<`${Lang}` | Lang>(Lang.En);\n\nLangContext.displayName = 'Lang';\n\nexport const LangProvider = LangContext.Provider;\n\nexport function useLang() {\n return useContext(LangContext);\n}\n","import type {PageData} from './components/App';\nimport type {Lang, Theme} from '@diplodoc/components';\n\nimport {getPageType} from '@diplodoc/components';\n\nimport {\n DEFAULT_USER_SETTINGS,\n MOBILE_VIEW_WIDTH_BREAKPOINT,\n RTL_LANGS,\n TextDirection,\n} from './constants';\n\nexport function isBrowser() {\n return typeof document !== 'undefined';\n}\n\nexport function updateThemeClassName({theme}: {theme: Theme}) {\n if (typeof document === 'undefined') {\n return;\n }\n\n document.querySelectorAll('.g-root').forEach((el) => {\n el.classList.toggle('g-root_theme_light', theme === 'light');\n el.classList.toggle('g-root_theme_dark', theme === 'dark');\n });\n}\n\nexport function updateRootClassName(states: {\n mobileView?: boolean;\n wideFormat?: boolean;\n fullScreen?: boolean;\n focusSearch?: boolean;\n landingPage?: boolean;\n}) {\n if (!isBrowser()) {\n return;\n }\n\n document.body.classList.add('g-root');\n\n const toggle = (name: string, state: unknown) =>\n document.body.classList.toggle(name, Boolean(state));\n\n Object.keys(states).forEach((state) => {\n switch (state) {\n case 'wideFormat':\n toggle('dc-root_wide-format', states[state]);\n break;\n case 'focusSearch':\n toggle('dc-root_focused-search', states[state]);\n break;\n case 'fullScreen':\n toggle('dc-root_full-screen', states[state]);\n break;\n case 'landingPage':\n toggle('dc-root_document-page', !states[state]);\n toggle('dc-root_landing-page', states[state]);\n break;\n case 'mobileView':\n toggle('mobile', states[state]);\n toggle('desktop', !states[state]);\n break;\n }\n });\n}\n\nexport function getDirection(lang: `${Lang}` | Lang): TextDirection {\n const isRTL = RTL_LANGS.includes(lang);\n\n return isRTL ? TextDirection.RTL : TextDirection.LTR;\n}\n\nconst toBoolean = (str: string | boolean) => {\n if (typeof str === 'boolean') {\n return str;\n }\n\n return str ? str === 'true' : false;\n};\n\nexport type Settings = typeof DEFAULT_USER_SETTINGS;\n\nexport function getSettings() {\n const theme = getSetting('theme');\n const textSize = getSetting('textSize');\n const showMiniToc = getSetting('showMiniToc');\n const wideFormat = getSetting('wideFormat');\n const fullScreen = getSetting('fullScreen');\n\n return {\n theme,\n textSize,\n showMiniToc: toBoolean(showMiniToc),\n wideFormat: toBoolean(wideFormat),\n fullScreen: toBoolean(fullScreen),\n };\n}\n\nexport function getLandingPage(data: PageData) {\n return getPageType(data) === 'PAGE_CONSTRUCTOR';\n}\n\nexport function getMobileView() {\n if (!isBrowser()) {\n return false;\n }\n\n return document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT;\n}\n\nfunction getSetting<T extends keyof Settings>(name: T): Settings[T] {\n if (!isBrowser()) {\n return DEFAULT_USER_SETTINGS[name];\n }\n\n try {\n return (sessionStorage.getItem(name) as Settings[T]) || DEFAULT_USER_SETTINGS[name];\n } catch {\n return DEFAULT_USER_SETTINGS[name];\n }\n}\n\nexport function setSetting<T>(name: string, value: T) {\n if (!isBrowser()) {\n return;\n }\n\n try {\n sessionStorage.setItem(name, String(value));\n } catch {}\n}\n\nexport function isDetailsTag(el: HTMLElement): el is HTMLDetailsElement {\n return el?.tagName.toLowerCase() === 'details';\n}\n\nexport function isHeaderTag(el: HTMLElement) {\n return ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'].indexOf(el.tagName) !== -1;\n}\n\n/**\n * Scrolls to the element.\n * If the element is a heading - simply scrolls to it, since needed offset is already in css.\n * If the element is of any other type - calculate the offset form the element position in heading and scroll to it.\n * @param {HTMLElement} el\n */\n\nexport function scrollToElement(el: HTMLElement, offset = 200) {\n if (isInViewport(el)) {\n return;\n }\n\n if (isHeaderTag(el)) {\n // Header already includes the offset in css\n // That puts it where we want it when it's scrolled to\n el.scrollIntoView();\n } else {\n const elementPosition = el.getBoundingClientRect().top;\n const offsetPosition = elementPosition + window.scrollY - offset;\n\n window.scrollTo({\n top: offsetPosition,\n });\n }\n}\n\nexport function getLangPath(lang: string, href: string) {\n let path;\n\n const isLocal = href.match(/^file:\\/\\/\\/(.*)$/);\n\n if (isLocal) {\n path = '/' + isLocal[1];\n } else {\n path = href.replace(/^https?:\\/\\/[^/]+/, '');\n }\n\n const newPath = path.replace(/\\/[a-z]{2}\\//, `/${lang}/`);\n\n if (isLocal) {\n return 'file://' + newPath;\n }\n\n return newPath;\n}\n\nexport function getDomainPath(lang: string, tld: string, href: string) {\n const newPath = href.replace(/([a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+)(?=[/:?#]|$)/, (match) => {\n const dotPos = match.lastIndexOf('.');\n\n if (dotPos === -1) {\n return match;\n }\n\n return match.slice(0, dotPos + 1) + tld;\n });\n\n return getLangPath(lang, newPath);\n}\n\nfunction isInViewport(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight)\n );\n}\n\nexport function scrollToHash() {\n const hash = window.location.hash.substring(1);\n\n if (!hash) {\n return;\n }\n\n const element = document.getElementById(hash);\n\n if (!element) {\n return;\n }\n\n let node = element?.parentElement;\n while (node) {\n if (isDetailsTag(node)) {\n node.open = true;\n }\n node = node.parentElement;\n }\n\n element.focus();\n\n setTimeout(() => {\n scrollToElement(element);\n }, 10);\n}\n","import type {Settings} from '../../utils';\n\nimport {useMemo, useState} from 'react';\n\nimport {getSettings, setSetting} from '../../utils';\n\nconst capitalize = <T extends string>(string: T): Capitalize<T> =>\n string.replace(/^./, (ch) => ch.toUpperCase()) as Capitalize<T>;\n\nexport function useSettings() {\n const settings = getSettings();\n\n const theme = useSetting('theme', settings);\n const textSize = useSetting('textSize', settings);\n const wideFormat = useSetting('wideFormat', settings);\n const fullScreen = useSetting('fullScreen', settings);\n const showMiniToc = useSetting('showMiniToc', settings);\n\n const controls = useMemo(\n () => ({\n ...theme,\n ...textSize,\n ...wideFormat,\n ...showMiniToc,\n ...fullScreen,\n }),\n [theme, textSize, wideFormat, showMiniToc, fullScreen],\n );\n\n return controls;\n}\n\ntype State<P extends keyof Settings> = Record<P, Settings[P]> &\n Record<`onChange${Capitalize<P>}`, (value: Settings[P]) => void>;\n\nfunction useSetting<P extends keyof Settings>(name: P, settings: Settings): State<P> {\n const [setting, setSetting] = useState<Settings[P]>(settings[name]);\n const onChangeSetting = useMemo(() => withSavingSetting(name, setSetting), [name, setSetting]);\n\n return useMemo(\n () =>\n ({\n [name]: setting,\n ['onChange' + capitalize(name)]: onChangeSetting,\n }) as State<P>,\n [name, setting, onChangeSetting],\n );\n}\n\nfunction withSavingSetting<T>(settingName: string, onChange: (value: T) => void) {\n return (value: T) => {\n setSetting<T>(settingName, value);\n\n onChange(value);\n };\n}\n","import type {ISearchProvider, ISearchResult} from '@diplodoc/components';\nimport type {SearchConfig, SearchProviderExtended, WorkerConfig} from '../types';\n\nimport {buildSearchLink} from './utils/searchLink';\n\nexport class DefaultSearchProvider implements ISearchProvider, SearchProviderExtended {\n private worker!: Promise<Worker>;\n\n private config: SearchConfig;\n\n constructor(config: SearchConfig) {\n this.config = config;\n }\n\n init = () => {\n this.worker = initWorker({\n ...this.config,\n base: this.base,\n mark: 'Suggest__Item__Marker',\n });\n };\n\n async suggest(query: string) {\n return this.request({\n type: 'suggest',\n query,\n }) as Promise<ISearchResult[]>;\n }\n\n async search(query: string, page = 1, count = 10) {\n return this.request({\n type: 'search',\n query,\n page,\n count,\n }) as Promise<{items: ISearchResult[]; total: number}>;\n }\n\n link = (query: string, page = 1) => buildSearchLink(this.base, this.config, query, page);\n\n private get base() {\n return window.location.href.split('/').slice(0, -this.config.depth).join('/');\n }\n\n private async request(message: object) {\n return request(await this.worker, message);\n }\n}\n\nconst BAD_ORIGIN_ERROR = /Script at '(.*?)' cannot be accessed from origin/;\n\nasync function loadWorker() {\n try {\n return new Worker(new URL('../worker/index.ts', import.meta.url));\n } catch (error) {\n if (error instanceof DOMException) {\n const match = BAD_ORIGIN_ERROR.exec(error.message);\n if (match) {\n const url = match[1];\n const blob = new Blob([`importScripts('${url}');`], {type: 'text/javascript'});\n\n return new Worker(URL.createObjectURL(blob));\n }\n }\n\n throw error;\n }\n}\n\nasync function initWorker(config: WorkerConfig) {\n const worker = await loadWorker();\n\n await request(worker, {...config, type: 'init'});\n\n return worker;\n}\n\nfunction request(worker: Worker, message: object) {\n const channel = new MessageChannel();\n\n return new Promise((resolve, reject) => {\n channel.port1.onmessage = (message) => {\n if (message.data.error) {\n reject(message.data.error);\n } else {\n resolve(message.data.result);\n }\n };\n\n channel.port1.onmessageerror = (message) => {\n reject(message.data.error);\n };\n\n worker.postMessage(message, [channel.port2]);\n });\n}\n\nexport function createProvider(config: SearchConfig): ISearchProvider | null {\n if (!config) {\n return null;\n }\n\n return new DefaultSearchProvider(config);\n}\n\nexport const SearchProvider = DefaultSearchProvider;\n","import type {SearchConfig} from '../../types';\n\nexport function buildSearchLink(base: string, config: SearchConfig, query?: string, page = 1) {\n const searchParams = new URLSearchParams();\n\n if (query) searchParams.set('query', query);\n if (page > 1) searchParams.set('page', page.toString());\n\n const params = searchParams.toString() ? `?${searchParams.toString()}` : '';\n const link = `${base}/${config.link}${params}`;\n\n return link;\n}\n","import type {FormattedSearchResultData, SearchProviderExtended, SearchResultData} from './types';\n\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {SearchPage} from '@diplodoc/components';\nimport block from 'bem-cn-lite';\n\nimport {useRouter} from '../Router';\n\nimport {useProvider} from './useProvider';\nimport './Page.scss';\n\nconst b = block('Search');\n\nfunction getUrlParams() {\n const params = new URLSearchParams(window.location.search);\n return {\n query: params.get('query') || '',\n page: Number(params.get('page')) || 1,\n };\n}\n\nfunction setUrlParams(query: string, page: number) {\n const params = new URLSearchParams();\n if (query) params.set('query', query);\n if (page > 1) params.set('page', String(page));\n window.history.pushState({}, '', `?${params.toString()}`);\n}\n\nfunction formatResults(searchResults: SearchResultData[]): FormattedSearchResultData {\n if (!Array.isArray(searchResults)) return [];\n return searchResults.map((result) => ({\n title: result?.title || result?.hierarchy?.lvl0 || result?.hierarchy?.lvl1 || '',\n url: result?.url || result?.link || '#',\n description: result?.description || result?.content || result?.text || '',\n section: result?.section || result?.hierarchy?.lvl1 || '',\n }));\n}\n\nconst ITEMS_PER_PAGE = 10;\n\nexport const Page: React.FC = () => {\n const provider = useProvider();\n const router = useRouter();\n\n const [query, setQuery] = useState<string>('');\n const [page, setPage] = useState<number>(1);\n const [results, setResults] = useState<FormattedSearchResultData>([]);\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n\n const providerRef = useRef<SearchProviderExtended | null>(null);\n\n useEffect(() => {\n providerRef.current = provider as SearchProviderExtended;\n provider?.init?.();\n }, [provider]);\n\n useEffect(() => {\n const {query: q, page: p} = getUrlParams();\n\n setQuery(q);\n setPage(p);\n }, [router]);\n\n useEffect(() => {\n if (query && providerRef.current) {\n setLoading(true);\n\n providerRef.current\n .search(query, page, ITEMS_PER_PAGE)\n .then((searchResults) => {\n const {items, total} = searchResults;\n const formatted = formatResults(items ?? []);\n\n setResults(formatted);\n setTotal(total);\n })\n .catch(() => {\n setResults([]);\n setTotal(0);\n })\n .finally(() => setLoading(false));\n } else {\n setResults([]);\n setTotal(0);\n }\n }, [query, page, provider]);\n\n const handlePageChange = useCallback(\n (newPage: number) => {\n setUrlParams(query, newPage);\n setPage(newPage);\n },\n [query],\n );\n\n const handleQueryChange = useCallback((newQuery: string) => {\n setUrlParams(newQuery, 1);\n setQuery(newQuery);\n setPage(1);\n }, []);\n\n return (\n <div className={b()}>\n <SearchPage\n query={query}\n items={results}\n page={page}\n totalItems={total}\n onPageChange={handlePageChange}\n onSubmit={handleQueryChange}\n loading={loading}\n />\n </div>\n );\n};\n","import type {ReactElement} from 'react';\nimport type {SearchConfig, SearchData, WorkerApi, WorkerConfig} from './types';\n\nimport React, {createContext, useContext, useEffect} from 'react';\nimport {ThemeProvider} from '@gravity-ui/uikit';\nimport {Lang, SUPPORTED_LANGS, configure} from '@diplodoc/components';\n\nimport {RouterProvider} from '../Router';\nimport {LangProvider} from '../../hooks/useLang';\nimport {getDirection, updateRootClassName, updateThemeClassName} from '../../utils';\nimport {useSettings} from '../App/useSettings';\nimport {useMobile} from '../App/useMobile';\n\nimport {Page} from './Page';\n\nexport type {SearchConfig, WorkerConfig, WorkerApi};\n\nexport const SearchContext = createContext<SearchConfig | SearchData | null | undefined>(null);\n\nSearchContext.displayName = 'SearchContext';\n\nexport const SearchProvider = SearchContext.Provider;\n\nexport interface SearchProps {\n data: SearchConfig;\n url: URL;\n}\n\nexport function Search(props: SearchProps): ReactElement {\n const {data, url} = props;\n\n const searchData = data.search;\n const lang = (searchData?.lang as Lang) || Lang.En;\n const settings = useSettings();\n const mobileView = useMobile();\n const fixedLang = SUPPORTED_LANGS.includes(lang) ? lang : Lang.En;\n const direction = getDirection(fixedLang);\n\n configure({\n lang: fixedLang,\n localeCode: fixedLang,\n });\n\n const routerConfig = {\n pathname: url.pathname,\n depth: 3,\n };\n\n const {theme, wideFormat} = settings;\n\n useEffect(() => {\n updateRootClassName({mobileView, wideFormat});\n updateThemeClassName({theme});\n }, [theme, mobileView, wideFormat]);\n\n return (\n <ThemeProvider theme={theme} direction={direction}>\n <LangProvider value={fixedLang}>\n <RouterProvider value={routerConfig}>\n <SearchProvider value={searchData}>\n <Page />\n </SearchProvider>\n </RouterProvider>\n </LangProvider>\n </ThemeProvider>\n );\n}\n\nexport function useSearch() {\n return useContext(SearchContext);\n}\n","import type {FC, PropsWithChildren, ReactElement} from 'react';\n\nimport React from 'react';\nimport block from 'bem-cn-lite';\n\nimport './Layout.scss';\n\nconst b = block('Layout');\n\nfunction Header() {\n return null;\n}\n\nfunction Content() {\n return null;\n}\n\nfunction Footer() {\n return null;\n}\n\ntype LayoutStatics = {\n Header: FC<PropsWithChildren>;\n Content: FC<PropsWithChildren>;\n Footer: FC<PropsWithChildren>;\n};\n\ntype LayoutProps = {\n doc?: boolean;\n headerHeight?: number;\n};\n\nconst defaults = {\n doc: false,\n};\n\nexport const Layout: LayoutStatics & FC<PropsWithChildren<LayoutProps>> = (props) => {\n const {children, doc, headerHeight = 0} = {...defaults, ...props};\n let header, content, footer;\n\n React.Children.forEach(children as ReactElement[], (child: ReactElement) => {\n switch (child.type) {\n case Header:\n header = child.props.children;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n break;\n }\n });\n\n return (\n <div className={b({'full-header': headerHeight > 0})}>\n {header && <div className={b('header')}>{header}</div>}\n <div className={b('body')}>\n {content && <div className={b('content')}>{content}</div>}\n {footer && <div className={b('footer', {doc})}>{footer}</div>}\n </div>\n </div>\n );\n};\n\nLayout.displayName = 'Layout';\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n","import type {PropsWithChildren} from 'react';\nimport type {PageContent} from '@gravity-ui/page-constructor';\n\nimport React from 'react';\nimport block from 'bem-cn-lite';\nimport {\n BackgroundMedia,\n Col,\n ConstructorBlocks,\n Grid,\n Row,\n getThemedValue,\n useTheme,\n} from '@gravity-ui/page-constructor';\n\nconst bPC = block('pc-page-constructor');\nconst bPCRow = block('pc-constructor-row');\n\nexport const ConstructorRow = ({children}: PropsWithChildren) =>\n children ? (\n <Row className={bPCRow()}>\n <Col>{children}</Col>\n </Row>\n ) : null;\n\nexport function ConstructorPage({background, blocks}: PageContent) {\n const theme = useTheme();\n const themedBackground = getThemedValue(background, theme);\n\n return (\n <div className={bPC('docs')}>\n <div className={bPC('wrapper')}>\n {blocks && themedBackground && (\n <BackgroundMedia {...themedBackground} className={bPC('background')} />\n )}\n <Grid>\n <ConstructorRow>\n <ConstructorBlocks items={blocks} />\n </ConstructorRow>\n </Grid>\n </div>\n </div>\n );\n}\n","import type {ReactNode} from 'react';\nimport type {PageContent} from '@gravity-ui/page-constructor';\nimport type {DocContentPageData} from '@diplodoc/components';\n\nimport {DocumentType, getPageType} from '@diplodoc/components';\nimport {useMemo} from 'react';\n\nexport const useContent = (data: DocContentPageData, CustomPage: () => ReactNode) => {\n const type = getPageType(data);\n const fullScreen =\n type === DocumentType.PageConstructor &&\n 'data' in data &&\n 'fullScreen' in data.data &&\n data.data.fullScreen;\n\n const layout = useMemo(\n () =>\n fullScreen\n ? (data.data as PageContent)\n : {\n blocks: [\n {\n type: 'page',\n resetPaddings: true,\n },\n ],\n },\n [fullScreen, data],\n );\n\n const config = useMemo(\n () => ({\n custom: {\n page: CustomPage,\n },\n layout,\n }),\n [CustomPage, layout],\n );\n\n return config;\n};\n","import type {ISearchProvider, SearchSuggestApi} from '@diplodoc/components';\n\nimport React, {useCallback, useRef} from 'react';\nimport {SearchSuggest, useInterface} from '@diplodoc/components';\nimport {Icon} from '@gravity-ui/uikit';\nimport {Magnifier} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\n\nimport {updateRootClassName} from '../../utils';\n\nimport {useProvider} from './useProvider';\nimport './Suggest.scss';\n\nconst b = block('Suggest');\n\nfunction SearchButton() {\n return <Icon data={Magnifier} className={b('end')} size={24} />;\n}\n\nexport function Suggest() {\n const provider: ISearchProvider | null = useProvider();\n const suggest = useRef<SearchSuggestApi>(null);\n const isSearchHidden = useInterface('search');\n\n const onFocus = useCallback(() => {\n updateRootClassName({focusSearch: true});\n }, []);\n\n const onBlur = useCallback(() => {\n updateRootClassName({focusSearch: false});\n setTimeout(() => {\n if (suggest.current) {\n suggest.current.close();\n }\n }, 100);\n }, []);\n\n if (!provider || isSearchHidden) {\n return null;\n }\n\n return (\n <SearchSuggest\n ref={suggest}\n provider={provider}\n onFocus={onFocus}\n onBlur={onBlur}\n endContent={<SearchButton />}\n className={b('input')}\n classNameContainer={b()}\n classNameClose={b('close')}\n closeButton={true}\n />\n );\n}\n","import type {ISearchProvider} from '@diplodoc/components';\n\nimport {useContext, useEffect, useMemo, useState} from 'react';\n\nimport {RouterContext, SearchContext} from '../index';\nimport {useLang} from '../../hooks/useLang';\n\nimport {createProvider} from './provider';\n\nexport function useProvider() {\n const lang = useLang();\n const {depth = 0} = useContext(RouterContext);\n const search = useContext(SearchContext);\n const [provider, setProvider] = useState<ISearchProvider | null>(null);\n\n const config = useMemo(() => {\n if (!search) {\n return null;\n }\n\n return {\n ...search,\n depth,\n lang,\n };\n }, [lang, depth, search]);\n\n useEffect(() => {\n if (config) {\n setProvider(createProvider(config));\n }\n }, [config]);\n\n return provider;\n}\n","import type {AvailableLangs, Lang, LangOptions, TextSizes, Theme} from '@diplodoc/components';\n\nimport React, {memo} from 'react';\nimport {ControlSizes, Controls, ControlsLayout} from '@diplodoc/components';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype OnChangeCallback = (value: any) => void;\n\nexport type Props = {\n mobileView: boolean;\n\n theme: Theme;\n onChangeTheme: OnChangeCallback;\n textSize: TextSizes;\n onChangeTextSize: OnChangeCallback;\n wideFormat: boolean;\n onChangeWideFormat: OnChangeCallback;\n showMiniToc: boolean;\n onChangeShowMiniToc: OnChangeCallback;\n lang: Lang | `${Lang}`;\n langs: (Lang | `${Lang}`)[];\n onChangeLang?: (lang: `${Lang}` | Lang, options?: LangOptions) => void;\n availableLangs?: AvailableLangs;\n};\n\nexport const HeaderControls = memo<Props>(\n ({\n mobileView,\n\n theme,\n onChangeTheme,\n\n textSize,\n onChangeTextSize,\n\n wideFormat,\n onChangeWideFormat,\n\n showMiniToc,\n onChangeShowMiniToc,\n\n lang,\n langs,\n onChangeLang,\n\n availableLangs = [],\n }) => {\n return (\n <ControlsLayout\n controlClassName={'Control'}\n controlSize={ControlSizes.L}\n isWideView={mobileView}\n isMobileView={mobileView}\n >\n <Controls\n className={'Controls'}\n theme={theme}\n onChangeTheme={onChangeTheme}\n wideFormat={wideFormat}\n onChangeWideFormat={onChangeWideFormat}\n showMiniToc={showMiniToc}\n onChangeShowMiniToc={onChangeShowMiniToc}\n textSize={textSize}\n onChangeTextSize={onChangeTextSize}\n lang={lang}\n langs={langs}\n onChangeLang={onChangeLang}\n availableLangs={availableLangs}\n />\n </ControlsLayout>\n );\n },\n);\n\nHeaderControls.displayName = 'HeaderControls';\n","import type {ReactNode} from 'react';\nimport type {NavigationData, NavigationItemModel} from '@gravity-ui/page-constructor';\nimport type {DocBasePageData} from '@diplodoc/components';\nimport type {WithNavigation} from '../App';\nimport type {Props as HeaderControlsProps} from '../HeaderControls';\n\nimport React, {useMemo} from 'react';\nimport {ControlSizes, CustomNavigation, MobileDropdown} from '@diplodoc/components';\n\nimport {HEADER_HEIGHT} from '../../constants';\nimport {useRouter, useSearch} from '../';\n\nfunction findItem(right: NavigationItemModel[], left: NavigationItemModel[], type: string) {\n return right.some((item) => item.type === type) || left.some((item) => item.type === type);\n}\n\ntype NavigationDataWithOptionalLogo = Omit<NavigationData, 'logo'> & {\n logo?: NavigationData['logo'];\n};\n\nconst EmptyNavigation = {} as NavigationData;\nconst EmptyHeader = {} as NavigationData['header'];\nconst EmptyLeftItems = [] as NavigationItemModel[];\nconst EmptyRightItems = [] as NavigationItemModel[];\n\nexport const useNavigation = (\n data: DocBasePageData<WithNavigation>,\n controls: HeaderControlsProps,\n CustomControls: () => ReactNode,\n CustomSuggest: () => ReactNode,\n viewerInterface?: Record<string, boolean>,\n) => {\n const {toc} = data;\n const navigation = toc.navigation || EmptyNavigation;\n const {header = EmptyHeader, logo} = navigation as NavigationDataWithOptionalLogo;\n const {leftItems = EmptyLeftItems, rightItems = EmptyRightItems} =\n header as NavigationData['header'];\n\n const withControls = findItem(rightItems, leftItems, 'controls');\n const withSearch = findItem(rightItems, leftItems, 'search');\n\n const search = useSearch();\n const router = useRouter();\n\n if (search && !withSearch) {\n rightItems.unshift({type: 'search'} as unknown as NavigationItemModel);\n }\n\n const navigationData = useMemo(\n () => ({\n withBorder: true,\n leftItems: leftItems,\n rightItems: rightItems,\n customMobileHeaderItems: [{type: 'search'} as unknown as NavigationItemModel],\n }),\n [leftItems, rightItems],\n );\n const navigationTocData = useMemo(\n () => ({\n toc,\n router,\n headerHeight: HEADER_HEIGHT,\n }),\n [toc, router],\n );\n const mobileControlsData = useMemo(\n () => ({\n controlSize: ControlSizes.L,\n userSettings: controls,\n viewerInterface,\n }),\n [controls, viewerInterface],\n );\n\n const layout = useMemo(\n () =>\n EmptyNavigation === navigation\n ? undefined\n : {\n header: {\n leftItems: [],\n },\n renderNavigation: () => (\n <CustomNavigation\n logo={{...logo, icon: logo?.icon ?? ''}}\n data={navigationData}\n navigationTocData={navigationTocData}\n mobileControlsData={mobileControlsData}\n />\n ),\n logo: {...logo, icon: logo?.icon ?? ''},\n },\n [navigationData, navigationTocData, mobileControlsData, logo, navigation],\n );\n\n const config = useMemo(\n () => ({\n custom: {\n search: CustomSuggest,\n controls: CustomControls,\n MobileDropdown: MobileDropdown,\n },\n layout,\n withControls,\n }),\n [CustomSuggest, CustomControls, layout, withControls],\n );\n\n return config;\n};\n","import type {AppProps, DocContentPageData, PageData} from './index';\nimport type {Settings} from '../../utils';\nimport type {DocBasePageData} from '@diplodoc/components';\nimport type {Props as HeaderControlsProps} from '../HeaderControls';\n\nimport React, {useCallback, useMemo} from 'react';\nimport {PageConstructor, PageConstructorProvider} from '@gravity-ui/page-constructor';\nimport {getPageByType, getPageType} from '@diplodoc/components';\n\nimport {Layout} from '../Layout';\nimport {ConstructorPage} from '../ConstructorPage';\nimport {useContent} from '../ConstructorPage/useContent';\nimport {Suggest} from '../Search/Suggest';\nimport {HeaderControls} from '../HeaderControls';\nimport {useNavigation} from '../ConstructorPage/useNavigation';\n\ntype PageProps<T extends {} = {}> = {\n data: DocBasePageData<T> & PageData;\n props: {\n router: AppProps['router'];\n } & Settings;\n controls: HeaderControlsProps;\n};\n\nexport function Page({data, props, controls}: PageProps) {\n const {theme, fullScreen} = props;\n const type = getPageType(data);\n const Page = getPageByType(type);\n\n const CustomSuggest = useCallback(() => <Suggest />, []);\n const CustomControls = useCallback(() => <HeaderControls {...controls} />, [controls]);\n const navigation = useNavigation(data, controls, CustomControls, CustomSuggest);\n\n const CustomPage = useCallback(\n () => (\n <Layout headerHeight={fullScreen || !navigation.layout ? 0 : 64}>\n <Layout.Content>\n {/*@ts-ignore*/}\n <Page\n {...data}\n {...props}\n {...(navigation.withControls\n ? filterControls(controls, [\n 'theme',\n 'onChangeTheme',\n 'textSize',\n 'onChangeTextSize',\n 'wideFormat',\n 'onChangeWideFormat',\n 'showMiniToc',\n 'onChangeShowMiniToc',\n 'langs',\n 'onChangeLang',\n ])\n : controls)}\n >\n <ConstructorPage {...(data as DocContentPageData).data} />\n </Page>\n </Layout.Content>\n </Layout>\n ),\n [data, navigation, props, controls, fullScreen, Page],\n );\n const content = useContent(data as DocContentPageData, CustomPage);\n\n const custom = useMemo(\n () => ({\n navigation: navigation.custom,\n blocks: content.custom,\n }),\n [navigation, content],\n );\n\n return (\n <PageConstructorProvider\n theme={theme}\n projectSettings={{disableCompress: true}}\n ssrConfig={{\n isServer: Boolean(process.env.BROWSER),\n }}\n >\n <PageConstructor\n custom={custom}\n content={content.layout}\n navigation={fullScreen ? undefined : navigation.layout}\n />\n </PageConstructorProvider>\n );\n}\n\nfunction filterControls(controls: HeaderControlsProps, omitProps: string[]) {\n return Object.keys(controls).reduce(\n (acc, key) => {\n if (!omitProps.includes(key)) {\n acc[key] = controls[key as keyof HeaderControlsProps];\n }\n\n return acc;\n },\n {} as Record<string, unknown>,\n ) as Partial<HeaderControlsProps>;\n}\n","import React from 'react';\nimport {MermaidRuntime} from '@diplodoc/mermaid-extension/react';\nimport {LatexRuntime} from '@diplodoc/latex-extension/react';\nimport {Runtime as OpenapiSandbox} from '@diplodoc/openapi-extension/runtime';\nimport {Theme} from '@diplodoc/components';\nimport {useTheme} from '@gravity-ui/uikit';\nimport {TabsRuntime} from '@diplodoc/tabs-extension/react';\nimport {PageConstructorRuntime} from '@diplodoc/page-constructor-extension/react';\n\nexport function Runtime() {\n const theme = useTheme();\n\n return (\n <>\n <OpenapiSandbox />\n <LatexRuntime />\n <MermaidRuntime\n theme={theme === Theme.Dark ? 'dark' : 'neutral'}\n zoom={{\n showMenu: true,\n bindKeys: true,\n }}\n />\n <TabsRuntime saveTabsToLocalStorage={true} saveTabsToQueryStateMode=\"page\" />\n <PageConstructorRuntime />\n </>\n );\n}\n","import type {PageData} from './index';\nimport type {ExtendedLang, Lang} from '@diplodoc/components';\n\nimport {isExternalHref} from '@diplodoc/components';\nimport {useMemo} from 'react';\n\nexport type Langs = (`${Lang}` | Lang | ExtendedLang)[];\n\nexport function hasLang(l: string, langs: Langs): boolean {\n return langs.some((cfg) => (typeof cfg === 'string' ? cfg === l : cfg.lang === l));\n}\n\nexport function useAvailableLangs(data: PageData, langs: Langs) {\n return useMemo(() => {\n if (!('meta' in data)) {\n return [];\n }\n\n const {canonical, alternate = []} = data.meta;\n\n if (!canonical) {\n return [];\n }\n\n const langsSet = new Set<Lang>();\n\n const [canonicalLang] = canonical.split('/');\n\n if (hasLang(canonicalLang, langs)) {\n langsSet.add(canonicalLang as Lang);\n }\n\n for (const alt of alternate) {\n const href = alt.href;\n\n if (!href || isExternalHref(href)) {\n continue;\n }\n\n const [altLang] = href.split('/');\n\n if (hasLang(altLang, langs)) {\n langsSet.add(altLang as Lang);\n }\n }\n\n return Array.from(langsSet);\n }, [data, langs]);\n}\n","import type {RenderBodyHook} from '@diplodoc/components';\n\nimport React, {useCallback, useRef} from 'react';\nimport {type MdxArtifacts, type UseMdxSsrProps, useMdxSsr} from '@diplodoc/mdx-extension';\n\nexport type WithMdxInitProps = Pick<UseMdxSsrProps, 'components' | 'pureComponents'>;\n\nexport const withMdxInit = ({components, pureComponents}: WithMdxInitProps) => {\n const withMdx: RenderBodyHook = (Component) => {\n return function MdxWrapper(props) {\n const {forwardRef, mdxArtifacts, html} = props;\n const refCtr = useRef<HTMLDivElement | null>(null);\n refCtr.current = null;\n\n const forwardRefWrap = useCallback(\n (v: HTMLDivElement) => {\n refCtr.current = v;\n return forwardRef(v);\n },\n [forwardRef],\n );\n\n const node = useMdxSsr({\n refCtr,\n components,\n pureComponents,\n mdxArtifacts: mdxArtifacts as MdxArtifacts | undefined,\n html,\n });\n\n return React.createElement(\n React.Fragment,\n null,\n React.createElement(Component, {...props, forwardRef: forwardRefWrap}),\n node,\n );\n };\n };\n return withMdx;\n};\n","import type {NavigationData, PageContent} from '@gravity-ui/page-constructor';\nimport type {Props as HeaderControlsProps} from '../HeaderControls';\nimport type {SearchConfig} from '../Search';\nimport type {RouterConfig} from '../Router';\nimport type {ReactElement} from 'react';\nimport type {\n DocContentPageData as DocContentPageDataBase,\n DocLeadingPageData,\n DocPageData,\n RenderBodyHook,\n} from '@diplodoc/components';\n\nimport React, {useEffect, useMemo} from 'react';\nimport {ThemeProvider} from '@gravity-ui/uikit';\nimport {\n ConsentPopup,\n InterfaceProvider,\n Lang,\n RenderBodyHooksContext,\n SUPPORTED_LANGS,\n Widgets,\n configure,\n} from '@diplodoc/components';\nimport '@diplodoc/transform/dist/js/yfm';\n\nimport {SearchProvider} from '../Search';\nimport {RouterProvider} from '../Router';\nimport {\n getDirection,\n getLandingPage,\n scrollToHash,\n updateRootClassName,\n updateThemeClassName,\n} from '../../utils';\nimport {LangProvider} from '../../hooks/useLang';\nimport {useFeedback} from '../../hooks/useFeedback';\nimport '../../interceptors/leading-page-links';\n\nimport {Page} from './Page';\nimport {Runtime} from './Runtime';\nimport {useLangs} from './useLangs';\nimport {useSettings} from './useSettings';\nimport {useMobile} from './useMobile';\nimport {useAvailableLangs} from './useAvailableLangs';\nimport {withMdxInit} from './withMdxInit';\nimport './App.scss';\n\nexport type DocAnalytics = {\n gtm?: {\n id?: string;\n mode?: 'base' | 'notification';\n };\n};\n\nexport type FeedbackConfig = {\n url?: string;\n};\n\nexport interface AppProps {\n lang: `${Lang}` | Lang;\n langs: (`${Lang}` | Lang)[];\n router: RouterConfig;\n search?: SearchConfig;\n analytics?: DocAnalytics;\n feedback?: FeedbackConfig;\n viewerInterface?: Record<string, boolean>;\n}\n\nexport type WithNavigation = {\n navigation?: NavigationData;\n};\n\nexport type DocContentPageData = DocContentPageDataBase<PageContent>;\n\nexport type PageData = DocPageData | DocLeadingPageData | DocContentPageData;\n\nexport type DocInnerProps<Data extends PageData = PageData> = {\n data: Data;\n} & AppProps;\n\nexport type {DocLeadingPageData, DocPageData};\n\nexport function App(props: DocInnerProps): ReactElement {\n const {data, router, lang, langs, search, analytics, feedback, viewerInterface} = props;\n const settings = useSettings();\n const langData = useLangs(props);\n const mobileView = useMobile();\n const availableLangs = useAvailableLangs(data, langs) as (`${Lang}` | Lang)[];\n const fixedLang = SUPPORTED_LANGS.includes(lang) ? lang : Lang.En;\n\n configure({\n lang: fixedLang,\n localeCode: fixedLang,\n });\n\n const renderHooks = useMemo(() => {\n const hooks: RenderBodyHook[] = [];\n const getMdxInitProps = global && 'getMdxInitProps' in global && global.getMdxInitProps;\n if (typeof getMdxInitProps === 'function') {\n hooks.push(withMdxInit(getMdxInitProps({dependencies: {react: React}})));\n }\n return hooks;\n }, []);\n\n const {theme, textSize, wideFormat, fullScreen, showMiniToc} = settings;\n\n const onSendFeedback = useFeedback({\n feedbackUrl: feedback?.url,\n router,\n viewerInterface,\n });\n\n const page = useMemo(\n () => ({\n router,\n theme,\n textSize,\n wideFormat,\n fullScreen,\n showMiniToc,\n isMobile: mobileView,\n }),\n [router, theme, textSize, wideFormat, fullScreen, showMiniToc, mobileView],\n );\n const controls: HeaderControlsProps = useMemo(\n () => ({\n ...settings,\n ...langData,\n mobileView,\n availableLangs,\n onSendFeedback,\n }),\n [langData, settings, mobileView, availableLangs, onSendFeedback],\n );\n const direction = getDirection(lang);\n const landingPage = getLandingPage(data);\n\n useEffect(() => {\n updateRootClassName({mobileView, wideFormat, fullScreen, landingPage});\n updateThemeClassName({theme});\n scrollToHash();\n }, [theme, mobileView, wideFormat, fullScreen, landingPage, lang]);\n\n return (\n <div className=\"App\">\n <ThemeProvider theme={theme} direction={direction}>\n <LangProvider value={lang}>\n <RouterProvider value={router}>\n <SearchProvider value={search}>\n <InterfaceProvider interface={viewerInterface || {}}>\n <RenderBodyHooksContext.Provider value={renderHooks}>\n <Page data={data} props={page} controls={controls} />\n </RenderBodyHooksContext.Provider>\n {analytics && (\n <ConsentPopup\n router={router}\n gtmId={analytics?.gtm?.id || ''}\n consentMode={analytics?.gtm?.mode}\n />\n )}\n <Widgets />\n <Runtime />\n </InterfaceProvider>\n </SearchProvider>\n </RouterProvider>\n </LangProvider>\n </ThemeProvider>\n </div>\n );\n}\n","import type {AppProps} from './index';\nimport type {Lang, LangOptions} from '@diplodoc/components';\n\nimport {useCallback, useMemo} from 'react';\n\nimport {getDomainPath, getLangPath} from '../../utils';\n\nexport function useLangs({lang, langs}: AppProps) {\n const onChangeLang = useCallback((newLang: `${Lang}` | Lang, options?: LangOptions) => {\n const {tld, href} = options || {};\n\n if (href) {\n window.location.href = href;\n\n return;\n }\n\n const url = window.location.href;\n\n if (tld) {\n window.location.replace(getDomainPath(newLang, tld, url));\n } else {\n window.location.replace(getLangPath(newLang, url));\n }\n }, []);\n\n return useMemo(\n () => ({\n lang,\n langs,\n onChangeLang,\n }),\n [lang, langs, onChangeLang],\n );\n}\n","import {useCallback, useEffect, useState} from 'react';\n\nimport {getMobileView} from '../../utils';\n\nexport function useMobile() {\n const [mobileView, setMobileView] = useState<boolean>(getMobileView());\n\n const onResizeHandler = useCallback(() => {\n setMobileView(getMobileView());\n }, []);\n\n useEffect(onResizeHandler, [onResizeHandler]);\n\n useEffect(() => {\n window.addEventListener('resize', onResizeHandler);\n\n return () => window.removeEventListener('resize', onResizeHandler);\n }, [onResizeHandler]);\n\n return mobileView;\n}\n","import type {FeedbackSendData} from '@diplodoc/components';\nimport type {RouterConfig} from '../components/Router';\n\nimport {useCallback} from 'react';\n\ninterface UseFeedbackOptions {\n feedbackUrl?: string;\n router: RouterConfig;\n viewerInterface?: Record<string, boolean>;\n}\n\nexport function useFeedback({feedbackUrl, router, viewerInterface}: UseFeedbackOptions) {\n const onSendFeedback = useCallback(\n (data: FeedbackSendData) => {\n if (!feedbackUrl) {\n return;\n }\n\n fetch(feedbackUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n ...data,\n page: router.pathname,\n timestamp: new Date().toISOString(),\n }),\n }).catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Failed to send feedback:', error);\n });\n },\n [feedbackUrl, router.pathname],\n );\n\n const isFeedbackEnabled = viewerInterface?.feedback !== false;\n return feedbackUrl && isFeedbackEnabled ? onSendFeedback : undefined;\n}\n","import type {DocAnalytics, DocInnerProps, DocLeadingPageData, DocPageData} from './components/App';\n\nimport React from 'react';\nimport {createRoot, hydrateRoot} from 'react-dom/client';\n\nimport {App} from './components/App';\nimport {setRootClasses} from './interceptors/fast-class-applier';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData, DocAnalytics};\nexport type {\n SearchConfig as ISearchProviderConfig,\n WorkerConfig as ISearchWorkerConfig,\n WorkerApi as ISearchWorkerApi,\n} from './components/Search';\n\nconst root = document.getElementById('root');\nconst data = window.__DATA__;\n\nif (!root) {\n throw new Error('Root element not found!');\n}\n\nfunction isDocInnerProps(obj: unknown): obj is DocInnerProps {\n return Boolean(obj) && typeof obj === 'object' && obj !== null && 'data' in obj;\n}\n\nif (!isDocInnerProps(data)) {\n throw new Error('Invalid data format for App component');\n}\n\nconst props = data as DocInnerProps;\nsetRootClasses(props);\n\nif (window.STATIC_CONTENT) {\n hydrateRoot(root, <App {...props} />);\n} else {\n createRoot(root).render(<App {...props} />);\n}\n","(function () {\n /**\n * Element.matches() polyfill.\n * @link https://developer.mozilla.org/ru/docs/Web/API/Element/matches\n */\n if (typeof Element !== 'undefined') {\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function (selector) {\n const th = this;\n return Array.prototype.some.call(document.querySelectorAll(selector), (el) => {\n return el === th;\n });\n };\n }\n })(Element.prototype);\n }\n})();\n","export default function () {}\n","// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n __webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => { def[key] = () => (value[key]) });\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","// This function allow to reference chunks\n__webpack_require__.k = (chunkId) => {\n // return url for filenames not based on template\n \n // return url for filenames based on template\n return \"\" + chunkId + \".css\"\n}","// This function allow to reference chunks\n__webpack_require__.u = (chunkId) => {\n // return url for filenames not based on template\n \n // return url for filenames based on template\n return \"\" + chunkId + \"-\" + \"504c3782d2b3e0db\" + \".js\"\n}","__webpack_require__.g = (() => {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n module.paths = [];\n if (!module.children) module.children = [];\n return module;\n};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif (chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor (var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--)\n\t\t\tdeferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif (\n\t\t\t\t(priority & (1 === 0) || notFulfilled >= priority) &&\n\t\t\t\tObject.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))\n\t\t\t) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif (priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif (fulfilled) {\n\t\t\tdeferred.splice(i--, 1);\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};\n","__webpack_require__.rv = () => (\"1.4.11\")","__webpack_require__.j = \"387\";","var scriptUrl;\n\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n // Technically we could use `document.currentScript instanceof window.HTMLScriptElement`,\n // but an attacker could try to inject `<script>HTMLScriptElement = HTMLImageElement</script>`\n // and use `<img name=\"currentScript\" src=\"https://attacker.controlled.server/\"></img>`\n if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') scriptUrl = document.currentScript.src;\n if (!scriptUrl) {\n var scripts = document.getElementsByTagName(\"script\");\n if (scripts.length) {\n var i = scripts.length - 1;\n while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n }\n }\n}\n\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\",\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.',\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl","__webpack_require__.b = document.baseURI || self.location.href;\n\n // object to store loaded and loading chunks\n // undefined = chunk not loaded, null = chunk preloaded/prefetched\n // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\n var installedChunks = {\"387\": 0,};\n __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif (chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor (moduleId in moreModules) {\n\t\t\tif (__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif (runtime) var result = runtime(__webpack_require__);\n\t}\n\tif (parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor (; i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif (\n\t\t\t__webpack_require__.o(installedChunks, chunkId) &&\n\t\t\tinstalledChunks[chunkId]\n\t\t) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunk_diplodoc_client\"] = self[\"webpackChunk_diplodoc_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\n","__webpack_require__.ruid = \"bundler=rspack@1.4.11\";\n"],"names":["TextDirection","_getSettings","theme","wideFormat","fullScreen","RouterContext","createContext","RouterProvider","LangContext","Lang","LangProvider","DEFAULT_USER_SETTINGS","Theme","TextSizes","RTL_LANGS","isBrowser","document","updateThemeClassName","param","el","updateRootClassName","states","toggle","name","state","Boolean","Object","Set","LINK_KEYS_LEADING_CONFIG","toBoolean","str","getSettings","getSetting","textSize","showMiniToc","getLandingPage","data","getPageType","getMobileView","sessionStorage","getLangPath","lang","href","isLocal","newPath","path","useSetting","settings","_useState","setting","setSetting","onChangeSetting","useMemo","settingName","onChange","value","String","_obj","string","ch","DefaultSearchProvider","config","worker","match","url","blob","Worker","URL","error","_instanceof","DOMException","BAD_ORIGIN_ERROR","Blob","request","query","page","buildSearchLink","base","searchParams","URLSearchParams","params","suggest","search","count","window","request1","message","channel","MessageChannel","Promise","resolve","reject","block","SearchContext","SearchProvider","b","Header","Content","Footer","defaults","Layout","props","header","content","footer","_$_object_spread","children","doc","headerHeight","React","child","bPC","bPCRow","ConstructorRow","Row","Col","ConstructorPage","background","blocks","useTheme","themedBackground","getThemedValue","BackgroundMedia","Grid","ConstructorBlocks","useContent","CustomPage","type","DocumentType","layout","SearchButton","Icon","Magnifier","Suggest","depth","provider","setProvider","useContext","_useContext","useEffect","useRef","isSearchHidden","useInterface","onFocus","useCallback","onBlur","setTimeout","SearchSuggest","HeaderControls","memo","mobileView","onChangeTheme","onChangeTextSize","onChangeWideFormat","onChangeShowMiniToc","langs","onChangeLang","availableLangs","ControlsLayout","ControlSizes","Controls","findItem","right","left","item","EmptyNavigation","EmptyHeader","EmptyLeftItems","EmptyRightItems","useNavigation","controls","CustomControls","CustomSuggest","viewerInterface","toc","navigation","c","logo","leftItems","rightItems","withControls","withSearch","router","navigationData","navigationTocData","mobileControlsData","_logo_icon","undefined","CustomNavigation","MobileDropdown","Page","getPageByType","omitProps","acc","key","custom","PageConstructorProvider","process","PageConstructor","Runtime","OpenapiSandbox","LatexRuntime","MermaidRuntime","TabsRuntime","PageConstructorRuntime","hasLang","l","cfg","withMdxInit","components","pureComponents","Component","forwardRef","mdxArtifacts","html","refCtr","forwardRefWrap","v","node","useMdxSsr","App","setMobileView","onResizeHandler","feedbackUrl","onSendFeedback","isFeedbackEnabled","_analytics_gtm","_analytics_gtm1","analytics","feedback","langData","newLang","options","_ref","tld","dotPos","_data_meta","canonical","alternate","langsSet","canonicalLang","_canonical_split","_iteratorError","alt","isExternalHref","altLang","_href_split","Array","fixedLang","SUPPORTED_LANGS","configure","renderHooks","hooks","getMdxInitProps","global","fetch","JSON","Date","console","direction","isRTL","landingPage","scrollToHash","hash","element","isDetailsTag","scrollToElement","rect","offset","offsetPosition","elementPosition","ThemeProvider","InterfaceProvider","RenderBodyHooksContext","ConsentPopup","Widgets","root","Error","_type_of","obj","hydrateRoot","createRoot","e","matches","Element","selector","th","globalThis","Function","Symbol","i","self"],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  "444-504c3782d2b3e0db.js"
6
6
  ],
7
7
  "js": [
8
- "search-df24dd819915a228.js",
8
+ "search-c50badbbac7436bd.js",
9
9
  "vendor-e69d71e99c7f296b.js",
10
10
  "react-23c48c44d4a3ad02.js"
11
11
  ],
@@ -25,7 +25,7 @@
25
25
  "js": [
26
26
  "vendor-e69d71e99c7f296b.js",
27
27
  "react-23c48c44d4a3ad02.js",
28
- "app-f94acb83de1926b6.js"
28
+ "app-e70f636e61ffb694.js"
29
29
  ],
30
30
  "css": [
31
31
  "vendor-f45110f7db3ac665.css",
@@ -1,2 +1,2 @@
1
- (()=>{var e={90101:function(){var e,t;"undefined"!=typeof Element&&((t=(e=Element.prototype).matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector)?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),function(e){return e===t})})},74339:function(e,t,n){"use strict";var r,o=n(7409),i=n(85893),a=n(67294),c=n(20745),u=n(13065),s=n(8534),l=n(53816),d=n(369),f=(0,a.createContext)({pathname:"/",depth:0});f.displayName="RouterContext";var h=f.Provider,p=(0,a.createContext)(s.Uo.En);p.displayName="Lang";var v=p.Provider,g=n(55210),m={theme:s.Q2.Light,textSize:s.tF.M,showMiniToc:!0,wideFormat:!0,fullScreen:!1},w=["ar","arc","ckb","dv","fa","ha","he","khw","ks","ps","sd","ur","uz_AF","yi"],y=((r={}).RTL="rtl",r.LTR="ltr",r);function b(){return"undefined"!=typeof document}(0,g._)(new Set((0,g._)(["href"]).concat((0,g._)(["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"]))));var _=function(e){return"boolean"==typeof e?e:!!e&&"true"===e};function S(){return!!b()&&document.body.clientWidth<769}function x(e){if(!b())return m[e];try{return sessionStorage.getItem(e)||m[e]}catch(t){return m[e]}}var k=n(27412),C=n(24460);function j(e,t){var n=(0,C._)((0,a.useState)(t[e]),2),r=n[0],o=n[1],i=(0,a.useMemo)(function(){var t,n;return t=e,n=o,function(e){if(b())try{sessionStorage.setItem(t,String(e))}catch(e){}n(e)}},[e,o]);return(0,a.useMemo)(function(){var t;return t={},(0,k._)(t,e,r),(0,k._)(t,"onChange"+e.replace(/^./,function(e){return e.toUpperCase()}),i),t},[e,r,i])}var L=n(21890),M=n(22853),E=n(99282);n(68648),n(90101),n(57276),n(12646);var O=(0,M.default)("Layout");function T(){return null}function P(){return null}function N(){return null}var R={doc:!1},F=function(e){var t,n,r,c=(0,o._)({},R,e),u=c.children,s=c.doc,l=c.headerHeight;return a.Children.forEach(u,function(e){switch(e.type){case T:t=e.props.children;break;case P:n=e.props.children;break;case N:r=e.props.children}}),(0,i.jsxs)("div",{className:O({"full-header":(void 0===l?0:l)>0}),children:[t&&(0,i.jsx)("div",{className:O("header"),children:t}),(0,i.jsxs)("div",{className:O("body"),children:[n&&(0,i.jsx)("div",{className:O("content"),children:n}),r&&(0,i.jsx)("div",{className:O("footer",{doc:s}),children:r})]})]})};F.displayName="Layout",F.Header=T,F.Content=P,F.Footer=N,(0,M.default)("pc-page-constructor"),(0,M.default)("pc-constructor-row"),n(5122),(0,M.default)("Suggest");var q=n(69609),z=n(24426);(0,a.memo)(function(e){var t=e.mobileView,n=e.theme,r=e.onChangeTheme,o=e.textSize,a=e.onChangeTextSize,c=e.wideFormat,u=e.onChangeWideFormat,l=e.showMiniToc,d=e.onChangeShowMiniToc,f=e.lang,h=e.langs,p=e.onChangeLang,v=e.availableLangs;return(0,i.jsx)(q.C,{controlClassName:"Control",controlSize:s.$D.L,isWideView:t,isMobileView:t,children:(0,i.jsx)(z.Z,{className:"Controls",theme:n,onChangeTheme:r,wideFormat:c,onChangeWideFormat:u,showMiniToc:l,onChangeShowMiniToc:d,textSize:o,onChangeTextSize:a,lang:f,langs:h,onChangeLang:p,availableLangs:void 0===v?[]:v})})}).displayName="HeaderControls",n(91398),n(17344),n(87767),n(34952),n(76638),n(65333);var U=n(76150),A=n(43830),I=n(52062),W=n(41196),J=n(28395),V=function(){function e(t){var r=this,i=this;(0,A._)(this,e),(0,k._)(this,"worker",void 0),(0,k._)(this,"config",void 0),(0,k._)(this,"init",function(){var e;e=(0,E._)((0,o._)({},r.config),{base:r.base,mark:"Suggest__Item__Marker"}),r.worker=(0,U._)(function(){var t;return(0,J.Jh)(this,function(r){switch(r.label){case 0:return[4,(0,U._)(function(){var e,t,r;return(0,J.Jh)(this,function(o){try{return[2,new Worker(new URL(n.p+n.u("444"),n.b))]}catch(n){if((0,W._)(n,DOMException)&&(e=$.exec(n.message)))return t=e[1],r=new Blob(["importScripts('".concat(t,"');")],{type:"text/javascript"}),[2,new Worker(URL.createObjectURL(r))];throw n}})})()];case 1:return[4,B(t=r.sent(),(0,E._)((0,o._)({},e),{type:"init"}))];case 2:return r.sent(),[2,t]}})})()}),(0,k._)(this,"link",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=new URLSearchParams;n&&o.set("query",n),r>1&&o.set("page",r.toString());var i=o.toString()?"?".concat(o.toString()):"";return"".concat(e,"/").concat(t.link).concat(i)}(i.base,i.config,e,t)}),this.config=t}return(0,I._)(e,[{key:"suggest",value:function(e){return(0,U._)(function(){return(0,J.Jh)(this,function(t){return[2,this.request({type:"suggest",query:e})]})}).call(this)}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return(0,U._)(function(){return(0,J.Jh)(this,function(r){return[2,this.request({type:"search",query:e,page:t,count:n})]})}).call(this)}},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:function(e){return(0,U._)(function(){return(0,J.Jh)(this,function(t){switch(t.label){case 0:return[4,this.worker];case 1:return[2,B.apply(void 0,[t.sent(),e])]}})}).call(this)}}]),e}(),$=/Script at '(.*?)' cannot be accessed from origin/;function B(e,t){var n=new MessageChannel;return new Promise(function(r,o){n.port1.onmessage=function(e){e.data.error?o(e.data.error):r(e.data.result)},n.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[n.port2])})}n(10932);var D=(0,M.default)("Search");function H(e,t){var n=new URLSearchParams;e&&n.set("query",e),t>1&&n.set("page",String(t)),window.history.pushState({},"","?".concat(n.toString()))}var Z=function(){var e,t,n,r,c,u,s,l,d=(e=(0,a.useContext)(p),n=void 0===(t=(0,a.useContext)(f).depth)?0:t,r=(0,a.useContext)(Q),u=(c=(0,C._)((0,a.useState)(null),2))[0],s=c[1],l=(0,a.useMemo)(function(){return r?(0,E._)((0,o._)({},r),{depth:n,lang:e}):null},[e,n,r]),(0,a.useEffect)(function(){l&&s(l?new V(l):null)},[l]),u),h=(0,a.useContext)(f),v=(0,C._)((0,a.useState)(""),2),g=v[0],m=v[1],w=(0,C._)((0,a.useState)(1),2),y=w[0],b=w[1],_=(0,C._)((0,a.useState)([]),2),S=_[0],x=_[1],k=(0,C._)((0,a.useState)(0),2),j=k[0],M=k[1],O=(0,C._)((0,a.useState)(!1),2),T=O[0],P=O[1],N=(0,a.useRef)(null);(0,a.useEffect)(function(){var e;N.current=d,null==d||null==(e=d.init)||e.call(d)},[d]),(0,a.useEffect)(function(){var e,t={query:(e=new URLSearchParams(window.location.search)).get("query")||"",page:Number(e.get("page"))||1},n=t.query,r=t.page;m(n),b(r)},[h]),(0,a.useEffect)(function(){g&&N.current?(P(!0),N.current.search(g,y,10).then(function(e){var t,n=e.items,r=e.total;x(Array.isArray(t=null!=n?n:[])?t.map(function(e){var t,n,r;return{title:(null==e?void 0:e.title)||(null==e||null==(t=e.hierarchy)?void 0:t.lvl0)||(null==e||null==(n=e.hierarchy)?void 0:n.lvl1)||"",url:(null==e?void 0:e.url)||(null==e?void 0:e.link)||"#",description:(null==e?void 0:e.description)||(null==e?void 0:e.content)||(null==e?void 0:e.text)||"",section:(null==e?void 0:e.section)||(null==e||null==(r=e.hierarchy)?void 0:r.lvl1)||""}}):[]),M(r)}).catch(function(){x([]),M(0)}).finally(function(){return P(!1)})):(x([]),M(0))},[g,y,d]);var R=(0,a.useCallback)(function(e){H(g,e),b(e)},[g]),F=(0,a.useCallback)(function(e){H(e,1),m(e),b(1)},[]);return(0,i.jsx)("div",{className:D(),children:(0,i.jsx)(L.Z,{query:g,items:S,page:y,totalItems:j,onPageChange:R,onSubmit:F,loading:T})})},Q=(0,a.createContext)(null);Q.displayName="SearchContext";var G=Q.Provider,K=document.getElementById("root");if(!K)throw Error("Root element not found!");var X=window.__DATA__,Y=X||{};Y.depth=Y.depth||3;var ee=new URL(window.location.href);(0,c.createRoot)(K).render((0,i.jsx)(function(e){var t,n,r,c,f,p,g,m,k,L,M,E,O,T,P,N=e.data,R=e.url,F=N.search,q=(null==F?void 0:F.lang)||s.Uo.En,z=(g=j("theme",(t=x("theme"),n=x("textSize"),r=x("showMiniToc"),c=x("wideFormat"),f=x("fullScreen"),p={theme:t,textSize:n,showMiniToc:_(r),wideFormat:_(c),fullScreen:_(f)})),m=j("textSize",p),k=j("wideFormat",p),L=j("fullScreen",p),M=j("showMiniToc",p),(0,a.useMemo)(function(){return(0,o._)({},g,m,k,M,L)},[g,m,k,M,L])),U=(O=(E=(0,C._)((0,a.useState)(S()),2))[0],T=E[1],P=(0,a.useCallback)(function(){T(S())},[]),(0,a.useEffect)(P,[P]),(0,a.useEffect)(function(){return window.addEventListener("resize",P),function(){return window.removeEventListener("resize",P)}},[P]),O),A=l.aP.includes(q)?q:s.Uo.En,I=w.includes(A)?y.RTL:y.LTR;(0,d.jQ)({lang:A,localeCode:A});var W={pathname:R.pathname,depth:3},J=z.theme,V=z.wideFormat;return(0,a.useEffect)(function(){var e={mobileView:U,wideFormat:V};if(b()){document.body.classList.add("g-root");var t=function(e,t){return document.body.classList.toggle(e,!!t)};Object.keys(e).forEach(function(n){switch(n){case"wideFormat":t("dc-root_wide-format",e[n]);break;case"focusSearch":t("dc-root_focused-search",e[n]);break;case"fullScreen":t("dc-root_full-screen",e[n]);break;case"landingPage":t("dc-root_document-page",!e[n]),t("dc-root_landing-page",e[n]);break;case"mobileView":t("mobile",e[n]),t("desktop",!e[n])}})}"undefined"!=typeof document&&document.querySelectorAll(".g-root").forEach(function(e){e.classList.toggle("g-root_theme_light","light"===J),e.classList.toggle("g-root_theme_dark","dark"===J)})},[J,U,V]),(0,i.jsx)(u.f,{theme:J,direction:I,children:(0,i.jsx)(v,{value:A,children:(0,i.jsx)(h,{value:W,children:(0,i.jsx)(G,{value:F,children:(0,i.jsx)(Z,{})})})})})},(0,o._)({},{data:X,url:ee})))},86685:function(e,t,n){"use strict";function r(){}n.d(t,{Z:()=>r})},65333:function(e,t,n){"use strict";e.exports={}},12646:function(e,t,n){"use strict";e.exports={}},10932:function(e,t,n){"use strict";e.exports={}},5122:function(e,t,n){"use strict";e.exports={}},18925:function(){},81481:function(){},21361:function(){},49505:function(){},53480:function(){},31337:function(){}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,n.d(i,a),i}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.k=e=>""+e+".css",n.u=e=>""+e+"-504c3782d2b3e0db.js",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=[];n.O=(t,r,o,i)=>{if(r){i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[r,o,i];return}for(var c=1/0,a=0;a<e.length;a++){for(var[r,o,i]=e[a],u=!0,s=0;s<r.length;s++)(!1&i||c>=i)&&Object.keys(n.O).every(e=>n.O[e](r[s]))?r.splice(s--,1):(u=!1,i<c&&(c=i));if(u){e.splice(a--,1);var l=o();void 0!==l&&(t=l)}}return t}})(),n.rv=()=>"1.4.11",n.j="990",(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");n.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{n.b=document.baseURI||self.location.href;var e={990:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var o,i,[a,c,u]=r,s=0;if(a.some(t=>0!==e[t])){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);if(u)var l=u(n)}for(t&&t(r);s<a.length;s++)i=a[s],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(l)},r=self.webpackChunk_diplodoc_client=self.webpackChunk_diplodoc_client||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),n.ruid="bundler=rspack@1.4.11";var r=n.O(void 0,["966","971"],function(){return n(74339)});r=n.O(r)})();
2
- //# sourceMappingURL=search-df24dd819915a228.js.map
1
+ (()=>{var e={90101:function(){var e,t;"undefined"!=typeof Element&&((t=(e=Element.prototype).matches||e.matchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector)?e.matches=e.matchesSelector=t:e.matches=e.matchesSelector=function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),function(e){return e===t})})},91490:function(e,t,n){"use strict";var r,o=n(7409),i=n(85893),a=n(67294),c=n(20745),u=n(13065),s=n(8534),l=n(53816),d=n(369),f=(0,a.createContext)({pathname:"/",depth:0});f.displayName="RouterContext";var h=f.Provider,p=(0,a.createContext)(s.Uo.En);p.displayName="Lang";var v=p.Provider,g=n(55210),m={theme:s.Q2.Light,textSize:s.tF.M,showMiniToc:!0,wideFormat:!0,fullScreen:!1},w=["ar","arc","ckb","dv","fa","ha","he","khw","ks","ps","sd","ur","uz_AF","yi"],y=((r={}).RTL="rtl",r.LTR="ltr",r);function b(){return"undefined"!=typeof document}(0,g._)(new Set((0,g._)(["href"]).concat((0,g._)(["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"]))));var _=function(e){return"boolean"==typeof e?e:!!e&&"true"===e};function S(){return!!b()&&document.body.clientWidth<769}function x(e){if(!b())return m[e];try{return sessionStorage.getItem(e)||m[e]}catch(t){return m[e]}}var k=n(27412),C=n(24460);function j(e,t){var n=(0,C._)((0,a.useState)(t[e]),2),r=n[0],o=n[1],i=(0,a.useMemo)(function(){var t,n;return t=e,n=o,function(e){if(b())try{sessionStorage.setItem(t,String(e))}catch(e){}n(e)}},[e,o]);return(0,a.useMemo)(function(){var t;return t={},(0,k._)(t,e,r),(0,k._)(t,"onChange"+e.replace(/^./,function(e){return e.toUpperCase()}),i),t},[e,r,i])}var L=n(21890),M=n(22853),E=n(99282);n(68648),n(90101),n(57276),n(12646);var O=(0,M.default)("Layout");function T(){return null}function P(){return null}function N(){return null}var R={doc:!1},F=function(e){var t,n,r,c=(0,o._)({},R,e),u=c.children,s=c.doc,l=c.headerHeight;return a.Children.forEach(u,function(e){switch(e.type){case T:t=e.props.children;break;case P:n=e.props.children;break;case N:r=e.props.children}}),(0,i.jsxs)("div",{className:O({"full-header":(void 0===l?0:l)>0}),children:[t&&(0,i.jsx)("div",{className:O("header"),children:t}),(0,i.jsxs)("div",{className:O("body"),children:[n&&(0,i.jsx)("div",{className:O("content"),children:n}),r&&(0,i.jsx)("div",{className:O("footer",{doc:s}),children:r})]})]})};F.displayName="Layout",F.Header=T,F.Content=P,F.Footer=N,(0,M.default)("pc-page-constructor"),(0,M.default)("pc-constructor-row"),n(5122),(0,M.default)("Suggest");var q=n(69609),z=n(24426);(0,a.memo)(function(e){var t=e.mobileView,n=e.theme,r=e.onChangeTheme,o=e.textSize,a=e.onChangeTextSize,c=e.wideFormat,u=e.onChangeWideFormat,l=e.showMiniToc,d=e.onChangeShowMiniToc,f=e.lang,h=e.langs,p=e.onChangeLang,v=e.availableLangs;return(0,i.jsx)(q.C,{controlClassName:"Control",controlSize:s.$D.L,isWideView:t,isMobileView:t,children:(0,i.jsx)(z.Z,{className:"Controls",theme:n,onChangeTheme:r,wideFormat:c,onChangeWideFormat:u,showMiniToc:l,onChangeShowMiniToc:d,textSize:o,onChangeTextSize:a,lang:f,langs:h,onChangeLang:p,availableLangs:void 0===v?[]:v})})}).displayName="HeaderControls",n(91398),n(17344),n(87767),n(34952),n(76638),n(65333);var U=n(76150),A=n(43830),I=n(52062),W=n(41196),J=n(28395),V=function(){function e(t){var r=this,i=this;(0,A._)(this,e),(0,k._)(this,"worker",void 0),(0,k._)(this,"config",void 0),(0,k._)(this,"init",function(){var e;e=(0,E._)((0,o._)({},r.config),{base:r.base,mark:"Suggest__Item__Marker"}),r.worker=(0,U._)(function(){var t;return(0,J.Jh)(this,function(r){switch(r.label){case 0:return[4,(0,U._)(function(){var e,t,r;return(0,J.Jh)(this,function(o){try{return[2,new Worker(new URL(n.p+n.u("444"),n.b))]}catch(n){if((0,W._)(n,DOMException)&&(e=$.exec(n.message)))return t=e[1],r=new Blob(["importScripts('".concat(t,"');")],{type:"text/javascript"}),[2,new Worker(URL.createObjectURL(r))];throw n}})})()];case 1:return[4,B(t=r.sent(),(0,E._)((0,o._)({},e),{type:"init"}))];case 2:return r.sent(),[2,t]}})})()}),(0,k._)(this,"link",function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=new URLSearchParams;n&&o.set("query",n),r>1&&o.set("page",r.toString());var i=o.toString()?"?".concat(o.toString()):"";return"".concat(e,"/").concat(t.link).concat(i)}(i.base,i.config,e,t)}),this.config=t}return(0,I._)(e,[{key:"suggest",value:function(e){return(0,U._)(function(){return(0,J.Jh)(this,function(t){return[2,this.request({type:"suggest",query:e})]})}).call(this)}},{key:"search",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return(0,U._)(function(){return(0,J.Jh)(this,function(r){return[2,this.request({type:"search",query:e,page:t,count:n})]})}).call(this)}},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:function(e){return(0,U._)(function(){return(0,J.Jh)(this,function(t){switch(t.label){case 0:return[4,this.worker];case 1:return[2,B.apply(void 0,[t.sent(),e])]}})}).call(this)}}]),e}(),$=/Script at '(.*?)' cannot be accessed from origin/;function B(e,t){var n=new MessageChannel;return new Promise(function(r,o){n.port1.onmessage=function(e){e.data.error?o(e.data.error):r(e.data.result)},n.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[n.port2])})}n(10932);var D=(0,M.default)("Search");function H(e,t){var n=new URLSearchParams;e&&n.set("query",e),t>1&&n.set("page",String(t)),window.history.pushState({},"","?".concat(n.toString()))}var Z=function(){var e,t,n,r,c,u,s,l,d=(e=(0,a.useContext)(p),n=void 0===(t=(0,a.useContext)(f).depth)?0:t,r=(0,a.useContext)(Q),u=(c=(0,C._)((0,a.useState)(null),2))[0],s=c[1],l=(0,a.useMemo)(function(){return r?(0,E._)((0,o._)({},r),{depth:n,lang:e}):null},[e,n,r]),(0,a.useEffect)(function(){l&&s(l?new V(l):null)},[l]),u),h=(0,a.useContext)(f),v=(0,C._)((0,a.useState)(""),2),g=v[0],m=v[1],w=(0,C._)((0,a.useState)(1),2),y=w[0],b=w[1],_=(0,C._)((0,a.useState)([]),2),S=_[0],x=_[1],k=(0,C._)((0,a.useState)(0),2),j=k[0],M=k[1],O=(0,C._)((0,a.useState)(!1),2),T=O[0],P=O[1],N=(0,a.useRef)(null);(0,a.useEffect)(function(){var e;N.current=d,null==d||null==(e=d.init)||e.call(d)},[d]),(0,a.useEffect)(function(){var e,t={query:(e=new URLSearchParams(window.location.search)).get("query")||"",page:Number(e.get("page"))||1},n=t.query,r=t.page;m(n),b(r)},[h]),(0,a.useEffect)(function(){g&&N.current?(P(!0),N.current.search(g,y,10).then(function(e){var t,n=e.items,r=e.total;x(Array.isArray(t=null!=n?n:[])?t.map(function(e){var t,n,r;return{title:(null==e?void 0:e.title)||(null==e||null==(t=e.hierarchy)?void 0:t.lvl0)||(null==e||null==(n=e.hierarchy)?void 0:n.lvl1)||"",url:(null==e?void 0:e.url)||(null==e?void 0:e.link)||"#",description:(null==e?void 0:e.description)||(null==e?void 0:e.content)||(null==e?void 0:e.text)||"",section:(null==e?void 0:e.section)||(null==e||null==(r=e.hierarchy)?void 0:r.lvl1)||""}}):[]),M(r)}).catch(function(){x([]),M(0)}).finally(function(){return P(!1)})):(x([]),M(0))},[g,y,d]);var R=(0,a.useCallback)(function(e){H(g,e),b(e)},[g]),F=(0,a.useCallback)(function(e){H(e,1),m(e),b(1)},[]);return(0,i.jsx)("div",{className:D(),children:(0,i.jsx)(L.Z,{query:g,items:S,page:y,totalItems:j,onPageChange:R,onSubmit:F,loading:T})})},Q=(0,a.createContext)(null);Q.displayName="SearchContext";var G=Q.Provider,K=document.getElementById("root");if(!K)throw Error("Root element not found!");var X=window.__DATA__,Y=X||{};Y.depth=Y.depth||3;var ee=new URL(window.location.href);(0,c.createRoot)(K).render((0,i.jsx)(function(e){var t,n,r,c,f,p,g,m,k,L,M,E,O,T,P,N=e.data,R=e.url,F=N.search,q=(null==F?void 0:F.lang)||s.Uo.En,z=(g=j("theme",(t=x("theme"),n=x("textSize"),r=x("showMiniToc"),c=x("wideFormat"),f=x("fullScreen"),p={theme:t,textSize:n,showMiniToc:_(r),wideFormat:_(c),fullScreen:_(f)})),m=j("textSize",p),k=j("wideFormat",p),L=j("fullScreen",p),M=j("showMiniToc",p),(0,a.useMemo)(function(){return(0,o._)({},g,m,k,M,L)},[g,m,k,M,L])),U=(O=(E=(0,C._)((0,a.useState)(S()),2))[0],T=E[1],P=(0,a.useCallback)(function(){T(S())},[]),(0,a.useEffect)(P,[P]),(0,a.useEffect)(function(){return window.addEventListener("resize",P),function(){return window.removeEventListener("resize",P)}},[P]),O),A=l.aP.includes(q)?q:s.Uo.En,I=w.includes(A)?y.RTL:y.LTR;(0,d.jQ)({lang:A,localeCode:A});var W={pathname:R.pathname,depth:3},J=z.theme,V=z.wideFormat;return(0,a.useEffect)(function(){var e={mobileView:U,wideFormat:V};if(b()){document.body.classList.add("g-root");var t=function(e,t){return document.body.classList.toggle(e,!!t)};Object.keys(e).forEach(function(n){switch(n){case"wideFormat":t("dc-root_wide-format",e[n]);break;case"focusSearch":t("dc-root_focused-search",e[n]);break;case"fullScreen":t("dc-root_full-screen",e[n]);break;case"landingPage":t("dc-root_document-page",!e[n]),t("dc-root_landing-page",e[n]);break;case"mobileView":t("mobile",e[n]),t("desktop",!e[n])}})}"undefined"!=typeof document&&document.querySelectorAll(".g-root").forEach(function(e){e.classList.toggle("g-root_theme_light","light"===J),e.classList.toggle("g-root_theme_dark","dark"===J)})},[J,U,V]),(0,i.jsx)(u.f,{theme:J,direction:I,children:(0,i.jsx)(v,{value:A,children:(0,i.jsx)(h,{value:W,children:(0,i.jsx)(G,{value:F,children:(0,i.jsx)(Z,{})})})})})},(0,o._)({},{data:X,url:ee})))},86685:function(e,t,n){"use strict";function r(){}n.d(t,{Z:()=>r})},65333:function(e,t,n){"use strict";e.exports={}},12646:function(e,t,n){"use strict";e.exports={}},10932:function(e,t,n){"use strict";e.exports={}},5122:function(e,t,n){"use strict";e.exports={}},18925:function(){},81481:function(){},21361:function(){},49505:function(){},53480:function(){},31337:function(){}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,o){if(1&o&&(r=this(r)),8&o||"object"==typeof r&&r&&(4&o&&r.__esModule||16&o&&"function"==typeof r.then))return r;var i=Object.create(null);n.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var c=2&o&&r;"object"==typeof c&&!~e.indexOf(c);c=t(c))Object.getOwnPropertyNames(c).forEach(e=>{a[e]=()=>r[e]});return a.default=()=>r,n.d(i,a),i}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.k=e=>""+e+".css",n.u=e=>""+e+"-504c3782d2b3e0db.js",n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e=[];n.O=(t,r,o,i)=>{if(r){i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[r,o,i];return}for(var c=1/0,a=0;a<e.length;a++){for(var[r,o,i]=e[a],u=!0,s=0;s<r.length;s++)(!1&i||c>=i)&&Object.keys(n.O).every(e=>n.O[e](r[s]))?r.splice(s--,1):(u=!1,i<c&&(c=i));if(u){e.splice(a--,1);var l=o();void 0!==l&&(t=l)}}return t}})(),n.rv=()=>"1.4.11",n.j="990",(()=>{n.g.importScripts&&(e=n.g.location+"");var e,t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=r[o--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");n.p=e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")})(),(()=>{n.b=document.baseURI||self.location.href;var e={990:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var o,i,[a,c,u]=r,s=0;if(a.some(t=>0!==e[t])){for(o in c)n.o(c,o)&&(n.m[o]=c[o]);if(u)var l=u(n)}for(t&&t(r);s<a.length;s++)i=a[s],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(l)},r=self.webpackChunk_diplodoc_client=self.webpackChunk_diplodoc_client||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),n.ruid="bundler=rspack@1.4.11";var r=n.O(void 0,["966","971"],function(){return n(91490)});r=n.O(r)})();
2
+ //# sourceMappingURL=search-c50badbbac7436bd.js.map