UNPKG

17.4 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion","./foundation.util.touch","jquery"],t):"object"==typeof exports?exports["foundation.reveal"]=t(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.reveal"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],e.__FOUNDATION_EXTERNAL__["foundation.util.motion"],e.__FOUNDATION_EXTERNAL__["foundation.util.touch"],e.jQuery))}(window,function(i,o,n,s,r,a){return u={},l.m=c={"./foundation.core":function(e,t){e.exports=i},"./foundation.util.keyboard":function(e,t){e.exports=o},"./foundation.util.mediaQuery":function(e,t){e.exports=n},"./foundation.util.motion":function(e,t){e.exports=s},"./foundation.util.touch":function(e,t){e.exports=r},"./js/entries/plugins/foundation.reveal.js":function(e,t,i){"use strict";i.r(t);var o=i("./foundation.core");i.d(t,"Foundation",function(){return o.Foundation});var n=i("./js/foundation.reveal.js");i.d(t,"Reveal",function(){return n.Reveal}),o.Foundation.plugin(n.Reveal,"Reveal")},"./js/foundation.reveal.js":function(e,t,i){"use strict";i.r(t),i.d(t,"Reveal",function(){return v});var o=i("jquery"),r=i.n(o),n=i("./foundation.core"),s=i("./foundation.util.keyboard"),a=i("./foundation.util.mediaQuery"),l=i("./foundation.util.motion"),c=i("./js/foundation.util.triggers.js"),u=i("./foundation.util.touch");function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){for(var i=0;i<t.length;i++){var o=t[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function h(e,t){return!t||"object"!==d(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function p(e){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var v=function(){function i(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),h(this,p(i).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}(i,n["Plugin"]),function(e,t,i){t&&f(e.prototype,t),i&&f(e,i)}(i,[{key:"_setup",value:function(e,t){this.$element=e,this.options=r.a.extend({},i.defaults,this.$element.data(),t),this.className="Reveal",this._init(),u.Touch.init(r.a),c.Triggers.init(r.a),s.Keyboard.register("Reveal",{ESCAPE:"close"})}},{key:"_init",value:function(){var e=this;a.MediaQuery._init(),this.id=this.$element.attr("id"),this.isActive=!1,this.cached={mq:a.MediaQuery.current},this.$anchor=r()('[data-open="'.concat(this.id,'"]')).length?r()('[data-open="'.concat(this.id,'"]')):r()('[data-toggle="'.concat(this.id,'"]')),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":!0,tabindex:0}),(this.options.fullScreen||this.$element.hasClass("full"))&&(this.options.fullScreen=!0,this.options.overlay=!1),this.options.overlay&&!this.$overlay&&(this.$overlay=this._makeOverlay(this.id)),this.$element.attr({role:"dialog","aria-hidden":!0,"data-yeti-box":this.id,"data-resize":this.id}),this.$overlay?this.$element.detach().appendTo(this.$overlay):(this.$element.detach().appendTo(r()(this.options.appendTo)),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#".concat(this.id)&&(this.onLoadListener=Object(n.onLoad)(r()(window),function(){return e.open()}))}},{key:"_makeOverlay",value:function(){var e="";return this.options.additionalOverlayClasses&&(e=" "+this.options.additionalOverlayClasses),r()("<div></div>").addClass("reveal-overlay"+e).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var e,t=this.$element.outerWidth(),i=r()(window).width(),o=this.$element.outerHeight(),n=r()(window).height(),s=null;e="auto"===this.options.hOffset?parseInt((i-t)/2,10):parseInt(this.options.hOffset,10),"auto"===this.options.vOffset?s=n<o?parseInt(Math.min(100,n/10),10):parseInt((n-o)/4,10):null!==this.options.vOffset&&(s=parseInt(this.options.vOffset,10)),null!==s&&this.$element.css({top:s+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:e+"px"}),this.$element.css({margin:"0px"}))}},{key:"_events",value:function(){var i=this,o=this;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":function(e,t){if(e.target===o.$element[0]||r()(e.target).parents("[data-closable]")[0]===t)return i.close.apply(i)},"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":function(){o._updatePosition()}}),this.options.closeOnClick&&this.options.overlay&&this.$overlay.off(".zf.reveal").on("click.zf.dropdown tap.zf.dropdown",function(e){e.target!==o.$element[0]&&!r.a.contains(o.$element[0],e.target)&&r.a.contains(document,e.target)&&o.close()}),this.options.deepLink&&r()(window).on("hashchange.zf.reveal:".concat(this.id),this._handleState.bind(this))}},{key:"_handleState",value:function(e){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"_disableScroll",value:function(e){e=e||r()(window).scrollTop(),r()(document).height()>r()(window).height()&&r()("html").css("top",-e)}},{key:"_enableScroll",value:function(e){e=e||parseInt(r()("html").css("top")),r()(document).height()>r()(window).height()&&(r()("html").css("top",""),r()(window).scrollTop(-e))}},{key:"open",value:function(){var e=this,t="#".concat(this.id);this.options.deepLink&&window.location.hash!==t&&(window.history.pushState?this.options.updateHistory?window.history.pushState({},"",t):window.history.replaceState({},"",t):window.location.hash=t),this.$activeAnchor=r()(document.activeElement).is(this.$anchor)?r()(document.activeElement):this.$anchor,this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),0===r()(".reveal:visible").length&&this._disableScroll();var i=this;if(this.options.animationIn){this.options.overlay&&l.Motion.animateIn(this.$overlay,"fade-in"),l.Motion.animateIn(this.$element,this.options.animationIn,function(){e.$element&&(e.focusableElements=s.Keyboard.findFocusable(e.$element),i.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),i._addGlobalClasses(),s.Keyboard.trapFocus(i.$element))})}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),s.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function e(){r()("html").toggleClass("zf-has-scroll",!!(r()(document).height()>r()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",function(){return e()}),e(),r()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),r()("html").removeClass("is-reveal-open"),r()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var t=this;this.$element&&(this.focusableElements=s.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||r()("body").on("click.zf.dropdown tap.zf.dropdown",function(e){e.target!==t.$element[0]&&!r.a.contains(t.$element[0],e.target)&&r.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&r()(window).on("keydown.zf.reveal",function(e){s.Keyboard.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){if(!this.isActive||!this.$element.is(":visible"))return!1;var t=this;function e(){var e=parseInt(r()("html").css("top"));0===r()(".reveal:visible").length&&t._removeGlobalClasses(),s.Keyboard.releaseFocus(t.$element),t.$element.attr("aria-hidden",!0),0===r()(".reveal:visible").length&&t._enableScroll(e),t.$element.trigger("closed.zf.reveal")}if(this.options.animationOut?(this.options.overlay&&l.Motion.animateOut(this.$overlay,"fade-out"),l.Motion.animateOut(this.$element,this.options.animationOut,e)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,e):e()),this.options.closeOnEsc&&r()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&r()("body").off("click.zf.dropdown tap.zf.dropdown"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,t.options.deepLink&&window.location.hash==="#".concat(this.id))if(window.history.replaceState){var i=window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",i):window.history.replaceState("",document.title,i)}else window.location.hash="";this.$activeAnchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(r()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),r()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&r()(window).off(this.onLoadListener),0===r()(".reveal:visible").length&&this._removeGlobalClasses()}}]),i}();v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},"./js/foundation.util.triggers.js":function(e,t,i){"use strict";i.r(t),i.d(t,"Triggers",function(){return u});var o=i("jquery"),s=i.n(o),n=i("./foundation.core"),r=i("./foundation.util.motion");function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(t,i){t.data(i).split(" ").forEach(function(e){s()("#".concat(e))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[t])})}var c=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t<e.length;t++)if("".concat(e[t],"MutationObserver")in window)return window["".concat(e[t],"MutationObserver")];return!1}(),u={Listeners:{Basic:{},Global:{}},Initializers:{}};function d(t,e,i){var o,n=Array.prototype.slice.call(arguments,3);s()(window).off(e).on(e,function(e){o&&clearTimeout(o),o=setTimeout(function(){i.apply(null,n)},t||10)})}u.Listeners.Basic={openListener:function(){l(s()(this),"open")},closeListener:function(){s()(this).data("close")?l(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?l(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(e){var t=s()(this).data("closable");e.stopPropagation(),""!==t?r.Motion.animateOut(s()(this),t,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var e=s()(this).data("toggle-focus");s()("#".concat(e)).triggerHandler("toggle.zf.trigger",[s()(this)])}},u.Initializers.addOpenListener=function(e){e.off("click.zf.trigger",u.Listeners.Basic.openListener),e.on("click.zf.trigger","[data-open]",u.Listeners.Basic.openListener)},u.Initializers.addCloseListener=function(e){e.off("click.zf.trigger",u.Listeners.Basic.closeListener),e.on("click.zf.trigger","[data-close]",u.Listeners.Basic.closeListener)},u.Initializers.addToggleListener=function(e){e.off("click.zf.trigger",u.Listeners.Basic.toggleListener),e.on("click.zf.trigger","[data-toggle]",u.Listeners.Basic.toggleListener)},u.Initializers.addCloseableListener=function(e){e.off("close.zf.trigger",u.Listeners.Basic.closeableListener),e.on("close.zf.trigger","[data-closeable], [data-closable]",u.Listeners.Basic.closeableListener)},u.Initializers.addToggleFocusListener=function(e){e.off("focus.zf.trigger blur.zf.trigger",u.Listeners.Basic.toggleFocusListener),e.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",u.Listeners.Basic.toggleFocusListener)},u.Listeners.Global={resizeListener:function(e){c||e.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),e.attr("data-events","resize")},scrollListener:function(e){c||e.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),e.attr("data-events","scroll")},closeMeListener:function(e,t){var i=e.namespace.split(".")[0];s()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(t,'"]')).each(function(){var e=s()(this);e.triggerHandler("close.zf.trigger",[e])})}},u.Initializers.addClosemeListener=function(e){var t=s()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(e&&("string"==typeof e?i.push(e):"object"===a(e)&&"string"==typeof e[0]?i=i.concat(e):console.error("Plugin names must be strings")),t.length){var o=i.map(function(e){return"closeme.zf.".concat(e)}).join(" ");s()(window).off(o).on(o,u.Listeners.Global.closeMeListener)}},u.Initializers.addResizeListener=function(e){var t=s()("[data-resize]");t.length&&d(e,"resize.zf.trigger",u.Listeners.Global.resizeListener,t)},u.Initializers.addScrollListener=function(e){var t=s()("[data-scroll]");t.length&&d(e,"scroll.zf.trigger",u.Listeners.Global.scrollListener,t)},u.Initializers.addMutationEventsListener=function(e){if(!c)return!1;function t(e){var t=s()(e[0].target);switch(e[0].type){case"attributes":"scroll"===t.attr("data-events")&&"data-events"===e[0].attributeName&&t.triggerHandler("scrollme.zf.trigger",[t,window.pageYOffset]),"resize"===t.attr("data-events")&&"data-events"===e[0].attributeName&&t.triggerHandler("resizeme.zf.trigger",[t]),"style"===e[0].attributeName&&(t.closest("[data-mutate]").attr("data-events","mutate"),t.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[t.closest("[data-mutate]")]));break;case"childList":t.closest("[data-mutate]").attr("data-events","mutate"),t.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[t.closest("[data-mutate]")]);break;default:return!1}}var i=e.find("[data-resize], [data-scroll], [data-mutate]");if(i.length)for(var o=0;o<=i.length-1;o++){new c(t).observe(i[o],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},u.Initializers.addSimpleListeners=function(){var e=s()(document);u.Initializers.addOpenListener(e),u.Initializers.addCloseListener(e),u.Initializers.addToggleListener(e),u.Initializers.addCloseableListener(e),u.Initializers.addToggleFocusListener(e)},u.Initializers.addGlobalListeners=function(){var e=s()(document);u.Initializers.addMutationEventsListener(e),u.Initializers.addResizeListener(),u.Initializers.addScrollListener(),u.Initializers.addClosemeListener()},u.init=function(e,t){Object(n.onLoad)(e(window),function(){!0!==e.triggersInitialized&&(u.Initializers.addSimpleListeners(),u.Initializers.addGlobalListeners(),e.triggersInitialized=!0)}),t&&(t.Triggers=u,t.IHearYou=u.Initializers.addGlobalListeners)}},14:function(e,t,i){e.exports=i("./js/entries/plugins/foundation.reveal.js")},jquery:function(e,t){e.exports=a}},l.c=u,l.d=function(e,t,i){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(l.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)l.d(i,o,function(e){return t[e]}.bind(null,o));return i},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l(l.s=14);function l(e){if(u[e])return u[e].exports;var t=u[e]={i:e,l:!1,exports:{}};return c[e].call(t.exports,t,t.exports,l),t.l=!0,t.exports}var c,u});
2//# sourceMappingURL=foundation.reveal.min.js.map