From 37d2a518ea73b26152fa0dbafbc2c04e741528e5 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Mon, 1 Feb 2016 15:47:43 -0800 Subject: [PATCH 01/38] function to get empty spaces --- javascripts/2048.js | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 4b2746c..f4cbf86 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -1,5 +1,5 @@ var Game = function() { - // Game logic and initialization here + this.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; }; Game.prototype.moveTile = function(tile, direction) { @@ -20,6 +20,33 @@ Game.prototype.moveTile = function(tile, direction) { } }; +Game.prototype.get_empty_spaces = function() { + var indexes = [], i, j; + for (i = 0; i < 4; i++) { + for (j = 0; j < 4; j++) { + if (this.board[i][j] === 0) { + indexes.push([i, j]); + } + } + } + return indexes; +}; + +Game.prototype.addTile = function () { + // create a tile with a value of 2 or 4 + // just do 2 for now + var tileValue = 2; + + // figure out which spaces are empty + + + // add tile to the board in an empty space + $("#gameboard").append("
2
"); + + // update board structure with placement of new tile + +}; + $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality @@ -29,8 +56,9 @@ $(document).ready(function() { var arrows = [37, 38, 39, 40]; if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); - + game.moveTile(tile, event.which); + game.addTile(); } }); }); From 2eca20e08bb164b2eb56fef9e3b1b948081017b7 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Mon, 1 Feb 2016 16:19:47 -0800 Subject: [PATCH 02/38] method to add 2 or 4 to empty board cell --- README.md | 2 +- index.html | 2 +- javascripts/2048.js | 19 ++++++++++++++----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b18d269..205107e 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ Recreate as much of the original game as is reasonable in the one week we have a **How does scoring work?** Scoring happens when two tiles of the same value are combined. The value of those two tiles are added to your total score. **When do tiles enter the game?** -Every time you move on the board, a new tile enters the game. It can be a 2 or a 4, not sure if they are equally likely. It is seemingly placed in a random empty spot on the board, after the pre-existing tiles have already moved. +Every time you move on the board, a new tile enters the game. It can be a 2 or a 4, but 2 is much more likely. It is seemingly placed in a random empty spot on the board, after the pre-existing tiles have already moved. **How do you know if you've won?** You win the game when one of your tiles on the board has a value of 2048. **How do you know if you've lost?** diff --git a/index.html b/index.html index 4740408..1c586e1 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@
-
2
+ diff --git a/javascripts/2048.js b/javascripts/2048.js index f4cbf86..b4e87b5 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -33,18 +33,27 @@ Game.prototype.get_empty_spaces = function() { }; Game.prototype.addTile = function () { - // create a tile with a value of 2 or 4 - // just do 2 for now - var tileValue = 2; + // create a tile with a value of 2 or 4, based on weighted probability + var rand = Math.random(); + + var val; + if (rand < 0.9) { + val = 2; + } else { + val = 4; + } // figure out which spaces are empty + var avail = this.get_empty_spaces(); + // pick one (each is in the form [row, column]) + var dest = avail[Math.floor(Math.random() * avail.length)]; // add tile to the board in an empty space - $("#gameboard").append("
2
"); + $("#gameboard").append("
" + val + "
"); // update board structure with placement of new tile - + this.board[dest[0]][dest[1]] = val; }; $(document).ready(function() { From 67bf1f8c29bf63326897a912ee44b4ab1839b493 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Mon, 1 Feb 2016 16:47:18 -0800 Subject: [PATCH 03/38] made tile logic clearer --- index.html | 2 +- javascripts/2048.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 1c586e1..c86e61a 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@
- + diff --git a/javascripts/2048.js b/javascripts/2048.js index b4e87b5..10393bd 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -50,7 +50,12 @@ Game.prototype.addTile = function () { var dest = avail[Math.floor(Math.random() * avail.length)]; // add tile to the board in an empty space - $("#gameboard").append("
" + val + "
"); + var $div = $('
'); + $div.attr("data-row", "r" + dest[0]); + $div.attr("data-col", "c" + dest[1]); + $div.attr("data-val", val); + $div.html(val); + $("#gameboard").append($div); // update board structure with placement of new tile this.board[dest[0]][dest[1]] = val; From 50c51c9b05a0d0b1ae6d56f4fca31943ef3630bd Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 09:40:25 -0800 Subject: [PATCH 04/38] removed hard-coded lengths from loop --- javascripts/2048.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 10393bd..3a5c9fe 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -22,8 +22,8 @@ Game.prototype.moveTile = function(tile, direction) { Game.prototype.get_empty_spaces = function() { var indexes = [], i, j; - for (i = 0; i < 4; i++) { - for (j = 0; j < 4; j++) { + for (i = 0; i < this.board.length; i++) { + for (j = 0; j < this.board[i].length; j++) { if (this.board[i][j] === 0) { indexes.push([i, j]); } From 1b3f3e4c8ea5503edb3923ce63ab33b2a96f47e4 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 09:42:54 -0800 Subject: [PATCH 05/38] two random tiles at the beginning of the game --- javascripts/2048.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/javascripts/2048.js b/javascripts/2048.js index 3a5c9fe..f81b212 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -1,5 +1,7 @@ var Game = function() { this.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; + this.addTile(); + this.addTile(); }; Game.prototype.moveTile = function(tile, direction) { From 05291849705257bfefb21d8dd553ea2d64ae3dd6 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 10:41:37 -0800 Subject: [PATCH 06/38] moving multiple tiles up to a wall --- javascripts/2048.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index f81b212..6bd2065 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -5,23 +5,43 @@ var Game = function() { }; Game.prototype.moveTile = function(tile, direction) { - // Game method here switch(direction) { case 38: //up console.log('up'); + + for (var i = 0; i < this.board.length; i++) { + for (var j = 0; j < this.board[i].length; j++) { + if (this.board[i][j] !== 0) { + var tile = $('.tile[data-row="r[' + i + ']"][data-col="c[' + j + ']"]'); // grab the tile that we're talking about + + // move it up as far as allowed + while (this.board[i-1][j] === 0 && this.board[i-1] >= 0) { + $(tile).attr("data-row", "r" + (i-1)); + } + } + } + } + + $('.tile').attr("data-row", "r0"); break; case 40: //down console.log('down'); + $('.tile').attr("data-row", "r3"); break; case 37: //left console.log('left'); + $('.tile').attr("data-col", "c0"); break; case 39: //right console.log('right'); + $('.tile').attr("data-col", "c3"); break; } }; + + + Game.prototype.get_empty_spaces = function() { var indexes = [], i, j; for (i = 0; i < this.board.length; i++) { @@ -74,7 +94,7 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); - game.addTile(); + // game.addTile(); } }); }); From 784d14e732996289a921efb61bc2623380f460aa Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 11:11:58 -0800 Subject: [PATCH 07/38] moving tiles up, not working --- javascripts/2048.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 6bd2065..5edebed 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -9,20 +9,24 @@ Game.prototype.moveTile = function(tile, direction) { case 38: //up console.log('up'); + var currentTile; + for (var i = 0; i < this.board.length; i++) { for (var j = 0; j < this.board[i].length; j++) { if (this.board[i][j] !== 0) { - var tile = $('.tile[data-row="r[' + i + ']"][data-col="c[' + j + ']"]'); // grab the tile that we're talking about + currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about // move it up as far as allowed while (this.board[i-1][j] === 0 && this.board[i-1] >= 0) { - $(tile).attr("data-row", "r" + (i-1)); + this.board[i-1][j] = this.board[i][j]; // set value of new space + this.board[i][j] = 0; // vacate current space + $(currentTile).attr("data-row", "r" + (i-1)); // update tile attributes + i++; } } } } - $('.tile').attr("data-row", "r0"); break; case 40: //down console.log('down'); From dc89923fbefd9966d179a7e95efa644c68210110 Mon Sep 17 00:00:00 2001 From: Sarah Date: Tue, 2 Feb 2016 11:21:02 -0800 Subject: [PATCH 08/38] Tiles correctly move to top of board without replacing existing values --- javascripts/2048.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 5edebed..e5836f3 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -11,17 +11,17 @@ Game.prototype.moveTile = function(tile, direction) { var currentTile; - for (var i = 0; i < this.board.length; i++) { + for (var i = 1; i < this.board.length; i++) { for (var j = 0; j < this.board[i].length; j++) { if (this.board[i][j] !== 0) { currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about // move it up as far as allowed - while (this.board[i-1][j] === 0 && this.board[i-1] >= 0) { + while (this.board[i-1][j] === 0 && (i-1) >= 0) { this.board[i-1][j] = this.board[i][j]; // set value of new space this.board[i][j] = 0; // vacate current space $(currentTile).attr("data-row", "r" + (i-1)); // update tile attributes - i++; + i--; } } } From ece9cd0aea7cd77e6494cea398e72cf4ccc6d6d9 Mon Sep 17 00:00:00 2001 From: Sarah Date: Tue, 2 Feb 2016 12:26:39 -0800 Subject: [PATCH 09/38] Troubleshooting why currentRow breaks after completion of while loop - still not working --- javascripts/2048.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index e5836f3..44f75ff 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -1,7 +1,7 @@ var Game = function() { this.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; this.addTile(); - this.addTile(); + // this.addTile(); }; Game.prototype.moveTile = function(tile, direction) { @@ -15,13 +15,18 @@ Game.prototype.moveTile = function(tile, direction) { for (var j = 0; j < this.board[i].length; j++) { if (this.board[i][j] !== 0) { currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about - + var currentRow = i; + console.log("this is the current row " + currentRow); // move it up as far as allowed - while (this.board[i-1][j] === 0 && (i-1) >= 0) { - this.board[i-1][j] = this.board[i][j]; // set value of new space - this.board[i][j] = 0; // vacate current space - $(currentTile).attr("data-row", "r" + (i-1)); // update tile attributes - i--; + while (this.board[currentRow-1][j] === 0 && (currentRow-1) >= 0) { + console.log("this is the board " + this.board); + this.board[currentRow-1][j] = this.board[currentRow][j]; // set value of new space + this.board[currentRow][j] = 0; // vacate current space + console.log("this is current row after it increments by 1: " + currentRow); + $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes + console.log("this is the current tile's html " + currentTile); + currentRow--; + console.log("this is the current row after the while loop is complete: " + currentRow); } } } From 1d35bc9499c947deb5f3c730bbd0a122c4258f4c Mon Sep 17 00:00:00 2001 From: Sarah Date: Tue, 2 Feb 2016 14:18:26 -0800 Subject: [PATCH 10/38] Moving tiles to the left now works --- javascripts/2048.js | 47 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 44f75ff..9dbfd44 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -1,7 +1,7 @@ var Game = function() { this.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; this.addTile(); - // this.addTile(); + this.addTile(); }; Game.prototype.moveTile = function(tile, direction) { @@ -16,30 +16,55 @@ Game.prototype.moveTile = function(tile, direction) { if (this.board[i][j] !== 0) { currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about var currentRow = i; - console.log("this is the current row " + currentRow); // move it up as far as allowed - while (this.board[currentRow-1][j] === 0 && (currentRow-1) >= 0) { - console.log("this is the board " + this.board); + while ((currentRow-1) >= 0 && this.board[currentRow-1][j] === 0) { this.board[currentRow-1][j] = this.board[currentRow][j]; // set value of new space this.board[currentRow][j] = 0; // vacate current space - console.log("this is current row after it increments by 1: " + currentRow); $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes - console.log("this is the current tile's html " + currentTile); currentRow--; - console.log("this is the current row after the while loop is complete: " + currentRow); } } } } - break; case 40: //down console.log('down'); - $('.tile').attr("data-row", "r3"); + + for (var i = 2; i > -1; i--) { + for (var j = 0; j < this.board[i].length; j++) { + if (this.board[i][j] !== 0) { + currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about + var currentRow = i; + // move it up as far as allowed + while ((currentRow+1) <= 3 && this.board[currentRow+1][j] === 0) { + this.board[currentRow+1][j] = this.board[currentRow][j]; // set value of new space + this.board[currentRow][j] = 0; // vacate current space + $(currentTile).attr("data-row", "r" + (currentRow+1)); // update tile attributes + currentRow++; + } + } + } + } break; case 37: //left console.log('left'); - $('.tile').attr("data-col", "c0"); + + for (var col = 1; col < this.board.length; col++) { + for (var row = 0; row < this.board[col].length; row++) { + if (this.board[row][col] !== 0) { + currentTile = $('.tile[data-row="r' + row + '"][data-col="c' + col + '"]')[0]; // grab the tile that we're talking about + var currentCol = col; + // move it up as far as allowed + while ((currentCol-1) >= 0 && this.board[row][currentCol-1] === 0) { + this.board[row][currentCol-1] = this.board[row][currentCol]; // set value of new space + this.board[row][currentCol] = 0; // vacate current space + $(currentTile).attr("data-col", "c" + (currentCol-1)); // update tile attributes + currentCol--; + } + } + } + } + break; case 39: //right console.log('right'); @@ -103,7 +128,7 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); - // game.addTile(); + game.addTile(); } }); }); From 47bd398798771caea14d4c225c3a21d6b2fd47e7 Mon Sep 17 00:00:00 2001 From: Sarah Date: Tue, 2 Feb 2016 14:22:53 -0800 Subject: [PATCH 11/38] Moving tiles to the right now works --- javascripts/2048.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 9dbfd44..2d613e1 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -68,8 +68,22 @@ Game.prototype.moveTile = function(tile, direction) { break; case 39: //right console.log('right'); - $('.tile').attr("data-col", "c3"); - break; + + for (var col = 2; col > -1; col--) { + for (var row = 0; row < this.board[col].length; row++) { + if (this.board[row][col] !== 0) { + currentTile = $('.tile[data-row="r' + row + '"][data-col="c' + col + '"]')[0]; // grab the tile that we're talking about + var currentCol = col; + // move it up as far as allowed + while ((currentCol+1) <= 3 && this.board[row][currentCol+1] === 0) { + this.board[row][currentCol+1] = this.board[row][currentCol]; // set value of new space + this.board[row][currentCol] = 0; // vacate current space + $(currentTile).attr("data-col", "c" + (currentCol+1)); // update tile attributes + currentCol++; + } + } + } + } break; } }; From 143b296503c1a134f2c266229a5b154cb4e631d0 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 15:12:02 -0800 Subject: [PATCH 12/38] not checking every cell for up condition --- javascripts/2048.js | 56 +++++++++++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 2d613e1..2c2eebd 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -5,28 +5,49 @@ var Game = function() { }; Game.prototype.moveTile = function(tile, direction) { + var b = this.board; + var locations = []; + for (var t = 0; t < tile.length; t++) { + var curr = tile[t]; + locations.push([$(curr).attr("data-row").replace("r", ""), $(curr).attr("data-col").replace("c", "")]); + } + switch(direction) { case 38: //up console.log('up'); - var currentTile; - - for (var i = 1; i < this.board.length; i++) { - for (var j = 0; j < this.board[i].length; j++) { - if (this.board[i][j] !== 0) { - currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about - var currentRow = i; - // move it up as far as allowed - while ((currentRow-1) >= 0 && this.board[currentRow-1][j] === 0) { - this.board[currentRow-1][j] = this.board[currentRow][j]; // set value of new space - this.board[currentRow][j] = 0; // vacate current space - $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes - currentRow--; - } - } + locations.sort(); + locations.forEach(function(loc) { + var currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + var currentRow = loc[0]; + while ((currentRow-1) >= 0 && b[currentRow-1][loc[1]] === 0) { + b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space + b[currentRow][loc[1]] = 0; // vacate current space + $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes + currentRow--; } - } + }); + + // var currentTile; + // + // for (var i = 1; i < this.board.length; i++) { + // for (var j = 0; j < this.board[i].length; j++) { + // if (this.board[i][j] !== 0) { + // currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about + // var currentRow = i; + // // move it up as far as allowed + // while ((currentRow-1) >= 0 && this.board[currentRow-1][j] === 0) { + // this.board[currentRow-1][j] = this.board[currentRow][j]; // set value of new space + // this.board[currentRow][j] = 0; // vacate current space + // $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes + // currentRow--; + // } + // } + // } + // } + break; + case 40: //down console.log('down'); @@ -46,6 +67,7 @@ Game.prototype.moveTile = function(tile, direction) { } } break; + case 37: //left console.log('left'); @@ -142,7 +164,7 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); - game.addTile(); + // game.addTile(); } }); }); From 179ba9abd501bcc6289977ce3d04e17e189d5f5a Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 15:44:51 -0800 Subject: [PATCH 13/38] refactor up and down --- javascripts/2048.js | 50 ++++++++++++++------------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 2c2eebd..86b107d 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -6,6 +6,8 @@ var Game = function() { Game.prototype.moveTile = function(tile, direction) { var b = this.board; + var currentTile; + var currentRow; var locations = []; for (var t = 0; t < tile.length; t++) { var curr = tile[t]; @@ -18,8 +20,8 @@ Game.prototype.moveTile = function(tile, direction) { locations.sort(); locations.forEach(function(loc) { - var currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; - var currentRow = loc[0]; + currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentRow = Number(loc[0]); while ((currentRow-1) >= 0 && b[currentRow-1][loc[1]] === 0) { b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space b[currentRow][loc[1]] = 0; // vacate current space @@ -27,45 +29,23 @@ Game.prototype.moveTile = function(tile, direction) { currentRow--; } }); - - // var currentTile; - // - // for (var i = 1; i < this.board.length; i++) { - // for (var j = 0; j < this.board[i].length; j++) { - // if (this.board[i][j] !== 0) { - // currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about - // var currentRow = i; - // // move it up as far as allowed - // while ((currentRow-1) >= 0 && this.board[currentRow-1][j] === 0) { - // this.board[currentRow-1][j] = this.board[currentRow][j]; // set value of new space - // this.board[currentRow][j] = 0; // vacate current space - // $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes - // currentRow--; - // } - // } - // } - // } - break; case 40: //down console.log('down'); - for (var i = 2; i > -1; i--) { - for (var j = 0; j < this.board[i].length; j++) { - if (this.board[i][j] !== 0) { - currentTile = $('.tile[data-row="r' + i + '"][data-col="c' + j + '"]')[0]; // grab the tile that we're talking about - var currentRow = i; - // move it up as far as allowed - while ((currentRow+1) <= 3 && this.board[currentRow+1][j] === 0) { - this.board[currentRow+1][j] = this.board[currentRow][j]; // set value of new space - this.board[currentRow][j] = 0; // vacate current space - $(currentTile).attr("data-row", "r" + (currentRow+1)); // update tile attributes - currentRow++; - } - } + locations.sort().reverse(); + console.log(locations); + locations.forEach(function(loc) { + currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentRow = Number(loc[0]); + while ((currentRow+1) <= 3 && b[currentRow+1][loc[1]] === 0) { + b[currentRow+1][loc[1]] = b[currentRow][loc[1]]; // set value of new space + b[currentRow][loc[1]] = 0; // vacate current space + $(currentTile).attr("data-row", "r" + (currentRow+1)); // update tile attributes + currentRow++; } - } + }); break; case 37: //left From f1fc46a71998d13dcd2f14200558e5721be5da73 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 16:08:42 -0800 Subject: [PATCH 14/38] refactor all directions --- javascripts/2048.js | 60 ++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 86b107d..bddde9d 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -8,6 +8,7 @@ Game.prototype.moveTile = function(tile, direction) { var b = this.board; var currentTile; var currentRow; + var currentCol; var locations = []; for (var t = 0; t < tile.length; t++) { var curr = tile[t]; @@ -35,7 +36,6 @@ Game.prototype.moveTile = function(tile, direction) { console.log('down'); locations.sort().reverse(); - console.log(locations); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; currentRow = Number(loc[0]); @@ -51,47 +51,45 @@ Game.prototype.moveTile = function(tile, direction) { case 37: //left console.log('left'); - for (var col = 1; col < this.board.length; col++) { - for (var row = 0; row < this.board[col].length; row++) { - if (this.board[row][col] !== 0) { - currentTile = $('.tile[data-row="r' + row + '"][data-col="c' + col + '"]')[0]; // grab the tile that we're talking about - var currentCol = col; - // move it up as far as allowed - while ((currentCol-1) >= 0 && this.board[row][currentCol-1] === 0) { - this.board[row][currentCol-1] = this.board[row][currentCol]; // set value of new space - this.board[row][currentCol] = 0; // vacate current space - $(currentTile).attr("data-col", "c" + (currentCol-1)); // update tile attributes - currentCol--; - } - } + function byColumn (a, b) { + if (a[1] === b[1]) { + return 0; + } else { + return (a[1] < b[1]) ? -1 : 1; } } + locations.sort(byColumn); + locations.forEach(function(loc) { + currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentCol = Number(loc[1]); + while ((currentCol-1) >= 0 && b[loc[0]][currentCol-1] === 0) { + b[loc[0]][currentCol-1] = b[loc[0]][currentCol]; // set value of new space + b[loc[0]][currentCol] = 0; // vacate current space + $(currentTile).attr("data-col", "c" + (currentCol-1)); // update tile attributes + currentCol--; + } + }); break; + case 39: //right console.log('right'); - for (var col = 2; col > -1; col--) { - for (var row = 0; row < this.board[col].length; row++) { - if (this.board[row][col] !== 0) { - currentTile = $('.tile[data-row="r' + row + '"][data-col="c' + col + '"]')[0]; // grab the tile that we're talking about - var currentCol = col; - // move it up as far as allowed - while ((currentCol+1) <= 3 && this.board[row][currentCol+1] === 0) { - this.board[row][currentCol+1] = this.board[row][currentCol]; // set value of new space - this.board[row][currentCol] = 0; // vacate current space - $(currentTile).attr("data-col", "c" + (currentCol+1)); // update tile attributes - currentCol++; - } - } + locations.sort(byColumn).reverse(); + locations.forEach(function(loc) { + currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentCol = Number(loc[1]); + while ((currentCol+1) <= 3 && b[loc[0]][currentCol+1] === 0) { + b[loc[0]][currentCol+1] = b[loc[0]][currentCol]; // set value of new space + b[loc[0]][currentCol] = 0; // vacate current space + $(currentTile).attr("data-col", "c" + (currentCol+1)); // update tile attributes + currentCol++; } - } break; + }); + break; } }; - - - Game.prototype.get_empty_spaces = function() { var indexes = [], i, j; for (i = 0; i < this.board.length; i++) { From a279b24f38733b2ce48d55a84da79728d44e9df7 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Tue, 2 Feb 2016 16:23:20 -0800 Subject: [PATCH 15/38] new tile looks better --- javascripts/2048.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index bddde9d..0b0b4b9 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -125,7 +125,8 @@ Game.prototype.addTile = function () { $div.attr("data-col", "c" + dest[1]); $div.attr("data-val", val); $div.html(val); - $("#gameboard").append($div); + $("#gameboard").append($div.hide()); + $div.delay(200).fadeIn('fast'); // update board structure with placement of new tile this.board[dest[0]][dest[1]] = val; @@ -142,7 +143,7 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); - // game.addTile(); + game.addTile(); } }); }); From 92336df5aa459079a6aff830a54a5ebdeddbd759 Mon Sep 17 00:00:00 2001 From: Sarah Date: Wed, 3 Feb 2016 10:45:40 -0800 Subject: [PATCH 16/38] Added logic for winning game --- javascripts/win2048.js | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 javascripts/win2048.js diff --git a/javascripts/win2048.js b/javascripts/win2048.js new file mode 100644 index 0000000..e51b49c --- /dev/null +++ b/javascripts/win2048.js @@ -0,0 +1,7 @@ +// win if one tile has a value of 2048 +Game.prototype.won = function(){ + if (this.board.includes(2048)) + return true; + console.log("You win!!!"); + }; +}; From d45ebfbbb2bfeab50f61d82408d370dc3b6fac4b Mon Sep 17 00:00:00 2001 From: Sarah Date: Wed, 3 Feb 2016 11:07:29 -0800 Subject: [PATCH 17/38] Added a reset board function --- index.html | 1 + javascripts/2048.js | 8 +++++++- stylesheets/2048.css | 9 +++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index c86e61a..b85832c 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,7 @@ +
diff --git a/javascripts/2048.js b/javascripts/2048.js index 0b0b4b9..2add1f2 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -135,13 +135,19 @@ Game.prototype.addTile = function () { $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality + $('button').click(function(){ + $('.tile').remove(); + game.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; + game.addTile(); + game.addTile(); + }); + var game = new Game(); $('body').keydown(function(event){ var arrows = [37, 38, 39, 40]; if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); - game.moveTile(tile, event.which); game.addTile(); } diff --git a/stylesheets/2048.css b/stylesheets/2048.css index 2a46a94..b06e744 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -11,6 +11,15 @@ html { width: 18.5rem; } +body { + text-align: center; +} + +button { + text-align: center; + font-size: 16px; +} + .cell { background: rgba(238, 228, 218, 0.35); border-radius: 0.5rem; From d8786112ae778ac70d3870bb5d2215d77236c0f7 Mon Sep 17 00:00:00 2001 From: Sarah Date: Wed, 3 Feb 2016 11:24:58 -0800 Subject: [PATCH 18/38] Added css styling for reset button --- index.html | 4 +++- stylesheets/2048.css | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index b85832c..46771a1 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,9 @@ - +
+

Reset Game

+
diff --git a/stylesheets/2048.css b/stylesheets/2048.css index b06e744..53cd37b 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -15,11 +15,22 @@ body { text-align: center; } -button { - text-align: center; +#button { + background-color: #80C576; + border-radius: 3px; + width: 100px; + height: 40px; + margin: auto; +} + +#reset { + color: white; + font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; font-size: 16px; + text-align: center; } + .cell { background: rgba(238, 228, 218, 0.35); border-radius: 0.5rem; From 4eccf5a831b466b767a92fb3a4b948cc422d84ca Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Wed, 3 Feb 2016 15:25:41 -0800 Subject: [PATCH 19/38] fixed reset button --- javascripts/2048.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 2add1f2..7156215 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -135,7 +135,7 @@ Game.prototype.addTile = function () { $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality - $('button').click(function(){ + $('#button').click(function(){ $('.tile').remove(); game.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; game.addTile(); From 7dadcd7ffbaf7d0eac078ebe6f5d05e55194ecf8 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Wed, 3 Feb 2016 15:38:17 -0800 Subject: [PATCH 20/38] method to get tile from row and col --- javascripts/2048.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 7156215..0a17a6d 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -4,8 +4,13 @@ var Game = function() { this.addTile(); }; +Game.prototype.getTile = function(row, col) { + return '.tile[data-row="r' + row + '"][data-col="c' + col + '"]'; +}; + Game.prototype.moveTile = function(tile, direction) { var b = this.board; + var g = this; var currentTile; var currentRow; var currentCol; @@ -21,7 +26,7 @@ Game.prototype.moveTile = function(tile, direction) { locations.sort(); locations.forEach(function(loc) { - currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentTile = $(g.getTile(loc[0],loc[1]))[0]; currentRow = Number(loc[0]); while ((currentRow-1) >= 0 && b[currentRow-1][loc[1]] === 0) { b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space From 6a157b562af38664270cfca944177347d73dba65 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Wed, 3 Feb 2016 20:36:29 -0800 Subject: [PATCH 21/38] combine method for UP direction --- index.html | 5 ++++- javascripts/2048.js | 41 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 46771a1..e492b7e 100644 --- a/index.html +++ b/index.html @@ -29,7 +29,10 @@
- + +
diff --git a/javascripts/2048.js b/javascripts/2048.js index 0a17a6d..08ef20e 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -4,8 +4,12 @@ var Game = function() { this.addTile(); }; -Game.prototype.getTile = function(row, col) { - return '.tile[data-row="r' + row + '"][data-col="c' + col + '"]'; +Game.prototype.getTile = function(row, col, val) { + if (val !== undefined) { + return '.tile[data-row="r' + row + '"][data-col="c' + col + '"][data-val="' + val + '"]'; + } else { + return '.tile[data-row="r' + row + '"][data-col="c' + col + '"]'; + } }; Game.prototype.moveTile = function(tile, direction) { @@ -29,12 +33,41 @@ Game.prototype.moveTile = function(tile, direction) { currentTile = $(g.getTile(loc[0],loc[1]))[0]; currentRow = Number(loc[0]); while ((currentRow-1) >= 0 && b[currentRow-1][loc[1]] === 0) { - b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space - b[currentRow][loc[1]] = 0; // vacate current space + b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space + b[currentRow][loc[1]] = 0; // vacate current space $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes currentRow--; } + + // check if above tile is a match ** AND the match is not a new tile + var tileRow = $(currentTile).attr("data-row").replace("r", ""); + var tileCol = $(currentTile).attr("data-col").replace("c", ""); + var tileVal = $(currentTile).attr("data-val"); + var $adjTile = $(g.getTile(tileRow - 1, tileCol)); + if (tileRow > 0 && $adjTile.attr("data-val") === tileVal && $adjTile.attr("data-new") !== "true" ) { + console.log("MATCH"); + // delete the other two tiles + $(currentTile).remove(); + $(g.getTile(tileRow - 1, tileCol)).remove(); + + // create a new tile with a flag on it + var $newTile = $('
'); + $newTile.attr("data-row", "r" + (tileRow - 1)); + $newTile.attr("data-col", "c" + tileCol); + $newTile.attr("data-val", tileVal * 2); + $newTile.attr("data-new", "true"); + $newTile.html(tileVal * 2); + $("#gameboard").append($newTile.hide()); + $newTile.delay(200).fadeIn('fast'); + + // update the board + b[tileRow - 1][tileCol] = tileVal * 2; + b[tileRow][tileCol] = 0; + } }); + + // remove flags + $('.tile').attr("data-new", "false"); break; case 40: //down From 85aa20d4d3bef38f28efb545e9d99ee99e376330 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Thu, 4 Feb 2016 10:31:33 -0800 Subject: [PATCH 22/38] collisions UP --- javascripts/2048.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 08ef20e..cb1301e 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -39,16 +39,17 @@ Game.prototype.moveTile = function(tile, direction) { currentRow--; } - // check if above tile is a match ** AND the match is not a new tile + // check if above tile is a match AND the match is not a new tile var tileRow = $(currentTile).attr("data-row").replace("r", ""); var tileCol = $(currentTile).attr("data-col").replace("c", ""); var tileVal = $(currentTile).attr("data-val"); var $adjTile = $(g.getTile(tileRow - 1, tileCol)); + if (tileRow > 0 && $adjTile.attr("data-val") === tileVal && $adjTile.attr("data-new") !== "true" ) { console.log("MATCH"); // delete the other two tiles $(currentTile).remove(); - $(g.getTile(tileRow - 1, tileCol)).remove(); + $adjTile.remove(); // create a new tile with a flag on it var $newTile = $('
'); From cf9b4b7671455128b143f679efc797e4e6a52280 Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 4 Feb 2016 11:47:49 -0800 Subject: [PATCH 23/38] You can now have collisions when you press the downkey --- javascripts/2048.js | 68 +++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index cb1301e..8577af1 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -3,7 +3,9 @@ var Game = function() { this.addTile(); this.addTile(); }; - +// Game.prototype.isMovePossible = function(board, direction) { +// +// }; Game.prototype.getTile = function(row, col, val) { if (val !== undefined) { return '.tile[data-row="r' + row + '"][data-col="c' + col + '"][data-val="' + val + '"]'; @@ -11,7 +13,6 @@ Game.prototype.getTile = function(row, col, val) { return '.tile[data-row="r' + row + '"][data-col="c' + col + '"]'; } }; - Game.prototype.moveTile = function(tile, direction) { var b = this.board; var g = this; @@ -19,15 +20,18 @@ Game.prototype.moveTile = function(tile, direction) { var currentRow; var currentCol; var locations = []; + var tileRow; + var tileCol; + var tileVal; + var $adjTile; + for (var t = 0; t < tile.length; t++) { var curr = tile[t]; locations.push([$(curr).attr("data-row").replace("r", ""), $(curr).attr("data-col").replace("c", "")]); } - switch(direction) { case 38: //up console.log('up'); - locations.sort(); locations.forEach(function(loc) { currentTile = $(g.getTile(loc[0],loc[1]))[0]; @@ -38,19 +42,16 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).attr("data-row", "r" + (currentRow-1)); // update tile attributes currentRow--; } - // check if above tile is a match AND the match is not a new tile - var tileRow = $(currentTile).attr("data-row").replace("r", ""); - var tileCol = $(currentTile).attr("data-col").replace("c", ""); - var tileVal = $(currentTile).attr("data-val"); - var $adjTile = $(g.getTile(tileRow - 1, tileCol)); - - if (tileRow > 0 && $adjTile.attr("data-val") === tileVal && $adjTile.attr("data-new") !== "true" ) { + tileRow = Number($(currentTile).attr("data-row").replace("r", "")); + tileCol = Number($(currentTile).attr("data-col").replace("c", "")); + tileVal = Number($(currentTile).attr("data-val")); + $adjTile = $(g.getTile(tileRow - 1, tileCol)); + if (tileRow > 0 && Number($adjTile.attr("data-val")) === tileVal && $adjTile.attr("data-new") !== "true" ) { console.log("MATCH"); // delete the other two tiles $(currentTile).remove(); $adjTile.remove(); - // create a new tile with a flag on it var $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow - 1)); @@ -60,20 +61,17 @@ Game.prototype.moveTile = function(tile, direction) { $newTile.html(tileVal * 2); $("#gameboard").append($newTile.hide()); $newTile.delay(200).fadeIn('fast'); - // update the board b[tileRow - 1][tileCol] = tileVal * 2; b[tileRow][tileCol] = 0; } }); - // remove flags $('.tile').attr("data-new", "false"); break; case 40: //down console.log('down'); - locations.sort().reverse(); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; @@ -84,12 +82,35 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).attr("data-row", "r" + (currentRow+1)); // update tile attributes currentRow++; } + // check if below tile is a match AND the match is not a new tile + tileRow = Number($(currentTile).attr("data-row").replace("r", "")); + tileCol = Number($(currentTile).attr("data-col").replace("c", "")); + tileVal = Number($(currentTile).attr("data-val")); + // this is where the error is - tileRow is adding 1 to numbers above 3 + $adjTile = $(g.getTile(tileRow + 1, tileCol)); + if (tileRow < 3 && Number($adjTile.attr("data-val")) === tileVal && $adjTile.attr("data-new") !== "true" ) { + console.log("MATCH"); + // delete the other two tiles + $(currentTile).remove(); + $adjTile.remove(); + // create a new tile with a flag on it + var $newTile = $('
'); + $newTile.attr("data-row", "r" + (tileRow + 1)); + $newTile.attr("data-col", "c" + tileCol); + $newTile.attr("data-val", tileVal * 2); + $newTile.attr("data-new", "true"); + $newTile.html(tileVal * 2); + $("#gameboard").append($newTile.hide()); + $newTile.delay(200).fadeIn('fast'); + // update the board + b[tileRow + 1][tileCol] = tileVal * 2; + b[tileRow][tileCol] = 0; + } }); - break; + break; case 37: //left console.log('left'); - function byColumn (a, b) { if (a[1] === b[1]) { return 0; @@ -97,7 +118,6 @@ Game.prototype.moveTile = function(tile, direction) { return (a[1] < b[1]) ? -1 : 1; } } - locations.sort(byColumn); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; @@ -110,10 +130,8 @@ Game.prototype.moveTile = function(tile, direction) { } }); break; - case 39: //right console.log('right'); - locations.sort(byColumn).reverse(); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; @@ -128,7 +146,6 @@ Game.prototype.moveTile = function(tile, direction) { break; } }; - Game.prototype.get_empty_spaces = function() { var indexes = [], i, j; for (i = 0; i < this.board.length; i++) { @@ -140,24 +157,19 @@ Game.prototype.get_empty_spaces = function() { } return indexes; }; - Game.prototype.addTile = function () { // create a tile with a value of 2 or 4, based on weighted probability var rand = Math.random(); - var val; if (rand < 0.9) { val = 2; } else { val = 4; } - // figure out which spaces are empty var avail = this.get_empty_spaces(); - // pick one (each is in the form [row, column]) var dest = avail[Math.floor(Math.random() * avail.length)]; - // add tile to the board in an empty space var $div = $('
'); $div.attr("data-row", "r" + dest[0]); @@ -166,11 +178,9 @@ Game.prototype.addTile = function () { $div.html(val); $("#gameboard").append($div.hide()); $div.delay(200).fadeIn('fast'); - // update board structure with placement of new tile this.board[dest[0]][dest[1]] = val; }; - $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality @@ -180,9 +190,7 @@ $(document).ready(function() { game.addTile(); game.addTile(); }); - var game = new Game(); - $('body').keydown(function(event){ var arrows = [37, 38, 39, 40]; if (arrows.indexOf(event.which) > -1) { From 4499983f1c142631923004757117c078ccce99a1 Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 4 Feb 2016 14:06:28 -0800 Subject: [PATCH 24/38] Left arrow not correctly combining values --- javascripts/2048.js | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 8577af1..a6d0633 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -75,6 +75,7 @@ Game.prototype.moveTile = function(tile, direction) { locations.sort().reverse(); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + console.log(currentTile); currentRow = Number(loc[0]); while ((currentRow+1) <= 3 && b[currentRow+1][loc[1]] === 0) { b[currentRow+1][loc[1]] = b[currentRow][loc[1]]; // set value of new space @@ -86,7 +87,6 @@ Game.prototype.moveTile = function(tile, direction) { tileRow = Number($(currentTile).attr("data-row").replace("r", "")); tileCol = Number($(currentTile).attr("data-col").replace("c", "")); tileVal = Number($(currentTile).attr("data-val")); - // this is where the error is - tileRow is adding 1 to numbers above 3 $adjTile = $(g.getTile(tileRow + 1, tileCol)); if (tileRow < 3 && Number($adjTile.attr("data-val")) === tileVal && $adjTile.attr("data-new") !== "true" ) { console.log("MATCH"); @@ -107,8 +107,9 @@ Game.prototype.moveTile = function(tile, direction) { b[tileRow][tileCol] = 0; } }); - + $('.tile').attr("data-new", "false"); break; + case 37: //left console.log('left'); function byColumn (a, b) { @@ -121,15 +122,42 @@ Game.prototype.moveTile = function(tile, direction) { locations.sort(byColumn); locations.forEach(function(loc) { currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + console.log(currentTile); currentCol = Number(loc[1]); - while ((currentCol-1) >= 0 && b[loc[0]][currentCol-1] === 0) { + while ((currentCol -1 ) >= 0 && b[loc[0]][currentCol - 1] === 0) { b[loc[0]][currentCol-1] = b[loc[0]][currentCol]; // set value of new space b[loc[0]][currentCol] = 0; // vacate current space - $(currentTile).attr("data-col", "c" + (currentCol-1)); // update tile attributes + $(currentTile).attr("data-col", "c" + (currentCol - 1)); // update tile attributes currentCol--; } + // check if next left tile is a match AND the match is not a new tile + tileRow = Number($(currentTile).attr("data-row").replace("r", "")); + tileCol = Number($(currentTile).attr("data-col").replace("c", "")); + tileVal = Number($(currentTile).attr("data-val")); + // this is where the error is - tileRow is adding 1 to numbers above 3 + $adjTile = $(g.getTile(tileRow, tileCol - 1)); + if (tileCol > 0 && Number($adjTile.attr("data-val")) === tileVal && $adjTile.attr("data-new") !== "true" ) { + console.log("MATCH"); + // delete the other two tiles + $(currentTile).remove(); + $adjTile.remove(); + // create a new tile with a flag on it + var $newTile = $('
'); + $newTile.attr("data-row", "r" + (tileRow)); + $newTile.attr("data-col", "c" + tileCol - 1); + $newTile.attr("data-val", tileVal * 2); + $newTile.attr("data-new", "true"); + $newTile.html(tileVal * 2); + $("#gameboard").append($newTile.hide()); + $newTile.delay(200).fadeIn('fast'); + // update the board + b[tileRow][tileCol - 1] = tileVal * 2; + b[tileRow][tileCol] = 0; + } }); + $('.tile').attr("data-new", "false"); break; + case 39: //right console.log('right'); locations.sort(byColumn).reverse(); From bdba1a64afe5b0d39b1e0c4e58eca2b06cd67938 Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 4 Feb 2016 14:46:26 -0800 Subject: [PATCH 25/38] Left and right collisions now working --- javascripts/2048.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index a6d0633..b0c2c5d 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -144,7 +144,7 @@ Game.prototype.moveTile = function(tile, direction) { // create a new tile with a flag on it var $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow)); - $newTile.attr("data-col", "c" + tileCol - 1); + $newTile.attr("data-col", "c" + (tileCol - 1)); $newTile.attr("data-val", tileVal * 2); $newTile.attr("data-new", "true"); $newTile.html(tileVal * 2); @@ -170,7 +170,31 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).attr("data-col", "c" + (currentCol+1)); // update tile attributes currentCol++; } + // check if below tile is a match AND the match is not a new tile + tileRow = Number($(currentTile).attr("data-row").replace("r", "")); + tileCol = Number($(currentTile).attr("data-col").replace("c", "")); + tileVal = Number($(currentTile).attr("data-val")); + $adjTile = $(g.getTile(tileRow, tileCol + 1)); + if (tileCol < 3 && Number($adjTile.attr("data-val")) === tileVal && $adjTile.attr("data-new") !== "true" ) { + console.log("MATCH"); + // delete the other two tiles + $(currentTile).remove(); + $adjTile.remove(); + // create a new tile with a flag on it + var $newTile = $('
'); + $newTile.attr("data-row", "r" + (tileRow)); + $newTile.attr("data-col", "c" + (tileCol + 1)); + $newTile.attr("data-val", tileVal * 2); + $newTile.attr("data-new", "true"); + $newTile.html(tileVal * 2); + $("#gameboard").append($newTile.hide()); + $newTile.delay(200).fadeIn('fast'); + // update the board + b[tileRow][tileCol + 1] = tileVal * 2; + b[tileRow][tileCol] = 0; + } }); + $('.tile').attr("data-new", "false"); break; } }; From 7927ee83463a4a91bbfcf6e59ea1c04a41d178b4 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Thu, 4 Feb 2016 14:56:04 -0800 Subject: [PATCH 26/38] updated gitignore and cleaned up move tile function --- .gitignore | 1 + javascripts/2048.js | 19 +++++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/javascripts/2048.js b/javascripts/2048.js index b0c2c5d..272d051 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -24,6 +24,7 @@ Game.prototype.moveTile = function(tile, direction) { var tileCol; var tileVal; var $adjTile; + var $newTile; for (var t = 0; t < tile.length; t++) { var curr = tile[t]; @@ -34,7 +35,7 @@ Game.prototype.moveTile = function(tile, direction) { console.log('up'); locations.sort(); locations.forEach(function(loc) { - currentTile = $(g.getTile(loc[0],loc[1]))[0]; + currentTile = $(g.getTile(loc[0],loc[1])); currentRow = Number(loc[0]); while ((currentRow-1) >= 0 && b[currentRow-1][loc[1]] === 0) { b[currentRow-1][loc[1]] = b[currentRow][loc[1]]; // set value of new space @@ -53,7 +54,7 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).remove(); $adjTile.remove(); // create a new tile with a flag on it - var $newTile = $('
'); + $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow - 1)); $newTile.attr("data-col", "c" + tileCol); $newTile.attr("data-val", tileVal * 2); @@ -74,8 +75,7 @@ Game.prototype.moveTile = function(tile, direction) { console.log('down'); locations.sort().reverse(); locations.forEach(function(loc) { - currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; - console.log(currentTile); + currentTile = $(g.getTile(loc[0],loc[1])); currentRow = Number(loc[0]); while ((currentRow+1) <= 3 && b[currentRow+1][loc[1]] === 0) { b[currentRow+1][loc[1]] = b[currentRow][loc[1]]; // set value of new space @@ -94,7 +94,7 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).remove(); $adjTile.remove(); // create a new tile with a flag on it - var $newTile = $('
'); + $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow + 1)); $newTile.attr("data-col", "c" + tileCol); $newTile.attr("data-val", tileVal * 2); @@ -121,8 +121,7 @@ Game.prototype.moveTile = function(tile, direction) { } locations.sort(byColumn); locations.forEach(function(loc) { - currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; - console.log(currentTile); + currentTile = $(g.getTile(loc[0],loc[1])); currentCol = Number(loc[1]); while ((currentCol -1 ) >= 0 && b[loc[0]][currentCol - 1] === 0) { b[loc[0]][currentCol-1] = b[loc[0]][currentCol]; // set value of new space @@ -142,7 +141,7 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).remove(); $adjTile.remove(); // create a new tile with a flag on it - var $newTile = $('
'); + $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow)); $newTile.attr("data-col", "c" + (tileCol - 1)); $newTile.attr("data-val", tileVal * 2); @@ -162,7 +161,7 @@ Game.prototype.moveTile = function(tile, direction) { console.log('right'); locations.sort(byColumn).reverse(); locations.forEach(function(loc) { - currentTile = $('.tile[data-row="r' + loc[0] + '"][data-col="c' + loc[1] + '"]')[0]; + currentTile = $(g.getTile(loc[0],loc[1])); currentCol = Number(loc[1]); while ((currentCol+1) <= 3 && b[loc[0]][currentCol+1] === 0) { b[loc[0]][currentCol+1] = b[loc[0]][currentCol]; // set value of new space @@ -181,7 +180,7 @@ Game.prototype.moveTile = function(tile, direction) { $(currentTile).remove(); $adjTile.remove(); // create a new tile with a flag on it - var $newTile = $('
'); + $newTile = $('
'); $newTile.attr("data-row", "r" + (tileRow)); $newTile.attr("data-col", "c" + (tileCol + 1)); $newTile.attr("data-val", tileVal * 2); From e0b8d4dc15b1761b7f85719fe2944faea29348e2 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Thu, 4 Feb 2016 15:11:44 -0800 Subject: [PATCH 27/38] fixed spacing --- javascripts/2048.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 272d051..a77b3de 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -3,9 +3,7 @@ var Game = function() { this.addTile(); this.addTile(); }; -// Game.prototype.isMovePossible = function(board, direction) { -// -// }; + Game.prototype.getTile = function(row, col, val) { if (val !== undefined) { return '.tile[data-row="r' + row + '"][data-col="c' + col + '"][data-val="' + val + '"]'; @@ -13,6 +11,7 @@ Game.prototype.getTile = function(row, col, val) { return '.tile[data-row="r' + row + '"][data-col="c' + col + '"]'; } }; + Game.prototype.moveTile = function(tile, direction) { var b = this.board; var g = this; @@ -232,6 +231,7 @@ Game.prototype.addTile = function () { // update board structure with placement of new tile this.board[dest[0]][dest[1]] = val; }; + $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality From da170151c061ef28a14d403aae6ea1db7662c750 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Thu, 4 Feb 2016 15:28:18 -0800 Subject: [PATCH 28/38] fixed function name --- javascripts/2048.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index a77b3de..59ea71d 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -196,7 +196,7 @@ Game.prototype.moveTile = function(tile, direction) { break; } }; -Game.prototype.get_empty_spaces = function() { +Game.prototype.getEmptySpaces = function() { var indexes = [], i, j; for (i = 0; i < this.board.length; i++) { for (j = 0; j < this.board[i].length; j++) { @@ -217,7 +217,7 @@ Game.prototype.addTile = function () { val = 4; } // figure out which spaces are empty - var avail = this.get_empty_spaces(); + var avail = this.getEmptySpaces(); // pick one (each is in the form [row, column]) var dest = avail[Math.floor(Math.random() * avail.length)]; // add tile to the board in an empty space From f9a7ae0fa80b730a1be6a6648129f2d647a87f94 Mon Sep 17 00:00:00 2001 From: Sarah Date: Thu, 4 Feb 2016 16:39:44 -0800 Subject: [PATCH 29/38] Score method now works --- index.html | 3 +++ javascripts/2048.js | 12 ++++++++++++ stylesheets/2048.css | 8 ++++++++ 3 files changed, 23 insertions(+) diff --git a/index.html b/index.html index e492b7e..a3a9633 100644 --- a/index.html +++ b/index.html @@ -10,6 +10,9 @@

Reset Game

+
+

Score:

+
diff --git a/javascripts/2048.js b/javascripts/2048.js index 59ea71d..05de88c 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -2,6 +2,7 @@ var Game = function() { this.board = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; this.addTile(); this.addTile(); + this.score = 0; }; Game.prototype.getTile = function(row, col, val) { @@ -24,6 +25,7 @@ Game.prototype.moveTile = function(tile, direction) { var tileVal; var $adjTile; var $newTile; + var score; for (var t = 0; t < tile.length; t++) { var curr = tile[t]; @@ -64,6 +66,8 @@ Game.prototype.moveTile = function(tile, direction) { // update the board b[tileRow - 1][tileCol] = tileVal * 2; b[tileRow][tileCol] = 0; + g.score += Number(tileVal * 2); + $("#scoreboard").html("

" + g.score + "

"); } }); // remove flags @@ -104,6 +108,8 @@ Game.prototype.moveTile = function(tile, direction) { // update the board b[tileRow + 1][tileCol] = tileVal * 2; b[tileRow][tileCol] = 0; + g.score += Number(tileVal * 2); + $("#scoreboard").html("

" + g.score + "

"); } }); $('.tile').attr("data-new", "false"); @@ -151,6 +157,9 @@ Game.prototype.moveTile = function(tile, direction) { // update the board b[tileRow][tileCol - 1] = tileVal * 2; b[tileRow][tileCol] = 0; + g.score += Number(tileVal * 2); + $("#scoreboard").html("

" + g.score + "

"); + console.log(g.score); } }); $('.tile').attr("data-new", "false"); @@ -190,6 +199,9 @@ Game.prototype.moveTile = function(tile, direction) { // update the board b[tileRow][tileCol + 1] = tileVal * 2; b[tileRow][tileCol] = 0; + g.score += Number(tileVal * 2); + $("#scoreboard").html("

" + g.score + "

"); + console.log(g.score); } }); $('.tile').attr("data-new", "false"); diff --git a/stylesheets/2048.css b/stylesheets/2048.css index 53cd37b..2a892b2 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -30,6 +30,14 @@ body { text-align: center; } +#scoreboard { + font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; + color: #776e65; + background-color: #bbada0; + width: 100px; + border-radius: 3px; +} + .cell { background: rgba(238, 228, 218, 0.35); From 94deae4ed5edcf550424138b507e28cab9af3039 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 12:22:40 -0800 Subject: [PATCH 30/38] Added minor css and a 'you win' message --- javascripts/2048.js | 14 ++++++++++++++ javascripts/win2048.js | 7 ------- stylesheets/2048.css | 7 ++++++- 3 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 javascripts/win2048.js diff --git a/javascripts/2048.js b/javascripts/2048.js index 05de88c..a8e8e1e 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -244,6 +244,13 @@ Game.prototype.addTile = function () { this.board[dest[0]][dest[1]] = val; }; +Game.prototype.won = function(){ + if (this.board.includes(2048)) + return true; + console.log("You win!!!"); + }; +}; + $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality @@ -259,7 +266,14 @@ $(document).ready(function() { if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); game.moveTile(tile, event.which); + if (game.won() === false) { game.addTile(); + } else { + $("#scoreboard").html("

" + g.score + "

"); + var div = $('
'); + var winMessage = $('

'); + winMessage.text("You won!"); + div.append(winMessage); } }); }); diff --git a/javascripts/win2048.js b/javascripts/win2048.js deleted file mode 100644 index e51b49c..0000000 --- a/javascripts/win2048.js +++ /dev/null @@ -1,7 +0,0 @@ -// win if one tile has a value of 2048 -Game.prototype.won = function(){ - if (this.board.includes(2048)) - return true; - console.log("You win!!!"); - }; -}; diff --git a/stylesheets/2048.css b/stylesheets/2048.css index 2a892b2..fb704fd 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -18,7 +18,7 @@ body { #button { background-color: #80C576; border-radius: 3px; - width: 100px; + width: 120px; height: 40px; margin: auto; } @@ -28,6 +28,7 @@ body { font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; font-size: 16px; text-align: center; + padding-top: 10%; } #scoreboard { @@ -36,9 +37,13 @@ body { background-color: #bbada0; width: 100px; border-radius: 3px; + margin: 0 auto; + height: 50px; + text-align: center; } + .cell { background: rgba(238, 228, 218, 0.35); border-radius: 0.5rem; From 6047c56e7da998bddcedf9e20c80182e01e9a96d Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 12:30:19 -0800 Subject: [PATCH 31/38] Reverted back to master branch' --- javascripts/2048.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index a8e8e1e..05de88c 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -244,13 +244,6 @@ Game.prototype.addTile = function () { this.board[dest[0]][dest[1]] = val; }; -Game.prototype.won = function(){ - if (this.board.includes(2048)) - return true; - console.log("You win!!!"); - }; -}; - $(document).ready(function() { console.log("ready to go!"); // Any interactive jQuery functionality @@ -266,14 +259,7 @@ $(document).ready(function() { if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); game.moveTile(tile, event.which); - if (game.won() === false) { game.addTile(); - } else { - $("#scoreboard").html("

" + g.score + "

"); - var div = $('
'); - var winMessage = $('

'); - winMessage.text("You won!"); - div.append(winMessage); } }); }); From b0aafab0dc5bf251fb431642e71ac3ef0d6d775e Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 12:40:56 -0800 Subject: [PATCH 32/38] Fixed syntax for win function --- javascripts/2048.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index a8e8e1e..7abfe1c 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -245,10 +245,10 @@ Game.prototype.addTile = function () { }; Game.prototype.won = function(){ - if (this.board.includes(2048)) + if (this.board.includes(2048)){ + console.log("You win!!!"); return true; - console.log("You win!!!"); - }; + } }; $(document).ready(function() { @@ -267,13 +267,14 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); if (game.won() === false) { - game.addTile(); - } else { - $("#scoreboard").html("

" + g.score + "

"); - var div = $('
'); - var winMessage = $('

'); - winMessage.text("You won!"); - div.append(winMessage); + game.addTile(); + } else { + $("#scoreboard").html("

" + g.score + "

"); + var div = $('
'); + var winMessage = $('

'); + winMessage.text("You won!"); + div.append(winMessage); + } } }); }); From 47e1b66cec5e1258e4de73d21e20c497fd028154 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 13:17:43 -0800 Subject: [PATCH 33/38] Fixed if/else in scoreboard statement --- javascripts/2048.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 7abfe1c..9b8ff14 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -247,7 +247,7 @@ Game.prototype.addTile = function () { Game.prototype.won = function(){ if (this.board.includes(2048)){ console.log("You win!!!"); - return true; + return true; } }; @@ -266,7 +266,7 @@ $(document).ready(function() { if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); game.moveTile(tile, event.which); - if (game.won() === false) { + if (game.won() !== true) { game.addTile(); } else { $("#scoreboard").html("

" + g.score + "

"); From 264ec09d2bad2742d6dd5d9befcccf4c0e437c95 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 13:39:49 -0800 Subject: [PATCH 34/38] Win message now displaying --- javascripts/2048.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index 9b8ff14..5ae36a2 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -245,9 +245,13 @@ Game.prototype.addTile = function () { }; Game.prototype.won = function(){ - if (this.board.includes(2048)){ - console.log("You win!!!"); - return true; + for (i = 0; i < this.board.length; i++) { + for (j = 0; j < this.board[i].length; j++) { + if (this.board[i][j] === 4) { + console.log("You win!!!"); + return true; + } + } } }; @@ -266,14 +270,16 @@ $(document).ready(function() { if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); game.moveTile(tile, event.which); + $("#scoreboard").html("

" + game.score + "

"); if (game.won() !== true) { game.addTile(); } else { - $("#scoreboard").html("

" + g.score + "

"); + $("#scoreboard").html("

" + game.score + "

"); var div = $('
'); var winMessage = $('

'); winMessage.text("You won!"); div.append(winMessage); + $('body').append(div); } } }); From fb6d603c8aed0c661336f57bf12f25177ada9ed6 Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Fri, 5 Feb 2016 14:17:43 -0800 Subject: [PATCH 35/38] no tile added if your move was impossible --- javascripts/2048.js | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/javascripts/2048.js b/javascripts/2048.js index dba633d..cbafd1f 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -3,6 +3,7 @@ var Game = function() { this.addTile(); this.addTile(); this.score = 0; + this.isGettingNewTile = true; }; Game.prototype.getTile = function(row, col, val) { @@ -13,8 +14,20 @@ Game.prototype.getTile = function(row, col, val) { } }; +Game.prototype.shouldGetNewTile = function(before, after) { + if (JSON.stringify(before) === JSON.stringify(after)) { + console.log("no tile for you"); + this.isGettingNewTile = false; + } else if (this.getEmptySpaces().length === 0) { + this.isGettingNewTile = false; + } else { + this.isGettingNewTile = true; + } +}; + Game.prototype.moveTile = function(tile, direction) { var b = this.board; + var boardDupe = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]; var g = this; var currentTile; var currentRow; @@ -27,6 +40,12 @@ Game.prototype.moveTile = function(tile, direction) { var $newTile; var score; + for (var i = 0; i < this.board.length; i++) { + for (var j = 0; j < this.board[i].length; j++) { + boardDupe[i][j] = this.board[i][j]; + } + } + for (var t = 0; t < tile.length; t++) { var curr = tile[t]; locations.push([$(curr).attr("data-row").replace("r", ""), $(curr).attr("data-col").replace("c", "")]); @@ -72,6 +91,10 @@ Game.prototype.moveTile = function(tile, direction) { }); // remove flags $('.tile').attr("data-new", "false"); + + // update whether a new tile should be added + g.shouldGetNewTile(boardDupe, g.board); + break; case 40: //down @@ -113,6 +136,9 @@ Game.prototype.moveTile = function(tile, direction) { } }); $('.tile').attr("data-new", "false"); + + // update whether a new tile should be added + g.shouldGetNewTile(boardDupe, g.board); break; case 37: //left @@ -163,6 +189,9 @@ Game.prototype.moveTile = function(tile, direction) { } }); $('.tile').attr("data-new", "false"); + + // update whether a new tile should be added + g.shouldGetNewTile(boardDupe, g.board); break; case 39: //right @@ -205,6 +234,9 @@ Game.prototype.moveTile = function(tile, direction) { } }); $('.tile').attr("data-new", "false"); + + // update whether a new tile should be added + g.shouldGetNewTile(boardDupe, g.board); break; } }; @@ -248,7 +280,7 @@ Game.prototype.addTile = function () { Game.prototype.won = function(){ for (i = 0; i < this.board.length; i++) { for (j = 0; j < this.board[i].length; j++) { - if (this.board[i][j] === 4) { + if (this.board[i][j] === 2048) { console.log("You win!!!"); return true; } @@ -272,9 +304,9 @@ $(document).ready(function() { var tile = $('.tile'); game.moveTile(tile, event.which); $("#scoreboard").html("

" + game.score + "

"); - if (game.won() !== true) { + if (game.won() !== true && game.isGettingNewTile === true) { game.addTile(); - } else { + } else if (game.won() === true) { $("#scoreboard").html("

" + game.score + "

"); var div = $('
'); var winMessage = $('

'); From 072ce7564782f0527823f0fe5f70a1fca9fda752 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 14:25:22 -0800 Subject: [PATCH 36/38] Score method now displays beautifully --- index.html | 4 +- javascripts/2048.js | 20 +- node_modules/sweetalert/.editorconfig | 11 + node_modules/sweetalert/.jshintrc | 11 + node_modules/sweetalert/.npmignore | 5 + node_modules/sweetalert/.travis.yml | 8 + node_modules/sweetalert/LICENSE | 22 + node_modules/sweetalert/README.md | 157 ++ node_modules/sweetalert/bower.json | 25 + .../sweetalert/dev/gulpfile-wrap-template.js | 18 + node_modules/sweetalert/dev/ie9.css | 23 + .../sweetalert/dev/loader-animation.css | 209 +++ .../sweetalert/dev/modules/default-params.js | 26 + .../sweetalert/dev/modules/handle-click.js | 128 ++ .../sweetalert/dev/modules/handle-dom.js | 161 +++ .../sweetalert/dev/modules/handle-key.js | 73 + .../sweetalert/dev/modules/handle-swal-dom.js | 148 ++ .../sweetalert/dev/modules/injected-html.js | 69 + .../sweetalert/dev/modules/set-params.js | 221 +++ node_modules/sweetalert/dev/modules/utils.js | 71 + node_modules/sweetalert/dev/sweetalert.es6.js | 311 ++++ node_modules/sweetalert/dev/sweetalert.scss | 648 +++++++++ .../sweetalert/dist/sweetalert-dev.js | 1285 +++++++++++++++++ node_modules/sweetalert/dist/sweetalert.css | 932 ++++++++++++ .../sweetalert/dist/sweetalert.min.js | 1 + node_modules/sweetalert/example/example.css | 442 ++++++ node_modules/sweetalert/example/example.scss | 580 ++++++++ .../sweetalert/example/images/logo_big.png | Bin 0 -> 17162 bytes .../sweetalert/example/images/logo_big@2x.png | Bin 0 -> 37467 bytes .../sweetalert/example/images/logo_small.png | Bin 0 -> 4459 bytes .../example/images/logo_small@2x.png | Bin 0 -> 9760 bytes .../example/images/te-logo-small.svg | 12 + .../sweetalert/example/images/thumbs-up.jpg | Bin 0 -> 30052 bytes .../sweetalert/example/images/vs_icon.png | Bin 0 -> 3873 bytes .../sweetalert/example/images/vs_icon@2x.png | Bin 0 -> 8254 bytes node_modules/sweetalert/gulpfile.js | 108 ++ node_modules/sweetalert/index.html | 584 ++++++++ .../sweetalert/lib/modules/default-params.js | 32 + .../sweetalert/lib/modules/handle-click.js | 135 ++ .../sweetalert/lib/modules/handle-dom.js | 191 +++ .../sweetalert/lib/modules/handle-key.js | 79 + .../sweetalert/lib/modules/handle-swal-dom.js | 167 +++ .../sweetalert/lib/modules/injected-html.js | 42 + .../sweetalert/lib/modules/set-params.js | 225 +++ node_modules/sweetalert/lib/modules/utils.js | 73 + node_modules/sweetalert/lib/sweetalert.js | 303 ++++ node_modules/sweetalert/package.json | 71 + node_modules/sweetalert/sweetalert.gif | Bin 0 -> 495936 bytes node_modules/sweetalert/test/index.html | 25 + node_modules/sweetalert/test/tests.js | 141 ++ .../sweetalert/themes/facebook/facebook.css | 111 ++ .../sweetalert/themes/facebook/facebook.scss | 146 ++ .../sweetalert/themes/google/google.css | 115 ++ .../sweetalert/themes/google/google.scss | 148 ++ .../sweetalert/themes/twitter/twitter.css | 140 ++ .../sweetalert/themes/twitter/twitter.scss | 177 +++ stylesheets/2048.css | 8 +- 57 files changed, 8628 insertions(+), 14 deletions(-) create mode 100644 node_modules/sweetalert/.editorconfig create mode 100644 node_modules/sweetalert/.jshintrc create mode 100644 node_modules/sweetalert/.npmignore create mode 100644 node_modules/sweetalert/.travis.yml create mode 100644 node_modules/sweetalert/LICENSE create mode 100644 node_modules/sweetalert/README.md create mode 100644 node_modules/sweetalert/bower.json create mode 100644 node_modules/sweetalert/dev/gulpfile-wrap-template.js create mode 100644 node_modules/sweetalert/dev/ie9.css create mode 100644 node_modules/sweetalert/dev/loader-animation.css create mode 100644 node_modules/sweetalert/dev/modules/default-params.js create mode 100644 node_modules/sweetalert/dev/modules/handle-click.js create mode 100644 node_modules/sweetalert/dev/modules/handle-dom.js create mode 100644 node_modules/sweetalert/dev/modules/handle-key.js create mode 100644 node_modules/sweetalert/dev/modules/handle-swal-dom.js create mode 100644 node_modules/sweetalert/dev/modules/injected-html.js create mode 100644 node_modules/sweetalert/dev/modules/set-params.js create mode 100644 node_modules/sweetalert/dev/modules/utils.js create mode 100644 node_modules/sweetalert/dev/sweetalert.es6.js create mode 100644 node_modules/sweetalert/dev/sweetalert.scss create mode 100644 node_modules/sweetalert/dist/sweetalert-dev.js create mode 100644 node_modules/sweetalert/dist/sweetalert.css create mode 100644 node_modules/sweetalert/dist/sweetalert.min.js create mode 100644 node_modules/sweetalert/example/example.css create mode 100644 node_modules/sweetalert/example/example.scss create mode 100644 node_modules/sweetalert/example/images/logo_big.png create mode 100644 node_modules/sweetalert/example/images/logo_big@2x.png create mode 100644 node_modules/sweetalert/example/images/logo_small.png create mode 100644 node_modules/sweetalert/example/images/logo_small@2x.png create mode 100644 node_modules/sweetalert/example/images/te-logo-small.svg create mode 100644 node_modules/sweetalert/example/images/thumbs-up.jpg create mode 100644 node_modules/sweetalert/example/images/vs_icon.png create mode 100644 node_modules/sweetalert/example/images/vs_icon@2x.png create mode 100644 node_modules/sweetalert/gulpfile.js create mode 100644 node_modules/sweetalert/index.html create mode 100644 node_modules/sweetalert/lib/modules/default-params.js create mode 100644 node_modules/sweetalert/lib/modules/handle-click.js create mode 100644 node_modules/sweetalert/lib/modules/handle-dom.js create mode 100644 node_modules/sweetalert/lib/modules/handle-key.js create mode 100644 node_modules/sweetalert/lib/modules/handle-swal-dom.js create mode 100644 node_modules/sweetalert/lib/modules/injected-html.js create mode 100644 node_modules/sweetalert/lib/modules/set-params.js create mode 100644 node_modules/sweetalert/lib/modules/utils.js create mode 100644 node_modules/sweetalert/lib/sweetalert.js create mode 100644 node_modules/sweetalert/package.json create mode 100644 node_modules/sweetalert/sweetalert.gif create mode 100644 node_modules/sweetalert/test/index.html create mode 100644 node_modules/sweetalert/test/tests.js create mode 100644 node_modules/sweetalert/themes/facebook/facebook.css create mode 100644 node_modules/sweetalert/themes/facebook/facebook.scss create mode 100644 node_modules/sweetalert/themes/google/google.css create mode 100644 node_modules/sweetalert/themes/google/google.scss create mode 100644 node_modules/sweetalert/themes/twitter/twitter.css create mode 100644 node_modules/sweetalert/themes/twitter/twitter.scss diff --git a/index.html b/index.html index a3a9633..84650af 100644 --- a/index.html +++ b/index.html @@ -5,13 +5,15 @@ + +

Reset Game

-

Score:

+

Score: 0

diff --git a/javascripts/2048.js b/javascripts/2048.js index dba633d..796ad68 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -248,7 +248,7 @@ Game.prototype.addTile = function () { Game.prototype.won = function(){ for (i = 0; i < this.board.length; i++) { for (j = 0; j < this.board[i].length; j++) { - if (this.board[i][j] === 4) { + if (this.board[i][j] === 2048) { console.log("You win!!!"); return true; } @@ -271,16 +271,20 @@ $(document).ready(function() { if (arrows.indexOf(event.which) > -1) { var tile = $('.tile'); game.moveTile(tile, event.which); - $("#scoreboard").html("

" + game.score + "

"); + $("#scoreboard").html("

Score: " + game.score + "

"); if (game.won() !== true) { game.addTile(); } else { - $("#scoreboard").html("

" + game.score + "

"); - var div = $('
'); - var winMessage = $('

'); - winMessage.text("You won!"); - div.append(winMessage); - $('body').append(div); + swal({ + title: "YOU WON!", + text: "Do you want to play again?", + showCancelButton: false, + closeOnConfirm: true, + confirmButtonText: "Yes, play again!", + confirmButtonColor: "#006666" + }, function() { + window.location.reload(); + }); } } }); diff --git a/node_modules/sweetalert/.editorconfig b/node_modules/sweetalert/.editorconfig new file mode 100644 index 0000000..f29d257 --- /dev/null +++ b/node_modules/sweetalert/.editorconfig @@ -0,0 +1,11 @@ +# editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/node_modules/sweetalert/.jshintrc b/node_modules/sweetalert/.jshintrc new file mode 100644 index 0000000..f6dd383 --- /dev/null +++ b/node_modules/sweetalert/.jshintrc @@ -0,0 +1,11 @@ +{ + "predef": [ + "document", + "window", + "module", + "define" + ], + "browser": true, + "esnext": true, + "validthis": true +} diff --git a/node_modules/sweetalert/.npmignore b/node_modules/sweetalert/.npmignore new file mode 100644 index 0000000..84bfeb2 --- /dev/null +++ b/node_modules/sweetalert/.npmignore @@ -0,0 +1,5 @@ +*.codekit +*.sass-cache +*.DS_STORE +node_modules +bower_components diff --git a/node_modules/sweetalert/.travis.yml b/node_modules/sweetalert/.travis.yml new file mode 100644 index 0000000..46614b6 --- /dev/null +++ b/node_modules/sweetalert/.travis.yml @@ -0,0 +1,8 @@ +language: node_js +node_js: + - "0.12" +before script: + - npm install -g gulp + - npm install -g bower + - bower install +script: gulp test diff --git a/node_modules/sweetalert/LICENSE b/node_modules/sweetalert/LICENSE new file mode 100644 index 0000000..2d4ac32 --- /dev/null +++ b/node_modules/sweetalert/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014 Tristan Edwards + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/node_modules/sweetalert/README.md b/node_modules/sweetalert/README.md new file mode 100644 index 0000000..f03a952 --- /dev/null +++ b/node_modules/sweetalert/README.md @@ -0,0 +1,157 @@ +SweetAlert [![Build Status](https://travis-ci.org/t4t5/sweetalert.svg?branch=master)](https://travis-ci.org/t4t5/sweetalert) +========== + +An awesome replacement for JavaScript's alert. + +![A success modal](https://raw.github.com/t4t5/sweetalert/master/sweetalert.gif) + +[See it in action!](http://t4t5.github.io/sweetalert) + +[Learn how to use it!](https://www.ludu.co/lesson/how-to-use-sweetalert) + + +Usage +----- + +You can install SweetAlert through bower: + +```bash +bower install sweetalert +``` + +Or through npm: + +```bash +npm install sweetalert +``` + +Alternatively, download the package and reference the JavaScript and CSS files manually: + +```html + + +``` +**Note:** If you're using an older version than v1.0.0, the files are `lib/sweet-alert.min.js` and `lib/sweet-alert.css` + + +Tutorial +-------- + +The easiest way to get started is follow the [SweetAlert tutorial on Ludu](https://www.ludu.co/lesson/how-to-use-sweetalert)! + + +Examples +-------- + +The most basic message: + +```javascript +swal("Hello world!"); +``` + +A message signaling an error: + +```javascript +swal("Oops...", "Something went wrong!", "error"); +``` + +A warning message, with a function attached to the "Confirm"-button: + +```javascript +swal({ + title: "Are you sure?", + text: "You will not be able to recover this imaginary file!", + type: "warning", + showCancelButton: true, + confirmButtonColor: "#DD6B55", + confirmButtonText: "Yes, delete it!", + closeOnConfirm: false, + html: false +}, function(){ + swal("Deleted!", + "Your imaginary file has been deleted.", + "success"); +}); +``` + +A prompt modal where the user's input is logged: + +```javascript +swal({ + title: "An input!", + text: 'Write something interesting:', + type: 'input', + showCancelButton: true, + closeOnConfirm: false, + animation: "slide-from-top" +}, function(inputValue){ + console.log("You wrote", inputValue); +}); +``` + +Ajax request example: + +```javascript +swal({ + title: 'Ajax request example', + text: 'Submit to run ajax request', + type: 'info', + showCancelButton: true, + closeOnConfirm: false, + disableButtonsOnConfirm: true, + confirmLoadingButtonColor: '#DD6B55' +}, function(inputValue){ + setTimeout(function() { + swal('Ajax request finished!'); + }, 2000); +}); +``` + +[View more examples](http://t4t5.github.io/sweetalert) + + +Themes +------ + +SweetAlert can easily be themed to fit your site's design. SweetAlert comes with three example themes that you can try out: **facebook**, **twitter** and **google**. They can be referenced right after the intial sweetalert-CSS: +```html + + +``` + + +Browser compatibility +--------------------- + +SweetAlert works in most major browsers (yes, even IE). Some details: + +- **IE8**: (Dropped since v1.0.0-beta) +- **IE9**: Works, but icons are not animated. +- **IE10+**: Works! +- **Safari 4+**: Works! +- **Firefox 3+**: Works! +- **Chrome 14+**: Works! +- **Opera 15+**: Works! + + +Contributing +------------ + +If you want to contribute: + +- Fork the repo + +- Make sure you have [Node](http://nodejs.org/), [NPM](https://www.npmjs.com/) and [Gulp](http://gulpjs.com/) installed. When in the SweetAlert directory, run `npm install` to install the dependencies. Then run `gulp` while working to automatically minify the SCSS and JS-files. + +- Keep in mind that SweetAlert uses Browserify in order to compile ES6-files. For easy debugging, make sure you reference the file `dist/sweetalert-dev.js` instead of `sweetalert.js`. + +- After you're done, make a pull request and wait for approval! :) + + +Related projects +---------------- + +* [SweetAlert for Android](https://github.com/pedant/sweet-alert-dialog) +* [SweetAlert for Bootstrap](https://github.com/lipis/bootstrap-sweetalert) +* [SweetAlert for AngularJS](https://github.com/oitozero/ngSweetAlert) +* [SweetAlert for RubyOnRails](https://github.com/sharshenov/sweetalert-rails) diff --git a/node_modules/sweetalert/bower.json b/node_modules/sweetalert/bower.json new file mode 100644 index 0000000..019653c --- /dev/null +++ b/node_modules/sweetalert/bower.json @@ -0,0 +1,25 @@ +{ + "name": "sweetalert", + "homepage": "http://tristanedwards.me/sweetalert", + "authors": [ + "Tristan Edwards (http://tristanedwards.me)" + ], + "description": "A beautiful replacement for JavaScript's alert.", + "main": [ + "dist/sweetalert.min.js", + "dist/sweetalert.css" + ], + "keywords": [ + "alert", + "modal" + ], + "repository": { + "type": "git", + "url": "git@github.com:t4t5/sweetalert.git" + }, + "license": "MIT", + "devDependencies": { + "qunit": "~1.18.0", + "jquery": "~2.1.4" + } +} diff --git a/node_modules/sweetalert/dev/gulpfile-wrap-template.js b/node_modules/sweetalert/dev/gulpfile-wrap-template.js new file mode 100644 index 0000000..5522acd --- /dev/null +++ b/node_modules/sweetalert/dev/gulpfile-wrap-template.js @@ -0,0 +1,18 @@ +;(function(window, document, undefined) { + "use strict"; + + <%= contents %> + + /* + * Use SweetAlert with RequireJS + */ + + if (typeof define === 'function' && define.amd) { + define(function () { + return sweetAlert; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = sweetAlert; + } + +})(window, document); \ No newline at end of file diff --git a/node_modules/sweetalert/dev/ie9.css b/node_modules/sweetalert/dev/ie9.css new file mode 100644 index 0000000..6524fba --- /dev/null +++ b/node_modules/sweetalert/dev/ie9.css @@ -0,0 +1,23 @@ +/* Internet Explorer 9 has some special quirks that are fixed here */ +/* The icons are not animated. */ +/* This file is automatically merged into sweet-alert.min.js through Gulp */ + +/* Error icon */ +.sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -ms-transform: rotate(45deg)\9; +} +.sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -ms-transform: rotate(-45deg)\9; +} + + +/* Success icon */ +.sweet-alert .sa-icon.sa-success { + border-color: transparent\9; +} +.sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + -ms-transform: rotate(45deg)\9; +} +.sweet-alert .sa-icon.sa-success .sa-line.sa-long { + -ms-transform: rotate(-45deg)\9; +} \ No newline at end of file diff --git a/node_modules/sweetalert/dev/loader-animation.css b/node_modules/sweetalert/dev/loader-animation.css new file mode 100644 index 0000000..2855635 --- /dev/null +++ b/node_modules/sweetalert/dev/loader-animation.css @@ -0,0 +1,209 @@ +/*! + * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { +position: relative; +-webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; +} +.la-ball-fall.la-dark { + color: #333; +} +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; +} +.la-ball-fall { + width: 54px; + height: 18px; +} +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; +} +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; +} +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; +} +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; +} +.la-ball-fall.la-sm { + width: 26px; + height: 8px; +} +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; +} +.la-ball-fall.la-2x { + width: 108px; + height: 36px; +} +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; +} +.la-ball-fall.la-3x { + width: 162px; + height: 54px; +} +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; +} +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); + } + 10% { + opacity: .5; + } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } + 90% { + opacity: .5; + } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); + } +} +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); + } + 10% { + opacity: .5; + } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); + } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); + } + 90% { + opacity: .5; + } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); + } +} +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); + } + 10% { + opacity: .5; + } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); + } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); + } + 90% { + opacity: .5; + } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); + } +} +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); + } + 10% { + opacity: .5; + } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); + } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); + } + 90% { + opacity: .5; + } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); + } +} diff --git a/node_modules/sweetalert/dev/modules/default-params.js b/node_modules/sweetalert/dev/modules/default-params.js new file mode 100644 index 0000000..a919acd --- /dev/null +++ b/node_modules/sweetalert/dev/modules/default-params.js @@ -0,0 +1,26 @@ +var defaultParams = { + title: '', + text: '', + type: null, + allowOutsideClick: false, + showConfirmButton: true, + showCancelButton: false, + closeOnConfirm: true, + closeOnCancel: true, + confirmButtonText: 'OK', + confirmButtonColor: '#8CD4F5', + cancelButtonText: 'Cancel', + imageUrl: null, + imageSize: null, + timer: null, + customClass: '', + html: false, + animation: true, + allowEscapeKey: true, + inputType: 'text', + inputPlaceholder: '', + inputValue: '', + showLoaderOnConfirm: false +}; + +export default defaultParams; diff --git a/node_modules/sweetalert/dev/modules/handle-click.js b/node_modules/sweetalert/dev/modules/handle-click.js new file mode 100644 index 0000000..b303237 --- /dev/null +++ b/node_modules/sweetalert/dev/modules/handle-click.js @@ -0,0 +1,128 @@ +import { colorLuminance } from './utils'; +import { getModal } from './handle-swal-dom'; +import { hasClass, isDescendant } from './handle-dom'; + + +/* + * User clicked on "Confirm"/"OK" or "Cancel" + */ +var handleButton = function(event, params, modal) { + var e = event || window.event; + var target = e.target || e.srcElement; + + var targetedConfirm = target.className.indexOf('confirm') !== -1; + var targetedOverlay = target.className.indexOf('sweet-overlay') !== -1; + var modalIsVisible = hasClass(modal, 'visible'); + var doneFunctionExists = (params.doneFunction && modal.getAttribute('data-has-done-function') === 'true'); + + // Since the user can change the background-color of the confirm button programmatically, + // we must calculate what the color should be on hover/active + var normalColor, hoverColor, activeColor; + if (targetedConfirm && params.confirmButtonColor) { + normalColor = params.confirmButtonColor; + hoverColor = colorLuminance(normalColor, -0.04); + activeColor = colorLuminance(normalColor, -0.14); + } + + function shouldSetConfirmButtonColor(color) { + if (targetedConfirm && params.confirmButtonColor) { + target.style.backgroundColor = color; + } + } + + switch (e.type) { + case 'mouseover': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'mouseout': + shouldSetConfirmButtonColor(normalColor); + break; + + case 'mousedown': + shouldSetConfirmButtonColor(activeColor); + break; + + case 'mouseup': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'focus': + let $confirmButton = modal.querySelector('button.confirm'); + let $cancelButton = modal.querySelector('button.cancel'); + + if (targetedConfirm) { + $cancelButton.style.boxShadow = 'none'; + } else { + $confirmButton.style.boxShadow = 'none'; + } + break; + + case 'click': + let clickedOnModal = (modal === target); + let clickedOnModalChild = isDescendant(modal, target); + + // Ignore click outside if allowOutsideClick is false + if (!clickedOnModal && !clickedOnModalChild && modalIsVisible && !params.allowOutsideClick) { + break; + } + + if (targetedConfirm && doneFunctionExists && modalIsVisible) { + handleConfirm(modal, params); + } else if (doneFunctionExists && modalIsVisible || targetedOverlay) { + handleCancel(modal, params); + } else if (isDescendant(modal, target) && target.tagName === 'BUTTON') { + sweetAlert.close(); + } + break; + } +}; + +/* + * User clicked on "Confirm"/"OK" + */ +var handleConfirm = function(modal, params) { + var callbackValue = true; + + if (hasClass(modal, 'show-input')) { + callbackValue = modal.querySelector('input').value; + + if (!callbackValue) { + callbackValue = ''; + } + } + + params.doneFunction(callbackValue); + + if (params.closeOnConfirm) { + sweetAlert.close(); + } + // Disable cancel and confirm button if the parameter is true + if (params.showLoaderOnConfirm) { + sweetAlert.disableButtons(); + } +}; + +/* + * User clicked on "Cancel" + */ +var handleCancel = function(modal, params) { + // Check if callback function expects a parameter (to track cancel actions) + var functionAsStr = String(params.doneFunction).replace(/\s/g, ''); + var functionHandlesCancel = functionAsStr.substring(0, 9) === 'function(' && functionAsStr.substring(9, 10) !== ')'; + + if (functionHandlesCancel) { + params.doneFunction(false); + } + + if (params.closeOnCancel) { + sweetAlert.close(); + } +}; + + +export default { + handleButton, + handleConfirm, + handleCancel +}; diff --git a/node_modules/sweetalert/dev/modules/handle-dom.js b/node_modules/sweetalert/dev/modules/handle-dom.js new file mode 100644 index 0000000..bd31c6e --- /dev/null +++ b/node_modules/sweetalert/dev/modules/handle-dom.js @@ -0,0 +1,161 @@ +var hasClass = function(elem, className) { + return new RegExp(' ' + className + ' ').test(' ' + elem.className + ' '); +}; + +var addClass = function(elem, className) { + if (!hasClass(elem, className)) { + elem.className += ' ' + className; + } +}; + +var removeClass = function(elem, className) { + var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' '; + if (hasClass(elem, className)) { + while (newClass.indexOf(' ' + className + ' ') >= 0) { + newClass = newClass.replace(' ' + className + ' ', ' '); + } + elem.className = newClass.replace(/^\s+|\s+$/g, ''); + } +}; + +var escapeHtml = function(str) { + var div = document.createElement('div'); + div.appendChild(document.createTextNode(str)); + return div.innerHTML; +}; + +var _show = function(elem) { + elem.style.opacity = ''; + elem.style.display = 'block'; +}; + +var show = function(elems) { + if (elems && !elems.length) { + return _show(elems); + } + for (var i = 0; i < elems.length; ++i) { + _show(elems[i]); + } +}; + +var _hide = function(elem) { + elem.style.opacity = ''; + elem.style.display = 'none'; +}; + +var hide = function(elems) { + if (elems && !elems.length) { + return _hide(elems); + } + for (var i = 0; i < elems.length; ++i) { + _hide(elems[i]); + } +}; + +var isDescendant = function(parent, child) { + var node = child.parentNode; + while (node !== null) { + if (node === parent) { + return true; + } + node = node.parentNode; + } + return false; +}; + +var getTopMargin = function(elem) { + elem.style.left = '-9999px'; + elem.style.display = 'block'; + + var height = elem.clientHeight, + padding; + if (typeof getComputedStyle !== "undefined") { // IE 8 + padding = parseInt(getComputedStyle(elem).getPropertyValue('padding-top'), 10); + } else { + padding = parseInt(elem.currentStyle.padding); + } + + elem.style.left = ''; + elem.style.display = 'none'; + return ('-' + parseInt((height + padding) / 2) + 'px'); +}; + +var fadeIn = function(elem, interval) { + if (+elem.style.opacity < 1) { + interval = interval || 16; + elem.style.opacity = 0; + elem.style.display = 'block'; + var last = +new Date(); + var tick = function() { + elem.style.opacity = +elem.style.opacity + (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity < 1) { + setTimeout(tick, interval); + } + }; + tick(); + } + elem.style.display = 'block'; //fallback IE8 +}; + +var fadeOut = function(elem, interval) { + interval = interval || 16; + elem.style.opacity = 1; + var last = +new Date(); + var tick = function() { + elem.style.opacity = +elem.style.opacity - (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity > 0) { + setTimeout(tick, interval); + } else { + elem.style.display = 'none'; + } + }; + tick(); +}; + +var fireClick = function(node) { + // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/ + // Then fixed for today's Chrome browser. + if (typeof MouseEvent === 'function') { + // Up-to-date approach + var mevt = new MouseEvent('click', { + view: window, + bubbles: false, + cancelable: true + }); + node.dispatchEvent(mevt); + } else if ( document.createEvent ) { + // Fallback + var evt = document.createEvent('MouseEvents'); + evt.initEvent('click', false, false); + node.dispatchEvent(evt); + } else if (document.createEventObject) { + node.fireEvent('onclick') ; + } else if (typeof node.onclick === 'function' ) { + node.onclick(); + } +}; + +var stopEventPropagation = function(e) { + // In particular, make sure the space bar doesn't scroll the main window. + if (typeof e.stopPropagation === 'function') { + e.stopPropagation(); + e.preventDefault(); + } else if (window.event && window.event.hasOwnProperty('cancelBubble')) { + window.event.cancelBubble = true; + } +}; + +export { + hasClass, addClass, removeClass, + escapeHtml, + _show, show, _hide, hide, + isDescendant, + getTopMargin, + fadeIn, fadeOut, + fireClick, + stopEventPropagation +}; diff --git a/node_modules/sweetalert/dev/modules/handle-key.js b/node_modules/sweetalert/dev/modules/handle-key.js new file mode 100644 index 0000000..b6cc75c --- /dev/null +++ b/node_modules/sweetalert/dev/modules/handle-key.js @@ -0,0 +1,73 @@ +import { stopEventPropagation, fireClick } from './handle-dom'; +import { setFocusStyle } from './handle-swal-dom'; + + +var handleKeyDown = function(event, params, modal) { + var e = event || window.event; + var keyCode = e.keyCode || e.which; + + var $okButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + var $modalButtons = modal.querySelectorAll('button[tabindex]'); + + + if ([9, 13, 32, 27].indexOf(keyCode) === -1) { + // Don't do work on keys we don't care about. + return; + } + + var $targetElement = e.target || e.srcElement; + + var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. + for (var i = 0; i < $modalButtons.length; i++) { + if ($targetElement === $modalButtons[i]) { + btnIndex = i; + break; + } + } + + if (keyCode === 9) { + // TAB + if (btnIndex === -1) { + // No button focused. Jump to the confirm button. + $targetElement = $okButton; + } else { + // Cycle to the next button + if (btnIndex === $modalButtons.length - 1) { + $targetElement = $modalButtons[0]; + } else { + $targetElement = $modalButtons[btnIndex + 1]; + } + } + + stopEventPropagation(e); + $targetElement.focus(); + + if (params.confirmButtonColor) { + setFocusStyle($targetElement, params.confirmButtonColor); + } + } else { + if (keyCode === 13) { + if ($targetElement.tagName === 'INPUT') { + $targetElement = $okButton; + $okButton.focus(); + } + + if (btnIndex === -1) { + // ENTER/SPACE clicked outside of a button. + $targetElement = $okButton; + } else { + // Do nothing - let the browser handle it. + $targetElement = undefined; + } + } else if (keyCode === 27 && params.allowEscapeKey === true) { + $targetElement = $cancelButton; + fireClick($targetElement, e); + } else { + // Fallback - let the browser handle it. + $targetElement = undefined; + } + } +}; + +export default handleKeyDown; diff --git a/node_modules/sweetalert/dev/modules/handle-swal-dom.js b/node_modules/sweetalert/dev/modules/handle-swal-dom.js new file mode 100644 index 0000000..ac148ea --- /dev/null +++ b/node_modules/sweetalert/dev/modules/handle-swal-dom.js @@ -0,0 +1,148 @@ +import { hexToRgb } from './utils'; +import { removeClass, getTopMargin, fadeIn, show, addClass } from './handle-dom'; +import defaultParams from './default-params'; + +var modalClass = '.sweet-alert'; +var overlayClass = '.sweet-overlay'; + +/* + * Add modal + overlay to DOM + */ +import injectedHTML from './injected-html'; + +var sweetAlertInitialize = function() { + var sweetWrap = document.createElement('div'); + sweetWrap.innerHTML = injectedHTML; + + // Append elements to body + while (sweetWrap.firstChild) { + document.body.appendChild(sweetWrap.firstChild); + } +}; + +/* + * Get DOM element of modal + */ +var getModal = function() { + var $modal = document.querySelector(modalClass); + + if (!$modal) { + sweetAlertInitialize(); + $modal = getModal(); + } + + return $modal; +}; + +/* + * Get DOM element of input (in modal) + */ +var getInput = function() { + var $modal = getModal(); + if ($modal) { + return $modal.querySelector('input'); + } +}; + +/* + * Get DOM element of overlay + */ +var getOverlay = function() { + return document.querySelector(overlayClass); +}; + +/* + * Add box-shadow style to button (depending on its chosen bg-color) + */ +var setFocusStyle = function($button, bgColor) { + var rgbColor = hexToRgb(bgColor); + $button.style.boxShadow = '0 0 2px rgba(' + rgbColor + ', 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.05)'; +}; + +/* + * Animation when opening modal + */ +var openModal = function(callback) { + var $modal = getModal(); + fadeIn(getOverlay(), 10); + show($modal); + addClass($modal, 'showSweetAlert'); + removeClass($modal, 'hideSweetAlert'); + + window.previousActiveElement = document.activeElement; + var $okButton = $modal.querySelector('button.confirm'); + $okButton.focus(); + + setTimeout(function () { + addClass($modal, 'visible'); + }, 500); + + var timer = $modal.getAttribute('data-timer'); + + if (timer !== 'null' && timer !== '') { + var timerCallback = callback; + $modal.timeout = setTimeout(function() { + var doneFunctionExists = ((timerCallback || null) && $modal.getAttribute('data-has-done-function') === 'true'); + if (doneFunctionExists) { + timerCallback(null); + } + else { + sweetAlert.close(); + } + }, timer); + } +}; + +/* + * Reset the styling of the input + * (for example if errors have been shown) + */ +var resetInput = function() { + var $modal = getModal(); + var $input = getInput(); + + removeClass($modal, 'show-input'); + $input.value = defaultParams.inputValue; + $input.setAttribute('type', defaultParams.inputType); + $input.setAttribute('placeholder', defaultParams.inputPlaceholder); + + resetInputError(); +}; + + +var resetInputError = function(event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + removeClass($errorContainer, 'show'); +}; + + +/* + * Set "margin-top"-property on modal based on its computed height + */ +var fixVerticalPosition = function() { + var $modal = getModal(); + $modal.style.marginTop = getTopMargin(getModal()); +}; + + +export { + sweetAlertInitialize, + getModal, + getOverlay, + getInput, + setFocusStyle, + openModal, + resetInput, + resetInputError, + fixVerticalPosition +}; diff --git a/node_modules/sweetalert/dev/modules/injected-html.js b/node_modules/sweetalert/dev/modules/injected-html.js new file mode 100644 index 0000000..b0776fc --- /dev/null +++ b/node_modules/sweetalert/dev/modules/injected-html.js @@ -0,0 +1,69 @@ +var injectedHTML = + + // Dark overlay + `
` + + + // Modal + `
` + + + // Error icon + `
+ + + + +
` + + + // Warning icon + `
+ + +
` + + + // Info icon + `
` + + + // Success icon + `
+ + + +
+
+
` + + + `
` + + + // Title, text and input + `

Title

+

Text

+
+ +
+
` + + + // Input errors + `
+
!
+

Not valid!

+
` + + + // Cancel and confirm buttons + `
+ +
+ ` + + + // Loading animation + `
+
+
+
+
+
+
` + + + // End of modal + `
`; + +export default injectedHTML; diff --git a/node_modules/sweetalert/dev/modules/set-params.js b/node_modules/sweetalert/dev/modules/set-params.js new file mode 100644 index 0000000..b3a797b --- /dev/null +++ b/node_modules/sweetalert/dev/modules/set-params.js @@ -0,0 +1,221 @@ +var alertTypes = ['error', 'warning', 'info', 'success', 'input', 'prompt']; + +import { + isIE8 +} from './utils'; + +import { + getModal, + getInput, + setFocusStyle +} from './handle-swal-dom'; + +import { + hasClass, addClass, removeClass, + escapeHtml, + _show, show, _hide, hide +} from './handle-dom'; + + +/* + * Set type, text and actions on modal + */ +var setParameters = function(params) { + var modal = getModal(); + + var $title = modal.querySelector('h2'); + var $text = modal.querySelector('p'); + var $cancelBtn = modal.querySelector('button.cancel'); + var $confirmBtn = modal.querySelector('button.confirm'); + + /* + * Title + */ + $title.innerHTML = params.html ? params.title : escapeHtml(params.title).split('\n').join('
'); + + /* + * Text + */ + $text.innerHTML = params.html ? params.text : escapeHtml(params.text || '').split('\n').join('
'); + if (params.text) show($text); + + /* + * Custom class + */ + if (params.customClass) { + addClass(modal, params.customClass); + modal.setAttribute('data-custom-class', params.customClass); + } else { + // Find previously set classes and remove them + let customClass = modal.getAttribute('data-custom-class'); + removeClass(modal, customClass); + modal.setAttribute('data-custom-class', ''); + } + + /* + * Icon + */ + hide(modal.querySelectorAll('.sa-icon')); + + if (params.type && !isIE8()) { + + let validType = false; + + for (let i = 0; i < alertTypes.length; i++) { + if (params.type === alertTypes[i]) { + validType = true; + break; + } + } + + if (!validType) { + logStr('Unknown alert type: ' + params.type); + return false; + } + + let typesWithIcons = ['success', 'error', 'warning', 'info']; + let $icon; + + if (typesWithIcons.indexOf(params.type) !== -1) { + $icon = modal.querySelector('.sa-icon.' + 'sa-' + params.type); + show($icon); + } + + let $input = getInput(); + + // Animate icon + switch (params.type) { + + case 'success': + addClass($icon, 'animate'); + addClass($icon.querySelector('.sa-tip'), 'animateSuccessTip'); + addClass($icon.querySelector('.sa-long'), 'animateSuccessLong'); + break; + + case 'error': + addClass($icon, 'animateErrorIcon'); + addClass($icon.querySelector('.sa-x-mark'), 'animateXMark'); + break; + + case 'warning': + addClass($icon, 'pulseWarning'); + addClass($icon.querySelector('.sa-body'), 'pulseWarningIns'); + addClass($icon.querySelector('.sa-dot'), 'pulseWarningIns'); + break; + + case 'input': + case 'prompt': + $input.setAttribute('type', params.inputType); + $input.value = params.inputValue; + $input.setAttribute('placeholder', params.inputPlaceholder); + addClass(modal, 'show-input'); + setTimeout(function () { + $input.focus(); + $input.addEventListener('keyup', swal.resetInputError); + }, 400); + break; + } + } + + /* + * Custom image + */ + if (params.imageUrl) { + let $customIcon = modal.querySelector('.sa-icon.sa-custom'); + + $customIcon.style.backgroundImage = 'url(' + params.imageUrl + ')'; + show($customIcon); + + let _imgWidth = 80; + let _imgHeight = 80; + + if (params.imageSize) { + let dimensions = params.imageSize.toString().split('x'); + let imgWidth = dimensions[0]; + let imgHeight = dimensions[1]; + + if (!imgWidth || !imgHeight) { + logStr('Parameter imageSize expects value with format WIDTHxHEIGHT, got ' + params.imageSize); + } else { + _imgWidth = imgWidth; + _imgHeight = imgHeight; + } + } + + $customIcon.setAttribute('style', $customIcon.getAttribute('style') + 'width:' + _imgWidth + 'px; height:' + _imgHeight + 'px'); + } + + /* + * Show cancel button? + */ + modal.setAttribute('data-has-cancel-button', params.showCancelButton); + if (params.showCancelButton) { + $cancelBtn.style.display = 'inline-block'; + } else { + hide($cancelBtn); + } + + /* + * Show confirm button? + */ + modal.setAttribute('data-has-confirm-button', params.showConfirmButton); + if (params.showConfirmButton) { + $confirmBtn.style.display = 'inline-block'; + } else { + hide($confirmBtn); + } + + /* + * Custom text on cancel/confirm buttons + */ + if (params.cancelButtonText) { + $cancelBtn.innerHTML = escapeHtml(params.cancelButtonText); + } + if (params.confirmButtonText) { + $confirmBtn.innerHTML = escapeHtml(params.confirmButtonText); + } + + /* + * Custom color on confirm button + */ + if (params.confirmButtonColor) { + // Set confirm button to selected background color + $confirmBtn.style.backgroundColor = params.confirmButtonColor; + + // Set the confirm button color to the loading ring + $confirmBtn.style.borderLeftColor = params.confirmLoadingButtonColor; + $confirmBtn.style.borderRightColor = params.confirmLoadingButtonColor; + + // Set box-shadow to default focused button + setFocusStyle($confirmBtn, params.confirmButtonColor); + } + + /* + * Allow outside click + */ + modal.setAttribute('data-allow-outside-click', params.allowOutsideClick); + + /* + * Callback function + */ + var hasDoneFunction = params.doneFunction ? true : false; + modal.setAttribute('data-has-done-function', hasDoneFunction); + + /* + * Animation + */ + if (!params.animation) { + modal.setAttribute('data-animation', 'none'); + } else if (typeof params.animation === 'string') { + modal.setAttribute('data-animation', params.animation); // Custom animation + } else { + modal.setAttribute('data-animation', 'pop'); + } + + /* + * Timer + */ + modal.setAttribute('data-timer', params.timer); +}; + +export default setParameters; diff --git a/node_modules/sweetalert/dev/modules/utils.js b/node_modules/sweetalert/dev/modules/utils.js new file mode 100644 index 0000000..ce6944e --- /dev/null +++ b/node_modules/sweetalert/dev/modules/utils.js @@ -0,0 +1,71 @@ +/* + * 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 (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 +}; diff --git a/node_modules/sweetalert/dev/sweetalert.es6.js b/node_modules/sweetalert/dev/sweetalert.es6.js new file mode 100644 index 0000000..ea69eef --- /dev/null +++ b/node_modules/sweetalert/dev/sweetalert.es6.js @@ -0,0 +1,311 @@ +// SweetAlert +// 2014-2015 (c) - Tristan Edwards +// github.com/t4t5/sweetalert + +/* + * jQuery-like functions for manipulating the DOM + */ +import { + hasClass, addClass, removeClass, + escapeHtml, + _show, show, _hide, hide, + isDescendant, + getTopMargin, + fadeIn, fadeOut, + fireClick, + stopEventPropagation +} from './modules/handle-dom'; + +/* + * Handy utilities + */ +import { + extend, + hexToRgb, + isIE8, + logStr, + colorLuminance +} from './modules/utils'; + +/* + * Handle sweetAlert's DOM elements + */ +import { + sweetAlertInitialize, + getModal, + getOverlay, + getInput, + setFocusStyle, + openModal, + resetInput, + fixVerticalPosition +} from './modules/handle-swal-dom'; + + +// Handle button events and keyboard events +import { handleButton, handleConfirm, handleCancel } from './modules/handle-click'; +import handleKeyDown from './modules/handle-key'; + + +// Default values +import defaultParams from './modules/default-params'; +import setParameters from './modules/set-params'; + +/* + * Remember state in cases where opening and handling a modal will fiddle with it. + * (We also use window.previousActiveElement as a global variable) + */ +var previousWindowKeyDown; +var lastFocusedButton; + + +/* + * Global sweetAlert function + * (this is what the user calls) + */ +var sweetAlert, swal; + +export default sweetAlert = swal = function() { + var customizations = arguments[0]; + + addClass(document.body, 'stop-scrolling'); + resetInput(); + + /* + * Use argument if defined or default value from params object otherwise. + * Supports the case where a default value is boolean true and should be + * overridden by a corresponding explicit argument which is boolean false. + */ + function argumentOrDefault(key) { + var args = customizations; + return (args[key] === undefined) ? defaultParams[key] : args[key]; + } + + if (customizations === undefined) { + logStr('SweetAlert expects at least 1 attribute!'); + return false; + } + + var params = extend({}, defaultParams); + + switch (typeof customizations) { + + // Ex: swal("Hello", "Just testing", "info"); + case 'string': + params.title = customizations; + params.text = arguments[1] || ''; + params.type = arguments[2] || ''; + break; + + // Ex: swal({ title:"Hello", text: "Just testing", type: "info" }); + case 'object': + if (customizations.title === undefined) { + logStr('Missing "title" argument!'); + return false; + } + + params.title = customizations.title; + + for (let customName in defaultParams) { + params[customName] = argumentOrDefault(customName); + } + + // Show "Confirm" instead of "OK" if cancel button is visible + params.confirmButtonText = params.showCancelButton ? 'Confirm' : defaultParams.confirmButtonText; + params.confirmButtonText = argumentOrDefault('confirmButtonText'); + + // Callback function when clicking on "OK"/"Cancel" + params.doneFunction = arguments[1] || null; + + break; + + default: + logStr('Unexpected type of argument! Expected "string" or "object", got ' + typeof customizations); + return false; + + } + + setParameters(params); + fixVerticalPosition(); + openModal(arguments[1]); + + // Modal interactions + var modal = getModal(); + + + /* + * Make sure all modal buttons respond to all events + */ + var $buttons = modal.querySelectorAll('button'); + var buttonEvents = ['onclick', 'onmouseover', 'onmouseout', 'onmousedown', 'onmouseup', 'onfocus']; + var onButtonEvent = (e) => handleButton(e, params, modal); + + for (let btnIndex = 0; btnIndex < $buttons.length; btnIndex++) { + for (let evtIndex = 0; evtIndex < buttonEvents.length; evtIndex++) { + let btnEvt = buttonEvents[evtIndex]; + $buttons[btnIndex][btnEvt] = onButtonEvent; + } + } + + // Clicking outside the modal dismisses it (if allowed by user) + getOverlay().onclick = onButtonEvent; + + previousWindowKeyDown = window.onkeydown; + + var onKeyEvent = (e) => handleKeyDown(e, params, modal); + window.onkeydown = onKeyEvent; + + window.onfocus = function () { + // When the user has focused away and focused back from the whole window. + setTimeout(function () { + // Put in a timeout to jump out of the event sequence. + // Calling focus() in the event sequence confuses things. + if (lastFocusedButton !== undefined) { + lastFocusedButton.focus(); + lastFocusedButton = undefined; + } + }, 0); + }; + + // Show alert with enabled buttons always + swal.enableButtons(); +}; + + + +/* + * Set default params for each popup + * @param {Object} userParams + */ +sweetAlert.setDefaults = swal.setDefaults = function(userParams) { + if (!userParams) { + throw new Error('userParams is required'); + } + if (typeof userParams !== 'object') { + throw new Error('userParams has to be a object'); + } + + extend(defaultParams, userParams); +}; + + +/* + * Animation when closing modal + */ +sweetAlert.close = swal.close = function() { + var modal = getModal(); + + fadeOut(getOverlay(), 5); + fadeOut(modal, 5); + removeClass(modal, 'showSweetAlert'); + addClass(modal, 'hideSweetAlert'); + removeClass(modal, 'visible'); + + /* + * Reset icon animations + */ + var $successIcon = modal.querySelector('.sa-icon.sa-success'); + removeClass($successIcon, 'animate'); + removeClass($successIcon.querySelector('.sa-tip'), 'animateSuccessTip'); + removeClass($successIcon.querySelector('.sa-long'), 'animateSuccessLong'); + + var $errorIcon = modal.querySelector('.sa-icon.sa-error'); + removeClass($errorIcon, 'animateErrorIcon'); + removeClass($errorIcon.querySelector('.sa-x-mark'), 'animateXMark'); + + var $warningIcon = modal.querySelector('.sa-icon.sa-warning'); + removeClass($warningIcon, 'pulseWarning'); + removeClass($warningIcon.querySelector('.sa-body'), 'pulseWarningIns'); + removeClass($warningIcon.querySelector('.sa-dot'), 'pulseWarningIns'); + + // Reset custom class (delay so that UI changes aren't visible) + setTimeout(function() { + var customClass = modal.getAttribute('data-custom-class'); + removeClass(modal, customClass); + }, 300); + + // Make page scrollable again + removeClass(document.body, 'stop-scrolling'); + + // Reset the page to its previous state + window.onkeydown = previousWindowKeyDown; + if (window.previousActiveElement) { + window.previousActiveElement.focus(); + } + lastFocusedButton = undefined; + clearTimeout(modal.timeout); + + return true; +}; + + +/* + * Validation of the input field is done by user + * If something is wrong => call showInputError with errorMessage + */ +sweetAlert.showInputError = swal.showInputError = function(errorMessage) { + var modal = getModal(); + + var $errorIcon = modal.querySelector('.sa-input-error'); + addClass($errorIcon, 'show'); + + var $errorContainer = modal.querySelector('.sa-error-container'); + addClass($errorContainer, 'show'); + + $errorContainer.querySelector('p').innerHTML = errorMessage; + + setTimeout(function() { + sweetAlert.enableButtons(); + }, 1); + + modal.querySelector('input').focus(); +}; + + +/* + * Reset input error DOM elements + */ +sweetAlert.resetInputError = swal.resetInputError = function(event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + removeClass($errorContainer, 'show'); +}; + +/* + * Disable confirm and cancel buttons + */ +sweetAlert.disableButtons = swal.disableButtons = function(event) { + var modal = getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = true; + $cancelButton.disabled = true; +}; + +/* + * Enable confirm and cancel buttons + */ +sweetAlert.enableButtons = swal.enableButtons = function(event) { + var modal = getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = false; + $cancelButton.disabled = false; +}; + +if (typeof window !== 'undefined') { + // The 'handle-click' module requires + // that 'sweetAlert' was set as global. + window.sweetAlert = window.swal = sweetAlert; +} else { + logStr('SweetAlert is a frontend module!'); +} diff --git a/node_modules/sweetalert/dev/sweetalert.scss b/node_modules/sweetalert/dev/sweetalert.scss new file mode 100644 index 0000000..1b6bf35 --- /dev/null +++ b/node_modules/sweetalert/dev/sweetalert.scss @@ -0,0 +1,648 @@ +// SweetAlert +// 2014-2015 (c) - Tristan Edwards +// github.com/t4t5/sweetalert + + +body.stop-scrolling { + height: 100%; + overflow: hidden; +} + +.sweet-overlay { + background-color: rgb(0, 0, 0); /* IE8 */ + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; /* IE8 */ + background-color: rgba(black, 0.4); + + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + + display: none; + z-index: 10000; +} + +.sweet-alert { + $width: 478px; + $padding: 17px; + + background-color: white; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + width: $width; + padding: $padding; + border-radius: 5px; + text-align: center; + + position: fixed; + left: 50%; + top: 50%; + margin-left: -($width/2 + $padding); + margin-top: -200px; + + overflow: hidden; + display: none; + z-index: 99999; + + @media all and (max-width: 540px) { + width: auto; + margin-left: 0; + margin-right: 0; + + left: 15px; + right: 15px; + } + + h2 { + color: #575757; + font-size: 30px; + text-align: center; + font-weight: 600; + text-transform: none; + position: relative; + margin: 25px 0; + padding: 0; + line-height: 40px; + display: block; + } + + p { + color: #797979; + font-size: 16px; + text-align: center; + font-weight: 300; + position: relative; + text-align: inherit; + float: none; + margin: 0; + padding: 0; + line-height: normal; + } + + fieldset { + border: none; + position: relative; + } + + .sa-error-container { + background-color: #f1f1f1; + margin-left: -17px; + margin-right: -17px; + overflow: hidden; + padding: 0 10px; + max-height: 0; + webkit-transition: padding 0.15s, max-height 0.15s; + transition: padding 0.15s, max-height 0.15s; + &.show { + padding: 10px 0; + max-height: 100px; + webkit-transition: padding 0.2s, max-height 0.2s; + transition: padding 0.25s, max-height 0.25s; + } + + .icon { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: rgb(234, 125, 125); + color: white; + line-height: 24px; + text-align: center; + margin-right: 3px; + } + p { + display: inline-block; + } + } + + .sa-input-error { + position: absolute; + top: 29px; + right: 26px; + width: 20px; + height: 20px; + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.1s; + transition: all 0.1s; + &::before, &::after { + content: ""; + width: 20px; + height: 6px; + background-color: #f06e57; + border-radius: 3px; + position: absolute; + top: 50%; + margin-top: -4px; + left: 50%; + margin-left: -9px; + } + &::before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + &::after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + &.show { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } + } + + input { + width: 100%; + box-sizing: border-box; + border-radius: 3px; + border: 1px solid rgb(215, 215, 215); + height: 43px; + margin-top: 10px; + margin-bottom: 17px; + font-size: 18px; + box-shadow: inset 0px 1px 1px rgba(black, 0.06); + padding: 0 12px; + display: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; + &:focus { + outline: none; + box-shadow: 0px 0px 3px rgb(196, 230, 245); + border: 1px solid rgb(180, 219, 237); + &::-moz-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; + } + &:-ms-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; + } + &::-webkit-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; + } + } + &::-moz-placeholder { + color: lighten(#575757, 40); + } + &:-ms-input-placeholder { + color: lighten(#575757, 40); + } + &::-webkit-input-placeholder { + color: lighten(#575757, 40); + } + } + &.show-input input { + display: block; + } + + .sa-confirm-button-container { + display: inline-block; + position: relative; + } + + .la-ball-fall { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27px; + margin-top: 4px; + opacity: 0; + visibility: hidden; + } + + button { + $btnBlue: #8CD4F5; + $btnGray: #C1C1C1; + + background-color: $btnBlue; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + -webkit-border-radius: 4px; + border-radius: 5px; + padding: 10px 32px; + margin: 26px 5px 0 5px; + cursor: pointer; + &:focus { + outline: none; + box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); + } + &:hover { + background-color: darken($btnBlue, 3%); + } + &:active { + background-color: darken($btnBlue, 10%); + } + &.cancel { + background-color: $btnGray; + &:hover { + background-color: darken($btnGray, 3%); + } + &:active { + background-color: darken($btnGray, 10%); + } + // Cancel button should keep the same style + &:focus { + box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; + } + } + + &[disabled] { + opacity: .6; + cursor: default; + } + + &.confirm[disabled] { + color: transparent; + ~ .la-ball-fall { + opacity: 1; + visibility: visible; + transition-delay: 0s; + } + } + + // Removes selection outline in Firefox + &::-moz-focus-inner { + border: 0; + } + } + + // Only show focus-style when there is multiple choice of actions + &[data-has-cancel-button=false] button { + box-shadow: none !important; + } + + &[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 40px; + } + + .sa-icon { + $red: #F27474; + $orange: #F8BB86; + $blue: #C9DAE1; + $green: #A5DC86; + + width: 80px; + height: 80px; + border: 4px solid gray; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + margin: 20px auto; + padding: 0; + position: relative; + box-sizing: content-box; + + &.sa-error { + border-color: $red; + + .sa-x-mark { + position: relative; + display: block; + } + + .sa-line { + position: absolute; + height: 5px; + width: 47px; + background-color: $red; + display: block; + top: 37px; + border-radius: 2px; + + &.sa-left { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + left: 17px; + } + &.sa-right { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + right: 16px; + } + } + } + &.sa-warning { + border-color: $orange; + + .sa-body { // Exclamation mark body + position: absolute; + width: 5px; + height: 47px; + left: 50%; + top: 10px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin-left: -2px; + background-color: $orange; + } + .sa-dot { // Exclamation mark dot + position: absolute; + width: 7px; + height: 7px; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-left: -3px; + left: 50%; + bottom: 10px; + background-color: $orange; + } + } + &.sa-info { + border-color: $blue; + + &::before { // i-letter body + content: ""; + position: absolute; + width: 5px; + height: 29px; + left: 50%; + bottom: 17px; + border-radius: 2px; + margin-left: -2px; + background-color: $blue; + } + &::after { // i-letter dot + content: ""; + position: absolute; + width: 7px; + height: 7px; + border-radius: 50%; + margin-left: -3px; + top: 19px; + background-color: $blue; + } + } + &.sa-success { + border-color: $green; + + &::before, &::after { // Emulate moving circular line + content: ''; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + position: absolute; + width: 60px; + height: 120px; + background: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + &::before { + -webkit-border-radius: 120px 0 0 120px; + border-radius: 120px 0 0 120px; + top: -7px; + left: -33px; + + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; + } + &::after { + -webkit-border-radius: 0 120px 120px 0; + border-radius: 0 120px 120px 0; + top: -11px; + left: 30px; + + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 0px 60px; + transform-origin: 0px 60px; + } + + .sa-placeholder { // Ring + width: 80px; + height: 80px; + border: 4px solid rgba($green, 0.2); + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + box-sizing: content-box; + + position: absolute; + left: -4px; + top: -4px; + z-index: 2; + } + + .sa-fix { // Hide corners left from animation + width: 5px; + height: 90px; + background-color: white; + + position: absolute; + left: 28px; + top: 8px; + z-index: 1; + + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + + .sa-line { + height: 5px; + background-color: $green; + display: block; + border-radius: 2px; + + position: absolute; + z-index: 2; + + &.sa-tip { + width: 25px; + + left: 14px; + top: 46px; + + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + } + &.sa-long { + width: 47px; + + right: 8px; + top: 38px; + + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + } + } + &.sa-custom { + background-size: contain; + border-radius: 0; + border: none; + background-position: center center; + background-repeat: no-repeat; + } + } + +} + +/* + * Animations + */ + +@mixin keyframes($animation-name) { + @-webkit-keyframes #{$animation-name} { + @content; + } + @keyframes #{$animation-name} { + @content; + } +} +@mixin animation($str) { + -webkit-animation: #{$str}; + animation: #{$str}; +} + + +// Modal animation + +@include keyframes(showSweetAlert) { + 0% { transform: scale(0.7); -webkit-transform: scale(0.7); } + 45% { transform: scale(1.05); -webkit-transform: scale(1.05); } + 80% { transform: scale(0.95); -webkit-transform: scale(0.95); } + 100% { transform: scale(1); -webkit-transform: scale(1); } +} +@include keyframes(hideSweetAlert) { + 0% { transform: scale(1); -webkit-transform: scale(1); } + 100% { transform: scale(0.5); -webkit-transform: scale(0.5); } +} + +@include keyframes(slideFromTop) { + 0% { top: 0%; } + 100% { top: 50%; } +} +@include keyframes(slideToTop) { + 0% { top: 50%; } + 100% { top: 0%; } +} + +@include keyframes(slideFromBottom) { + 0% { top: 70%; } + 100% { top: 50%; } +} +@include keyframes(slideToBottom) { + 0% { top: 50%; } + 100% { top: 70%; } +} + +.showSweetAlert { + &[data-animation=pop] { + @include animation('showSweetAlert 0.3s'); + } + &[data-animation=none] { + @include animation('none'); + } + &[data-animation=slide-from-top] { + @include animation('slideFromTop 0.3s'); + } + &[data-animation=slide-from-bottom] { + @include animation('slideFromBottom 0.3s'); + } +} + +.hideSweetAlert { + &[data-animation=pop] { + @include animation('hideSweetAlert 0.2s'); + } + &[data-animation=none] { + @include animation('none'); + } + &[data-animation=slide-from-top] { + @include animation('slideToTop 0.4s'); + } + &[data-animation=slide-from-bottom] { + @include animation('slideToBottom 0.3s'); + } +} + + + +// Success icon animation + +@include keyframes(animateSuccessTip) { + 0% { width: 0; left: 1px; top: 19px; } + 54% { width: 0; left: 1px; top: 19px; } + 70% { width: 50px; left: -8px; top: 37px; } + 84% { width: 17px; left: 21px; top: 48px; } + 100% { width: 25px; left: 14px; top: 45px; } +} +@include keyframes(animateSuccessLong) { + 0% { width: 0; right: 46px; top: 54px; } + 65% { width: 0; right: 46px; top: 54px; } + 84% { width: 55px; right: 0px; top: 35px; } + 100% { width: 47px; right: 8px; top: 38px; } +} +@include keyframes(rotatePlaceholder) { + 0% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } + 5% { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); } + 12% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } + 100% { transform: rotate(-405deg); -webkit-transform: rotate(-405deg); } +} + +.animateSuccessTip { + @include animation('animateSuccessTip 0.75s'); +} +.animateSuccessLong { + @include animation('animateSuccessLong 0.75s'); +} +.sa-icon.sa-success.animate::after { + @include animation('rotatePlaceholder 4.25s ease-in'); +} + + +// Error icon animation + +@include keyframes(animateErrorIcon) { + 0% { transform: rotateX(100deg); -webkit-transform: rotateX(100deg); opacity: 0; } + 100% { transform: rotateX(0deg); -webkit-transform: rotateX(0deg); opacity: 1; } +} +.animateErrorIcon { + @include animation('animateErrorIcon 0.5s'); +} +@include keyframes(animateXMark) { + 0% { transform: scale(0.4); -webkit-transform: scale(0.4); margin-top: 26px; opacity: 0; } + 50% { transform: scale(0.4); -webkit-transform: scale(0.4); margin-top: 26px; opacity: 0; } + 80% { transform: scale(1.15); -webkit-transform: scale(1.15); margin-top: -6px; } + 100% { transform: scale(1); -webkit-transform: scale(1); margin-top: 0; opacity: 1; } +} +.animateXMark { + @include animation('animateXMark 0.5s'); +} + +@include keyframes(pulseWarning) { + 0% { border-color: #F8D486; } + 100% { border-color: #F8BB86; } +} +.pulseWarning { + @include animation('pulseWarning 0.75s infinite alternate'); +} + +@include keyframes(pulseWarningIns) { + 0% { background-color: #F8D486; } + 100% { background-color: #F8BB86; } +} +.pulseWarningIns { + @include animation('pulseWarningIns 0.75s infinite alternate'); +} + +@include keyframes(rotate-loading) { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} diff --git a/node_modules/sweetalert/dist/sweetalert-dev.js b/node_modules/sweetalert/dist/sweetalert-dev.js new file mode 100644 index 0000000..7e294b8 --- /dev/null +++ b/node_modules/sweetalert/dist/sweetalert-dev.js @@ -0,0 +1,1285 @@ +;(function(window, document, undefined) { + "use strict"; + + (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o call showInputError with errorMessage + */ +sweetAlert.showInputError = swal.showInputError = function (errorMessage) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + var $errorIcon = modal.querySelector('.sa-input-error'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorIcon, 'show'); + + var $errorContainer = modal.querySelector('.sa-error-container'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorContainer, 'show'); + + $errorContainer.querySelector('p').innerHTML = errorMessage; + + setTimeout(function () { + sweetAlert.enableButtons(); + }, 1); + + modal.querySelector('input').focus(); +}; + +/* + * Reset input error DOM elements + */ +sweetAlert.resetInputError = swal.resetInputError = function (event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorContainer, 'show'); +}; + +/* + * Disable confirm and cancel buttons + */ +sweetAlert.disableButtons = swal.disableButtons = function (event) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = true; + $cancelButton.disabled = true; +}; + +/* + * Enable confirm and cancel buttons + */ +sweetAlert.enableButtons = swal.enableButtons = function (event) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = false; + $cancelButton.disabled = false; +}; + +if (typeof window !== 'undefined') { + // The 'handle-click' module requires + // that 'sweetAlert' was set as global. + window.sweetAlert = window.swal = sweetAlert; +} else { + _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('SweetAlert is a frontend module!'); +} +module.exports = exports['default']; + +},{"./modules/default-params":2,"./modules/handle-click":3,"./modules/handle-dom":4,"./modules/handle-key":5,"./modules/handle-swal-dom":6,"./modules/set-params":8,"./modules/utils":9}],2:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +var defaultParams = { + title: '', + text: '', + type: null, + allowOutsideClick: false, + showConfirmButton: true, + showCancelButton: false, + closeOnConfirm: true, + closeOnCancel: true, + confirmButtonText: 'OK', + confirmButtonColor: '#8CD4F5', + cancelButtonText: 'Cancel', + imageUrl: null, + imageSize: null, + timer: null, + customClass: '', + html: false, + animation: true, + allowEscapeKey: true, + inputType: 'text', + inputPlaceholder: '', + inputValue: '', + showLoaderOnConfirm: false +}; + +exports['default'] = defaultParams; +module.exports = exports['default']; + +},{}],3:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _colorLuminance = require('./utils'); + +var _getModal = require('./handle-swal-dom'); + +var _hasClass$isDescendant = require('./handle-dom'); + +/* + * User clicked on "Confirm"/"OK" or "Cancel" + */ +var handleButton = function handleButton(event, params, modal) { + var e = event || window.event; + var target = e.target || e.srcElement; + + var targetedConfirm = target.className.indexOf('confirm') !== -1; + var targetedOverlay = target.className.indexOf('sweet-overlay') !== -1; + var modalIsVisible = _hasClass$isDescendant.hasClass(modal, 'visible'); + var doneFunctionExists = params.doneFunction && modal.getAttribute('data-has-done-function') === 'true'; + + // Since the user can change the background-color of the confirm button programmatically, + // we must calculate what the color should be on hover/active + var normalColor, hoverColor, activeColor; + if (targetedConfirm && params.confirmButtonColor) { + normalColor = params.confirmButtonColor; + hoverColor = _colorLuminance.colorLuminance(normalColor, -0.04); + activeColor = _colorLuminance.colorLuminance(normalColor, -0.14); + } + + function shouldSetConfirmButtonColor(color) { + if (targetedConfirm && params.confirmButtonColor) { + target.style.backgroundColor = color; + } + } + + switch (e.type) { + case 'mouseover': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'mouseout': + shouldSetConfirmButtonColor(normalColor); + break; + + case 'mousedown': + shouldSetConfirmButtonColor(activeColor); + break; + + case 'mouseup': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'focus': + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + + if (targetedConfirm) { + $cancelButton.style.boxShadow = 'none'; + } else { + $confirmButton.style.boxShadow = 'none'; + } + break; + + case 'click': + var clickedOnModal = modal === target; + var clickedOnModalChild = _hasClass$isDescendant.isDescendant(modal, target); + + // Ignore click outside if allowOutsideClick is false + if (!clickedOnModal && !clickedOnModalChild && modalIsVisible && !params.allowOutsideClick) { + break; + } + + if (targetedConfirm && doneFunctionExists && modalIsVisible) { + handleConfirm(modal, params); + } else if (doneFunctionExists && modalIsVisible || targetedOverlay) { + handleCancel(modal, params); + } else if (_hasClass$isDescendant.isDescendant(modal, target) && target.tagName === 'BUTTON') { + sweetAlert.close(); + } + break; + } +}; + +/* + * User clicked on "Confirm"/"OK" + */ +var handleConfirm = function handleConfirm(modal, params) { + var callbackValue = true; + + if (_hasClass$isDescendant.hasClass(modal, 'show-input')) { + callbackValue = modal.querySelector('input').value; + + if (!callbackValue) { + callbackValue = ''; + } + } + + params.doneFunction(callbackValue); + + if (params.closeOnConfirm) { + sweetAlert.close(); + } + // Disable cancel and confirm button if the parameter is true + if (params.showLoaderOnConfirm) { + sweetAlert.disableButtons(); + } +}; + +/* + * User clicked on "Cancel" + */ +var handleCancel = function handleCancel(modal, params) { + // Check if callback function expects a parameter (to track cancel actions) + var functionAsStr = String(params.doneFunction).replace(/\s/g, ''); + var functionHandlesCancel = functionAsStr.substring(0, 9) === 'function(' && functionAsStr.substring(9, 10) !== ')'; + + if (functionHandlesCancel) { + params.doneFunction(false); + } + + if (params.closeOnCancel) { + sweetAlert.close(); + } +}; + +exports['default'] = { + handleButton: handleButton, + handleConfirm: handleConfirm, + handleCancel: handleCancel +}; +module.exports = exports['default']; + +},{"./handle-dom":4,"./handle-swal-dom":6,"./utils":9}],4:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +var hasClass = function hasClass(elem, className) { + return new RegExp(' ' + className + ' ').test(' ' + elem.className + ' '); +}; + +var addClass = function addClass(elem, className) { + if (!hasClass(elem, className)) { + elem.className += ' ' + className; + } +}; + +var removeClass = function removeClass(elem, className) { + var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' '; + if (hasClass(elem, className)) { + while (newClass.indexOf(' ' + className + ' ') >= 0) { + newClass = newClass.replace(' ' + className + ' ', ' '); + } + elem.className = newClass.replace(/^\s+|\s+$/g, ''); + } +}; + +var escapeHtml = function escapeHtml(str) { + var div = document.createElement('div'); + div.appendChild(document.createTextNode(str)); + return div.innerHTML; +}; + +var _show = function _show(elem) { + elem.style.opacity = ''; + elem.style.display = 'block'; +}; + +var show = function show(elems) { + if (elems && !elems.length) { + return _show(elems); + } + for (var i = 0; i < elems.length; ++i) { + _show(elems[i]); + } +}; + +var _hide = function _hide(elem) { + elem.style.opacity = ''; + elem.style.display = 'none'; +}; + +var hide = function hide(elems) { + if (elems && !elems.length) { + return _hide(elems); + } + for (var i = 0; i < elems.length; ++i) { + _hide(elems[i]); + } +}; + +var isDescendant = function isDescendant(parent, child) { + var node = child.parentNode; + while (node !== null) { + if (node === parent) { + return true; + } + node = node.parentNode; + } + return false; +}; + +var getTopMargin = function getTopMargin(elem) { + elem.style.left = '-9999px'; + elem.style.display = 'block'; + + var height = elem.clientHeight, + padding; + if (typeof getComputedStyle !== 'undefined') { + // IE 8 + padding = parseInt(getComputedStyle(elem).getPropertyValue('padding-top'), 10); + } else { + padding = parseInt(elem.currentStyle.padding); + } + + elem.style.left = ''; + elem.style.display = 'none'; + return '-' + parseInt((height + padding) / 2) + 'px'; +}; + +var fadeIn = function fadeIn(elem, interval) { + if (+elem.style.opacity < 1) { + interval = interval || 16; + elem.style.opacity = 0; + elem.style.display = 'block'; + var last = +new Date(); + var tick = (function (_tick) { + function tick() { + return _tick.apply(this, arguments); + } + + tick.toString = function () { + return _tick.toString(); + }; + + return tick; + })(function () { + elem.style.opacity = +elem.style.opacity + (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity < 1) { + setTimeout(tick, interval); + } + }); + tick(); + } + elem.style.display = 'block'; //fallback IE8 +}; + +var fadeOut = function fadeOut(elem, interval) { + interval = interval || 16; + elem.style.opacity = 1; + var last = +new Date(); + var tick = (function (_tick2) { + function tick() { + return _tick2.apply(this, arguments); + } + + tick.toString = function () { + return _tick2.toString(); + }; + + return tick; + })(function () { + elem.style.opacity = +elem.style.opacity - (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity > 0) { + setTimeout(tick, interval); + } else { + elem.style.display = 'none'; + } + }); + tick(); +}; + +var fireClick = function fireClick(node) { + // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/ + // Then fixed for today's Chrome browser. + if (typeof MouseEvent === 'function') { + // Up-to-date approach + var mevt = new MouseEvent('click', { + view: window, + bubbles: false, + cancelable: true + }); + node.dispatchEvent(mevt); + } else if (document.createEvent) { + // Fallback + var evt = document.createEvent('MouseEvents'); + evt.initEvent('click', false, false); + node.dispatchEvent(evt); + } else if (document.createEventObject) { + node.fireEvent('onclick'); + } else if (typeof node.onclick === 'function') { + node.onclick(); + } +}; + +var stopEventPropagation = function stopEventPropagation(e) { + // In particular, make sure the space bar doesn't scroll the main window. + if (typeof e.stopPropagation === 'function') { + e.stopPropagation(); + e.preventDefault(); + } else if (window.event && window.event.hasOwnProperty('cancelBubble')) { + window.event.cancelBubble = true; + } +}; + +exports.hasClass = hasClass; +exports.addClass = addClass; +exports.removeClass = removeClass; +exports.escapeHtml = escapeHtml; +exports._show = _show; +exports.show = show; +exports._hide = _hide; +exports.hide = hide; +exports.isDescendant = isDescendant; +exports.getTopMargin = getTopMargin; +exports.fadeIn = fadeIn; +exports.fadeOut = fadeOut; +exports.fireClick = fireClick; +exports.stopEventPropagation = stopEventPropagation; + +},{}],5:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _stopEventPropagation$fireClick = require('./handle-dom'); + +var _setFocusStyle = require('./handle-swal-dom'); + +var handleKeyDown = function handleKeyDown(event, params, modal) { + var e = event || window.event; + var keyCode = e.keyCode || e.which; + + var $okButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + var $modalButtons = modal.querySelectorAll('button[tabindex]'); + + if ([9, 13, 32, 27].indexOf(keyCode) === -1) { + // Don't do work on keys we don't care about. + return; + } + + var $targetElement = e.target || e.srcElement; + + var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. + for (var i = 0; i < $modalButtons.length; i++) { + if ($targetElement === $modalButtons[i]) { + btnIndex = i; + break; + } + } + + if (keyCode === 9) { + // TAB + if (btnIndex === -1) { + // No button focused. Jump to the confirm button. + $targetElement = $okButton; + } else { + // Cycle to the next button + if (btnIndex === $modalButtons.length - 1) { + $targetElement = $modalButtons[0]; + } else { + $targetElement = $modalButtons[btnIndex + 1]; + } + } + + _stopEventPropagation$fireClick.stopEventPropagation(e); + $targetElement.focus(); + + if (params.confirmButtonColor) { + _setFocusStyle.setFocusStyle($targetElement, params.confirmButtonColor); + } + } else { + if (keyCode === 13) { + if ($targetElement.tagName === 'INPUT') { + $targetElement = $okButton; + $okButton.focus(); + } + + if (btnIndex === -1) { + // ENTER/SPACE clicked outside of a button. + $targetElement = $okButton; + } else { + // Do nothing - let the browser handle it. + $targetElement = undefined; + } + } else if (keyCode === 27 && params.allowEscapeKey === true) { + $targetElement = $cancelButton; + _stopEventPropagation$fireClick.fireClick($targetElement, e); + } else { + // Fallback - let the browser handle it. + $targetElement = undefined; + } + } +}; + +exports['default'] = handleKeyDown; +module.exports = exports['default']; + +},{"./handle-dom":4,"./handle-swal-dom":6}],6:[function(require,module,exports){ +'use strict'; + +var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _hexToRgb = require('./utils'); + +var _removeClass$getTopMargin$fadeIn$show$addClass = require('./handle-dom'); + +var _defaultParams = require('./default-params'); + +var _defaultParams2 = _interopRequireWildcard(_defaultParams); + +/* + * Add modal + overlay to DOM + */ + +var _injectedHTML = require('./injected-html'); + +var _injectedHTML2 = _interopRequireWildcard(_injectedHTML); + +var modalClass = '.sweet-alert'; +var overlayClass = '.sweet-overlay'; + +var sweetAlertInitialize = function sweetAlertInitialize() { + var sweetWrap = document.createElement('div'); + sweetWrap.innerHTML = _injectedHTML2['default']; + + // Append elements to body + while (sweetWrap.firstChild) { + document.body.appendChild(sweetWrap.firstChild); + } +}; + +/* + * Get DOM element of modal + */ +var getModal = (function (_getModal) { + function getModal() { + return _getModal.apply(this, arguments); + } + + getModal.toString = function () { + return _getModal.toString(); + }; + + return getModal; +})(function () { + var $modal = document.querySelector(modalClass); + + if (!$modal) { + sweetAlertInitialize(); + $modal = getModal(); + } + + return $modal; +}); + +/* + * Get DOM element of input (in modal) + */ +var getInput = function getInput() { + var $modal = getModal(); + if ($modal) { + return $modal.querySelector('input'); + } +}; + +/* + * Get DOM element of overlay + */ +var getOverlay = function getOverlay() { + return document.querySelector(overlayClass); +}; + +/* + * Add box-shadow style to button (depending on its chosen bg-color) + */ +var setFocusStyle = function setFocusStyle($button, bgColor) { + var rgbColor = _hexToRgb.hexToRgb(bgColor); + $button.style.boxShadow = '0 0 2px rgba(' + rgbColor + ', 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.05)'; +}; + +/* + * Animation when opening modal + */ +var openModal = function openModal(callback) { + var $modal = getModal(); + _removeClass$getTopMargin$fadeIn$show$addClass.fadeIn(getOverlay(), 10); + _removeClass$getTopMargin$fadeIn$show$addClass.show($modal); + _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'showSweetAlert'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'hideSweetAlert'); + + window.previousActiveElement = document.activeElement; + var $okButton = $modal.querySelector('button.confirm'); + $okButton.focus(); + + setTimeout(function () { + _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'visible'); + }, 500); + + var timer = $modal.getAttribute('data-timer'); + + if (timer !== 'null' && timer !== '') { + var timerCallback = callback; + $modal.timeout = setTimeout(function () { + var doneFunctionExists = (timerCallback || null) && $modal.getAttribute('data-has-done-function') === 'true'; + if (doneFunctionExists) { + timerCallback(null); + } else { + sweetAlert.close(); + } + }, timer); + } +}; + +/* + * Reset the styling of the input + * (for example if errors have been shown) + */ +var resetInput = function resetInput() { + var $modal = getModal(); + var $input = getInput(); + + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'show-input'); + $input.value = _defaultParams2['default'].inputValue; + $input.setAttribute('type', _defaultParams2['default'].inputType); + $input.setAttribute('placeholder', _defaultParams2['default'].inputPlaceholder); + + resetInputError(); +}; + +var resetInputError = function resetInputError(event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorContainer, 'show'); +}; + +/* + * Set "margin-top"-property on modal based on its computed height + */ +var fixVerticalPosition = function fixVerticalPosition() { + var $modal = getModal(); + $modal.style.marginTop = _removeClass$getTopMargin$fadeIn$show$addClass.getTopMargin(getModal()); +}; + +exports.sweetAlertInitialize = sweetAlertInitialize; +exports.getModal = getModal; +exports.getOverlay = getOverlay; +exports.getInput = getInput; +exports.setFocusStyle = setFocusStyle; +exports.openModal = openModal; +exports.resetInput = resetInput; +exports.resetInputError = resetInputError; +exports.fixVerticalPosition = fixVerticalPosition; + +},{"./default-params":2,"./handle-dom":4,"./injected-html":7,"./utils":9}],7:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var injectedHTML = + +// Dark overlay +"
" + + +// Modal +"
" + + +// Error icon +"
\n \n \n \n \n
" + + +// Warning icon +"
\n \n \n
" + + +// Info icon +"
" + + +// Success icon +"
\n \n \n\n
\n
\n
" + "
" + + +// Title, text and input +"

Title

\n

Text

\n
\n \n
\n
" + + +// Input errors +"
\n
!
\n

Not valid!

\n
" + + +// Cancel and confirm buttons +"
\n \n
\n " + + +// Loading animation +"
\n
\n
\n
\n
\n
\n
" + + +// End of modal +"
"; + +exports["default"] = injectedHTML; +module.exports = exports["default"]; + +},{}],8:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _isIE8 = require('./utils'); + +var _getModal$getInput$setFocusStyle = require('./handle-swal-dom'); + +var _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide = require('./handle-dom'); + +var alertTypes = ['error', 'warning', 'info', 'success', 'input', 'prompt']; + +/* + * Set type, text and actions on modal + */ +var setParameters = function setParameters(params) { + var modal = _getModal$getInput$setFocusStyle.getModal(); + + var $title = modal.querySelector('h2'); + var $text = modal.querySelector('p'); + var $cancelBtn = modal.querySelector('button.cancel'); + var $confirmBtn = modal.querySelector('button.confirm'); + + /* + * Title + */ + $title.innerHTML = params.html ? params.title : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.title).split('\n').join('
'); + + /* + * Text + */ + $text.innerHTML = params.html ? params.text : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.text || '').split('\n').join('
'); + if (params.text) _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($text); + + /* + * Custom class + */ + if (params.customClass) { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, params.customClass); + modal.setAttribute('data-custom-class', params.customClass); + } else { + // Find previously set classes and remove them + var customClass = modal.getAttribute('data-custom-class'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.removeClass(modal, customClass); + modal.setAttribute('data-custom-class', ''); + } + + /* + * Icon + */ + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide(modal.querySelectorAll('.sa-icon')); + + if (params.type && !_isIE8.isIE8()) { + var _ret = (function () { + + var validType = false; + + for (var i = 0; i < alertTypes.length; i++) { + if (params.type === alertTypes[i]) { + validType = true; + break; + } + } + + if (!validType) { + logStr('Unknown alert type: ' + params.type); + return { + v: false + }; + } + + var typesWithIcons = ['success', 'error', 'warning', 'info']; + var $icon = undefined; + + if (typesWithIcons.indexOf(params.type) !== -1) { + $icon = modal.querySelector('.sa-icon.' + 'sa-' + params.type); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($icon); + } + + var $input = _getModal$getInput$setFocusStyle.getInput(); + + // Animate icon + switch (params.type) { + + case 'success': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animate'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-tip'), 'animateSuccessTip'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-long'), 'animateSuccessLong'); + break; + + case 'error': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animateErrorIcon'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-x-mark'), 'animateXMark'); + break; + + case 'warning': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'pulseWarning'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-body'), 'pulseWarningIns'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-dot'), 'pulseWarningIns'); + break; + + case 'input': + case 'prompt': + $input.setAttribute('type', params.inputType); + $input.value = params.inputValue; + $input.setAttribute('placeholder', params.inputPlaceholder); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, 'show-input'); + setTimeout(function () { + $input.focus(); + $input.addEventListener('keyup', swal.resetInputError); + }, 400); + break; + } + })(); + + if (typeof _ret === 'object') { + return _ret.v; + } + } + + /* + * Custom image + */ + if (params.imageUrl) { + var $customIcon = modal.querySelector('.sa-icon.sa-custom'); + + $customIcon.style.backgroundImage = 'url(' + params.imageUrl + ')'; + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($customIcon); + + var _imgWidth = 80; + var _imgHeight = 80; + + if (params.imageSize) { + var dimensions = params.imageSize.toString().split('x'); + var imgWidth = dimensions[0]; + var imgHeight = dimensions[1]; + + if (!imgWidth || !imgHeight) { + logStr('Parameter imageSize expects value with format WIDTHxHEIGHT, got ' + params.imageSize); + } else { + _imgWidth = imgWidth; + _imgHeight = imgHeight; + } + } + + $customIcon.setAttribute('style', $customIcon.getAttribute('style') + 'width:' + _imgWidth + 'px; height:' + _imgHeight + 'px'); + } + + /* + * Show cancel button? + */ + modal.setAttribute('data-has-cancel-button', params.showCancelButton); + if (params.showCancelButton) { + $cancelBtn.style.display = 'inline-block'; + } else { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($cancelBtn); + } + + /* + * Show confirm button? + */ + modal.setAttribute('data-has-confirm-button', params.showConfirmButton); + if (params.showConfirmButton) { + $confirmBtn.style.display = 'inline-block'; + } else { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($confirmBtn); + } + + /* + * Custom text on cancel/confirm buttons + */ + if (params.cancelButtonText) { + $cancelBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.cancelButtonText); + } + if (params.confirmButtonText) { + $confirmBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.confirmButtonText); + } + + /* + * Custom color on confirm button + */ + if (params.confirmButtonColor) { + // Set confirm button to selected background color + $confirmBtn.style.backgroundColor = params.confirmButtonColor; + + // Set the confirm button color to the loading ring + $confirmBtn.style.borderLeftColor = params.confirmLoadingButtonColor; + $confirmBtn.style.borderRightColor = params.confirmLoadingButtonColor; + + // Set box-shadow to default focused button + _getModal$getInput$setFocusStyle.setFocusStyle($confirmBtn, params.confirmButtonColor); + } + + /* + * Allow outside click + */ + modal.setAttribute('data-allow-outside-click', params.allowOutsideClick); + + /* + * Callback function + */ + var hasDoneFunction = params.doneFunction ? true : false; + modal.setAttribute('data-has-done-function', hasDoneFunction); + + /* + * Animation + */ + if (!params.animation) { + modal.setAttribute('data-animation', 'none'); + } else if (typeof params.animation === 'string') { + modal.setAttribute('data-animation', params.animation); // Custom animation + } else { + modal.setAttribute('data-animation', 'pop'); + } + + /* + * Timer + */ + modal.setAttribute('data-timer', params.timer); +}; + +exports['default'] = setParameters; +module.exports = exports['default']; + +},{"./handle-dom":4,"./handle-swal-dom":6,"./utils":9}],9:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +/* + * Allow user to pass their own params + */ +var extend = function extend(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 hexToRgb(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 isIE8() { + return window.attachEvent && !window.addEventListener; +}; + +/* + * IE compatible logging for developers + */ +var logStr = function logStr(string) { + if (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 colorLuminance(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; +}; + +exports.extend = extend; +exports.hexToRgb = hexToRgb; +exports.isIE8 = isIE8; +exports.logStr = logStr; +exports.colorLuminance = colorLuminance; + +},{}]},{},[1]) +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCIvVXNlcnMvVHJpc3Rhbi9kZXYvU3dlZXRBbGVydC9kZXYvc3dlZXRhbGVydC5lczYuanMiLCIvVXNlcnMvVHJpc3Rhbi9kZXYvU3dlZXRBbGVydC9kZXYvbW9kdWxlcy9kZWZhdWx0LXBhcmFtcy5qcyIsIi9Vc2Vycy9UcmlzdGFuL2Rldi9Td2VldEFsZXJ0L2Rldi9tb2R1bGVzL2hhbmRsZS1jbGljay5qcyIsIi9Vc2Vycy9UcmlzdGFuL2Rldi9Td2VldEFsZXJ0L2Rldi9tb2R1bGVzL2hhbmRsZS1kb20uanMiLCIvVXNlcnMvVHJpc3Rhbi9kZXYvU3dlZXRBbGVydC9kZXYvbW9kdWxlcy9oYW5kbGUta2V5LmpzIiwiL1VzZXJzL1RyaXN0YW4vZGV2L1N3ZWV0QWxlcnQvZGV2L21vZHVsZXMvaGFuZGxlLXN3YWwtZG9tLmpzIiwiL1VzZXJzL1RyaXN0YW4vZGV2L1N3ZWV0QWxlcnQvZGV2L21vZHVsZXMvaW5qZWN0ZWQtaHRtbC5qcyIsIi9Vc2Vycy9UcmlzdGFuL2Rldi9Td2VldEFsZXJ0L2Rldi9tb2R1bGVzL3NldC1wYXJhbXMuanMiLCIvVXNlcnMvVHJpc3Rhbi9kZXYvU3dlZXRBbGVydC9kZXYvbW9kdWxlcy91dGlscy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7OztzSkNnQk8sc0JBQXNCOzs7Ozs7MkRBV3RCLGlCQUFpQjs7Ozs7O3dIQWNqQiwyQkFBMkI7Ozs7dURBSXdCLHdCQUF3Qjs7NkJBQ3hELHNCQUFzQjs7Ozs7OzZCQUl0QiwwQkFBMEI7Ozs7NkJBQzFCLHNCQUFzQjs7Ozs7Ozs7QUFNaEQsSUFBSSxxQkFBcUIsQ0FBQztBQUMxQixJQUFJLGlCQUFpQixDQUFDOzs7Ozs7QUFPdEIsSUFBSSxVQUFVLEVBQUUsSUFBSSxDQUFDOztxQkFFTixVQUFVLEdBQUcsSUFBSSxHQUFHLFlBQVc7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RyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JFLE9BQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUEsQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0dBQ3BDOztBQUVELFNBQU8sR0FBRyxDQUFDO0NBQ1osQ0FBQzs7UUFJQSxNQUFNLEdBQU4sTUFBTTtRQUNOLFFBQVEsR0FBUixRQUFRO1FBQ1IsS0FBSyxHQUFMLEtBQUs7UUFDTCxNQUFNLEdBQU4sTUFBTTtRQUNOLGNBQWMsR0FBZCxjQUFjIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIi8vIFN3ZWV0QWxlcnRcbi8vIDIwMTQtMjAxNSAoYykgLSBUcmlzdGFuIEVkd2FyZHNcbi8vIGdpdGh1Yi5jb20vdDR0NS9zd2VldGFsZXJ0XG5cbi8qXG4gKiBqUXVlcnktbGlrZSBmdW5jdGlvbnMgZm9yIG1hbmlwdWxhdGluZyB0aGUgRE9NXG4gKi9cbmltcG9ydCB7XG4gIGhhc0NsYXNzLCBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MsXG4gIGVzY2FwZUh0bWwsXG4gIF9zaG93LCBzaG93LCBfaGlkZSwgaGlkZSxcbiAgaXNEZXNjZW5kYW50LFxuICBnZXRUb3BNYXJnaW4sXG4gIGZhZGVJbiwgZmFkZU91dCxcbiAgZmlyZUNsaWNrLFxuICBzdG9wRXZlbnRQcm9wYWdhdGlvblxufSBmcm9tICcuL21vZHVsZXMvaGFuZGxlLWRvbSc7XG5cbi8qXG4gKiBIYW5keSB1dGlsaXRpZXNcbiAqL1xuaW1wb3J0IHtcbiAgZXh0ZW5kLFxuICBoZXhUb1JnYixcbiAgaXNJRTgsXG4gIGxvZ1N0cixcbiAgY29sb3JMdW1pbmFuY2Vcbn0gZnJvbSAnLi9tb2R1bGVzL3V0aWxzJztcblxuLypcbiAqICBIYW5kbGUgc3dlZXRBbGVydCdzIERPTSBlbGVtZW50c1xuICovXG5pbXBvcnQge1xuICBzd2VldEFsZXJ0SW5pdGlhbGl6ZSxcbiAgZ2V0TW9kYWwsXG4gIGdldE92ZXJsYXksXG4gIGdldElucHV0LFxuICBzZXRGb2N1c1N0eWxlLFxuICBvcGVuTW9kYWwsXG4gIHJlc2V0SW5wdXQsXG4gIGZpeFZlcnRpY2FsUG9zaXRpb25cbn0gZnJvbSAnLi9tb2R1bGVzL2hhbmRsZS1zd2FsLWRvbSc7XG5cblxuLy8gSGFuZGxlIGJ1dHRvbiBldmVudHMgYW5kIGtleWJvYXJkIGV2ZW50c1xuaW1wb3J0IHsgaGFuZGxlQnV0dG9uLCBoYW5kbGVDb25maXJtLCBoYW5kbGVDYW5jZWwgfSBmcm9tICcuL21vZHVsZXMvaGFuZGxlLWNsaWNrJztcbmltcG9ydCBoYW5kbGVLZXlEb3duIGZyb20gJy4vbW9kdWxlcy9oYW5kbGUta2V5JztcblxuXG4vLyBEZWZhdWx0IHZhbHVlc1xuaW1wb3J0IGRlZmF1bHRQYXJhbXMgZnJvbSAnLi9tb2R1bGVzL2RlZmF1bHQtcGFyYW1zJztcbmltcG9ydCBzZXRQYXJhbWV0ZXJzIGZyb20gJy4vbW9kdWxlcy9zZXQtcGFyYW1zJztcblxuLypcbiAqIFJlbWVtYmVyIHN0YXRlIGluIGNhc2VzIHdoZXJlIG9wZW5pbmcgYW5kIGhhbmRsaW5nIGEgbW9kYWwgd2lsbCBmaWRkbGUgd2l0aCBpdC5cbiAqIChXZSBhbHNvIHVzZSB3aW5kb3cucHJldmlvdXNBY3RpdmVFbGVtZW50IGFzIGEgZ2xvYmFsIHZhcmlhYmxlKVxuICovXG52YXIgcHJldmlvdXNXaW5kb3dLZXlEb3duO1xudmFyIGxhc3RGb2N1c2VkQnV0dG9uO1xuXG5cbi8qXG4gKiBHbG9iYWwgc3dlZXRBbGVydCBmdW5jdGlvblxuICogKHRoaXMgaXMgd2hhdCB0aGUgdXNlciBjYWxscylcbiAqL1xudmFyIHN3ZWV0QWxlcnQsIHN3YWw7XG5cbmV4cG9ydCBkZWZhdWx0IHN3ZWV0QWxlcnQgPSBzd2FsID0gZnVuY3Rpb24oKSB7XG4gIHZhciBjdXN0b21pemF0aW9ucyA9IGFyZ3VtZW50c1swXTtcblxuICBhZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnc3RvcC1zY3JvbGxpbmcnKTtcbiAgcmVzZXRJbnB1dCgpO1xuXG4gIC8qXG4gICAqIFVzZSBhcmd1bWVudCBpZiBkZWZpbmVkIG9yIGRlZmF1bHQgdmFsdWUgZnJvbSBwYXJhbXMgb2JqZWN0IG90aGVyd2lzZS5cbiAgICogU3VwcG9ydHMgdGhlIGNhc2Ugd2hlcmUgYSBkZWZhdWx0IHZhbHVlIGlzIGJvb2xlYW4gdHJ1ZSBhbmQgc2hvdWxkIGJlXG4gICAqIG92ZXJyaWRkZW4gYnkgYSBjb3JyZXNwb25kaW5nIGV4cGxpY2l0IGFyZ3VtZW50IHdoaWNoIGlzIGJvb2xlYW4gZmFsc2UuXG4gICAqL1xuICBmdW5jdGlvbiBhcmd1bWVudE9yRGVmYXVsdChrZXkpIHtcbiAgICB2YXIgYXJncyA9IGN1c3RvbWl6YXRpb25zO1xuICAgIHJldHVybiAoYXJnc1trZXldID09PSB1bmRlZmluZWQpID8gIGRlZmF1bHRQYXJhbXNba2V5XSA6IGFyZ3Nba2V5XTtcbiAgfVxuXG4gIGlmIChjdXN0b21pemF0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbG9nU3RyKCdTd2VldEFsZXJ0IGV4cGVjdHMgYXQgbGVhc3QgMSBhdHRyaWJ1dGUhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHBhcmFtcyA9IGV4dGVuZCh7fSwgZGVmYXVsdFBhcmFtcyk7XG5cbiAgc3dpdGNoICh0eXBlb2YgY3VzdG9taXphdGlvbnMpIHtcblxuICAgIC8vIEV4OiBzd2FsKFwiSGVsbG9cIiwgXCJKdXN0IHRlc3RpbmdcIiwgXCJpbmZvXCIpO1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICBwYXJhbXMudGl0bGUgPSBjdXN0b21pemF0aW9ucztcbiAgICAgIHBhcmFtcy50ZXh0ICA9IGFyZ3VtZW50c1sxXSB8fCAnJztcbiAgICAgIHBhcmFtcy50eXBlICA9IGFyZ3VtZW50c1syXSB8fCAnJztcbiAgICAgIGJyZWFrO1xuXG4gICAgLy8gRXg6IHN3YWwoeyB0aXRsZTpcIkhlbGxvXCIsIHRleHQ6IFwiSnVzdCB0ZXN0aW5nXCIsIHR5cGU6IFwiaW5mb1wiIH0pO1xuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICBpZiAoY3VzdG9taXphdGlvbnMudGl0bGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsb2dTdHIoJ01pc3NpbmcgXCJ0aXRsZVwiIGFyZ3VtZW50IScpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHBhcmFtcy50aXRsZSA9IGN1c3RvbWl6YXRpb25zLnRpdGxlO1xuXG4gICAgICBmb3IgKGxldCBjdXN0b21OYW1lIGluIGRlZmF1bHRQYXJhbXMpIHtcbiAgICAgICAgcGFyYW1zW2N1c3RvbU5hbWVdID0gYXJndW1lbnRPckRlZmF1bHQoY3VzdG9tTmFtZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNob3cgXCJDb25maXJtXCIgaW5zdGVhZCBvZiBcIk9LXCIgaWYgY2FuY2VsIGJ1dHRvbiBpcyB2aXNpYmxlXG4gICAgICBwYXJhbXMuY29uZmlybUJ1dHRvblRleHQgPSBwYXJhbXMuc2hvd0NhbmNlbEJ1dHRvbiA/ICdDb25maXJtJyA6IGRlZmF1bHRQYXJhbXMuY29uZmlybUJ1dHRvblRleHQ7XG4gICAgICBwYXJhbXMuY29uZmlybUJ1dHRvblRleHQgPSBhcmd1bWVudE9yRGVmYXVsdCgnY29uZmlybUJ1dHRvblRleHQnKTtcblxuICAgICAgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBjbGlja2luZyBvbiBcIk9LXCIvXCJDYW5jZWxcIlxuICAgICAgcGFyYW1zLmRvbmVGdW5jdGlvbiA9IGFyZ3VtZW50c1sxXSB8fCBudWxsO1xuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBsb2dTdHIoJ1VuZXhwZWN0ZWQgdHlwZSBvZiBhcmd1bWVudCEgRXhwZWN0ZWQgXCJzdHJpbmdcIiBvciBcIm9iamVjdFwiLCBnb3QgJyArIHR5cGVvZiBjdXN0b21pemF0aW9ucyk7XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgfVxuXG4gIHNldFBhcmFtZXRlcnMocGFyYW1zKTtcbiAgZml4VmVydGljYWxQb3NpdGlvbigpO1xuICBvcGVuTW9kYWwoYXJndW1lbnRzWzFdKTtcblxuICAvLyBNb2RhbCBpbnRlcmFjdGlvbnNcbiAgdmFyIG1vZGFsID0gZ2V0TW9kYWwoKTtcblxuXG4gIC8qXG4gICAqIE1ha2Ugc3VyZSBhbGwgbW9kYWwgYnV0dG9ucyByZXNwb25kIHRvIGFsbCBldmVudHNcbiAgICovXG4gIHZhciAkYnV0dG9ucyA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpO1xuICB2YXIgYnV0dG9uRXZlbnRzID0gWydvbmNsaWNrJywgJ29ubW91c2VvdmVyJywgJ29ubW91c2VvdXQnLCAnb25tb3VzZWRvd24nLCAnb25tb3VzZXVwJywgJ29uZm9jdXMnXTtcbiAgdmFyIG9uQnV0dG9uRXZlbnQgPSAoZSkgPT4gaGFuZGxlQnV0dG9uKGUsIHBhcmFtcywgbW9kYWwpO1xuXG4gIGZvciAobGV0IGJ0bkluZGV4ID0gMDsgYnRuSW5kZXggPCAkYnV0dG9ucy5sZW5ndGg7IGJ0bkluZGV4KyspIHtcbiAgICBmb3IgKGxldCBldnRJbmRleCA9IDA7IGV2dEluZGV4IDwgYnV0dG9uRXZlbnRzLmxlbmd0aDsgZXZ0SW5kZXgrKykge1xuICAgICAgbGV0IGJ0bkV2dCA9IGJ1dHRvbkV2ZW50c1tldnRJbmRleF07XG4gICAgICAkYnV0dG9uc1tidG5JbmRleF1bYnRuRXZ0XSA9IG9uQnV0dG9uRXZlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2tpbmcgb3V0c2lkZSB0aGUgbW9kYWwgZGlzbWlzc2VzIGl0IChpZiBhbGxvd2VkIGJ5IHVzZXIpXG4gIGdldE92ZXJsYXkoKS5vbmNsaWNrID0gb25CdXR0b25FdmVudDtcblxuICBwcmV2aW91c1dpbmRvd0tleURvd24gPSB3aW5kb3cub25rZXlkb3duO1xuXG4gIHZhciBvbktleUV2ZW50ID0gKGUpID0+IGhhbmRsZUtleURvd24oZSwgcGFyYW1zLCBtb2RhbCk7XG4gIHdpbmRvdy5vbmtleWRvd24gPSBvbktleUV2ZW50O1xuXG4gIHdpbmRvdy5vbmZvY3VzID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIFdoZW4gdGhlIHVzZXIgaGFzIGZvY3VzZWQgYXdheSBhbmQgZm9jdXNlZCBiYWNrIGZyb20gdGhlIHdob2xlIHdpbmRvdy5cbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIFB1dCBpbiBhIHRpbWVvdXQgdG8ganVtcCBvdXQgb2YgdGhlIGV2ZW50IHNlcXVlbmNlLlxuICAgICAgLy8gQ2FsbGluZyBmb2N1cygpIGluIHRoZSBldmVudCBzZXF1ZW5jZSBjb25mdXNlcyB0aGluZ3MuXG4gICAgICBpZiAobGFzdEZvY3VzZWRCdXR0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsYXN0Rm9jdXNlZEJ1dHRvbi5mb2N1cygpO1xuICAgICAgICBsYXN0Rm9jdXNlZEJ1dHRvbiA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfTtcbiAgXG4gIC8vIFNob3cgYWxlcnQgd2l0aCBlbmFibGVkIGJ1dHRvbnMgYWx3YXlzXG4gIHN3YWwuZW5hYmxlQnV0dG9ucygpO1xufTtcblxuXG5cbi8qXG4gKiBTZXQgZGVmYXVsdCBwYXJhbXMgZm9yIGVhY2ggcG9wdXBcbiAqIEBwYXJhbSB7T2JqZWN0fSB1c2VyUGFyYW1zXG4gKi9cbnN3ZWV0QWxlcnQuc2V0RGVmYXVsdHMgPSBzd2FsLnNldERlZmF1bHRzID0gZnVuY3Rpb24odXNlclBhcmFtcykge1xuICBpZiAoIXVzZXJQYXJhbXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZXJQYXJhbXMgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBpZiAodHlwZW9mIHVzZXJQYXJhbXMgIT09ICdvYmplY3QnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VyUGFyYW1zIGhhcyB0byBiZSBhIG9iamVjdCcpO1xuICB9XG5cbiAgZXh0ZW5kKGRlZmF1bHRQYXJhbXMsIHVzZXJQYXJhbXMpO1xufTtcblxuXG4vKlxuICogQW5pbWF0aW9uIHdoZW4gY2xvc2luZyBtb2RhbFxuICovXG5zd2VldEFsZXJ0LmNsb3NlID0gc3dhbC5jbG9zZSA9IGZ1bmN0aW9uKCkge1xuICB2YXIgbW9kYWwgPSBnZXRNb2RhbCgpO1xuXG4gIGZhZGVPdXQoZ2V0T3ZlcmxheSgpLCA1KTtcbiAgZmFkZU91dChtb2RhbCwgNSk7XG4gIHJlbW92ZUNsYXNzKG1vZGFsLCAnc2hvd1N3ZWV0QWxlcnQnKTtcbiAgYWRkQ2xhc3MobW9kYWwsICdoaWRlU3dlZXRBbGVydCcpO1xuICByZW1vdmVDbGFzcyhtb2RhbCwgJ3Zpc2libGUnKTtcblxuICAvKlxuICAgKiBSZXNldCBpY29uIGFuaW1hdGlvbnNcbiAgICovXG4gIHZhciAkc3VjY2Vzc0ljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi5zYS1zdWNjZXNzJyk7XG4gIHJlbW92ZUNsYXNzKCRzdWNjZXNzSWNvbiwgJ2FuaW1hdGUnKTtcbiAgcmVtb3ZlQ2xhc3MoJHN1Y2Nlc3NJY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS10aXAnKSwgJ2FuaW1hdGVTdWNjZXNzVGlwJyk7XG4gIHJlbW92ZUNsYXNzKCRzdWNjZXNzSWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtbG9uZycpLCAnYW5pbWF0ZVN1Y2Nlc3NMb25nJyk7XG5cbiAgdmFyICRlcnJvckljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi5zYS1lcnJvcicpO1xuICByZW1vdmVDbGFzcygkZXJyb3JJY29uLCAnYW5pbWF0ZUVycm9ySWNvbicpO1xuICByZW1vdmVDbGFzcygkZXJyb3JJY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS14LW1hcmsnKSwgJ2FuaW1hdGVYTWFyaycpO1xuXG4gIHZhciAkd2FybmluZ0ljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi5zYS13YXJuaW5nJyk7XG4gIHJlbW92ZUNsYXNzKCR3YXJuaW5nSWNvbiwgJ3B1bHNlV2FybmluZycpO1xuICByZW1vdmVDbGFzcygkd2FybmluZ0ljb24ucXVlcnlTZWxlY3RvcignLnNhLWJvZHknKSwgJ3B1bHNlV2FybmluZ0lucycpO1xuICByZW1vdmVDbGFzcygkd2FybmluZ0ljb24ucXVlcnlTZWxlY3RvcignLnNhLWRvdCcpLCAncHVsc2VXYXJuaW5nSW5zJyk7XG5cbiAgLy8gUmVzZXQgY3VzdG9tIGNsYXNzIChkZWxheSBzbyB0aGF0IFVJIGNoYW5nZXMgYXJlbid0IHZpc2libGUpXG4gIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgdmFyIGN1c3RvbUNsYXNzID0gbW9kYWwuZ2V0QXR0cmlidXRlKCdkYXRhLWN1c3RvbS1jbGFzcycpO1xuICAgIHJlbW92ZUNsYXNzKG1vZGFsLCBjdXN0b21DbGFzcyk7XG4gIH0sIDMwMCk7XG5cbiAgLy8gTWFrZSBwYWdlIHNjcm9sbGFibGUgYWdhaW5cbiAgcmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ3N0b3Atc2Nyb2xsaW5nJyk7XG5cbiAgLy8gUmVzZXQgdGhlIHBhZ2UgdG8gaXRzIHByZXZpb3VzIHN0YXRlXG4gIHdpbmRvdy5vbmtleWRvd24gPSBwcmV2aW91c1dpbmRvd0tleURvd247XG4gIGlmICh3aW5kb3cucHJldmlvdXNBY3RpdmVFbGVtZW50KSB7XG4gICAgd2luZG93LnByZXZpb3VzQWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG4gIGxhc3RGb2N1c2VkQnV0dG9uID0gdW5kZWZpbmVkO1xuICBjbGVhclRpbWVvdXQobW9kYWwudGltZW91dCk7XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5cbi8qXG4gKiBWYWxpZGF0aW9uIG9mIHRoZSBpbnB1dCBmaWVsZCBpcyBkb25lIGJ5IHVzZXJcbiAqIElmIHNvbWV0aGluZyBpcyB3cm9uZyA9PiBjYWxsIHNob3dJbnB1dEVycm9yIHdpdGggZXJyb3JNZXNzYWdlXG4gKi9cbnN3ZWV0QWxlcnQuc2hvd0lucHV0RXJyb3IgPSBzd2FsLnNob3dJbnB1dEVycm9yID0gZnVuY3Rpb24oZXJyb3JNZXNzYWdlKSB7XG4gIHZhciBtb2RhbCA9IGdldE1vZGFsKCk7XG5cbiAgdmFyICRlcnJvckljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaW5wdXQtZXJyb3InKTtcbiAgYWRkQ2xhc3MoJGVycm9ySWNvbiwgJ3Nob3cnKTtcblxuICB2YXIgJGVycm9yQ29udGFpbmVyID0gbW9kYWwucXVlcnlTZWxlY3RvcignLnNhLWVycm9yLWNvbnRhaW5lcicpO1xuICBhZGRDbGFzcygkZXJyb3JDb250YWluZXIsICdzaG93Jyk7XG5cbiAgJGVycm9yQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3AnKS5pbm5lckhUTUwgPSBlcnJvck1lc3NhZ2U7XG5cbiAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICBzd2VldEFsZXJ0LmVuYWJsZUJ1dHRvbnMoKTtcbiAgfSwgMSk7XG5cbiAgbW9kYWwucXVlcnlTZWxlY3RvcignaW5wdXQnKS5mb2N1cygpO1xufTtcblxuXG4vKlxuICogUmVzZXQgaW5wdXQgZXJyb3IgRE9NIGVsZW1lbnRzXG4gKi9cbnN3ZWV0QWxlcnQucmVzZXRJbnB1dEVycm9yID0gc3dhbC5yZXNldElucHV0RXJyb3IgPSBmdW5jdGlvbihldmVudCkge1xuICAvLyBJZiBwcmVzcyBlbnRlciA9PiBpZ25vcmVcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LmtleUNvZGUgPT09IDEzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyICRtb2RhbCA9IGdldE1vZGFsKCk7XG5cbiAgdmFyICRlcnJvckljb24gPSAkbW9kYWwucXVlcnlTZWxlY3RvcignLnNhLWlucHV0LWVycm9yJyk7XG4gIHJlbW92ZUNsYXNzKCRlcnJvckljb24sICdzaG93Jyk7XG5cbiAgdmFyICRlcnJvckNvbnRhaW5lciA9ICRtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtZXJyb3ItY29udGFpbmVyJyk7XG4gIHJlbW92ZUNsYXNzKCRlcnJvckNvbnRhaW5lciwgJ3Nob3cnKTtcbn07XG5cbi8qXG4gKiBEaXNhYmxlIGNvbmZpcm0gYW5kIGNhbmNlbCBidXR0b25zXG4gKi9cbnN3ZWV0QWxlcnQuZGlzYWJsZUJ1dHRvbnMgPSBzd2FsLmRpc2FibGVCdXR0b25zID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgdmFyIG1vZGFsID0gZ2V0TW9kYWwoKTtcbiAgdmFyICRjb25maXJtQnV0dG9uID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNvbmZpcm0nKTtcbiAgdmFyICRjYW5jZWxCdXR0b24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY2FuY2VsJyk7XG4gICRjb25maXJtQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTtcbiAgJGNhbmNlbEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7XG59O1xuXG4vKlxuICogRW5hYmxlIGNvbmZpcm0gYW5kIGNhbmNlbCBidXR0b25zXG4gKi9cbnN3ZWV0QWxlcnQuZW5hYmxlQnV0dG9ucyA9IHN3YWwuZW5hYmxlQnV0dG9ucyA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gIHZhciBtb2RhbCA9IGdldE1vZGFsKCk7XG4gIHZhciAkY29uZmlybUJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7XG4gIHZhciAkY2FuY2VsQnV0dG9uID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNhbmNlbCcpO1xuICAkY29uZmlybUJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAkY2FuY2VsQnV0dG9uLmRpc2FibGVkID0gZmFsc2U7XG59O1xuXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgLy8gVGhlICdoYW5kbGUtY2xpY2snIG1vZHVsZSByZXF1aXJlc1xuICAvLyB0aGF0ICdzd2VldEFsZXJ0JyB3YXMgc2V0IGFzIGdsb2JhbC5cbiAgd2luZG93LnN3ZWV0QWxlcnQgPSB3aW5kb3cuc3dhbCA9IHN3ZWV0QWxlcnQ7XG59IGVsc2Uge1xuICBsb2dTdHIoJ1N3ZWV0QWxlcnQgaXMgYSBmcm9udGVuZCBtb2R1bGUhJyk7XG59XG4iLCJ2YXIgZGVmYXVsdFBhcmFtcyA9IHtcbiAgdGl0bGU6ICcnLFxuICB0ZXh0OiAnJyxcbiAgdHlwZTogbnVsbCxcbiAgYWxsb3dPdXRzaWRlQ2xpY2s6IGZhbHNlLFxuICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gIGNsb3NlT25Db25maXJtOiB0cnVlLFxuICBjbG9zZU9uQ2FuY2VsOiB0cnVlLFxuICBjb25maXJtQnV0dG9uVGV4dDogJ09LJyxcbiAgY29uZmlybUJ1dHRvbkNvbG9yOiAnIzhDRDRGNScsXG4gIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxuICBpbWFnZVVybDogbnVsbCxcbiAgaW1hZ2VTaXplOiBudWxsLFxuICB0aW1lcjogbnVsbCxcbiAgY3VzdG9tQ2xhc3M6ICcnLFxuICBodG1sOiBmYWxzZSxcbiAgYW5pbWF0aW9uOiB0cnVlLFxuICBhbGxvd0VzY2FwZUtleTogdHJ1ZSxcbiAgaW5wdXRUeXBlOiAndGV4dCcsXG4gIGlucHV0UGxhY2Vob2xkZXI6ICcnLFxuICBpbnB1dFZhbHVlOiAnJyxcbiAgc2hvd0xvYWRlck9uQ29uZmlybTogZmFsc2Vcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmF1bHRQYXJhbXM7XG4iLCJpbXBvcnQgeyBjb2xvckx1bWluYW5jZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TW9kYWwgfSBmcm9tICcuL2hhbmRsZS1zd2FsLWRvbSc7XG5pbXBvcnQgeyBoYXNDbGFzcywgaXNEZXNjZW5kYW50IH0gZnJvbSAnLi9oYW5kbGUtZG9tJztcblxuXG4vKlxuICogVXNlciBjbGlja2VkIG9uIFwiQ29uZmlybVwiL1wiT0tcIiBvciBcIkNhbmNlbFwiXG4gKi9cbnZhciBoYW5kbGVCdXR0b24gPSBmdW5jdGlvbihldmVudCwgcGFyYW1zLCBtb2RhbCkge1xuICB2YXIgZSA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDtcbiAgdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDtcblxuICB2YXIgdGFyZ2V0ZWRDb25maXJtID0gdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdjb25maXJtJykgIT09IC0xO1xuICB2YXIgdGFyZ2V0ZWRPdmVybGF5ID0gdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdzd2VldC1vdmVybGF5JykgIT09IC0xO1xuICB2YXIgbW9kYWxJc1Zpc2libGUgID0gaGFzQ2xhc3MobW9kYWwsICd2aXNpYmxlJyk7XG4gIHZhciBkb25lRnVuY3Rpb25FeGlzdHMgPSAocGFyYW1zLmRvbmVGdW5jdGlvbiAmJiBtb2RhbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaGFzLWRvbmUtZnVuY3Rpb24nKSA9PT0gJ3RydWUnKTtcblxuICAvLyBTaW5jZSB0aGUgdXNlciBjYW4gY2hhbmdlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBjb25maXJtIGJ1dHRvbiBwcm9ncmFtbWF0aWNhbGx5LFxuICAvLyB3ZSBtdXN0IGNhbGN1bGF0ZSB3aGF0IHRoZSBjb2xvciBzaG91bGQgYmUgb24gaG92ZXIvYWN0aXZlXG4gIHZhciBub3JtYWxDb2xvciwgaG92ZXJDb2xvciwgYWN0aXZlQ29sb3I7XG4gIGlmICh0YXJnZXRlZENvbmZpcm0gJiYgcGFyYW1zLmNvbmZpcm1CdXR0b25Db2xvcikge1xuICAgIG5vcm1hbENvbG9yICA9IHBhcmFtcy5jb25maXJtQnV0dG9uQ29sb3I7XG4gICAgaG92ZXJDb2xvciAgID0gY29sb3JMdW1pbmFuY2Uobm9ybWFsQ29sb3IsIC0wLjA0KTtcbiAgICBhY3RpdmVDb2xvciAgPSBjb2xvckx1bWluYW5jZShub3JtYWxDb2xvciwgLTAuMTQpO1xuICB9XG5cbiAgZnVuY3Rpb24gc2hvdWxkU2V0Q29uZmlybUJ1dHRvbkNvbG9yKGNvbG9yKSB7XG4gICAgaWYgKHRhcmdldGVkQ29uZmlybSAmJiBwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKSB7XG4gICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gY29sb3I7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoIChlLnR5cGUpIHtcbiAgICBjYXNlICdtb3VzZW92ZXInOlxuICAgICAgc2hvdWxkU2V0Q29uZmlybUJ1dHRvbkNvbG9yKGhvdmVyQ29sb3IpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZW91dCc6XG4gICAgICBzaG91bGRTZXRDb25maXJtQnV0dG9uQ29sb3Iobm9ybWFsQ29sb3IpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdtb3VzZWRvd24nOlxuICAgICAgc2hvdWxkU2V0Q29uZmlybUJ1dHRvbkNvbG9yKGFjdGl2ZUNvbG9yKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnbW91c2V1cCc6XG4gICAgICBzaG91bGRTZXRDb25maXJtQnV0dG9uQ29sb3IoaG92ZXJDb2xvcik7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2ZvY3VzJzpcbiAgICAgIGxldCAkY29uZmlybUJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7XG4gICAgICBsZXQgJGNhbmNlbEJ1dHRvbiAgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY2FuY2VsJyk7XG5cbiAgICAgIGlmICh0YXJnZXRlZENvbmZpcm0pIHtcbiAgICAgICAgJGNhbmNlbEJ1dHRvbi5zdHlsZS5ib3hTaGFkb3cgPSAnbm9uZSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAkY29uZmlybUJ1dHRvbi5zdHlsZS5ib3hTaGFkb3cgPSAnbm9uZSc7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgIGxldCBjbGlja2VkT25Nb2RhbCA9IChtb2RhbCA9PT0gdGFyZ2V0KTtcbiAgICAgIGxldCBjbGlja2VkT25Nb2RhbENoaWxkID0gaXNEZXNjZW5kYW50KG1vZGFsLCB0YXJnZXQpO1xuXG4gICAgICAvLyBJZ25vcmUgY2xpY2sgb3V0c2lkZSBpZiBhbGxvd091dHNpZGVDbGljayBpcyBmYWxzZVxuICAgICAgaWYgKCFjbGlja2VkT25Nb2RhbCAmJiAhY2xpY2tlZE9uTW9kYWxDaGlsZCAmJiBtb2RhbElzVmlzaWJsZSAmJiAhcGFyYW1zLmFsbG93T3V0c2lkZUNsaWNrKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAodGFyZ2V0ZWRDb25maXJtICYmIGRvbmVGdW5jdGlvbkV4aXN0cyAmJiBtb2RhbElzVmlzaWJsZSkge1xuICAgICAgICBoYW5kbGVDb25maXJtKG1vZGFsLCBwYXJhbXMpO1xuICAgICAgfSBlbHNlIGlmIChkb25lRnVuY3Rpb25FeGlzdHMgJiYgbW9kYWxJc1Zpc2libGUgfHwgdGFyZ2V0ZWRPdmVybGF5KSB7XG4gICAgICAgIGhhbmRsZUNhbmNlbChtb2RhbCwgcGFyYW1zKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNEZXNjZW5kYW50KG1vZGFsLCB0YXJnZXQpICYmIHRhcmdldC50YWdOYW1lID09PSAnQlVUVE9OJykge1xuICAgICAgICBzd2VldEFsZXJ0LmNsb3NlKCk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgfVxufTtcblxuLypcbiAqICBVc2VyIGNsaWNrZWQgb24gXCJDb25maXJtXCIvXCJPS1wiXG4gKi9cbnZhciBoYW5kbGVDb25maXJtID0gZnVuY3Rpb24obW9kYWwsIHBhcmFtcykge1xuICB2YXIgY2FsbGJhY2tWYWx1ZSA9IHRydWU7XG5cbiAgaWYgKGhhc0NsYXNzKG1vZGFsLCAnc2hvdy1pbnB1dCcpKSB7XG4gICAgY2FsbGJhY2tWYWx1ZSA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykudmFsdWU7XG5cbiAgICBpZiAoIWNhbGxiYWNrVmFsdWUpIHtcbiAgICAgIGNhbGxiYWNrVmFsdWUgPSAnJztcbiAgICB9XG4gIH1cblxuICBwYXJhbXMuZG9uZUZ1bmN0aW9uKGNhbGxiYWNrVmFsdWUpO1xuXG4gIGlmIChwYXJhbXMuY2xvc2VPbkNvbmZpcm0pIHtcbiAgICBzd2VldEFsZXJ0LmNsb3NlKCk7XG4gIH1cbiAgLy8gRGlzYWJsZSBjYW5jZWwgYW5kIGNvbmZpcm0gYnV0dG9uIGlmIHRoZSBwYXJhbWV0ZXIgaXMgdHJ1ZVxuICBpZiAocGFyYW1zLnNob3dMb2FkZXJPbkNvbmZpcm0pIHtcbiAgICBzd2VldEFsZXJ0LmRpc2FibGVCdXR0b25zKCk7XG4gIH1cbn07XG5cbi8qXG4gKiAgVXNlciBjbGlja2VkIG9uIFwiQ2FuY2VsXCJcbiAqL1xudmFyIGhhbmRsZUNhbmNlbCA9IGZ1bmN0aW9uKG1vZGFsLCBwYXJhbXMpIHtcbiAgLy8gQ2hlY2sgaWYgY2FsbGJhY2sgZnVuY3Rpb24gZXhwZWN0cyBhIHBhcmFtZXRlciAodG8gdHJhY2sgY2FuY2VsIGFjdGlvbnMpXG4gIHZhciBmdW5jdGlvbkFzU3RyID0gU3RyaW5nKHBhcmFtcy5kb25lRnVuY3Rpb24pLnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gIHZhciBmdW5jdGlvbkhhbmRsZXNDYW5jZWwgPSBmdW5jdGlvbkFzU3RyLnN1YnN0cmluZygwLCA5KSA9PT0gJ2Z1bmN0aW9uKCcgJiYgZnVuY3Rpb25Bc1N0ci5zdWJzdHJpbmcoOSwgMTApICE9PSAnKSc7XG5cbiAgaWYgKGZ1bmN0aW9uSGFuZGxlc0NhbmNlbCkge1xuICAgIHBhcmFtcy5kb25lRnVuY3Rpb24oZmFsc2UpO1xuICB9XG5cbiAgaWYgKHBhcmFtcy5jbG9zZU9uQ2FuY2VsKSB7XG4gICAgc3dlZXRBbGVydC5jbG9zZSgpO1xuICB9XG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaGFuZGxlQnV0dG9uLFxuICBoYW5kbGVDb25maXJtLFxuICBoYW5kbGVDYW5jZWxcbn07XG4iLCJ2YXIgaGFzQ2xhc3MgPSBmdW5jdGlvbihlbGVtLCBjbGFzc05hbWUpIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAoJyAnICsgY2xhc3NOYW1lICsgJyAnKS50ZXN0KCcgJyArIGVsZW0uY2xhc3NOYW1lICsgJyAnKTtcbn07XG5cbnZhciBhZGRDbGFzcyA9IGZ1bmN0aW9uKGVsZW0sIGNsYXNzTmFtZSkge1xuICBpZiAoIWhhc0NsYXNzKGVsZW0sIGNsYXNzTmFtZSkpIHtcbiAgICBlbGVtLmNsYXNzTmFtZSArPSAnICcgKyBjbGFzc05hbWU7XG4gIH1cbn07XG5cbnZhciByZW1vdmVDbGFzcyA9IGZ1bmN0aW9uKGVsZW0sIGNsYXNzTmFtZSkge1xuICB2YXIgbmV3Q2xhc3MgPSAnICcgKyBlbGVtLmNsYXNzTmFtZS5yZXBsYWNlKC9bXFx0XFxyXFxuXS9nLCAnICcpICsgJyAnO1xuICBpZiAoaGFzQ2xhc3MoZWxlbSwgY2xhc3NOYW1lKSkge1xuICAgIHdoaWxlIChuZXdDbGFzcy5pbmRleE9mKCcgJyArIGNsYXNzTmFtZSArICcgJykgPj0gMCkge1xuICAgICAgbmV3Q2xhc3MgPSBuZXdDbGFzcy5yZXBsYWNlKCcgJyArIGNsYXNzTmFtZSArICcgJywgJyAnKTtcbiAgICB9XG4gICAgZWxlbS5jbGFzc05hbWUgPSBuZXdDbGFzcy5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLCAnJyk7XG4gIH1cbn07XG5cbnZhciBlc2NhcGVIdG1sID0gZnVuY3Rpb24oc3RyKSB7XG4gIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgZGl2LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpO1xuICByZXR1cm4gZGl2LmlubmVySFRNTDtcbn07XG5cbnZhciBfc2hvdyA9IGZ1bmN0aW9uKGVsZW0pIHtcbiAgZWxlbS5zdHlsZS5vcGFjaXR5ID0gJyc7XG4gIGVsZW0uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG59O1xuXG52YXIgc2hvdyA9IGZ1bmN0aW9uKGVsZW1zKSB7XG4gIGlmIChlbGVtcyAmJiAhZWxlbXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIF9zaG93KGVsZW1zKTtcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgX3Nob3coZWxlbXNbaV0pO1xuICB9XG59O1xuXG52YXIgX2hpZGUgPSBmdW5jdGlvbihlbGVtKSB7XG4gIGVsZW0uc3R5bGUub3BhY2l0eSA9ICcnO1xuICBlbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG59O1xuXG52YXIgaGlkZSA9IGZ1bmN0aW9uKGVsZW1zKSB7XG4gIGlmIChlbGVtcyAmJiAhZWxlbXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIF9oaWRlKGVsZW1zKTtcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgX2hpZGUoZWxlbXNbaV0pO1xuICB9XG59O1xuXG52YXIgaXNEZXNjZW5kYW50ID0gZnVuY3Rpb24ocGFyZW50LCBjaGlsZCkge1xuICB2YXIgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7XG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgaWYgKG5vZGUgPT09IHBhcmVudCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxudmFyIGdldFRvcE1hcmdpbiA9IGZ1bmN0aW9uKGVsZW0pIHtcbiAgZWxlbS5zdHlsZS5sZWZ0ID0gJy05OTk5cHgnO1xuICBlbGVtLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gIHZhciBoZWlnaHQgPSBlbGVtLmNsaWVudEhlaWdodCxcbiAgICAgIHBhZGRpbmc7XG4gIGlmICh0eXBlb2YgZ2V0Q29tcHV0ZWRTdHlsZSAhPT0gXCJ1bmRlZmluZWRcIikgeyAvLyBJRSA4XG4gICAgcGFkZGluZyA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZWxlbSkuZ2V0UHJvcGVydHlWYWx1ZSgncGFkZGluZy10b3AnKSwgMTApO1xuICB9IGVsc2Uge1xuICAgIHBhZGRpbmcgPSBwYXJzZUludChlbGVtLmN1cnJlbnRTdHlsZS5wYWRkaW5nKTtcbiAgfVxuXG4gIGVsZW0uc3R5bGUubGVmdCA9ICcnO1xuICBlbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIHJldHVybiAoJy0nICsgcGFyc2VJbnQoKGhlaWdodCArIHBhZGRpbmcpIC8gMikgKyAncHgnKTtcbn07XG5cbnZhciBmYWRlSW4gPSBmdW5jdGlvbihlbGVtLCBpbnRlcnZhbCkge1xuICBpZiAoK2VsZW0uc3R5bGUub3BhY2l0eSA8IDEpIHtcbiAgICBpbnRlcnZhbCA9IGludGVydmFsIHx8IDE2O1xuICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9IDA7XG4gICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB2YXIgbGFzdCA9ICtuZXcgRGF0ZSgpO1xuICAgIHZhciB0aWNrID0gZnVuY3Rpb24oKSB7XG4gICAgICBlbGVtLnN0eWxlLm9wYWNpdHkgPSArZWxlbS5zdHlsZS5vcGFjaXR5ICsgKG5ldyBEYXRlKCkgLSBsYXN0KSAvIDEwMDtcbiAgICAgIGxhc3QgPSArbmV3IERhdGUoKTtcblxuICAgICAgaWYgKCtlbGVtLnN0eWxlLm9wYWNpdHkgPCAxKSB7XG4gICAgICAgIHNldFRpbWVvdXQodGljaywgaW50ZXJ2YWwpO1xuICAgICAgfVxuICAgIH07XG4gICAgdGljaygpO1xuICB9XG4gIGVsZW0uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7IC8vZmFsbGJhY2sgSUU4XG59O1xuXG52YXIgZmFkZU91dCA9IGZ1bmN0aW9uKGVsZW0sIGludGVydmFsKSB7XG4gIGludGVydmFsID0gaW50ZXJ2YWwgfHwgMTY7XG4gIGVsZW0uc3R5bGUub3BhY2l0eSA9IDE7XG4gIHZhciBsYXN0ID0gK25ldyBEYXRlKCk7XG4gIHZhciB0aWNrID0gZnVuY3Rpb24oKSB7XG4gICAgZWxlbS5zdHlsZS5vcGFjaXR5ID0gK2VsZW0uc3R5bGUub3BhY2l0eSAtIChuZXcgRGF0ZSgpIC0gbGFzdCkgLyAxMDA7XG4gICAgbGFzdCA9ICtuZXcgRGF0ZSgpO1xuXG4gICAgaWYgKCtlbGVtLnN0eWxlLm9wYWNpdHkgPiAwKSB7XG4gICAgICBzZXRUaW1lb3V0KHRpY2ssIGludGVydmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgfTtcbiAgdGljaygpO1xufTtcblxudmFyIGZpcmVDbGljayA9IGZ1bmN0aW9uKG5vZGUpIHtcbiAgLy8gVGFrZW4gZnJvbSBodHRwOi8vd3d3Lm5vbm9idHJ1c2l2ZS5jb20vMjAxMS8xMS8yOS9wcm9ncmFtYXRpY2FsbHktZmlyZS1jcm9zc2Jyb3dzZXItY2xpY2stZXZlbnQtd2l0aC1qYXZhc2NyaXB0L1xuICAvLyBUaGVuIGZpeGVkIGZvciB0b2RheSdzIENocm9tZSBicm93c2VyLlxuICBpZiAodHlwZW9mIE1vdXNlRXZlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBVcC10by1kYXRlIGFwcHJvYWNoXG4gICAgdmFyIG1ldnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snLCB7XG4gICAgICB2aWV3OiB3aW5kb3csXG4gICAgICBidWJibGVzOiBmYWxzZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICB9KTtcbiAgICBub2RlLmRpc3BhdGNoRXZlbnQobWV2dCk7XG4gIH0gZWxzZSBpZiAoIGRvY3VtZW50LmNyZWF0ZUV2ZW50ICkge1xuICAgIC8vIEZhbGxiYWNrXG4gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdNb3VzZUV2ZW50cycpO1xuICAgIGV2dC5pbml0RXZlbnQoJ2NsaWNrJywgZmFsc2UsIGZhbHNlKTtcbiAgICBub2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcbiAgfSBlbHNlIGlmIChkb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCkge1xuICAgIG5vZGUuZmlyZUV2ZW50KCdvbmNsaWNrJykgO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBub2RlLm9uY2xpY2sgPT09ICdmdW5jdGlvbicgKSB7XG4gICAgbm9kZS5vbmNsaWNrKCk7XG4gIH1cbn07XG5cbnZhciBzdG9wRXZlbnRQcm9wYWdhdGlvbiA9IGZ1bmN0aW9uKGUpIHtcbiAgLy8gSW4gcGFydGljdWxhciwgbWFrZSBzdXJlIHRoZSBzcGFjZSBiYXIgZG9lc24ndCBzY3JvbGwgdGhlIG1haW4gd2luZG93LlxuICBpZiAodHlwZW9mIGUuc3RvcFByb3BhZ2F0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH0gZWxzZSBpZiAod2luZG93LmV2ZW50ICYmIHdpbmRvdy5ldmVudC5oYXNPd25Qcm9wZXJ0eSgnY2FuY2VsQnViYmxlJykpIHtcbiAgICB3aW5kb3cuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTtcbiAgfVxufTtcblxuZXhwb3J0IHsgXG4gIGhhc0NsYXNzLCBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MsIFxuICBlc2NhcGVIdG1sLCBcbiAgX3Nob3csIHNob3csIF9oaWRlLCBoaWRlLCBcbiAgaXNEZXNjZW5kYW50LCBcbiAgZ2V0VG9wTWFyZ2luLFxuICBmYWRlSW4sIGZhZGVPdXQsXG4gIGZpcmVDbGljayxcbiAgc3RvcEV2ZW50UHJvcGFnYXRpb25cbn07XG4iLCJpbXBvcnQgeyBzdG9wRXZlbnRQcm9wYWdhdGlvbiwgZmlyZUNsaWNrIH0gZnJvbSAnLi9oYW5kbGUtZG9tJztcbmltcG9ydCB7IHNldEZvY3VzU3R5bGUgfSBmcm9tICcuL2hhbmRsZS1zd2FsLWRvbSc7XG5cblxudmFyIGhhbmRsZUtleURvd24gPSBmdW5jdGlvbihldmVudCwgcGFyYW1zLCBtb2RhbCkge1xuICB2YXIgZSA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDtcbiAgdmFyIGtleUNvZGUgPSBlLmtleUNvZGUgfHwgZS53aGljaDtcblxuICB2YXIgJG9rQnV0dG9uICAgICA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7XG4gIHZhciAkY2FuY2VsQnV0dG9uID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNhbmNlbCcpO1xuICB2YXIgJG1vZGFsQnV0dG9ucyA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvblt0YWJpbmRleF0nKTtcblxuXG4gIGlmIChbOSwgMTMsIDMyLCAyN10uaW5kZXhPZihrZXlDb2RlKSA9PT0gLTEpIHtcbiAgICAvLyBEb24ndCBkbyB3b3JrIG9uIGtleXMgd2UgZG9uJ3QgY2FyZSBhYm91dC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgJHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7XG5cbiAgdmFyIGJ0bkluZGV4ID0gLTE7IC8vIEZpbmQgdGhlIGJ1dHRvbiAtIG5vdGUsIHRoaXMgaXMgYSBub2RlbGlzdCwgbm90IGFuIGFycmF5LlxuICBmb3IgKHZhciBpID0gMDsgaSA8ICRtb2RhbEJ1dHRvbnMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoJHRhcmdldEVsZW1lbnQgPT09ICRtb2RhbEJ1dHRvbnNbaV0pIHtcbiAgICAgIGJ0bkluZGV4ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmIChrZXlDb2RlID09PSA5KSB7XG4gICAgLy8gVEFCXG4gICAgaWYgKGJ0bkluZGV4ID09PSAtMSkge1xuICAgICAgLy8gTm8gYnV0dG9uIGZvY3VzZWQuIEp1bXAgdG8gdGhlIGNvbmZpcm0gYnV0dG9uLlxuICAgICAgJHRhcmdldEVsZW1lbnQgPSAkb2tCdXR0b247XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEN5Y2xlIHRvIHRoZSBuZXh0IGJ1dHRvblxuICAgICAgaWYgKGJ0bkluZGV4ID09PSAkbW9kYWxCdXR0b25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkbW9kYWxCdXR0b25zWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkbW9kYWxCdXR0b25zW2J0bkluZGV4ICsgMV07XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3RvcEV2ZW50UHJvcGFnYXRpb24oZSk7XG4gICAgJHRhcmdldEVsZW1lbnQuZm9jdXMoKTtcblxuICAgIGlmIChwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKSB7XG4gICAgICBzZXRGb2N1c1N0eWxlKCR0YXJnZXRFbGVtZW50LCBwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGtleUNvZGUgPT09IDEzKSB7XG4gICAgICBpZiAoJHRhcmdldEVsZW1lbnQudGFnTmFtZSA9PT0gJ0lOUFVUJykge1xuICAgICAgICAkdGFyZ2V0RWxlbWVudCA9ICRva0J1dHRvbjtcbiAgICAgICAgJG9rQnV0dG9uLmZvY3VzKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChidG5JbmRleCA9PT0gLTEpIHtcbiAgICAgICAgLy8gRU5URVIvU1BBQ0UgY2xpY2tlZCBvdXRzaWRlIG9mIGEgYnV0dG9uLlxuICAgICAgICAkdGFyZ2V0RWxlbWVudCA9ICRva0J1dHRvbjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIERvIG5vdGhpbmcgLSBsZXQgdGhlIGJyb3dzZXIgaGFuZGxlIGl0LlxuICAgICAgICAkdGFyZ2V0RWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IDI3ICYmIHBhcmFtcy5hbGxvd0VzY2FwZUtleSA9PT0gdHJ1ZSkge1xuICAgICAgJHRhcmdldEVsZW1lbnQgPSAkY2FuY2VsQnV0dG9uO1xuICAgICAgZmlyZUNsaWNrKCR0YXJnZXRFbGVtZW50LCBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2sgLSBsZXQgdGhlIGJyb3dzZXIgaGFuZGxlIGl0LlxuICAgICAgJHRhcmdldEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBoYW5kbGVLZXlEb3duO1xuIiwiaW1wb3J0IHsgaGV4VG9SZ2IgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHJlbW92ZUNsYXNzLCBnZXRUb3BNYXJnaW4sIGZhZGVJbiwgc2hvdywgYWRkQ2xhc3MgfSBmcm9tICcuL2hhbmRsZS1kb20nO1xuaW1wb3J0IGRlZmF1bHRQYXJhbXMgZnJvbSAnLi9kZWZhdWx0LXBhcmFtcyc7XG5cbnZhciBtb2RhbENsYXNzICAgPSAnLnN3ZWV0LWFsZXJ0JztcbnZhciBvdmVybGF5Q2xhc3MgPSAnLnN3ZWV0LW92ZXJsYXknO1xuXG4vKlxuICogQWRkIG1vZGFsICsgb3ZlcmxheSB0byBET01cbiAqL1xuaW1wb3J0IGluamVjdGVkSFRNTCBmcm9tICcuL2luamVjdGVkLWh0bWwnO1xuXG52YXIgc3dlZXRBbGVydEluaXRpYWxpemUgPSBmdW5jdGlvbigpIHtcbiAgdmFyIHN3ZWV0V3JhcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICBzd2VldFdyYXAuaW5uZXJIVE1MID0gaW5qZWN0ZWRIVE1MO1xuXG4gIC8vIEFwcGVuZCBlbGVtZW50cyB0byBib2R5XG4gIHdoaWxlIChzd2VldFdyYXAuZmlyc3RDaGlsZCkge1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3dlZXRXcmFwLmZpcnN0Q2hpbGQpO1xuICB9XG59O1xuXG4vKlxuICogR2V0IERPTSBlbGVtZW50IG9mIG1vZGFsXG4gKi9cbnZhciBnZXRNb2RhbCA9IGZ1bmN0aW9uKCkge1xuICB2YXIgJG1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihtb2RhbENsYXNzKTtcblxuICBpZiAoISRtb2RhbCkge1xuICAgIHN3ZWV0QWxlcnRJbml0aWFsaXplKCk7XG4gICAgJG1vZGFsID0gZ2V0TW9kYWwoKTtcbiAgfVxuXG4gIHJldHVybiAkbW9kYWw7XG59O1xuXG4vKlxuICogR2V0IERPTSBlbGVtZW50IG9mIGlucHV0IChpbiBtb2RhbClcbiAqL1xudmFyIGdldElucHV0ID0gZnVuY3Rpb24oKSB7XG4gIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpO1xuICBpZiAoJG1vZGFsKSB7XG4gICAgcmV0dXJuICRtb2RhbC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICB9XG59O1xuXG4vKlxuICogR2V0IERPTSBlbGVtZW50IG9mIG92ZXJsYXlcbiAqL1xudmFyIGdldE92ZXJsYXkgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iob3ZlcmxheUNsYXNzKTtcbn07XG5cbi8qXG4gKiBBZGQgYm94LXNoYWRvdyBzdHlsZSB0byBidXR0b24gKGRlcGVuZGluZyBvbiBpdHMgY2hvc2VuIGJnLWNvbG9yKVxuICovXG52YXIgc2V0Rm9jdXNTdHlsZSA9IGZ1bmN0aW9uKCRidXR0b24sIGJnQ29sb3IpIHtcbiAgdmFyIHJnYkNvbG9yID0gaGV4VG9SZ2IoYmdDb2xvcik7XG4gICRidXR0b24uc3R5bGUuYm94U2hhZG93ID0gJzAgMCAycHggcmdiYSgnICsgcmdiQ29sb3IgKyAnLCAwLjgpLCBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KSc7XG59O1xuXG4vKlxuICogQW5pbWF0aW9uIHdoZW4gb3BlbmluZyBtb2RhbFxuICovXG52YXIgb3Blbk1vZGFsID0gZnVuY3Rpb24oY2FsbGJhY2spIHtcbiAgdmFyICRtb2RhbCA9IGdldE1vZGFsKCk7XG4gIGZhZGVJbihnZXRPdmVybGF5KCksIDEwKTtcbiAgc2hvdygkbW9kYWwpO1xuICBhZGRDbGFzcygkbW9kYWwsICdzaG93U3dlZXRBbGVydCcpO1xuICByZW1vdmVDbGFzcygkbW9kYWwsICdoaWRlU3dlZXRBbGVydCcpO1xuXG4gIHdpbmRvdy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICB2YXIgJG9rQnV0dG9uID0gJG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7XG4gICRva0J1dHRvbi5mb2N1cygpO1xuXG4gIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgIGFkZENsYXNzKCRtb2RhbCwgJ3Zpc2libGUnKTtcbiAgfSwgNTAwKTtcblxuICB2YXIgdGltZXIgPSAkbW9kYWwuZ2V0QXR0cmlidXRlKCdkYXRhLXRpbWVyJyk7XG5cbiAgaWYgKHRpbWVyICE9PSAnbnVsbCcgJiYgdGltZXIgIT09ICcnKSB7XG4gICAgdmFyIHRpbWVyQ2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAkbW9kYWwudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgZG9uZUZ1bmN0aW9uRXhpc3RzID0gKCh0aW1lckNhbGxiYWNrIHx8IG51bGwpICYmICRtb2RhbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtaGFzLWRvbmUtZnVuY3Rpb24nKSA9PT0gJ3RydWUnKTtcbiAgICAgIGlmIChkb25lRnVuY3Rpb25FeGlzdHMpIHsgXG4gICAgICAgIHRpbWVyQ2FsbGJhY2sobnVsbCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc3dlZXRBbGVydC5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0sIHRpbWVyKTtcbiAgfVxufTtcblxuLypcbiAqIFJlc2V0IHRoZSBzdHlsaW5nIG9mIHRoZSBpbnB1dFxuICogKGZvciBleGFtcGxlIGlmIGVycm9ycyBoYXZlIGJlZW4gc2hvd24pXG4gKi9cbnZhciByZXNldElucHV0ID0gZnVuY3Rpb24oKSB7XG4gIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpO1xuICB2YXIgJGlucHV0ID0gZ2V0SW5wdXQoKTtcblxuICByZW1vdmVDbGFzcygkbW9kYWwsICdzaG93LWlucHV0Jyk7XG4gICRpbnB1dC52YWx1ZSA9IGRlZmF1bHRQYXJhbXMuaW5wdXRWYWx1ZTtcbiAgJGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsIGRlZmF1bHRQYXJhbXMuaW5wdXRUeXBlKTtcbiAgJGlucHV0LnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCBkZWZhdWx0UGFyYW1zLmlucHV0UGxhY2Vob2xkZXIpO1xuXG4gIHJlc2V0SW5wdXRFcnJvcigpO1xufTtcblxuXG52YXIgcmVzZXRJbnB1dEVycm9yID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgLy8gSWYgcHJlc3MgZW50ZXIgPT4gaWdub3JlXG4gIGlmIChldmVudCAmJiBldmVudC5rZXlDb2RlID09PSAxMykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpO1xuXG4gIHZhciAkZXJyb3JJY29uID0gJG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pbnB1dC1lcnJvcicpO1xuICByZW1vdmVDbGFzcygkZXJyb3JJY29uLCAnc2hvdycpO1xuXG4gIHZhciAkZXJyb3JDb250YWluZXIgPSAkbW9kYWwucXVlcnlTZWxlY3RvcignLnNhLWVycm9yLWNvbnRhaW5lcicpO1xuICByZW1vdmVDbGFzcygkZXJyb3JDb250YWluZXIsICdzaG93Jyk7XG59O1xuXG5cbi8qXG4gKiBTZXQgXCJtYXJnaW4tdG9wXCItcHJvcGVydHkgb24gbW9kYWwgYmFzZWQgb24gaXRzIGNvbXB1dGVkIGhlaWdodFxuICovXG52YXIgZml4VmVydGljYWxQb3NpdGlvbiA9IGZ1bmN0aW9uKCkge1xuICB2YXIgJG1vZGFsID0gZ2V0TW9kYWwoKTtcbiAgJG1vZGFsLnN0eWxlLm1hcmdpblRvcCA9IGdldFRvcE1hcmdpbihnZXRNb2RhbCgpKTtcbn07XG5cblxuZXhwb3J0IHsgXG4gIHN3ZWV0QWxlcnRJbml0aWFsaXplLFxuICBnZXRNb2RhbCxcbiAgZ2V0T3ZlcmxheSxcbiAgZ2V0SW5wdXQsXG4gIHNldEZvY3VzU3R5bGUsXG4gIG9wZW5Nb2RhbCxcbiAgcmVzZXRJbnB1dCxcbiAgcmVzZXRJbnB1dEVycm9yLFxuICBmaXhWZXJ0aWNhbFBvc2l0aW9uXG59O1xuIiwidmFyIGluamVjdGVkSFRNTCA9IFxuXG4gIC8vIERhcmsgb3ZlcmxheVxuICBgPGRpdiBjbGFzcz1cInN3ZWV0LW92ZXJsYXlcIiB0YWJJbmRleD1cIi0xXCI+PC9kaXY+YCArXG5cbiAgLy8gTW9kYWxcbiAgYDxkaXYgY2xhc3M9XCJzd2VldC1hbGVydFwiPmAgK1xuXG4gICAgLy8gRXJyb3IgaWNvblxuICAgIGA8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS1lcnJvclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYS14LW1hcmtcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYS1saW5lIHNhLWxlZnRcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2EtbGluZSBzYS1yaWdodFwiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5gICtcblxuICAgIC8vIFdhcm5pbmcgaWNvblxuICAgIGA8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS13YXJuaW5nXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNhLWJvZHlcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNhLWRvdFwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5gICtcblxuICAgIC8vIEluZm8gaWNvblxuICAgIGA8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS1pbmZvXCI+PC9kaXY+YCArXG5cbiAgICAvLyBTdWNjZXNzIGljb25cbiAgICBgPGRpdiBjbGFzcz1cInNhLWljb24gc2Etc3VjY2Vzc1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYS1saW5lIHNhLXRpcFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EtbGluZSBzYS1sb25nXCI+PC9zcGFuPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwic2EtcGxhY2Vob2xkZXJcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYS1maXhcIj48L2Rpdj5cbiAgICA8L2Rpdj5gICtcblxuICAgIGA8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS1jdXN0b21cIj48L2Rpdj5gICtcblxuICAgIC8vIFRpdGxlLCB0ZXh0IGFuZCBpbnB1dFxuICAgIGA8aDI+VGl0bGU8L2gyPlxuICAgIDxwPlRleHQ8L3A+XG4gICAgPGZpZWxkc2V0PlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdGFiSW5kZXg9XCIzXCIgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYS1pbnB1dC1lcnJvclwiPjwvZGl2PlxuICAgIDwvZmllbGRzZXQ+YCArXG5cbiAgICAvLyBJbnB1dCBlcnJvcnNcbiAgICBgPGRpdiBjbGFzcz1cInNhLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImljb25cIj4hPC9kaXY+XG4gICAgICA8cD5Ob3QgdmFsaWQhPC9wPlxuICAgIDwvZGl2PmAgK1xuXG4gICAgLy8gQ2FuY2VsIGFuZCBjb25maXJtIGJ1dHRvbnNcbiAgICBgPGRpdiBjbGFzcz1cInNhLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIiB0YWJJbmRleD1cIjJcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYS1jb25maXJtLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNvbmZpcm1cIiB0YWJJbmRleD1cIjFcIj5PSzwvYnV0dG9uPmAgKyBcblxuICAgICAgICAvLyBMb2FkaW5nIGFuaW1hdGlvblxuICAgICAgICBgPGRpdiBjbGFzcz1cImxhLWJhbGwtZmFsbFwiPlxuICAgICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PmAgK1xuXG4gIC8vIEVuZCBvZiBtb2RhbFxuICBgPC9kaXY+YDtcblxuZXhwb3J0IGRlZmF1bHQgaW5qZWN0ZWRIVE1MO1xuIiwidmFyIGFsZXJ0VHlwZXMgPSBbJ2Vycm9yJywgJ3dhcm5pbmcnLCAnaW5mbycsICdzdWNjZXNzJywgJ2lucHV0JywgJ3Byb21wdCddO1xuXG5pbXBvcnQge1xuICBpc0lFOFxufSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgZ2V0TW9kYWwsXG4gIGdldElucHV0LFxuICBzZXRGb2N1c1N0eWxlXG59IGZyb20gJy4vaGFuZGxlLXN3YWwtZG9tJztcblxuaW1wb3J0IHtcbiAgaGFzQ2xhc3MsIGFkZENsYXNzLCByZW1vdmVDbGFzcyxcbiAgZXNjYXBlSHRtbCxcbiAgX3Nob3csIHNob3csIF9oaWRlLCBoaWRlXG59IGZyb20gJy4vaGFuZGxlLWRvbSc7XG5cblxuLypcbiAqIFNldCB0eXBlLCB0ZXh0IGFuZCBhY3Rpb25zIG9uIG1vZGFsXG4gKi9cbnZhciBzZXRQYXJhbWV0ZXJzID0gZnVuY3Rpb24ocGFyYW1zKSB7XG4gIHZhciBtb2RhbCA9IGdldE1vZGFsKCk7XG5cbiAgdmFyICR0aXRsZSA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2gyJyk7XG4gIHZhciAkdGV4dCA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ3AnKTtcbiAgdmFyICRjYW5jZWxCdG4gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY2FuY2VsJyk7XG4gIHZhciAkY29uZmlybUJ0biA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7XG5cbiAgLypcbiAgICogVGl0bGVcbiAgICovXG4gICR0aXRsZS5pbm5lckhUTUwgPSBwYXJhbXMuaHRtbCA/IHBhcmFtcy50aXRsZSA6IGVzY2FwZUh0bWwocGFyYW1zLnRpdGxlKS5zcGxpdCgnXFxuJykuam9pbignPGJyPicpO1xuXG4gIC8qXG4gICAqIFRleHRcbiAgICovXG4gICR0ZXh0LmlubmVySFRNTCA9IHBhcmFtcy5odG1sID8gcGFyYW1zLnRleHQgOiBlc2NhcGVIdG1sKHBhcmFtcy50ZXh0IHx8ICcnKS5zcGxpdCgnXFxuJykuam9pbignPGJyPicpO1xuICBpZiAocGFyYW1zLnRleHQpIHNob3coJHRleHQpO1xuXG4gIC8qXG4gICAqIEN1c3RvbSBjbGFzc1xuICAgKi9cbiAgaWYgKHBhcmFtcy5jdXN0b21DbGFzcykge1xuICAgIGFkZENsYXNzKG1vZGFsLCBwYXJhbXMuY3VzdG9tQ2xhc3MpO1xuICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1jdXN0b20tY2xhc3MnLCBwYXJhbXMuY3VzdG9tQ2xhc3MpO1xuICB9IGVsc2Uge1xuICAgIC8vIEZpbmQgcHJldmlvdXNseSBzZXQgY2xhc3NlcyBhbmQgcmVtb3ZlIHRoZW1cbiAgICBsZXQgY3VzdG9tQ2xhc3MgPSBtb2RhbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtY3VzdG9tLWNsYXNzJyk7XG4gICAgcmVtb3ZlQ2xhc3MobW9kYWwsIGN1c3RvbUNsYXNzKTtcbiAgICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtY3VzdG9tLWNsYXNzJywgJycpO1xuICB9XG5cbiAgLypcbiAgICogSWNvblxuICAgKi9cbiAgaGlkZShtb2RhbC5xdWVyeVNlbGVjdG9yQWxsKCcuc2EtaWNvbicpKTtcblxuICBpZiAocGFyYW1zLnR5cGUgJiYgIWlzSUU4KCkpIHtcblxuICAgIGxldCB2YWxpZFR5cGUgPSBmYWxzZTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWxlcnRUeXBlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBhcmFtcy50eXBlID09PSBhbGVydFR5cGVzW2ldKSB7XG4gICAgICAgIHZhbGlkVHlwZSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdmFsaWRUeXBlKSB7XG4gICAgICBsb2dTdHIoJ1Vua25vd24gYWxlcnQgdHlwZTogJyArIHBhcmFtcy50eXBlKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgdHlwZXNXaXRoSWNvbnMgPSBbJ3N1Y2Nlc3MnLCAnZXJyb3InLCAnd2FybmluZycsICdpbmZvJ107XG4gICAgbGV0ICRpY29uO1xuXG4gICAgaWYgKHR5cGVzV2l0aEljb25zLmluZGV4T2YocGFyYW1zLnR5cGUpICE9PSAtMSkge1xuICAgICAgJGljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi4nICsgJ3NhLScgKyBwYXJhbXMudHlwZSk7XG4gICAgICBzaG93KCRpY29uKTtcbiAgICB9XG5cbiAgICBsZXQgJGlucHV0ID0gZ2V0SW5wdXQoKTtcblxuICAgIC8vIEFuaW1hdGUgaWNvblxuICAgIHN3aXRjaCAocGFyYW1zLnR5cGUpIHtcblxuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIGFkZENsYXNzKCRpY29uLCAnYW5pbWF0ZScpO1xuICAgICAgICBhZGRDbGFzcygkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtdGlwJyksICdhbmltYXRlU3VjY2Vzc1RpcCcpO1xuICAgICAgICBhZGRDbGFzcygkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtbG9uZycpLCAnYW5pbWF0ZVN1Y2Nlc3NMb25nJyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIGFkZENsYXNzKCRpY29uLCAnYW5pbWF0ZUVycm9ySWNvbicpO1xuICAgICAgICBhZGRDbGFzcygkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EteC1tYXJrJyksICdhbmltYXRlWE1hcmsnKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICBhZGRDbGFzcygkaWNvbiwgJ3B1bHNlV2FybmluZycpO1xuICAgICAgICBhZGRDbGFzcygkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtYm9keScpLCAncHVsc2VXYXJuaW5nSW5zJyk7XG4gICAgICAgIGFkZENsYXNzKCRpY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS1kb3QnKSwgJ3B1bHNlV2FybmluZ0lucycpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnaW5wdXQnOlxuICAgICAgY2FzZSAncHJvbXB0JzpcbiAgICAgICAgJGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsIHBhcmFtcy5pbnB1dFR5cGUpO1xuICAgICAgICAkaW5wdXQudmFsdWUgPSBwYXJhbXMuaW5wdXRWYWx1ZTtcbiAgICAgICAgJGlucHV0LnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCBwYXJhbXMuaW5wdXRQbGFjZWhvbGRlcik7XG4gICAgICAgIGFkZENsYXNzKG1vZGFsLCAnc2hvdy1pbnB1dCcpO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAkaW5wdXQuZm9jdXMoKTtcbiAgICAgICAgICAkaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBzd2FsLnJlc2V0SW5wdXRFcnJvcik7XG4gICAgICAgIH0sIDQwMCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEN1c3RvbSBpbWFnZVxuICAgKi9cbiAgaWYgKHBhcmFtcy5pbWFnZVVybCkge1xuICAgIGxldCAkY3VzdG9tSWNvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pY29uLnNhLWN1c3RvbScpO1xuXG4gICAgJGN1c3RvbUljb24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gJ3VybCgnICsgcGFyYW1zLmltYWdlVXJsICsgJyknO1xuICAgIHNob3coJGN1c3RvbUljb24pO1xuXG4gICAgbGV0IF9pbWdXaWR0aCA9IDgwO1xuICAgIGxldCBfaW1nSGVpZ2h0ID0gODA7XG5cbiAgICBpZiAocGFyYW1zLmltYWdlU2l6ZSkge1xuICAgICAgbGV0IGRpbWVuc2lvbnMgPSBwYXJhbXMuaW1hZ2VTaXplLnRvU3RyaW5nKCkuc3BsaXQoJ3gnKTtcbiAgICAgIGxldCBpbWdXaWR0aCA9IGRpbWVuc2lvbnNbMF07XG4gICAgICBsZXQgaW1nSGVpZ2h0ID0gZGltZW5zaW9uc1sxXTtcblxuICAgICAgaWYgKCFpbWdXaWR0aCB8fCAhaW1nSGVpZ2h0KSB7XG4gICAgICAgIGxvZ1N0cignUGFyYW1ldGVyIGltYWdlU2l6ZSBleHBlY3RzIHZhbHVlIHdpdGggZm9ybWF0IFdJRFRIeEhFSUdIVCwgZ290ICcgKyBwYXJhbXMuaW1hZ2VTaXplKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF9pbWdXaWR0aCA9IGltZ1dpZHRoO1xuICAgICAgICBfaW1nSGVpZ2h0ID0gaW1nSGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICRjdXN0b21JY29uLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAkY3VzdG9tSWNvbi5nZXRBdHRyaWJ1dGUoJ3N0eWxlJykgKyAnd2lkdGg6JyArIF9pbWdXaWR0aCArICdweDsgaGVpZ2h0OicgKyBfaW1nSGVpZ2h0ICsgJ3B4Jyk7XG4gIH1cblxuICAvKlxuICAgKiBTaG93IGNhbmNlbCBidXR0b24/XG4gICAqL1xuICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaGFzLWNhbmNlbC1idXR0b24nLCBwYXJhbXMuc2hvd0NhbmNlbEJ1dHRvbik7XG4gIGlmIChwYXJhbXMuc2hvd0NhbmNlbEJ1dHRvbikge1xuICAgICRjYW5jZWxCdG4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xuICB9IGVsc2Uge1xuICAgIGhpZGUoJGNhbmNlbEJ0bik7XG4gIH1cblxuICAvKlxuICAgKiBTaG93IGNvbmZpcm0gYnV0dG9uP1xuICAgKi9cbiAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLWhhcy1jb25maXJtLWJ1dHRvbicsIHBhcmFtcy5zaG93Q29uZmlybUJ1dHRvbik7XG4gIGlmIChwYXJhbXMuc2hvd0NvbmZpcm1CdXR0b24pIHtcbiAgICAkY29uZmlybUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7XG4gIH0gZWxzZSB7XG4gICAgaGlkZSgkY29uZmlybUJ0bik7XG4gIH1cblxuICAvKlxuICAgKiBDdXN0b20gdGV4dCBvbiBjYW5jZWwvY29uZmlybSBidXR0b25zXG4gICAqL1xuICBpZiAocGFyYW1zLmNhbmNlbEJ1dHRvblRleHQpIHtcbiAgICAkY2FuY2VsQnRuLmlubmVySFRNTCA9IGVzY2FwZUh0bWwocGFyYW1zLmNhbmNlbEJ1dHRvblRleHQpO1xuICB9XG4gIGlmIChwYXJhbXMuY29uZmlybUJ1dHRvblRleHQpIHtcbiAgICAkY29uZmlybUJ0bi5pbm5lckhUTUwgPSBlc2NhcGVIdG1sKHBhcmFtcy5jb25maXJtQnV0dG9uVGV4dCk7XG4gIH1cblxuICAvKlxuICAgKiBDdXN0b20gY29sb3Igb24gY29uZmlybSBidXR0b25cbiAgICovXG4gIGlmIChwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKSB7XG4gICAgLy8gU2V0IGNvbmZpcm0gYnV0dG9uIHRvIHNlbGVjdGVkIGJhY2tncm91bmQgY29sb3JcbiAgICAkY29uZmlybUJ0bi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yO1xuXG4gICAgLy8gU2V0IHRoZSBjb25maXJtIGJ1dHRvbiBjb2xvciB0byB0aGUgbG9hZGluZyByaW5nXG4gICAgJGNvbmZpcm1CdG4uc3R5bGUuYm9yZGVyTGVmdENvbG9yID0gcGFyYW1zLmNvbmZpcm1Mb2FkaW5nQnV0dG9uQ29sb3I7XG4gICAgJGNvbmZpcm1CdG4uc3R5bGUuYm9yZGVyUmlnaHRDb2xvciA9IHBhcmFtcy5jb25maXJtTG9hZGluZ0J1dHRvbkNvbG9yO1xuXG4gICAgLy8gU2V0IGJveC1zaGFkb3cgdG8gZGVmYXVsdCBmb2N1c2VkIGJ1dHRvblxuICAgIHNldEZvY3VzU3R5bGUoJGNvbmZpcm1CdG4sIHBhcmFtcy5jb25maXJtQnV0dG9uQ29sb3IpO1xuICB9XG5cbiAgLypcbiAgICogQWxsb3cgb3V0c2lkZSBjbGlja1xuICAgKi9cbiAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLWFsbG93LW91dHNpZGUtY2xpY2snLCBwYXJhbXMuYWxsb3dPdXRzaWRlQ2xpY2spO1xuXG4gIC8qXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uXG4gICAqL1xuICB2YXIgaGFzRG9uZUZ1bmN0aW9uID0gcGFyYW1zLmRvbmVGdW5jdGlvbiA/IHRydWUgOiBmYWxzZTtcbiAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLWhhcy1kb25lLWZ1bmN0aW9uJywgaGFzRG9uZUZ1bmN0aW9uKTtcblxuICAvKlxuICAgKiBBbmltYXRpb25cbiAgICovXG4gIGlmICghcGFyYW1zLmFuaW1hdGlvbikge1xuICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1hbmltYXRpb24nLCAnbm9uZScpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbXMuYW5pbWF0aW9uID09PSAnc3RyaW5nJykge1xuICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1hbmltYXRpb24nLCBwYXJhbXMuYW5pbWF0aW9uKTsgLy8gQ3VzdG9tIGFuaW1hdGlvblxuICB9IGVsc2Uge1xuICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1hbmltYXRpb24nLCAncG9wJyk7XG4gIH1cblxuICAvKlxuICAgKiBUaW1lclxuICAgKi9cbiAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLXRpbWVyJywgcGFyYW1zLnRpbWVyKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHNldFBhcmFtZXRlcnM7XG4iLCIvKlxuICogQWxsb3cgdXNlciB0byBwYXNzIHRoZWlyIG93biBwYXJhbXNcbiAqL1xudmFyIGV4dGVuZCA9IGZ1bmN0aW9uKGEsIGIpIHtcbiAgZm9yICh2YXIga2V5IGluIGIpIHtcbiAgICBpZiAoYi5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICBhW2tleV0gPSBiW2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBhO1xufTtcblxuLypcbiAqIENvbnZlcnQgSEVYIGNvZGVzIHRvIFJHQiB2YWx1ZXMgKCMwMDAwMDAgLT4gcmdiKDAsMCwwKSlcbiAqL1xudmFyIGhleFRvUmdiID0gZnVuY3Rpb24oaGV4KSB7XG4gIHZhciByZXN1bHQgPSAvXiM/KFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pJC9pLmV4ZWMoaGV4KTtcbiAgcmV0dXJuIHJlc3VsdCA/IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpICsgJywgJyArIHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpICsgJywgJyArIHBhcnNlSW50KHJlc3VsdFszXSwgMTYpIDogbnVsbDtcbn07XG5cbi8qXG4gKiBDaGVjayBpZiB0aGUgdXNlciBpcyB1c2luZyBJbnRlcm5ldCBFeHBsb3JlciA4IChmb3IgZmFsbGJhY2tzKVxuICovXG52YXIgaXNJRTggPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuICh3aW5kb3cuYXR0YWNoRXZlbnQgJiYgIXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKTtcbn07XG5cbi8qXG4gKiBJRSBjb21wYXRpYmxlIGxvZ2dpbmcgZm9yIGRldmVsb3BlcnNcbiAqL1xudmFyIGxvZ1N0ciA9IGZ1bmN0aW9uKHN0cmluZykge1xuICBpZiAod2luZG93LmNvbnNvbGUpIHtcbiAgICAvLyBJRS4uLlxuICAgIHdpbmRvdy5jb25zb2xlLmxvZygnU3dlZXRBbGVydDogJyArIHN0cmluZyk7XG4gIH1cbn07XG5cbi8qXG4gKiBTZXQgaG92ZXIsIGFjdGl2ZSBhbmQgZm9jdXMtc3RhdGVzIGZvciBidXR0b25zIFxuICogKHNvdXJjZTogaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2phdmFzY3JpcHQtZ2VuZXJhdGUtbGlnaHRlci1kYXJrZXItY29sb3IpXG4gKi9cbnZhciBjb2xvckx1bWluYW5jZSA9IGZ1bmN0aW9uKGhleCwgbHVtKSB7XG4gIC8vIFZhbGlkYXRlIGhleCBzdHJpbmdcbiAgaGV4ID0gU3RyaW5nKGhleCkucmVwbGFjZSgvW14wLTlhLWZdL2dpLCAnJyk7XG4gIGlmIChoZXgubGVuZ3RoIDwgNikge1xuICAgIGhleCA9IGhleFswXSArIGhleFswXSArIGhleFsxXSArIGhleFsxXSArIGhleFsyXSArIGhleFsyXTtcbiAgfVxuICBsdW0gPSBsdW0gfHwgMDtcblxuICAvLyBDb252ZXJ0IHRvIGRlY2ltYWwgYW5kIGNoYW5nZSBsdW1pbm9zaXR5XG4gIHZhciByZ2IgPSAnIyc7XG4gIHZhciBjO1xuICB2YXIgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7XG4gICAgYyA9IHBhcnNlSW50KGhleC5zdWJzdHIoaSAqIDIsIDIpLCAxNik7XG4gICAgYyA9IE1hdGgucm91bmQoTWF0aC5taW4oTWF0aC5tYXgoMCwgYyArIGMgKiBsdW0pLCAyNTUpKS50b1N0cmluZygxNik7XG4gICAgcmdiICs9ICgnMDAnICsgYykuc3Vic3RyKGMubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiByZ2I7XG59O1xuXG5cbmV4cG9ydCB7XG4gIGV4dGVuZCxcbiAgaGV4VG9SZ2IsXG4gIGlzSUU4LFxuICBsb2dTdHIsXG4gIGNvbG9yTHVtaW5hbmNlXG59O1xuIl19 + + + /* + * Use SweetAlert with RequireJS + */ + + if (typeof define === 'function' && define.amd) { + define(function () { + return sweetAlert; + }); + } else if (typeof module !== 'undefined' && module.exports) { + module.exports = sweetAlert; + } + +})(window, document); \ No newline at end of file diff --git a/node_modules/sweetalert/dist/sweetalert.css b/node_modules/sweetalert/dist/sweetalert.css new file mode 100644 index 0000000..76f159d --- /dev/null +++ b/node_modules/sweetalert/dist/sweetalert.css @@ -0,0 +1,932 @@ +body.stop-scrolling { + height: 100%; + overflow: hidden; } + +.sweet-overlay { + background-color: black; + /* IE8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + /* IE8 */ + background-color: rgba(0, 0, 0, 0.4); + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + z-index: 10000; } + +.sweet-alert { + background-color: white; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + width: 478px; + padding: 17px; + border-radius: 5px; + text-align: center; + position: fixed; + left: 50%; + top: 50%; + margin-left: -256px; + margin-top: -200px; + overflow: hidden; + display: none; + z-index: 99999; } + @media all and (max-width: 540px) { + .sweet-alert { + width: auto; + margin-left: 0; + margin-right: 0; + left: 15px; + right: 15px; } } + .sweet-alert h2 { + color: #575757; + font-size: 30px; + text-align: center; + font-weight: 600; + text-transform: none; + position: relative; + margin: 25px 0; + padding: 0; + line-height: 40px; + display: block; } + .sweet-alert p { + color: #797979; + font-size: 16px; + text-align: center; + font-weight: 300; + position: relative; + text-align: inherit; + float: none; + margin: 0; + padding: 0; + line-height: normal; } + .sweet-alert fieldset { + border: none; + position: relative; } + .sweet-alert .sa-error-container { + background-color: #f1f1f1; + margin-left: -17px; + margin-right: -17px; + overflow: hidden; + padding: 0 10px; + max-height: 0; + webkit-transition: padding 0.15s, max-height 0.15s; + transition: padding 0.15s, max-height 0.15s; } + .sweet-alert .sa-error-container.show { + padding: 10px 0; + max-height: 100px; + webkit-transition: padding 0.2s, max-height 0.2s; + transition: padding 0.25s, max-height 0.25s; } + .sweet-alert .sa-error-container .icon { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #ea7d7d; + color: white; + line-height: 24px; + text-align: center; + margin-right: 3px; } + .sweet-alert .sa-error-container p { + display: inline-block; } + .sweet-alert .sa-input-error { + position: absolute; + top: 29px; + right: 26px; + width: 20px; + height: 20px; + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.1s; + transition: all 0.1s; } + .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after { + content: ""; + width: 20px; + height: 6px; + background-color: #f06e57; + border-radius: 3px; + position: absolute; + top: 50%; + margin-top: -4px; + left: 50%; + margin-left: -9px; } + .sweet-alert .sa-input-error::before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-input-error::after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-input-error.show { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); } + .sweet-alert input { + width: 100%; + box-sizing: border-box; + border-radius: 3px; + border: 1px solid #d7d7d7; + height: 43px; + margin-top: 10px; + margin-bottom: 17px; + font-size: 18px; + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06); + padding: 0 12px; + display: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .sweet-alert input:focus { + outline: none; + box-shadow: 0px 0px 3px #c4e6f5; + border: 1px solid #b4dbed; } + .sweet-alert input:focus::-moz-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus:-ms-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus::-webkit-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input::-moz-placeholder { + color: #bdbdbd; } + .sweet-alert input:-ms-input-placeholder { + color: #bdbdbd; } + .sweet-alert input::-webkit-input-placeholder { + color: #bdbdbd; } + .sweet-alert.show-input input { + display: block; } + .sweet-alert .sa-confirm-button-container { + display: inline-block; + position: relative; } + .sweet-alert .la-ball-fall { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27px; + margin-top: 4px; + opacity: 0; + visibility: hidden; } + .sweet-alert button { + background-color: #8CD4F5; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + -webkit-border-radius: 4px; + border-radius: 5px; + padding: 10px 32px; + margin: 26px 5px 0 5px; + cursor: pointer; } + .sweet-alert button:focus { + outline: none; + box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); } + .sweet-alert button:hover { + background-color: #7ecff4; } + .sweet-alert button:active { + background-color: #5dc2f1; } + .sweet-alert button.cancel { + background-color: #C1C1C1; } + .sweet-alert button.cancel:hover { + background-color: #b9b9b9; } + .sweet-alert button.cancel:active { + background-color: #a8a8a8; } + .sweet-alert button.cancel:focus { + box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; } + .sweet-alert button[disabled] { + opacity: .6; + cursor: default; } + .sweet-alert button.confirm[disabled] { + color: transparent; } + .sweet-alert button.confirm[disabled] ~ .la-ball-fall { + opacity: 1; + visibility: visible; + transition-delay: 0s; } + .sweet-alert button::-moz-focus-inner { + border: 0; } + .sweet-alert[data-has-cancel-button=false] button { + box-shadow: none !important; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 40px; } + .sweet-alert .sa-icon { + width: 80px; + height: 80px; + border: 4px solid gray; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + margin: 20px auto; + padding: 0; + position: relative; + box-sizing: content-box; } + .sweet-alert .sa-icon.sa-error { + border-color: #F27474; } + .sweet-alert .sa-icon.sa-error .sa-x-mark { + position: relative; + display: block; } + .sweet-alert .sa-icon.sa-error .sa-line { + position: absolute; + height: 5px; + width: 47px; + background-color: #F27474; + display: block; + top: 37px; + border-radius: 2px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + left: 17px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + right: 16px; } + .sweet-alert .sa-icon.sa-warning { + border-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-body { + position: absolute; + width: 5px; + height: 47px; + left: 50%; + top: 10px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin-left: -2px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-dot { + position: absolute; + width: 7px; + height: 7px; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-left: -3px; + left: 50%; + bottom: 10px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-info { + border-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::before { + content: ""; + position: absolute; + width: 5px; + height: 29px; + left: 50%; + bottom: 17px; + border-radius: 2px; + margin-left: -2px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::after { + content: ""; + position: absolute; + width: 7px; + height: 7px; + border-radius: 50%; + margin-left: -3px; + top: 19px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-success { + border-color: #A5DC86; } + .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after { + content: ''; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + position: absolute; + width: 60px; + height: 120px; + background: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success::before { + -webkit-border-radius: 120px 0 0 120px; + border-radius: 120px 0 0 120px; + top: -7px; + left: -33px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; } + .sweet-alert .sa-icon.sa-success::after { + -webkit-border-radius: 0 120px 120px 0; + border-radius: 0 120px 120px 0; + top: -11px; + left: 30px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 0px 60px; + transform-origin: 0px 60px; } + .sweet-alert .sa-icon.sa-success .sa-placeholder { + width: 80px; + height: 80px; + border: 4px solid rgba(165, 220, 134, 0.2); + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + box-sizing: content-box; + position: absolute; + left: -4px; + top: -4px; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-fix { + width: 5px; + height: 90px; + background-color: white; + position: absolute; + left: 28px; + top: 8px; + z-index: 1; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-success .sa-line { + height: 5px; + background-color: #A5DC86; + display: block; + border-radius: 2px; + position: absolute; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + width: 25px; + left: 14px; + top: 46px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success .sa-line.sa-long { + width: 47px; + right: 8px; + top: 38px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-custom { + background-size: contain; + border-radius: 0; + border: none; + background-position: center center; + background-repeat: no-repeat; } + +/* + * Animations + */ +@-webkit-keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@-webkit-keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@-webkit-keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@-webkit-keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +@keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +.showSweetAlert[data-animation=pop] { + -webkit-animation: showSweetAlert 0.3s; + animation: showSweetAlert 0.3s; } + +.showSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.showSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideFromTop 0.3s; + animation: slideFromTop 0.3s; } + +.showSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideFromBottom 0.3s; + animation: slideFromBottom 0.3s; } + +.hideSweetAlert[data-animation=pop] { + -webkit-animation: hideSweetAlert 0.2s; + animation: hideSweetAlert 0.2s; } + +.hideSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.hideSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideToTop 0.4s; + animation: slideToTop 0.4s; } + +.hideSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideToBottom 0.3s; + animation: slideToBottom 0.3s; } + +@-webkit-keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@-webkit-keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@-webkit-keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +@keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +.animateSuccessTip { + -webkit-animation: animateSuccessTip 0.75s; + animation: animateSuccessTip 0.75s; } + +.animateSuccessLong { + -webkit-animation: animateSuccessLong 0.75s; + animation: animateSuccessLong 0.75s; } + +.sa-icon.sa-success.animate::after { + -webkit-animation: rotatePlaceholder 4.25s ease-in; + animation: rotatePlaceholder 4.25s ease-in; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +.animateErrorIcon { + -webkit-animation: animateErrorIcon 0.5s; + animation: animateErrorIcon 0.5s; } + +@-webkit-keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +@keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +.animateXMark { + -webkit-animation: animateXMark 0.5s; + animation: animateXMark 0.5s; } + +@-webkit-keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +@keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +.pulseWarning { + -webkit-animation: pulseWarning 0.75s infinite alternate; + animation: pulseWarning 0.75s infinite alternate; } + +@-webkit-keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +@keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +.pulseWarningIns { + -webkit-animation: pulseWarningIns 0.75s infinite alternate; + animation: pulseWarningIns 0.75s infinite alternate; } + +@-webkit-keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +@keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +/* Internet Explorer 9 has some special quirks that are fixed here */ +/* The icons are not animated. */ +/* This file is automatically merged into sweet-alert.min.js through Gulp */ +/* Error icon */ +.sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -ms-transform: rotate(-45deg) \9; } + +/* Success icon */ +.sweet-alert .sa-icon.sa-success { + border-color: transparent\9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-long { + -ms-transform: rotate(-45deg) \9; } + +/*! + * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; } + +.la-ball-fall.la-dark { + color: #333; } + +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; } + +.la-ball-fall { + width: 54px; + height: 18px; } + +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; } + +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; } + +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; } + +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; } + +.la-ball-fall.la-sm { + width: 26px; + height: 8px; } + +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; } + +.la-ball-fall.la-2x { + width: 108px; + height: 36px; } + +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; } + +.la-ball-fall.la-3x { + width: 162px; + height: 54px; } + +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; } + +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); } } + +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); } } + +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); } } + +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); } } diff --git a/node_modules/sweetalert/dist/sweetalert.min.js b/node_modules/sweetalert/dist/sweetalert.min.js new file mode 100644 index 0000000..5c997b4 --- /dev/null +++ b/node_modules/sweetalert/dist/sweetalert.min.js @@ -0,0 +1 @@ +!function(e,t,n){"use strict";!function o(e,t,n){function a(s,l){if(!t[s]){if(!e[s]){var i="function"==typeof require&&require;if(!l&&i)return i(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=t[s]={exports:{}};e[s][0].call(c.exports,function(t){var n=e[s][1][t];return a(n?n:t)},c,c.exports,o,e,t,n)}return t[s].exports}for(var r="function"==typeof require&&require,s=0;s=0;)n=n.replace(" "+t+" "," ");e.className=n.replace(/^\s+|\s+$/g,"")}},i=function(e){var n=t.createElement("div");return n.appendChild(t.createTextNode(e)),n.innerHTML},u=function(e){e.style.opacity="",e.style.display="block"},c=function(e){if(e&&!e.length)return u(e);for(var t=0;t0?setTimeout(o,t):e.style.display="none"});o()},h=function(n){if("function"==typeof MouseEvent){var o=new MouseEvent("click",{view:e,bubbles:!1,cancelable:!0});n.dispatchEvent(o)}else if(t.createEvent){var a=t.createEvent("MouseEvents");a.initEvent("click",!1,!1),n.dispatchEvent(a)}else t.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick()},b=function(t){"function"==typeof t.stopPropagation?(t.stopPropagation(),t.preventDefault()):e.event&&e.event.hasOwnProperty("cancelBubble")&&(e.event.cancelBubble=!0)};a.hasClass=r,a.addClass=s,a.removeClass=l,a.escapeHtml=i,a._show=u,a.show=c,a._hide=d,a.hide=f,a.isDescendant=p,a.getTopMargin=m,a.fadeIn=v,a.fadeOut=y,a.fireClick=h,a.stopEventPropagation=b},{}],5:[function(t,o,a){Object.defineProperty(a,"__esModule",{value:!0});var r=t("./handle-dom"),s=t("./handle-swal-dom"),l=function(t,o,a){var l=t||e.event,i=l.keyCode||l.which,u=a.querySelector("button.confirm"),c=a.querySelector("button.cancel"),d=a.querySelectorAll("button[tabindex]");if(-1!==[9,13,32,27].indexOf(i)){for(var f=l.target||l.srcElement,p=-1,m=0;m"),i.innerHTML=e.html?e.text:s.escapeHtml(e.text||"").split("\n").join("
"),e.text&&s.show(i),e.customClass)s.addClass(t,e.customClass),t.setAttribute("data-custom-class",e.customClass);else{var d=t.getAttribute("data-custom-class");s.removeClass(t,d),t.setAttribute("data-custom-class","")}if(s.hide(t.querySelectorAll(".sa-icon")),e.type&&!a.isIE8()){var f=function(){for(var o=!1,a=0;ao;o++)n=parseInt(e.substr(2*o,2),16),n=Math.round(Math.min(Math.max(0,n+n*t),255)).toString(16),a+=("00"+n).substr(n.length);return a};o.extend=a,o.hexToRgb=r,o.isIE8=s,o.logStr=l,o.colorLuminance=i},{}]},{},[1]),"function"==typeof define&&define.amd?define(function(){return sweetAlert}):"undefined"!=typeof module&&module.exports&&(module.exports=sweetAlert)}(window,document); \ No newline at end of file diff --git a/node_modules/sweetalert/example/example.css b/node_modules/sweetalert/example/example.css new file mode 100644 index 0000000..c9bbe7a --- /dev/null +++ b/node_modules/sweetalert/example/example.css @@ -0,0 +1,442 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300); +@import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700); +body { + background-color: #f2f4f6; + font-family: 'Open Sans', sans-serif; + text-align: center; } + +h1 { + background-image: url("images/logo_big.png"); + background-image: -webkit-image-set(url("images/logo_big.png") 1x, url("images/logo_big@2x.png") 2x); + width: 385px; + height: 81px; + text-indent: -9999px; + white-space: nowrap; + margin: 50px auto; } + @media all and (max-width: 420px) { + h1 { + width: 300px; + background-size: contain; + background-repeat: no-repeat; + background-position: center; } } + @media all and (max-width: 330px) { + h1 { + width: 250px; } } + +h2 { + font-size: 20px; + color: #A9B2BC; + line-height: 25px; + text-transform: uppercase; + font-weight: 300; + text-align: center; + display: block; } + +h3 { + font-size: 28px; + color: #C7CCD1; + text-transform: uppercase; + font-family: 'Open Sans Condensed', sans-serif; + margin-top: 100px; + text-align: center; + position: relative; } + h3#download-section { + margin-top: 50px; + padding-top: 40px; } + h3::after { + content: ""; + background-color: #e2e5e8; + height: 4px; + width: 700px; + left: 50%; + margin-left: -350px; + position: absolute; + margin-top: -50px; + border-radius: 2px; } + @media all and (max-width: 740px) { + h3::after { + width: auto; + left: 20px; + right: 20px; + margin-left: 0; } } + +a { + text-decoration: none; } + +p { + max-width: 826px; + margin: 30px auto; + font-size: 17px; + font-weight: 300; + color: #848D94; + line-height: 25px; + text-align: left; } + p.center { + text-align: center; } + p strong { + color: #8A8F94; + font-weight: 600; } + p a { + color: #9ECADF; + font-weight: 600; } + p a:hover { + text-decoration: underline; } + p a.twitter { + color: #5eaade; } + p a.dribbble { + color: #f26798; } + p a.github { + color: #323131; } + +button, .button { + background-color: #AEDEF4; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + font-weight: 600; + border-radius: 3px; + padding: 15px 35px; + margin: 26px 5px 0 5px; + cursor: pointer; } + button:focus, .button:focus { + outline: none; } + button:hover, .button:hover { + background-color: #a1d9f2; } + button:active, .button:active { + background-color: #81ccee; } + button.cancel, .button.cancel { + background-color: #D0D0D0; } + button.cancel:hover, .button.cancel:hover { + background-color: #c8c8c8; } + button.cancel:active, .button.cancel:active { + background-color: #b6b6b6; } + button.download, .button.download { + position: fixed; + right: 30px; + top: 0; + background-color: rgba(255, 255, 255, 0.9); + color: #ABCADA; + font-weight: 500; + text-transform: uppercase; + z-index: 3; } + @media all and (max-width: 1278px) { + button.download, .button.download { + display: none; } } + +.center-container { + max-width: 700px; + margin: 70px auto; } + +pre { + background-color: #49483e; + color: #f8f8f2; + padding: 10px; + border-radius: 5px; + white-space: pre-line; + text-align: left; + font-size: 14px; + max-width: 600px; } + pre .str { + color: #e6db74; } + pre .func { + color: #66d9ef; } + pre .val { + color: #a381ff; } + pre .tag { + color: #e92772; } + pre .attr { + color: #a6e22d; } + pre .arg { + color: #fd9720; } + +.showcase { + background-color: #eceef0; + padding: 20px; + display: inline-block; + width: 383px; + vertical-align: top; + position: relative; } + @media all and (max-width: 865px) { + .showcase { + margin: 5px auto; + padding: 46px 20px; } } + @media all and (max-width: 440px) { + .showcase { + width: auto; } } + .showcase h4 { + font-size: 16px; + color: #BCBCBC; + line-height: 22px; + margin: 0 auto; + font-weight: 400; } + .showcase.sweet h4 { + width: 117px; + height: 25px; + margin-top: -3px; + text-indent: -9999px; + background-image: url("images/logo_small.png"); + background-image: -webkit-image-set(url("images/logo_small.png") 1x, url("images/logo_small@2x.png") 2x); } + .showcase h5 { + margin-bottom: -7px; + text-align: left; + font-weight: 500; + text-transform: uppercase; + color: #c2c2c2; } + .showcase button { + margin-bottom: 10px; } + .showcase .vs-icon { + background-image: url("images/vs_icon.png"); + background-image: -webkit-image-set(url("images/vs_icon.png") 1x, url("images/vs_icon@2x.png") 2x); + width: 69px; + height: 69px; + position: absolute; + right: -34px; + top: 60px; + z-index: 2; } + @media all and (max-width: 865px) { + .showcase .vs-icon { + margin: 5px auto; + right: auto; + left: 50%; + margin-left: -35px; + top: auto; + bottom: -35px; } } + +ul.examples { + list-style-type: none; + width: 700px; + margin: 0 auto; + text-align: left; + padding-left: 0; } + @media all and (max-width: 758px) { + ul.examples { + width: auto; } } + ul.examples li { + padding-left: 0; } + ul.examples .ui, ul.examples pre { + display: inline-block; + vertical-align: top; } + @media all and (max-width: 758px) { + ul.examples .ui, ul.examples pre { + display: block; + max-width: none; + margin: 0 auto; } } + ul.examples .ui { + width: 300px; + text-align: center; } + ul.examples .ui button { + margin-top: 12px; } + ul.examples .ui p { + text-align: center; + margin-bottom: 0; } + ul.examples pre { + max-width: 370px; + margin-top: 67px; } + @media all and (max-width: 758px) { + ul.examples pre { + margin-top: 16px !important; + margin-bottom: 60px; } } + ul.examples .warning pre { + margin-top: 93px; } + +ol { + max-width: 700px; + margin: 70px auto; + list-style-position: inside; + padding-left: 0; } + ol li { + color: #A7ADB2; } + ol li p { + margin-bottom: 10px; } + +table { + width: 700px; + font-size: 14px; + color: #8a8f94; + margin: 10px auto; + text-align: left; + border-collapse: collapse; } + @media all and (max-width: 750px) { + table { + width: auto; + margin: 10px 20px; } } + table th { + background-color: white; + padding: 9px; + color: #acb9be; + font-weight: 400; + text-align: center; + position: relative; } + table th .border-left, table th .border-right { + position: absolute; + background-color: white; + border-radius: 50%; + top: 0; + left: -17px; + width: 37px; + height: 37px; } + table th .border-right { + left: auto; + right: -17px; } + @media all and (max-width: 750px) { + table th:nth-child(2) { + display: none; } } + table td { + padding: 10px 20px; + vertical-align: top; } + table td:first-child { + padding-left: 0px; } + table td:last-child { + padding-right: 0px; } + @media all and (max-width: 750px) { + table td:nth-child(2) { + display: none; } } + @media all and (max-width: 360px) { + table td { + padding: 10px 4px; } + table td b { + font-size: 13px; } } + +footer { + margin-top: 100px; + padding-bottom: 30px; + color: #9A999F; + display: inline-block; + position: relative; + color: gray; + font-weight: 400; + color: #93a1aa; + font-weight: 300; } + footer .te-logo { + text-indent: -99999px; + background-size: contain; + background-repeat: no-repeat; + background-position: center center; + height: 16px; + width: 16px; + display: inline-block; + margin-right: 5px; + background-image: url("images/te-logo-small.svg"); + position: absolute; + left: -22px; + top: 3px; } + +.sweet-alert.twitter { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 15px; + padding-top: 55px; + text-align: right; + border-radius: 6px; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.11), 0px 6px 30px rgba(0, 0, 0, 0.14); } + .sweet-alert.twitter ~ .sweet-overlay { + background: rgba(41, 47, 51, 0.9); } + .sweet-alert.twitter h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 40px; + line-height: 40px; + font-size: 16px; + font-weight: 400; + color: #8899a6; + margin: 0; + color: #66757f; + border-bottom: 1px solid #e1e8ed; } + .sweet-alert.twitter p { + display: block; + text-align: center; + color: #66757f; + font-weight: 400; + font-size: 13px; + margin-top: 7px; } + .sweet-alert.twitter .sa-button-container { + background-color: #f5f8fa; + border-top: 1px solid #e1e8ed; + box-shadow: 0px -1px 0px white; + margin: -15px; + margin-top: 0; } + .sweet-alert.twitter[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; } + .sweet-alert.twitter[data-has-confirm-button=false][data-has-cancel-button=false] .sa-button-container { + display: none; } + .sweet-alert.twitter button { + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3); + margin: 17px 0px; + border-radius: 4px; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; } + .sweet-alert.twitter button:focus, .sweet-alert.twitter button.cancel:focus { + box-shadow: none !important; } + .sweet-alert.twitter button:focus::before, .sweet-alert.twitter button.cancel:focus::before { + content: ""; + position: absolute; + left: -5px; + top: -5px; + right: -5px; + bottom: -5px; + border: 2px solid #a5b0b4; + border-radius: 8px; } + .sweet-alert.twitter button.confirm { + background-color: #55acee !important; + background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#0C000000)"; + border: 1px solid #3b88c3; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15); + margin-right: 15px; } + .sweet-alert.twitter button.confirm:hover { + background-color: #55acee; + background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.15)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#26000000)"; + border-color: #3b88c3; } + .sweet-alert.twitter button.cancel { + color: #66757e; + background-color: #f5f8fa; + background-image: linear-gradient(#fff, #f5f8fa); + text-shadow: 0px -1px 0px white; + margin-right: 9px; + border: 1px solid #e1e8ed; } + .sweet-alert.twitter button.cancel:hover, .sweet-alert.twitter button.cancel:focus:hover { + background-color: #e1e8ed; + background-image: linear-gradient(#fff, #e1e8ed); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; + border-color: #e1e8ed; } + .sweet-alert.twitter button.cancel:focus { + background: #fff; + border-color: #fff; } + .sweet-alert.twitter .sa-icon { + transform: scale(0.72); + margin-bottom: -2px; + margin-top: -10px; } + .sweet-alert.twitter input { + border: 1px solid #e1e8ed; + border-radius: 3px; + padding: 10px 7px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; } + .sweet-alert.twitter input:focus { + border-color: #94A1A6; + box-shadow: inset 0 0 0 1px rgba(77, 99, 107, 0.7); } + .sweet-alert.twitter fieldset .sa-input-error { + display: none; } + .sweet-alert.twitter .sa-error-container { + text-align: center; + border: none; + background-color: #fbedc0; + margin-bottom: 6px; } + .sweet-alert.twitter .sa-error-container.show { + border: 1px solid #f0e1b9; } + .sweet-alert.twitter .sa-error-container .icon { + display: none; } + .sweet-alert.twitter .sa-error-container p { + color: #292f33; + font-weight: 600; + margin-top: 0; } diff --git a/node_modules/sweetalert/example/example.scss b/node_modules/sweetalert/example/example.scss new file mode 100644 index 0000000..b915a10 --- /dev/null +++ b/node_modules/sweetalert/example/example.scss @@ -0,0 +1,580 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,700,300); // Open Sans font +@import url(http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700); // Condensed + +@mixin retina-background($url, $type:png) { + background-image: url("#{$url}.#{$type}"); + background-image: -webkit-image-set(url("#{$url}.#{$type}") 1x, + url("#{$url}@2x.#{$type}") 2x); +} + +body { + background-color: #f2f4f6; + font-family: 'Open Sans', sans-serif; + text-align: center; +} + +h1 { + @include retina-background("images/logo_big"); + width: 385px; + height: 81px; + text-indent: -9999px; + white-space: nowrap; + margin: 50px auto; + @media all and (max-width: 420px) { + width: 300px; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + } + @media all and (max-width: 330px) { + width: 250px; + } +} +h2 { + font-size: 20px; + color: #A9B2BC; + line-height: 25px; + text-transform: uppercase; + font-weight: 300; + text-align: center; + display: block; +} +h3 { + font-size: 28px; + color: #C7CCD1; + text-transform: uppercase; + font-family: 'Open Sans Condensed', sans-serif; + margin-top: 100px; + text-align: center; + position: relative; + &#download-section { + margin-top: 50px; + padding-top: 40px; + } + &::after { + content: ""; + background-color: #e2e5e8; + height: 4px; + width: 700px; + left: 50%; + margin-left: -350px; + position: absolute; + margin-top: -50px; + border-radius: 2px; + + @media all and (max-width: 740px) { + width: auto; + left: 20px; + right: 20px; + margin-left: 0; + } + } +} + +a { + text-decoration: none; +} + +p { + max-width: 826px; + margin: 30px auto; + font-size: 17px; + font-weight: 300; + color: #848D94; + line-height: 25px; + text-align: left; + &.center { + text-align: center; + } + + strong { + color: #8A8F94; + font-weight: 600; + } + a { + color: #9ECADF; + font-weight: 600; + &:hover { + text-decoration: underline; + } + &.twitter { + color: #5eaade; + } + &.dribbble { + color: #f26798; + } + &.github { + color: #323131; + } + } +} + +button, .button { + $btnBlue: #AEDEF4; + $btnGray: #D0D0D0; + + background-color: $btnBlue; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + font-weight: 600; + border-radius: 3px; + padding: 15px 35px; + margin: 26px 5px 0 5px; + cursor: pointer; + &:focus { + outline: none; + } + &:hover { + background-color: darken($btnBlue, 3%); + } + &:active { + background-color: darken($btnBlue, 10%); + } + &.cancel { + background-color: $btnGray; + &:hover { + background-color: darken($btnGray, 3%); + } + &:active { + background-color: darken($btnGray, 10%); + } + } + &.download { + position: fixed; + right: 30px; + top: 0; + background-color: rgba(white, 0.9); + color: #ABCADA; + font-weight: 500; + text-transform: uppercase; + z-index: 3; + + @media all and (max-width: 1278px) { + display: none; + } + } +} + +.center-container { + max-width: 700px; + margin: 70px auto; +} + +pre { + background-color: #49483e; + color: #f8f8f2; + padding: 10px; + border-radius: 5px; + white-space: pre-line; + text-align: left; + font-size: 14px; + max-width: 600px; + + .str { + color: #e6db74; + } + .func { + color: #66d9ef; + } + .val { + color: #a381ff; + } + .tag { + color: #e92772; + } + .attr { + color: #a6e22d; + } + .arg { + color: #fd9720; + } +} + +.showcase { + background-color: #eceef0; + padding: 20px; + display: inline-block; + width: 383px; + vertical-align: top; + position: relative; + + @media all and (max-width: 865px) { + margin: 5px auto; + padding: 46px 20px; + } + @media all and (max-width: 440px) { + width: auto; + } + + h4 { + font-size: 16px; + color: #BCBCBC; + line-height: 22px; + margin: 0 auto; + font-weight: 400; + } + &.sweet h4 { + width: 117px; + height: 25px; + margin-top: -3px; + text-indent: -9999px; + @include retina-background("images/logo_small"); + } + h5 { + margin-bottom: -7px; + text-align: left; + font-weight: 500; + text-transform: uppercase; + color: rgb(194, 194, 194); + } + + button { + margin-bottom: 10px; + } + + .vs-icon { + @include retina-background("images/vs_icon"); + width: 69px; + height: 69px; + position: absolute; + right: -34px; + top: 60px; + z-index: 2; + + @media all and (max-width: 865px) { + margin: 5px auto; + right: auto; + left: 50%; + margin-left: -35px; + top: auto; + bottom: -35px; + } + } +} + + +ul.examples { + list-style-type: none; + width: 700px; + margin: 0 auto; + text-align: left; + padding-left: 0; + @media all and (max-width: 758px) { + width: auto; + } + + li { + padding-left: 0; + } + + .ui, pre { + display: inline-block; + vertical-align: top; + + @media all and (max-width: 758px) { + display: block; + max-width: none; + margin: 0 auto; + } + } + .ui { + width: 300px; + text-align: center; + + button { + margin-top: 12px; + } + + p { + text-align: center; + margin-bottom: 0; + } + } + + pre { + max-width: 370px; + margin-top: 67px; + + @media all and (max-width: 758px) { + margin-top: 16px !important; + margin-bottom: 60px; + } + } + .warning pre { + margin-top: 93px; + } +} + + +ol { + max-width: 700px; + margin: 70px auto; + list-style-position: inside; + padding-left: 0; + + li { + color: #A7ADB2; + + p { + margin-bottom: 10px; + } + } +} + + +table { + width: 700px; + font-size: 14px; + color: #8a8f94; + margin: 10px auto; + text-align: left; + border-collapse: collapse; + @media all and (max-width: 750px) { + width: auto; + margin: 10px 20px; + } + + th { + background-color: white; + padding: 9px; + color: rgb(172, 185, 190); + font-weight: 400; + text-align: center; + position: relative; + .border-left, .border-right { + position: absolute; + background-color: white; + border-radius: 50%; + top: 0; + left: -17px; + width: 37px; + height: 37px; + } + .border-right { + left: auto; + right: -17px; + } + @media all and (max-width: 750px) { + &:nth-child(2) { + display: none; + } + } + } + + td { + padding: 10px 20px; + vertical-align: top; + &:first-child { + padding-left: 0px; + } + &:last-child { + padding-right: 0px; + } + @media all and (max-width: 750px) { + &:nth-child(2) { + display: none; + } + } + @media all and (max-width: 360px) { + padding: 10px 4px; + b { + font-size: 13px; + } + } + } +} + +footer { + margin-top: 100px; + padding-bottom: 30px; + color: #9A999F; + display: inline-block; + position: relative; + color: gray; + font-weight: 400; + color: rgb(147, 161, 170); + font-weight: 300; + + .te-logo { + text-indent: -99999px; + background-size: contain; + background-repeat: no-repeat; + background-position: center center; + height: 16px; + width: 16px; + display: inline-block; + margin-right: 5px; + background-image: url("images/te-logo-small.svg"); + position: absolute; + left: -22px; + top: 3px; + } +} + + +// Theme example (Twitter) +// Twitter Theme for SweetAlert +// By Tristan Edwards + +.sweet-alert.twitter { + $header-height: 40px; + $footer-height: 66px; + $text-color: #66757f; + $padding: 15px; + + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: $padding; + padding-top: $header-height + $padding; + text-align: right; // Align buttons + border-radius: 6px; + box-shadow: 0px 0px 0px 1px rgba(black, 0.11), 0px 6px 30px rgba(black, 0.14); + + ~ .sweet-overlay { + background: rgba(41,47,51,0.9); + } + + h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: $header-height; + line-height: $header-height; + font-size: 16px; + font-weight: 400; + color: #8899a6; + margin: 0; + color: $text-color; + border-bottom: 1px solid #e1e8ed; + } + + p { + display: block; + text-align: center; + color: #66757f; + font-weight: 400; + font-size: 13px; + margin-top: 7px; + } + + .sa-button-container { + background-color: #f5f8fa; + border-top: 1px solid #e1e8ed; + box-shadow: 0px -1px 0px white; + margin: -$padding; + margin-top: 0; + } + &[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; + .sa-button-container { + display: none; + } + } + + button { + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(black, 0.3); + margin: 17px 0px; + border-radius: 4px; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; + &:focus, &.cancel:focus { + box-shadow: none !important; + &::before { + content: ""; + position: absolute; + left: -5px; + top: -5px; + right: -5px; + bottom: -5px; + border: 2px solid #a5b0b4; + border-radius: 8px; + } + } + + &.confirm { + background-color: #55acee !important; + background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.05)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#0C000000)"; + border: 1px solid #3b88c3; + box-shadow: inset 0 1px 0 rgba(255,255,255,0.15); + margin-right: $padding; + &:hover { + background-color: #55acee; + background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.15)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#26000000)"; + border-color: #3b88c3; + } + } + &.cancel { + color: #66757e; + background-color: #f5f8fa; + background-image: linear-gradient(#fff,#f5f8fa); + text-shadow: 0px -1px 0px white; + margin-right: 9px; + border: 1px solid #e1e8ed; + &:hover, &:focus:hover { + background-color: #e1e8ed; + background-image: linear-gradient(#fff,#e1e8ed); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; + border-color: #e1e8ed; + } + &:focus { + background: #fff; + border-color: #fff; + } + } + } + + .sa-icon { + transform: scale(0.72); + margin-bottom: -2px; + margin-top: -10px; + } + + input { + border: 1px solid #e1e8ed; + border-radius: 3px; + padding: 10px 7px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; + &:focus { + border-color: #94A1A6; + box-shadow: inset 0 0 0 1px rgba(77, 99, 107, 0.7); + } + } + + fieldset .sa-input-error { + display: none; + } + + .sa-error-container { + text-align: center; + border: none; + background-color: #fbedc0; + margin-bottom: 6px; + &.show { + border: 1px solid #f0e1b9; + } + + .icon { + display: none; + } + p { + color: #292f33; + font-weight: 600; + margin-top: 0; + } + } +} + + + diff --git a/node_modules/sweetalert/example/images/logo_big.png b/node_modules/sweetalert/example/images/logo_big.png new file mode 100644 index 0000000000000000000000000000000000000000..115df19f2a7a1479e464cd5722f563af39b2413b GIT binary patch literal 17162 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 Rvo8Pu002ovPDHLkV1kY*4sieg literal 0 HcmV?d00001 diff --git a/node_modules/sweetalert/example/images/logo_big@2x.png b/node_modules/sweetalert/example/images/logo_big@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e9b8ff32c1ce344079ef8907207b32069d6770 GIT binary patch literal 37467 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 literal 0 HcmV?d00001 diff --git a/node_modules/sweetalert/example/images/logo_small.png b/node_modules/sweetalert/example/images/logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..710365fdf5269408da0a2e7b988df3f2f058f06a GIT binary patch literal 4459 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 z

S<7X3Tpq?fz-)Qd>PHQfpAq&xZ2!BEF7YTnc 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 literal 0 HcmV?d00001 diff --git a/node_modules/sweetalert/example/images/te-logo-small.svg b/node_modules/sweetalert/example/images/te-logo-small.svg new file mode 100644 index 0000000..88c8b6b --- /dev/null +++ b/node_modules/sweetalert/example/images/te-logo-small.svg @@ -0,0 +1,12 @@ + + + + te-logo-small + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/node_modules/sweetalert/example/images/thumbs-up.jpg b/node_modules/sweetalert/example/images/thumbs-up.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e7c7474f0ce33c927eddc9f50ecbbf00464c526 GIT binary patch literal 30052 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 literal 0 HcmV?d00001 diff --git a/node_modules/sweetalert/gulpfile.js b/node_modules/sweetalert/gulpfile.js new file mode 100644 index 0000000..31f8c0a --- /dev/null +++ b/node_modules/sweetalert/gulpfile.js @@ -0,0 +1,108 @@ +var gulp = require('gulp'); + +var glob = require('glob'); +var path = require('path'); +var jshint = require('gulp-jshint'); +var sass = require('gulp-sass'); +var concat = require('gulp-concat'); +var uglify = require('gulp-uglify'); +var rename = require('gulp-rename'); +var minifyCSS = require('gulp-minify-css'); +var babelify = require('babelify'); +var browserify = require('browserify'); +var source = require('vinyl-source-stream'); +var buffer = require('vinyl-buffer'); +var wrap = require('gulp-wrap'); +var qunit = require('gulp-qunit'); +var babel = require('gulp-babel'); + +// Lint Task +gulp.task('lint', function() { + gulp.src('dev/sweetalert.es6.js') + .pipe(jshint()) + .pipe(jshint.reporter('default')); + + return gulp.src('dev/*/*.js') + .pipe(jshint()) + .pipe(jshint.reporter('default')); +}); + +// Compile Our Sass +gulp.task('sass', function() { + + gulp.src('example/example.scss') + .pipe(sass()) + .pipe(rename('example.css')) + .pipe(gulp.dest('example')); + + // (We don't use minifyCSS since it breaks the ie9 file for some reason) + gulp.src(['dev/sweetalert.scss', 'dev/ie9.css', 'dev/loader-animation.css']) + .pipe(sass()) + .pipe(concat('sweetalert.css')) + .pipe(gulp.dest('dist')); +}); + + +// Compile theme CSS +var themes = glob.sync('themes/*').map(function(themeDir) { + return path.basename(themeDir); +}); + +themes.forEach(function(name) { + gulp.task(name + '-theme', function() { + return gulp.src('themes/' + name + '/' + name + '.scss') + .pipe(sass()) // etc + .pipe(rename(name + '.css')) + .pipe(gulp.dest('themes/' + name)) + }); +}); + +gulp.task('themes', themes.map(function(name){ return name + '-theme'; })); + +// Compile ES5 CommonJS entry point +gulp.task('commonjs', function() { + gulp.src('./dev/sweetalert.es6.js') + .pipe(babel()) + .pipe(rename('sweetalert.js')) + .pipe(gulp.dest('lib')); + gulp.src('./dev/modules/*.js') + .pipe(babel()) + .pipe(gulp.dest('lib/modules')); +}); + +// Concatenate & Minify JS +gulp.task('scripts', function() { + return browserify({ + entries: './dev/sweetalert.es6.js', + debug: true + }) + .transform(babelify) + .bundle() + .pipe(source('sweetalert-dev.js')) + .pipe(wrap({ + src: './dev/gulpfile-wrap-template.js' + })) + .pipe(gulp.dest('dist')) // Developer version + + .pipe(rename('sweetalert.min.js')) + .pipe(buffer()) + .pipe(uglify()) + .pipe(gulp.dest('dist')); // User version +}); + +gulp.task('test', function() { + return gulp.src('./test/index.html') + .pipe(qunit({ + timeout: 20 + })); +}); + +// Watch Files For Changes +gulp.task('watch', function() { + gulp.watch(['dev/*.js', 'dev/*/*.js'], ['lint', 'scripts']); + gulp.watch(['dev/*.scss', 'dev/*.css'], ['sass']); + gulp.watch('themes/*/*.scss', ['themes']); +}); + +// Default Task +gulp.task('default', ['lint', 'sass', 'scripts', 'commonjs', 'watch', 'test']); diff --git a/node_modules/sweetalert/index.html b/node_modules/sweetalert/index.html new file mode 100644 index 0000000..5f2b6ff --- /dev/null +++ b/node_modules/sweetalert/index.html @@ -0,0 +1,584 @@ + + + + + + + + SweetAlert + + + + + + + + + + + + + +

Sweet Alert

+

A beautiful replacement for JavaScript's "Alert"

+ + + +

So... What does it do?

+

Here’s a comparison of a standard error message. The first one uses the built-in alert-function, while the second is using sweetAlert.

+ +
+

Normal alert

+ + +
Code:
+
alert("Oops... Something went wrong!");
+
+	
+ +
+
+ +
+

Sweet Alert

+ + +
Code:
+
sweetAlert("Oops...", "Something went wrong!", "error");
+
+ +

Pretty cool huh? SweetAlert automatically centers itself on the page and looks great no matter if you're using a desktop computer, mobile or tablet. It's even highly customizeable, as you can see below!

+ + + +

More examples

+ +

In these examples, we're using the shorthand function swal to call sweetAlert.

+ +
    + +
  • +
    +

    A basic message

    + +
    +
    swal("Here's a message!")
    +
  • + +
  • +
    +

    A title with a text under

    + +
    +
    swal("Here's a message!", "It's pretty, isn't it?")
    +
  • + +
  • +
    +

    A success message!

    + +
    +
    swal("Good job!", "You clicked the button!", "success")
    +
  • + +
  • +
    +

    A warning message, with a function attached to the "Confirm"-button...

    + +
    +
    swal({
    +  title: "Are you sure?",
    +  text: "You will not be able to recover this imaginary file!",
    +  type: "warning",
    +  showCancelButton: true,
    +  confirmButtonColor: "#DD6B55",
    +  confirmButtonText: "Yes, delete it!",
    +  closeOnConfirm: false
    +},
    +function(){
    +  swal("Deleted!", "Your imaginary file has been deleted.", "success");
    +});
    +
  • + +
  • +
    +

    ... and by passing a parameter, you can execute something else for "Cancel".

    + +
    +
    swal({
    +  title: "Are you sure?",
    +  text: "You will not be able to recover this imaginary file!",
    +  type: "warning",
    +  showCancelButton: true,
    +  confirmButtonColor: "#DD6B55",
    +  confirmButtonText: "Yes, delete it!",
    +  cancelButtonText: "No, cancel plx!",
    +  closeOnConfirm: false,
    +  closeOnCancel: false
    +},
    +function(isConfirm){
    +  if (isConfirm) {
    +    swal("Deleted!", "Your imaginary file has been deleted.", "success");
    +  } else {
    +	    swal("Cancelled", "Your imaginary file is safe :)", "error");
    +  }
    +});
    +
  • + +
  • +
    +

    A message with a custom icon

    + +
    +
    swal({
    +  title: "Sweet!",
    +  text: "Here's a custom image.",
    +  imageUrl: "images/thumbs-up.jpg"
    +});
    +
  • + +
  • +
    +

    An HTML message

    + +
    +
    swal({
    +  title: "HTML <small>Title</small>!",
    +  text: "A custom <span style="color:#F8BB86">html<span> message.",
    +  html: true
    +});
    +
  • + +
  • +
    +

    A message with auto close timer

    + +
    +
    swal({
    +  title: "Auto close alert!",
    +  text: "I will close in 2 seconds.",
    +  timer: 2000,
    +  showConfirmButton: false
    +});
    +
  • + + +
  • +
    +

    A replacement for the "prompt" function

    + +
    +
    swal({
    +  title: "An input!",
    +  text: "Write something interesting:",
    +  type: "input",
    +  showCancelButton: true,
    +  closeOnConfirm: false,
    +  animation: "slide-from-top",
    +  inputPlaceholder: "Write something"
    +},
    +function(inputValue){
    +  if (inputValue === false) return false;
    +  
    +  if (inputValue === "") {
    +    swal.showInputError("You need to write something!");
    +    return false
    +  }
    +  
    +  swal("Nice!", "You wrote: " + inputValue, "success");
    +});
    +
  • + +
  • +
    +

    With a loader (for AJAX request for example)

    + +
    +
    swal({
    +  title: "Ajax request example",
    +  text: "Submit to run ajax request",
    +  type: "info",
    +  showCancelButton: true,
    +  closeOnConfirm: false,
    +  showLoaderOnConfirm: true,
    +},
    +function(){
    +  setTimeout(function(){
    +    swal("Ajax request finished!");
    +  }, 2000);
    +});
    +
  • + +
  • +
    +

    You can also change the theme of SweetAlert!

    + +
    +
    <link rel="stylesheet" type="text/css" href="dist/sweetalert.css">
    +			<link rel="stylesheet" type="text/css" href="themes/twitter.css">
    +
  • + +
+ + + +

Download & install

+ +
+

Method 1: Install through bower:

+
$ bower install sweetalert
+
+ +
+

Method 2: Install through NPM:

+
$ npm install sweetalert
+
+ +

Method 3: Download the sweetAlert CSS and JavaScript files.

+ +Download files + +
    +
  1. +

    Initialize the plugin by referencing the necessary files:

    +
    <script src="dist/sweetalert.min.js"></script>
    +<link rel="stylesheet" type="text/css" href="dist/sweetalert.css">
    +
  2. + +
  3. +

    Call the sweetAlert-function after the page has loaded

    +
    swal({
    +  title: "Error!",
    +  text: "Here's my error message!",
    +  type: "error",
    +  confirmButtonText: "Cool"
    +});
    +
    +
  4. +
+ + + + +

Configuration

+ +

Here are the keys that you can use if you pass an object into sweetAlert:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Argument +
Default value +
+ Description +
titlenull (required)The title of the modal. It can either be added to the object under the key "title" or passed as the first parameter of the function.
textnullA description for the modal. It can either be added to the object under the key "text" or passed as the second parameter of the function.
typenullThe type of the modal. SweetAlert comes with 4 built-in types which will show a corresponding icon animation: "warning", "error", "success" and "info". You can also set it as "input" to get a prompt modal. It can either be put in the object under the key "type" or passed as the third parameter of the function.
allowEscapeKeytrueIf set to true, the user can dismiss the modal by pressing the Escape key.
customClassnullA custom CSS class for the modal. It can be added to the object under the key "customClass".
allowOutsideClickfalseIf set to true, the user can dismiss the modal by clicking outside it.
showCancelButtonfalseIf set to true, a "Cancel"-button will be shown, which the user can click on to dismiss the modal.
showConfirmButtontrueIf set to false, the "OK/Confirm"-button will be hidden. Make sure you set a timer or set allowOutsideClick to true when using this, in order not to annoy the user.
confirmButtonText"OK"Use this to change the text on the "Confirm"-button. If showCancelButton is set as true, the confirm button will automatically show "Confirm" instead of "OK".
confirmButtonColor"#AEDEF4"Use this to change the background color of the "Confirm"-button (must be a HEX value).
cancelButtonText"Cancel"Use this to change the text on the "Cancel"-button.
closeOnConfirmtrueSet to false if you want the modal to stay open even if the user presses the "Confirm"-button. This is especially useful if the function attached to the "Confirm"-button is another SweetAlert.
closeOnCanceltrueSame as closeOnConfirm, but for the cancel button.
imageUrlnullAdd a customized icon for the modal. Should contain a string with the path to the image.
imageSize"80x80"If imageUrl is set, you can specify imageSize to describes how big you want the icon to be in px. Pass in a string with two values separated by an "x". The first value is the width, the second is the height.
timernullAuto close timer of the modal. Set in ms (milliseconds).
htmlfalseIf set to true, will not escape title and text parameters. (Set to false if you're worried about XSS attacks.)
animationtrueIf set to false, the modal's animation will be disabled. Possible (string) values : pop (default when animation set to true), slide-from-top, slide-from-bottom
inputType"text"Change the type of the input field when using type: "input" (this can be useful if you want users to type in their password for example).
inputPlaceholdernullWhen using the input-type, you can specify a placeholder to help the user.
inputValuenullSpecify a default text value that you want your input to show when using type: "input"
showLoaderOnConfirmfalseSet to true to disable the buttons and show that something is loading.
+ + + +

Methods

+ +

SweetAlert also comes with some simple methods that you can call:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ Function +
Example +
+ Description +
setDefaultsswal.setDefaults({ confirmButtonColor: '#0000' });If you end up using a lot of the same settings when calling SweetAlert, you can use setDefaults at the start of your program to set them once and for all!
closeswal.close();Close the currently open SweetAlert programatically.
showInputErrorswal.showInputError("Invalid email!");Show an error message after validating the input field, if the user's data is bad
enableButtons, disableButtonsswal.disableButtons();Disable or enable the user to click on the cancel and confirm buttons.
+ + + + +

Contribute

+

SweetAlert was created by Tristan Edwards, you can follow him on or Dribbble for updates and other cool projects!

+

Feel free to fork SweetAlert on GitHub if you have any features that you want to add!

+ + +
+ • +
+ + + + + + + + + diff --git a/node_modules/sweetalert/lib/modules/default-params.js b/node_modules/sweetalert/lib/modules/default-params.js new file mode 100644 index 0000000..8f07f2e --- /dev/null +++ b/node_modules/sweetalert/lib/modules/default-params.js @@ -0,0 +1,32 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +var defaultParams = { + title: '', + text: '', + type: null, + allowOutsideClick: false, + showConfirmButton: true, + showCancelButton: false, + closeOnConfirm: true, + closeOnCancel: true, + confirmButtonText: 'OK', + confirmButtonColor: '#8CD4F5', + cancelButtonText: 'Cancel', + imageUrl: null, + imageSize: null, + timer: null, + customClass: '', + html: false, + animation: true, + allowEscapeKey: true, + inputType: 'text', + inputPlaceholder: '', + inputValue: '', + showLoaderOnConfirm: false +}; + +exports['default'] = defaultParams; +module.exports = exports['default']; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/handle-click.js b/node_modules/sweetalert/lib/modules/handle-click.js new file mode 100644 index 0000000..67a59b0 --- /dev/null +++ b/node_modules/sweetalert/lib/modules/handle-click.js @@ -0,0 +1,135 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _colorLuminance = require('./utils'); + +var _getModal = require('./handle-swal-dom'); + +var _hasClass$isDescendant = require('./handle-dom'); + +/* + * User clicked on "Confirm"/"OK" or "Cancel" + */ +var handleButton = function handleButton(event, params, modal) { + var e = event || window.event; + var target = e.target || e.srcElement; + + var targetedConfirm = target.className.indexOf('confirm') !== -1; + var targetedOverlay = target.className.indexOf('sweet-overlay') !== -1; + var modalIsVisible = _hasClass$isDescendant.hasClass(modal, 'visible'); + var doneFunctionExists = params.doneFunction && modal.getAttribute('data-has-done-function') === 'true'; + + // Since the user can change the background-color of the confirm button programmatically, + // we must calculate what the color should be on hover/active + var normalColor, hoverColor, activeColor; + if (targetedConfirm && params.confirmButtonColor) { + normalColor = params.confirmButtonColor; + hoverColor = _colorLuminance.colorLuminance(normalColor, -0.04); + activeColor = _colorLuminance.colorLuminance(normalColor, -0.14); + } + + function shouldSetConfirmButtonColor(color) { + if (targetedConfirm && params.confirmButtonColor) { + target.style.backgroundColor = color; + } + } + + switch (e.type) { + case 'mouseover': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'mouseout': + shouldSetConfirmButtonColor(normalColor); + break; + + case 'mousedown': + shouldSetConfirmButtonColor(activeColor); + break; + + case 'mouseup': + shouldSetConfirmButtonColor(hoverColor); + break; + + case 'focus': + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + + if (targetedConfirm) { + $cancelButton.style.boxShadow = 'none'; + } else { + $confirmButton.style.boxShadow = 'none'; + } + break; + + case 'click': + var clickedOnModal = modal === target; + var clickedOnModalChild = _hasClass$isDescendant.isDescendant(modal, target); + + // Ignore click outside if allowOutsideClick is false + if (!clickedOnModal && !clickedOnModalChild && modalIsVisible && !params.allowOutsideClick) { + break; + } + + if (targetedConfirm && doneFunctionExists && modalIsVisible) { + handleConfirm(modal, params); + } else if (doneFunctionExists && modalIsVisible || targetedOverlay) { + handleCancel(modal, params); + } else if (_hasClass$isDescendant.isDescendant(modal, target) && target.tagName === 'BUTTON') { + sweetAlert.close(); + } + break; + } +}; + +/* + * User clicked on "Confirm"/"OK" + */ +var handleConfirm = function handleConfirm(modal, params) { + var callbackValue = true; + + if (_hasClass$isDescendant.hasClass(modal, 'show-input')) { + callbackValue = modal.querySelector('input').value; + + if (!callbackValue) { + callbackValue = ''; + } + } + + params.doneFunction(callbackValue); + + if (params.closeOnConfirm) { + sweetAlert.close(); + } + // Disable cancel and confirm button if the parameter is true + if (params.showLoaderOnConfirm) { + sweetAlert.disableButtons(); + } +}; + +/* + * User clicked on "Cancel" + */ +var handleCancel = function handleCancel(modal, params) { + // Check if callback function expects a parameter (to track cancel actions) + var functionAsStr = String(params.doneFunction).replace(/\s/g, ''); + var functionHandlesCancel = functionAsStr.substring(0, 9) === 'function(' && functionAsStr.substring(9, 10) !== ')'; + + if (functionHandlesCancel) { + params.doneFunction(false); + } + + if (params.closeOnCancel) { + sweetAlert.close(); + } +}; + +exports['default'] = { + handleButton: handleButton, + handleConfirm: handleConfirm, + handleCancel: handleCancel +}; +module.exports = exports['default']; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/handle-dom.js b/node_modules/sweetalert/lib/modules/handle-dom.js new file mode 100644 index 0000000..e8c22a5 --- /dev/null +++ b/node_modules/sweetalert/lib/modules/handle-dom.js @@ -0,0 +1,191 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +var hasClass = function hasClass(elem, className) { + return new RegExp(' ' + className + ' ').test(' ' + elem.className + ' '); +}; + +var addClass = function addClass(elem, className) { + if (!hasClass(elem, className)) { + elem.className += ' ' + className; + } +}; + +var removeClass = function removeClass(elem, className) { + var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' '; + if (hasClass(elem, className)) { + while (newClass.indexOf(' ' + className + ' ') >= 0) { + newClass = newClass.replace(' ' + className + ' ', ' '); + } + elem.className = newClass.replace(/^\s+|\s+$/g, ''); + } +}; + +var escapeHtml = function escapeHtml(str) { + var div = document.createElement('div'); + div.appendChild(document.createTextNode(str)); + return div.innerHTML; +}; + +var _show = function _show(elem) { + elem.style.opacity = ''; + elem.style.display = 'block'; +}; + +var show = function show(elems) { + if (elems && !elems.length) { + return _show(elems); + } + for (var i = 0; i < elems.length; ++i) { + _show(elems[i]); + } +}; + +var _hide = function _hide(elem) { + elem.style.opacity = ''; + elem.style.display = 'none'; +}; + +var hide = function hide(elems) { + if (elems && !elems.length) { + return _hide(elems); + } + for (var i = 0; i < elems.length; ++i) { + _hide(elems[i]); + } +}; + +var isDescendant = function isDescendant(parent, child) { + var node = child.parentNode; + while (node !== null) { + if (node === parent) { + return true; + } + node = node.parentNode; + } + return false; +}; + +var getTopMargin = function getTopMargin(elem) { + elem.style.left = '-9999px'; + elem.style.display = 'block'; + + var height = elem.clientHeight, + padding; + if (typeof getComputedStyle !== 'undefined') { + // IE 8 + padding = parseInt(getComputedStyle(elem).getPropertyValue('padding-top'), 10); + } else { + padding = parseInt(elem.currentStyle.padding); + } + + elem.style.left = ''; + elem.style.display = 'none'; + return '-' + parseInt((height + padding) / 2) + 'px'; +}; + +var fadeIn = function fadeIn(elem, interval) { + if (+elem.style.opacity < 1) { + interval = interval || 16; + elem.style.opacity = 0; + elem.style.display = 'block'; + var last = +new Date(); + var tick = (function (_tick) { + function tick() { + return _tick.apply(this, arguments); + } + + tick.toString = function () { + return _tick.toString(); + }; + + return tick; + })(function () { + elem.style.opacity = +elem.style.opacity + (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity < 1) { + setTimeout(tick, interval); + } + }); + tick(); + } + elem.style.display = 'block'; //fallback IE8 +}; + +var fadeOut = function fadeOut(elem, interval) { + interval = interval || 16; + elem.style.opacity = 1; + var last = +new Date(); + var tick = (function (_tick2) { + function tick() { + return _tick2.apply(this, arguments); + } + + tick.toString = function () { + return _tick2.toString(); + }; + + return tick; + })(function () { + elem.style.opacity = +elem.style.opacity - (new Date() - last) / 100; + last = +new Date(); + + if (+elem.style.opacity > 0) { + setTimeout(tick, interval); + } else { + elem.style.display = 'none'; + } + }); + tick(); +}; + +var fireClick = function fireClick(node) { + // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/ + // Then fixed for today's Chrome browser. + if (typeof MouseEvent === 'function') { + // Up-to-date approach + var mevt = new MouseEvent('click', { + view: window, + bubbles: false, + cancelable: true + }); + node.dispatchEvent(mevt); + } else if (document.createEvent) { + // Fallback + var evt = document.createEvent('MouseEvents'); + evt.initEvent('click', false, false); + node.dispatchEvent(evt); + } else if (document.createEventObject) { + node.fireEvent('onclick'); + } else if (typeof node.onclick === 'function') { + node.onclick(); + } +}; + +var stopEventPropagation = function stopEventPropagation(e) { + // In particular, make sure the space bar doesn't scroll the main window. + if (typeof e.stopPropagation === 'function') { + e.stopPropagation(); + e.preventDefault(); + } else if (window.event && window.event.hasOwnProperty('cancelBubble')) { + window.event.cancelBubble = true; + } +}; + +exports.hasClass = hasClass; +exports.addClass = addClass; +exports.removeClass = removeClass; +exports.escapeHtml = escapeHtml; +exports._show = _show; +exports.show = show; +exports._hide = _hide; +exports.hide = hide; +exports.isDescendant = isDescendant; +exports.getTopMargin = getTopMargin; +exports.fadeIn = fadeIn; +exports.fadeOut = fadeOut; +exports.fireClick = fireClick; +exports.stopEventPropagation = stopEventPropagation; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/handle-key.js b/node_modules/sweetalert/lib/modules/handle-key.js new file mode 100644 index 0000000..4869f9e --- /dev/null +++ b/node_modules/sweetalert/lib/modules/handle-key.js @@ -0,0 +1,79 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _stopEventPropagation$fireClick = require('./handle-dom'); + +var _setFocusStyle = require('./handle-swal-dom'); + +var handleKeyDown = function handleKeyDown(event, params, modal) { + var e = event || window.event; + var keyCode = e.keyCode || e.which; + + var $okButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + var $modalButtons = modal.querySelectorAll('button[tabindex]'); + + if ([9, 13, 32, 27].indexOf(keyCode) === -1) { + // Don't do work on keys we don't care about. + return; + } + + var $targetElement = e.target || e.srcElement; + + var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. + for (var i = 0; i < $modalButtons.length; i++) { + if ($targetElement === $modalButtons[i]) { + btnIndex = i; + break; + } + } + + if (keyCode === 9) { + // TAB + if (btnIndex === -1) { + // No button focused. Jump to the confirm button. + $targetElement = $okButton; + } else { + // Cycle to the next button + if (btnIndex === $modalButtons.length - 1) { + $targetElement = $modalButtons[0]; + } else { + $targetElement = $modalButtons[btnIndex + 1]; + } + } + + _stopEventPropagation$fireClick.stopEventPropagation(e); + $targetElement.focus(); + + if (params.confirmButtonColor) { + _setFocusStyle.setFocusStyle($targetElement, params.confirmButtonColor); + } + } else { + if (keyCode === 13) { + if ($targetElement.tagName === 'INPUT') { + $targetElement = $okButton; + $okButton.focus(); + } + + if (btnIndex === -1) { + // ENTER/SPACE clicked outside of a button. + $targetElement = $okButton; + } else { + // Do nothing - let the browser handle it. + $targetElement = undefined; + } + } else if (keyCode === 27 && params.allowEscapeKey === true) { + $targetElement = $cancelButton; + _stopEventPropagation$fireClick.fireClick($targetElement, e); + } else { + // Fallback - let the browser handle it. + $targetElement = undefined; + } + } +}; + +exports['default'] = handleKeyDown; +module.exports = exports['default']; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/handle-swal-dom.js b/node_modules/sweetalert/lib/modules/handle-swal-dom.js new file mode 100644 index 0000000..1a18bea --- /dev/null +++ b/node_modules/sweetalert/lib/modules/handle-swal-dom.js @@ -0,0 +1,167 @@ +'use strict'; + +var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _hexToRgb = require('./utils'); + +var _removeClass$getTopMargin$fadeIn$show$addClass = require('./handle-dom'); + +var _defaultParams = require('./default-params'); + +var _defaultParams2 = _interopRequireWildcard(_defaultParams); + +/* + * Add modal + overlay to DOM + */ + +var _injectedHTML = require('./injected-html'); + +var _injectedHTML2 = _interopRequireWildcard(_injectedHTML); + +var modalClass = '.sweet-alert'; +var overlayClass = '.sweet-overlay'; + +var sweetAlertInitialize = function sweetAlertInitialize() { + var sweetWrap = document.createElement('div'); + sweetWrap.innerHTML = _injectedHTML2['default']; + + // Append elements to body + while (sweetWrap.firstChild) { + document.body.appendChild(sweetWrap.firstChild); + } +}; + +/* + * Get DOM element of modal + */ +var getModal = (function (_getModal) { + function getModal() { + return _getModal.apply(this, arguments); + } + + getModal.toString = function () { + return _getModal.toString(); + }; + + return getModal; +})(function () { + var $modal = document.querySelector(modalClass); + + if (!$modal) { + sweetAlertInitialize(); + $modal = getModal(); + } + + return $modal; +}); + +/* + * Get DOM element of input (in modal) + */ +var getInput = function getInput() { + var $modal = getModal(); + if ($modal) { + return $modal.querySelector('input'); + } +}; + +/* + * Get DOM element of overlay + */ +var getOverlay = function getOverlay() { + return document.querySelector(overlayClass); +}; + +/* + * Add box-shadow style to button (depending on its chosen bg-color) + */ +var setFocusStyle = function setFocusStyle($button, bgColor) { + var rgbColor = _hexToRgb.hexToRgb(bgColor); + $button.style.boxShadow = '0 0 2px rgba(' + rgbColor + ', 0.8), inset 0 0 0 1px rgba(0, 0, 0, 0.05)'; +}; + +/* + * Animation when opening modal + */ +var openModal = function openModal(callback) { + var $modal = getModal(); + _removeClass$getTopMargin$fadeIn$show$addClass.fadeIn(getOverlay(), 10); + _removeClass$getTopMargin$fadeIn$show$addClass.show($modal); + _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'showSweetAlert'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'hideSweetAlert'); + + window.previousActiveElement = document.activeElement; + var $okButton = $modal.querySelector('button.confirm'); + $okButton.focus(); + + setTimeout(function () { + _removeClass$getTopMargin$fadeIn$show$addClass.addClass($modal, 'visible'); + }, 500); + + var timer = $modal.getAttribute('data-timer'); + + if (timer !== 'null' && timer !== '') { + var timerCallback = callback; + $modal.timeout = setTimeout(function () { + var doneFunctionExists = (timerCallback || null) && $modal.getAttribute('data-has-done-function') === 'true'; + if (doneFunctionExists) { + timerCallback(null); + } else { + sweetAlert.close(); + } + }, timer); + } +}; + +/* + * Reset the styling of the input + * (for example if errors have been shown) + */ +var resetInput = function resetInput() { + var $modal = getModal(); + var $input = getInput(); + + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($modal, 'show-input'); + $input.value = _defaultParams2['default'].inputValue; + $input.setAttribute('type', _defaultParams2['default'].inputType); + $input.setAttribute('placeholder', _defaultParams2['default'].inputPlaceholder); + + resetInputError(); +}; + +var resetInputError = function resetInputError(event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + _removeClass$getTopMargin$fadeIn$show$addClass.removeClass($errorContainer, 'show'); +}; + +/* + * Set "margin-top"-property on modal based on its computed height + */ +var fixVerticalPosition = function fixVerticalPosition() { + var $modal = getModal(); + $modal.style.marginTop = _removeClass$getTopMargin$fadeIn$show$addClass.getTopMargin(getModal()); +}; + +exports.sweetAlertInitialize = sweetAlertInitialize; +exports.getModal = getModal; +exports.getOverlay = getOverlay; +exports.getInput = getInput; +exports.setFocusStyle = setFocusStyle; +exports.openModal = openModal; +exports.resetInput = resetInput; +exports.resetInputError = resetInputError; +exports.fixVerticalPosition = fixVerticalPosition; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/injected-html.js b/node_modules/sweetalert/lib/modules/injected-html.js new file mode 100644 index 0000000..67623dc --- /dev/null +++ b/node_modules/sweetalert/lib/modules/injected-html.js @@ -0,0 +1,42 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var injectedHTML = + +// Dark overlay +"
" + + +// Modal +"
" + + +// Error icon +"
\n \n \n \n \n
" + + +// Warning icon +"
\n \n \n
" + + +// Info icon +"
" + + +// Success icon +"
\n \n \n\n
\n
\n
" + "
" + + +// Title, text and input +"

Title

\n

Text

\n
\n \n
\n
" + + +// Input errors +"
\n
!
\n

Not valid!

\n
" + + +// Cancel and confirm buttons +"
\n \n
\n " + + +// Loading animation +"
\n
\n
\n
\n
\n
\n
" + + +// End of modal +"
"; + +exports["default"] = injectedHTML; +module.exports = exports["default"]; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/set-params.js b/node_modules/sweetalert/lib/modules/set-params.js new file mode 100644 index 0000000..9aeea0e --- /dev/null +++ b/node_modules/sweetalert/lib/modules/set-params.js @@ -0,0 +1,225 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); + +var _isIE8 = require('./utils'); + +var _getModal$getInput$setFocusStyle = require('./handle-swal-dom'); + +var _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide = require('./handle-dom'); + +var alertTypes = ['error', 'warning', 'info', 'success', 'input', 'prompt']; + +/* + * Set type, text and actions on modal + */ +var setParameters = function setParameters(params) { + var modal = _getModal$getInput$setFocusStyle.getModal(); + + var $title = modal.querySelector('h2'); + var $text = modal.querySelector('p'); + var $cancelBtn = modal.querySelector('button.cancel'); + var $confirmBtn = modal.querySelector('button.confirm'); + + /* + * Title + */ + $title.innerHTML = params.html ? params.title : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.title).split('\n').join('
'); + + /* + * Text + */ + $text.innerHTML = params.html ? params.text : _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.text || '').split('\n').join('
'); + if (params.text) _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($text); + + /* + * Custom class + */ + if (params.customClass) { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, params.customClass); + modal.setAttribute('data-custom-class', params.customClass); + } else { + // Find previously set classes and remove them + var customClass = modal.getAttribute('data-custom-class'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.removeClass(modal, customClass); + modal.setAttribute('data-custom-class', ''); + } + + /* + * Icon + */ + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide(modal.querySelectorAll('.sa-icon')); + + if (params.type && !_isIE8.isIE8()) { + var _ret = (function () { + + var validType = false; + + for (var i = 0; i < alertTypes.length; i++) { + if (params.type === alertTypes[i]) { + validType = true; + break; + } + } + + if (!validType) { + logStr('Unknown alert type: ' + params.type); + return { + v: false + }; + } + + var typesWithIcons = ['success', 'error', 'warning', 'info']; + var $icon = undefined; + + if (typesWithIcons.indexOf(params.type) !== -1) { + $icon = modal.querySelector('.sa-icon.' + 'sa-' + params.type); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($icon); + } + + var $input = _getModal$getInput$setFocusStyle.getInput(); + + // Animate icon + switch (params.type) { + + case 'success': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animate'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-tip'), 'animateSuccessTip'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-long'), 'animateSuccessLong'); + break; + + case 'error': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'animateErrorIcon'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-x-mark'), 'animateXMark'); + break; + + case 'warning': + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon, 'pulseWarning'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-body'), 'pulseWarningIns'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass($icon.querySelector('.sa-dot'), 'pulseWarningIns'); + break; + + case 'input': + case 'prompt': + $input.setAttribute('type', params.inputType); + $input.value = params.inputValue; + $input.setAttribute('placeholder', params.inputPlaceholder); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.addClass(modal, 'show-input'); + setTimeout(function () { + $input.focus(); + $input.addEventListener('keyup', swal.resetInputError); + }, 400); + break; + } + })(); + + if (typeof _ret === 'object') { + return _ret.v; + } + } + + /* + * Custom image + */ + if (params.imageUrl) { + var $customIcon = modal.querySelector('.sa-icon.sa-custom'); + + $customIcon.style.backgroundImage = 'url(' + params.imageUrl + ')'; + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.show($customIcon); + + var _imgWidth = 80; + var _imgHeight = 80; + + if (params.imageSize) { + var dimensions = params.imageSize.toString().split('x'); + var imgWidth = dimensions[0]; + var imgHeight = dimensions[1]; + + if (!imgWidth || !imgHeight) { + logStr('Parameter imageSize expects value with format WIDTHxHEIGHT, got ' + params.imageSize); + } else { + _imgWidth = imgWidth; + _imgHeight = imgHeight; + } + } + + $customIcon.setAttribute('style', $customIcon.getAttribute('style') + 'width:' + _imgWidth + 'px; height:' + _imgHeight + 'px'); + } + + /* + * Show cancel button? + */ + modal.setAttribute('data-has-cancel-button', params.showCancelButton); + if (params.showCancelButton) { + $cancelBtn.style.display = 'inline-block'; + } else { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($cancelBtn); + } + + /* + * Show confirm button? + */ + modal.setAttribute('data-has-confirm-button', params.showConfirmButton); + if (params.showConfirmButton) { + $confirmBtn.style.display = 'inline-block'; + } else { + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.hide($confirmBtn); + } + + /* + * Custom text on cancel/confirm buttons + */ + if (params.cancelButtonText) { + $cancelBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.cancelButtonText); + } + if (params.confirmButtonText) { + $confirmBtn.innerHTML = _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide.escapeHtml(params.confirmButtonText); + } + + /* + * Custom color on confirm button + */ + if (params.confirmButtonColor) { + // Set confirm button to selected background color + $confirmBtn.style.backgroundColor = params.confirmButtonColor; + + // Set the confirm button color to the loading ring + $confirmBtn.style.borderLeftColor = params.confirmLoadingButtonColor; + $confirmBtn.style.borderRightColor = params.confirmLoadingButtonColor; + + // Set box-shadow to default focused button + _getModal$getInput$setFocusStyle.setFocusStyle($confirmBtn, params.confirmButtonColor); + } + + /* + * Allow outside click + */ + modal.setAttribute('data-allow-outside-click', params.allowOutsideClick); + + /* + * Callback function + */ + var hasDoneFunction = params.doneFunction ? true : false; + modal.setAttribute('data-has-done-function', hasDoneFunction); + + /* + * Animation + */ + if (!params.animation) { + modal.setAttribute('data-animation', 'none'); + } else if (typeof params.animation === 'string') { + modal.setAttribute('data-animation', params.animation); // Custom animation + } else { + modal.setAttribute('data-animation', 'pop'); + } + + /* + * Timer + */ + modal.setAttribute('data-timer', params.timer); +}; + +exports['default'] = setParameters; +module.exports = exports['default']; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/modules/utils.js b/node_modules/sweetalert/lib/modules/utils.js new file mode 100644 index 0000000..fe1285a --- /dev/null +++ b/node_modules/sweetalert/lib/modules/utils.js @@ -0,0 +1,73 @@ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +/* + * Allow user to pass their own params + */ +var extend = function extend(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 hexToRgb(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 isIE8() { + return window.attachEvent && !window.addEventListener; +}; + +/* + * IE compatible logging for developers + */ +var logStr = function logStr(string) { + if (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 colorLuminance(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; +}; + +exports.extend = extend; +exports.hexToRgb = hexToRgb; +exports.isIE8 = isIE8; +exports.logStr = logStr; +exports.colorLuminance = colorLuminance; \ No newline at end of file diff --git a/node_modules/sweetalert/lib/sweetalert.js b/node_modules/sweetalert/lib/sweetalert.js new file mode 100644 index 0000000..3a7db98 --- /dev/null +++ b/node_modules/sweetalert/lib/sweetalert.js @@ -0,0 +1,303 @@ +'use strict'; + +var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; + +Object.defineProperty(exports, '__esModule', { + value: true +}); +// SweetAlert +// 2014-2015 (c) - Tristan Edwards +// github.com/t4t5/sweetalert + +/* + * jQuery-like functions for manipulating the DOM + */ + +var _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation = require('./modules/handle-dom'); + +/* + * Handy utilities + */ + +var _extend$hexToRgb$isIE8$logStr$colorLuminance = require('./modules/utils'); + +/* + * Handle sweetAlert's DOM elements + */ + +var _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition = require('./modules/handle-swal-dom'); + +// Handle button events and keyboard events + +var _handleButton$handleConfirm$handleCancel = require('./modules/handle-click'); + +var _handleKeyDown = require('./modules/handle-key'); + +var _handleKeyDown2 = _interopRequireWildcard(_handleKeyDown); + +// Default values + +var _defaultParams = require('./modules/default-params'); + +var _defaultParams2 = _interopRequireWildcard(_defaultParams); + +var _setParameters = require('./modules/set-params'); + +var _setParameters2 = _interopRequireWildcard(_setParameters); + +/* + * Remember state in cases where opening and handling a modal will fiddle with it. + * (We also use window.previousActiveElement as a global variable) + */ +var previousWindowKeyDown; +var lastFocusedButton; + +/* + * Global sweetAlert function + * (this is what the user calls) + */ +var sweetAlert, swal; + +exports['default'] = sweetAlert = swal = function () { + var customizations = arguments[0]; + + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass(document.body, 'stop-scrolling'); + _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.resetInput(); + + /* + * Use argument if defined or default value from params object otherwise. + * Supports the case where a default value is boolean true and should be + * overridden by a corresponding explicit argument which is boolean false. + */ + function argumentOrDefault(key) { + var args = customizations; + return args[key] === undefined ? _defaultParams2['default'][key] : args[key]; + } + + if (customizations === undefined) { + _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('SweetAlert expects at least 1 attribute!'); + return false; + } + + var params = _extend$hexToRgb$isIE8$logStr$colorLuminance.extend({}, _defaultParams2['default']); + + switch (typeof customizations) { + + // Ex: swal("Hello", "Just testing", "info"); + case 'string': + params.title = customizations; + params.text = arguments[1] || ''; + params.type = arguments[2] || ''; + break; + + // Ex: swal({ title:"Hello", text: "Just testing", type: "info" }); + case 'object': + if (customizations.title === undefined) { + _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('Missing "title" argument!'); + return false; + } + + params.title = customizations.title; + + for (var customName in _defaultParams2['default']) { + params[customName] = argumentOrDefault(customName); + } + + // Show "Confirm" instead of "OK" if cancel button is visible + params.confirmButtonText = params.showCancelButton ? 'Confirm' : _defaultParams2['default'].confirmButtonText; + params.confirmButtonText = argumentOrDefault('confirmButtonText'); + + // Callback function when clicking on "OK"/"Cancel" + params.doneFunction = arguments[1] || null; + + break; + + default: + _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('Unexpected type of argument! Expected "string" or "object", got ' + typeof customizations); + return false; + + } + + _setParameters2['default'](params); + _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.fixVerticalPosition(); + _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.openModal(arguments[1]); + + // Modal interactions + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + /* + * Make sure all modal buttons respond to all events + */ + var $buttons = modal.querySelectorAll('button'); + var buttonEvents = ['onclick', 'onmouseover', 'onmouseout', 'onmousedown', 'onmouseup', 'onfocus']; + var onButtonEvent = function onButtonEvent(e) { + return _handleButton$handleConfirm$handleCancel.handleButton(e, params, modal); + }; + + for (var btnIndex = 0; btnIndex < $buttons.length; btnIndex++) { + for (var evtIndex = 0; evtIndex < buttonEvents.length; evtIndex++) { + var btnEvt = buttonEvents[evtIndex]; + $buttons[btnIndex][btnEvt] = onButtonEvent; + } + } + + // Clicking outside the modal dismisses it (if allowed by user) + _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getOverlay().onclick = onButtonEvent; + + previousWindowKeyDown = window.onkeydown; + + var onKeyEvent = function onKeyEvent(e) { + return _handleKeyDown2['default'](e, params, modal); + }; + window.onkeydown = onKeyEvent; + + window.onfocus = function () { + // When the user has focused away and focused back from the whole window. + setTimeout(function () { + // Put in a timeout to jump out of the event sequence. + // Calling focus() in the event sequence confuses things. + if (lastFocusedButton !== undefined) { + lastFocusedButton.focus(); + lastFocusedButton = undefined; + } + }, 0); + }; + + // Show alert with enabled buttons always + swal.enableButtons(); +}; + +/* + * Set default params for each popup + * @param {Object} userParams + */ +sweetAlert.setDefaults = swal.setDefaults = function (userParams) { + if (!userParams) { + throw new Error('userParams is required'); + } + if (typeof userParams !== 'object') { + throw new Error('userParams has to be a object'); + } + + _extend$hexToRgb$isIE8$logStr$colorLuminance.extend(_defaultParams2['default'], userParams); +}; + +/* + * Animation when closing modal + */ +sweetAlert.close = swal.close = function () { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.fadeOut(_sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getOverlay(), 5); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.fadeOut(modal, 5); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, 'showSweetAlert'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass(modal, 'hideSweetAlert'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, 'visible'); + + /* + * Reset icon animations + */ + var $successIcon = modal.querySelector('.sa-icon.sa-success'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon, 'animate'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon.querySelector('.sa-tip'), 'animateSuccessTip'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($successIcon.querySelector('.sa-long'), 'animateSuccessLong'); + + var $errorIcon = modal.querySelector('.sa-icon.sa-error'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon, 'animateErrorIcon'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon.querySelector('.sa-x-mark'), 'animateXMark'); + + var $warningIcon = modal.querySelector('.sa-icon.sa-warning'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon, 'pulseWarning'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon.querySelector('.sa-body'), 'pulseWarningIns'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($warningIcon.querySelector('.sa-dot'), 'pulseWarningIns'); + + // Reset custom class (delay so that UI changes aren't visible) + setTimeout(function () { + var customClass = modal.getAttribute('data-custom-class'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(modal, customClass); + }, 300); + + // Make page scrollable again + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass(document.body, 'stop-scrolling'); + + // Reset the page to its previous state + window.onkeydown = previousWindowKeyDown; + if (window.previousActiveElement) { + window.previousActiveElement.focus(); + } + lastFocusedButton = undefined; + clearTimeout(modal.timeout); + + return true; +}; + +/* + * Validation of the input field is done by user + * If something is wrong => call showInputError with errorMessage + */ +sweetAlert.showInputError = swal.showInputError = function (errorMessage) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + var $errorIcon = modal.querySelector('.sa-input-error'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorIcon, 'show'); + + var $errorContainer = modal.querySelector('.sa-error-container'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.addClass($errorContainer, 'show'); + + $errorContainer.querySelector('p').innerHTML = errorMessage; + + setTimeout(function () { + sweetAlert.enableButtons(); + }, 1); + + modal.querySelector('input').focus(); +}; + +/* + * Reset input error DOM elements + */ +sweetAlert.resetInputError = swal.resetInputError = function (event) { + // If press enter => ignore + if (event && event.keyCode === 13) { + return false; + } + + var $modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + + var $errorIcon = $modal.querySelector('.sa-input-error'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorIcon, 'show'); + + var $errorContainer = $modal.querySelector('.sa-error-container'); + _hasClass$addClass$removeClass$escapeHtml$_show$show$_hide$hide$isDescendant$getTopMargin$fadeIn$fadeOut$fireClick$stopEventPropagation.removeClass($errorContainer, 'show'); +}; + +/* + * Disable confirm and cancel buttons + */ +sweetAlert.disableButtons = swal.disableButtons = function (event) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = true; + $cancelButton.disabled = true; +}; + +/* + * Enable confirm and cancel buttons + */ +sweetAlert.enableButtons = swal.enableButtons = function (event) { + var modal = _sweetAlertInitialize$getModal$getOverlay$getInput$setFocusStyle$openModal$resetInput$fixVerticalPosition.getModal(); + var $confirmButton = modal.querySelector('button.confirm'); + var $cancelButton = modal.querySelector('button.cancel'); + $confirmButton.disabled = false; + $cancelButton.disabled = false; +}; + +if (typeof window !== 'undefined') { + // The 'handle-click' module requires + // that 'sweetAlert' was set as global. + window.sweetAlert = window.swal = sweetAlert; +} else { + _extend$hexToRgb$isIE8$logStr$colorLuminance.logStr('SweetAlert is a frontend module!'); +} +module.exports = exports['default']; \ No newline at end of file diff --git a/node_modules/sweetalert/package.json b/node_modules/sweetalert/package.json new file mode 100644 index 0000000..1f9effa --- /dev/null +++ b/node_modules/sweetalert/package.json @@ -0,0 +1,71 @@ +{ + "name": "sweetalert", + "version": "1.1.3", + "description": "A beautiful replacement for JavaScript's \"alert\"", + "main": "lib/sweetalert.js", + "directories": { + "example": "example" + }, + "scripts": { + "test": "gulp test" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/t4t5/sweetalert.git" + }, + "keywords": [ + "sweetalert", + "alert", + "modal", + "popup" + ], + "author": { + "name": "Tristan Edwards", + "email": "tristan.edwards@me.com", + "url": "http://tristanedwards.me" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/t4t5/sweetalert/issues" + }, + "homepage": "http://tristanedwards.me/sweetalert", + "devDependencies": { + "babelify": "^6.0.2", + "browserify": "^9.0.8", + "glob": "^5.0.3", + "gulp": "^3.9.0", + "gulp-babel": "^5.2.1", + "gulp-concat": "^2.4.3", + "gulp-jshint": "^1.9.0", + "gulp-minify-css": "^0.3.13", + "gulp-qunit": "latest", + "gulp-rename": "^1.2.0", + "gulp-sass": "^2.0.1", + "gulp-uglify": "^1.0.2", + "gulp-wrap": "^0.11.0", + "path": "^0.11.14", + "vinyl-buffer": "^1.0.0", + "vinyl-source-stream": "^1.1.0" + }, + "gitHead": "3b9d8eb90268e0b1f8f58b2eba240631df0ad18f", + "_id": "sweetalert@1.1.3", + "_shasum": "d2c31ea492b22b6a8d887aea15989a238fc084ae", + "_from": "sweetalert@*", + "_npmVersion": "2.12.1", + "_nodeVersion": "0.12.7", + "_npmUser": { + "name": "t4t5", + "email": "tristan.edwards@me.com" + }, + "maintainers": [ + { + "name": "t4t5", + "email": "tristan.edwards@me.com" + } + ], + "dist": { + "shasum": "d2c31ea492b22b6a8d887aea15989a238fc084ae", + "tarball": "http://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz" + }, + "_resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz" +} diff --git a/node_modules/sweetalert/sweetalert.gif b/node_modules/sweetalert/sweetalert.gif new file mode 100644 index 0000000000000000000000000000000000000000..be45c38be966ce07b4928f745dadb78fce9647c4 GIT binary patch literal 495936 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

>k5l@=AxMFs`VuT~h{K8J^S5?A7lVS*mM7v|rs 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 z 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

w3tNNfX`}V^tx)6yY}DekW#uVCYQ!ME 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 QAKWTT*vC`Y2n9L+7XvZnR{#J2 literal 0 HcmV?d00001 diff --git a/node_modules/sweetalert/test/index.html b/node_modules/sweetalert/test/index.html new file mode 100644 index 0000000..96789a8 --- /dev/null +++ b/node_modules/sweetalert/test/index.html @@ -0,0 +1,25 @@ + + + + + Tests + + + + +

+
+ + + + + + + + + + + + + + diff --git a/node_modules/sweetalert/test/tests.js b/node_modules/sweetalert/test/tests.js new file mode 100644 index 0000000..d5c29f6 --- /dev/null +++ b/node_modules/sweetalert/test/tests.js @@ -0,0 +1,141 @@ +// swal() sould add the modal to the DOM + make it visible +test("modal shows up", function() { + equal($('.sweet-alert').length, 0); + + swal("Hello world!"); + + ok($('.sweet-alert').is(':visible')); +}); + +// Clicking the confirm-button should dismiss the modal +test("dismiss modal with confirm-button", function(assert) { + var done = assert.async(); + swal("Dismiss me"); + + var $modal = $('.sweet-alert'); + $modal.find('button.confirm').click(); + + setTimeout(function() { + assert.ok($modal.is(':hidden')); + done(); + }, 500); +}); + +test("dismiss modal with esc-key", function(assert) { + var done = assert.async(); + swal("Dismiss me"); + + var $modal = $('.sweet-alert'); + $(document).trigger($.Event('keydown', { + keyCode: 27 + })); + + setTimeout(function() { + assert.ok($modal.is(':hidden')); + done(); + }, 500); +}); + +test("modals stays on with esc-key if allowEscapeKey is false", function(assert) { + var done = assert.async(); + swal({ + title: "Dismiss me", + allowEscapeKey: false + }); + + var $modal = $('.sweet-alert'); + $(document).trigger($.Event('keydown', { + keyCode: 27 + })); + + setTimeout(function() { + assert.ok($modal.is(':visible')); + done(); + }, 500); +}); + +/* + * Make sure that when using { showCancelButton: true }: + * - The cancel-button is visible on the modal + * - Clicking on it dismisses the modal + */ +test("cancel-button works", function(assert) { + var done = assert.async(); + swal({ + title: "Test", + showCancelButton: true + }); + + var $modal = $('.sweet-alert'); + var $cancelBtn = $modal.find('button.cancel'); + ok($cancelBtn.is(':visible')); + + $cancelBtn.click(); + + setTimeout(function() { + assert.ok($modal.is(':hidden')); + done(); + }, 500); +}); + +// Clicking the overlay should not dismiss the modal... +test("clicking the overlay does not dismiss modal", function(assert) { + var done = assert.async(); + swal("Test"); + + var $modal = $('.sweet-alert'); + $('.sweet-overlay').click(); + + setTimeout(function() { + assert.ok($modal.is(':visible')); + done(); + }, 500); +}); + + +// ...except if we pass allowOutsideClick: true +test("clicking the overlay (with allowOutsideClick option) dismisses modal", function(assert) { + var done = assert.async(); + swal({ + title: "Test", + allowOutsideClick: true + }); + + var $modal = $('.sweet-alert'); + $('.sweet-overlay').click(); + + setTimeout(function() { + assert.ok($modal.is(':hidden')); + done(); + }, 500); +}); + +test("timer works", function(assert) { + var done = assert.async(); + swal({ + title: "Timer test", + showConfirmButton: false, + timer: 500 + }); + + var $modal = $('.sweet-alert'); + assert.ok($modal.find('button.cancel, button.confirm').is(':hidden')); + + setTimeout(function() { + assert.ok($modal.is(':hidden')); + done(); + }, 1000); +}); + +test("prompt functionality works", function() { + swal({ + title: "Prompt test", + type: "input", + inputPlaceholder: "Placeholder text" + }); + + var $modal = $('.sweet-alert'); + + ok($modal.find('fieldset input').is(':visible')); + equal($modal.find('fieldset input').attr('placeholder'), "Placeholder text"); +}); diff --git a/node_modules/sweetalert/themes/facebook/facebook.css b/node_modules/sweetalert/themes/facebook/facebook.css new file mode 100644 index 0000000..4c81b56 --- /dev/null +++ b/node_modules/sweetalert/themes/facebook/facebook.css @@ -0,0 +1,111 @@ +.sweet-overlay { + border-radius: 3px; } + +.sweet-alert { + font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; + padding: 12px; + padding-top: 53px; + text-align: right; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.11), 0px 6px 30px rgba(0, 0, 0, 0.14); } + .sweet-alert h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 41px; + background-color: #f6f7f8; + margin: 0; + font-size: 15px; + text-align: left; + padding-left: 12px; + color: #131722; + border-bottom: 1px solid #e5e5e5; } + .sweet-alert p { + display: block; + text-align: center; + color: #131722; + font-weight: 400; + font-size: 15px; + margin-top: 7px; } + .sweet-alert .sa-button-container { + border-top: 1px solid #dcdee3; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] .sa-button-container { + display: none; } + .sweet-alert button { + font-size: 12px; + padding: 5px 10px; + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3); + font-weight: 500; + margin: 0; + margin-top: 12px; } + .sweet-alert button:focus, .sweet-alert button.cancel:focus { + box-shadow: 0 0 1px 2px rgba(88, 144, 255, 0.75), 0 1px 1px rgba(0, 0, 0, 0.15) !important; } + .sweet-alert button.confirm { + border: 1px solid #3d5586; + background-color: #47639c !important; + margin-left: 4px; } + .sweet-alert button.cancel { + color: #4e5664; + background-color: #fafbfb; + text-shadow: 0px -1px 0px white; + border: 1px solid #c5c6c8; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.04) !important; + font-weight: 600; } + .sweet-alert button.cancel:hover { + background-color: #fafbfb; } + .sweet-alert .sa-icon:not(.sa-custom) { + transform: scale(0.7); + margin-bottom: -10px; + margin-top: -10px; } + .sweet-alert input { + border: 1px solid #bdc7d8; + padding: 3px; + border-radius: 0; + box-shadow: none; + font-size: 15px; + height: 33px; + margin: 10px 0; } + .sweet-alert input:focus { + box-shadow: 0 0 1px 2px rgba(88, 144, 255, 0.75), 0 1px 1px rgba(0, 0, 0, 0.15) !important; } + .sweet-alert fieldset .sa-input-error { + display: none; } + .sweet-alert .sa-error-container { + text-align: center; + background-color: #fdebe8; + margin: 0; + border: none; } + .sweet-alert .sa-error-container.show { + margin: 14px; + margin-top: 0; + border: 1px solid #d5512d; } + .sweet-alert .sa-error-container .icon { + display: none; } + .sweet-alert .sa-error-container p { + color: #303b44; + margin-top: 3px; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } diff --git a/node_modules/sweetalert/themes/facebook/facebook.scss b/node_modules/sweetalert/themes/facebook/facebook.scss new file mode 100644 index 0000000..2ea546d --- /dev/null +++ b/node_modules/sweetalert/themes/facebook/facebook.scss @@ -0,0 +1,146 @@ +// Facebook Theme for SweetAlert +// By Tristan Edwards + +.sweet-overlay { + border-radius: 3px; +} + + +.sweet-alert { + $header-height: 41px; + $footer-height: 50px; + $text-color: #131722; + $fb-focus: 0 0 1px 2px rgba(88, 144, 255, .75), 0 1px 1px rgba(0, 0, 0, .15) !important; + $padding: 12px; + + font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; + padding: $padding; + padding-top: $header-height + $padding; + text-align: right; // Align buttons + box-shadow: 0px 0px 0px 1px rgba(black, 0.11), 0px 6px 30px rgba(black, 0.14); + + h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: $header-height; + background-color: #f6f7f8; + margin: 0; + font-size: 15px; + text-align: left; + padding-left: 12px; + color: $text-color; + border-bottom: 1px solid #e5e5e5; + } + + p { + display: block; + text-align: center; + color: #131722; + font-weight: 400; + font-size: 15px; + margin-top: 7px; + } + + .sa-button-container { + border-top: 1px solid #dcdee3; + } + &[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; + .sa-button-container { + display: none; + } + } + + button { + font-size: 12px; + padding: 5px 10px; + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(black, 0.3); + font-weight: 500; + margin: 0; + margin-top: $padding; + &:focus, &.cancel:focus { + box-shadow: $fb-focus; + } + + &.confirm { + border: 1px solid #3d5586; + background-color: #47639c !important; + margin-left: 4px; + } + &.cancel { + color: #4e5664; + background-color: #fafbfb; + text-shadow: 0px -1px 0px white; + border: 1px solid #c5c6c8; + box-shadow: 0px 1px 1px rgba(black, 0.04) !important; + font-weight: 600; + &:hover { + background-color: #fafbfb; + } + } + } + + .sa-icon:not(.sa-custom) { + transform: scale(0.7); + margin-bottom: -10px; + margin-top: -10px; + } + + input { + border: 1px solid #bdc7d8; + padding: 3px; + border-radius: 0; + box-shadow: none; + font-size: 15px; + height: 33px; + margin: 10px 0; + &:focus { + box-shadow: $fb-focus; + } + } + + fieldset .sa-input-error { + display: none; + } + + .sa-error-container { + text-align: center; + background-color: #fdebe8; + margin: 0; + border: none; + &.show { + margin: 14px; + margin-top: 0; + border: 1px solid #d5512d; + } + + .icon { + display: none; + } + p { + color: #303b44; + margin-top: 3px; + } + } +} + + +// Animations + +@mixin keyframes($animation-name) { + @-webkit-keyframes #{$animation-name} { + @content; + } + @keyframes #{$animation-name} { + @content; + } +} + +@include keyframes(animateErrorIcon) { + 0% { transform: rotateX(100deg), scale(0.5); -webkit-transform: rotateX(100deg), scale(0.5); opacity: 0; } + 100% { transform: rotateX(0deg), scale(0.5); -webkit-transform: rotateX(0deg), scale(0.5); opacity: 1; } +} \ No newline at end of file diff --git a/node_modules/sweetalert/themes/google/google.css b/node_modules/sweetalert/themes/google/google.css new file mode 100644 index 0000000..5e53a99 --- /dev/null +++ b/node_modules/sweetalert/themes/google/google.css @@ -0,0 +1,115 @@ +.sweet-overlay { + background: rgba(10, 10, 10, 0.6); } + +.sweet-alert { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 24px; + padding-top: 64px; + padding-bottom: 13px; + text-align: right; + border-radius: 0; + box-shadow: 0 0 14px rgba(0, 0, 0, 0.24), 0 14px 28px rgba(0, 0, 0, 0.48); } + .sweet-alert h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: auto; + font-weight: 400; + color: #212121; + margin: 20px 0; + font-size: 1.2em; + line-height: 1.25; + text-align: left; + padding: 0 24px; } + .sweet-alert p { + display: block; + text-align: center; + color: #212121; + font-weight: 400; + font-size: 14px; + margin: 20px 0; } + .sweet-alert button { + border-radius: 2px; + box-shadow: none !important; + background: none !important; + border-radius: 2px; + text-transform: uppercase; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; + margin-top: 0; } + .sweet-alert button:hover, .sweet-alert button:focus { + background-color: #f6f6f6 !important; } + .sweet-alert button.confirm { + color: #3c80f6; } + .sweet-alert button.cancel { + color: #757575; } + .sweet-alert button.cancel:focus { + box-shadow: none !important; } + .sweet-alert .sa-icon:not(.sa-custom) { + transform: scale(0.8); + margin-bottom: -10px; + margin-top: -10px; } + .sweet-alert input { + border: none; + border-radius: 0; + border-bottom: 1px solid #c9c9c9; + color: #212121; + margin-bottom: 8px; + padding: 1px; + padding-bottom: 8px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; } + .sweet-alert input:focus { + border: none; + border-bottom: 1px solid #3c80f6; + box-shadow: inset 0 -1px 0 #3c80f6; } + .sweet-alert fieldset { + padding: 0; } + .sweet-alert fieldset .sa-input-error { + display: none; } + .sweet-alert .sa-error-container { + display: none; + background: none; + height: auto; + padding: 0 24px; + margin: 0 -20px; + text-align: left; } + .sweet-alert .sa-error-container.show { + padding: 0 24px; + display: block; } + .sweet-alert .sa-error-container.show ~ fieldset input { + background: red; + border-bottom: 1px solid #d9453c; + box-shadow: inset 0 -1px 0 #d9453c; } + .sweet-alert .sa-error-container .icon { + display: none; } + .sweet-alert .sa-error-container p { + color: #d9453c; + margin-top: 0; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } diff --git a/node_modules/sweetalert/themes/google/google.scss b/node_modules/sweetalert/themes/google/google.scss new file mode 100644 index 0000000..86285d6 --- /dev/null +++ b/node_modules/sweetalert/themes/google/google.scss @@ -0,0 +1,148 @@ +// Google Theme for SweetAlert +// By Tristan Edwards + +.sweet-overlay { + background: rgba(10,10,10,.6); +} + + +.sweet-alert { + $header-height: 40px; + $footer-height: 66px; + $text-color: #212121; + $padding: 24px; + $error-color: #d9453c; + + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: $padding; + padding-top: $header-height + $padding; + padding-bottom: 13px; + text-align: right; // Align buttons + border-radius: 0; + box-shadow: 0 0 14px rgba(black, 0.24),0 14px 28px rgba(black, 0.48); + + h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: auto; + font-weight: 400; + color: $text-color; + margin: 20px 0; + font-size: 1.2em; + line-height: 1.25; + text-align: left; + padding: 0 $padding; + } + + p { + display: block; + text-align: center; + color: $text-color; + font-weight: 400; + font-size: 14px; + margin: 20px 0; + } + + button { + border-radius: 2px; + box-shadow: none !important; + background: none !important; + border-radius: 2px; + text-transform: uppercase; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; + margin-top: 0; + &:hover, &:focus { + background-color: #f6f6f6 !important; + } + + &.confirm { + color: #3c80f6; + } + &.cancel { + color: #757575; + &:focus { + box-shadow: none !important; + } + } + } + + .sa-icon:not(.sa-custom) { + transform: scale(0.8); + margin-bottom: -10px; + margin-top: -10px; + } + + input { + border: none; + border-radius: 0; + border-bottom: 1px solid #c9c9c9; + color: #212121; + margin-bottom: 8px; + padding: 1px; + padding-bottom: 8px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; + &:focus { + border: none; + border-bottom: 1px solid #3c80f6; + box-shadow: inset 0 -1px 0 #3c80f6; + } + } + + fieldset { + padding: 0; + .sa-input-error { + display: none; + } + } + + .sa-error-container { + display: none; + background: none; + height: auto; + padding: 0 $padding; + margin: 0 -20px; + text-align: left; + &.show { + padding: 0 $padding; + display: block; + ~ fieldset input { + background: red; + border-bottom: 1px solid $error-color; + box-shadow: inset 0 -1px 0 $error-color; + } + } + + .icon { + display: none; + } + p { + color: $error-color; + margin-top: 0; + } + } +} + + +// Animations + +@mixin keyframes($animation-name) { + @-webkit-keyframes #{$animation-name} { + @content; + } + @keyframes #{$animation-name} { + @content; + } +} + +@include keyframes(animateErrorIcon) { + 0% { transform: rotateX(100deg), scale(0.5); -webkit-transform: rotateX(100deg), scale(0.5); opacity: 0; } + 100% { transform: rotateX(0deg), scale(0.5); -webkit-transform: rotateX(0deg), scale(0.5); opacity: 1; } +} \ No newline at end of file diff --git a/node_modules/sweetalert/themes/twitter/twitter.css b/node_modules/sweetalert/themes/twitter/twitter.css new file mode 100644 index 0000000..062ded6 --- /dev/null +++ b/node_modules/sweetalert/themes/twitter/twitter.css @@ -0,0 +1,140 @@ +.sweet-overlay { + background: rgba(41, 47, 51, 0.9); } + +.sweet-alert { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 15px; + padding-top: 55px; + text-align: right; + border-radius: 6px; + box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.11), 0px 6px 30px rgba(0, 0, 0, 0.14); } + .sweet-alert h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 40px; + line-height: 40px; + font-size: 16px; + font-weight: 400; + color: #8899a6; + margin: 0; + color: #66757f; + border-bottom: 1px solid #e1e8ed; } + .sweet-alert p { + display: block; + text-align: center; + color: #66757f; + font-weight: 400; + font-size: 13px; + margin-top: 7px; } + .sweet-alert .sa-button-container { + background-color: #f5f8fa; + border-top: 1px solid #e1e8ed; + box-shadow: 0px -1px 0px white; + margin: -15px; + margin-top: 0; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] .sa-button-container { + display: none; } + .sweet-alert button { + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.3); + margin: 17px 0px; + border-radius: 4px; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; } + .sweet-alert button:focus, .sweet-alert button.cancel:focus { + box-shadow: none !important; } + .sweet-alert button:focus::before, .sweet-alert button.cancel:focus::before { + content: ""; + position: absolute; + left: -5px; + top: -5px; + right: -5px; + bottom: -5px; + border: 2px solid #a5b0b4; + border-radius: 8px; } + .sweet-alert button.confirm { + background-color: #55acee !important; + background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#0C000000)"; + border: 1px solid #3b88c3; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15); + margin-right: 15px; } + .sweet-alert button.confirm:hover { + background-color: #55acee; + background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.15)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#26000000)"; + border-color: #3b88c3; } + .sweet-alert button.cancel { + color: #66757e; + background-color: #f5f8fa; + background-image: linear-gradient(#fff, #f5f8fa); + text-shadow: 0px -1px 0px white; + margin-right: 9px; + border: 1px solid #e1e8ed; } + .sweet-alert button.cancel:hover, .sweet-alert button.cancel:focus:hover { + background-color: #e1e8ed; + background-image: linear-gradient(#fff, #e1e8ed); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; + border-color: #e1e8ed; } + .sweet-alert button.cancel:focus { + background: #fff; + border-color: #fff; } + .sweet-alert .sa-icon:not(.sa-custom) { + transform: scale(0.72); + margin-bottom: -2px; + margin-top: -10px; } + .sweet-alert input { + border: 1px solid #e1e8ed; + border-radius: 3px; + padding: 10px 7px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; } + .sweet-alert input:focus { + border-color: #94A1A6; + box-shadow: inset 0 0 0 1px rgba(77, 99, 107, 0.7); } + .sweet-alert fieldset .sa-input-error { + display: none; } + .sweet-alert .sa-error-container { + text-align: center; + border: none; + background-color: #fbedc0; + margin-bottom: 6px; } + .sweet-alert .sa-error-container.show { + border: 1px solid #f0e1b9; } + .sweet-alert .sa-error-container .icon { + display: none; } + .sweet-alert .sa-error-container p { + color: #292f33; + font-weight: 600; + margin-top: 0; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg), scale(0.5); + -webkit-transform: rotateX(100deg), scale(0.5); + opacity: 0; } + + 100% { + transform: rotateX(0deg), scale(0.5); + -webkit-transform: rotateX(0deg), scale(0.5); + opacity: 1; } } diff --git a/node_modules/sweetalert/themes/twitter/twitter.scss b/node_modules/sweetalert/themes/twitter/twitter.scss new file mode 100644 index 0000000..2a7ec9f --- /dev/null +++ b/node_modules/sweetalert/themes/twitter/twitter.scss @@ -0,0 +1,177 @@ +// Twitter Theme for SweetAlert +// By Tristan Edwards + +.sweet-overlay { + background: rgba(41,47,51,0.9); +} + + +.sweet-alert { + $header-height: 40px; + $footer-height: 66px; + $text-color: #66757f; + $padding: 15px; + + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: $padding; + padding-top: $header-height + $padding; + text-align: right; // Align buttons + border-radius: 6px; + box-shadow: 0px 0px 0px 1px rgba(black, 0.11), 0px 6px 30px rgba(black, 0.14); + + h2 { + position: absolute; + top: 0; + left: 0; + right: 0; + height: $header-height; + line-height: $header-height; + font-size: 16px; + font-weight: 400; + color: #8899a6; + margin: 0; + color: $text-color; + border-bottom: 1px solid #e1e8ed; + } + + p { + display: block; + text-align: center; + color: #66757f; + font-weight: 400; + font-size: 13px; + margin-top: 7px; + } + + .sa-button-container { + background-color: #f5f8fa; + border-top: 1px solid #e1e8ed; + box-shadow: 0px -1px 0px white; + margin: -$padding; + margin-top: 0; + } + &[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 10px; + .sa-button-container { + display: none; + } + } + + button { + border-radius: 2px; + box-shadow: none !important; + text-shadow: 0px -1px 0px rgba(black, 0.3); + margin: 17px 0px; + border-radius: 4px; + font-size: 14px; + font-weight: 600; + padding: 8px 16px; + position: relative; + &:focus, &.cancel:focus { + box-shadow: none !important; + &::before { + content: ""; + position: absolute; + left: -5px; + top: -5px; + right: -5px; + bottom: -5px; + border: 2px solid #a5b0b4; + border-radius: 8px; + } + } + + &.confirm { + background-color: #55acee !important; + background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.05)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#0C000000)"; + border: 1px solid #3b88c3; + box-shadow: inset 0 1px 0 rgba(255,255,255,0.15); + margin-right: $padding; + &:hover { + background-color: #55acee; + background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.15)); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#26000000)"; + border-color: #3b88c3; + } + } + &.cancel { + color: #66757e; + background-color: #f5f8fa; + background-image: linear-gradient(#fff,#f5f8fa); + text-shadow: 0px -1px 0px white; + margin-right: 9px; + border: 1px solid #e1e8ed; + &:hover, &:focus:hover { + background-color: #e1e8ed; + background-image: linear-gradient(#fff,#e1e8ed); + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; + border-color: #e1e8ed; + } + &:focus { + background: #fff; + border-color: #fff; + } + } + } + + .sa-icon:not(.sa-custom) { + transform: scale(0.72); + margin-bottom: -2px; + margin-top: -10px; + } + + input { + border: 1px solid #e1e8ed; + border-radius: 3px; + padding: 10px 7px; + height: auto; + box-shadow: none; + font-size: 13px; + margin: 10px 0; + &:focus { + border-color: #94A1A6; + box-shadow: inset 0 0 0 1px rgba(77, 99, 107, 0.7); + } + } + + fieldset .sa-input-error { + display: none; + } + + .sa-error-container { + text-align: center; + border: none; + background-color: #fbedc0; + margin-bottom: 6px; + &.show { + border: 1px solid #f0e1b9; + } + + .icon { + display: none; + } + p { + color: #292f33; + font-weight: 600; + margin-top: 0; + } + } +} + + +// Animations + +@mixin keyframes($animation-name) { + @-webkit-keyframes #{$animation-name} { + @content; + } + @keyframes #{$animation-name} { + @content; + } +} + +@include keyframes(animateErrorIcon) { + 0% { transform: rotateX(100deg), scale(0.5); -webkit-transform: rotateX(100deg), scale(0.5); opacity: 0; } + 100% { transform: rotateX(0deg), scale(0.5); -webkit-transform: rotateX(0deg), scale(0.5); opacity: 1; } +} \ No newline at end of file diff --git a/stylesheets/2048.css b/stylesheets/2048.css index fb704fd..9f2606e 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -35,15 +35,13 @@ body { font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; color: #776e65; background-color: #bbada0; - width: 100px; + width: 150px; border-radius: 3px; margin: 0 auto; - height: 50px; - text-align: center; + height: 40px; + text-align: center; } - - .cell { background: rgba(238, 228, 218, 0.35); border-radius: 0.5rem; From 04146ae0e043f901095c495a3d82b00a75b52f5a Mon Sep 17 00:00:00 2001 From: Jenna Nichols Date: Fri, 5 Feb 2016 14:46:01 -0800 Subject: [PATCH 37/38] game lost function --- index.html | 4 ---- javascripts/2048.js | 42 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index a3a9633..c78300c 100644 --- a/index.html +++ b/index.html @@ -32,10 +32,6 @@

- -
diff --git a/javascripts/2048.js b/javascripts/2048.js index cbafd1f..82db152 100644 --- a/javascripts/2048.js +++ b/javascripts/2048.js @@ -14,6 +14,44 @@ Game.prototype.getTile = function(row, col, val) { } }; +Game.prototype.isGameLost = function() { + var matches; + var i; + var j; + + if (this.getEmptySpaces().length === 0) { + // check if there are any adjacent tiles of the same value + matches = 0; + + // check for matches within rows + for (i = 0; i < this.board.length - 1; i++) { + for (j = 0; j < this.board[i].length; j++) { + if (this.board[i][j] === this.board[i][j+1]) { + matches += 1; + } + } + } + + // check within columns + for (i = 0; i < this.board.length; i++) { + for (j = 0; j < this.board[i].length - 1; j++) { + if (this.board[i][j] === this.board[i][j+1]) { + matches += 1; + } + } + } + + if (matches === 0) { + console.log("GAME OVER"); + return true; + } else { + return false; + } + } else { + return false; + } +}; + Game.prototype.shouldGetNewTile = function(before, after) { if (JSON.stringify(before) === JSON.stringify(after)) { console.log("no tile for you"); @@ -230,7 +268,7 @@ Game.prototype.moveTile = function(tile, direction) { b[tileRow][tileCol] = 0; g.score += Number(tileVal * 2); $("#scoreboard").html("

" + g.score + "

"); - console.log(g.score); + // console.log(g.score); } }); $('.tile').attr("data-new", "false"); @@ -306,6 +344,8 @@ $(document).ready(function() { $("#scoreboard").html("

" + game.score + "

"); if (game.won() !== true && game.isGettingNewTile === true) { game.addTile(); + } else if (game.isGameLost() === true) { + console.log("GAME OVER"); } else if (game.won() === true) { $("#scoreboard").html("

" + game.score + "

"); var div = $('
'); From aa86ebd07a36333405ff37dd6560f1a541e8427f Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 5 Feb 2016 14:49:48 -0800 Subject: [PATCH 38/38] Styling for header --- index.html | 10 +++++++--- stylesheets/2048.css | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 84650af..9a8ad38 100644 --- a/index.html +++ b/index.html @@ -9,12 +9,16 @@ +
+
+

2048

+
+
+

Score: 0

+

Reset Game

-
-

Score: 0

-
diff --git a/stylesheets/2048.css b/stylesheets/2048.css index 9f2606e..398cd2f 100644 --- a/stylesheets/2048.css +++ b/stylesheets/2048.css @@ -2,6 +2,10 @@ html { font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; } +body { + font-family: "Clear Sans", "Helvetica Neue", Arial, sans-serif; +} + #gameboard { background: #bbada0; border-radius: 0.5rem; @@ -13,6 +17,25 @@ html { body { text-align: center; + color: #776365; +} + +.container { + width: 450px; + margin: 0 auto; +} + +.scores-container { + float: right; + text-alight: right; +} + + +h1.title { + font-weight: bold; + margin: 0; + display: block; + float: left; } #button { @@ -25,21 +48,30 @@ body { #reset { color: white; - font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; font-size: 16px; text-align: center; padding-top: 10%; } #scoreboard { - font: normal normal 30px/1 "Clear Sans", "Helvetica Neue", Arial, sans-serif; + position: relative; + display: inline-block; + padding: 15px 25px; + height: 25px; + font-size: 25px; + line-height: 47px; + font-weight: bold; + color: white; + margin-top: 8px; color: #776e65; - background-color: #bbada0; - width: 150px; border-radius: 3px; - margin: 0 auto; - height: 40px; +} + +#scoreboard p { text-align: center; + display: inline-block; + vertical-align: middle; + line-height: normal; } .cell {