UNPKG

tdesign-react

Version:
119 lines (114 loc) 3.57 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ import { isString } from 'lodash-es'; var trim = function trim(str) { return (str || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, ""); }; 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; } var addClass = 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; } }; var removeClass = 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); } }; var getCssVarsValue = function getCssVarsValue(name, element) { if (!canUseDocument) return; var el = element || document.documentElement; return getComputedStyle(el).getPropertyValue(name); }; var canUseDocument = !!(typeof window !== "undefined" && window.document && window.document.createElement); var isWindow = function isWindow(val) { return val === window; }; var getAttach = function getAttach(node) { var attachNode = typeof node === "function" ? node() : node; if (!attachNode) { return document.body; } if (isString(attachNode)) { return document.querySelector(attachNode); } if (attachNode instanceof HTMLElement) { return attachNode; } return document.body; }; 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 isFixed(element) { var p = element.parentNode; if (!p || p.nodeName === "HTML") { return false; } if (getCssVarsValue("position", element) === "fixed") { return true; } return isFixed(p); } function getWindowSize() { if (canUseDocument) { return { width: window.innerWidth, height: window.innerHeight }; } return { width: 0, height: 0 }; } function getCurrentPrimaryColor(token) { if (canUseDocument) { var _document; var targetElement = (_document = document) === null || _document === void 0 ? void 0 : _document.documentElement; var styles = getComputedStyle(targetElement); return styles.getPropertyValue(token).trim(); } return ""; } export { addClass as a, getAttach as b, canUseDocument as c, getWindowSize as d, isWindow as e, elementInViewport as f, getCssVarsValue as g, hasClass as h, isFixed as i, getCurrentPrimaryColor as j, removeClass as r }; //# sourceMappingURL=dep-82b8abc2.js.map