72 lines
1.5 KiB
JavaScript
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
|
|
};
|