foundation-rails 5.5.3.2 → 6.6.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -2
- data/.ruby-version +1 -1
- data/.travis.yml +17 -4
- data/Appraisals +19 -0
- data/Gemfile +5 -2
- data/Gemfile.lock +210 -0
- data/LICENSE.txt +1 -1
- data/README.md +64 -28
- data/Rakefile +30 -0
- data/app/views/foundation/rails/styleguide/show.html.erb +10 -13
- data/bower.json +3 -2
- data/foundation-rails.gemspec +12 -7
- data/gemfiles/rails_4.1.gemfile +10 -0
- data/gemfiles/rails_4.1.gemfile.lock +181 -0
- data/gemfiles/rails_4.2.gemfile +10 -0
- data/gemfiles/rails_4.2.gemfile.lock +181 -0
- data/gemfiles/rails_5.0.gemfile +10 -0
- data/gemfiles/rails_5.0.gemfile.lock +196 -0
- data/gemfiles/rails_5.1.gemfile +10 -0
- data/gemfiles/rails_5.1.gemfile.lock +196 -0
- data/gemfiles/rails_5.2.gemfile +10 -0
- data/gemfiles/rails_5.2.gemfile.lock +196 -0
- data/lib/foundation/rails/engine.rb +2 -3
- data/lib/foundation/rails/version.rb +1 -1
- data/lib/foundation-rails.rb +1 -0
- data/lib/generators/foundation/install_generator.rb +39 -27
- data/lib/generators/foundation/templates/_settings.scss +895 -0
- data/lib/generators/foundation/templates/application.html.erb +1 -2
- data/lib/generators/foundation/templates/application.html.haml +2 -4
- data/lib/generators/foundation/templates/application.html.slim +1 -3
- data/lib/generators/foundation/templates/browserslist +4 -0
- data/lib/generators/foundation/templates/foundation_and_overrides.scss +56 -0
- data/spec/features/generator_spec.rb +1 -1
- data/spec/support/helpers.rb +8 -2
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_contain.scss +31 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
- data/vendor/assets/js/foundation.cjs.js +12529 -0
- data/vendor/assets/js/foundation.cjs.js.map +1 -0
- data/vendor/assets/js/foundation.es6.js +11006 -0
- data/vendor/assets/js/foundation.es6.js.map +1 -0
- data/vendor/assets/js/foundation.esm.js +12490 -0
- data/vendor/assets/js/foundation.esm.js.map +1 -0
- data/vendor/assets/js/foundation.js +13897 -0
- data/vendor/assets/js/foundation.js.map +1 -0
- data/vendor/assets/js/foundation.min.js +2 -0
- data/vendor/assets/js/foundation.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.abide.js +1142 -0
- data/vendor/assets/js/plugins/foundation.abide.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.abide.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.accordion.js +661 -0
- data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.accordion.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.accordionMenu.js +616 -0
- data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.core.js +1180 -0
- data/vendor/assets/js/plugins/foundation.core.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.core.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.drilldown.js +968 -0
- data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.drilldown.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.dropdown.js +1328 -0
- data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.dropdown.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.dropdownMenu.js +799 -0
- data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.equalizer.js +614 -0
- data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.equalizer.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.interchange.js +796 -0
- data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.interchange.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.magellan.js +850 -0
- data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.magellan.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.offcanvas.js +1318 -0
- data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.offcanvas.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.orbit.js +886 -0
- data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.orbit.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +585 -0
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveMenu.js +413 -0
- data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveToggle.js +394 -0
- data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.reveal.js +1275 -0
- data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.reveal.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.slider.js +1346 -0
- data/vendor/assets/js/plugins/foundation.slider.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.slider.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.smoothScroll.js +359 -0
- data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.sticky.js +1105 -0
- data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.sticky.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.tabs.js +792 -0
- data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.tabs.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.toggler.js +704 -0
- data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.toggler.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.tooltip.js +1333 -0
- data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.tooltip.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.box.js +354 -0
- data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.box.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.imageLoader.js +218 -0
- data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.keyboard.js +341 -0
- data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +509 -0
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.motion.js +274 -0
- data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.motion.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.nest.js +240 -0
- data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.nest.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.timer.js +226 -0
- data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.timer.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.touch.js +365 -0
- data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.touch.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.triggers.js +470 -0
- data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -0
- data/vendor/assets/js/plugins/foundation.util.triggers.min.js +2 -0
- data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -0
- data/vendor/assets/scss/_global.scss +244 -0
- data/vendor/assets/scss/components/_accordion-menu.scss +174 -0
- data/vendor/assets/scss/components/_accordion.scss +164 -0
- data/vendor/assets/scss/components/_badge.scss +63 -0
- data/vendor/assets/scss/components/_breadcrumbs.scss +119 -0
- data/vendor/assets/scss/components/_button-group.scss +304 -0
- data/vendor/assets/scss/components/_button.scss +428 -0
- data/vendor/assets/scss/components/_callout.scss +108 -0
- data/vendor/assets/scss/components/_card.scss +129 -0
- data/vendor/assets/scss/components/_close-button.scss +127 -0
- data/vendor/assets/scss/components/_drilldown.scss +140 -0
- data/vendor/assets/scss/components/_dropdown-menu.scss +279 -0
- data/vendor/assets/scss/components/_dropdown.scss +82 -0
- data/vendor/assets/scss/components/_flex-video.scss +1 -0
- data/vendor/assets/scss/components/_flex.scss +119 -0
- data/vendor/assets/scss/components/_float.scss +27 -0
- data/vendor/assets/scss/components/_label.scss +64 -0
- data/vendor/assets/scss/components/_media-object.scss +114 -0
- data/vendor/assets/scss/components/_menu-icon.scss +9 -0
- data/vendor/assets/scss/components/_menu.scss +495 -0
- data/vendor/assets/scss/components/_off-canvas.scss +511 -0
- data/vendor/assets/scss/components/_orbit.scss +197 -0
- data/vendor/assets/scss/components/_pagination.scss +201 -0
- data/vendor/assets/scss/components/_progress-bar.scss +63 -0
- data/vendor/assets/scss/components/_responsive-embed.scss +57 -0
- data/vendor/assets/scss/components/_reveal.scss +185 -0
- data/vendor/assets/scss/components/_slider.scss +137 -0
- data/vendor/assets/scss/components/_sticky.scss +39 -0
- data/vendor/assets/scss/components/_switch.scss +261 -0
- data/vendor/assets/scss/components/_table.scss +328 -0
- data/vendor/assets/scss/components/_tabs.scss +193 -0
- data/vendor/assets/scss/components/_thumbnail.scss +67 -0
- data/vendor/assets/scss/components/_title-bar.scss +84 -0
- data/vendor/assets/scss/components/_tooltip.scss +160 -0
- data/vendor/assets/scss/components/_top-bar.scss +175 -0
- data/vendor/assets/scss/components/_visibility.scss +135 -0
- data/vendor/assets/scss/forms/_checkbox.scss +41 -0
- data/vendor/assets/scss/forms/_error.scss +89 -0
- data/vendor/assets/scss/forms/_fieldset.scss +53 -0
- data/vendor/assets/scss/forms/_forms.scss +34 -0
- data/vendor/assets/scss/forms/_help-text.scss +30 -0
- data/vendor/assets/scss/forms/_input-group.scss +142 -0
- data/vendor/assets/scss/forms/_label.scss +50 -0
- data/vendor/assets/scss/forms/_meter.scss +116 -0
- data/vendor/assets/scss/forms/_progress.scss +94 -0
- data/vendor/assets/scss/forms/_range.scss +149 -0
- data/vendor/assets/scss/forms/_select.scss +90 -0
- data/vendor/assets/scss/forms/_text.scss +179 -0
- data/vendor/assets/scss/foundation.scss +155 -0
- data/vendor/assets/scss/grid/_classes.scss +189 -0
- data/vendor/assets/scss/grid/_column.scss +78 -0
- data/vendor/assets/scss/grid/_flex-grid.scss +260 -0
- data/vendor/assets/scss/grid/_grid.scss +48 -0
- data/vendor/assets/scss/grid/_gutter.scss +67 -0
- data/vendor/assets/scss/grid/_layout.scss +76 -0
- data/vendor/assets/scss/grid/_position.scss +100 -0
- data/vendor/assets/scss/grid/_row.scss +99 -0
- data/vendor/assets/scss/grid/_size.scss +24 -0
- data/vendor/assets/scss/motion-ui/_classes.scss +109 -0
- data/vendor/assets/scss/motion-ui/_settings.scss +62 -0
- data/vendor/assets/scss/motion-ui/effects/_fade.scss +29 -0
- data/vendor/assets/scss/motion-ui/effects/_hinge.scss +66 -0
- data/vendor/assets/scss/motion-ui/effects/_shake.scss +15 -0
- data/vendor/assets/scss/motion-ui/effects/_slide.scss +42 -0
- data/vendor/assets/scss/motion-ui/effects/_spin.scss +29 -0
- data/vendor/assets/scss/motion-ui/effects/_wiggle.scss +13 -0
- data/vendor/assets/scss/motion-ui/effects/_zoom.scss +15 -0
- data/vendor/assets/scss/motion-ui/motion-ui.scss +31 -0
- data/vendor/assets/scss/motion-ui/transitions/_fade.scss +30 -0
- data/vendor/assets/scss/motion-ui/transitions/_hinge.scss +44 -0
- data/vendor/assets/scss/motion-ui/transitions/_slide.scss +43 -0
- data/vendor/assets/scss/motion-ui/transitions/_spin.scss +40 -0
- data/vendor/assets/scss/motion-ui/transitions/_zoom.scss +41 -0
- data/vendor/assets/scss/motion-ui/util/_animation.scss +7 -0
- data/vendor/assets/scss/motion-ui/util/_args.scss +15 -0
- data/vendor/assets/scss/motion-ui/util/_function.scss +94 -0
- data/vendor/assets/scss/motion-ui/util/_keyframe.scss +136 -0
- data/vendor/assets/scss/motion-ui/util/_selector.scss +23 -0
- data/vendor/assets/scss/motion-ui/util/_series.scss +57 -0
- data/vendor/assets/scss/motion-ui/util/_string.scss +36 -0
- data/vendor/assets/scss/motion-ui/util/_transition.scss +45 -0
- data/vendor/assets/scss/motion-ui/util/_unit.scss +7 -0
- data/vendor/assets/scss/prototype/_arrow.scss +36 -0
- data/vendor/assets/scss/prototype/_border-box.scss +35 -0
- data/vendor/assets/scss/prototype/_border-none.scss +35 -0
- data/vendor/assets/scss/prototype/_bordered.scss +54 -0
- data/vendor/assets/scss/prototype/_box.scss +23 -0
- data/vendor/assets/scss/prototype/_display.scss +50 -0
- data/vendor/assets/scss/prototype/_font-styling.scss +95 -0
- data/vendor/assets/scss/prototype/_list-style-type.scss +95 -0
- data/vendor/assets/scss/prototype/_overflow.scss +72 -0
- data/vendor/assets/scss/prototype/_position.scss +114 -0
- data/vendor/assets/scss/prototype/_prototype.scss +87 -0
- data/vendor/assets/scss/prototype/_relation.scss +157 -0
- data/vendor/assets/scss/prototype/_rotate.scss +31 -0
- data/vendor/assets/scss/prototype/_rounded.scss +61 -0
- data/vendor/assets/scss/prototype/_separator.scss +96 -0
- data/vendor/assets/scss/prototype/_shadow.scss +43 -0
- data/vendor/assets/scss/prototype/_sizing.scss +73 -0
- data/vendor/assets/scss/prototype/_spacing.scss +179 -0
- data/vendor/assets/scss/prototype/_text-decoration.scss +48 -0
- data/vendor/assets/scss/prototype/_text-transformation.scss +48 -0
- data/vendor/assets/scss/prototype/_text-utilities.scss +88 -0
- data/vendor/assets/scss/settings/_settings.scss +895 -0
- data/vendor/assets/scss/typography/_alignment.scss +22 -0
- data/vendor/assets/scss/typography/_base.scss +474 -0
- data/vendor/assets/scss/typography/_helpers.scss +180 -0
- data/vendor/assets/scss/typography/_print.scss +96 -0
- data/vendor/assets/scss/typography/_typography.scss +26 -0
- data/vendor/assets/scss/util/_breakpoint.scss +435 -0
- data/vendor/assets/scss/util/_color.scss +139 -0
- data/vendor/assets/scss/util/_direction.scss +31 -0
- data/vendor/assets/scss/util/_flex.scss +90 -0
- data/vendor/assets/scss/util/_math.scss +147 -0
- data/vendor/assets/scss/util/_mixins.scss +373 -0
- data/vendor/assets/scss/util/_selector.scss +41 -0
- data/vendor/assets/scss/util/_typography.scss +26 -0
- data/vendor/assets/scss/util/_unit.scss +152 -0
- data/vendor/assets/scss/util/_util.scss +14 -0
- data/vendor/assets/scss/util/_value.scss +200 -0
- data/vendor/assets/scss/vendor/normalize.scss +281 -0
- data/vendor/assets/scss/xy-grid/_cell.scss +272 -0
- data/vendor/assets/scss/xy-grid/_classes.scss +493 -0
- data/vendor/assets/scss/xy-grid/_collapse.scss +75 -0
- data/vendor/assets/scss/xy-grid/_frame.scss +86 -0
- data/vendor/assets/scss/xy-grid/_grid.scss +37 -0
- data/vendor/assets/scss/xy-grid/_gutters.scss +45 -0
- data/vendor/assets/scss/xy-grid/_layout.scss +36 -0
- data/vendor/assets/scss/xy-grid/_position.scss +55 -0
- data/vendor/assets/scss/xy-grid/_xy-grid.scss +51 -0
- metadata +342 -83
- data/update-gem.sh +0 -20
- data/vendor/assets/javascripts/foundation/foundation.abide.js +0 -426
- data/vendor/assets/javascripts/foundation/foundation.accordion.js +0 -125
- data/vendor/assets/javascripts/foundation/foundation.alert.js +0 -43
- data/vendor/assets/javascripts/foundation/foundation.clearing.js +0 -586
- data/vendor/assets/javascripts/foundation/foundation.dropdown.js +0 -468
- data/vendor/assets/javascripts/foundation/foundation.equalizer.js +0 -104
- data/vendor/assets/javascripts/foundation/foundation.interchange.js +0 -360
- data/vendor/assets/javascripts/foundation/foundation.joyride.js +0 -935
- data/vendor/assets/javascripts/foundation/foundation.js +0 -732
- data/vendor/assets/javascripts/foundation/foundation.magellan.js +0 -214
- data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +0 -225
- data/vendor/assets/javascripts/foundation/foundation.orbit.js +0 -476
- data/vendor/assets/javascripts/foundation/foundation.reveal.js +0 -522
- data/vendor/assets/javascripts/foundation/foundation.slider.js +0 -296
- data/vendor/assets/javascripts/foundation/foundation.tab.js +0 -247
- data/vendor/assets/javascripts/foundation/foundation.tooltip.js +0 -348
- data/vendor/assets/javascripts/foundation/foundation.topbar.js +0 -458
- data/vendor/assets/javascripts/foundation.js +0 -17
- data/vendor/assets/javascripts/vendor/modernizr.js +0 -1406
- data/vendor/assets/stylesheets/foundation/_functions.scss +0 -156
- data/vendor/assets/stylesheets/foundation/_settings.scss +0 -1489
- data/vendor/assets/stylesheets/foundation/components/_accordion.scss +0 -161
- data/vendor/assets/stylesheets/foundation/components/_alert-boxes.scss +0 -128
- data/vendor/assets/stylesheets/foundation/components/_block-grid.scss +0 -133
- data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +0 -132
- data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +0 -208
- data/vendor/assets/stylesheets/foundation/components/_buttons.scss +0 -261
- data/vendor/assets/stylesheets/foundation/components/_clearing.scss +0 -260
- data/vendor/assets/stylesheets/foundation/components/_dropdown-buttons.scss +0 -130
- data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +0 -269
- data/vendor/assets/stylesheets/foundation/components/_flex-video.scss +0 -51
- data/vendor/assets/stylesheets/foundation/components/_forms.scss +0 -607
- data/vendor/assets/stylesheets/foundation/components/_global.scss +0 -566
- data/vendor/assets/stylesheets/foundation/components/_grid.scss +0 -292
- data/vendor/assets/stylesheets/foundation/components/_icon-bar.scss +0 -460
- data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +0 -58
- data/vendor/assets/stylesheets/foundation/components/_joyride.scss +0 -220
- data/vendor/assets/stylesheets/foundation/components/_keystrokes.scss +0 -60
- data/vendor/assets/stylesheets/foundation/components/_labels.scss +0 -106
- data/vendor/assets/stylesheets/foundation/components/_magellan.scss +0 -34
- data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +0 -606
- data/vendor/assets/stylesheets/foundation/components/_orbit.scss +0 -388
- data/vendor/assets/stylesheets/foundation/components/_pagination.scss +0 -163
- data/vendor/assets/stylesheets/foundation/components/_panels.scss +0 -107
- data/vendor/assets/stylesheets/foundation/components/_pricing-tables.scss +0 -150
- data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +0 -85
- data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +0 -177
- data/vendor/assets/stylesheets/foundation/components/_reveal.scss +0 -212
- data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +0 -120
- data/vendor/assets/stylesheets/foundation/components/_split-buttons.scss +0 -203
- data/vendor/assets/stylesheets/foundation/components/_sub-nav.scss +0 -125
- data/vendor/assets/stylesheets/foundation/components/_switches.scss +0 -241
- data/vendor/assets/stylesheets/foundation/components/_tables.scss +0 -135
- data/vendor/assets/stylesheets/foundation/components/_tabs.scss +0 -142
- data/vendor/assets/stylesheets/foundation/components/_thumbs.scss +0 -66
- data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +0 -142
- data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +0 -745
- data/vendor/assets/stylesheets/foundation/components/_type.scss +0 -525
- data/vendor/assets/stylesheets/foundation/components/_visibility.scss +0 -425
- data/vendor/assets/stylesheets/foundation.scss +0 -42
- data/vendor/assets/stylesheets/normalize.scss +0 -424
@@ -0,0 +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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.positionable.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","Dropdown","element","options","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","$id","attr","$anchors","length","_setCurrentAnchor","first","parentClass","$parent","parents","$currentAnchor","GetYoDigits","_events","position","match","horizontalPosition","exec","removeClass","alignment","addClass","el","_this","hasTouch","window","ontouchstart","on","open","bind","close","toggle","_setPosition","off","e","forceFollow","hover","hasClass","preventDefault","bodyData","whatinput","clearTimeout","timeout","setTimeout","hoverDelay","ignoreMousedisappear","hoverPane","add","$target","visibleFocusableElements","findFocusable","handleKey","is","focus","$body","document","body","not","target","find","trigger","autoFocus","$focusable","eq","closeOnClick","_addBodyHandler","trapFocus","releaseFocus","hide","Positionable","vOffset","hOffset","allowOverlap","allowBottomOverlap","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","indexOf","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","$anchor","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","_reposition","Plugin","MutationObserver","prefixes","triggers","type","split","forEach","id","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","addClosemeListener","pluginName","yetiBoxes","plugNames","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.dropdown.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.util.keyboard\", \"./foundation.core\", \"jquery\", \"./foundation.util.box\", \"./foundation.util.motion\", \"./foundation.util.touch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.dropdown\"] = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__) {\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 = 4);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Dropdown } from '../../foundation.dropdown';\nFoundation.plugin(Dropdown, 'Dropdown');\n\nexport { Foundation, Dropdown };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { Positionable } from './foundation.positionable';\n\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nclass Dropdown extends Positionable {\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n _init() {\n var $id = this.$element.attr('id');\n\n this.$anchors = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if(this.options.parentClass){\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n }else{\n this.$parent = null;\n }\n\n // Set [aria-labelledby] on the Dropdown if it is not set\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor'));\n }\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id,\n });\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n if(position) {\n return position[0];\n } else {\n return 'bottom'\n }\n }\n\n _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n if(horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return super._getDefaultAlignment();\n }\n\n\n\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n _setPosition() {\n this.$element.removeClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n super._setPosition(this.$currentAnchor, this.$element, this.$parent);\n this.$element.addClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n }\n\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n _setCurrentAnchor(el) {\n this.$currentAnchor = $(el);\n }\n\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n\n this.$element.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 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n\n this.$anchors.off('click.zf.trigger')\n .on('click.zf.trigger', function(e) {\n _this._setCurrentAnchor(this);\n\n if (\n // if forceFollow false, always prevent default action\n (_this.options.forceFollow === false) ||\n // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n (hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false)\n ) {\n e.preventDefault();\n }\n });\n\n if(this.options.hover){\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n _this._setCurrentAnchor(this);\n\n var bodyData = $('body').data();\n if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.open();\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n if(this.options.hoverPane){\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n var $target = $(this),\n visibleFocusableElements = Keyboard.findFocusable(_this.$element);\n\n Keyboard.handleKey(e, 'Dropdown', {\n open: function() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n _this.$element.attr('tabindex', -1).focus();\n e.preventDefault();\n }\n },\n close: function() {\n _this.close();\n _this.$anchors.focus();\n }\n });\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n var $body = $(document.body).not(this.$element),\n _this = this;\n $body.off('click.zf.dropdown tap.zf.dropdown')\n .on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if(_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n if(_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n _this.close();\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n open() {\n // var _this = this;\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover')\n .attr({'aria-expanded': true});\n // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n this._setPosition();\n this.$element.removeClass('is-opening').addClass('is-open')\n .attr({'aria-hidden': false});\n\n if(this.options.autoFocus){\n var $focusable = Keyboard.findFocusable(this.$element);\n if($focusable.length){\n $focusable.eq(0).focus();\n }\n }\n\n if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n if (this.options.trapFocus) {\n Keyboard.trapFocus(this.$element);\n }\n\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n close() {\n if(!this.$element.hasClass('is-open')){\n return false;\n }\n this.$element.removeClass('is-open')\n .attr({'aria-hidden': true});\n\n this.$anchors.removeClass('hover')\n .attr('aria-expanded', false);\n\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n Keyboard.releaseFocus(this.$element);\n }\n }\n\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n toggle() {\n if(this.$element.hasClass('is-open')){\n if(this.$anchors.data('hover')) return;\n this.close();\n }else{\n this.open();\n }\n }\n\n /**\n * Destroys the dropdown.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n $(document.body).off('click.zf.dropdown tap.zf.dropdown');\n\n }\n}\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {Dropdown};\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\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":""}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.util.keyboard"),require("./foundation.core"),require("jquery"),require("./foundation.util.box"),require("./foundation.util.motion"),require("./foundation.util.touch")):"function"==typeof define&&define.amd?define(["./foundation.util.keyboard","./foundation.core","jquery","./foundation.util.box","./foundation.util.motion","./foundation.util.touch"],e):"object"==typeof exports?exports["foundation.dropdown"]=e(require("./foundation.util.keyboard"),require("./foundation.core"),require("jquery"),require("./foundation.util.box"),require("./foundation.util.motion"),require("./foundation.util.touch")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.dropdown"]=e(t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery,t.__FOUNDATION_EXTERNAL__["foundation.util.box"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.__FOUNDATION_EXTERNAL__["foundation.util.touch"]))}(window,function(o,n,i,r,s,a){return c={},l.m=u={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.box":function(t,e){t.exports=r},"./foundation.util.keyboard":function(t,e){t.exports=o},"./foundation.util.motion":function(t,e){t.exports=s},"./foundation.util.touch":function(t,e){t.exports=a},"./js/entries/plugins/foundation.dropdown.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var i=o("./js/foundation.dropdown.js");o.d(e,"Dropdown",function(){return i.Dropdown}),n.Foundation.plugin(i.Dropdown,"Dropdown")},"./js/foundation.dropdown.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Dropdown",function(){return m});var n=o("jquery"),i=o.n(n),r=o("./foundation.util.keyboard"),s=o("./foundation.core"),a=o("./js/foundation.positionable.js"),l=o("./js/foundation.util.triggers.js"),u=o("./foundation.util.touch");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 o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function d(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 h(t,e,o){return(h="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,o){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=p(t)););return t}(t,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(o):i.value}})(t,e,o||t)}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function g(t,e){return(g=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var m=function(){function o(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),d(this,p(o).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&&g(t,e)}(o,a["Positionable"]),function(t,e,o){e&&f(t.prototype,e),o&&f(t,o)}(o,[{key:"_setup",value:function(t,e){this.$element=t,this.options=i.a.extend({},o.defaults,this.$element.data(),e),this.className="Dropdown",u.Touch.init(i.a),l.Triggers.init(i.a),this._init(),r.Keyboard.register("Dropdown",{ENTER:"toggle",SPACE:"toggle",ESCAPE:"close"})}},{key:"_init",value:function(){var t=this.$element.attr("id");this.$anchors=i()('[data-toggle="'.concat(t,'"]')).length?i()('[data-toggle="'.concat(t,'"]')):i()('[data-open="'.concat(t,'"]')),this.$anchors.attr({"aria-controls":t,"data-is-focus":!1,"data-yeti-box":t,"aria-haspopup":!0,"aria-expanded":!1}),this._setCurrentAnchor(this.$anchors.first()),this.options.parentClass?this.$parent=this.$element.parents("."+this.options.parentClass):this.$parent=null,void 0===this.$element.attr("aria-labelledby")&&(void 0===this.$currentAnchor.attr("id")&&this.$currentAnchor.attr("id",Object(s.GetYoDigits)(6,"dd-anchor")),this.$element.attr("aria-labelledby",this.$currentAnchor.attr("id"))),this.$element.attr({"aria-hidden":"true","data-yeti-box":t,"data-resize":t}),h(p(o.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className.match(/(top|left|right|bottom)/g);return t?t[0]:"bottom"}},{key:"_getDefaultAlignment",value:function(){var t=/float-(\S+)/.exec(this.$currentAnchor.attr("class"));return t?t[1]:h(p(o.prototype),"_getDefaultAlignment",this).call(this)}},{key:"_setPosition",value:function(){this.$element.removeClass("has-position-".concat(this.position," has-alignment-").concat(this.alignment)),h(p(o.prototype),"_setPosition",this).call(this,this.$currentAnchor,this.$element,this.$parent),this.$element.addClass("has-position-".concat(this.position," has-alignment-").concat(this.alignment))}},{key:"_setCurrentAnchor",value:function(t){this.$currentAnchor=i()(t)}},{key:"_events",value:function(){var o=this,e="ontouchstart"in window||void 0!==window.ontouchstart;this.$element.on({"open.zf.trigger":this.open.bind(this),"close.zf.trigger":this.close.bind(this),"toggle.zf.trigger":this.toggle.bind(this),"resizeme.zf.trigger":this._setPosition.bind(this)}),this.$anchors.off("click.zf.trigger").on("click.zf.trigger",function(t){o._setCurrentAnchor(this),(!1===o.options.forceFollow||e&&o.options.hover&&!1===o.$element.hasClass("is-open"))&&t.preventDefault()}),this.options.hover&&(this.$anchors.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){o._setCurrentAnchor(this);var t=i()("body").data();void 0!==t.whatinput&&"mouse"!==t.whatinput||(clearTimeout(o.timeout),o.timeout=setTimeout(function(){o.open(),o.$anchors.data("hover",!0)},o.options.hoverDelay))}).on("mouseleave.zf.dropdown",Object(s.ignoreMousedisappear)(function(){clearTimeout(o.timeout),o.timeout=setTimeout(function(){o.close(),o.$anchors.data("hover",!1)},o.options.hoverDelay)})),this.options.hoverPane&&this.$element.off("mouseenter.zf.dropdown mouseleave.zf.dropdown").on("mouseenter.zf.dropdown",function(){clearTimeout(o.timeout)}).on("mouseleave.zf.dropdown",Object(s.ignoreMousedisappear)(function(){clearTimeout(o.timeout),o.timeout=setTimeout(function(){o.close(),o.$anchors.data("hover",!1)},o.options.hoverDelay)}))),this.$anchors.add(this.$element).on("keydown.zf.dropdown",function(t){var e=i()(this);r.Keyboard.findFocusable(o.$element);r.Keyboard.handleKey(t,"Dropdown",{open:function(){e.is(o.$anchors)&&!e.is("input, textarea")&&(o.open(),o.$element.attr("tabindex",-1).focus(),t.preventDefault())},close:function(){o.close(),o.$anchors.focus()}})})}},{key:"_addBodyHandler",value:function(){var e=i()(document.body).not(this.$element),o=this;e.off("click.zf.dropdown tap.zf.dropdown").on("click.zf.dropdown tap.zf.dropdown",function(t){o.$anchors.is(t.target)||o.$anchors.find(t.target).length||o.$element.is(t.target)||o.$element.find(t.target).length||(o.close(),e.off("click.zf.dropdown tap.zf.dropdown"))})}},{key:"open",value:function(){if(this.$element.trigger("closeme.zf.dropdown",this.$element.attr("id")),this.$anchors.addClass("hover").attr({"aria-expanded":!0}),this.$element.addClass("is-opening"),this._setPosition(),this.$element.removeClass("is-opening").addClass("is-open").attr({"aria-hidden":!1}),this.options.autoFocus){var t=r.Keyboard.findFocusable(this.$element);t.length&&t.eq(0).focus()}this.options.closeOnClick&&this._addBodyHandler(),this.options.trapFocus&&r.Keyboard.trapFocus(this.$element),this.$element.trigger("show.zf.dropdown",[this.$element])}},{key:"close",value:function(){if(!this.$element.hasClass("is-open"))return!1;this.$element.removeClass("is-open").attr({"aria-hidden":!0}),this.$anchors.removeClass("hover").attr("aria-expanded",!1),this.$element.trigger("hide.zf.dropdown",[this.$element]),this.options.trapFocus&&r.Keyboard.releaseFocus(this.$element)}},{key:"toggle",value:function(){if(this.$element.hasClass("is-open")){if(this.$anchors.data("hover"))return;this.close()}else this.open()}},{key:"_destroy",value:function(){this.$element.off(".zf.trigger").hide(),this.$anchors.off(".zf.dropdown"),i()(document.body).off("click.zf.dropdown tap.zf.dropdown")}}]),o}();m.defaults={parentClass:null,hoverDelay:250,hover:!1,hoverPane:!1,vOffset:0,hOffset:0,position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,trapFocus:!1,autoFocus:!1,closeOnClick:!1,forceFollow:!0}},"./js/foundation.positionable.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Positionable",function(){return g});var s=o("./foundation.util.box"),n=o("./foundation.core");function i(t){return(i="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(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e){return!e||"object"!==i(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 l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var c=["left","right","top","bottom"],f=["top","bottom","center"],d=["left","right","center"],h={left:f,right:f,top:d,bottom:d};function p(t,e){var o=e.indexOf(t);return o===e.length-1?e[0]:e[o+1]}var g=function(){function t(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),a(this,l(t).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&&u(t,e)}(t,n["Plugin"]),function(t,e,o){e&&r(t.prototype,e),o&&r(t,o)}(t,[{key:"_init",value:function(){this.triedPositions={},this.position="auto"===this.options.position?this._getDefaultPosition():this.options.position,this.alignment="auto"===this.options.alignment?this._getDefaultAlignment():this.options.alignment,this.originalPosition=this.position,this.originalAlignment=this.alignment}},{key:"_getDefaultPosition",value:function(){return"bottom"}},{key:"_getDefaultAlignment",value:function(){switch(this.position){case"bottom":case"top":return Object(n.rtl)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=p(this.position,c),this.alignment=h[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=p(this.alignment,h[this.position])}},{key:"_addTriedPosition",value:function(t,e){this.triedPositions[t]=this.triedPositions[t]||[],this.triedPositions[t].push(e)}},{key:"_positionsExhausted",value:function(){for(var t=!0,e=0;e<c.length;e++)t=t&&this._alignmentsExhausted(c[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==h[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,o){if("false"===t.attr("aria-expanded"))return!1;if(this.options.allowOverlap||(this.position=this.originalPosition,this.alignment=this.originalAlignment),e.offset(s.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var n=1e8,i={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var r=s.Box.OverlapArea(e,o,!1,!1,this.options.allowBottomOverlap);if(0===r)return;r<n&&(n=r,i={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(s.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=i.position,this.alignment=i.alignment,e.offset(s.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}}}]),t}();g.defaults={position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!0,vOffset:0,hOffset:0}},"./js/foundation.util.triggers.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Triggers",function(){return c});var n=o("jquery"),r=o.n(n),i=o("./foundation.core"),s=o("./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 l(e,o){e.data(o).split(" ").forEach(function(t){r()("#".concat(t))["close"===o?"trigger":"triggerHandler"]("".concat(o,".zf.trigger"),[e])})}var u=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}(),c={Listeners:{Basic:{},Global:{}},Initializers:{}};function f(e,t,o){var n,i=Array.prototype.slice.call(arguments,3);r()(window).off(t).on(t,function(t){n&&clearTimeout(n),n=setTimeout(function(){o.apply(null,i)},e||10)})}c.Listeners.Basic={openListener:function(){l(r()(this),"open")},closeListener:function(){r()(this).data("close")?l(r()(this),"close"):r()(this).trigger("close.zf.trigger")},toggleListener:function(){r()(this).data("toggle")?l(r()(this),"toggle"):r()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=r()(this).data("closable");t.stopPropagation(),""!==e?s.Motion.animateOut(r()(this),e,function(){r()(this).trigger("closed.zf")}):r()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=r()(this).data("toggle-focus");r()("#".concat(t)).triggerHandler("toggle.zf.trigger",[r()(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){u||t.each(function(){r()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){u||t.each(function(){r()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var o=t.namespace.split(".")[0];r()("[data-".concat(o,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=r()(this);t.triggerHandler("close.zf.trigger",[t])})}},c.Initializers.addClosemeListener=function(t){var e=r()("[data-yeti-box]"),o=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?o.push(t):"object"===a(t)&&"string"==typeof t[0]?o=o.concat(t):console.error("Plugin names must be strings")),e.length){var n=o.map(function(t){return"closeme.zf.".concat(t)}).join(" ");r()(window).off(n).on(n,c.Listeners.Global.closeMeListener)}},c.Initializers.addResizeListener=function(t){var e=r()("[data-resize]");e.length&&f(t,"resize.zf.trigger",c.Listeners.Global.resizeListener,e)},c.Initializers.addScrollListener=function(t){var e=r()("[data-scroll]");e.length&&f(t,"scroll.zf.trigger",c.Listeners.Global.scrollListener,e)},c.Initializers.addMutationEventsListener=function(t){if(!u)return!1;function e(t){var e=r()(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 o=t.find("[data-resize], [data-scroll], [data-mutate]");if(o.length)for(var n=0;n<=o.length-1;n++){new u(e).observe(o[n],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},c.Initializers.addSimpleListeners=function(){var t=r()(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=r()(document);c.Initializers.addMutationEventsListener(t),c.Initializers.addResizeListener(),c.Initializers.addScrollListener(),c.Initializers.addClosemeListener()},c.init=function(t,e){Object(i.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(c.Initializers.addSimpleListeners(),c.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=c,e.IHearYou=c.Initializers.addGlobalListeners)}},4:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.dropdown.js")},jquery:function(t,e){t.exports=i}},l.c=c,l.d=function(t,e,o){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},l.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(l.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)l.d(o,n,function(t){return e[t]}.bind(null,n));return o},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,"a",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p="",l(l.s=4);function l(t){if(c[t])return c[t].exports;var e=c[t]={i:t,l:!1,exports:{}};return u[t].call(e.exports,e,e.exports,l),e.l=!0,e.exports}var u,c});
|
2
|
+
//# sourceMappingURL=foundation.dropdown.min.js.map
|
@@ -0,0 +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.box\"],\"amd\":\"./foundation.util.box\",\"commonjs\":\"./foundation.util.box\",\"commonjs2\":\"./foundation.util.box\"}","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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.dropdown.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_dropdown__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Dropdown","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_2__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__","element","options","this","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","ENTER","SPACE","ESCAPE","$id","attr","$anchors","concat","length","aria-controls","data-is-focus","data-yeti-box","aria-haspopup","aria-expanded","_setCurrentAnchor","first","parentClass","$parent","parents","$currentAnchor","GetYoDigits","aria-hidden","data-resize","position","match","horizontalPosition","exec","alignment","el","_this","ontouchstart","open.zf.trigger","open","bind","close.zf.trigger","toggle.zf.trigger","close","resizeme.zf.trigger","toggle","off","on","e","preventDefault","hover","hasClass","clearTimeout","timeout","setTimeout","hoverDelay","Object","add","$target","visibleFocusableElements","focus","$body","is","target","find","addClass","autoFocus","$focusable","findFocusable","closeOnClick","_addBodyHandler","trapFocus","removeClass","releaseFocus","document","body","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_typeof","obj","Symbol","iterator","constructor","prototype","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","left","right","top","ALIGNMENTS","bottom","nextItem","currentIdx","array","indexOf","item","Positionable","_getDefaultAlignment","triedPositions","key","value","i","isExhausted","_alignmentsExhausted","$anchor","allowOverlap","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","GetExplicitOffsets","_getVOffset","_getHOffset","Box","minCoordinates","minOverlap","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","split","forEach","id","MutationObserver","prefixes","Listeners","Basic","debounceGlobalListener","debounce","trigger","listener","timer","args","apply","Initializers","openListener","animation","closeableListener","stopPropagation","animateOut","fadeOut","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","Global","resizeListener","$nodes","scrollListener","namespace","not","pluginId","closeMeListener","plugins","each","yetiBoxes","pluginName","plugNames","console","error","listeners","map","name","addResizeListener","addScrollListener","addMutationEventsListener","mutationRecordsList","listeningElementsMutation","pageYOffset","attributeName","closest","observe","attributes","childList","elementObserver","addSimpleListeners","$document","addGlobalListeners","addClosemeListener","onLoad","c","getter","o","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","call","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.dropdown.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.util.keyboard\", \"./foundation.core\", \"jquery\", \"./foundation.util.box\", \"./foundation.util.motion\", \"./foundation.util.touch\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.dropdown\"] = factory(require(\"./foundation.util.keyboard\"), require(\"./foundation.core\"), require(\"jquery\"), require(\"./foundation.util.box\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.dropdown\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__) {\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 = 4);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Dropdown } from '../../foundation.dropdown';\nFoundation.plugin(Dropdown, 'Dropdown');\n\nexport { Foundation, Dropdown };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { Positionable } from './foundation.positionable';\n\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nclass Dropdown extends Positionable {\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n _init() {\n var $id = this.$element.attr('id');\n\n this.$anchors = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if(this.options.parentClass){\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n }else{\n this.$parent = null;\n }\n\n // Set [aria-labelledby] on the Dropdown if it is not set\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor'));\n };\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id,\n });\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n if(position) {\n return position[0];\n } else {\n return 'bottom'\n }\n }\n\n _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n if(horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return super._getDefaultAlignment();\n }\n\n\n\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n _setPosition() {\n this.$element.removeClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n super._setPosition(this.$currentAnchor, this.$element, this.$parent);\n this.$element.addClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n }\n\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n _setCurrentAnchor(el) {\n this.$currentAnchor = $(el);\n }\n\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n\n this.$element.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 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n\n this.$anchors.off('click.zf.trigger')\n .on('click.zf.trigger', function(e) {\n _this._setCurrentAnchor(this);\n\n if (_this.options.forceFollow === false) {\n // if forceFollow false, always prevent default action\n e.preventDefault();\n } else if (hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) {\n // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n e.preventDefault();\n }\n });\n\n if(this.options.hover){\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n _this._setCurrentAnchor(this);\n\n var bodyData = $('body').data();\n if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.open();\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n if(this.options.hoverPane){\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n var $target = $(this),\n visibleFocusableElements = Keyboard.findFocusable(_this.$element);\n\n Keyboard.handleKey(e, 'Dropdown', {\n open: function() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n _this.$element.attr('tabindex', -1).focus();\n e.preventDefault();\n }\n },\n close: function() {\n _this.close();\n _this.$anchors.focus();\n }\n });\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n var $body = $(document.body).not(this.$element),\n _this = this;\n $body.off('click.zf.dropdown tap.zf.dropdown')\n .on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if(_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n if(_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n _this.close();\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n open() {\n // var _this = this;\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover')\n .attr({'aria-expanded': true});\n // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n this._setPosition();\n this.$element.removeClass('is-opening').addClass('is-open')\n .attr({'aria-hidden': false});\n\n if(this.options.autoFocus){\n var $focusable = Keyboard.findFocusable(this.$element);\n if($focusable.length){\n $focusable.eq(0).focus();\n }\n }\n\n if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n if (this.options.trapFocus) {\n Keyboard.trapFocus(this.$element);\n }\n\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n close() {\n if(!this.$element.hasClass('is-open')){\n return false;\n }\n this.$element.removeClass('is-open')\n .attr({'aria-hidden': true});\n\n this.$anchors.removeClass('hover')\n .attr('aria-expanded', false);\n\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n Keyboard.releaseFocus(this.$element);\n }\n }\n\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n toggle() {\n if(this.$element.hasClass('is-open')){\n if(this.$anchors.data('hover')) return;\n this.close();\n }else{\n this.open();\n }\n }\n\n /**\n * Destroys the dropdown.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n $(document.body).off('click.zf.dropdown tap.zf.dropdown');\n\n }\n}\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {Dropdown};\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\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"]}
|