@diplodoc/components 4.25.0 → 4.26.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.
Files changed (142) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  2. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  3. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  4. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  5. package/build/cjs/components/Control/Control.css.map +1 -1
  6. package/build/cjs/components/Controls/Controls.css.map +1 -1
  7. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  8. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  9. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  10. package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
  11. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  12. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  13. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  14. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  15. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  16. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  17. package/build/cjs/components/Mark/Mark.css.map +1 -1
  18. package/build/cjs/components/MiniToc/MiniToc.css +1 -0
  19. package/build/cjs/components/MiniToc/MiniToc.css.map +3 -3
  20. package/build/cjs/components/MiniToc/MiniToc.d.ts +8 -2
  21. package/build/cjs/components/MiniToc/MiniToc.js +47 -38
  22. package/build/cjs/components/MiniToc/MiniToc.js.map +3 -3
  23. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  24. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  25. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  26. package/build/cjs/components/Notification/Notification.css.map +1 -1
  27. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  28. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  29. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  30. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  31. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  32. package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
  33. package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
  34. package/build/cjs/components/SubNavigation/SubNavigation.d.ts +1 -1
  35. package/build/cjs/components/SubNavigation/SubNavigation.js +10 -13
  36. package/build/cjs/components/SubNavigation/SubNavigation.js.map +2 -2
  37. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +17 -0
  38. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.js +79 -0
  39. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +7 -0
  40. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.d.ts +1 -3
  41. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js +2 -6
  42. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js.map +2 -2
  43. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  44. package/build/cjs/components/Toc/Toc.css.map +1 -1
  45. package/build/cjs/components/Toc/Toc.d.ts +0 -3
  46. package/build/cjs/components/Toc/Toc.js +0 -31
  47. package/build/cjs/components/Toc/Toc.js.map +2 -2
  48. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  49. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  50. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  51. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  52. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  53. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  54. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  55. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  56. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  57. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  58. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  59. package/build/cjs/hooks/useStableCallback.d.ts +1 -0
  60. package/build/cjs/{components/Scrollspy/index.js → hooks/useStableCallback.js} +18 -6
  61. package/build/cjs/hooks/useStableCallback.js.map +7 -0
  62. package/build/cjs/index.d.ts +0 -1
  63. package/build/cjs/index.js +0 -1
  64. package/build/cjs/index.js.map +2 -2
  65. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  66. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  67. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  68. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  69. package/build/esm/components/Control/Control.css.map +1 -1
  70. package/build/esm/components/Controls/Controls.css.map +1 -1
  71. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  72. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  73. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  74. package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
  75. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  76. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  77. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  78. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  79. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  80. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  81. package/build/esm/components/Mark/Mark.css.map +1 -1
  82. package/build/esm/components/MiniToc/MiniToc.css +1 -0
  83. package/build/esm/components/MiniToc/MiniToc.css.map +3 -3
  84. package/build/esm/components/MiniToc/MiniToc.d.ts +8 -2
  85. package/build/esm/components/MiniToc/MiniToc.js +48 -39
  86. package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
  87. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  88. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  89. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  90. package/build/esm/components/Notification/Notification.css.map +1 -1
  91. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  92. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  93. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  94. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  95. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  96. package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
  97. package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
  98. package/build/esm/components/SubNavigation/SubNavigation.d.ts +1 -1
  99. package/build/esm/components/SubNavigation/SubNavigation.js +10 -13
  100. package/build/esm/components/SubNavigation/SubNavigation.js.map +2 -2
  101. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +17 -0
  102. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.js +58 -0
  103. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +7 -0
  104. package/build/esm/components/SubNavigation/hooks/useMiniTocData.d.ts +1 -3
  105. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js +2 -6
  106. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js.map +2 -2
  107. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  108. package/build/esm/components/Toc/Toc.css.map +1 -1
  109. package/build/esm/components/Toc/Toc.d.ts +0 -3
  110. package/build/esm/components/Toc/Toc.js +0 -31
  111. package/build/esm/components/Toc/Toc.js.map +2 -2
  112. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  113. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  114. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  115. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  116. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  117. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  118. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  119. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  120. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  121. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  122. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  123. package/build/esm/hooks/useStableCallback.d.ts +1 -0
  124. package/build/esm/hooks/useStableCallback.js +12 -0
  125. package/build/esm/hooks/useStableCallback.js.map +7 -0
  126. package/build/esm/index.d.ts +0 -1
  127. package/build/esm/index.js +0 -1
  128. package/build/esm/index.js.map +2 -2
  129. package/build/index.css.map +1 -1
  130. package/build/themes/common/index.css.map +1 -1
  131. package/package.json +2 -1
  132. package/build/cjs/components/Scrollspy/Scrollspy.d.ts +0 -59
  133. package/build/cjs/components/Scrollspy/Scrollspy.js +0 -337
  134. package/build/cjs/components/Scrollspy/Scrollspy.js.map +0 -7
  135. package/build/cjs/components/Scrollspy/index.d.ts +0 -1
  136. package/build/cjs/components/Scrollspy/index.js.map +0 -7
  137. package/build/esm/components/Scrollspy/Scrollspy.d.ts +0 -59
  138. package/build/esm/components/Scrollspy/Scrollspy.js +0 -309
  139. package/build/esm/components/Scrollspy/Scrollspy.js.map +0 -7
  140. package/build/esm/components/Scrollspy/index.d.ts +0 -1
  141. package/build/esm/components/Scrollspy/index.js +0 -3
  142. package/build/esm/components/Scrollspy/index.js.map +0 -7
@@ -1,309 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- var __objRest = (source, exclude) => {
18
- var target = {};
19
- for (var prop in source)
20
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
21
- target[prop] = source[prop];
22
- if (source != null && __getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(source)) {
24
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
25
- target[prop] = source[prop];
26
- }
27
- return target;
28
- };
29
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
30
-
31
- // src/components/Scrollspy/Scrollspy.tsx
32
- import React from "react";
33
- import debounce from "lodash/debounce";
34
- import isEqual from "lodash/isEqual";
35
- import scrollIntoView from "scroll-into-view-if-needed";
36
- var Scrollspy = class extends React.Component {
37
- constructor(props) {
38
- super(props);
39
- __publicField(this, "containerRef", React.createRef());
40
- __publicField(this, "itemRefs", this.props.items.map(() => React.createRef()));
41
- __publicField(this, "scrollByClick");
42
- __publicField(this, "prevOffset");
43
- __publicField(this, "hasActiveHash");
44
- __publicField(this, "firstItemIndexInView");
45
- __publicField(this, "lastItemIndexInView");
46
- __publicField(this, "overflowChecked");
47
- __publicField(this, "updateScrollValues", () => {
48
- const containerEl = this.containerRef.current;
49
- if (!containerEl) {
50
- return;
51
- }
52
- const { childHeight, maxItemsInView } = this.getContainerValues(containerEl);
53
- this.lastItemIndexInView = Math.round(containerEl.scrollTop / childHeight) + maxItemsInView - 1;
54
- this.updateFirstItemIndexInView(maxItemsInView);
55
- });
56
- __publicField(this, "scrollToListItem", () => {
57
- if (!this.props.scrollToListItem) {
58
- return;
59
- }
60
- let itemIndex = this.state.inViewState.findIndex((isActive) => isActive);
61
- if (itemIndex < 0) {
62
- itemIndex = 0;
63
- }
64
- const ref = this.itemRefs[itemIndex] && this.itemRefs[itemIndex].current;
65
- if (ref) {
66
- scrollIntoView(ref, {
67
- scrollMode: "if-needed",
68
- block: "nearest",
69
- inline: "nearest",
70
- behavior: "smooth"
71
- });
72
- }
73
- });
74
- __publicField(this, "initSections", () => {
75
- this.saveActiveItems();
76
- });
77
- __publicField(this, "handleScroll", () => {
78
- if (this.scrollByClick) {
79
- window.removeEventListener("scroll", this.handleScrollDebounced);
80
- window.addEventListener("scroll", this.handleScroll);
81
- this.scrollByClick = false;
82
- }
83
- this.saveActiveItems();
84
- });
85
- // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp
86
- __publicField(this, "handleScrollDebounced", debounce(this.handleScroll, 100));
87
- __publicField(this, "handleSectionClick", (event) => {
88
- const { onSectionClick } = this.props;
89
- const { target } = event;
90
- if (target && target.tagName === "A") {
91
- event.stopPropagation();
92
- this.pauseScrollHandler();
93
- this.saveActiveItems(target.hash);
94
- if (onSectionClick) {
95
- onSectionClick(event);
96
- }
97
- }
98
- });
99
- __publicField(this, "checkListOverflow", () => {
100
- var _a, _b, _c;
101
- const { containerRef, itemRefs } = this;
102
- const { overflowedClassName } = this.props;
103
- const containerHeight = (_b = (_a = containerRef.current) == null ? void 0 : _a.offsetHeight) != null ? _b : 0;
104
- const itemsHeight = itemRefs.reduce(
105
- (heightSum, item) => {
106
- var _a2, _b2;
107
- return heightSum + ((_b2 = (_a2 = item.current) == null ? void 0 : _a2.offsetHeight) != null ? _b2 : 0);
108
- },
109
- 0
110
- );
111
- if (containerHeight < itemsHeight) {
112
- (_c = containerRef.current) == null ? void 0 : _c.classList.add(overflowedClassName);
113
- }
114
- });
115
- this.state = {
116
- targetItems: [],
117
- inViewState: []
118
- };
119
- this.overflowChecked = false;
120
- this.scrollByClick = false;
121
- this.prevOffset = 0;
122
- this.hasActiveHash = false;
123
- this.firstItemIndexInView = -1;
124
- this.lastItemIndexInView = -1;
125
- }
126
- componentDidMount() {
127
- this.initItems();
128
- window.addEventListener("scroll", this.handleScroll);
129
- const containerEl = this.containerRef.current;
130
- if (containerEl) {
131
- containerEl.addEventListener("scroll", this.updateScrollValues);
132
- }
133
- this.checkListOverflow();
134
- }
135
- componentDidUpdate(prevProps, prevState) {
136
- const { items, router } = this.props;
137
- const { inViewState } = this.state;
138
- if (!isEqual(inViewState, prevState.inViewState)) {
139
- this.scrollToListItem();
140
- }
141
- if (!isEqual(items, prevProps.items) || prevProps.router.pathname !== router.pathname) {
142
- this.initItems();
143
- }
144
- if (!this.overflowChecked) {
145
- this.overflowChecked = true;
146
- this.checkListOverflow();
147
- }
148
- if (router.hash !== prevProps.router.hash) {
149
- this.pauseScrollHandler();
150
- this.saveActiveItems(router.hash);
151
- }
152
- }
153
- componentWillUnmount() {
154
- window.removeEventListener("scroll", this.handleScroll);
155
- const containerEl = this.containerRef.current;
156
- if (containerEl) {
157
- containerEl.removeEventListener("scroll", this.updateScrollValues);
158
- }
159
- }
160
- render() {
161
- const _a = this.props, { children, currentClassName, className } = _a, rest = __objRest(_a, ["children", "currentClassName", "className"]);
162
- const { inViewState } = this.state;
163
- const items = children.map((child, index) => {
164
- if (!child) {
165
- return null;
166
- }
167
- const ChildTag = child.type;
168
- let childClassNames = child.props.className;
169
- if (inViewState[index] && currentClassName.length > 0) {
170
- childClassNames += ` ${currentClassName}`;
171
- this.syncScroll(index);
172
- }
173
- return /* @__PURE__ */ React.createElement(
174
- ChildTag,
175
- {
176
- key: child.key,
177
- className: childClassNames,
178
- onClick: this.handleSectionClick,
179
- ref: this.itemRefs[index],
180
- "aria-current": inViewState[index] ? "location" : void 0
181
- },
182
- child.props.children
183
- );
184
- });
185
- return /* @__PURE__ */ React.createElement("ul", __spreadValues({ className, ref: this.containerRef }, rest), items);
186
- }
187
- updateFirstItemIndexInView(maxItemsInView) {
188
- this.firstItemIndexInView = Math.max(this.lastItemIndexInView - (maxItemsInView - 1), 0);
189
- }
190
- getContainerValues(containerEl) {
191
- const { children } = this.props;
192
- const childHeight = Math.round(containerEl.scrollHeight / children.length);
193
- const maxItemsInView = Math.round(containerEl.clientHeight / childHeight);
194
- return { childHeight, maxItemsInView };
195
- }
196
- syncScroll(index) {
197
- const { children } = this.props;
198
- const containerEl = this.containerRef.current;
199
- if (!containerEl) {
200
- return;
201
- }
202
- const { childHeight, maxItemsInView } = this.getContainerValues(containerEl);
203
- if (this.lastItemIndexInView === -1) {
204
- this.lastItemIndexInView = maxItemsInView - 1;
205
- }
206
- this.updateFirstItemIndexInView(maxItemsInView);
207
- let itemInView = false;
208
- if (index >= this.lastItemIndexInView) {
209
- this.lastItemIndexInView = Math.min(index + 1, children.length - 1);
210
- } else if (index <= this.firstItemIndexInView) {
211
- this.lastItemIndexInView = Math.max(index + maxItemsInView - 2, maxItemsInView - 1);
212
- } else {
213
- itemInView = true;
214
- }
215
- this.updateFirstItemIndexInView(maxItemsInView);
216
- const endIsNear = index + maxItemsInView / 2 > children.length;
217
- if (itemInView) {
218
- return;
219
- } else if (endIsNear) {
220
- containerEl.scrollTop = containerEl.scrollHeight;
221
- } else {
222
- containerEl.scrollTop = childHeight * this.firstItemIndexInView;
223
- }
224
- }
225
- initItems() {
226
- const { items } = this.props;
227
- const targetItems = items.map((item) => document.getElementById(item.split("#")[1])).filter(Boolean);
228
- this.setState({ targetItems }, this.initSections);
229
- this.scrollToListItem();
230
- }
231
- saveActiveItems(hash) {
232
- const { titles, onActiveItemTitleChange } = this.props;
233
- const visibleItems = this.getViewState(hash);
234
- const activeItemTitle = this.getActiveItemTitle(titles, visibleItems);
235
- if (activeItemTitle && onActiveItemTitleChange) {
236
- onActiveItemTitleChange(activeItemTitle);
237
- }
238
- this.setState({ inViewState: visibleItems });
239
- }
240
- getViewState(hash) {
241
- const { targetItems, inViewState } = this.state;
242
- const { headerHeight } = this.props;
243
- const currentOffset = window.pageYOffset;
244
- const isScrollUp = currentOffset < this.prevOffset;
245
- this.prevOffset = currentOffset;
246
- const pureHash = (hash == null ? void 0 : hash.startsWith("#")) ? hash.substring(1) : hash;
247
- let newActiveIndex;
248
- if (pureHash) {
249
- newActiveIndex = targetItems.findIndex(
250
- (item) => item && item.getAttribute("id") === pureHash
251
- );
252
- } else {
253
- newActiveIndex = targetItems.reduce((res, item, index) => {
254
- if (!item) {
255
- return res;
256
- }
257
- const isScrolledPast = item.getBoundingClientRect().top < headerHeight + 1;
258
- return isScrolledPast ? index : res;
259
- }, -1);
260
- }
261
- if (targetItems.length && newActiveIndex === -1) {
262
- newActiveIndex = 0;
263
- }
264
- if (newActiveIndex === -1) {
265
- return inViewState;
266
- }
267
- const prevActiveIndex = inViewState.findIndex(Boolean);
268
- const getNewInViewState = () => {
269
- if (newActiveIndex === prevActiveIndex) {
270
- return inViewState;
271
- }
272
- const result = new Array(targetItems.length).fill(false);
273
- result[newActiveIndex] = true;
274
- return result;
275
- };
276
- if (pureHash) {
277
- this.hasActiveHash = true;
278
- return getNewInViewState();
279
- }
280
- if (this.hasActiveHash) {
281
- if (isScrollUp || newActiveIndex > prevActiveIndex) {
282
- this.hasActiveHash = false;
283
- return getNewInViewState();
284
- }
285
- return inViewState;
286
- }
287
- return getNewInViewState();
288
- }
289
- getActiveItemTitle(titles, inViewState) {
290
- var _a;
291
- const activeIndex = inViewState.findIndex(Boolean);
292
- return (_a = titles == null ? void 0 : titles[activeIndex]) != null ? _a : null;
293
- }
294
- pauseScrollHandler() {
295
- this.scrollByClick = true;
296
- window.removeEventListener("scroll", this.handleScroll);
297
- window.addEventListener("scroll", this.handleScrollDebounced);
298
- }
299
- };
300
- __publicField(Scrollspy, "defaultProps", {
301
- currentClassName: "Scrollspy",
302
- overflowedClassName: "Overflowed",
303
- sectionOffset: 20,
304
- headerHeight: 0
305
- });
306
- export {
307
- Scrollspy
308
- };
309
- //# sourceMappingURL=Scrollspy.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/components/Scrollspy/Scrollspy.tsx"],
4
- "sourcesContent": ["import React, {HTMLProps, ReactElement} from 'react';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport scrollIntoView from 'scroll-into-view-if-needed';\n\nimport {Router} from '../../models';\nimport {InnerProps} from '../../utils';\n\ninterface ScrollspyDefaultProps {\n currentClassName: string;\n overflowedClassName: string;\n sectionOffset: number;\n headerHeight: number;\n}\n\nexport interface ScrollspyProps\n extends Partial<ScrollspyDefaultProps>,\n Partial<HTMLProps<HTMLUListElement>> {\n items: string[];\n children: ReactElement[];\n router: Router;\n onSectionClick?: (event: MouseEvent) => void;\n className?: string;\n overflowedClassName?: string;\n scrollToListItem?: boolean;\n /** Is used to identify items for {@link onActiveItemTitleChange} */\n titles?: string[];\n /** Is called with active item's corresponding value in {@link titles}, if one exists */\n onActiveItemTitleChange?: (title: string) => void;\n}\n\ninterface ScrollspyState {\n targetItems: HTMLElement[];\n inViewState: boolean[];\n}\n\ntype ScrollspyInnerProps = InnerProps<ScrollspyProps, ScrollspyDefaultProps>;\n\nexport class Scrollspy extends React.Component<ScrollspyInnerProps, ScrollspyState> {\n static defaultProps: ScrollspyDefaultProps = {\n currentClassName: 'Scrollspy',\n overflowedClassName: 'Overflowed',\n sectionOffset: 20,\n headerHeight: 0,\n };\n\n containerRef = React.createRef<HTMLUListElement>();\n itemRefs = this.props.items.map(() => React.createRef<HTMLDivElement>());\n\n scrollByClick: boolean;\n prevOffset: number;\n hasActiveHash: boolean;\n firstItemIndexInView: number;\n lastItemIndexInView: number;\n overflowChecked: boolean;\n\n constructor(props: ScrollspyInnerProps) {\n super(props);\n\n this.state = {\n targetItems: [],\n inViewState: [],\n };\n\n this.overflowChecked = false;\n this.scrollByClick = false;\n this.prevOffset = 0;\n this.hasActiveHash = false;\n this.firstItemIndexInView = -1;\n this.lastItemIndexInView = -1;\n }\n\n componentDidMount() {\n this.initItems();\n window.addEventListener('scroll', this.handleScroll);\n\n const containerEl = this.containerRef.current;\n if (containerEl) {\n containerEl.addEventListener('scroll', this.updateScrollValues);\n }\n\n this.checkListOverflow();\n }\n\n componentDidUpdate(prevProps: Readonly<ScrollspyProps>, prevState: Readonly<ScrollspyState>) {\n const {items, router} = this.props;\n const {inViewState} = this.state;\n\n if (!isEqual(inViewState, prevState.inViewState)) {\n this.scrollToListItem();\n }\n\n if (!isEqual(items, prevProps.items) || prevProps.router.pathname !== router.pathname) {\n this.initItems();\n }\n\n if (!this.overflowChecked) {\n this.overflowChecked = true;\n\n this.checkListOverflow();\n }\n\n if (router.hash !== prevProps.router.hash) {\n this.pauseScrollHandler();\n this.saveActiveItems(router.hash);\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('scroll', this.handleScroll);\n\n const containerEl = this.containerRef.current;\n if (containerEl) {\n containerEl.removeEventListener('scroll', this.updateScrollValues);\n }\n }\n\n render() {\n const {children, currentClassName, className, ...rest} = this.props;\n const {inViewState} = this.state;\n\n const items = children.map((child, index) => {\n if (!child) {\n return null;\n }\n\n const ChildTag = child.type;\n let childClassNames = child.props.className;\n\n if (inViewState[index] && currentClassName.length > 0) {\n childClassNames += ` ${currentClassName}`;\n\n this.syncScroll(index);\n }\n\n return (\n <ChildTag\n key={child.key}\n className={childClassNames}\n onClick={this.handleSectionClick}\n ref={this.itemRefs[index]}\n aria-current={inViewState[index] ? 'location' : undefined}\n >\n {child.props.children}\n </ChildTag>\n );\n });\n\n return (\n <ul className={className} ref={this.containerRef} {...rest}>\n {items}\n </ul>\n );\n }\n\n private updateFirstItemIndexInView(maxItemsInView: number) {\n this.firstItemIndexInView = Math.max(this.lastItemIndexInView - (maxItemsInView - 1), 0);\n }\n\n private getContainerValues(containerEl: HTMLUListElement) {\n const {children} = this.props;\n\n /* Average values */\n const childHeight = Math.round(containerEl.scrollHeight / children.length);\n const maxItemsInView = Math.round(containerEl.clientHeight / childHeight);\n\n return {childHeight, maxItemsInView};\n }\n\n private updateScrollValues = () => {\n const containerEl = this.containerRef.current;\n\n if (!containerEl) {\n return;\n }\n\n const {childHeight, maxItemsInView} = this.getContainerValues(containerEl);\n this.lastItemIndexInView =\n Math.round(containerEl.scrollTop / childHeight) + maxItemsInView - 1;\n\n this.updateFirstItemIndexInView(maxItemsInView);\n };\n\n private syncScroll(index: number) {\n const {children} = this.props;\n const containerEl = this.containerRef.current;\n\n if (!containerEl) {\n return;\n }\n\n const {childHeight, maxItemsInView} = this.getContainerValues(containerEl);\n\n if (this.lastItemIndexInView === -1) {\n this.lastItemIndexInView = maxItemsInView - 1;\n }\n\n this.updateFirstItemIndexInView(maxItemsInView);\n\n let itemInView = false;\n if (index >= this.lastItemIndexInView) {\n this.lastItemIndexInView = Math.min(index + 1, children.length - 1);\n } else if (index <= this.firstItemIndexInView) {\n this.lastItemIndexInView = Math.max(index + maxItemsInView - 2, maxItemsInView - 1);\n } else {\n itemInView = true;\n }\n\n this.updateFirstItemIndexInView(maxItemsInView);\n\n const endIsNear = index + maxItemsInView / 2 > children.length;\n if (itemInView) {\n return;\n } else if (endIsNear) {\n containerEl.scrollTop = containerEl.scrollHeight;\n } else {\n containerEl.scrollTop = childHeight * this.firstItemIndexInView;\n }\n }\n\n private scrollToListItem = () => {\n if (!this.props.scrollToListItem) {\n return;\n }\n\n let itemIndex = this.state.inViewState.findIndex((isActive) => isActive);\n\n if (itemIndex < 0) {\n itemIndex = 0;\n }\n\n const ref = this.itemRefs[itemIndex] && this.itemRefs[itemIndex].current;\n\n if (ref) {\n scrollIntoView(ref, {\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n };\n\n private initItems() {\n const {items} = this.props;\n const targetItems = items\n .map((item) => document.getElementById(item.split('#')[1]))\n .filter(Boolean) as HTMLElement[];\n\n this.setState({targetItems}, this.initSections);\n this.scrollToListItem();\n }\n\n private initSections = () => {\n this.saveActiveItems();\n };\n\n private saveActiveItems(hash?: string) {\n const {titles, onActiveItemTitleChange} = this.props;\n\n const visibleItems = this.getViewState(hash);\n const activeItemTitle = this.getActiveItemTitle(titles, visibleItems);\n\n if (activeItemTitle && onActiveItemTitleChange) {\n onActiveItemTitleChange(activeItemTitle);\n }\n\n this.setState({inViewState: visibleItems});\n }\n\n private getViewState(hash?: string) {\n const {targetItems, inViewState} = this.state;\n const {headerHeight} = this.props;\n const currentOffset = window.pageYOffset;\n\n const isScrollUp = currentOffset < this.prevOffset;\n this.prevOffset = currentOffset;\n\n const pureHash = hash?.startsWith('#') ? hash.substring(1) : hash;\n\n let newActiveIndex: number;\n if (pureHash) {\n newActiveIndex = targetItems.findIndex(\n (item) => item && item.getAttribute('id') === pureHash,\n );\n } else {\n newActiveIndex = targetItems.reduce<number>((res, item, index) => {\n if (!item) {\n return res;\n }\n\n const isScrolledPast = item.getBoundingClientRect().top < headerHeight + 1;\n return isScrolledPast ? index : res;\n }, -1);\n }\n\n if (targetItems.length && newActiveIndex === -1) {\n newActiveIndex = 0;\n }\n\n if (newActiveIndex === -1) {\n return inViewState;\n }\n\n const prevActiveIndex = inViewState.findIndex(Boolean);\n const getNewInViewState = () => {\n if (newActiveIndex === prevActiveIndex) {\n return inViewState;\n }\n const result = new Array<boolean>(targetItems.length).fill(false);\n result[newActiveIndex] = true;\n return result;\n };\n\n if (pureHash) {\n this.hasActiveHash = true;\n return getNewInViewState();\n }\n\n // not changing active item until scroll up or the next item becomes active\n if (this.hasActiveHash) {\n if (isScrollUp || newActiveIndex > prevActiveIndex) {\n this.hasActiveHash = false;\n return getNewInViewState();\n }\n return inViewState;\n }\n\n return getNewInViewState();\n }\n\n private getActiveItemTitle(titles: string[] | undefined, inViewState: boolean[]) {\n const activeIndex = inViewState.findIndex(Boolean);\n return titles?.[activeIndex] ?? null;\n }\n\n private handleScroll = () => {\n if (this.scrollByClick) {\n // the end of smooth auto-scroll\n window.removeEventListener('scroll', this.handleScrollDebounced);\n window.addEventListener('scroll', this.handleScroll);\n this.scrollByClick = false;\n }\n this.saveActiveItems();\n };\n\n // eslint-disable-next-line @typescript-eslint/member-ordering, react/sort-comp\n private handleScrollDebounced = debounce(this.handleScroll, 100);\n\n private pauseScrollHandler() {\n // wait for the end of smooth auto-scroll\n this.scrollByClick = true;\n window.removeEventListener('scroll', this.handleScroll);\n window.addEventListener('scroll', this.handleScrollDebounced);\n }\n\n private handleSectionClick = (event: MouseEvent) => {\n const {onSectionClick} = this.props;\n const {target} = event;\n\n if (target && (target as HTMLElement).tagName === 'A') {\n event.stopPropagation();\n this.pauseScrollHandler();\n this.saveActiveItems((target as HTMLAnchorElement).hash);\n\n if (onSectionClick) {\n onSectionClick(event);\n }\n }\n };\n\n private checkListOverflow = () => {\n const {containerRef, itemRefs} = this;\n const {overflowedClassName} = this.props;\n\n const containerHeight = containerRef.current?.offsetHeight ?? 0;\n const itemsHeight = itemRefs.reduce(\n (heightSum, item) => heightSum + (item.current?.offsetHeight ?? 0),\n 0,\n );\n\n if (containerHeight < itemsHeight) {\n containerRef.current?.classList.add(overflowedClassName);\n }\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["_a", "_b"]
7
- }
@@ -1 +0,0 @@
1
- export * from './Scrollspy';
@@ -1,3 +0,0 @@
1
- // src/components/Scrollspy/index.ts
2
- export * from "./Scrollspy";
3
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/components/Scrollspy/index.ts"],
4
- "sourcesContent": ["export * from './Scrollspy';\n"],
5
- "mappings": ";AAAA,cAAc;",
6
- "names": []
7
- }