react-lightning-design-system
Version:
Salesforce Lightning Design System components built with React
63 lines • 1.83 kB
JavaScript
import { updateScroll } from 'react-relative-portal';
export var getToday = process.env.NODE_ENV === 'test' ? function () {
return '2022-05-18';
} : function () {
return new Date().toISOString().substring(0, 10);
};
var assetRoot = '/assets';
export function setAssetRoot(path) {
assetRoot = path;
}
export function getAssetRoot() {
return assetRoot;
}
export function registerStyle(styleName, rules) {
var styleId = "react-slds-cssfix-".concat(styleName);
if (document.getElementById(styleId)) {
return;
}
var style = document.createElement('style');
style.id = styleId;
var styleText = rules.map(function (ruleSet) {
var declaration = ruleSet.pop();
var selectors = ruleSet;
selectors = selectors.concat(selectors.map(function (s) {
return ".slds ".concat(s);
}));
return "".concat(selectors.join(', '), " ").concat(declaration);
}).join('\n');
style.appendChild(document.createTextNode(styleText));
document.documentElement.appendChild(style);
}
export function isElInChildren(rootEl, targetEl) {
/* eslint-disable no-param-reassign */
while (targetEl && targetEl !== rootEl) {
targetEl = targetEl.parentNode;
}
return !!targetEl;
}
export function offset(el) {
var rect = el.getBoundingClientRect();
return {
top: rect.top + document.body.scrollTop,
left: rect.left + document.body.scrollLeft
};
}
export function cleanProps(props, propTypes) {
var newProps = props;
Object.keys(propTypes).forEach(function (key) {
// @ts-ignore
delete newProps[key];
});
return newProps;
}
export default {
setAssetRoot: setAssetRoot,
getAssetRoot: getAssetRoot,
registerStyle: registerStyle,
isElInChildren: isElInChildren,
offset: offset,
cleanProps: cleanProps,
updateScroll: updateScroll
};
//# sourceMappingURL=util.js.map