mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-13 00:54:04 +02:00
Dist (#31644)
This commit is contained in:
66
js/dist/scrollspy.js
vendored
66
js/dist/scrollspy.js
vendored
@@ -6,13 +6,15 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
|
||||
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) :
|
||||
(global = global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
||||
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
||||
|
||||
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
||||
EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
|
||||
Manipulator = Manipulator && Object.prototype.hasOwnProperty.call(Manipulator, 'default') ? Manipulator['default'] : Manipulator;
|
||||
SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
|
||||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
||||
|
||||
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
||||
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
||||
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
||||
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
@@ -92,11 +94,7 @@
|
||||
return null;
|
||||
};
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
@@ -149,19 +147,19 @@
|
||||
this._element = element;
|
||||
this._scrollElement = element.tagName === 'BODY' ? window : element;
|
||||
this._config = this._getConfig(config);
|
||||
this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM);
|
||||
this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + ", " + this._config.target + " " + SELECTOR_LIST_ITEMS + ", " + this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM;
|
||||
this._offsets = [];
|
||||
this._targets = [];
|
||||
this._activeTarget = null;
|
||||
this._scrollHeight = 0;
|
||||
EventHandler.on(this._scrollElement, EVENT_SCROLL, function (event) {
|
||||
EventHandler__default['default'].on(this._scrollElement, EVENT_SCROLL, function (event) {
|
||||
return _this._process(event);
|
||||
});
|
||||
this.refresh();
|
||||
|
||||
this._process();
|
||||
|
||||
Data.setData(element, DATA_KEY, this);
|
||||
Data__default['default'].setData(element, DATA_KEY, this);
|
||||
} // Getters
|
||||
|
||||
|
||||
@@ -177,20 +175,16 @@
|
||||
this._offsets = [];
|
||||
this._targets = [];
|
||||
this._scrollHeight = this._getScrollHeight();
|
||||
var targets = SelectorEngine.find(this._selector);
|
||||
var targets = SelectorEngine__default['default'].find(this._selector);
|
||||
targets.map(function (element) {
|
||||
var target;
|
||||
var targetSelector = getSelectorFromElement(element);
|
||||
|
||||
if (targetSelector) {
|
||||
target = SelectorEngine.findOne(targetSelector);
|
||||
}
|
||||
var target = targetSelector ? SelectorEngine__default['default'].findOne(targetSelector) : null;
|
||||
|
||||
if (target) {
|
||||
var targetBCR = target.getBoundingClientRect();
|
||||
|
||||
if (targetBCR.width || targetBCR.height) {
|
||||
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
|
||||
return [Manipulator__default['default'][offsetMethod](target).top + offsetBase, targetSelector];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,8 +201,8 @@
|
||||
};
|
||||
|
||||
_proto.dispose = function dispose() {
|
||||
Data.removeData(this._element, DATA_KEY);
|
||||
EventHandler.off(this._scrollElement, EVENT_KEY);
|
||||
Data__default['default'].removeData(this._element, DATA_KEY);
|
||||
EventHandler__default['default'].off(this._scrollElement, EVENT_KEY);
|
||||
this._element = null;
|
||||
this._scrollElement = null;
|
||||
this._config = null;
|
||||
@@ -221,7 +215,7 @@
|
||||
;
|
||||
|
||||
_proto._getConfig = function _getConfig(config) {
|
||||
config = _objectSpread(_objectSpread({}, Default), typeof config === 'object' && config ? config : {});
|
||||
config = _extends({}, Default, typeof config === 'object' && config ? config : {});
|
||||
|
||||
if (typeof config.target !== 'string' && isElement(config.target)) {
|
||||
var id = config.target.id;
|
||||
@@ -297,36 +291,36 @@
|
||||
return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
||||
});
|
||||
|
||||
var link = SelectorEngine.findOne(queries.join(','));
|
||||
var link = SelectorEngine__default['default'].findOne(queries.join(','));
|
||||
|
||||
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
||||
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
||||
SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
||||
link.classList.add(CLASS_NAME_ACTIVE);
|
||||
} else {
|
||||
// Set triggered link as active
|
||||
link.classList.add(CLASS_NAME_ACTIVE);
|
||||
SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
|
||||
SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
|
||||
// Set triggered links parents as active
|
||||
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
||||
SelectorEngine.prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
|
||||
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
|
||||
return item.classList.add(CLASS_NAME_ACTIVE);
|
||||
}); // Handle special case when .nav-link is inside .nav-item
|
||||
|
||||
SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
|
||||
SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
|
||||
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
|
||||
SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
|
||||
return item.classList.add(CLASS_NAME_ACTIVE);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
|
||||
EventHandler__default['default'].trigger(this._scrollElement, EVENT_ACTIVATE, {
|
||||
relatedTarget: target
|
||||
});
|
||||
};
|
||||
|
||||
_proto._clear = function _clear() {
|
||||
SelectorEngine.find(this._selector).filter(function (node) {
|
||||
SelectorEngine__default['default'].find(this._selector).filter(function (node) {
|
||||
return node.classList.contains(CLASS_NAME_ACTIVE);
|
||||
}).forEach(function (node) {
|
||||
return node.classList.remove(CLASS_NAME_ACTIVE);
|
||||
@@ -336,7 +330,7 @@
|
||||
|
||||
ScrollSpy.jQueryInterface = function jQueryInterface(config) {
|
||||
return this.each(function () {
|
||||
var data = Data.getData(this, DATA_KEY);
|
||||
var data = Data__default['default'].getData(this, DATA_KEY);
|
||||
|
||||
var _config = typeof config === 'object' && config;
|
||||
|
||||
@@ -355,7 +349,7 @@
|
||||
};
|
||||
|
||||
ScrollSpy.getInstance = function getInstance(element) {
|
||||
return Data.getData(element, DATA_KEY);
|
||||
return Data__default['default'].getData(element, DATA_KEY);
|
||||
};
|
||||
|
||||
_createClass(ScrollSpy, null, [{
|
||||
@@ -379,9 +373,9 @@
|
||||
*/
|
||||
|
||||
|
||||
EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
|
||||
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {
|
||||
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
|
||||
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, function () {
|
||||
SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(function (spy) {
|
||||
return new ScrollSpy(spy, Manipulator__default['default'].getDataAttributes(spy));
|
||||
});
|
||||
});
|
||||
var $ = getjQuery();
|
||||
|
Reference in New Issue
Block a user