react-lightning-design-system
Version:
Salesforce Lightning Design System components built with React
76 lines (75 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cleanProps = cleanProps;
exports["default"] = void 0;
exports.getAssetRoot = getAssetRoot;
exports.getToday = void 0;
exports.isElInChildren = isElInChildren;
exports.offset = offset;
exports.registerStyle = registerStyle;
exports.setAssetRoot = setAssetRoot;
var _reactRelativePortal = require("react-relative-portal");
var getToday = exports.getToday = process.env.NODE_ENV === 'test' ? function () {
return '2022-05-18';
} : function () {
return new Date().toISOString().substring(0, 10);
};
var assetRoot = '/assets';
function setAssetRoot(path) {
assetRoot = path;
}
function getAssetRoot() {
return assetRoot;
}
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);
}
function isElInChildren(rootEl, targetEl) {
/* eslint-disable no-param-reassign */
while (targetEl && targetEl !== rootEl) {
targetEl = targetEl.parentNode;
}
return !!targetEl;
}
function offset(el) {
var rect = el.getBoundingClientRect();
return {
top: rect.top + document.body.scrollTop,
left: rect.left + document.body.scrollLeft
};
}
function cleanProps(props, propTypes) {
var newProps = props;
Object.keys(propTypes).forEach(function (key) {
// @ts-ignore
delete newProps[key];
});
return newProps;
}
var _default = exports["default"] = {
setAssetRoot: setAssetRoot,
getAssetRoot: getAssetRoot,
registerStyle: registerStyle,
isElInChildren: isElInChildren,
offset: offset,
cleanProps: cleanProps,
updateScroll: _reactRelativePortal.updateScroll
};
//# sourceMappingURL=util.js.map