UNPKG

bespoke-backdrop

Version:
64 lines (53 loc) 2.35 kB
/*! * bespoke-backdrop v1.0.0 * * Copyright 2014, Mark Dalgleish * This content is released under the MIT license * http://markdalgleish.mit-license.org */ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o;"undefined"!=typeof window?o=window:"undefined"!=typeof global?o=global:"undefined"!=typeof self&&(o=self);var n=o;n=n.bespoke||(n.bespoke={}),n=n.plugins||(n.plugins={}),n.backdrop=e()}}(function(){var define,module,exports;return (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);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){ module.exports = function() { return function(deck) { var backdrops; function createBackdropForSlide(slide) { var backdropAttribute = slide.getAttribute('data-bespoke-backdrop'); if (backdropAttribute) { var backdrop = document.createElement('div'); backdrop.className = backdropAttribute; backdrop.classList.add('bespoke-backdrop'); deck.parent.appendChild(backdrop); return backdrop; } } function updateClasses(el) { if (el) { var index = backdrops.indexOf(el), currentIndex = deck.slide(); removeClass(el, 'active'); removeClass(el, 'inactive'); removeClass(el, 'before'); removeClass(el, 'after'); if (index !== currentIndex) { addClass(el, 'inactive'); addClass(el, index < currentIndex ? 'before' : 'after'); } else { addClass(el, 'active'); } } } function removeClass(el, className) { el.classList.remove('bespoke-backdrop-' + className); } function addClass(el, className) { el.classList.add('bespoke-backdrop-' + className); } backdrops = deck.slides .map(createBackdropForSlide); deck.on('activate', function() { backdrops.forEach(updateClasses); }); }; }; },{}]},{},[1]) (1) });