utils.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', {
  3. value: true
  4. });
  5. /*
  6. * Allow user to pass their own params
  7. */
  8. var extend = function extend(a, b) {
  9. for (var key in b) {
  10. if (b.hasOwnProperty(key)) {
  11. a[key] = b[key];
  12. }
  13. }
  14. return a;
  15. };
  16. /*
  17. * Convert HEX codes to RGB values (#000000 -> rgb(0,0,0))
  18. */
  19. var hexToRgb = function hexToRgb(hex) {
  20. var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  21. return result ? parseInt(result[1], 16) + ', ' + parseInt(result[2], 16) + ', ' + parseInt(result[3], 16) : null;
  22. };
  23. /*
  24. * Check if the user is using Internet Explorer 8 (for fallbacks)
  25. */
  26. var isIE8 = function isIE8() {
  27. return window.attachEvent && !window.addEventListener;
  28. };
  29. /*
  30. * IE compatible logging for developers
  31. */
  32. var logStr = function logStr(string) {
  33. if (window.console) {
  34. // IE...
  35. window.console.log('SweetAlert: ' + string);
  36. }
  37. };
  38. /*
  39. * Set hover, active and focus-states for buttons
  40. * (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color)
  41. */
  42. var colorLuminance = function colorLuminance(hex, lum) {
  43. // Validate hex string
  44. hex = String(hex).replace(/[^0-9a-f]/gi, '');
  45. if (hex.length < 6) {
  46. hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
  47. }
  48. lum = lum || 0;
  49. // Convert to decimal and change luminosity
  50. var rgb = '#';
  51. var c;
  52. var i;
  53. for (i = 0; i < 3; i++) {
  54. c = parseInt(hex.substr(i * 2, 2), 16);
  55. c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16);
  56. rgb += ('00' + c).substr(c.length);
  57. }
  58. return rgb;
  59. };
  60. exports.extend = extend;
  61. exports.hexToRgb = hexToRgb;
  62. exports.isIE8 = isIE8;
  63. exports.logStr = logStr;
  64. exports.colorLuminance = colorLuminance;