UNPKG

tdesign-mobile-vue

Version:
135 lines (127 loc) 4.03 kB
/** * tdesign v1.7.0 * (c) 2024 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var isFunction = require('lodash/isFunction'); var isString = require('lodash/isString'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var isFunction__default = /*#__PURE__*/_interopDefaultLegacy(isFunction); var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString); var trim = function trim(str) { return (str || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ""); }; var getAttach = function getAttach(node, triggerNode) { var attachNode = isFunction__default["default"](node) ? node(triggerNode) : node; if (!attachNode) { return document.body; } if (isString__default["default"](attachNode)) { return document.querySelector(attachNode); } if (attachNode instanceof HTMLElement) { return attachNode; } return document.body; }; var getSSRAttach = function getSSRAttach() { if (process.env.NODE_ENV === "test-snap") return "body"; }; function stopPropagation(event) { event.stopPropagation(); } function preventDefault(event, isStopPropagation) { if (typeof event.cancelable !== "boolean" || event.cancelable) { event.preventDefault(); } if (isStopPropagation) { stopPropagation(event); } } function hasClass(el, cls) { if (!el || !cls) return false; if (cls.indexOf(" ") !== -1) throw new Error("className should not contain space."); if (el.classList) { return el.classList.contains(cls); } return " ".concat(el.className, " ").indexOf(" ".concat(cls, " ")) > -1; } function addClass(el, cls) { if (!el) return; var curClass = el.className; var classes = (cls || "").split(" "); for (var i = 0, j = classes.length; i < j; i++) { var clsName = classes[i]; if (!clsName) continue; if (el.classList) { el.classList.add(clsName); } else if (!hasClass(el, clsName)) { curClass += " ".concat(clsName); } } if (!el.classList) { el.className = curClass; } } function removeClass(el, cls) { if (!el || !cls) return; var classes = cls.split(" "); var curClass = " ".concat(el.className, " "); for (var i = 0, j = classes.length; i < j; i++) { var clsName = classes[i]; if (!clsName) continue; if (el.classList) { el.classList.remove(clsName); } else if (hasClass(el, clsName)) { curClass = curClass.replace(" ".concat(clsName, " "), " "); } } if (!el.classList) { el.className = trim(curClass); } } function elementInViewport(elm, parent) { var rect = elm.getBoundingClientRect(); if (parent) { var parentRect = parent.getBoundingClientRect(); return rect.top >= parentRect.top && rect.left >= parentRect.left && rect.bottom <= parentRect.bottom && rect.right <= parentRect.right; } return rect.top >= 0 && rect.left >= 0 && rect.bottom + 80 <= window.innerHeight && rect.right <= window.innerWidth; } function getWindowScroll() { var _document = document, body = _document.body; var docElm = document.documentElement; var scrollTop = window.pageYOffset || docElm.scrollTop || body.scrollTop; var scrollLeft = window.pageXOffset || docElm.scrollLeft || body.scrollLeft; return { scrollTop: scrollTop, scrollLeft: scrollLeft }; } function getWindowSize() { if (window.innerWidth !== void 0) { return { width: window.innerWidth, height: window.innerHeight }; } var doc = document.documentElement; return { width: doc.clientWidth, height: doc.clientHeight }; } exports.addClass = addClass; exports.elementInViewport = elementInViewport; exports.getAttach = getAttach; exports.getSSRAttach = getSSRAttach; exports.getWindowScroll = getWindowScroll; exports.getWindowSize = getWindowSize; exports.hasClass = hasClass; exports.preventDefault = preventDefault; exports.removeClass = removeClass; exports.stopPropagation = stopPropagation; //# sourceMappingURL=dom.js.map