UNPKG

@kelvininc/ui-components

Version:
34 lines (30 loc) 1.28 kB
'use strict'; var config = require('./config-dyyw7PBD.js'); var isNil = require('./isNil-B-fGcnNC.js'); const getConfig = () => { if (typeof window !== 'undefined') { const KvUiComponents = window.KvUiComponents; if (!isNil.isNil(KvUiComponents) && !isNil.isNil(KvUiComponents.config)) { return KvUiComponents.config; } } return config.DEFAULT_CONFIG; }; const getCollapsedElement = (elements) => { var _a; if (elements.length === 0) { return; } const [firstElement, ...siblings] = elements; if (isOverflowEllipsis(firstElement)) { return firstElement; } return (_a = getCollapsedElement(Array.from(firstElement.childNodes))) !== null && _a !== void 0 ? _a : getCollapsedElement(siblings); }; const isOverflowEllipsis = (element) => !isNodeText(element) && !isNodeComment(element) && getCssStyle(element, 'text-overflow') === 'ellipsis'; const isNodeText = (element) => element.nodeName === '#text'; const isNodeComment = (element) => element.nodeName === '#comment'; const getCssStyle = (element, prop) => window.getComputedStyle(element, null).getPropertyValue(prop); exports.getCollapsedElement = getCollapsedElement; exports.getConfig = getConfig; exports.getCssStyle = getCssStyle;