1 | ;
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = scrollTo;
|
9 | exports.defaultOptions = exports.setDefaultOptions = exports.getDefaultOptions = void 0;
|
10 |
|
11 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12 |
|
13 | var _animatedScrollTo = _interopRequireDefault(require("./animated-scroll-to"));
|
14 |
|
15 | 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; }
|
16 |
|
17 | 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) { (0, _defineProperty2["default"])(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; }
|
18 |
|
19 | var getDefaultOptions = function getDefaultOptions() {
|
20 | if (typeof window === 'undefined') return {};
|
21 | return window.__lskjs_scroll || {};
|
22 | };
|
23 |
|
24 | exports.getDefaultOptions = getDefaultOptions;
|
25 |
|
26 | var setDefaultOptions = function setDefaultOptions() {
|
27 | var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
28 | if (typeof window === 'undefined') return;
|
29 | window.__lskjs_scroll = options;
|
30 | };
|
31 |
|
32 | exports.setDefaultOptions = setDefaultOptions;
|
33 | var defaultOptions = {
|
34 | offset: -200 // // duration of the scroll per 1000px, default 500
|
35 | // speed: 500,
|
36 | // // minimum duration of the scroll
|
37 | // minDuration: 250,
|
38 | // // maximum duration of the scroll
|
39 | // maxDuration: 1500,
|
40 | // // DOM element to scroll, default window
|
41 | // // Pass a reference to a DOM object
|
42 | // // Example: document.querySelector('#element-to-scroll'),
|
43 | // // element: window,
|
44 | // // Additional offset value that gets added to the desiredOffset. This is
|
45 | // // useful when passing a DOM object as the desiredOffset and wanting to adjust
|
46 | // // for an fixed nav or to add some padding.
|
47 | // offset: -300,
|
48 | // // should animated scroll be canceled on user scroll/keypress
|
49 | // // if set to "false" user input will be disabled until animated scroll is complete
|
50 | // // (when set to false, "passive" will be also set to "false" to prevent Chrome errors)
|
51 | // cancelOnUserAction: true,
|
52 | // // Set passive event Listeners to be true by default. Stops Chrome from complaining.
|
53 | // passive: true,
|
54 | // // Scroll horizontally rather than vertically (which is the default)
|
55 | // horizontal: true,
|
56 |
|
57 | };
|
58 | exports.defaultOptions = defaultOptions;
|
59 | setDefaultOptions(defaultOptions);
|
60 |
|
61 | function scrollTo(id) {
|
62 | var incomeOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
63 |
|
64 | var options = _objectSpread(_objectSpread({}, getDefaultOptions()), incomeOptions);
|
65 |
|
66 | try {
|
67 | if (options.debug) console.log('scrollTo ', id);
|
68 | var value;
|
69 |
|
70 | if (id == null) {
|
71 | return false;
|
72 | }
|
73 |
|
74 | if (typeof id === 'string') {
|
75 | var anchor = document.querySelector(id);
|
76 | if (!anchor) return false;
|
77 | value = anchor;
|
78 | } else {
|
79 | value = id;
|
80 | }
|
81 |
|
82 | (0, _animatedScrollTo["default"])(value, options);
|
83 | return true;
|
84 | } catch (err) {
|
85 | if (options.debug) console.error('scrollTo error', err);
|
86 | return false;
|
87 | }
|
88 | }
|
89 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXREZWZhdWx0T3B0aW9ucyIsIndpbmRvdyIsIl9fbHNranNfc2Nyb2xsIiwic2V0RGVmYXVsdE9wdGlvbnMiLCJvcHRpb25zIiwiZGVmYXVsdE9wdGlvbnMiLCJvZmZzZXQiLCJzY3JvbGxUbyIsImlkIiwiaW5jb21lT3B0aW9ucyIsImRlYnVnIiwiY29uc29sZSIsImxvZyIsInZhbHVlIiwiYW5jaG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiZXJyIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBOzs7Ozs7QUFFTyxJQUFNQSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLEdBQU07QUFDckMsTUFBSSxPQUFPQyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DLE9BQU8sRUFBUDtBQUNuQyxTQUFPQSxNQUFNLENBQUNDLGNBQVAsSUFBeUIsRUFBaEM7QUFDRCxDQUhNOzs7O0FBSUEsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixHQUFrQjtBQUFBLE1BQWpCQyxPQUFpQix1RUFBUCxFQUFPO0FBQ2pELE1BQUksT0FBT0gsTUFBUCxLQUFrQixXQUF0QixFQUFtQztBQUNuQ0EsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLEdBQXdCRSxPQUF4QjtBQUNELENBSE07OztBQUtBLElBQU1DLGNBQWMsR0FBRztBQUM1QkMsRUFBQUEsTUFBTSxFQUFFLENBQUMsR0FEbUIsQ0FFNUI7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7O0FBOUI0QixDQUF2Qjs7QUFpQ1BILGlCQUFpQixDQUFDRSxjQUFELENBQWpCOztBQUVlLFNBQVNFLFFBQVQsQ0FBa0JDLEVBQWxCLEVBQTBDO0FBQUEsTUFBcEJDLGFBQW9CLHVFQUFKLEVBQUk7O0FBQ3ZELE1BQU1MLE9BQU8sbUNBQ1JKLGlCQUFpQixFQURULEdBRVJTLGFBRlEsQ0FBYjs7QUFLQSxNQUFJO0FBQ0YsUUFBSUwsT0FBTyxDQUFDTSxLQUFaLEVBQW1CQyxPQUFPLENBQUNDLEdBQVIsQ0FBWSxXQUFaLEVBQXlCSixFQUF6QjtBQUNuQixRQUFJSyxLQUFKOztBQUNBLFFBQUlMLEVBQUUsSUFBSSxJQUFWLEVBQWdCO0FBQ2QsYUFBTyxLQUFQO0FBQ0Q7O0FBQ0QsUUFBSSxPQUFPQSxFQUFQLEtBQWMsUUFBbEIsRUFBNEI7QUFDMUIsVUFBTU0sTUFBTSxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUJSLEVBQXZCLENBQWY7QUFDQSxVQUFJLENBQUNNLE1BQUwsRUFBYSxPQUFPLEtBQVA7QUFDYkQsTUFBQUEsS0FBSyxHQUFHQyxNQUFSO0FBQ0QsS0FKRCxNQUlPO0FBQ0xELE1BQUFBLEtBQUssR0FBR0wsRUFBUjtBQUNEOztBQUNELHNDQUFnQkssS0FBaEIsRUFBdUJULE9BQXZCO0FBQ0EsV0FBTyxJQUFQO0FBQ0QsR0FmRCxDQWVFLE9BQU9hLEdBQVAsRUFBWTtBQUNaLFFBQUliLE9BQU8sQ0FBQ00sS0FBWixFQUFtQkMsT0FBTyxDQUFDTyxLQUFSLENBQWMsZ0JBQWQsRUFBZ0NELEdBQWhDO0FBQ25CLFdBQU8sS0FBUDtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYW5pbWF0ZVNjcm9sbFRvIGZyb20gJy4vYW5pbWF0ZWQtc2Nyb2xsLXRvJztcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRPcHRpb25zID0gKCkgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiB7fTtcbiAgcmV0dXJuIHdpbmRvdy5fX2xza2pzX3Njcm9sbCB8fCB7fTtcbn07XG5leHBvcnQgY29uc3Qgc2V0RGVmYXVsdE9wdGlvbnMgPSAob3B0aW9ucyA9IHt9KSA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICB3aW5kb3cuX19sc2tqc19zY3JvbGwgPSBvcHRpb25zO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICBvZmZzZXQ6IC0yMDAsXG4gIC8vIC8vIGR1cmF0aW9uIG9mIHRoZSBzY3JvbGwgcGVyIDEwMDBweCwgZGVmYXVsdCA1MDBcbiAgLy8gc3BlZWQ6IDUwMCxcblxuICAvLyAvLyBtaW5pbXVtIGR1cmF0aW9uIG9mIHRoZSBzY3JvbGxcbiAgLy8gbWluRHVyYXRpb246IDI1MCxcblxuICAvLyAvLyBtYXhpbXVtIGR1cmF0aW9uIG9mIHRoZSBzY3JvbGxcbiAgLy8gbWF4RHVyYXRpb246IDE1MDAsXG5cbiAgLy8gLy8gRE9NIGVsZW1lbnQgdG8gc2Nyb2xsLCBkZWZhdWx0IHdpbmRvd1xuICAvLyAvLyBQYXNzIGEgcmVmZXJlbmNlIHRvIGEgRE9NIG9iamVjdFxuICAvLyAvLyBFeGFtcGxlOiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZWxlbWVudC10by1zY3JvbGwnKSxcbiAgLy8gLy8gZWxlbWVudDogd2luZG93LFxuXG4gIC8vIC8vIEFkZGl0aW9uYWwgb2Zmc2V0IHZhbHVlIHRoYXQgZ2V0cyBhZGRlZCB0byB0aGUgZGVzaXJlZE9mZnNldC4gIFRoaXMgaXNcbiAgLy8gLy8gdXNlZnVsIHdoZW4gcGFzc2luZyBhIERPTSBvYmplY3QgYXMgdGhlIGRlc2lyZWRPZmZzZXQgYW5kIHdhbnRpbmcgdG8gYWRqdXN0XG4gIC8vIC8vIGZvciBhbiBmaXhlZCBuYXYgb3IgdG8gYWRkIHNvbWUgcGFkZGluZy5cbiAgLy8gb2Zmc2V0OiAtMzAwLFxuXG4gIC8vIC8vIHNob3VsZCBhbmltYXRlZCBzY3JvbGwgYmUgY2FuY2VsZWQgb24gdXNlciBzY3JvbGwva2V5cHJlc3NcbiAgLy8gLy8gaWYgc2V0IHRvIFwiZmFsc2VcIiB1c2VyIGlucHV0IHdpbGwgYmUgZGlzYWJsZWQgdW50aWwgYW5pbWF0ZWQgc2Nyb2xsIGlzIGNvbXBsZXRlXG4gIC8vIC8vICh3aGVuIHNldCB0byBmYWxzZSwgXCJwYXNzaXZlXCIgd2lsbCBiZSBhbHNvIHNldCB0byBcImZhbHNlXCIgdG8gcHJldmVudCBDaHJvbWUgZXJyb3JzKVxuICAvLyBjYW5jZWxPblVzZXJBY3Rpb246IHRydWUsXG5cbiAgLy8gLy8gU2V0IHBhc3NpdmUgZXZlbnQgTGlzdGVuZXJzIHRvIGJlIHRydWUgYnkgZGVmYXVsdC4gU3RvcHMgQ2hyb21lIGZyb20gY29tcGxhaW5pbmcuXG4gIC8vIHBhc3NpdmU6IHRydWUsXG5cbiAgLy8gLy8gU2Nyb2xsIGhvcml6b250YWxseSByYXRoZXIgdGhhbiB2ZXJ0aWNhbGx5ICh3aGljaCBpcyB0aGUgZGVmYXVsdClcbiAgLy8gaG9yaXpvbnRhbDogdHJ1ZSxcbn07XG5cbnNldERlZmF1bHRPcHRpb25zKGRlZmF1bHRPcHRpb25zKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2Nyb2xsVG8oaWQsIGluY29tZU9wdGlvbnMgPSB7fSkge1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmdldERlZmF1bHRPcHRpb25zKCksXG4gICAgLi4uaW5jb21lT3B0aW9ucyxcbiAgfTtcblxuICB0cnkge1xuICAgIGlmIChvcHRpb25zLmRlYnVnKSBjb25zb2xlLmxvZygnc2Nyb2xsVG8gJywgaWQpO1xuICAgIGxldCB2YWx1ZTtcbiAgICBpZiAoaWQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgYW5jaG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpZCk7XG4gICAgICBpZiAoIWFuY2hvcikgcmV0dXJuIGZhbHNlO1xuICAgICAgdmFsdWUgPSBhbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gaWQ7XG4gICAgfVxuICAgIGFuaW1hdGVTY3JvbGxUbyh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGlmIChvcHRpb25zLmRlYnVnKSBjb25zb2xlLmVycm9yKCdzY3JvbGxUbyBlcnJvcicsIGVycik7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
90 | //# sourceMappingURL=index.js.map |
\ | No newline at end of file |