UNPKG

foundation-sites

Version:

The most advanced responsive front-end framework in the world.

3 lines (2 loc) 17.5 kB
((e,t)=>{"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("./foundation.util.touch")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion","./foundation.util.touch"],t):"object"==typeof exports?exports.__FOUNDATION_EXTERNAL__=t(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("./foundation.util.touch")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.reveal"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery,e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],e.__FOUNDATION_EXTERNAL__["foundation.util.motion"],e.__FOUNDATION_EXTERNAL__["foundation.util.touch"]))})(self,function(t,i,o,n,s,r){return l={"./js/foundation.reveal.js":function(e,t,i){i.r(t),i.d(t,{Reveal:function(){return o}});var t=i("jquery"),s=i.n(t),n=i("./foundation.core"),r=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,(e=>(e=((e,t)=>{if("object"!=d(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);if("object"!=d(i=i.call(e,t||"default")))return i;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==d(e)?e:e+""))(o.key),o)}}function h(e,t,i){t=g(t);var o=e,t=p()?Reflect.construct(t,i||[],g(e).constructor):t.apply(e,i);if(!t||"object"!=d(t)&&"function"!=typeof t){if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0===(t=o))throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return t}function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(p=function(){return!!e})()}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t){return(y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}var o=(e=>{function i(){var e=this,t=i;if(e instanceof t)return h(this,i,arguments);throw new TypeError("Cannot call a class as a function")}var t,o=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");return o.prototype=Object.create(e&&e.prototype,{constructor:{value:o,writable:!0,configurable:!0}}),Object.defineProperty(o,"prototype",{writable:!1}),e&&y(o,e),o=i,(e=[{key:"_setup",value:function(e,t){this.$element=e,this.options=s().extend({},i.defaults,this.$element.data(),t),this.className="Reveal",this._init(),u.Touch.init(s()),c.Triggers.init(s()),r.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=s()('[data-open="'.concat(this.id,'"]')).length?s()('[data-open="'.concat(this.id,'"]')):s()('[data-toggle="'.concat(this.id,'"]')),this.$anchor.attr({"aria-controls":this.id,"aria-haspopup":"dialog",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(s()(this.options.appendTo)),this.$element.addClass("without-overlay")),this._events(),this.options.deepLink&&window.location.hash==="#".concat(this.id)&&(this.onLoadListener=(0,n.onLoad)(s()(window),function(){return e.open()}))}},{key:"_makeOverlay",value:function(){var e="";return this.options.additionalOverlayClasses&&(e=" "+this.options.additionalOverlayClasses),s()("<div></div>").addClass("reveal-overlay"+e).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var e=this.$element.outerWidth(),t=s()(window).width(),i=this.$element.outerHeight(),o=s()(window).height(),n=null,t="auto"===this.options.hOffset?parseInt((t-e)/2,10):parseInt(this.options.hOffset,10);"auto"===this.options.vOffset?n=o<i?parseInt(Math.min(100,o/10),10):parseInt((o-i)/4,10):null!==this.options.vOffset&&(n=parseInt(this.options.vOffset,10)),null!==n&&this.$element.css({top:n+"px"}),this.$overlay&&"auto"===this.options.hOffset||(this.$element.css({left:t+"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]||s()(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]&&!s().contains(o.$element[0],e.target)&&s().contains(document,e.target)&&o.close()}),this.options.deepLink&&s()(window).on("hashchange.zf.reveal:".concat(this.id),this._handleState.bind(this))}},{key:"_handleState",value:function(){window.location.hash!=="#"+this.id||this.isActive?this.close():this.open()}},{key:"_disableScroll",value:function(e){e=e||s()(window).scrollTop(),s()(document).height()>s()(window).height()&&s()("html").css("top",-e)}},{key:"_enableScroll",value:function(e){e=e||parseInt(s()("html").css("top"),10),s()(document).height()>s()(window).height()&&(s()("html").css("top",""),s()(window).scrollTop(-e))}},{key:"open",value:function(){var e=this,t="#".concat(this.id),i=(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=s()(document.activeElement).is(this.$anchor)?s()(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===s()(".reveal:visible").length&&this._disableScroll(),this);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=r.Keyboard.findFocusable(e.$element),i.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),i._addGlobalClasses(),r.Keyboard.trapFocus(i.$element))})):(this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay)),this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),r.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function e(){s()("html").toggleClass("zf-has-scroll",!!(s()(document).height()>s()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",e),e(),s()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),s()("html").removeClass("is-reveal-open"),s()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var t=this;this.$element&&(this.focusableElements=r.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||s()("body").on("click.zf.dropdown tap.zf.dropdown",function(e){e.target!==t.$element[0]&&!s().contains(t.$element[0],e.target)&&s().contains(document,e.target)&&t.close()}),this.options.closeOnEsc)&&s()(window).on("keydown.zf.reveal",function(e){r.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 e,t=this;function i(){var e=parseInt(s()("html").css("top"),10);0===s()(".reveal:visible").length&&t._removeGlobalClasses(),r.Keyboard.releaseFocus(t.$element),t.$element.attr("aria-hidden",!0),0===s()(".reveal:visible").length&&t._enableScroll(e),t.$element.trigger("closed.zf.reveal")}this.options.animationOut?(this.options.overlay&&l.Motion.animateOut(this.$overlay,"fade-out"),l.Motion.animateOut(this.$element,this.options.animationOut,i)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,i):i()),this.options.closeOnEsc&&s()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&s()("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)&&(window.history.replaceState?(e=window.location.pathname+window.location.search,this.options.updateHistory?window.history.pushState({},"",e):window.history.replaceState("",document.title,e)):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(s()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),s()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&s()(window).off(this.onLoadListener),0===s()(".reveal:visible").length&&this._removeGlobalClasses()}}])&&f(o.prototype,e),t&&f(o,t),Object.defineProperty(o,"prototype",{writable:!1}),o})(n.Plugin);o.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){i.r(t),i.d(t,{Triggers:function(){return c}});var t=i("jquery"),s=i.n(t),o=i("./foundation.core"),n=i("./foundation.util.motion");function r(e){return(r="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 a(t,i){t.data(i).split(" ").forEach(function(e){s()("#".concat(e))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[t])})}var l=(()=>{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})(),c={Listeners:{Basic:{},Global:{}},Initializers:{}};function u(e,t,i){var o,n=Array.prototype.slice.call(arguments,3);s()(window).on(t,function(){o&&clearTimeout(o),o=setTimeout(function(){i.apply(null,n)},e||10)})}c.Listeners.Basic={openListener:function(){a(s()(this),"open")},closeListener:function(){s()(this).data("close")?a(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?a(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(e){var t=s()(this).data("closable");e.stopPropagation(),""!==t?n.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)])}},c.Initializers.addOpenListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.openListener),e.on("click.zf.trigger","[data-open]",c.Listeners.Basic.openListener)},c.Initializers.addCloseListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.closeListener),e.on("click.zf.trigger","[data-close]",c.Listeners.Basic.closeListener)},c.Initializers.addToggleListener=function(e){e.off("click.zf.trigger",c.Listeners.Basic.toggleListener),e.on("click.zf.trigger","[data-toggle]",c.Listeners.Basic.toggleListener)},c.Initializers.addCloseableListener=function(e){e.off("close.zf.trigger",c.Listeners.Basic.closeableListener),e.on("close.zf.trigger","[data-closeable], [data-closable]",c.Listeners.Basic.closeableListener)},c.Initializers.addToggleFocusListener=function(e){e.off("focus.zf.trigger blur.zf.trigger",c.Listeners.Basic.toggleFocusListener),e.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",c.Listeners.Basic.toggleFocusListener)},c.Listeners.Global={resizeListener:function(e){l||e.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),e.attr("data-events","resize")},scrollListener:function(e){l||e.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),e.attr("data-events","scroll")},closeMeListener:function(e,t){e=e.namespace.split(".")[0];s()("[data-".concat(e,"]")).not('[data-yeti-box="'.concat(t,'"]')).each(function(){var e=s()(this);e.triggerHandler("close.zf.trigger",[e])})}},c.Initializers.addClosemeListener=function(e){var t=s()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];e&&("string"==typeof e?i.push(e):"object"===r(e)&&"string"==typeof e[0]?i=i.concat(e):console.error("Plugin names must be strings")),t.length&&(e=i.map(function(e){return"closeme.zf.".concat(e)}).join(" "),s()(window).off(e).on(e,c.Listeners.Global.closeMeListener))},c.Initializers.addResizeListener=function(e){var t=s()("[data-resize]");t.length&&u(e,"resize.zf.trigger",c.Listeners.Global.resizeListener,t)},c.Initializers.addScrollListener=function(e){var t=s()("[data-scroll]");t.length&&u(e,"scroll.zf.trigger",c.Listeners.Global.scrollListener,t)},c.Initializers.addMutationEventsListener=function(e){if(!l)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 l(t).observe(i[o],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})},c.Initializers.addSimpleListeners=function(){var e=s()(document);c.Initializers.addOpenListener(e),c.Initializers.addCloseListener(e),c.Initializers.addToggleListener(e),c.Initializers.addCloseableListener(e),c.Initializers.addToggleFocusListener(e)},c.Initializers.addGlobalListeners=function(){var e=s()(document);c.Initializers.addMutationEventsListener(e),c.Initializers.addResizeListener(250),c.Initializers.addScrollListener(),c.Initializers.addClosemeListener()},c.init=function(e,t){(0,o.onLoad)(s()(window),function(){!0!==s().triggersInitialized&&(c.Initializers.addSimpleListeners(),c.Initializers.addGlobalListeners(),s().triggersInitialized=!0)}),t&&(t.Triggers=c,t.IHearYou=c.Initializers.addGlobalListeners)}},"./foundation.core":function(e){e.exports=t},"./foundation.util.keyboard":function(e){e.exports=o},"./foundation.util.mediaQuery":function(e){e.exports=n},"./foundation.util.motion":function(e){e.exports=s},"./foundation.util.touch":function(e){e.exports=r},jquery:function(e){e.exports=i}},c={},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var i in t)a.o(t,i)&&!a.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d={},(a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(d),a.d(d,{Foundation:function(){return e.Foundation},Reveal:function(){return u.Reveal}}),e=a("./foundation.core"),u=a("./js/foundation.reveal.js"),e.Foundation.plugin(u.Reveal,"Reveal"),d;function a(e){var t=c[e];return void 0!==t||(t=c[e]={exports:{}},l[e](t,t.exports,a)),t.exports}var l,c,e,u,d}); //# sourceMappingURL=foundation.reveal.min.js.map