diff --git a/Gruntfile.js b/Gruntfile.js index 629859d..680b0b9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -31,7 +31,8 @@ module.exports = function(grunt) { '<%= meta.srcPath %>js/push.js', '<%= meta.srcPath %>js/segmented-controllers.js', '<%= meta.srcPath %>js/sliders.js', - '<%= meta.srcPath %>js/toggles.js' + '<%= meta.srcPath %>js/toggles.js', + '<%= meta.srcPath %>js/alerts.js' ], dest: '<%= meta.distPath %><%= pkg.name %>.js' } diff --git a/dist/ratchet.css b/dist/ratchet.css index d713dae..d38e712 100644 --- a/dist/ratchet.css +++ b/dist/ratchet.css @@ -1002,6 +1002,12 @@ input[type="button"] { color: #fff; border-radius: 3px; z-index: 10; + -webkit-transition: opacity; + transition: opacity; + -webkit-transition-duration: 0.5s; + transition-duration: 0.5s; + -webkit-transition-timing-function: linear; + transition-timing-function: linear; } .alert .close { position: relative; @@ -1018,6 +1024,9 @@ input[type="button"] { .alert .close:active { opacity: .6; } +.alert.dismiss { + opacity: 0; +} .alert-positive { background-color: rgba(76, 217, 100, 0.97); diff --git a/dist/ratchet.js b/dist/ratchet.js index 06948e7..732bc5a 100644 --- a/dist/ratchet.js +++ b/dist/ratchet.js @@ -15,8 +15,7 @@ !function () { var findModals = function (target) { - var i; - var modals = document.querySelectorAll('a'); + var i, modals = document.querySelectorAll('a'); for (; target && target !== document; target = target.parentNode) { for (i = modals.length; i--;) { if (modals[i] === target) return target; } } @@ -776,4 +775,41 @@ toggle = false; }); -}(); \ No newline at end of file +}(); +/* ---------------------------------- + * ALERT v0.0.1 + * Licensed under The MIT License + * http://opensource.org/licenses/MIT + * ---------------------------------- */ + +!function () { + var findAlerts = function (target) { + var i, alerts = document.querySelectorAll('a'); + for (; target && target !== document; target = target.parentNode) { + for (i = alerts.length; i--;) { if (alerts[i] === target) return target; } + } + }; + + var onAlertHidden = function () { + var alert = getAlert(event); + + alert.style.display = 'none'; + alert.removeEventListener('webkitTransitionEnd', onAlertHidden); + } + + var getAlert = function (event) { + var alertDismiss = findAlerts(event.target); + if (alertDismiss && alertDismiss.hash) return document.querySelector(alertDismiss.hash); + console.log('get alert'); + }; + + window.addEventListener('click', function (event) { + var alert = getAlert(event); + + if (alert) { + if (alert && alert.classList.contains('alert')) alert.classList.add('dismiss'); + alert.addEventListener('webkitTransitionEnd', onAlertHidden); + event.preventDefault(); + } + }); +}(); diff --git a/examples/app-default/index.html b/examples/app-default/index.html index d149c15..75b2fd1 100644 --- a/examples/app-default/index.html +++ b/examples/app-default/index.html @@ -19,8 +19,8 @@
- -