@diplodoc/client 3.4.0 → 3.4.2

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.
@@ -1745,10 +1745,12 @@ __webpack_require__.d(__webpack_exports__, {
1745
1745
  A: () => (/* binding */ Controls_default)
1746
1746
  });
1747
1747
 
1748
- // EXTERNAL MODULE: ./node_modules/react/index.js
1749
- var react = __webpack_require__(96540);
1748
+ // UNUSED EXPORTS: ControlsList
1749
+
1750
1750
  // EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
1751
1751
  var lib = __webpack_require__(23614);
1752
+ // EXTERNAL MODULE: ./node_modules/react/index.js
1753
+ var react = __webpack_require__(96540);
1752
1754
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Feedback/Feedback.js + 9 modules
1753
1755
  var Feedback = __webpack_require__(8278);
1754
1756
  ;// ./node_modules/@gravity-ui/icons/esm/Envelope.js
@@ -2029,6 +2031,8 @@ var Subscribe_default = Subscribe;
2029
2031
 
2030
2032
  //# sourceMappingURL=Subscribe.js.map
2031
2033
 
2034
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
2035
+ var useInterface = __webpack_require__(40258);
2032
2036
  ;// ./node_modules/@gravity-ui/icons/esm/SquareDashedCircle.js
2033
2037
 
2034
2038
  const SquareDashedCircle = (props) => (react.createElement("svg", Object.assign({ xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", viewBox: "0 0 16 16" }, props),
@@ -2587,6 +2591,26 @@ var DividerControl_default = DividerControl;
2587
2591
  // extracted by mini-css-extract-plugin
2588
2592
 
2589
2593
  ;// ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js
2594
+ var Controls_defProp = Object.defineProperty;
2595
+ var __defProps = Object.defineProperties;
2596
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
2597
+ var Controls_getOwnPropSymbols = Object.getOwnPropertySymbols;
2598
+ var Controls_hasOwnProp = Object.prototype.hasOwnProperty;
2599
+ var Controls_propIsEnum = Object.prototype.propertyIsEnumerable;
2600
+ var Controls_defNormalProp = (obj, key, value) => key in obj ? Controls_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2601
+ var Controls_spreadValues = (a, b2) => {
2602
+ for (var prop in b2 || (b2 = {}))
2603
+ if (Controls_hasOwnProp.call(b2, prop))
2604
+ Controls_defNormalProp(a, prop, b2[prop]);
2605
+ if (Controls_getOwnPropSymbols)
2606
+ for (var prop of Controls_getOwnPropSymbols(b2)) {
2607
+ if (Controls_propIsEnum.call(b2, prop))
2608
+ Controls_defNormalProp(a, prop, b2[prop]);
2609
+ }
2610
+ return a;
2611
+ };
2612
+ var __spreadProps = (a, b2) => __defProps(a, __getOwnPropDescs(b2));
2613
+
2590
2614
  // src/components/Controls/Controls.tsx
2591
2615
 
2592
2616
 
@@ -2595,14 +2619,13 @@ var DividerControl_default = DividerControl;
2595
2619
 
2596
2620
 
2597
2621
 
2622
+
2598
2623
  var Controls_b = (0,lib/* default */.A)("dc-controls");
2599
2624
  function hasLangs(langs) {
2600
2625
  return (langs == null ? void 0 : langs.length) && langs.length > 1;
2601
2626
  }
2602
- var Controls = (0,react.memo)((props) => {
2603
- const { isVerticalView } = (0,react.useContext)(ControlsLayout/* ControlsLayoutContext */.s);
2627
+ var ControlsList = (props) => {
2604
2628
  const {
2605
- className,
2606
2629
  fullScreen,
2607
2630
  singlePage,
2608
2631
  theme,
@@ -2627,7 +2650,8 @@ var Controls = (0,react.memo)((props) => {
2627
2650
  vcsUrl,
2628
2651
  vcsType,
2629
2652
  isLiked,
2630
- isDisliked
2653
+ isDisliked,
2654
+ isHiddenFeedback
2631
2655
  } = props;
2632
2656
  const withFullscreenControl = Boolean(onChangeFullScreen);
2633
2657
  const withSettingsControl = Boolean(
@@ -2637,7 +2661,9 @@ var Controls = (0,react.memo)((props) => {
2637
2661
  const withSinglePageControl = Boolean(onChangeSinglePage);
2638
2662
  const withPdfControl = Boolean(pdfLink);
2639
2663
  const withEditControl = Boolean(!singlePage && !hideEditControl && vcsUrl);
2640
- const withFeedbackControl = Boolean(!singlePage && !hideFeedbackControls && onSendFeedback);
2664
+ const withFeedbackControl = Boolean(
2665
+ !singlePage && !hideFeedbackControls && !isHiddenFeedback && onSendFeedback
2666
+ );
2641
2667
  const withSubscribeControls = Boolean(!singlePage && onSubscribe);
2642
2668
  const controls = [
2643
2669
  withFullscreenControl && /* @__PURE__ */ react.createElement(
@@ -2722,7 +2748,14 @@ var Controls = (0,react.memo)((props) => {
2722
2748
  }
2723
2749
  return result;
2724
2750
  }, []);
2725
- if (!controls.length) {
2751
+ return controls;
2752
+ };
2753
+ var Controls = (0,react.memo)((props) => {
2754
+ const { isVerticalView } = (0,react.useContext)(ControlsLayout/* ControlsLayoutContext */.s);
2755
+ const isHiddenFeedback = (0,useInterface/* useInterface */.j)("feedback");
2756
+ const { className } = props;
2757
+ const controls = /* @__PURE__ */ react.createElement(ControlsList, __spreadProps(Controls_spreadValues({}, props), { isHiddenFeedback }));
2758
+ if (!controls) {
2726
2759
  return null;
2727
2760
  }
2728
2761
  return /* @__PURE__ */ react.createElement("div", { className: Controls_b({ vertical: isVerticalView }, className) }, controls);
@@ -2886,6 +2919,8 @@ var lib = __webpack_require__(23614);
2886
2919
  var useTranslation = __webpack_require__(62438);
2887
2920
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/usePopupState.js + 1 modules
2888
2921
  var usePopupState = __webpack_require__(70806);
2922
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
2923
+ var useInterface = __webpack_require__(40258);
2889
2924
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
2890
2925
  var models = __webpack_require__(78184);
2891
2926
  ;// ./node_modules/@gravity-ui/icons/esm/ThumbsDownFill.js
@@ -3300,6 +3335,10 @@ var Feedback = (props) => {
3300
3335
  [onSendFeedback, setInnerState, dislikeSuccessPopup, hideFeedbackPopups]
3301
3336
  );
3302
3337
  const isDislikePopupVisible = dislikeSuccessPopup.visible || dislikeVariantsPopup.visible;
3338
+ const isFeedbackHidden = (0,useInterface/* useInterface */.j)("feedback");
3339
+ if (isFeedbackHidden) {
3340
+ return null;
3341
+ }
3303
3342
  return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(Feedback_ControlsLayout, { view }, /* @__PURE__ */ react.createElement(
3304
3343
  LikeControl_default,
3305
3344
  {
@@ -4493,7 +4532,7 @@ var Toc = class extends react.Component {
4493
4532
  }
4494
4533
  getInitialState() {
4495
4534
  return {
4496
- registry: new TocItemRegistry(this.props.items, this.normalizeUrl),
4535
+ registry: new TocItemRegistry(this.props.items || [], this.normalizeUrl),
4497
4536
  fixedById: {},
4498
4537
  activeId: null,
4499
4538
  contentScrolled: false
@@ -5670,6 +5709,8 @@ var ToMainMenu_default = ToMainMenu;
5670
5709
 
5671
5710
  //# sourceMappingURL=ToMainMenu.js.map
5672
5711
 
5712
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
5713
+ var useInterface = __webpack_require__(40258);
5673
5714
  ;// ./node_modules/@diplodoc/components/build/esm/components/navigation/SidebarContent/SidebarContent.css
5674
5715
  // extracted by mini-css-extract-plugin
5675
5716
 
@@ -5702,6 +5743,7 @@ var __spreadProps = (a, b2) => __defProps(a, __getOwnPropDescs(b2));
5702
5743
 
5703
5744
 
5704
5745
 
5746
+
5705
5747
  var SidebarContent_b = (0,lib/* default */.A)("dc-sidebar-content");
5706
5748
  var SidebarContent = ({
5707
5749
  mainMenuOpenessData,
@@ -5710,16 +5752,18 @@ var SidebarContent = ({
5710
5752
  mobileControlsData,
5711
5753
  children
5712
5754
  }) => {
5713
- var _a;
5755
+ var _a, _b;
5714
5756
  const mainMenuIsOpened = mainMenuOpenessData && mainMenuOpenessData.isMainMenuOpened;
5715
5757
  const mainMenuIsClosed = mainMenuOpenessData && !mainMenuOpenessData.isMainMenuOpened;
5716
- const toc = navigationTocData && navigationTocData.toc && navigationTocData.toc.items.length > 0 && mainMenuIsClosed && /* @__PURE__ */ react.createElement(react.Fragment, null, pcNavigationData && Boolean((_a = pcNavigationData == null ? void 0 : pcNavigationData.leftItemsWithIconSize) == null ? void 0 : _a.length) && /* @__PURE__ */ react.createElement("div", { className: SidebarContent_b("to-main-menu") }, /* @__PURE__ */ react.createElement(
5758
+ const tocItems = ((_a = navigationTocData == null ? void 0 : navigationTocData.toc) == null ? void 0 : _a.items) || [];
5759
+ const isTocHidden = (0,useInterface/* useInterface */.j)("toc");
5760
+ const toc = navigationTocData && tocItems.length > 0 && mainMenuIsClosed && /* @__PURE__ */ react.createElement(react.Fragment, null, pcNavigationData && Boolean((_b = pcNavigationData == null ? void 0 : pcNavigationData.leftItemsWithIconSize) == null ? void 0 : _b.length) && /* @__PURE__ */ react.createElement("div", { className: SidebarContent_b("to-main-menu") }, /* @__PURE__ */ react.createElement(
5717
5761
  ToMainMenu_default,
5718
5762
  {
5719
5763
  mainMenuIsOpen: mainMenuIsOpened,
5720
5764
  openMainMenu: mainMenuOpenessData.openMainMenu
5721
5765
  }
5722
- )), /* @__PURE__ */ react.createElement("div", { className: SidebarContent_b("toc") }, /* @__PURE__ */ react.createElement(
5766
+ )), !isTocHidden && /* @__PURE__ */ react.createElement("div", { className: SidebarContent_b("toc") }, /* @__PURE__ */ react.createElement(
5723
5767
  Toc/* default */.A,
5724
5768
  __spreadProps(__spreadValues({}, navigationTocData.toc), {
5725
5769
  router: navigationTocData.router,
@@ -5727,7 +5771,7 @@ var SidebarContent = ({
5727
5771
  hideTocHeader: true
5728
5772
  })
5729
5773
  )));
5730
- const withoutToc = !navigationTocData || !navigationTocData.toc || typeof navigationTocData.toc.items.length === "number" && navigationTocData.toc.items.length === 0;
5774
+ const withoutToc = tocItems.length === 0;
5731
5775
  const mainMenu = pcNavigationData && (mainMenuIsOpened || withoutToc) && /* @__PURE__ */ react.createElement("div", { className: SidebarContent_b("main-menu") }, pcNavigationData.leftItemsWithIconSize && /* @__PURE__ */ react.createElement(
5732
5776
  NavigationList/* NavigationList */.r,
5733
5777
  {
@@ -8149,6 +8193,71 @@ var SUPPORTED_LANGS = Object.keys(_i18n__WEBPACK_IMPORTED_MODULE_1__/* ["default
8149
8193
  //# sourceMappingURL=constants.js.map
8150
8194
 
8151
8195
 
8196
+ /***/ }),
8197
+
8198
+ /***/ 6790:
8199
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8200
+
8201
+ "use strict";
8202
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8203
+ /* harmony export */ Z: () => (/* binding */ InterfaceContext),
8204
+ /* harmony export */ p: () => (/* binding */ InterfaceProvider)
8205
+ /* harmony export */ });
8206
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96540);
8207
+ // src/contexts/InterfaceContext.tsx
8208
+
8209
+ var InterfaceContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)({
8210
+ interface: {},
8211
+ isHidden: () => false
8212
+ });
8213
+ var InterfaceProvider = ({
8214
+ interface: viewerInterface,
8215
+ children
8216
+ }) => {
8217
+ const isHidden = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(
8218
+ (name) => {
8219
+ if (viewerInterface && name in viewerInterface) {
8220
+ return !viewerInterface[name];
8221
+ }
8222
+ return false;
8223
+ },
8224
+ [viewerInterface]
8225
+ );
8226
+ const value = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(
8227
+ () => ({
8228
+ interface: viewerInterface,
8229
+ isHidden
8230
+ }),
8231
+ [viewerInterface, isHidden]
8232
+ );
8233
+ return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(InterfaceContext.Provider, { value }, children);
8234
+ };
8235
+
8236
+ //# sourceMappingURL=InterfaceContext.js.map
8237
+
8238
+
8239
+ /***/ }),
8240
+
8241
+ /***/ 40258:
8242
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8243
+
8244
+ "use strict";
8245
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8246
+ /* harmony export */ j: () => (/* binding */ useInterface)
8247
+ /* harmony export */ });
8248
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(96540);
8249
+ /* harmony import */ var _contexts_InterfaceContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6790);
8250
+ // src/hooks/useInterface.ts
8251
+
8252
+
8253
+ function useInterface(name) {
8254
+ const { isHidden } = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts_InterfaceContext__WEBPACK_IMPORTED_MODULE_1__/* .InterfaceContext */ .Z);
8255
+ return isHidden(name);
8256
+ }
8257
+
8258
+ //# sourceMappingURL=useInterface.js.map
8259
+
8260
+
8152
8261
  /***/ }),
8153
8262
 
8154
8263
  /***/ 26591:
@@ -9106,6 +9215,8 @@ var ContentWrapper = (_a) => {
9106
9215
 
9107
9216
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Toc/Toc.js + 9 modules
9108
9217
  var Toc = __webpack_require__(54821);
9218
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/hooks/useInterface.js
9219
+ var useInterface = __webpack_require__(40258);
9109
9220
  ;// ./node_modules/@diplodoc/components/build/esm/components/DocLayout/DocLayout.css
9110
9221
  // extracted by mini-css-extract-plugin
9111
9222
 
@@ -9129,7 +9240,6 @@ var DocLayout_spreadValues = (a, b2) => {
9129
9240
  return a;
9130
9241
  };
9131
9242
  var __spreadProps = (a, b2) => __defProps(a, __getOwnPropDescs(b2));
9132
- var __publicField = (obj, key, value) => DocLayout_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
9133
9243
 
9134
9244
  // src/components/DocLayout/DocLayout.tsx
9135
9245
 
@@ -9137,83 +9247,72 @@ var __publicField = (obj, key, value) => DocLayout_defNormalProp(obj, typeof key
9137
9247
 
9138
9248
 
9139
9249
 
9250
+
9140
9251
  var b = (0,lib/* default */.A)("dc-doc-layout");
9141
9252
  var Left = () => null;
9142
9253
  var Center = () => null;
9143
9254
  var Right = () => null;
9144
- var DocLayout = class extends react.Component {
9145
- render() {
9146
- const {
9147
- children,
9148
- className,
9149
- fullScreen = false,
9150
- wideFormat = false,
9151
- hideRight = false,
9152
- loading = false,
9153
- footer = null,
9154
- legacyToc = false
9155
- } = this.props;
9156
- let left, center, right;
9157
- const modes = {
9158
- "regular-page-width": !wideFormat,
9159
- "full-screen": fullScreen,
9160
- "hidden-right": hideRight,
9161
- loading
9162
- };
9163
- react.Children.forEach(children, (child) => {
9164
- if (!child) {
9165
- return;
9166
- }
9167
- switch (child.type) {
9168
- case Left:
9169
- left = child.props.children;
9170
- break;
9171
- case Center:
9172
- center = child.props.children;
9173
- break;
9174
- case Right:
9175
- right = child.props.children;
9176
- break;
9177
- }
9178
- });
9179
- return /* @__PURE__ */ react.createElement("div", { className: b(null, className) }, /* @__PURE__ */ react.createElement("div", { className: b("mobile-only") }, footer), fullScreen ? null : /* @__PURE__ */ react.createElement("div", { className: b("left", modes, legacyToc ? b("legacy-toc") : void 0) }, this.renderToc(), left), fullScreen || hideRight ? null : /* @__PURE__ */ react.createElement("div", { className: b("right", modes) }, right), /* @__PURE__ */ react.createElement("div", { className: b("center", modes) }, center, /* @__PURE__ */ react.createElement("div", { className: b("desktop-only") }, footer)));
9180
- }
9181
- renderToc() {
9182
- const {
9183
- toc,
9255
+ var DocLayout = ({
9256
+ children,
9257
+ className,
9258
+ fullScreen = false,
9259
+ wideFormat = false,
9260
+ hideRight = false,
9261
+ loading = false,
9262
+ footer = null,
9263
+ legacyToc = false,
9264
+ toc,
9265
+ router,
9266
+ headerHeight,
9267
+ tocTitleIcon,
9268
+ hideTocHeader,
9269
+ hideToc,
9270
+ singlePage,
9271
+ onChangeSinglePage,
9272
+ pdfLink
9273
+ }) => {
9274
+ const isTocHidden = (0,useInterface/* useInterface */.j)("toc");
9275
+ let left, center, right;
9276
+ const modes = {
9277
+ "regular-page-width": !wideFormat,
9278
+ "full-screen": fullScreen,
9279
+ "hidden-right": hideRight,
9280
+ loading
9281
+ };
9282
+ react.Children.forEach(children, (child) => {
9283
+ if (!child) {
9284
+ return;
9285
+ }
9286
+ switch (child.type) {
9287
+ case Left:
9288
+ left = child.props.children;
9289
+ break;
9290
+ case Center:
9291
+ center = child.props.children;
9292
+ break;
9293
+ case Right:
9294
+ right = child.props.children;
9295
+ break;
9296
+ }
9297
+ });
9298
+ return /* @__PURE__ */ react.createElement("div", { className: b(null, className) }, /* @__PURE__ */ react.createElement("div", { className: b("mobile-only") }, footer), fullScreen ? null : !isTocHidden && /* @__PURE__ */ react.createElement("div", { className: b("left", modes, legacyToc ? b("legacy-toc") : void 0) }, toc && !hideToc && /* @__PURE__ */ react.createElement("div", { className: b("toc") }, /* @__PURE__ */ react.createElement(
9299
+ Toc/* default */.A,
9300
+ __spreadProps(DocLayout_spreadValues({
9301
+ key: getStateKey(hideRight, wideFormat, toc.singlePage)
9302
+ }, toc), {
9184
9303
  router,
9185
9304
  headerHeight,
9186
9305
  tocTitleIcon,
9187
- hideRight,
9188
- wideFormat,
9189
9306
  hideTocHeader,
9190
- hideToc,
9191
9307
  singlePage,
9192
9308
  onChangeSinglePage,
9193
9309
  pdfLink
9194
- } = this.props;
9195
- if (!toc || hideToc) {
9196
- return null;
9197
- }
9198
- return /* @__PURE__ */ react.createElement("div", { className: b("toc") }, /* @__PURE__ */ react.createElement(
9199
- Toc/* default */.A,
9200
- __spreadProps(DocLayout_spreadValues({
9201
- key: getStateKey(hideRight, wideFormat, toc.singlePage)
9202
- }, toc), {
9203
- router,
9204
- headerHeight,
9205
- tocTitleIcon,
9206
- hideTocHeader,
9207
- singlePage,
9208
- onChangeSinglePage,
9209
- pdfLink
9210
- })
9211
- ));
9212
- }
9310
+ })
9311
+ )), left), fullScreen || hideRight ? null : /* @__PURE__ */ react.createElement("div", { className: b("right", modes) }, right), /* @__PURE__ */ react.createElement("div", { className: b("center", modes) }, center, /* @__PURE__ */ react.createElement("div", { className: b("desktop-only") }, footer)));
9213
9312
  };
9214
- __publicField(DocLayout, "Left", Left);
9215
- __publicField(DocLayout, "Center", Center);
9216
- __publicField(DocLayout, "Right", Right);
9313
+ DocLayout.Left = Left;
9314
+ DocLayout.Center = Center;
9315
+ DocLayout.Right = Right;
9217
9316
 
9218
9317
  //# sourceMappingURL=DocLayout.js.map
9219
9318
 
@@ -9252,7 +9351,7 @@ var DocContentPage = ({
9252
9351
  headerHeight,
9253
9352
  className: DocContentPage_b(modes),
9254
9353
  hideTocHeader,
9255
- hideToc: hideToc || (data == null ? void 0 : data.fullScreen),
9354
+ hideToc,
9256
9355
  fullScreen: fullScreen || (data == null ? void 0 : data.fullScreen),
9257
9356
  tocTitleIcon,
9258
9357
  footer,
@@ -9564,6 +9663,8 @@ const Link_Link = (props) => (react.createElement("svg", Object.assign({ xmlns:
9564
9663
 
9565
9664
  // EXTERNAL MODULE: ./node_modules/react-dom/index.js
9566
9665
  var react_dom = __webpack_require__(40961);
9666
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/contexts/InterfaceContext.js
9667
+ var InterfaceContext = __webpack_require__(6790);
9567
9668
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
9568
9669
  var models = __webpack_require__(78184);
9569
9670
  ;// ./node_modules/@gravity-ui/icons/esm/StarFill.js
@@ -10238,6 +10339,7 @@ var SubNavigation_spreadProps = (a, b2) => SubNavigation_defProps(a, SubNavigati
10238
10339
 
10239
10340
 
10240
10341
 
10342
+
10241
10343
  var SubNavigation_b = (0,lib/* default */.A)("dc-subnavigation");
10242
10344
  var SubNavigation_ICON_SIZE = {
10243
10345
  width: 20,
@@ -10259,6 +10361,7 @@ var SubNavigation = (0,react.memo)(
10259
10361
  }) => {
10260
10362
  var _a;
10261
10363
  const ref = (0,react.useRef)(null);
10364
+ const isTocHidden = (0,useInterface/* useInterface */.j)("toc");
10262
10365
  const [menuOpen, setMenuOpen] = (0,react.useState)(false);
10263
10366
  const { miniTocOpen, closeMiniToc, miniTocHandler } = useMiniTocData_default(hideMiniToc, menuOpen);
10264
10367
  const [visible, setVisibility] = useVisibility_default(menuOpen, miniTocOpen);
@@ -10288,7 +10391,7 @@ var SubNavigation = (0,react.memo)(
10288
10391
  onSidebarOpenedChange,
10289
10392
  mobileControlsData
10290
10393
  },
10291
- /* @__PURE__ */ react.createElement("div", { className: SubNavigation_b("toc") }, /* @__PURE__ */ react.createElement(
10394
+ !isTocHidden && /* @__PURE__ */ react.createElement("div", { className: SubNavigation_b("toc") }, /* @__PURE__ */ react.createElement(
10292
10395
  Toc/* default */.A,
10293
10396
  SubNavigation_spreadProps(SubNavigation_spreadValues({}, toc), {
10294
10397
  router,
@@ -11521,7 +11624,7 @@ var TocNavControl = (0,react.memo)(({ item, isNext, onClick }) => {
11521
11624
  });
11522
11625
  TocNavControl.displayName = "TocNavControl";
11523
11626
  var TocNavPanel = (0,react.memo)(({ items, router, fixed, className, onClick }) => {
11524
- const flatToc = (0,react.useMemo)(() => getFlatToc(items), [items]);
11627
+ const flatToc = (0,react.useMemo)(() => getFlatToc(items || []), [items]);
11525
11628
  const { prevItem, nextItem } = (0,react.useMemo)(
11526
11629
  () => getBoundingItems(flatToc, router),
11527
11630
  [flatToc, router]
@@ -11654,7 +11757,7 @@ var DocPage_spreadValues = (a, b2) => {
11654
11757
  return a;
11655
11758
  };
11656
11759
  var DocPage_spreadProps = (a, b2) => DocPage_defProps(a, DocPage_getOwnPropDescs(b2));
11657
- var DocPage_publicField = (obj, key, value) => DocPage_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11760
+ var __publicField = (obj, key, value) => DocPage_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11658
11761
 
11659
11762
  // src/components/DocPage/DocPage.tsx
11660
11763
 
@@ -11678,16 +11781,17 @@ var DocPage_publicField = (obj, key, value) => DocPage_defNormalProp(obj, typeof
11678
11781
 
11679
11782
 
11680
11783
 
11784
+
11681
11785
 
11682
11786
 
11683
11787
  var DocPage_b = (0,lib/* default */.A)("dc-doc-page");
11684
11788
  var DocPage = class extends react.Component {
11685
11789
  constructor(props) {
11686
11790
  super(props);
11687
- DocPage_publicField(this, "state");
11688
- DocPage_publicField(this, "bodyRef", null);
11689
- DocPage_publicField(this, "bodyObserver", null);
11690
- DocPage_publicField(this, "handleBodyMutation", (mutationsList) => {
11791
+ __publicField(this, "state");
11792
+ __publicField(this, "bodyRef", null);
11793
+ __publicField(this, "bodyObserver", null);
11794
+ __publicField(this, "handleBodyMutation", (mutationsList) => {
11691
11795
  const { onContentMutation, onContentLoaded } = this.props;
11692
11796
  if (this.props.singlePage && this.bodyObserver && this.bodyRef) {
11693
11797
  this.bodyObserver.disconnect();
@@ -11714,10 +11818,10 @@ var DocPage = class extends react.Component {
11714
11818
  });
11715
11819
  }, 0);
11716
11820
  });
11717
- DocPage_publicField(this, "setBodyRef", (ref) => {
11821
+ __publicField(this, "setBodyRef", (ref) => {
11718
11822
  this.bodyRef = ref;
11719
11823
  });
11720
- DocPage_publicField(this, "addLinksToOriginalArticle", () => {
11824
+ __publicField(this, "addLinksToOriginalArticle", () => {
11721
11825
  const { singlePage, generatePathToVcs } = this.props;
11722
11826
  if (!this.bodyRef || !singlePage) {
11723
11827
  return;
@@ -11735,11 +11839,11 @@ var DocPage = class extends react.Component {
11735
11839
  }
11736
11840
  }
11737
11841
  });
11738
- DocPage_publicField(this, "getIsVerticalView", () => {
11842
+ __publicField(this, "getIsVerticalView", () => {
11739
11843
  const { fullScreen } = this.props;
11740
11844
  return !this.showMiniToc || fullScreen;
11741
11845
  });
11742
- DocPage_publicField(this, "renderSearchBar", () => {
11846
+ __publicField(this, "renderSearchBar", () => {
11743
11847
  const {
11744
11848
  showSearchBar,
11745
11849
  searchQuery,
@@ -11750,7 +11854,9 @@ var DocPage = class extends react.Component {
11750
11854
  onCloseSearchBar,
11751
11855
  singlePage
11752
11856
  } = this.props;
11753
- if (!showSearchBar || singlePage) {
11857
+ const { isHidden } = this.context;
11858
+ const isTocHidden = isHidden("toc");
11859
+ if (isTocHidden || !showSearchBar || singlePage) {
11754
11860
  return null;
11755
11861
  }
11756
11862
  return /* @__PURE__ */ react.createElement("div", { className: DocPage_b("search-bar") }, /* @__PURE__ */ react.createElement(
@@ -12039,7 +12145,9 @@ var DocPage = class extends react.Component {
12039
12145
  }
12040
12146
  renderFeedback() {
12041
12147
  const { singlePage, isLiked, isDisliked, onSendFeedback, hideFeedbackControls } = this.props;
12042
- if (singlePage || hideFeedbackControls || !onSendFeedback) {
12148
+ const { isHidden } = this.context;
12149
+ const isFeedbackHidden = isHidden("feedback");
12150
+ if (isFeedbackHidden || singlePage || hideFeedbackControls || !onSendFeedback) {
12043
12151
  return null;
12044
12152
  }
12045
12153
  return /* @__PURE__ */ react.createElement("div", { className: DocPage_b("feedback") }, /* @__PURE__ */ react.createElement(
@@ -12054,7 +12162,9 @@ var DocPage = class extends react.Component {
12054
12162
  }
12055
12163
  renderTocNavPanel() {
12056
12164
  const { toc, singlePage, router, fullScreen, onTocNavPanelClick } = this.props;
12057
- if (!toc || singlePage) {
12165
+ const { isHidden } = this.context;
12166
+ const isTocHidden = isHidden("toc");
12167
+ if (isTocHidden || !toc || singlePage) {
12058
12168
  return null;
12059
12169
  }
12060
12170
  return /* @__PURE__ */ react.createElement(
@@ -12130,7 +12240,8 @@ var DocPage = class extends react.Component {
12130
12240
  )));
12131
12241
  }
12132
12242
  };
12133
- DocPage_publicField(DocPage, "defaultProps", constants/* DEFAULT_SETTINGS */.a$);
12243
+ __publicField(DocPage, "defaultProps", constants/* DEFAULT_SETTINGS */.a$);
12244
+ __publicField(DocPage, "contextType", InterfaceContext/* InterfaceContext */.Z);
12134
12245
  var DocPage_default = withHighlightedSearchWords_default(DocPage);
12135
12246
 
12136
12247
  //# sourceMappingURL=DocPage.js.map