1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- "use strict";
- exports.__esModule = true;
- exports["default"] = void 0;
- var _computeScrollIntoView = _interopRequireDefault(require("compute-scroll-into-view"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
- function isOptionsObject(options) {
- return options === Object(options) && Object.keys(options).length !== 0;
- }
- function defaultBehavior(actions, behavior) {
- if (behavior === void 0) {
- behavior = 'auto';
- }
- var canSmoothScroll = ('scrollBehavior' in document.body.style);
- actions.forEach(function (_ref) {
- var el = _ref.el,
- top = _ref.top,
- left = _ref.left;
- if (el.scroll && canSmoothScroll) {
- el.scroll({
- top: top,
- left: left,
- behavior: behavior
- });
- } else {
- el.scrollTop = top;
- el.scrollLeft = left;
- }
- });
- }
- function getOptions(options) {
- if (options === false) {
- return {
- block: 'end',
- inline: 'nearest'
- };
- }
- if (isOptionsObject(options)) {
- return options;
- }
- return {
- block: 'start',
- inline: 'nearest'
- };
- }
- function scrollIntoView(target, options) {
- var isTargetAttached = target.isConnected || target.ownerDocument.documentElement.contains(target);
- if (isOptionsObject(options) && typeof options.behavior === 'function') {
- return options.behavior(isTargetAttached ? (0, _computeScrollIntoView["default"])(target, options) : []);
- }
- if (!isTargetAttached) {
- return;
- }
- var computeOptions = getOptions(options);
- return defaultBehavior((0, _computeScrollIntoView["default"])(target, computeOptions), computeOptions.behavior);
- }
- var _default = scrollIntoView;
- exports["default"] = _default;
- module.exports = exports.default;
|