gather-content-ui
Version:
GatherContent UI Library
41 lines (40 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toPixels = exports.pluralisePerson = exports.pluraliseHas = exports.keepValueWithinRange = exports.filterUsers = void 0;
var pluralisePerson = exports.pluralisePerson = function pluralisePerson(count) {
return count === 1 ? "".concat(count, " person") : "".concat(count, " people");
};
var pluraliseHas = exports.pluraliseHas = function pluraliseHas(count) {
return count === 1 ? "has" : "have";
};
var filterUsers = exports.filterUsers = function filterUsers(users, term) {
var searchByEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var safeTerm = term.toLowerCase();
return users.filter(function (user) {
return user.name.toLowerCase().split(" ").filter(function (subStr) {
return subStr.lastIndexOf(safeTerm, 0) === 0;
}).length > 0 || user.name.toLowerCase().lastIndexOf(safeTerm, 0) === 0 || user.display.toLowerCase().lastIndexOf(safeTerm, 0) === 0 || searchByEmail && user.email.toLowerCase().lastIndexOf(safeTerm, 0) === 0;
});
};
var toPixels = exports.toPixels = function toPixels(value) {
var percentageOf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
if (typeof value === "number") return value;
var integer = parseInt(value, 10);
if (value.endsWith("px")) {
return integer;
}
if (value.endsWith("%")) {
return percentageOf / 100 * integer;
}
console.warn("Could not interpret a normalised value for: ".concat(value, ".\nParsing directly to integer: ").concat(integer, "."));
return integer;
};
var keepValueWithinRange = exports.keepValueWithinRange = function keepValueWithinRange(start, min, max) {
var value = start;
if (typeof max === "number") value = Math.min(value, max);
if (typeof min === "number") value = Math.max(value, min);
return value;
};
//# sourceMappingURL=helpers.js.map