@diplodoc/client 3.7.3 → 3.8.1
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 +20 -0
- package/build/client/app.js +1 -1
- package/build/client/app.js.map +1 -1
- package/build/client/react.js +1 -1
- package/build/client/react.js.LICENSE.txt +0 -20
- package/build/client/react.js.map +1 -1
- package/build/client/search.js +1 -1
- package/build/client/search.js.map +1 -1
- package/build/client/vendor.js +1 -1
- package/build/client/vendor.js.map +1 -1
- package/build/components/App/index.d.ts +3 -2
- package/build/server/app.js +59 -5
- package/build/server/app.js.map +1 -1
- package/build/server/vendor.js +316 -917
- package/build/server/vendor.js.map +1 -1
- package/build/utils.d.ts +12 -1
- package/package.json +2 -2
package/build/client/search.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var e,t,r,n={42634:()=>{},44186:()=>{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||function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),(function(e){return e===t}))}),"undefined"!=typeof document&&document.addEventListener("click",(function(e){var t=e.target.href,r=window.location.origin;if(e.target.matches(".dc-doc-layout__center a")&&t.startsWith(r)){e.preventDefault();var n=".html";if(t.endsWith("/"))return void(window.location.href="".concat(t).concat("index").concat(n));var o=t.split("#");if(o.length>0&&!o[0].endsWith(n))return o[0]+=n,void(window.location.href=o.join("#"));window.location.href=t}}))},57757:(e,t,r)=>{"use strict";var n=r(96540),o=r(5338),a=r(15637),c=r(64216),i=r(10467),u=r(3453),s=r(54756),l=r.n(s),p=r(6650),f=r(23614),h=(0,n.createContext)({pathname:"/",depth:0});h.displayName="RouterContext";var d=h.Provider,v=r(64467),g=(r(20553),r(45458)),b=r(78184);b.Sx.Light,b.ov.M,(0,g.A)(new Set([].concat(["href"],["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"])));var y=(0,n.createContext)(b.JA.En);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}y.displayName="Lang",y.Provider,r(44186);var O=(0,f.A)("Layout");function j(){return null}function k(){return null}function S(){return null}var x={doc:!1},P=function(e){var t,r,o,a=w(w({},x),e),c=a.children,i=a.doc,u=a.headerHeight,s=void 0===u?0:u;return n.Children.forEach(c,(function(e){switch(e.type){case j:t=e.props.children;break;case k:r=e.props.children;break;case S:o=e.props.children}})),n.createElement("div",{className:O({"full-header":s>0})},t&&n.createElement("div",{className:O("header")},t),n.createElement("div",{className:O("body")},r&&n.createElement("div",{className:O("content")},r),o&&n.createElement("div",{className:O("footer",{doc:i})},o)))};P.displayName="Layout",P.Header=j,P.Content=k,P.Footer=S,(0,f.A)("pc-page-constructor"),(0,f.A)("pc-constructor-row"),(0,f.A)("Suggest");var A=r(26141),E=r(7137),C=(0,n.memo)((function(e){var t=e.mobileView,r=e.theme,o=e.onChangeTheme,a=e.textSize,c=e.onChangeTextSize,i=e.wideFormat,u=e.onChangeWideFormat,s=e.showMiniToc,l=e.onChangeShowMiniToc,p=e.lang,f=e.langs,h=e.onChangeLang;return n.createElement(A.n,{controlClassName:"Control",controlSize:b.Uv.L,isWideView:t,isMobileView:t},n.createElement(E.A,{className:"Controls",theme:r,onChangeTheme:o,wideFormat:i,onChangeWideFormat:u,showMiniToc:s,onChangeShowMiniToc:l,textSize:a,onChangeTextSize:c,lang:p,langs:f,onChangeLang:h}))}));C.displayName="HeaderControls",r(58498),r(89457),r(57016),r(81397),r(81452),r(60952);var _=r(23029),M=r(92901);function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var q=function(){return(0,M.A)((function e(t){var r=this;(0,_.A)(this,e),(0,v.A)(this,"worker",void 0),(0,v.A)(this,"config",void 0),(0,v.A)(this,"init",(function(){var e=L(L({},r.config),{},{base:r.base,mark:"Suggest__Item__Marker"});r.worker=function(e){return U.apply(this,arguments)}(e)})),(0,v.A)(this,"link",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=new URLSearchParams;e&&n.set("query",e),t>1&&n.set("page",t.toString());var o=n.toString()?"?".concat(n.toString()):"";return"".concat(r.base,"/").concat(r.config.link).concat(o)})),this.config=t}),[{key:"suggest",value:(r=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&""!==t.trim()){e.next=2;break}return e.abrupt("return",[]);case 2:return r={type:"suggest",query:t},e.next=5,this.request(r);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"search",value:(t=(0,i.A)(l().mark((function e(t){var r,n,o,a=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]?a[1]:1,n=a.length>2&&void 0!==a[2]?a[2]:10,t&&""!==t.trim()){e.next=4;break}return e.abrupt("return",[]);case 4:return o={type:"search",query:t,page:r,count:n},e.next=7,this.request(o);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:(e=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.worker;case 2:return r=e.sent,e.next=5,W(r,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})}]);var e,t,r}(),N=/Script at '(.*?)' cannot be accessed from origin/;function R(){return T.apply(this,arguments)}function T(){return T=(0,i.A)(l().mark((function e(){var t,n,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.abrupt("return",new Worker(new URL(r.p+r.u(350),r.b)));case 4:if(e.prev=4,e.t0=e.catch(0),!(e.t0 instanceof DOMException)){e.next=12;break}if(!(t=N.exec(e.t0.message))){e.next=12;break}return n=t[1],o=new Blob(["importScripts('".concat(n,"');")],{type:"text/javascript"}),e.abrupt("return",new Worker(URL.createObjectURL(o)));case 12:throw e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,4]])}))),T.apply(this,arguments)}function U(){return U=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R();case 2:return r=e.sent,e.next=5,W(r,L(L({},t),{},{type:"init"}));case 5:return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),U.apply(this,arguments)}function W(e,t){var r=new MessageChannel;return new Promise((function(n,o){r.port1.onmessage=function(e){e.data.error?o(e.data.error):n(e.data.result)},r.port1.onmessageerror=function(e){o(e)},e.postMessage(t,[r.port2])}))}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var F=function(){return(0,M.A)((function e(t){var r=this;(0,_.A)(this,e),(0,v.A)(this,"worker",void 0),(0,v.A)(this,"config",void 0),(0,v.A)(this,"init",(function(){r.worker=function(e){return $.apply(this,arguments)}(z(z({},r.config),{},{base:r.base,mark:"Suggest__Item__Marker"}))})),(0,v.A)(this,"link",(function(){return null})),this.config=t}),[{key:"suggest",value:(r=(0,i.A)(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.request({type:"suggest",query:t}));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"search",value:(t=(0,i.A)(l().mark((function e(t){var r,n,o=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:1,n=o.length>2&&void 0!==o[2]?o[2]:10,e.abrupt("return",this.request({type:"search",query:t,page:r,count:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:(e=(0,i.A)(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=K,e.next=3,this.worker;case 3:return e.t1=e.sent,e.t2=t,e.abrupt("return",(0,e.t0)(e.t1,e.t2));case 6:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})}]);var e,t,r}(),B=/Script at '(.*?)' cannot be accessed from origin/;function H(){return V.apply(this,arguments)}function V(){return V=(0,i.A)(l().mark((function e(){var t,n,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.abrupt("return",new Worker(new URL(r.p+r.u(969),r.b)));case 4:if(e.prev=4,e.t0=e.catch(0),!(e.t0 instanceof DOMException)){e.next=12;break}if(!(t=B.exec(e.t0.message))){e.next=12;break}return n=t[1],o=new Blob(["importScripts('".concat(n,"');")],{type:"text/javascript"}),e.abrupt("return",new Worker(URL.createObjectURL(o)));case 12:throw e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,4]])}))),V.apply(this,arguments)}function $(){return $=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H();case 2:return r=e.sent,e.next=5,K(r,z(z({},t),{},{type:"init"}));case 5:return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),$.apply(this,arguments)}function K(e,t){var r=new MessageChannel;return new Promise((function(n,o){r.port1.onmessage=function(e){e.data.error?o(e.data.error):n(e.data.result)},r.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[r.port2])}))}function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Q=(0,f.A)("Search");function X(e,t){var r=new URLSearchParams;e&&r.set("query",e),t>1&&r.set("page",String(t)),window.history.pushState({},"","?".concat(r.toString()))}function Y(e){return Array.isArray(e)?e.map((function(e){var t,r,n;return{title:(null==e?void 0:e.title)||(null==e||null===(t=e.hierarchy)||void 0===t?void 0:t.lvl0)||(null==e||null===(r=e.hierarchy)||void 0===r?void 0:r.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===(n=e.hierarchy)||void 0===n?void 0:n.lvl1)||""}})):[]}var Z=function(){var e=function(){var e=(0,n.useContext)(y),t=(0,n.useContext)(h).depth,r=void 0===t?0:t,o=(0,n.useContext)(ee),a=(0,n.useState)(null),c=(0,u.A)(a,2),i=c[0],s=c[1],l=(0,n.useMemo)((function(){return o?G(G({},o),{},{depth:r,lang:e}):null}),[e,r,o]);return(0,n.useEffect)((function(){l&&s(function(e){if(!e)return null;var t=e.provider;return"algolia"===(void 0===t?"local":t)?new q(e):new F(e)}(l))}),[l]),i}(),t=(0,n.useContext)(h),r=(0,n.useState)(""),o=(0,u.A)(r,2),a=o[0],c=o[1],s=(0,n.useState)(1),f=(0,u.A)(s,2),d=f[0],v=f[1],g=(0,n.useState)([]),b=(0,u.A)(g,2),m=b[0],w=b[1],O=(0,n.useState)(0),j=(0,u.A)(O,2),k=j[0],S=j[1],x=(0,n.useState)(!1),P=(0,u.A)(x,2),A=P[0],E=P[1],C=(0,n.useRef)(null);(0,n.useEffect)((function(){var t;C.current=e,null==e||null===(t=e.init)||void 0===t||t.call(e)}),[e]),(0,n.useEffect)((function(){var e,t={query:(e=new URLSearchParams(window.location.search)).get("query")||"",page:Number(e.get("page"))||1},r=t.page;c(t.query),v(r)}),[t]);var _=(0,n.useCallback)(function(){var e=(0,i.A)(l().mark((function e(t,r){var n,o,a,c,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return E(!0),e.prev=1,e.next=4,null===(n=C.current)||void 0===n?void 0:n.search(t,r,10);case 4:o=e.sent,a=Y(null!=o?o:[]),w(a),c=a.length<10,i=c?10*(r-1)+a.length:10*r+1,S(a.length>0?i:0),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),w([]),S(0);case 16:return e.prev=16,E(!1),e.finish(16);case 19:case"end":return e.stop()}}),e,null,[[1,12,16,19]])})));return function(t,r){return e.apply(this,arguments)}}(),[]);(0,n.useEffect)((function(){a&&C.current?_(a,d):(w([]),S(0))}),[a,d,e,_]);var M=(0,n.useCallback)((function(e){X(a,e),v(e)}),[a]),D=(0,n.useCallback)((function(e){X(e,1),c(e),v(1)}),[]);return n.createElement("div",{className:Q()},n.createElement(p.A,{query:a,items:m,page:d,totalItems:k,onPageChange:M,onSubmit:D,loading:A}))},ee=(0,n.createContext)(null);ee.displayName="SearchContext";var te=ee.Provider,re=document.getElementById("root");if(!re)throw new Error("Root element not found!");var ne=new URL(window.location.href),oe=window.__DATA__||{},ae=oe.lang;(0,a.jK)({lang:ae}),(0,c.jK)({lang:ae}),oe.depth=oe.depth||3;var ce={pathname:ne.pathname,depth:3};(0,o.H)(re).render(n.createElement(d,{value:ce},n.createElement(te,{value:oe},n.createElement(Z,null))))}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=n,a.amdO={},e=[],a.O=(t,r,n,o)=>{if(!r){var c=1/0;for(l=0;l<e.length;l++){for(var[r,n,o]=e[l],i=!0,u=0;u<r.length;u++)(!1&o||c>=o)&&Object.keys(a.O).every((e=>a.O[e](r[u])))?r.splice(u--,1):(i=!1,o<c&&(c=o));if(i){e.splice(l--,1);var s=n();void 0!==s&&(t=s)}}return t}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[r,n,o]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var o=Object.create(null);a.r(o);var c={};t=t||[null,r({}),r([]),r(r)];for(var i=2&n&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,a.d(o,c),o},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.u=e=>e+".js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=187,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.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 n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={187:0};a.O.j=t=>0===e[t];var t=(t,r)=>{var n,o,[c,i,u]=r,s=0;if(c.some((t=>0!==e[t]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);if(u)var l=u(a)}for(t&&t(r);s<c.length;s++)o=c[s],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.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))})();var c=a.O(void 0,[644,121],(()=>a(57757)));c=a.O(c)})();
|
|
1
|
+
(()=>{var e,t,r,n={42634:()=>{},44186:()=>{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||function(e){var t=this;return Array.prototype.some.call(document.querySelectorAll(e),(function(e){return e===t}))}),"undefined"!=typeof document&&document.addEventListener("click",(function(e){var t=e.target.href,r=window.location.origin;if(e.target.matches(".dc-doc-layout__center a")&&t.startsWith(r)){e.preventDefault();var n=".html";if(t.endsWith("/"))return void(window.location.href="".concat(t).concat("index").concat(n));var o=t.split("#");if(o.length>0&&!o[0].endsWith(n))return o[0]+=n,void(window.location.href=o.join("#"));window.location.href=t}}))},57757:(e,t,r)=>{"use strict";var n=r(96540),o=r(5338),a=r(15637),c=r(64216),i=r(10467),u=r(3453),s=r(54756),l=r.n(s),p=r(6650),f=r(23614),h=(0,n.createContext)({pathname:"/",depth:0});h.displayName="RouterContext";var d=h.Provider,v=r(64467),g=(r(20553),r(45458)),b=r(78184);b.Sx.Light,b.ov.M,(0,g.A)(new Set([].concat(["href"],["src","url","href","icon","image","desktop","mobile","tablet","previewImg","image","avatar","logo","light","dark"])));var y=(0,n.createContext)(b.JA.En);function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}y.displayName="Lang",y.Provider,r(44186);var O=(0,f.A)("Layout");function j(){return null}function k(){return null}function S(){return null}var x={doc:!1},P=function(e){var t,r,o,a=w(w({},x),e),c=a.children,i=a.doc,u=a.headerHeight,s=void 0===u?0:u;return n.Children.forEach(c,(function(e){switch(e.type){case j:t=e.props.children;break;case k:r=e.props.children;break;case S:o=e.props.children}})),n.createElement("div",{className:O({"full-header":s>0})},t&&n.createElement("div",{className:O("header")},t),n.createElement("div",{className:O("body")},r&&n.createElement("div",{className:O("content")},r),o&&n.createElement("div",{className:O("footer",{doc:i})},o)))};P.displayName="Layout",P.Header=j,P.Content=k,P.Footer=S,(0,f.A)("pc-page-constructor"),(0,f.A)("pc-constructor-row"),(0,f.A)("Suggest");var A=r(26141),E=r(7137),C=(0,n.memo)((function(e){var t=e.mobileView,r=e.theme,o=e.onChangeTheme,a=e.textSize,c=e.onChangeTextSize,i=e.wideFormat,u=e.onChangeWideFormat,s=e.showMiniToc,l=e.onChangeShowMiniToc,p=e.lang,f=e.langs,h=e.onChangeLang;return n.createElement(A.n,{controlClassName:"Control",controlSize:b.Uv.L,isWideView:t,isMobileView:t},n.createElement(E.A,{className:"Controls",theme:r,onChangeTheme:o,wideFormat:i,onChangeWideFormat:u,showMiniToc:s,onChangeShowMiniToc:l,textSize:a,onChangeTextSize:c,lang:p,langs:f,onChangeLang:h}))}));C.displayName="HeaderControls",r(58498),r(89457),r(57016),r(81397),r(81452);var _=r(23029),M=r(92901);function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var q=function(){return(0,M.A)((function e(t){var r=this;(0,_.A)(this,e),(0,v.A)(this,"worker",void 0),(0,v.A)(this,"config",void 0),(0,v.A)(this,"init",(function(){var e=L(L({},r.config),{},{base:r.base,mark:"Suggest__Item__Marker"});r.worker=function(e){return U.apply(this,arguments)}(e)})),(0,v.A)(this,"link",(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=new URLSearchParams;e&&n.set("query",e),t>1&&n.set("page",t.toString());var o=n.toString()?"?".concat(n.toString()):"";return"".concat(r.base,"/").concat(r.config.link).concat(o)})),this.config=t}),[{key:"suggest",value:(r=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&""!==t.trim()){e.next=2;break}return e.abrupt("return",[]);case 2:return r={type:"suggest",query:t},e.next=5,this.request(r);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"search",value:(t=(0,i.A)(l().mark((function e(t){var r,n,o,a=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>1&&void 0!==a[1]?a[1]:1,n=a.length>2&&void 0!==a[2]?a[2]:10,t&&""!==t.trim()){e.next=4;break}return e.abrupt("return",[]);case 4:return o={type:"search",query:t,page:r,count:n},e.next=7,this.request(o);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:(e=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.worker;case 2:return r=e.sent,e.next=5,W(r,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})}]);var e,t,r}(),N=/Script at '(.*?)' cannot be accessed from origin/;function R(){return T.apply(this,arguments)}function T(){return T=(0,i.A)(l().mark((function e(){var t,n,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.abrupt("return",new Worker(new URL(r.p+r.u(350),r.b)));case 4:if(e.prev=4,e.t0=e.catch(0),!(e.t0 instanceof DOMException)){e.next=12;break}if(!(t=N.exec(e.t0.message))){e.next=12;break}return n=t[1],o=new Blob(["importScripts('".concat(n,"');")],{type:"text/javascript"}),e.abrupt("return",new Worker(URL.createObjectURL(o)));case 12:throw e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,4]])}))),T.apply(this,arguments)}function U(){return U=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R();case 2:return r=e.sent,e.next=5,W(r,L(L({},t),{},{type:"init"}));case 5:return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),U.apply(this,arguments)}function W(e,t){var r=new MessageChannel;return new Promise((function(n,o){r.port1.onmessage=function(e){e.data.error?o(e.data.error):n(e.data.result)},r.port1.onmessageerror=function(e){o(e)},e.postMessage(t,[r.port2])}))}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var F=function(){return(0,M.A)((function e(t){var r=this;(0,_.A)(this,e),(0,v.A)(this,"worker",void 0),(0,v.A)(this,"config",void 0),(0,v.A)(this,"init",(function(){r.worker=function(e){return $.apply(this,arguments)}(z(z({},r.config),{},{base:r.base,mark:"Suggest__Item__Marker"}))})),(0,v.A)(this,"link",(function(){return null})),this.config=t}),[{key:"suggest",value:(r=(0,i.A)(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.request({type:"suggest",query:t}));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"search",value:(t=(0,i.A)(l().mark((function e(t){var r,n,o=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:1,n=o.length>2&&void 0!==o[2]?o[2]:10,e.abrupt("return",this.request({type:"search",query:t,page:r,count:n}));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"base",get:function(){return window.location.href.split("/").slice(0,-this.config.depth).join("/")}},{key:"request",value:(e=(0,i.A)(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=K,e.next=3,this.worker;case 3:return e.t1=e.sent,e.t2=t,e.abrupt("return",(0,e.t0)(e.t1,e.t2));case 6:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})}]);var e,t,r}(),B=/Script at '(.*?)' cannot be accessed from origin/;function H(){return V.apply(this,arguments)}function V(){return V=(0,i.A)(l().mark((function e(){var t,n,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.abrupt("return",new Worker(new URL(r.p+r.u(969),r.b)));case 4:if(e.prev=4,e.t0=e.catch(0),!(e.t0 instanceof DOMException)){e.next=12;break}if(!(t=B.exec(e.t0.message))){e.next=12;break}return n=t[1],o=new Blob(["importScripts('".concat(n,"');")],{type:"text/javascript"}),e.abrupt("return",new Worker(URL.createObjectURL(o)));case 12:throw e.t0;case 13:case"end":return e.stop()}}),e,null,[[0,4]])}))),V.apply(this,arguments)}function $(){return $=(0,i.A)(l().mark((function e(t){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H();case 2:return r=e.sent,e.next=5,K(r,z(z({},t),{},{type:"init"}));case 5:return e.abrupt("return",r);case 6:case"end":return e.stop()}}),e)}))),$.apply(this,arguments)}function K(e,t){var r=new MessageChannel;return new Promise((function(n,o){r.port1.onmessage=function(e){e.data.error?o(e.data.error):n(e.data.result)},r.port1.onmessageerror=function(e){o(e.data.error)},e.postMessage(t,[r.port2])}))}function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach((function(t){(0,v.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var Q=(0,f.A)("Search");function X(e,t){var r=new URLSearchParams;e&&r.set("query",e),t>1&&r.set("page",String(t)),window.history.pushState({},"","?".concat(r.toString()))}function Y(e){return Array.isArray(e)?e.map((function(e){var t,r,n;return{title:(null==e?void 0:e.title)||(null==e||null===(t=e.hierarchy)||void 0===t?void 0:t.lvl0)||(null==e||null===(r=e.hierarchy)||void 0===r?void 0:r.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===(n=e.hierarchy)||void 0===n?void 0:n.lvl1)||""}})):[]}var Z=function(){var e=function(){var e=(0,n.useContext)(y),t=(0,n.useContext)(h).depth,r=void 0===t?0:t,o=(0,n.useContext)(ee),a=(0,n.useState)(null),c=(0,u.A)(a,2),i=c[0],s=c[1],l=(0,n.useMemo)((function(){return o?G(G({},o),{},{depth:r,lang:e}):null}),[e,r,o]);return(0,n.useEffect)((function(){l&&s(function(e){if(!e)return null;var t=e.provider;return"algolia"===(void 0===t?"local":t)?new q(e):new F(e)}(l))}),[l]),i}(),t=(0,n.useContext)(h),r=(0,n.useState)(""),o=(0,u.A)(r,2),a=o[0],c=o[1],s=(0,n.useState)(1),f=(0,u.A)(s,2),d=f[0],v=f[1],g=(0,n.useState)([]),b=(0,u.A)(g,2),m=b[0],w=b[1],O=(0,n.useState)(0),j=(0,u.A)(O,2),k=j[0],S=j[1],x=(0,n.useState)(!1),P=(0,u.A)(x,2),A=P[0],E=P[1],C=(0,n.useRef)(null);(0,n.useEffect)((function(){var t;C.current=e,null==e||null===(t=e.init)||void 0===t||t.call(e)}),[e]),(0,n.useEffect)((function(){var e,t={query:(e=new URLSearchParams(window.location.search)).get("query")||"",page:Number(e.get("page"))||1},r=t.page;c(t.query),v(r)}),[t]);var _=(0,n.useCallback)(function(){var e=(0,i.A)(l().mark((function e(t,r){var n,o,a,c,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return E(!0),e.prev=1,e.next=4,null===(n=C.current)||void 0===n?void 0:n.search(t,r,10);case 4:o=e.sent,a=Y(null!=o?o:[]),w(a),c=a.length<10,i=c?10*(r-1)+a.length:10*r+1,S(a.length>0?i:0),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(1),w([]),S(0);case 16:return e.prev=16,E(!1),e.finish(16);case 19:case"end":return e.stop()}}),e,null,[[1,12,16,19]])})));return function(t,r){return e.apply(this,arguments)}}(),[]);(0,n.useEffect)((function(){a&&C.current?_(a,d):(w([]),S(0))}),[a,d,e,_]);var M=(0,n.useCallback)((function(e){X(a,e),v(e)}),[a]),D=(0,n.useCallback)((function(e){X(e,1),c(e),v(1)}),[]);return n.createElement("div",{className:Q()},n.createElement(p.A,{query:a,items:m,page:d,totalItems:k,onPageChange:M,onSubmit:D,loading:A}))},ee=(0,n.createContext)(null);ee.displayName="SearchContext";var te=ee.Provider,re=document.getElementById("root");if(!re)throw new Error("Root element not found!");var ne=new URL(window.location.href),oe=window.__DATA__||{},ae=oe.lang;(0,a.jK)({lang:ae}),(0,c.jK)({lang:ae}),oe.depth=oe.depth||3;var ce={pathname:ne.pathname,depth:3};(0,o.H)(re).render(n.createElement(d,{value:ce},n.createElement(te,{value:oe},n.createElement(Z,null))))}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,a),r.loaded=!0,r.exports}a.m=n,a.amdO={},e=[],a.O=(t,r,n,o)=>{if(!r){var c=1/0;for(l=0;l<e.length;l++){for(var[r,n,o]=e[l],i=!0,u=0;u<r.length;u++)(!1&o||c>=o)&&Object.keys(a.O).every((e=>a.O[e](r[u])))?r.splice(u--,1):(i=!1,o<c&&(c=o));if(i){e.splice(l--,1);var s=n();void 0!==s&&(t=s)}}return t}o=o||0;for(var l=e.length;l>0&&e[l-1][2]>o;l--)e[l]=e[l-1];e[l]=[r,n,o]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var o=Object.create(null);a.r(o);var c={};t=t||[null,r({}),r([]),r(r)];for(var i=2&n&&e;"object"==typeof i&&!~t.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,a.d(o,c),o},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.u=e=>e+".js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.j=187,(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var t=a.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 n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{a.b=document.baseURI||self.location.href;var e={187:0};a.O.j=t=>0===e[t];var t=(t,r)=>{var n,o,[c,i,u]=r,s=0;if(c.some((t=>0!==e[t]))){for(n in i)a.o(i,n)&&(a.m[n]=i[n]);if(u)var l=u(a)}for(t&&t(r);s<c.length;s++)o=c[s],a.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return a.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))})();var c=a.O(void 0,[644,121],(()=>a(57757)));c=a.O(c)})();
|
|
2
2
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","mappings":"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","sources":["webpack://@diplodoc/client/webpack/runtime/chunk loaded","webpack://@diplodoc/client/webpack/runtime/create fake namespace object","webpack://@diplodoc/client/./src/interceptors/leading-page-links.js","webpack://@diplodoc/client/./src/components/Router/index.ts","webpack://@diplodoc/client/./src/constants.ts","webpack://@diplodoc/client/./src/hooks/useLang.ts","webpack://@diplodoc/client/./src/components/Layout/index.tsx","webpack://@diplodoc/client/./src/components/ConstructorPage/index.tsx","webpack://@diplodoc/client/./src/components/Search/Suggest.tsx","webpack://@diplodoc/client/./src/components/HeaderControls/index.tsx","webpack://@diplodoc/client/./src/components/Search/provider/algolia/index.ts","webpack://@diplodoc/client/./src/components/Search/provider/index.ts","webpack://@diplodoc/client/./src/components/Search/Search.tsx","webpack://@diplodoc/client/./src/components/Search/useProvider.ts","webpack://@diplodoc/client/./src/components/Search/index.ts","webpack://@diplodoc/client/./src/search.tsx","webpack://@diplodoc/client/webpack/bootstrap","webpack://@diplodoc/client/webpack/runtime/amd options","webpack://@diplodoc/client/webpack/runtime/compat get default export","webpack://@diplodoc/client/webpack/runtime/define property getters","webpack://@diplodoc/client/webpack/runtime/get javascript chunk filename","webpack://@diplodoc/client/webpack/runtime/global","webpack://@diplodoc/client/webpack/runtime/hasOwnProperty shorthand","webpack://@diplodoc/client/webpack/runtime/make namespace object","webpack://@diplodoc/client/webpack/runtime/node module decorator","webpack://@diplodoc/client/webpack/runtime/runtimeId","webpack://@diplodoc/client/webpack/runtime/publicPath","webpack://@diplodoc/client/webpack/runtime/jsonp chunk loading","webpack://@diplodoc/client/webpack/startup"],"sourcesContent":["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--) deferred[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 ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\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};","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\t__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};","(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 if (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const href = event.target.href;\n const locationOrigin = window.location.origin;\n\n if (\n event.target.matches('.dc-doc-layout__center a') &&\n href.startsWith(locationOrigin)\n ) {\n event.preventDefault();\n\n const mainFileName = 'index';\n const extention = '.html';\n\n if (href.endsWith('/')) {\n window.location.href = `${href}${mainFileName}${extention}`;\n return;\n }\n\n // https://../file-name, https://../file-name#fragment\n const splitedHref = href.split('#');\n if (splitedHref.length > 0 && !splitedHref[0].endsWith(extention)) {\n splitedHref[0] += extention;\n window.location.href = splitedHref.join('#');\n return;\n }\n\n window.location.href = href;\n }\n });\n }\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 {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 {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 React, {FC, PropsWithChildren, ReactElement} 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 {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 React, {memo} from 'react';\nimport {ControlSizes, Controls, ControlsLayout, Lang, TextSizes, Theme} 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) => void;\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 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 />\n </ControlsLayout>\n );\n },\n);\n\nHeaderControls.displayName = 'HeaderControls';\n","import type {ISearchProvider, ISearchResult} from '@diplodoc/components';\nimport type {SearchConfig, SearchProviderExtended, WorkerConfig} from '../../types';\n\nexport class AlgoliaProvider implements ISearchProvider, SearchProviderExtended {\n private worker!: Promise<Worker>;\n private config: SearchConfig;\n\n constructor(config: SearchConfig) {\n this.config = config;\n }\n\n init = () => {\n const workerConfig = {\n ...this.config,\n base: this.base,\n mark: 'Suggest__Item__Marker',\n };\n\n this.worker = initWorker(workerConfig);\n };\n\n async suggest(query: string) {\n if (!query || query.trim() === '') {\n return [];\n }\n\n const message = {\n type: 'suggest',\n query,\n };\n return (await this.request(message)) as ISearchResult[];\n }\n\n async search(query: string, page = 1, count = 10) {\n if (!query || query.trim() === '') {\n return [];\n }\n\n const message = {\n type: 'search',\n query,\n page,\n count,\n };\n return (await this.request(message)) as ISearchResult[];\n }\n\n link = (query: string, page = 1) => {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.set('query', query);\n }\n\n if (page > 1) {\n searchParams.set('page', page.toString());\n }\n\n const params = searchParams.toString() ? `?${searchParams.toString()}` : '';\n const link = `${this.base}/${this.config.link}${params}`;\n\n return link;\n };\n\n private get base() {\n const base = window.location.href.split('/').slice(0, -this.config.depth).join('/');\n\n return base;\n }\n\n private async request(message: object) {\n const worker = await this.worker;\n return await request(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 await request(worker, {...config, type: 'init'});\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 = (event) => {\n if (event.data.error) {\n reject(event.data.error);\n } else {\n resolve(event.data.result);\n }\n };\n\n channel.port1.onmessageerror = (event) => {\n reject(event);\n };\n\n worker.postMessage(message, [channel.port2]);\n });\n}\n","import type {ISearchProvider, ISearchResult} from '@diplodoc/components';\nimport type {SearchConfig, SearchProviderExtended, WorkerConfig} from '../types';\n\nimport {AlgoliaProvider} from './algolia/index';\n\nexport class LocalSearchProvider 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<ISearchResult[]>;\n }\n\n link = () => null;\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 const {provider = 'local'} = config;\n\n if (provider === 'algolia') {\n return new AlgoliaProvider(config);\n }\n\n return new LocalSearchProvider(config);\n}\n\nexport const SearchProvider = LocalSearchProvider;\n","import 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 {FormattedSearchResultData, SearchProviderExtended, SearchResultData} from './types';\nimport './Search.scss';\n\nconst b = block('Search');\nconst ITEMS_PER_PAGE = 10;\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\nexport const Search: React.FC = () => {\n const provider = useProvider();\n const router = useRouter();\n\n const [query, setQuery] = useState('');\n const [page, setPage] = useState(1);\n const [results, setResults] = useState<FormattedSearchResultData>([]);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(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 setQuery(q);\n setPage(p);\n }, [router]);\n\n const performSearch = useCallback(async (searchQuery: string, currentPage: number) => {\n setLoading(true);\n try {\n const searchResults = await providerRef.current?.search(\n searchQuery,\n currentPage,\n ITEMS_PER_PAGE,\n );\n const formatted = formatResults(searchResults ?? []);\n setResults(formatted);\n\n const isLastPage = formatted.length < ITEMS_PER_PAGE;\n const totalItems = isLastPage\n ? (currentPage - 1) * ITEMS_PER_PAGE + formatted.length\n : currentPage * ITEMS_PER_PAGE + 1;\n setTotal(formatted.length > 0 ? totalItems : 0);\n } catch {\n setResults([]);\n setTotal(0);\n } finally {\n setLoading(false);\n }\n }, []);\n\n useEffect(() => {\n if (query && providerRef.current) {\n performSearch(query, page);\n } else {\n setResults([]);\n setTotal(0);\n }\n }, [query, page, provider, performSearch]);\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 {useContext, useEffect, useMemo, useState} from 'react';\nimport {ISearchProvider} from '@diplodoc/components';\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 {SearchConfig, WorkerApi, WorkerConfig} from './types';\n\nimport {createContext, useContext} from 'react';\n\nexport type {SearchConfig, WorkerConfig, WorkerApi};\n\nexport const SearchContext = createContext<SearchConfig | null | undefined>(null);\n\nSearchContext.displayName = 'SearchContext';\n\nexport const SearchProvider = SearchContext.Provider;\n\nexport {Search} from './Search';\n\nexport function useSearch() {\n return useContext(SearchContext);\n}\n","import React from 'react';\nimport {createRoot} from 'react-dom/client';\nimport {configure as configureUikit} from '@gravity-ui/uikit';\nimport {configure as configureDocs} from '@diplodoc/components';\n\nimport {Search, SearchConfig, SearchProvider} from './components/Search';\nimport {RouterProvider} from './components/Router';\n\nconst root = document.getElementById('root');\n\nif (!root) {\n throw new Error('Root element not found!');\n}\n\nconst url = new URL(window.location.href);\n\nconst windowData = window.__DATA__;\nconst searchConfig = (windowData || {}) as SearchConfig;\nconst lang = searchConfig.lang;\n\nconfigureUikit({lang});\nconfigureDocs({lang});\n\nsearchConfig.depth = searchConfig.depth || 3;\n\nconst routerConfig = {\n pathname: url.pathname,\n depth: 3,\n};\n\ncreateRoot(root).render(\n <RouterProvider value={routerConfig}>\n <SearchProvider value={searchConfig}>\n <Search />\n </SearchProvider>\n </RouterProvider>,\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony 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};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\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\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 187;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\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\nvar installedChunks = {\n\t187: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\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(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\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));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(57757)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","e","matches","Element","prototype","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","this","Array","some","call","document","querySelectorAll","el","addEventListener","event","href","target","locationOrigin","window","location","origin","startsWith","preventDefault","extention","endsWith","concat","splitedHref","split","length","join","RouterContext","createContext","pathname","depth","displayName","RouterProvider","Provider","Theme","Light","TextSizes","M","_toConsumableArray","Set","LangContext","Lang","En","b","block","Header","Content","Footer","defaults","doc","Layout","props","header","content","footer","_defaults$props","_objectSpread","children","_defaults$props$heade","headerHeight","React","forEach","child","type","className","HeaderControls","memo","_ref","mobileView","theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","lang","langs","onChangeLang","ControlsLayout","controlClassName","controlSize","ControlSizes","L","isWideView","isMobileView","Controls","AlgoliaProvider","_createClass","config","_this","_classCallCheck","_defineProperty","workerConfig","base","mark","worker","_x4","_initWorker","apply","arguments","initWorker","query","page","undefined","searchParams","URLSearchParams","set","toString","params","link","key","value","_suggest","_asyncToGenerator","_regeneratorRuntime","_callee","message","_context","prev","next","trim","abrupt","request","sent","stop","_x","_search","_callee2","count","_args2","_context2","_x2","get","slice","_request2","_callee3","_context3","_x3","BAD_ORIGIN_ERROR","loadWorker","_loadWorker","_callee4","match","url","blob","_context4","Worker","URL","t0","DOMException","exec","Blob","createObjectURL","_callee5","_context5","channel","MessageChannel","Promise","resolve","reject","port1","onmessage","data","error","result","onmessageerror","postMessage","port2","LocalSearchProvider","t1","t2","setUrlParams","String","history","pushState","formatResults","searchResults","isArray","map","_result$hierarchy","_result$hierarchy2","_result$hierarchy3","title","hierarchy","lvl0","lvl1","description","text","section","Search","provider","useContext","_useContext$depth","search","SearchContext","_useState","useState","_useState2","_slicedToArray","setProvider","useMemo","useEffect","_config$provider","createProvider","useProvider","router","setQuery","_useState3","_useState4","setPage","_useState5","_useState6","results","setResults","_useState7","_useState8","total","setTotal","_useState9","_useState10","loading","setLoading","providerRef","useRef","_provider$init","current","init","_getUrlParams","Number","p","performSearch","useCallback","searchQuery","currentPage","_providerRef$current","formatted","isLastPage","totalItems","finish","handlePageChange","newPage","handleQueryChange","newQuery","SearchPage","items","onPageChange","onSubmit","SearchProvider","root","getElementById","Error","searchConfig","__DATA__","configureUikit","configureDocs","routerConfig","createRoot","render","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","id","loaded","__webpack_modules__","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","t","mode","then","ns","create","def","indexOf","getOwnPropertyNames","definition","o","defineProperty","enumerable","u","chunkId","g","globalThis","Function","prop","hasOwnProperty","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","replace","baseURI","self","installedChunks","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","push","__webpack_exports__"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"search.js","mappings":"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","sources":["webpack://@diplodoc/client/webpack/runtime/chunk loaded","webpack://@diplodoc/client/webpack/runtime/create fake namespace object","webpack://@diplodoc/client/./src/interceptors/leading-page-links.js","webpack://@diplodoc/client/./src/components/Router/index.ts","webpack://@diplodoc/client/./src/constants.ts","webpack://@diplodoc/client/./src/hooks/useLang.ts","webpack://@diplodoc/client/./src/components/Layout/index.tsx","webpack://@diplodoc/client/./src/components/ConstructorPage/index.tsx","webpack://@diplodoc/client/./src/components/Search/Suggest.tsx","webpack://@diplodoc/client/./src/components/HeaderControls/index.tsx","webpack://@diplodoc/client/./src/components/Search/provider/algolia/index.ts","webpack://@diplodoc/client/./src/components/Search/provider/index.ts","webpack://@diplodoc/client/./src/components/Search/Search.tsx","webpack://@diplodoc/client/./src/components/Search/useProvider.ts","webpack://@diplodoc/client/./src/components/Search/index.ts","webpack://@diplodoc/client/./src/search.tsx","webpack://@diplodoc/client/webpack/bootstrap","webpack://@diplodoc/client/webpack/runtime/amd options","webpack://@diplodoc/client/webpack/runtime/compat get default export","webpack://@diplodoc/client/webpack/runtime/define property getters","webpack://@diplodoc/client/webpack/runtime/get javascript chunk filename","webpack://@diplodoc/client/webpack/runtime/global","webpack://@diplodoc/client/webpack/runtime/hasOwnProperty shorthand","webpack://@diplodoc/client/webpack/runtime/make namespace object","webpack://@diplodoc/client/webpack/runtime/node module decorator","webpack://@diplodoc/client/webpack/runtime/runtimeId","webpack://@diplodoc/client/webpack/runtime/publicPath","webpack://@diplodoc/client/webpack/runtime/jsonp chunk loading","webpack://@diplodoc/client/webpack/startup"],"sourcesContent":["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--) deferred[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 ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\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};","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\t__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};","(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 if (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const href = event.target.href;\n const locationOrigin = window.location.origin;\n\n if (\n event.target.matches('.dc-doc-layout__center a') &&\n href.startsWith(locationOrigin)\n ) {\n event.preventDefault();\n\n const mainFileName = 'index';\n const extention = '.html';\n\n if (href.endsWith('/')) {\n window.location.href = `${href}${mainFileName}${extention}`;\n return;\n }\n\n // https://../file-name, https://../file-name#fragment\n const splitedHref = href.split('#');\n if (splitedHref.length > 0 && !splitedHref[0].endsWith(extention)) {\n splitedHref[0] += extention;\n window.location.href = splitedHref.join('#');\n return;\n }\n\n window.location.href = href;\n }\n });\n }\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 {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 {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 React, {FC, PropsWithChildren, ReactElement} 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 {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 React, {memo} from 'react';\nimport {ControlSizes, Controls, ControlsLayout, Lang, TextSizes, Theme} 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) => void;\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 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 />\n </ControlsLayout>\n );\n },\n);\n\nHeaderControls.displayName = 'HeaderControls';\n","import type {ISearchProvider, ISearchResult} from '@diplodoc/components';\nimport type {SearchConfig, SearchProviderExtended, WorkerConfig} from '../../types';\n\nexport class AlgoliaProvider implements ISearchProvider, SearchProviderExtended {\n private worker!: Promise<Worker>;\n private config: SearchConfig;\n\n constructor(config: SearchConfig) {\n this.config = config;\n }\n\n init = () => {\n const workerConfig = {\n ...this.config,\n base: this.base,\n mark: 'Suggest__Item__Marker',\n };\n\n this.worker = initWorker(workerConfig);\n };\n\n async suggest(query: string) {\n if (!query || query.trim() === '') {\n return [];\n }\n\n const message = {\n type: 'suggest',\n query,\n };\n return (await this.request(message)) as ISearchResult[];\n }\n\n async search(query: string, page = 1, count = 10) {\n if (!query || query.trim() === '') {\n return [];\n }\n\n const message = {\n type: 'search',\n query,\n page,\n count,\n };\n return (await this.request(message)) as ISearchResult[];\n }\n\n link = (query: string, page = 1) => {\n const searchParams = new URLSearchParams();\n\n if (query) {\n searchParams.set('query', query);\n }\n\n if (page > 1) {\n searchParams.set('page', page.toString());\n }\n\n const params = searchParams.toString() ? `?${searchParams.toString()}` : '';\n const link = `${this.base}/${this.config.link}${params}`;\n\n return link;\n };\n\n private get base() {\n const base = window.location.href.split('/').slice(0, -this.config.depth).join('/');\n\n return base;\n }\n\n private async request(message: object) {\n const worker = await this.worker;\n return await request(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 await request(worker, {...config, type: 'init'});\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 = (event) => {\n if (event.data.error) {\n reject(event.data.error);\n } else {\n resolve(event.data.result);\n }\n };\n\n channel.port1.onmessageerror = (event) => {\n reject(event);\n };\n\n worker.postMessage(message, [channel.port2]);\n });\n}\n","import type {ISearchProvider, ISearchResult} from '@diplodoc/components';\nimport type {SearchConfig, SearchProviderExtended, WorkerConfig} from '../types';\n\nimport {AlgoliaProvider} from './algolia/index';\n\nexport class LocalSearchProvider 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<ISearchResult[]>;\n }\n\n link = () => null;\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 const {provider = 'local'} = config;\n\n if (provider === 'algolia') {\n return new AlgoliaProvider(config);\n }\n\n return new LocalSearchProvider(config);\n}\n\nexport const SearchProvider = LocalSearchProvider;\n","import 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 {FormattedSearchResultData, SearchProviderExtended, SearchResultData} from './types';\nimport './Search.scss';\n\nconst b = block('Search');\nconst ITEMS_PER_PAGE = 10;\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\nexport const Search: React.FC = () => {\n const provider = useProvider();\n const router = useRouter();\n\n const [query, setQuery] = useState('');\n const [page, setPage] = useState(1);\n const [results, setResults] = useState<FormattedSearchResultData>([]);\n const [total, setTotal] = useState(0);\n const [loading, setLoading] = useState(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 setQuery(q);\n setPage(p);\n }, [router]);\n\n const performSearch = useCallback(async (searchQuery: string, currentPage: number) => {\n setLoading(true);\n try {\n const searchResults = await providerRef.current?.search(\n searchQuery,\n currentPage,\n ITEMS_PER_PAGE,\n );\n const formatted = formatResults(searchResults ?? []);\n setResults(formatted);\n\n const isLastPage = formatted.length < ITEMS_PER_PAGE;\n const totalItems = isLastPage\n ? (currentPage - 1) * ITEMS_PER_PAGE + formatted.length\n : currentPage * ITEMS_PER_PAGE + 1;\n setTotal(formatted.length > 0 ? totalItems : 0);\n } catch {\n setResults([]);\n setTotal(0);\n } finally {\n setLoading(false);\n }\n }, []);\n\n useEffect(() => {\n if (query && providerRef.current) {\n performSearch(query, page);\n } else {\n setResults([]);\n setTotal(0);\n }\n }, [query, page, provider, performSearch]);\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 {useContext, useEffect, useMemo, useState} from 'react';\nimport {ISearchProvider} from '@diplodoc/components';\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 {SearchConfig, WorkerApi, WorkerConfig} from './types';\n\nimport {createContext, useContext} from 'react';\n\nexport type {SearchConfig, WorkerConfig, WorkerApi};\n\nexport const SearchContext = createContext<SearchConfig | null | undefined>(null);\n\nSearchContext.displayName = 'SearchContext';\n\nexport const SearchProvider = SearchContext.Provider;\n\nexport {Search} from './Search';\n\nexport function useSearch() {\n return useContext(SearchContext);\n}\n","import React from 'react';\nimport {createRoot} from 'react-dom/client';\nimport {configure as configureUikit} from '@gravity-ui/uikit';\nimport {configure as configureDocs} from '@diplodoc/components';\n\nimport {Search, SearchConfig, SearchProvider} from './components/Search';\nimport {RouterProvider} from './components/Router';\n\nconst root = document.getElementById('root');\n\nif (!root) {\n throw new Error('Root element not found!');\n}\n\nconst url = new URL(window.location.href);\n\nconst windowData = window.__DATA__;\nconst searchConfig = (windowData || {}) as SearchConfig;\nconst lang = searchConfig.lang;\n\nconfigureUikit({lang});\nconfigureDocs({lang});\n\nsearchConfig.depth = searchConfig.depth || 3;\n\nconst routerConfig = {\n pathname: url.pathname,\n depth: 3,\n};\n\ncreateRoot(root).render(\n <RouterProvider value={routerConfig}>\n <SearchProvider value={searchConfig}>\n <Search />\n </SearchProvider>\n </RouterProvider>,\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony 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};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\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\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 187;","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\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\nvar installedChunks = {\n\t187: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\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(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\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));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(57757)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","e","matches","Element","prototype","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","this","Array","some","call","document","querySelectorAll","el","addEventListener","event","href","target","locationOrigin","window","location","origin","startsWith","preventDefault","extention","endsWith","concat","splitedHref","split","length","join","RouterContext","createContext","pathname","depth","displayName","RouterProvider","Provider","Theme","Light","TextSizes","M","_toConsumableArray","Set","LangContext","Lang","En","b","block","Header","Content","Footer","defaults","doc","Layout","props","header","content","footer","_defaults$props","_objectSpread","children","_defaults$props$heade","headerHeight","React","forEach","child","type","className","HeaderControls","memo","_ref","mobileView","theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","lang","langs","onChangeLang","ControlsLayout","controlClassName","controlSize","ControlSizes","L","isWideView","isMobileView","Controls","AlgoliaProvider","_createClass","config","_this","_classCallCheck","_defineProperty","workerConfig","base","mark","worker","_x4","_initWorker","apply","arguments","initWorker","query","page","undefined","searchParams","URLSearchParams","set","toString","params","link","key","value","_suggest","_asyncToGenerator","_regeneratorRuntime","_callee","message","_context","prev","next","trim","abrupt","request","sent","stop","_x","_search","_callee2","count","_args2","_context2","_x2","get","slice","_request2","_callee3","_context3","_x3","BAD_ORIGIN_ERROR","loadWorker","_loadWorker","_callee4","match","url","blob","_context4","Worker","URL","t0","DOMException","exec","Blob","createObjectURL","_callee5","_context5","channel","MessageChannel","Promise","resolve","reject","port1","onmessage","data","error","result","onmessageerror","postMessage","port2","LocalSearchProvider","t1","t2","setUrlParams","String","history","pushState","formatResults","searchResults","isArray","map","_result$hierarchy","_result$hierarchy2","_result$hierarchy3","title","hierarchy","lvl0","lvl1","description","text","section","Search","provider","useContext","_useContext$depth","search","SearchContext","_useState","useState","_useState2","_slicedToArray","setProvider","useMemo","useEffect","_config$provider","createProvider","useProvider","router","setQuery","_useState3","_useState4","setPage","_useState5","_useState6","results","setResults","_useState7","_useState8","total","setTotal","_useState9","_useState10","loading","setLoading","providerRef","useRef","_provider$init","current","init","_getUrlParams","Number","p","performSearch","useCallback","searchQuery","currentPage","_providerRef$current","formatted","isLastPage","totalItems","finish","handlePageChange","newPage","handleQueryChange","newQuery","SearchPage","items","onPageChange","onSubmit","SearchProvider","root","getElementById","Error","searchConfig","__DATA__","configureUikit","configureDocs","routerConfig","createRoot","render","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","id","loaded","__webpack_modules__","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","t","mode","then","ns","create","def","indexOf","getOwnPropertyNames","definition","o","defineProperty","enumerable","u","chunkId","g","globalThis","Function","prop","hasOwnProperty","Symbol","toStringTag","nmd","paths","scriptUrl","importScripts","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","replace","baseURI","self","installedChunks","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","push","__webpack_exports__"],"sourceRoot":""}
|