Y-SLD/assets/plugins/sweetalert/dev/modules/utils.js

72 lines
1.5 KiB
JavaScript

/*
* Allow user to pass their own params
*/
var extend = function(a, b) {
for (var key in b) {
if (b.hasOwnProperty(key)) {
a[key] = b[key];
}
}
return a;
};
/*
* Convert HEX codes to RGB values (#000000 -> rgb(0,0,0))
*/
var hexToRgb = function(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? parseInt(result[1], 16) + ', ' + parseInt(result[2], 16) + ', ' + parseInt(result[3], 16) : null;
};
/*
* Check if the user is using Internet Explorer 8 (for fallbacks)
*/
var isIE8 = function() {
return (window.attachEvent && !window.addEventListener);
};
/*
* IE compatible logging for developers
*/
var logStr = function(string) {
if (typeof(window) !== 'undefined' && window.console) {
// IE...
window.console.log('SweetAlert: ' + string);
}
};
/*
* Set hover, active and focus-states for buttons
* (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color)
*/
var colorLuminance = function(hex, lum) {
// Validate hex string
hex = String(hex).replace(/[^0-9a-f]/gi, '');
if (hex.length < 6) {
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
}
lum = lum || 0;
// Convert to decimal and change luminosity
var rgb = '#';
var c;
var i;
for (i = 0; i < 3; i++) {
c = parseInt(hex.substr(i * 2, 2), 16);
c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16);
rgb += ('00' + c).substr(c.length);
}
return rgb;
};
export {
extend,
hexToRgb,
isIE8,
logStr,
colorLuminance
};