@diplodoc/client 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/build/client/350.js +1 -1
- package/build/client/350.js.map +1 -1
- package/build/client/969.js +1 -1
- package/build/client/969.js.map +1 -1
- package/build/client/app.css +1 -0
- package/build/client/app.css.map +1 -1
- package/build/client/app.js +1 -1
- package/build/client/app.js.map +1 -1
- package/build/client/app.rtl.css +1 -0
- package/build/client/manifest.json +5 -2
- package/build/client/search.css +6 -0
- package/build/client/search.css.map +1 -0
- package/build/client/search.js +1 -1
- package/build/client/search.js.map +1 -1
- package/build/client/search.rtl.css +4 -0
- package/build/client/vendor.css +3 -0
- package/build/client/vendor.css.map +1 -1
- package/build/client/vendor.js +1 -1
- package/build/client/vendor.js.map +1 -1
- package/build/client/vendor.rtl.css +3 -0
- package/build/components/Search/Search.d.ts +2 -1
- package/build/components/Search/provider/algolia/index.d.ts +4 -4
- package/build/components/Search/provider/index.d.ts +4 -4
- package/build/components/Search/types.d.ts +27 -1
- package/build/index.d.ts +0 -6
- package/build/server/112.js +23 -11
- package/build/server/112.js.map +1 -1
- package/build/server/731.js +23 -11
- package/build/server/731.js.map +1 -1
- package/build/server/app.js +566 -404
- package/build/server/app.js.map +1 -1
- package/package.json +1 -1
package/build/server/app.js
CHANGED
|
@@ -102,20 +102,17 @@ var InterfaceContext = __webpack_require__(6790);
|
|
|
102
102
|
var ConsentPopup = __webpack_require__(10178);
|
|
103
103
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/transform/dist/js/yfm.js
|
|
104
104
|
var yfm = __webpack_require__(20553);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
function useSearch() {
|
|
117
|
-
return (0,react.useContext)(SearchContext);
|
|
118
|
-
}
|
|
105
|
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
106
|
+
var asyncToGenerator = __webpack_require__(29293);
|
|
107
|
+
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
108
|
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
109
|
+
var slicedToArray = __webpack_require__(85715);
|
|
110
|
+
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
111
|
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
|
|
112
|
+
var regenerator = __webpack_require__(54756);
|
|
113
|
+
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
|
|
114
|
+
// EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
|
|
115
|
+
var lib = __webpack_require__(23614);
|
|
119
116
|
;// ./src/components/Router/index.ts
|
|
120
117
|
|
|
121
118
|
var RouterContext = /*#__PURE__*/(0,react.createContext)({
|
|
@@ -124,132 +121,13 @@ var RouterContext = /*#__PURE__*/(0,react.createContext)({
|
|
|
124
121
|
});
|
|
125
122
|
RouterContext.displayName = 'RouterContext';
|
|
126
123
|
var RouterProvider = RouterContext.Provider;
|
|
127
|
-
function
|
|
124
|
+
function Router_useRouter() {
|
|
128
125
|
return (0,react.useContext)(RouterContext);
|
|
129
126
|
}
|
|
130
|
-
|
|
131
|
-
var utils = __webpack_require__(57010);
|
|
132
|
-
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
133
|
-
var toConsumableArray = __webpack_require__(41132);
|
|
134
|
-
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
135
|
-
;// ./src/constants.ts
|
|
127
|
+
;// ./src/components/index.ts
|
|
136
128
|
|
|
137
129
|
|
|
138
|
-
var HEADER_HEIGHT = 64;
|
|
139
|
-
var MOBILE_VIEW_WIDTH_BREAKPOINT = 769;
|
|
140
|
-
var DEFAULT_USER_SETTINGS = {
|
|
141
|
-
theme: models/* Theme */.Sx.Light,
|
|
142
|
-
textSize: models/* TextSizes */.ov.M,
|
|
143
|
-
showMiniToc: true,
|
|
144
|
-
wideFormat: true,
|
|
145
|
-
fullScreen: false
|
|
146
|
-
};
|
|
147
|
-
var RTL_LANGS = ['ar', 'arc', 'ckb', 'dv', 'fa', 'ha', 'he', 'khw', 'ks', 'ps', 'sd', 'ur', 'uz_AF', 'yi'];
|
|
148
|
-
var TextDirection = /*#__PURE__*/function (TextDirection) {
|
|
149
|
-
TextDirection["RTL"] = "rtl";
|
|
150
|
-
TextDirection["LTR"] = "ltr";
|
|
151
|
-
return TextDirection;
|
|
152
|
-
}({});
|
|
153
|
-
var LINK_KEYS_LEADING_CONFIG = ['href'];
|
|
154
|
-
var LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = ['src', 'url', 'href', 'icon', 'image', 'desktop', 'mobile', 'tablet', 'previewImg', 'image', 'avatar', 'logo', 'light', 'dark'];
|
|
155
|
-
var LINK_KEYS = toConsumableArray_default()(new Set([].concat(LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG)));
|
|
156
|
-
;// ./src/utils.ts
|
|
157
|
-
|
|
158
130
|
|
|
159
|
-
function isBrowser() {
|
|
160
|
-
return typeof document !== 'undefined';
|
|
161
|
-
}
|
|
162
|
-
function updateThemeClassName(_ref) {
|
|
163
|
-
var theme = _ref.theme;
|
|
164
|
-
if (typeof document === 'undefined') {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
document.querySelectorAll('.g-root').forEach(function (el) {
|
|
168
|
-
el.classList.toggle('g-root_theme_light', theme === 'light');
|
|
169
|
-
el.classList.toggle('g-root_theme_dark', theme === 'dark');
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
function updateRootClassName(states) {
|
|
173
|
-
if (!isBrowser()) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
document.body.classList.add('g-root');
|
|
177
|
-
var toggle = function toggle(name, state) {
|
|
178
|
-
return document.body.classList.toggle(name, Boolean(state));
|
|
179
|
-
};
|
|
180
|
-
Object.keys(states).forEach(function (state) {
|
|
181
|
-
switch (state) {
|
|
182
|
-
case 'wideFormat':
|
|
183
|
-
toggle('dc-root_wide-format', states[state]);
|
|
184
|
-
break;
|
|
185
|
-
case 'focusSearch':
|
|
186
|
-
toggle('dc-root_focused-search', states[state]);
|
|
187
|
-
break;
|
|
188
|
-
case 'fullScreen':
|
|
189
|
-
toggle('dc-root_full-screen', states[state]);
|
|
190
|
-
break;
|
|
191
|
-
case 'landingPage':
|
|
192
|
-
toggle('dc-root_document-page', !states[state]);
|
|
193
|
-
toggle('dc-root_landing-page', states[state]);
|
|
194
|
-
break;
|
|
195
|
-
case 'mobileView':
|
|
196
|
-
toggle('mobile', states[state]);
|
|
197
|
-
toggle('desktop', !states[state]);
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
function getDirection(lang) {
|
|
203
|
-
var isRTL = RTL_LANGS.includes(lang);
|
|
204
|
-
return isRTL ? TextDirection.RTL : TextDirection.LTR;
|
|
205
|
-
}
|
|
206
|
-
var toBoolean = function toBoolean(str) {
|
|
207
|
-
if (typeof str === 'boolean') {
|
|
208
|
-
return str;
|
|
209
|
-
}
|
|
210
|
-
return str ? str === 'true' : false;
|
|
211
|
-
};
|
|
212
|
-
function getSettings() {
|
|
213
|
-
var theme = getSetting('theme');
|
|
214
|
-
var textSize = getSetting('textSize');
|
|
215
|
-
var showMiniToc = getSetting('showMiniToc');
|
|
216
|
-
var wideFormat = getSetting('wideFormat');
|
|
217
|
-
var fullScreen = getSetting('fullScreen');
|
|
218
|
-
return {
|
|
219
|
-
theme: theme,
|
|
220
|
-
textSize: textSize,
|
|
221
|
-
showMiniToc: toBoolean(showMiniToc),
|
|
222
|
-
wideFormat: toBoolean(wideFormat),
|
|
223
|
-
fullScreen: toBoolean(fullScreen)
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
function getLandingPage(data) {
|
|
227
|
-
return (0,utils/* getPageType */.M5)(data) === 'PAGE_CONSTRUCTOR';
|
|
228
|
-
}
|
|
229
|
-
function getMobileView() {
|
|
230
|
-
if (!isBrowser()) {
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
return document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT;
|
|
234
|
-
}
|
|
235
|
-
function getSetting(name) {
|
|
236
|
-
if (!isBrowser()) {
|
|
237
|
-
return DEFAULT_USER_SETTINGS[name];
|
|
238
|
-
}
|
|
239
|
-
try {
|
|
240
|
-
return sessionStorage.getItem(name) || DEFAULT_USER_SETTINGS[name];
|
|
241
|
-
} catch (_unused) {
|
|
242
|
-
return DEFAULT_USER_SETTINGS[name];
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
function setSetting(name, value) {
|
|
246
|
-
if (!isBrowser()) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
try {
|
|
250
|
-
sessionStorage.setItem(name, String(value));
|
|
251
|
-
} catch (_unused2) {}
|
|
252
|
-
}
|
|
253
131
|
;// ./src/hooks/useLang.ts
|
|
254
132
|
|
|
255
133
|
|
|
@@ -259,174 +137,20 @@ var LangProvider = LangContext.Provider;
|
|
|
259
137
|
function useLang() {
|
|
260
138
|
return (0,react.useContext)(LangContext);
|
|
261
139
|
}
|
|
262
|
-
// EXTERNAL MODULE: ./src/interceptors/leading-page-links.js
|
|
263
|
-
var leading_page_links = __webpack_require__(44186);
|
|
264
|
-
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
|
|
265
|
-
var objectWithoutProperties = __webpack_require__(91847);
|
|
266
|
-
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
267
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/Provider.js
|
|
268
|
-
var Provider = __webpack_require__(47658);
|
|
269
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 10 modules
|
|
270
|
-
var PageConstructor = __webpack_require__(95168);
|
|
271
|
-
// EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
|
|
272
|
-
var lib = __webpack_require__(23614);
|
|
273
|
-
;// ./src/components/Layout/index.tsx
|
|
274
|
-
|
|
275
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
276
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty_default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
var b = (0,lib/* default */.A)('Layout');
|
|
281
|
-
function Header() {
|
|
282
|
-
return null;
|
|
283
|
-
}
|
|
284
|
-
function Content() {
|
|
285
|
-
return null;
|
|
286
|
-
}
|
|
287
|
-
function Footer() {
|
|
288
|
-
return null;
|
|
289
|
-
}
|
|
290
|
-
var defaults = {
|
|
291
|
-
doc: false
|
|
292
|
-
};
|
|
293
|
-
var Layout = function Layout(props) {
|
|
294
|
-
var _defaults$props = _objectSpread(_objectSpread({}, defaults), props),
|
|
295
|
-
children = _defaults$props.children,
|
|
296
|
-
doc = _defaults$props.doc,
|
|
297
|
-
_defaults$props$heade = _defaults$props.headerHeight,
|
|
298
|
-
headerHeight = _defaults$props$heade === void 0 ? 0 : _defaults$props$heade;
|
|
299
|
-
var header, content, footer;
|
|
300
|
-
react.Children.forEach(children, function (child) {
|
|
301
|
-
switch (child.type) {
|
|
302
|
-
case Header:
|
|
303
|
-
header = child.props.children;
|
|
304
|
-
break;
|
|
305
|
-
case Content:
|
|
306
|
-
content = child.props.children;
|
|
307
|
-
break;
|
|
308
|
-
case Footer:
|
|
309
|
-
footer = child.props.children;
|
|
310
|
-
break;
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
return /*#__PURE__*/react.createElement("div", {
|
|
314
|
-
className: b({
|
|
315
|
-
'full-header': headerHeight > 0
|
|
316
|
-
})
|
|
317
|
-
}, header && /*#__PURE__*/react.createElement("div", {
|
|
318
|
-
className: b('header')
|
|
319
|
-
}, header), /*#__PURE__*/react.createElement("div", {
|
|
320
|
-
className: b('body')
|
|
321
|
-
}, content && /*#__PURE__*/react.createElement("div", {
|
|
322
|
-
className: b('content')
|
|
323
|
-
}, content), footer && /*#__PURE__*/react.createElement("div", {
|
|
324
|
-
className: b('footer', {
|
|
325
|
-
doc: doc
|
|
326
|
-
})
|
|
327
|
-
}, footer)));
|
|
328
|
-
};
|
|
329
|
-
Layout.displayName = 'Layout';
|
|
330
|
-
Layout.Header = Header;
|
|
331
|
-
Layout.Content = Content;
|
|
332
|
-
Layout.Footer = Footer;
|
|
333
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Row/Row.js
|
|
334
|
-
var Row = __webpack_require__(98058);
|
|
335
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Col/Col.js + 1 modules
|
|
336
|
-
var Col = __webpack_require__(12445);
|
|
337
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/context/theme/useTheme.js
|
|
338
|
-
var useTheme = __webpack_require__(79568);
|
|
339
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/utils/theme.js
|
|
340
|
-
var utils_theme = __webpack_require__(3259);
|
|
341
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/BackgroundMedia/BackgroundMedia.js + 1 modules
|
|
342
|
-
var BackgroundMedia = __webpack_require__(61998);
|
|
343
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Grid/Grid.js + 2 modules
|
|
344
|
-
var Grid = __webpack_require__(62945);
|
|
345
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js + 10 modules
|
|
346
|
-
var ConstructorBlocks = __webpack_require__(94012);
|
|
347
|
-
;// ./src/components/ConstructorPage/index.tsx
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
var bPC = (0,lib/* default */.A)('pc-page-constructor');
|
|
352
|
-
var bPCRow = (0,lib/* default */.A)('pc-constructor-row');
|
|
353
|
-
var ConstructorRow = function ConstructorRow(_ref) {
|
|
354
|
-
var children = _ref.children;
|
|
355
|
-
return children ? /*#__PURE__*/react.createElement(Row/* Row */.f, {
|
|
356
|
-
className: bPCRow()
|
|
357
|
-
}, /*#__PURE__*/react.createElement(Col/* Col */.f, null, children)) : null;
|
|
358
|
-
};
|
|
359
|
-
function ConstructorPage(_ref2) {
|
|
360
|
-
var background = _ref2.background,
|
|
361
|
-
blocks = _ref2.blocks;
|
|
362
|
-
var theme = (0,useTheme/* useTheme */.D)();
|
|
363
|
-
var themedBackground = (0,utils_theme/* getThemedValue */.d)(background, theme);
|
|
364
|
-
return /*#__PURE__*/react.createElement("div", {
|
|
365
|
-
className: bPC('docs')
|
|
366
|
-
}, /*#__PURE__*/react.createElement("div", {
|
|
367
|
-
className: bPC('wrapper')
|
|
368
|
-
}, blocks && themedBackground && /*#__PURE__*/react.createElement(BackgroundMedia/* default */.A, Object.assign({}, themedBackground, {
|
|
369
|
-
className: bPC('background')
|
|
370
|
-
})), /*#__PURE__*/react.createElement(Grid/* Grid */.x, null, /*#__PURE__*/react.createElement(ConstructorRow, null, /*#__PURE__*/react.createElement(ConstructorBlocks/* ConstructorBlocks */.F, {
|
|
371
|
-
items: blocks
|
|
372
|
-
})))));
|
|
373
|
-
}
|
|
374
|
-
;// ./src/components/ConstructorPage/useContent.tsx
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
var useContent = function useContent(data, CustomPage) {
|
|
378
|
-
var type = (0,utils/* getPageType */.M5)(data);
|
|
379
|
-
var fullScreen = type === models/* DocumentType */.KG.PageConstructor && 'data' in data && 'fullScreen' in data.data && data.data.fullScreen;
|
|
380
|
-
var layout = (0,react.useMemo)(function () {
|
|
381
|
-
return fullScreen ? data.data : {
|
|
382
|
-
blocks: [{
|
|
383
|
-
type: 'page',
|
|
384
|
-
resetPaddings: true
|
|
385
|
-
}]
|
|
386
|
-
};
|
|
387
|
-
}, [fullScreen, data]);
|
|
388
|
-
var config = (0,react.useMemo)(function () {
|
|
389
|
-
return {
|
|
390
|
-
custom: {
|
|
391
|
-
page: CustomPage
|
|
392
|
-
},
|
|
393
|
-
layout: layout
|
|
394
|
-
};
|
|
395
|
-
}, [CustomPage, layout]);
|
|
396
|
-
return config;
|
|
397
|
-
};
|
|
398
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
|
|
399
|
-
var useInterface = __webpack_require__(40258);
|
|
400
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/SearchSuggest/index.js + 8 modules
|
|
401
|
-
var SearchSuggest = __webpack_require__(9400);
|
|
402
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Icon/Icon.js + 3 modules
|
|
403
|
-
var Icon = __webpack_require__(29504);
|
|
404
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/icons/esm/Magnifier.js
|
|
405
|
-
var Magnifier = __webpack_require__(84941);
|
|
406
|
-
;// ./src/components/index.ts
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
|
|
411
|
-
var asyncToGenerator = __webpack_require__(29293);
|
|
412
|
-
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
413
140
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/classCallCheck.js
|
|
414
141
|
var classCallCheck = __webpack_require__(17383);
|
|
415
142
|
var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck);
|
|
416
143
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/createClass.js
|
|
417
144
|
var createClass = __webpack_require__(34579);
|
|
418
145
|
var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass);
|
|
419
|
-
// EXTERNAL MODULE: ./node_modules/@babel/runtime/regenerator/index.js
|
|
420
|
-
var regenerator = __webpack_require__(54756);
|
|
421
|
-
var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);
|
|
422
146
|
;// ./src/components/Search/provider/algolia/index.ts
|
|
423
147
|
|
|
424
148
|
|
|
425
149
|
|
|
426
150
|
|
|
427
151
|
|
|
428
|
-
function
|
|
429
|
-
function
|
|
152
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
153
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty_default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
430
154
|
var AlgoliaProvider = /*#__PURE__*/function () {
|
|
431
155
|
function AlgoliaProvider(config) {
|
|
432
156
|
var _this = this;
|
|
@@ -434,14 +158,22 @@ var AlgoliaProvider = /*#__PURE__*/function () {
|
|
|
434
158
|
defineProperty_default()(this, "worker", void 0);
|
|
435
159
|
defineProperty_default()(this, "config", void 0);
|
|
436
160
|
defineProperty_default()(this, "init", function () {
|
|
437
|
-
var workerConfig =
|
|
161
|
+
var workerConfig = _objectSpread(_objectSpread({}, _this.config), {}, {
|
|
438
162
|
base: _this.base,
|
|
439
163
|
mark: 'Suggest__Item__Marker'
|
|
440
164
|
});
|
|
441
165
|
_this.worker = initWorker(workerConfig);
|
|
442
166
|
});
|
|
443
167
|
defineProperty_default()(this, "link", function (query) {
|
|
444
|
-
var
|
|
168
|
+
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
169
|
+
var searchParams = new URLSearchParams();
|
|
170
|
+
if (query) {
|
|
171
|
+
searchParams.set('query', query);
|
|
172
|
+
}
|
|
173
|
+
if (page > 1) {
|
|
174
|
+
searchParams.set('page', page.toString());
|
|
175
|
+
}
|
|
176
|
+
var params = searchParams.toString() ? "?".concat(searchParams.toString()) : '';
|
|
445
177
|
var link = "".concat(_this.base, "/").concat(_this.config.link).concat(params);
|
|
446
178
|
return link;
|
|
447
179
|
});
|
|
@@ -451,20 +183,25 @@ var AlgoliaProvider = /*#__PURE__*/function () {
|
|
|
451
183
|
key: "suggest",
|
|
452
184
|
value: function () {
|
|
453
185
|
var _suggest = asyncToGenerator_default()(/*#__PURE__*/regenerator_default().mark(function _callee(query) {
|
|
454
|
-
var message
|
|
186
|
+
var message;
|
|
455
187
|
return regenerator_default().wrap(function (_context) {
|
|
456
188
|
while (1) switch (_context.prev = _context.next) {
|
|
457
189
|
case 0:
|
|
190
|
+
if (!(!query || query.trim() === '')) {
|
|
191
|
+
_context.next = 1;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
return _context.abrupt("return", []);
|
|
195
|
+
case 1:
|
|
458
196
|
message = {
|
|
459
197
|
type: 'suggest',
|
|
460
198
|
query: query
|
|
461
199
|
};
|
|
462
|
-
_context.next =
|
|
200
|
+
_context.next = 2;
|
|
463
201
|
return this.request(message);
|
|
464
|
-
case 1:
|
|
465
|
-
results = _context.sent;
|
|
466
|
-
return _context.abrupt("return", results);
|
|
467
202
|
case 2:
|
|
203
|
+
return _context.abrupt("return", _context.sent);
|
|
204
|
+
case 3:
|
|
468
205
|
case "end":
|
|
469
206
|
return _context.stop();
|
|
470
207
|
}
|
|
@@ -479,20 +216,32 @@ var AlgoliaProvider = /*#__PURE__*/function () {
|
|
|
479
216
|
key: "search",
|
|
480
217
|
value: function () {
|
|
481
218
|
var _search = asyncToGenerator_default()(/*#__PURE__*/regenerator_default().mark(function _callee2(query) {
|
|
482
|
-
var
|
|
219
|
+
var page,
|
|
220
|
+
count,
|
|
221
|
+
message,
|
|
222
|
+
_args2 = arguments;
|
|
483
223
|
return regenerator_default().wrap(function (_context2) {
|
|
484
224
|
while (1) switch (_context2.prev = _context2.next) {
|
|
485
225
|
case 0:
|
|
226
|
+
page = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 1;
|
|
227
|
+
count = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 10;
|
|
228
|
+
if (!(!query || query.trim() === '')) {
|
|
229
|
+
_context2.next = 1;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
return _context2.abrupt("return", []);
|
|
233
|
+
case 1:
|
|
486
234
|
message = {
|
|
487
235
|
type: 'search',
|
|
488
|
-
query: query
|
|
236
|
+
query: query,
|
|
237
|
+
page: page,
|
|
238
|
+
count: count
|
|
489
239
|
};
|
|
490
|
-
_context2.next =
|
|
240
|
+
_context2.next = 2;
|
|
491
241
|
return this.request(message);
|
|
492
|
-
case 1:
|
|
493
|
-
results = _context2.sent;
|
|
494
|
-
return _context2.abrupt("return", results);
|
|
495
242
|
case 2:
|
|
243
|
+
return _context2.abrupt("return", _context2.sent);
|
|
244
|
+
case 3:
|
|
496
245
|
case "end":
|
|
497
246
|
return _context2.stop();
|
|
498
247
|
}
|
|
@@ -513,7 +262,7 @@ var AlgoliaProvider = /*#__PURE__*/function () {
|
|
|
513
262
|
key: "request",
|
|
514
263
|
value: function () {
|
|
515
264
|
var _request2 = asyncToGenerator_default()(/*#__PURE__*/regenerator_default().mark(function _callee3(message) {
|
|
516
|
-
var worker
|
|
265
|
+
var worker;
|
|
517
266
|
return regenerator_default().wrap(function (_context3) {
|
|
518
267
|
while (1) switch (_context3.prev = _context3.next) {
|
|
519
268
|
case 0:
|
|
@@ -524,8 +273,7 @@ var AlgoliaProvider = /*#__PURE__*/function () {
|
|
|
524
273
|
_context3.next = 2;
|
|
525
274
|
return _request(worker, message);
|
|
526
275
|
case 2:
|
|
527
|
-
|
|
528
|
-
return _context3.abrupt("return", result);
|
|
276
|
+
return _context3.abrupt("return", _context3.sent);
|
|
529
277
|
case 3:
|
|
530
278
|
case "end":
|
|
531
279
|
return _context3.stop();
|
|
@@ -592,7 +340,7 @@ function _initWorker() {
|
|
|
592
340
|
case 1:
|
|
593
341
|
worker = _context5.sent;
|
|
594
342
|
_context5.next = 2;
|
|
595
|
-
return _request(worker,
|
|
343
|
+
return _request(worker, _objectSpread(_objectSpread({}, config), {}, {
|
|
596
344
|
type: 'init'
|
|
597
345
|
}));
|
|
598
346
|
case 2:
|
|
@@ -608,17 +356,15 @@ function _initWorker() {
|
|
|
608
356
|
function _request(worker, message) {
|
|
609
357
|
var channel = new MessageChannel();
|
|
610
358
|
return new Promise(function (resolve, reject) {
|
|
611
|
-
channel.port1.onmessage = function (
|
|
612
|
-
if (
|
|
613
|
-
|
|
614
|
-
console.error(message.data.error);
|
|
615
|
-
reject(message.data.error);
|
|
359
|
+
channel.port1.onmessage = function (event) {
|
|
360
|
+
if (event.data.error) {
|
|
361
|
+
reject(event.data.error);
|
|
616
362
|
} else {
|
|
617
|
-
resolve(
|
|
363
|
+
resolve(event.data.result);
|
|
618
364
|
}
|
|
619
365
|
};
|
|
620
|
-
channel.port1.onmessageerror = function (
|
|
621
|
-
reject(
|
|
366
|
+
channel.port1.onmessageerror = function (event) {
|
|
367
|
+
reject(event);
|
|
622
368
|
};
|
|
623
369
|
worker.postMessage(message, [channel.port2]);
|
|
624
370
|
});
|
|
@@ -644,10 +390,17 @@ var LocalSearchProvider = /*#__PURE__*/function () {
|
|
|
644
390
|
mark: 'Suggest__Item__Marker'
|
|
645
391
|
}));
|
|
646
392
|
});
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
393
|
+
defineProperty_default()(this, "link", function (query) {
|
|
394
|
+
var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
395
|
+
var searchParams = new URLSearchParams();
|
|
396
|
+
if (query) {
|
|
397
|
+
searchParams.set('query', query);
|
|
398
|
+
}
|
|
399
|
+
if (page > 1) {
|
|
400
|
+
searchParams.set('page', page.toString());
|
|
401
|
+
}
|
|
402
|
+
var params = searchParams.toString() ? "?".concat(searchParams.toString()) : '';
|
|
403
|
+
return "".concat(_this.base, "/").concat(_this.config.link).concat(params);
|
|
651
404
|
});
|
|
652
405
|
this.config = config;
|
|
653
406
|
}
|
|
@@ -677,12 +430,19 @@ var LocalSearchProvider = /*#__PURE__*/function () {
|
|
|
677
430
|
key: "search",
|
|
678
431
|
value: function () {
|
|
679
432
|
var _search = asyncToGenerator_default()(/*#__PURE__*/regenerator_default().mark(function _callee2(query) {
|
|
433
|
+
var page,
|
|
434
|
+
count,
|
|
435
|
+
_args2 = arguments;
|
|
680
436
|
return regenerator_default().wrap(function (_context2) {
|
|
681
437
|
while (1) switch (_context2.prev = _context2.next) {
|
|
682
438
|
case 0:
|
|
439
|
+
page = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 1;
|
|
440
|
+
count = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : 10;
|
|
683
441
|
return _context2.abrupt("return", this.request({
|
|
684
442
|
type: 'search',
|
|
685
|
-
query: query
|
|
443
|
+
query: query,
|
|
444
|
+
page: page,
|
|
445
|
+
count: count
|
|
686
446
|
}));
|
|
687
447
|
case 1:
|
|
688
448
|
case "end":
|
|
@@ -697,14 +457,7 @@ var LocalSearchProvider = /*#__PURE__*/function () {
|
|
|
697
457
|
}()
|
|
698
458
|
}, {
|
|
699
459
|
key: "base",
|
|
700
|
-
get:
|
|
701
|
-
// link = (query: string) => {
|
|
702
|
-
// const params = query ? `?query=${encodeURIComponent(query)}` : '';
|
|
703
|
-
//
|
|
704
|
-
// return `${this.base}/${this.config.link}${params}`;
|
|
705
|
-
// };
|
|
706
|
-
|
|
707
|
-
function get() {
|
|
460
|
+
get: function get() {
|
|
708
461
|
return window.location.href.split('/').slice(0, -this.config.depth).join('/');
|
|
709
462
|
}
|
|
710
463
|
}, {
|
|
@@ -774,87 +527,499 @@ function Search_provider_loadWorker() {
|
|
|
774
527
|
}));
|
|
775
528
|
return Search_provider_loadWorker.apply(this, arguments);
|
|
776
529
|
}
|
|
777
|
-
function provider_initWorker(_x4) {
|
|
778
|
-
return Search_provider_initWorker.apply(this, arguments);
|
|
530
|
+
function provider_initWorker(_x4) {
|
|
531
|
+
return Search_provider_initWorker.apply(this, arguments);
|
|
532
|
+
}
|
|
533
|
+
function Search_provider_initWorker() {
|
|
534
|
+
Search_provider_initWorker = asyncToGenerator_default()(/*#__PURE__*/regenerator_default().mark(function _callee5(config) {
|
|
535
|
+
var worker;
|
|
536
|
+
return regenerator_default().wrap(function (_context5) {
|
|
537
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
538
|
+
case 0:
|
|
539
|
+
_context5.next = 1;
|
|
540
|
+
return provider_loadWorker();
|
|
541
|
+
case 1:
|
|
542
|
+
worker = _context5.sent;
|
|
543
|
+
_context5.next = 2;
|
|
544
|
+
return provider_request(worker, provider_objectSpread(provider_objectSpread({}, config), {}, {
|
|
545
|
+
type: 'init'
|
|
546
|
+
}));
|
|
547
|
+
case 2:
|
|
548
|
+
return _context5.abrupt("return", worker);
|
|
549
|
+
case 3:
|
|
550
|
+
case "end":
|
|
551
|
+
return _context5.stop();
|
|
552
|
+
}
|
|
553
|
+
}, _callee5);
|
|
554
|
+
}));
|
|
555
|
+
return Search_provider_initWorker.apply(this, arguments);
|
|
556
|
+
}
|
|
557
|
+
function provider_request(worker, message) {
|
|
558
|
+
var channel = new MessageChannel();
|
|
559
|
+
return new Promise(function (resolve, reject) {
|
|
560
|
+
channel.port1.onmessage = function (message) {
|
|
561
|
+
if (message.data.error) {
|
|
562
|
+
reject(message.data.error);
|
|
563
|
+
} else {
|
|
564
|
+
resolve(message.data.result);
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
channel.port1.onmessageerror = function (message) {
|
|
568
|
+
reject(message.data.error);
|
|
569
|
+
};
|
|
570
|
+
worker.postMessage(message, [channel.port2]);
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
function createProvider(config) {
|
|
574
|
+
if (!config) {
|
|
575
|
+
return null;
|
|
576
|
+
}
|
|
577
|
+
var _config$provider = config.provider,
|
|
578
|
+
provider = _config$provider === void 0 ? 'local' : _config$provider;
|
|
579
|
+
if (provider === 'algolia') {
|
|
580
|
+
return new AlgoliaProvider(config);
|
|
581
|
+
}
|
|
582
|
+
return new LocalSearchProvider(config);
|
|
583
|
+
}
|
|
584
|
+
var SearchProvider = (/* unused pure expression or super */ null && (LocalSearchProvider));
|
|
585
|
+
;// ./src/components/Search/useProvider.ts
|
|
586
|
+
|
|
587
|
+
function useProvider_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
588
|
+
function useProvider_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? useProvider_ownKeys(Object(t), !0).forEach(function (r) { defineProperty_default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : useProvider_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
function useProvider_useProvider() {
|
|
594
|
+
var lang = useLang();
|
|
595
|
+
var _useContext = (0,react.useContext)(RouterContext),
|
|
596
|
+
_useContext$depth = _useContext.depth,
|
|
597
|
+
depth = _useContext$depth === void 0 ? 0 : _useContext$depth;
|
|
598
|
+
var search = (0,react.useContext)(SearchContext);
|
|
599
|
+
return (0,react.useMemo)(function () {
|
|
600
|
+
if (!search) {
|
|
601
|
+
return null;
|
|
602
|
+
}
|
|
603
|
+
return createProvider(useProvider_objectSpread(useProvider_objectSpread({}, search), {}, {
|
|
604
|
+
depth: depth,
|
|
605
|
+
lang: lang
|
|
606
|
+
}));
|
|
607
|
+
}, [lang, depth, search]);
|
|
608
|
+
}
|
|
609
|
+
;// ./src/components/Search/Search.tsx
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
var b = (0,lib/* default */.A)('Search');
|
|
620
|
+
var ITEMS_PER_PAGE = 10;
|
|
621
|
+
function getUrlParams() {
|
|
622
|
+
var params = new URLSearchParams(window.location.search);
|
|
623
|
+
return {
|
|
624
|
+
query: params.get('query') || '',
|
|
625
|
+
page: Number(params.get('page')) || 1
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
function setUrlParams(query, page) {
|
|
629
|
+
var params = new URLSearchParams();
|
|
630
|
+
if (query) params.set('query', query);
|
|
631
|
+
if (page > 1) params.set('page', String(page));
|
|
632
|
+
window.history.pushState({}, '', "?".concat(params.toString()));
|
|
633
|
+
}
|
|
634
|
+
function formatResults(searchResults) {
|
|
635
|
+
if (!Array.isArray(searchResults)) return [];
|
|
636
|
+
return searchResults.map(function (result) {
|
|
637
|
+
var _result$hierarchy, _result$hierarchy2, _result$hierarchy3;
|
|
638
|
+
return {
|
|
639
|
+
title: (result === null || result === void 0 ? void 0 : result.title) || (result === null || result === void 0 || (_result$hierarchy = result.hierarchy) === null || _result$hierarchy === void 0 ? void 0 : _result$hierarchy.lvl0) || (result === null || result === void 0 || (_result$hierarchy2 = result.hierarchy) === null || _result$hierarchy2 === void 0 ? void 0 : _result$hierarchy2.lvl1) || '',
|
|
640
|
+
url: (result === null || result === void 0 ? void 0 : result.url) || (result === null || result === void 0 ? void 0 : result.link) || '#',
|
|
641
|
+
description: (result === null || result === void 0 ? void 0 : result.description) || (result === null || result === void 0 ? void 0 : result.content) || (result === null || result === void 0 ? void 0 : result.text) || '',
|
|
642
|
+
section: (result === null || result === void 0 ? void 0 : result.section) || (result === null || result === void 0 || (_result$hierarchy3 = result.hierarchy) === null || _result$hierarchy3 === void 0 ? void 0 : _result$hierarchy3.lvl1) || ''
|
|
643
|
+
};
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
var Search = function Search() {
|
|
647
|
+
var provider = useProvider();
|
|
648
|
+
var router = useRouter();
|
|
649
|
+
var _useState = useState(''),
|
|
650
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
651
|
+
query = _useState2[0],
|
|
652
|
+
setQuery = _useState2[1];
|
|
653
|
+
var _useState3 = useState(1),
|
|
654
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
655
|
+
page = _useState4[0],
|
|
656
|
+
setPage = _useState4[1];
|
|
657
|
+
var _useState5 = useState([]),
|
|
658
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
659
|
+
results = _useState6[0],
|
|
660
|
+
setResults = _useState6[1];
|
|
661
|
+
var _useState7 = useState(0),
|
|
662
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
663
|
+
total = _useState8[0],
|
|
664
|
+
setTotal = _useState8[1];
|
|
665
|
+
var _useState9 = useState(false),
|
|
666
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
667
|
+
loading = _useState0[0],
|
|
668
|
+
setLoading = _useState0[1];
|
|
669
|
+
var providerRef = useRef(null);
|
|
670
|
+
useEffect(function () {
|
|
671
|
+
var _provider$init;
|
|
672
|
+
providerRef.current = provider;
|
|
673
|
+
provider === null || provider === void 0 || (_provider$init = provider.init) === null || _provider$init === void 0 || _provider$init.call(provider);
|
|
674
|
+
}, [provider]);
|
|
675
|
+
useEffect(function () {
|
|
676
|
+
var _getUrlParams = getUrlParams(),
|
|
677
|
+
q = _getUrlParams.query,
|
|
678
|
+
p = _getUrlParams.page;
|
|
679
|
+
setQuery(q);
|
|
680
|
+
setPage(p);
|
|
681
|
+
}, [router]);
|
|
682
|
+
var performSearch = useCallback(/*#__PURE__*/function () {
|
|
683
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(searchQuery, currentPage) {
|
|
684
|
+
var _providerRef$current, searchResults, formatted, isLastPage, totalItems, _t;
|
|
685
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
686
|
+
while (1) switch (_context.prev = _context.next) {
|
|
687
|
+
case 0:
|
|
688
|
+
setLoading(true);
|
|
689
|
+
_context.prev = 1;
|
|
690
|
+
_context.next = 2;
|
|
691
|
+
return (_providerRef$current = providerRef.current) === null || _providerRef$current === void 0 ? void 0 : _providerRef$current.search(searchQuery, currentPage, ITEMS_PER_PAGE);
|
|
692
|
+
case 2:
|
|
693
|
+
searchResults = _context.sent;
|
|
694
|
+
formatted = formatResults(searchResults !== null && searchResults !== void 0 ? searchResults : []);
|
|
695
|
+
setResults(formatted);
|
|
696
|
+
isLastPage = formatted.length < ITEMS_PER_PAGE;
|
|
697
|
+
totalItems = isLastPage ? (currentPage - 1) * ITEMS_PER_PAGE + formatted.length : currentPage * ITEMS_PER_PAGE + 1;
|
|
698
|
+
setTotal(formatted.length > 0 ? totalItems : 0);
|
|
699
|
+
_context.next = 4;
|
|
700
|
+
break;
|
|
701
|
+
case 3:
|
|
702
|
+
_context.prev = 3;
|
|
703
|
+
_t = _context["catch"](1);
|
|
704
|
+
setResults([]);
|
|
705
|
+
setTotal(0);
|
|
706
|
+
case 4:
|
|
707
|
+
_context.prev = 4;
|
|
708
|
+
setLoading(false);
|
|
709
|
+
return _context.finish(4);
|
|
710
|
+
case 5:
|
|
711
|
+
case "end":
|
|
712
|
+
return _context.stop();
|
|
713
|
+
}
|
|
714
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
715
|
+
}));
|
|
716
|
+
return function (_x, _x2) {
|
|
717
|
+
return _ref.apply(this, arguments);
|
|
718
|
+
};
|
|
719
|
+
}(), []);
|
|
720
|
+
useEffect(function () {
|
|
721
|
+
if (query && providerRef.current) {
|
|
722
|
+
performSearch(query, page);
|
|
723
|
+
} else {
|
|
724
|
+
setResults([]);
|
|
725
|
+
setTotal(0);
|
|
726
|
+
}
|
|
727
|
+
}, [query, page, provider, performSearch]);
|
|
728
|
+
var handlePageChange = useCallback(function (newPage) {
|
|
729
|
+
setUrlParams(query, newPage);
|
|
730
|
+
setPage(newPage);
|
|
731
|
+
}, [query]);
|
|
732
|
+
var handleQueryChange = useCallback(function (newQuery) {
|
|
733
|
+
setUrlParams(newQuery, 1);
|
|
734
|
+
setQuery(newQuery);
|
|
735
|
+
setPage(1);
|
|
736
|
+
}, []);
|
|
737
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
738
|
+
className: b()
|
|
739
|
+
}, /*#__PURE__*/React.createElement(SearchPage, {
|
|
740
|
+
query: query,
|
|
741
|
+
items: results,
|
|
742
|
+
page: page,
|
|
743
|
+
totalItems: total,
|
|
744
|
+
onPageChange: handlePageChange,
|
|
745
|
+
onSubmit: handleQueryChange,
|
|
746
|
+
loading: loading
|
|
747
|
+
}));
|
|
748
|
+
};
|
|
749
|
+
;// ./src/components/Search/index.ts
|
|
750
|
+
|
|
751
|
+
var SearchContext = /*#__PURE__*/(0,react.createContext)(null);
|
|
752
|
+
SearchContext.displayName = 'SearchContext';
|
|
753
|
+
var Search_SearchProvider = SearchContext.Provider;
|
|
754
|
+
|
|
755
|
+
function useSearch() {
|
|
756
|
+
return (0,react.useContext)(SearchContext);
|
|
757
|
+
}
|
|
758
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 61 modules
|
|
759
|
+
var utils = __webpack_require__(57010);
|
|
760
|
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/toConsumableArray.js
|
|
761
|
+
var toConsumableArray = __webpack_require__(41132);
|
|
762
|
+
var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray);
|
|
763
|
+
;// ./src/constants.ts
|
|
764
|
+
|
|
765
|
+
|
|
766
|
+
var HEADER_HEIGHT = 64;
|
|
767
|
+
var MOBILE_VIEW_WIDTH_BREAKPOINT = 769;
|
|
768
|
+
var DEFAULT_USER_SETTINGS = {
|
|
769
|
+
theme: models/* Theme */.Sx.Light,
|
|
770
|
+
textSize: models/* TextSizes */.ov.M,
|
|
771
|
+
showMiniToc: true,
|
|
772
|
+
wideFormat: true,
|
|
773
|
+
fullScreen: false
|
|
774
|
+
};
|
|
775
|
+
var RTL_LANGS = ['ar', 'arc', 'ckb', 'dv', 'fa', 'ha', 'he', 'khw', 'ks', 'ps', 'sd', 'ur', 'uz_AF', 'yi'];
|
|
776
|
+
var TextDirection = /*#__PURE__*/function (TextDirection) {
|
|
777
|
+
TextDirection["RTL"] = "rtl";
|
|
778
|
+
TextDirection["LTR"] = "ltr";
|
|
779
|
+
return TextDirection;
|
|
780
|
+
}({});
|
|
781
|
+
var LINK_KEYS_LEADING_CONFIG = ['href'];
|
|
782
|
+
var LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = ['src', 'url', 'href', 'icon', 'image', 'desktop', 'mobile', 'tablet', 'previewImg', 'image', 'avatar', 'logo', 'light', 'dark'];
|
|
783
|
+
var LINK_KEYS = toConsumableArray_default()(new Set([].concat(LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG)));
|
|
784
|
+
;// ./src/utils.ts
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
function isBrowser() {
|
|
788
|
+
return typeof document !== 'undefined';
|
|
789
|
+
}
|
|
790
|
+
function updateThemeClassName(_ref) {
|
|
791
|
+
var theme = _ref.theme;
|
|
792
|
+
if (typeof document === 'undefined') {
|
|
793
|
+
return;
|
|
794
|
+
}
|
|
795
|
+
document.querySelectorAll('.g-root').forEach(function (el) {
|
|
796
|
+
el.classList.toggle('g-root_theme_light', theme === 'light');
|
|
797
|
+
el.classList.toggle('g-root_theme_dark', theme === 'dark');
|
|
798
|
+
});
|
|
799
|
+
}
|
|
800
|
+
function updateRootClassName(states) {
|
|
801
|
+
if (!isBrowser()) {
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
document.body.classList.add('g-root');
|
|
805
|
+
var toggle = function toggle(name, state) {
|
|
806
|
+
return document.body.classList.toggle(name, Boolean(state));
|
|
807
|
+
};
|
|
808
|
+
Object.keys(states).forEach(function (state) {
|
|
809
|
+
switch (state) {
|
|
810
|
+
case 'wideFormat':
|
|
811
|
+
toggle('dc-root_wide-format', states[state]);
|
|
812
|
+
break;
|
|
813
|
+
case 'focusSearch':
|
|
814
|
+
toggle('dc-root_focused-search', states[state]);
|
|
815
|
+
break;
|
|
816
|
+
case 'fullScreen':
|
|
817
|
+
toggle('dc-root_full-screen', states[state]);
|
|
818
|
+
break;
|
|
819
|
+
case 'landingPage':
|
|
820
|
+
toggle('dc-root_document-page', !states[state]);
|
|
821
|
+
toggle('dc-root_landing-page', states[state]);
|
|
822
|
+
break;
|
|
823
|
+
case 'mobileView':
|
|
824
|
+
toggle('mobile', states[state]);
|
|
825
|
+
toggle('desktop', !states[state]);
|
|
826
|
+
break;
|
|
827
|
+
}
|
|
828
|
+
});
|
|
829
|
+
}
|
|
830
|
+
function getDirection(lang) {
|
|
831
|
+
var isRTL = RTL_LANGS.includes(lang);
|
|
832
|
+
return isRTL ? TextDirection.RTL : TextDirection.LTR;
|
|
779
833
|
}
|
|
780
|
-
function
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
}
|
|
800
|
-
}, _callee5);
|
|
801
|
-
}));
|
|
802
|
-
return Search_provider_initWorker.apply(this, arguments);
|
|
834
|
+
var toBoolean = function toBoolean(str) {
|
|
835
|
+
if (typeof str === 'boolean') {
|
|
836
|
+
return str;
|
|
837
|
+
}
|
|
838
|
+
return str ? str === 'true' : false;
|
|
839
|
+
};
|
|
840
|
+
function getSettings() {
|
|
841
|
+
var theme = getSetting('theme');
|
|
842
|
+
var textSize = getSetting('textSize');
|
|
843
|
+
var showMiniToc = getSetting('showMiniToc');
|
|
844
|
+
var wideFormat = getSetting('wideFormat');
|
|
845
|
+
var fullScreen = getSetting('fullScreen');
|
|
846
|
+
return {
|
|
847
|
+
theme: theme,
|
|
848
|
+
textSize: textSize,
|
|
849
|
+
showMiniToc: toBoolean(showMiniToc),
|
|
850
|
+
wideFormat: toBoolean(wideFormat),
|
|
851
|
+
fullScreen: toBoolean(fullScreen)
|
|
852
|
+
};
|
|
803
853
|
}
|
|
804
|
-
function
|
|
805
|
-
|
|
806
|
-
return new Promise(function (resolve, reject) {
|
|
807
|
-
channel.port1.onmessage = function (message) {
|
|
808
|
-
if (message.data.error) {
|
|
809
|
-
// eslint-disable-next-line no-console
|
|
810
|
-
console.error(message.data.error);
|
|
811
|
-
reject(message.data.error);
|
|
812
|
-
} else {
|
|
813
|
-
resolve(message.data.result);
|
|
814
|
-
}
|
|
815
|
-
};
|
|
816
|
-
channel.port1.onmessageerror = function (message) {
|
|
817
|
-
reject(message.data.error);
|
|
818
|
-
};
|
|
819
|
-
worker.postMessage(message, [channel.port2]);
|
|
820
|
-
});
|
|
854
|
+
function getLandingPage(data) {
|
|
855
|
+
return (0,utils/* getPageType */.M5)(data) === 'PAGE_CONSTRUCTOR';
|
|
821
856
|
}
|
|
822
|
-
function
|
|
823
|
-
if (!
|
|
824
|
-
return
|
|
857
|
+
function getMobileView() {
|
|
858
|
+
if (!isBrowser()) {
|
|
859
|
+
return false;
|
|
825
860
|
}
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
861
|
+
return document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT;
|
|
862
|
+
}
|
|
863
|
+
function getSetting(name) {
|
|
864
|
+
if (!isBrowser()) {
|
|
865
|
+
return DEFAULT_USER_SETTINGS[name];
|
|
866
|
+
}
|
|
867
|
+
try {
|
|
868
|
+
return sessionStorage.getItem(name) || DEFAULT_USER_SETTINGS[name];
|
|
869
|
+
} catch (_unused) {
|
|
870
|
+
return DEFAULT_USER_SETTINGS[name];
|
|
830
871
|
}
|
|
831
|
-
return new LocalSearchProvider(config);
|
|
832
872
|
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
873
|
+
function setSetting(name, value) {
|
|
874
|
+
if (!isBrowser()) {
|
|
875
|
+
return;
|
|
876
|
+
}
|
|
877
|
+
try {
|
|
878
|
+
sessionStorage.setItem(name, String(value));
|
|
879
|
+
} catch (_unused2) {}
|
|
880
|
+
}
|
|
881
|
+
// EXTERNAL MODULE: ./src/interceptors/leading-page-links.js
|
|
882
|
+
var leading_page_links = __webpack_require__(44186);
|
|
883
|
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js
|
|
884
|
+
var objectWithoutProperties = __webpack_require__(91847);
|
|
885
|
+
var objectWithoutProperties_default = /*#__PURE__*/__webpack_require__.n(objectWithoutProperties);
|
|
886
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/Provider.js
|
|
887
|
+
var Provider = __webpack_require__(47658);
|
|
888
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 10 modules
|
|
889
|
+
var PageConstructor = __webpack_require__(95168);
|
|
890
|
+
;// ./src/components/Layout/index.tsx
|
|
838
891
|
|
|
892
|
+
function Layout_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
893
|
+
function Layout_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? Layout_ownKeys(Object(t), !0).forEach(function (r) { defineProperty_default()(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : Layout_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
839
894
|
|
|
840
895
|
|
|
841
896
|
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
897
|
+
var Layout_b = (0,lib/* default */.A)('Layout');
|
|
898
|
+
function Header() {
|
|
899
|
+
return null;
|
|
900
|
+
}
|
|
901
|
+
function Content() {
|
|
902
|
+
return null;
|
|
903
|
+
}
|
|
904
|
+
function Footer() {
|
|
905
|
+
return null;
|
|
906
|
+
}
|
|
907
|
+
var defaults = {
|
|
908
|
+
doc: false
|
|
909
|
+
};
|
|
910
|
+
var Layout = function Layout(props) {
|
|
911
|
+
var _defaults$props = Layout_objectSpread(Layout_objectSpread({}, defaults), props),
|
|
912
|
+
children = _defaults$props.children,
|
|
913
|
+
doc = _defaults$props.doc,
|
|
914
|
+
_defaults$props$heade = _defaults$props.headerHeight,
|
|
915
|
+
headerHeight = _defaults$props$heade === void 0 ? 0 : _defaults$props$heade;
|
|
916
|
+
var header, content, footer;
|
|
917
|
+
react.Children.forEach(children, function (child) {
|
|
918
|
+
switch (child.type) {
|
|
919
|
+
case Header:
|
|
920
|
+
header = child.props.children;
|
|
921
|
+
break;
|
|
922
|
+
case Content:
|
|
923
|
+
content = child.props.children;
|
|
924
|
+
break;
|
|
925
|
+
case Footer:
|
|
926
|
+
footer = child.props.children;
|
|
927
|
+
break;
|
|
851
928
|
}
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
929
|
+
});
|
|
930
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
931
|
+
className: Layout_b({
|
|
932
|
+
'full-header': headerHeight > 0
|
|
933
|
+
})
|
|
934
|
+
}, header && /*#__PURE__*/react.createElement("div", {
|
|
935
|
+
className: Layout_b('header')
|
|
936
|
+
}, header), /*#__PURE__*/react.createElement("div", {
|
|
937
|
+
className: Layout_b('body')
|
|
938
|
+
}, content && /*#__PURE__*/react.createElement("div", {
|
|
939
|
+
className: Layout_b('content')
|
|
940
|
+
}, content), footer && /*#__PURE__*/react.createElement("div", {
|
|
941
|
+
className: Layout_b('footer', {
|
|
942
|
+
doc: doc
|
|
943
|
+
})
|
|
944
|
+
}, footer)));
|
|
945
|
+
};
|
|
946
|
+
Layout.displayName = 'Layout';
|
|
947
|
+
Layout.Header = Header;
|
|
948
|
+
Layout.Content = Content;
|
|
949
|
+
Layout.Footer = Footer;
|
|
950
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Row/Row.js
|
|
951
|
+
var Row = __webpack_require__(98058);
|
|
952
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Col/Col.js + 1 modules
|
|
953
|
+
var Col = __webpack_require__(12445);
|
|
954
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/context/theme/useTheme.js
|
|
955
|
+
var useTheme = __webpack_require__(79568);
|
|
956
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/utils/theme.js
|
|
957
|
+
var utils_theme = __webpack_require__(3259);
|
|
958
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/BackgroundMedia/BackgroundMedia.js + 1 modules
|
|
959
|
+
var BackgroundMedia = __webpack_require__(61998);
|
|
960
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Grid/Grid.js + 2 modules
|
|
961
|
+
var Grid = __webpack_require__(62945);
|
|
962
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js + 10 modules
|
|
963
|
+
var ConstructorBlocks = __webpack_require__(94012);
|
|
964
|
+
;// ./src/components/ConstructorPage/index.tsx
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
var bPC = (0,lib/* default */.A)('pc-page-constructor');
|
|
969
|
+
var bPCRow = (0,lib/* default */.A)('pc-constructor-row');
|
|
970
|
+
var ConstructorRow = function ConstructorRow(_ref) {
|
|
971
|
+
var children = _ref.children;
|
|
972
|
+
return children ? /*#__PURE__*/react.createElement(Row/* Row */.f, {
|
|
973
|
+
className: bPCRow()
|
|
974
|
+
}, /*#__PURE__*/react.createElement(Col/* Col */.f, null, children)) : null;
|
|
975
|
+
};
|
|
976
|
+
function ConstructorPage(_ref2) {
|
|
977
|
+
var background = _ref2.background,
|
|
978
|
+
blocks = _ref2.blocks;
|
|
979
|
+
var theme = (0,useTheme/* useTheme */.D)();
|
|
980
|
+
var themedBackground = (0,utils_theme/* getThemedValue */.d)(background, theme);
|
|
981
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
982
|
+
className: bPC('docs')
|
|
983
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
984
|
+
className: bPC('wrapper')
|
|
985
|
+
}, blocks && themedBackground && /*#__PURE__*/react.createElement(BackgroundMedia/* default */.A, Object.assign({}, themedBackground, {
|
|
986
|
+
className: bPC('background')
|
|
987
|
+
})), /*#__PURE__*/react.createElement(Grid/* Grid */.x, null, /*#__PURE__*/react.createElement(ConstructorRow, null, /*#__PURE__*/react.createElement(ConstructorBlocks/* ConstructorBlocks */.F, {
|
|
988
|
+
items: blocks
|
|
989
|
+
})))));
|
|
857
990
|
}
|
|
991
|
+
;// ./src/components/ConstructorPage/useContent.tsx
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
var useContent = function useContent(data, CustomPage) {
|
|
995
|
+
var type = (0,utils/* getPageType */.M5)(data);
|
|
996
|
+
var fullScreen = type === models/* DocumentType */.KG.PageConstructor && 'data' in data && 'fullScreen' in data.data && data.data.fullScreen;
|
|
997
|
+
var layout = (0,react.useMemo)(function () {
|
|
998
|
+
return fullScreen ? data.data : {
|
|
999
|
+
blocks: [{
|
|
1000
|
+
type: 'page',
|
|
1001
|
+
resetPaddings: true
|
|
1002
|
+
}]
|
|
1003
|
+
};
|
|
1004
|
+
}, [fullScreen, data]);
|
|
1005
|
+
var config = (0,react.useMemo)(function () {
|
|
1006
|
+
return {
|
|
1007
|
+
custom: {
|
|
1008
|
+
page: CustomPage
|
|
1009
|
+
},
|
|
1010
|
+
layout: layout
|
|
1011
|
+
};
|
|
1012
|
+
}, [CustomPage, layout]);
|
|
1013
|
+
return config;
|
|
1014
|
+
};
|
|
1015
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
|
|
1016
|
+
var useInterface = __webpack_require__(40258);
|
|
1017
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/SearchSuggest/index.js + 8 modules
|
|
1018
|
+
var SearchSuggest = __webpack_require__(9400);
|
|
1019
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/Icon/Icon.js + 3 modules
|
|
1020
|
+
var Icon = __webpack_require__(29504);
|
|
1021
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/icons/esm/Magnifier.js
|
|
1022
|
+
var Magnifier = __webpack_require__(84941);
|
|
858
1023
|
;// ./src/components/Search/Suggest.tsx
|
|
859
1024
|
|
|
860
1025
|
|
|
@@ -873,7 +1038,7 @@ function SearchButton() {
|
|
|
873
1038
|
});
|
|
874
1039
|
}
|
|
875
1040
|
function Suggest() {
|
|
876
|
-
var provider =
|
|
1041
|
+
var provider = useProvider_useProvider();
|
|
877
1042
|
var suggest = (0,react.useRef)(null);
|
|
878
1043
|
var isSearchHidden = (0,useInterface/* useInterface */.j)('search');
|
|
879
1044
|
var onFocus = (0,react.useCallback)(function () {
|
|
@@ -983,7 +1148,7 @@ var useNavigation = function useNavigation(data, controls, CustomControls, Custo
|
|
|
983
1148
|
var withControls = findItem(rightItems, leftItems, 'controls');
|
|
984
1149
|
var withSearch = findItem(rightItems, leftItems, 'search');
|
|
985
1150
|
var search = useSearch();
|
|
986
|
-
var router =
|
|
1151
|
+
var router = Router_useRouter();
|
|
987
1152
|
if (search && !withSearch) {
|
|
988
1153
|
rightItems.unshift({
|
|
989
1154
|
type: 'search'
|
|
@@ -1199,9 +1364,6 @@ function useLangs(_ref) {
|
|
|
1199
1364
|
};
|
|
1200
1365
|
}, [lang, langs, onChangeLang]);
|
|
1201
1366
|
}
|
|
1202
|
-
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
|
|
1203
|
-
var slicedToArray = __webpack_require__(85715);
|
|
1204
|
-
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
1205
1367
|
;// ./src/components/App/useSettings.ts
|
|
1206
1368
|
|
|
1207
1369
|
|
|
@@ -1346,7 +1508,7 @@ function App(props) {
|
|
|
1346
1508
|
value: lang
|
|
1347
1509
|
}, /*#__PURE__*/react.createElement(RouterProvider, {
|
|
1348
1510
|
value: router
|
|
1349
|
-
}, /*#__PURE__*/react.createElement(
|
|
1511
|
+
}, /*#__PURE__*/react.createElement(Search_SearchProvider, {
|
|
1350
1512
|
value: search
|
|
1351
1513
|
}, /*#__PURE__*/react.createElement(InterfaceContext/* InterfaceProvider */.p, {
|
|
1352
1514
|
"interface": viewerInterface || {}
|