Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@rsuite/document-nav

Package Overview
Dependencies
Maintainers
6
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rsuite/document-nav - npm Package Compare versions

Comparing version 1.0.17 to 1.0.18

35

lib/Nav.js

@@ -161,7 +161,5 @@ 'use strict';

var basePath = _this2.props.basePath;
var index = 0;
var activeAnchor = _this2.state.activeAnchor;
elList.find(function (el, i) {
var index = elList.findIndex(function (el, i) {
if (!el) {

@@ -171,9 +169,10 @@ return false;

var position = el.getBoundingClientRect();
index = i;
// 在 windows 电脑中点击锚点跳转后定位的元素,它的 position.top 不是 0,而是一个大于 0 小于 1 的数,所有需要减去 1,来兼容这种情况
// 而在 mac 电脑中这个值为 0,0 本来就不大于 0,所以即使减去 1 也对原有的逻辑没有影响,实际情况中也不会存在锚点行高为 1 的元素
// 而在 mac 电脑中这个值为 0,0 本来就不大于 0,所以即使减去 1 也对原有的逻辑没有影响,原有逻辑不减 1
// 实际情况中也不会存在锚点高度为 1且与下个锚点没有间隙的锚点
return position.top - 1 > 0;
});
// 第一个 position.top 大于 0 的元素,它的上一个元素便是需要被激活的导航
var nextAnchor = anchors[index - 1] || anchors[0];
// 第一个 position.top 大于 0 的元素且它的索引大于 0,它的上一个元素便是需要被激活的导航,
// 当找到节点的索引为 0 时,直接取该索引,当找不到时,说明所有锚点都在窗口上方,直接取最后一个锚点
var nextAnchor = index > 0 ? anchors[index - 1] : index === 0 ? anchors[0] : anchors[anchors.length - 1];
if (nextAnchor !== activeAnchor && _this2.pageNav) {

@@ -272,12 +271,14 @@ _this2.setState({

if (window.MutationObserver) {
this.observe = new MutationObserver(function () {
if (!_this3.props.once) {
_this3.reload();
}
});
var config = {
childList: true,
subtree: true
};
this.observe.observe(content, config);
if (!this.observe) {
this.observe = new MutationObserver(function () {
if (!_this3.props.once) {
_this3.reload();
}
});
var config = {
childList: true,
subtree: true
};
this.observe.observe(content, config);
}
} else {

@@ -284,0 +285,0 @@ this.prevInnerHTML = content.innerHTML;

{
"name": "@rsuite/document-nav",
"version": "1.0.17",
"version": "1.0.18",
"description": "Document navigation is automatically generated based on the HTML title (h1-h6) tag",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -147,5 +147,4 @@ // @flow

const { basePath } = this.props;
let index = 0;
const { activeAnchor } = this.state;
elList.find((el, i) => {
const index = elList.findIndex((el, i) => {
if (!el) {

@@ -155,9 +154,11 @@ return false;

const position = el.getBoundingClientRect();
index = i;
// 在 windows 电脑中点击锚点跳转后定位的元素,它的 position.top 不是 0,而是一个大于 0 小于 1 的数,所有需要减去 1,来兼容这种情况
// 而在 mac 电脑中这个值为 0,0 本来就不大于 0,所以即使减去 1 也对原有的逻辑没有影响,实际情况中也不会存在锚点行高为 1 的元素
// 而在 mac 电脑中这个值为 0,0 本来就不大于 0,所以即使减去 1 也对原有的逻辑没有影响,原有逻辑不减 1
// 实际情况中也不会存在锚点高度为 1且与下个锚点没有间隙的锚点
return position.top - 1 > 0;
});
// 第一个 position.top 大于 0 的元素,它的上一个元素便是需要被激活的导航
const nextAnchor = anchors[index - 1] || anchors[0];
// 第一个 position.top 大于 0 的元素且它的索引大于 0,它的上一个元素便是需要被激活的导航,
// 当找到节点的索引为 0 时,直接取该索引,当找不到时,说明所有锚点都在窗口上方,直接取最后一个锚点
const nextAnchor =
index > 0 ? anchors[index - 1] : index === 0 ? anchors[0] : anchors[anchors.length - 1];
if (nextAnchor !== activeAnchor && this.pageNav) {

@@ -241,12 +242,14 @@ this.setState({

if (window.MutationObserver) {
this.observe = new MutationObserver(() => {
if (!this.props.once) {
this.reload();
}
});
const config = {
childList: true,
subtree: true
};
this.observe.observe(content, config);
if (!this.observe) {
this.observe = new MutationObserver(() => {
if (!this.props.once) {
this.reload();
}
});
const config = {
childList: true,
subtree: true
};
this.observe.observe(content, config);
}
} else {

@@ -253,0 +256,0 @@ this.prevInnerHTML = content.innerHTML;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc