foundation-rails 6.6.2.0 → 6.9.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +2 -0
- data/Appraisals +4 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +198 -145
- data/bower.json +3 -3
- data/foundation-rails.gemspec +4 -4
- data/gemfiles/rails_7.1.gemfile +10 -0
- data/gemfiles/rails_7.1.gemfile.lock +261 -0
- data/lib/foundation/rails/version.rb +1 -1
- data/lib/generators/foundation/templates/_settings.scss +32 -28
- data/vendor/assets/js/foundation.cjs.js +1996 -3162
- data/vendor/assets/js/foundation.cjs.js.map +1 -1
- data/vendor/assets/js/foundation.es6.js +385 -292
- data/vendor/assets/js/foundation.es6.js.map +1 -1
- data/vendor/assets/js/foundation.esm.js +1663 -2832
- data/vendor/assets/js/foundation.esm.js.map +1 -1
- data/vendor/assets/js/foundation.js +2440 -3870
- data/vendor/assets/js/foundation.js.map +1 -1
- data/vendor/assets/js/foundation.min.js +1 -1
- data/vendor/assets/js/foundation.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.abide.js +238 -344
- data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.accordion.js +197 -275
- data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.accordionMenu.js +174 -260
- data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.core.js +308 -447
- data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.drilldown.js +258 -358
- data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.dropdown.js +289 -457
- data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.dropdownMenu.js +246 -346
- data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.equalizer.js +178 -261
- data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.interchange.js +227 -326
- data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.magellan.js +225 -336
- data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.offcanvas.js +326 -471
- data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.orbit.js +244 -347
- data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +203 -278
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveMenu.js +205 -255
- data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveToggle.js +170 -226
- data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.reveal.js +284 -444
- data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.slider.js +322 -483
- data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.smoothScroll.js +138 -188
- data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.sticky.js +253 -394
- data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.tabs.js +228 -317
- data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.toggler.js +207 -294
- data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.tooltip.js +275 -434
- data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.box.js +130 -186
- data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.imageLoader.js +110 -150
- data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.keyboard.js +157 -172
- data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +167 -233
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.motion.js +123 -161
- data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.nest.js +123 -160
- data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.timer.js +116 -171
- data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.touch.js +172 -228
- data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.triggers.js +158 -222
- data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
- data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
- data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
- data/vendor/assets/scss/_global.scss +18 -5
- data/vendor/assets/scss/components/_accordion-menu.scss +2 -2
- data/vendor/assets/scss/components/_badge.scss +1 -1
- data/vendor/assets/scss/components/_breadcrumbs.scss +2 -1
- data/vendor/assets/scss/components/_button-group.scss +13 -8
- data/vendor/assets/scss/components/_button.scss +13 -13
- data/vendor/assets/scss/components/_callout.scss +2 -2
- data/vendor/assets/scss/components/_close-button.scss +5 -4
- data/vendor/assets/scss/components/_dropdown-menu.scss +1 -1
- data/vendor/assets/scss/components/_label.scss +1 -1
- data/vendor/assets/scss/components/_menu.scss +54 -19
- data/vendor/assets/scss/components/_off-canvas.scss +18 -16
- data/vendor/assets/scss/components/_orbit.scss +3 -3
- data/vendor/assets/scss/components/_pagination.scss +1 -1
- data/vendor/assets/scss/components/_progress-bar.scss +1 -1
- data/vendor/assets/scss/components/_responsive-embed.scss +1 -1
- data/vendor/assets/scss/components/_reveal.scss +8 -3
- data/vendor/assets/scss/components/_slider.scss +5 -2
- data/vendor/assets/scss/components/_switch.scss +25 -2
- data/vendor/assets/scss/components/_table.scss +8 -7
- data/vendor/assets/scss/components/_tabs.scss +2 -2
- data/vendor/assets/scss/components/_top-bar.scss +7 -5
- data/vendor/assets/scss/components/_visibility.scss +45 -2
- data/vendor/assets/scss/forms/_label.scss +2 -1
- data/vendor/assets/scss/forms/_progress.scss +1 -1
- data/vendor/assets/scss/forms/_range.scss +1 -1
- data/vendor/assets/scss/forms/_select.scss +5 -4
- data/vendor/assets/scss/forms/_text.scss +2 -2
- data/vendor/assets/scss/foundation.scss +1 -1
- data/vendor/assets/scss/grid/_classes.scss +1 -1
- data/vendor/assets/scss/grid/_column.scss +3 -2
- data/vendor/assets/scss/grid/_flex-grid.scss +7 -6
- data/vendor/assets/scss/grid/_gutter.scss +1 -1
- data/vendor/assets/scss/grid/_layout.scss +5 -5
- data/vendor/assets/scss/grid/_position.scss +4 -4
- data/vendor/assets/scss/grid/_row.scss +1 -1
- data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
- data/vendor/assets/scss/motion-ui/util/_series.scss +1 -1
- data/vendor/assets/scss/motion-ui/util/_unit.scss +54 -1
- data/vendor/assets/scss/prototype/_border-none.scss +1 -1
- data/vendor/assets/scss/prototype/_font-styling.scss +2 -2
- data/vendor/assets/scss/prototype/_overflow.scss +9 -0
- data/vendor/assets/scss/prototype/_rotate.scss +7 -5
- data/vendor/assets/scss/prototype/_separator.scss +5 -5
- data/vendor/assets/scss/prototype/_shadow.scss +1 -2
- data/vendor/assets/scss/prototype/_spacing.scss +33 -33
- data/vendor/assets/scss/prototype/_text-transformation.scss +3 -3
- data/vendor/assets/scss/settings/_settings.scss +32 -28
- data/vendor/assets/scss/typography/_base.scss +6 -6
- data/vendor/assets/scss/typography/_helpers.scss +10 -2
- data/vendor/assets/scss/typography/_print.scss +2 -2
- data/vendor/assets/scss/util/_breakpoint.scss +21 -18
- data/vendor/assets/scss/util/_color.scss +20 -8
- data/vendor/assets/scss/util/_direction.scss +1 -1
- data/vendor/assets/scss/util/_flex.scss +1 -1
- data/vendor/assets/scss/util/_math.scss +61 -9
- data/vendor/assets/scss/util/_mixins.scss +18 -14
- data/vendor/assets/scss/util/_selector.scss +1 -15
- data/vendor/assets/scss/util/_typography.scss +6 -6
- data/vendor/assets/scss/util/_unit.scss +14 -8
- data/vendor/assets/scss/util/_value.scss +3 -18
- data/vendor/assets/scss/vendor/normalize.scss +19 -2
- data/vendor/assets/scss/xy-grid/_cell.scss +16 -5
- data/vendor/assets/scss/xy-grid/_classes.scss +8 -8
- data/vendor/assets/scss/xy-grid/_frame.scss +12 -0
- data/vendor/assets/scss/xy-grid/_grid.scss +2 -2
- data/vendor/assets/scss/xy-grid/_gutters.scss +2 -2
- data/vendor/assets/scss/xy-grid/_layout.scss +1 -1
- data/vendor/assets/scss/xy-grid/_position.scss +12 -7
- data/vendor/assets/scss/xy-grid/_xy-grid.scss +2 -2
- metadata +21 -19
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.offcanvas.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.offcanvas.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","OffCanvas","element","options","className","$element","$","extend","defaults","data","contentClasses","base","reveal","$lastTrigger","$triggers","position","$content","nested","$sticky","isInCanvas","each","index","val","push","Triggers","init","MediaQuery","_init","_events","Keyboard","register","id","attr","contentId","siblings","length","first","closest","console","warn","transition","removeClass","addClass","document","find","is","match","contentOverlay","overlay","createElement","overlayPosition","css","setAttribute","$overlay","insertAfter","append","revealOnRegExp","RegExp","RegExpEscape","revealClass","revealOnClass","exec","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","off","on","open","bind","close","toggle","_handleKeyboard","closeOnClick","$target","window","_this","onLoadListener","onLoad","atLeast","hasReveal","join","_","el","$el","topVal","parseInt","top","absoluteTopVal","scrollTop","width","stickyData","_addContentClasses","event","elem","scrollHeight","clientHeight","allowUp","allowDown","lastY","originalEvent","pageY","parent","up","down","stopPropagation","hasAttribute","preventDefault","trigger","hasClass","forceTo","scrollTo","body","_stopScrolling","_recordScrollable","_stopScrollPropagation","autoFocus","one","transitionend","canvasFocus","eq","focus","trapFocus","_fixStickyElements","cb","e","_unfixStickyElements","removeAttr","releaseFocus","handleKey","handled","Plugin","MutationObserver","prefixes","i","triggers","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","target","attributeName","pageYOffset","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.offcanvas.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.offcanvas\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.offcanvas\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { OffCanvas } from '../../foundation.offcanvas';\nFoundation.plugin(OffCanvas, 'OffCanvas');\n\nexport { Foundation, OffCanvas };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, transitionend, RegExpEscape } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.className = 'OffCanvas'; // ie9 back compat\n this.$element = element;\n this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = { base: [], reveal: [] };\n this.$lastTrigger = $();\n this.$triggers = $();\n this.position = 'left';\n this.$content = $();\n this.nested = !!(this.options.nested);\n this.$sticky = $();\n this.isInCanvas = false;\n\n // Defines the CSS transition/position classes of the off-canvas content container.\n $(['push', 'overlap']).each((index, val) => {\n this.contentClasses.base.push('has-transition-'+val);\n });\n $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n this.contentClasses.base.push('has-position-'+val);\n this.contentClasses.reveal.push('has-reveal-'+val);\n });\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n MediaQuery._init();\n\n this._init();\n this._events();\n\n Keyboard.register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n\n }\n\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n _init() {\n var id = this.$element.attr('id');\n\n this.$element.attr('aria-hidden', 'true');\n\n // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n if (this.options.contentId) {\n this.$content = $('#'+this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap';\n // Remove appropriate classes if already assigned in markup\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n // Find triggers that affect this element and add aria-expanded to them\n this.$triggers = $(document)\n .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n .attr('aria-expanded', 'false')\n .attr('aria-controls', id);\n\n // Get position by checking for related CSS class\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n // Add an overlay over the content if necessary\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = $(overlay);\n if(overlayPosition === 'is-overlay-fixed') {\n $(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n }\n\n // Get the revealOn option from the class.\n var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n }\n\n // Ensure the `reveal-on-*` class is set.\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(`${this.options.revealClass}${this.options.revealOn}`);\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n }\n\n // Find fixed elements that should stay fixed while off-canvas is opened\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n let inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(`in-canvas-for-${this.options.inCanvasOn}`);\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n }\n\n // Initally remove all transition/position CSS classes from off-canvas content container.\n this._removeContentClasses();\n }\n\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n _events() {\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({'click.zf.offCanvas': this.close.bind(this)});\n }\n\n if (this.options.inCanvasOn) {\n $(window).on('changed.zf.mediaquery', () => {\n this._checkInCanvas();\n });\n }\n\n }\n\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = onLoad($(window), function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n\n $(window).on('changed.zf.mediaquery', function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n _checkInCanvas() {\n this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn);\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n } else if (hasReveal === true) {\n this.$content.addClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n _fixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n\n // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n if ($el.css('position') === 'fixed') {\n\n // Save current inline styling to restore it if undoing the absolute fixing\n let topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', { top: topVal });\n\n let absoluteTopVal = $(document).scrollTop() + topVal;\n $el.css({ top: `${absoluteTopVal}px`, width: '100%', transition: 'none' });\n }\n });\n }\n\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n _unfixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n let stickyData = $el.data('offCanvasSticky');\n\n // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n if (typeof stickyData === 'object') {\n $el.css({ top: `${stickyData.top}px`, width: '', transition: '' })\n $el.data('offCanvasSticky', '');\n }\n });\n }\n\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n this._addContentClasses(isRevealed);\n }\n\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n _stopScrolling(event) {\n return false;\n }\n\n /**\n * Tag the element given as context whether it can be scrolled up and down.\n * Used to allow or prevent it to scroll. See `_stopScrollPropagation`.\n *\n * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n * Only really works for y, not sure how to extend to x or if we need to.\n *\n * @function\n * @private\n */\n _recordScrollable(event) {\n let elem = this; // called from event handler context with this as elem\n\n // If the element is scrollable (content overflows), then...\n if (elem.scrollHeight !== elem.clientHeight) {\n // If we're at the top, scroll down one pixel to allow scrolling up\n if (elem.scrollTop === 0) {\n elem.scrollTop = 1;\n }\n // If we're at the bottom, scroll up one pixel to allow scrolling down\n if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n }\n }\n elem.allowUp = elem.scrollTop > 0;\n elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);\n elem.lastY = event.originalEvent.pageY;\n }\n\n /**\n * Prevent the given event propagation if the element given as context can scroll.\n * Used to preserve the element scrolling on mobile (`touchmove`) when the document\n * scrolling is prevented. See https://git.io/zf-9707.\n * @function\n * @private\n */\n _stopScrollPropagation(event) {\n let elem = this; // called from event handler context with this as elem\n let parent; // off-canvas elem if called from inner scrollbox\n let up = event.pageY < elem.lastY;\n let down = !up;\n elem.lastY = event.pageY;\n\n if((up && elem.allowUp) || (down && elem.allowDown)) {\n // It is not recommended to stop event propagation (the user cannot watch it),\n // but in this case this is the only solution we have.\n event.stopPropagation();\n\n // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached\n // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox\n if (elem.hasAttribute('data-off-canvas-scrollbox')) {\n parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n if (elem.scrollTop <= 1 && parent.scrollTop > 0) {\n parent.scrollTop--;\n } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) {\n parent.scrollTop++;\n }\n }\n\n } else {\n event.preventDefault();\n }\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this._stopScrollPropagation);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n this.$element.trigger('opened.zf.offCanvas');\n\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n this.$element.one(transitionend(this.$element), () => {\n this.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n close(cb) {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n this.$element.trigger('close.zf.offCanvas');\n\n var _this = this;\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n\n // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n this.$element.one(transitionend(this.$element), (e) => {\n\n this.$element.addClass('is-closed');\n this._removeContentClasses();\n\n if (this.options.transition === 'push') {\n this._unfixStickyElements();\n }\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._stopScrollPropagation);\n this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation);\n }\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n this.$element.trigger('closed.zf.offCanvas');\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","'use strict';\n\nimport $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function(e) {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10);//default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"foundation.offcanvas.js","mappings":"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","sources":["webpack://__FOUNDATION_EXTERNAL__/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__/./js/foundation.offcanvas.js","webpack://__FOUNDATION_EXTERNAL__/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__/external umd {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}","webpack://__FOUNDATION_EXTERNAL__/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/compat get default export","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/define property getters","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/hasOwnProperty shorthand","webpack://__FOUNDATION_EXTERNAL__/webpack/runtime/make namespace object","webpack://__FOUNDATION_EXTERNAL__/./js/entries/plugins/foundation.offcanvas.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"__FOUNDATION_EXTERNAL__\"] = factory(require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.offcanvas\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__) {\nreturn ","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, transitionend, RegExpEscape } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.className = 'OffCanvas'; // ie9 back compat\n this.$element = element;\n this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = { base: [], reveal: [] };\n this.$lastTrigger = $();\n this.$triggers = $();\n this.position = 'left';\n this.$content = $();\n this.nested = !!(this.options.nested);\n this.$sticky = $();\n this.isInCanvas = false;\n\n // Defines the CSS transition/position classes of the off-canvas content container.\n $(['push', 'overlap']).each((index, val) => {\n this.contentClasses.base.push('has-transition-'+val);\n });\n $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n this.contentClasses.base.push('has-position-'+val);\n this.contentClasses.reveal.push('has-reveal-'+val);\n });\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n MediaQuery._init();\n\n this._init();\n this._events();\n\n Keyboard.register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n\n }\n\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n _init() {\n var id = this.$element.attr('id');\n\n this.$element.attr('aria-hidden', 'true');\n\n // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n if (this.options.contentId) {\n this.$content = $('#'+this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap';\n // Remove appropriate classes if already assigned in markup\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n // Find triggers that affect this element and add aria-expanded to them\n this.$triggers = $(document)\n .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n .attr('aria-expanded', 'false')\n .attr('aria-controls', id);\n\n // Get position by checking for related CSS class\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n // Add an overlay over the content if necessary\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = $(overlay);\n if(overlayPosition === 'is-overlay-fixed') {\n $(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n }\n\n // Get the revealOn option from the class.\n var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n }\n\n // Ensure the `reveal-on-*` class is set.\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(`${this.options.revealClass}${this.options.revealOn}`);\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n }\n\n // Find fixed elements that should stay fixed while off-canvas is opened\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n let inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(`in-canvas-for-${this.options.inCanvasOn}`);\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n }\n\n // Initally remove all transition/position CSS classes from off-canvas content container.\n this._removeContentClasses();\n }\n\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n _events() {\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({'click.zf.offCanvas': this.close.bind(this)});\n }\n\n if (this.options.inCanvasOn) {\n $(window).on('changed.zf.mediaquery', () => {\n this._checkInCanvas();\n });\n }\n\n }\n\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = onLoad($(window), function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n\n $(window).on('changed.zf.mediaquery', function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n _checkInCanvas() {\n this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn);\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n } else if (hasReveal === true) {\n this.$content.addClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n _fixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n\n // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n if ($el.css('position') === 'fixed') {\n\n // Save current inline styling to restore it if undoing the absolute fixing\n let topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', { top: topVal });\n\n let absoluteTopVal = $(document).scrollTop() + topVal;\n $el.css({ top: `${absoluteTopVal}px`, width: '100%', transition: 'none' });\n }\n });\n }\n\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n _unfixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n let stickyData = $el.data('offCanvasSticky');\n\n // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n if (typeof stickyData === 'object') {\n $el.css({ top: `${stickyData.top}px`, width: '', transition: '' })\n $el.data('offCanvasSticky', '');\n }\n });\n }\n\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n this._addContentClasses(isRevealed);\n }\n\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n _stopScrolling() {\n return false;\n }\n\n /**\n * Save current finger y-position\n * @param event\n * @private\n */\n _recordScrollable(event) {\n const elem = this;\n elem.lastY = event.touches[0].pageY;\n }\n\n /**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */\n _preventDefaultAtEdges(event) {\n const elem = this;\n const _this = event.data;\n const delta = elem.lastY - event.touches[0].pageY;\n elem.lastY = event.touches[0].pageY;\n\n if (!_this._canScroll(delta, elem)) {\n event.preventDefault();\n }\n }\n\n /**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */\n _scrollboxTouchMoved(event) {\n const elem = this;\n const _this = event.data;\n const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n const delta = elem.lastY - event.touches[0].pageY;\n parent.lastY = elem.lastY = event.touches[0].pageY;\n\n event.stopPropagation();\n\n if (!_this._canScroll(delta, elem)) {\n if (!_this._canScroll(delta, parent)) {\n event.preventDefault();\n } else {\n parent.scrollTop += delta;\n }\n }\n }\n\n /**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */\n _canScroll(delta, elem) {\n const up = delta < 0;\n const down = delta > 0;\n const allowUp = elem.scrollTop > 0;\n const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n return up && allowUp || down && allowDown;\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n this.$element.trigger('opened.zf.offCanvas');\n\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n this.$element.one(transitionend(this.$element), () => {\n this.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n close() {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n this.$element.trigger('close.zf.offCanvas');\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n\n // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n this.$element.one(transitionend(this.$element), () => {\n\n this.$element.addClass('is-closed');\n this._removeContentClasses();\n\n if (this.options.transition === 'push') {\n this._unfixStickyElements();\n }\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._preventDefaultAtEdges);\n this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._scrollboxTouchMoved);\n }\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n this.$element.trigger('closed.zf.offCanvas');\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n})();\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).on(trigger, function() {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function (__, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Foundation } from './foundation.core';\n\nimport { OffCanvas } from '../../foundation.offcanvas';\nFoundation.plugin(OffCanvas, 'OffCanvas');\n\nexport { Foundation, OffCanvas };\n"],"names":["$","Plugin","onLoad","transitionend","RegExpEscape","Keyboard","MediaQuery","Triggers","OffCanvas","_Plugin","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","_setup","element","options","_this2","className","$element","extend","defaults","data","contentClasses","base","reveal","$lastTrigger","$triggers","position","$content","nested","$sticky","isInCanvas","each","index","val","push","init","_init","_events","register","id","attr","contentId","siblings","length","first","closest","console","warn","transition","removeClass","addClass","concat","document","find","is","match","contentOverlay","overlay","createElement","overlayPosition","css","setAttribute","$overlay","insertAfter","append","revealOnRegExp","RegExp","revealClass","revealOnClass","exec","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","_this3","off","on","open","bind","close","toggle","_handleKeyboard","closeOnClick","$target","window","_this","onLoadListener","atLeast","hasReveal","join","_addContentClasses","_fixStickyElements","_","el","$el","topVal","parseInt","top","absoluteTopVal","scrollTop","width","_unfixStickyElements","stickyData","_typeof","_stopScrolling","_recordScrollable","event","elem","lastY","touches","pageY","_preventDefaultAtEdges","delta","_canScroll","preventDefault","_scrollboxTouchMoved","parent","stopPropagation","up","down","allowUp","allowDown","scrollHeight","clientHeight","trigger","_this4","hasClass","forceTo","scrollTo","body","autoFocus","one","canvasFocus","eq","focus","trapFocus","_this5","removeAttr","releaseFocus","e","_this6","handleKey","handled","_destroy","Motion","MutationObserver","prefixes","i","triggers","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","plugin","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","target","attributeName","pageYOffset","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","__","Foundation","triggersInitialized","IHearYou"],"sourceRoot":""}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.offcanvas"]=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.offcanvas"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(n,i,o,s,a){return c={},r.m=l={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.keyboard":function(t,e){t.exports=i},"./foundation.util.mediaQuery":function(t,e){t.exports=o},"./foundation.util.motion":function(t,e){t.exports=s},"./js/entries/plugins/foundation.offcanvas.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.offcanvas.js");n.d(e,"OffCanvas",function(){return o.OffCanvas}),i.Foundation.plugin(o.OffCanvas,"OffCanvas")},"./js/foundation.offcanvas.js":function(t,e,n){"use strict";n.r(e),n.d(e,"OffCanvas",function(){return p});var i=n("jquery"),s=n.n(i),a=n("./foundation.core"),o=n("./foundation.util.keyboard"),r=n("./foundation.util.mediaQuery"),l=n("./js/foundation.util.triggers.js");function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function u(t,e){return!e||"object"!==c(e)&&"function"!=typeof e?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var p=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),u(this,d(i).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(i,a["Plugin"]),function(t,e,n){e&&f(t.prototype,e),n&&f(t,n)}(i,[{key:"_setup",value:function(t,e){var n=this;this.className="OffCanvas",this.$element=t,this.options=s.a.extend({},i.defaults,this.$element.data(),e),this.contentClasses={base:[],reveal:[]},this.$lastTrigger=s()(),this.$triggers=s()(),this.position="left",this.$content=s()(),this.nested=!!this.options.nested,this.$sticky=s()(),this.isInCanvas=!1,s()(["push","overlap"]).each(function(t,e){n.contentClasses.base.push("has-transition-"+e)}),s()(["left","right","top","bottom"]).each(function(t,e){n.contentClasses.base.push("has-position-"+e),n.contentClasses.reveal.push("has-reveal-"+e)}),l.Triggers.init(s.a),r.MediaQuery._init(),this._init(),this._events(),o.Keyboard.register("OffCanvas",{ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");if(this.$element.attr("aria-hidden","true"),this.options.contentId?this.$content=s()("#"+this.options.contentId):this.$element.siblings("[data-off-canvas-content]").length?this.$content=this.$element.siblings("[data-off-canvas-content]").first():this.$content=this.$element.closest("[data-off-canvas-content]").first(),this.options.contentId?this.options.contentId&&null===this.options.nested&&console.warn("Remember to use the nested option if using the content ID option!"):this.nested=0===this.$element.siblings("[data-off-canvas-content]").length,!0===this.nested&&(this.options.transition="overlap",this.$element.removeClass("is-transition-push")),this.$element.addClass("is-transition-".concat(this.options.transition," is-closed")),this.$triggers=s()(document).find('[data-open="'+t+'"], [data-close="'+t+'"], [data-toggle="'+t+'"]').attr("aria-expanded","false").attr("aria-controls",t),this.position=this.$element.is(".position-left, .position-top, .position-right, .position-bottom")?this.$element.attr("class").match(/position\-(left|top|right|bottom)/)[1]:this.position,!0===this.options.contentOverlay){var e=document.createElement("div"),n="fixed"===s()(this.$element).css("position")?"is-overlay-fixed":"is-overlay-absolute";e.setAttribute("class","js-off-canvas-overlay "+n),this.$overlay=s()(e),"is-overlay-fixed"==n?s()(this.$overlay).insertAfter(this.$element):this.$content.append(this.$overlay)}var i=new RegExp(Object(a.RegExpEscape)(this.options.revealClass)+"([^\\s]+)","g").exec(this.$element[0].className);i&&(this.options.isRevealed=!0,this.options.revealOn=this.options.revealOn||i[1]),!0===this.options.isRevealed&&this.options.revealOn&&(this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)),this._setMQChecker()),this.options.transitionTime&&this.$element.css("transition-duration",this.options.transitionTime),this.$sticky=this.$content.find("[data-off-canvas-sticky]"),0<this.$sticky.length&&"push"===this.options.transition&&(this.options.contentScroll=!1);var o=this.$element.attr("class").match(/\bin-canvas-for-(\w+)/);o&&2===o.length?this.options.inCanvasOn=o[1]:this.options.inCanvasOn&&this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn)),this.options.inCanvasOn&&this._checkInCanvas(),this._removeContentClasses()}},{key:"_events",value:function(){var t=this;this.$element.off(".zf.trigger .zf.offCanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offCanvas":this._handleKeyboard.bind(this)}),!0===this.options.closeOnClick&&(this.options.contentOverlay?this.$overlay:this.$content).on({"click.zf.offCanvas":this.close.bind(this)});this.options.inCanvasOn&&s()(window).on("changed.zf.mediaquery",function(){t._checkInCanvas()})}},{key:"_setMQChecker",value:function(){var t=this;this.onLoadListener=Object(a.onLoad)(s()(window),function(){r.MediaQuery.atLeast(t.options.revealOn)&&t.reveal(!0)}),s()(window).on("changed.zf.mediaquery",function(){r.MediaQuery.atLeast(t.options.revealOn)?t.reveal(!0):t.reveal(!1)})}},{key:"_checkInCanvas",value:function(){this.isInCanvas=r.MediaQuery.atLeast(this.options.inCanvasOn),!0===this.isInCanvas&&this.close()}},{key:"_removeContentClasses",value:function(t){"boolean"!=typeof t?this.$content.removeClass(this.contentClasses.base.join(" ")):!1===t&&this.$content.removeClass("has-reveal-".concat(this.position))}},{key:"_addContentClasses",value:function(t){this._removeContentClasses(t),"boolean"!=typeof t?this.$content.addClass("has-transition-".concat(this.options.transition," has-position-").concat(this.position)):!0===t&&this.$content.addClass("has-reveal-".concat(this.position))}},{key:"_fixStickyElements",value:function(){this.$sticky.each(function(t,e){var n=s()(e);if("fixed"===n.css("position")){var i=parseInt(n.css("top"),10);n.data("offCanvasSticky",{top:i});var o=s()(document).scrollTop()+i;n.css({top:"".concat(o,"px"),width:"100%",transition:"none"})}})}},{key:"_unfixStickyElements",value:function(){this.$sticky.each(function(t,e){var n=s()(e),i=n.data("offCanvasSticky");"object"===c(i)&&(n.css({top:"".concat(i.top,"px"),width:"",transition:""}),n.data("offCanvasSticky",""))})}},{key:"reveal",value:function(t){t?(this.close(),this.isRevealed=!0,this.$element.attr("aria-hidden","false"),this.$element.off("open.zf.trigger toggle.zf.trigger"),this.$element.removeClass("is-closed")):(this.isRevealed=!1,this.$element.attr("aria-hidden","true"),this.$element.off("open.zf.trigger toggle.zf.trigger").on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),this.$element.addClass("is-closed")),this._addContentClasses(t)}},{key:"_stopScrolling",value:function(t){return!1}},{key:"_recordScrollable",value:function(t){var e=this;e.scrollHeight!==e.clientHeight&&(0===e.scrollTop&&(e.scrollTop=1),e.scrollTop===e.scrollHeight-e.clientHeight&&(e.scrollTop=e.scrollHeight-e.clientHeight-1)),e.allowUp=0<e.scrollTop,e.allowDown=e.scrollTop<e.scrollHeight-e.clientHeight,e.lastY=t.originalEvent.pageY}},{key:"_stopScrollPropagation",value:function(t){var e,n=this,i=t.pageY<n.lastY,o=!i;n.lastY=t.pageY,i&&n.allowUp||o&&n.allowDown?(t.stopPropagation(),n.hasAttribute("data-off-canvas-scrollbox")&&(e=n.closest("[data-off-canvas], [data-off-canvas-scrollbox-outer]"),n.scrollTop<=1&&0<e.scrollTop?e.scrollTop--:n.scrollTop>=n.scrollHeight-n.clientHeight-1&&e.scrollTop<e.scrollHeight-e.clientHeight&&e.scrollTop++)):t.preventDefault()}},{key:"open",value:function(t,e){var n=this;if(!(this.$element.hasClass("is-open")||this.isRevealed||this.isInCanvas)){var i=this;e&&(this.$lastTrigger=e),"top"===this.options.forceTo?window.scrollTo(0,0):"bottom"===this.options.forceTo&&window.scrollTo(0,document.body.scrollHeight),this.options.transitionTime&&"overlap"!==this.options.transition?this.$element.siblings("[data-off-canvas-content]").css("transition-duration",this.options.transitionTime):this.$element.siblings("[data-off-canvas-content]").css("transition-duration",""),this.$element.addClass("is-open").removeClass("is-closed"),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false"),this.$content.addClass("is-open-"+this.position),!1===this.options.contentScroll&&(s()("body").addClass("is-off-canvas-open").on("touchmove",this._stopScrolling),this.$element.on("touchstart",this._recordScrollable),this.$element.on("touchmove",this._stopScrollPropagation),this.$element.on("touchstart","[data-off-canvas-scrollbox]",this._recordScrollable),this.$element.on("touchmove","[data-off-canvas-scrollbox]",this._stopScrollPropagation)),!0===this.options.contentOverlay&&this.$overlay.addClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.addClass("is-closable"),!0===this.options.autoFocus&&this.$element.one(Object(a.transitionend)(this.$element),function(){if(i.$element.hasClass("is-open")){var t=i.$element.find("[data-autofocus]");t.length?t.eq(0).focus():i.$element.find("a, button").eq(0).focus()}}),!0===this.options.trapFocus&&(this.$content.attr("tabindex","-1"),o.Keyboard.trapFocus(this.$element)),"push"===this.options.transition&&this._fixStickyElements(),this._addContentClasses(),this.$element.trigger("opened.zf.offCanvas"),this.$element.one(Object(a.transitionend)(this.$element),function(){n.$element.trigger("openedEnd.zf.offCanvas")})}}},{key:"close",value:function(t){var e=this;if(this.$element.hasClass("is-open")&&!this.isRevealed){this.$element.trigger("close.zf.offCanvas");this.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true"),this.$content.removeClass("is-open-left is-open-top is-open-right is-open-bottom"),!0===this.options.contentOverlay&&this.$overlay.removeClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.removeClass("is-closable"),this.$triggers.attr("aria-expanded","false"),this.$element.one(Object(a.transitionend)(this.$element),function(t){e.$element.addClass("is-closed"),e._removeContentClasses(),"push"===e.options.transition&&e._unfixStickyElements(),!1===e.options.contentScroll&&(s()("body").removeClass("is-off-canvas-open").off("touchmove",e._stopScrolling),e.$element.off("touchstart",e._recordScrollable),e.$element.off("touchmove",e._stopScrollPropagation),e.$element.off("touchstart","[data-off-canvas-scrollbox]",e._recordScrollable),e.$element.off("touchmove","[data-off-canvas-scrollbox]",e._stopScrollPropagation)),!0===e.options.trapFocus&&(e.$content.removeAttr("tabindex"),o.Keyboard.releaseFocus(e.$element)),e.$element.trigger("closed.zf.offCanvas")})}}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){var e=this;o.Keyboard.handleKey(t,"OffCanvas",{close:function(){return e.close(),e.$lastTrigger.focus(),!0},handled:function(){t.preventDefault()}})}},{key:"_destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offCanvas"),this.$overlay.off(".zf.offCanvas"),this.onLoadListener&&s()(window).off(this.onLoadListener)}}]),i}();p.defaults={closeOnClick:!0,contentOverlay:!0,contentId:null,nested:null,contentScroll:!0,transitionTime:null,transition:"push",forceTo:null,isRevealed:!1,revealOn:null,inCanvasOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1}},"./js/foundation.util.triggers.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Triggers",function(){return f});var i=n("jquery"),s=n.n(i),o=n("./foundation.core"),a=n("./foundation.util.motion");function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(e,n){e.data(n).split(" ").forEach(function(t){s()("#".concat(t))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[e])})}var c=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1}(),f={Listeners:{Basic:{},Global:{}},Initializers:{}};function u(e,t,n){var i,o=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},e||10)})}f.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(t){var e=s()(this).data("closable");t.stopPropagation(),""!==e?a.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},f.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",f.Listeners.Basic.openListener)},f.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",f.Listeners.Basic.closeListener)},f.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",f.Listeners.Basic.toggleListener)},f.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",f.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",f.Listeners.Basic.closeableListener)},f.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",f.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",f.Listeners.Basic.toggleFocusListener)},f.Listeners.Global={resizeListener:function(t){c||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){c||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var n=t.namespace.split(".")[0];s()("[data-".concat(n,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},f.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?n.push(t):"object"===r(t)&&"string"==typeof t[0]?n=n.concat(t):console.error("Plugin names must be strings")),e.length){var i=n.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(i).on(i,f.Listeners.Global.closeMeListener)}},f.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&u(t,"resize.zf.trigger",f.Listeners.Global.resizeListener,e)},f.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&u(t,"scroll.zf.trigger",f.Listeners.Global.scrollListener,e)},f.Initializers.addMutationEventsListener=function(t){if(!c)return!1;function e(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var n=t.find("[data-resize], [data-scroll], [data-mutate]");if(n.length)for(var i=0;i<=n.length-1;i++){new c(e).observe(n[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},f.Initializers.addSimpleListeners=function(){var t=s()(document);f.Initializers.addOpenListener(t),f.Initializers.addCloseListener(t),f.Initializers.addToggleListener(t),f.Initializers.addCloseableListener(t),f.Initializers.addToggleFocusListener(t)},f.Initializers.addGlobalListeners=function(){var t=s()(document);f.Initializers.addMutationEventsListener(t),f.Initializers.addResizeListener(),f.Initializers.addScrollListener(),f.Initializers.addClosemeListener()},f.init=function(t,e){Object(o.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(f.Initializers.addSimpleListeners(),f.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=f,e.IHearYou=f.Initializers.addGlobalListeners)}},9:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.offcanvas.js")},jquery:function(t,e){t.exports=a}},r.c=c,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=9);function r(t){if(c[t])return c[t].exports;var e=c[t]={i:t,l:!1,exports:{}};return l[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var l,c});
|
1
|
+
((t,e)=>{"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery","./foundation.util.keyboard","./foundation.util.mediaQuery","./foundation.util.motion"],e):"object"==typeof exports?exports.__FOUNDATION_EXTERNAL__=e(require("./foundation.core"),require("jquery"),require("./foundation.util.keyboard"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.offcanvas"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery,t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"]))})(self,function(e,n,i,o,s){return r={"./js/foundation.offcanvas.js":function(t,e,n){n.r(e),n.d(e,{OffCanvas:function(){return i}});var e=n("jquery"),o=n.n(e),s=n("./foundation.core"),a=n("./foundation.util.keyboard"),r=n("./foundation.util.mediaQuery"),l=n("./js/foundation.util.triggers.js");function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(t=>(t=((t,e)=>{if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0===n)return("string"===e?String:Number)(t);if("object"!=c(n=n.call(t,e||"default")))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(t,"string"),"symbol"==c(t)?t:t+""))(i.key),i)}}function u(t,e,n){e=h(e);var i=t,e=d()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n);if(!e||"object"!=c(e)&&"function"!=typeof e){if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");if(void 0===(e=i))throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function h(t){return(h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function p(t,e){return(p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t})(t,e)}var i=(t=>{function i(){var t=this,e=i;if(t instanceof e)return u(this,i,arguments);throw new TypeError("Cannot call a class as a function")}var e,n=i;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");return n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&p(n,t),n=i,(t=[{key:"_setup",value:function(t,e){var n=this;this.className="OffCanvas",this.$element=t,this.options=o().extend({},i.defaults,this.$element.data(),e),this.contentClasses={base:[],reveal:[]},this.$lastTrigger=o()(),this.$triggers=o()(),this.position="left",this.$content=o()(),this.nested=!!this.options.nested,this.$sticky=o()(),this.isInCanvas=!1,o()(["push","overlap"]).each(function(t,e){n.contentClasses.base.push("has-transition-"+e)}),o()(["left","right","top","bottom"]).each(function(t,e){n.contentClasses.base.push("has-position-"+e),n.contentClasses.reveal.push("has-reveal-"+e)}),l.Triggers.init(o()),r.MediaQuery._init(),this._init(),this._events(),a.Keyboard.register("OffCanvas",{ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");this.$element.attr("aria-hidden","true"),this.options.contentId?this.$content=o()("#"+this.options.contentId):this.$element.siblings("[data-off-canvas-content]").length?this.$content=this.$element.siblings("[data-off-canvas-content]").first():this.$content=this.$element.closest("[data-off-canvas-content]").first(),this.options.contentId?(this.options.contentId,null===this.options.nested&&console.warn("Remember to use the nested option if using the content ID option!")):this.nested=0===this.$element.siblings("[data-off-canvas-content]").length,!0===this.nested&&(this.options.transition="overlap",this.$element.removeClass("is-transition-push")),this.$element.addClass("is-transition-".concat(this.options.transition," is-closed")),this.$triggers=o()(document).find('[data-open="'+t+'"], [data-close="'+t+'"], [data-toggle="'+t+'"]').attr("aria-expanded","false").attr("aria-controls",t),this.position=this.$element.is(".position-left, .position-top, .position-right, .position-bottom")?this.$element.attr("class").match(/position\-(left|top|right|bottom)/)[1]:this.position,!0===this.options.contentOverlay&&(t=document.createElement("div"),e="fixed"===o()(this.$element).css("position")?"is-overlay-fixed":"is-overlay-absolute",t.setAttribute("class","js-off-canvas-overlay "+e),this.$overlay=o()(t),"is-overlay-fixed"==e?o()(this.$overlay).insertAfter(this.$element):this.$content.append(this.$overlay));var t=new RegExp((0,s.RegExpEscape)(this.options.revealClass)+"([^\\s]+)","g").exec(this.$element[0].className),e=(t&&(this.options.isRevealed=!0,this.options.revealOn=this.options.revealOn||t[1]),!0===this.options.isRevealed&&this.options.revealOn&&(this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)),this._setMQChecker()),this.options.transitionTime&&this.$element.css("transition-duration",this.options.transitionTime),this.$sticky=this.$content.find("[data-off-canvas-sticky]"),0<this.$sticky.length&&"push"===this.options.transition&&(this.options.contentScroll=!1),this.$element.attr("class").match(/\bin-canvas-for-(\w+)/));e&&2===e.length?this.options.inCanvasOn=e[1]:this.options.inCanvasOn&&this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn)),this.options.inCanvasOn&&this._checkInCanvas(),this._removeContentClasses()}},{key:"_events",value:function(){var t=this;this.$element.off(".zf.trigger .zf.offCanvas").on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"keydown.zf.offCanvas":this._handleKeyboard.bind(this)}),!0===this.options.closeOnClick&&(this.options.contentOverlay?this.$overlay:this.$content).on({"click.zf.offCanvas":this.close.bind(this)}),this.options.inCanvasOn&&o()(window).on("changed.zf.mediaquery",function(){t._checkInCanvas()})}},{key:"_setMQChecker",value:function(){var t=this;this.onLoadListener=(0,s.onLoad)(o()(window),function(){r.MediaQuery.atLeast(t.options.revealOn)&&t.reveal(!0)}),o()(window).on("changed.zf.mediaquery",function(){r.MediaQuery.atLeast(t.options.revealOn)?t.reveal(!0):t.reveal(!1)})}},{key:"_checkInCanvas",value:function(){this.isInCanvas=r.MediaQuery.atLeast(this.options.inCanvasOn),!0===this.isInCanvas&&this.close()}},{key:"_removeContentClasses",value:function(t){"boolean"!=typeof t?this.$content.removeClass(this.contentClasses.base.join(" ")):!1===t&&this.$content.removeClass("has-reveal-".concat(this.position))}},{key:"_addContentClasses",value:function(t){this._removeContentClasses(t),"boolean"!=typeof t?this.$content.addClass("has-transition-".concat(this.options.transition," has-position-").concat(this.position)):!0===t&&this.$content.addClass("has-reveal-".concat(this.position))}},{key:"_fixStickyElements",value:function(){this.$sticky.each(function(t,e){var n,e=o()(e);"fixed"===e.css("position")&&(n=parseInt(e.css("top"),10),e.data("offCanvasSticky",{top:n}),n=o()(document).scrollTop()+n,e.css({top:"".concat(n,"px"),width:"100%",transition:"none"}))})}},{key:"_unfixStickyElements",value:function(){this.$sticky.each(function(t,e){var e=o()(e),n=e.data("offCanvasSticky");"object"===c(n)&&(e.css({top:"".concat(n.top,"px"),width:"",transition:""}),e.data("offCanvasSticky",""))})}},{key:"reveal",value:function(t){t?(this.close(),this.isRevealed=!0,this.$element.attr("aria-hidden","false"),this.$element.off("open.zf.trigger toggle.zf.trigger"),this.$element.removeClass("is-closed")):(this.isRevealed=!1,this.$element.attr("aria-hidden","true"),this.$element.off("open.zf.trigger toggle.zf.trigger").on({"open.zf.trigger":this.open.bind(this),"toggle.zf.trigger":this.toggle.bind(this)}),this.$element.addClass("is-closed")),this._addContentClasses(t)}},{key:"_stopScrolling",value:function(){return!1}},{key:"_recordScrollable",value:function(t){this.lastY=t.touches[0].pageY}},{key:"_preventDefaultAtEdges",value:function(t){var e=t.data,n=this.lastY-t.touches[0].pageY;this.lastY=t.touches[0].pageY,e._canScroll(n,this)||t.preventDefault()}},{key:"_scrollboxTouchMoved",value:function(t){var e=t.data,n=this.closest("[data-off-canvas], [data-off-canvas-scrollbox-outer]"),i=this.lastY-t.touches[0].pageY;n.lastY=this.lastY=t.touches[0].pageY,t.stopPropagation(),e._canScroll(i,this)||(e._canScroll(i,n)?n.scrollTop+=i:t.preventDefault())}},{key:"_canScroll",value:function(t,e){var n=0<e.scrollTop;return t<0&&n||0<t&&e.scrollTop<e.scrollHeight-e.clientHeight}},{key:"open",value:function(t,e){var n,i=this;this.$element.hasClass("is-open")||this.isRevealed||this.isInCanvas||(n=this,e&&(this.$lastTrigger=e),"top"===this.options.forceTo?window.scrollTo(0,0):"bottom"===this.options.forceTo&&window.scrollTo(0,document.body.scrollHeight),this.options.transitionTime&&"overlap"!==this.options.transition?this.$element.siblings("[data-off-canvas-content]").css("transition-duration",this.options.transitionTime):this.$element.siblings("[data-off-canvas-content]").css("transition-duration",""),this.$element.addClass("is-open").removeClass("is-closed"),this.$triggers.attr("aria-expanded","true"),this.$element.attr("aria-hidden","false"),this.$content.addClass("is-open-"+this.position),!1===this.options.contentScroll&&(o()("body").addClass("is-off-canvas-open").on("touchmove",this._stopScrolling),this.$element.on("touchstart",this._recordScrollable),this.$element.on("touchmove",this,this._preventDefaultAtEdges),this.$element.on("touchstart","[data-off-canvas-scrollbox]",this._recordScrollable),this.$element.on("touchmove","[data-off-canvas-scrollbox]",this,this._scrollboxTouchMoved)),!0===this.options.contentOverlay&&this.$overlay.addClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.addClass("is-closable"),!0===this.options.autoFocus&&this.$element.one((0,s.transitionend)(this.$element),function(){var t;n.$element.hasClass("is-open")&&((t=n.$element.find("[data-autofocus]")).length?t:n.$element.find("a, button")).eq(0).focus()}),!0===this.options.trapFocus&&(this.$content.attr("tabindex","-1"),a.Keyboard.trapFocus(this.$element)),"push"===this.options.transition&&this._fixStickyElements(),this._addContentClasses(),this.$element.trigger("opened.zf.offCanvas"),this.$element.one((0,s.transitionend)(this.$element),function(){i.$element.trigger("openedEnd.zf.offCanvas")}))}},{key:"close",value:function(){var t=this;this.$element.hasClass("is-open")&&!this.isRevealed&&(this.$element.trigger("close.zf.offCanvas"),this.$element.removeClass("is-open"),this.$element.attr("aria-hidden","true"),this.$content.removeClass("is-open-left is-open-top is-open-right is-open-bottom"),!0===this.options.contentOverlay&&this.$overlay.removeClass("is-visible"),!0===this.options.closeOnClick&&!0===this.options.contentOverlay&&this.$overlay.removeClass("is-closable"),this.$triggers.attr("aria-expanded","false"),this.$element.one((0,s.transitionend)(this.$element),function(){t.$element.addClass("is-closed"),t._removeContentClasses(),"push"===t.options.transition&&t._unfixStickyElements(),!1===t.options.contentScroll&&(o()("body").removeClass("is-off-canvas-open").off("touchmove",t._stopScrolling),t.$element.off("touchstart",t._recordScrollable),t.$element.off("touchmove",t._preventDefaultAtEdges),t.$element.off("touchstart","[data-off-canvas-scrollbox]",t._recordScrollable),t.$element.off("touchmove","[data-off-canvas-scrollbox]",t._scrollboxTouchMoved)),!0===t.options.trapFocus&&(t.$content.removeAttr("tabindex"),a.Keyboard.releaseFocus(t.$element)),t.$element.trigger("closed.zf.offCanvas")}))}},{key:"toggle",value:function(t,e){this.$element.hasClass("is-open")?this.close(t,e):this.open(t,e)}},{key:"_handleKeyboard",value:function(t){var e=this;a.Keyboard.handleKey(t,"OffCanvas",{close:function(){return e.close(),e.$lastTrigger.focus(),!0},handled:function(){t.preventDefault()}})}},{key:"_destroy",value:function(){this.close(),this.$element.off(".zf.trigger .zf.offCanvas"),this.$overlay.off(".zf.offCanvas"),this.onLoadListener&&o()(window).off(this.onLoadListener)}}])&&f(n.prototype,t),e&&f(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n})(s.Plugin);i.defaults={closeOnClick:!0,contentOverlay:!0,contentId:null,nested:null,contentScroll:!0,transitionTime:null,transition:"push",forceTo:null,isRevealed:!1,revealOn:null,inCanvasOn:null,autoFocus:!0,revealClass:"reveal-for-",trapFocus:!1}},"./js/foundation.util.triggers.js":function(t,e,n){n.r(e),n.d(e,{Triggers:function(){return c}});var e=n("jquery"),s=n.n(e),i=n("./foundation.core"),o=n("./foundation.util.motion");function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(e,n){e.data(n).split(" ").forEach(function(t){s()("#".concat(t))["close"===n?"trigger":"triggerHandler"]("".concat(n,".zf.trigger"),[e])})}var l=(()=>{for(var t=["WebKit","Moz","O","Ms",""],e=0;e<t.length;e++)if("".concat(t[e],"MutationObserver")in window)return window["".concat(t[e],"MutationObserver")];return!1})(),c={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(t,e,n){var i,o=Array.prototype.slice.call(arguments,3);s()(window).on(e,function(){i&&clearTimeout(i),i=setTimeout(function(){n.apply(null,o)},t||10)})}c.Listeners.Basic={openListener:function(){r(s()(this),"open")},closeListener:function(){s()(this).data("close")?r(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?r(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=s()(this).data("closable");t.stopPropagation(),""!==e?o.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},c.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",c.Listeners.Basic.openListener)},c.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",c.Listeners.Basic.closeListener)},c.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",c.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",c.Listeners.Basic.toggleListener)},c.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",c.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",c.Listeners.Basic.closeableListener)},c.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",c.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",c.Listeners.Basic.toggleFocusListener)},c.Listeners.Global={resizeListener:function(t){l||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){l||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){t=t.namespace.split(".")[0];s()("[data-".concat(t,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},c.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),n=["dropdown","tooltip","reveal"];t&&("string"==typeof t?n.push(t):"object"===a(t)&&"string"==typeof t[0]?n=n.concat(t):console.error("Plugin names must be strings")),e.length&&(t=n.map(function(t){return"closeme.zf.".concat(t)}).join(" "),s()(window).off(t).on(t,c.Listeners.Global.closeMeListener))},c.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&f(t,"resize.zf.trigger",c.Listeners.Global.resizeListener,e)},c.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",c.Listeners.Global.scrollListener,e)},c.Initializers.addMutationEventsListener=function(t){if(!l)return!1;function e(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var n=t.find("[data-resize], [data-scroll], [data-mutate]");if(n.length)for(var i=0;i<=n.length-1;i++)new l(e).observe(n[i],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})},c.Initializers.addSimpleListeners=function(){var t=s()(document);c.Initializers.addOpenListener(t),c.Initializers.addCloseListener(t),c.Initializers.addToggleListener(t),c.Initializers.addCloseableListener(t),c.Initializers.addToggleFocusListener(t)},c.Initializers.addGlobalListeners=function(){var t=s()(document);c.Initializers.addMutationEventsListener(t),c.Initializers.addResizeListener(250),c.Initializers.addScrollListener(),c.Initializers.addClosemeListener()},c.init=function(t,e){(0,i.onLoad)(s()(window),function(){!0!==s().triggersInitialized&&(c.Initializers.addSimpleListeners(),c.Initializers.addGlobalListeners(),s().triggersInitialized=!0)}),e&&(e.Triggers=c,e.IHearYou=c.Initializers.addGlobalListeners)}},"./foundation.core":function(t){t.exports=e},"./foundation.util.keyboard":function(t){t.exports=i},"./foundation.util.mediaQuery":function(t){t.exports=o},"./foundation.util.motion":function(t){t.exports=s},jquery:function(t){t.exports=n}},l={},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,{a:e}),e},a.d=function(t,e){for(var n in e)a.o(e,n)&&!a.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},f={},(a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})})(f),a.d(f,{Foundation:function(){return t.Foundation},OffCanvas:function(){return c.OffCanvas}}),t=a("./foundation.core"),c=a("./js/foundation.offcanvas.js"),t.Foundation.plugin(c.OffCanvas,"OffCanvas"),f;function a(t){var e=l[t];return void 0!==e||(e=l[t]={exports:{}},r[t](e,e.exports,a)),e.exports}var r,l,t,c,f});
|
2
2
|
//# sourceMappingURL=foundation.offcanvas.min.js.map
|