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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tooltip.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","Tooltip","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","indexOf","length","Positionable","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","Plugin","defaults","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","addClass","triggerClass","_events","elementClassName","SVGElement","baseVal","match","tooltipWidth","tooltipHeight","id","templateClasses","tooltipClass","trim","$template","showOn","is","_this","css","show","_setPosition","removeClass","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","hasTouch","window","ontouchstart","isFocus","disableForTouch","disableHover","on","e","timeout","setTimeout","hoverDelay","ignoreMousedisappear","clearTimeout","clickOpen","bind","off","removeAttr","remove","touchCloseText","MutationObserver","prefixes","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","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","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.tooltip.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\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';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n var position = elementClassName.match(/\\b(top|left|right|bottom)\\b/g);\n return position ? position[0] : 'top';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip 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, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @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 * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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.core"),require("./foundation.util.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.box","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.tooltip"]=e(require("./foundation.core"),require("./foundation.util.box"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tooltip"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.box"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,o,n,s,r){return u={},a.m=l={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.box":function(t,e){t.exports=o},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./js/entries/plugins/foundation.tooltip.js":function(t,e,i){"use strict";i.r(e);var o=i("./foundation.core");i.d(e,"Foundation",function(){return o.Foundation});var n=i("./js/foundation.tooltip.js");i.d(e,"Tooltip",function(){return n.Tooltip}),o.Foundation.plugin(n.Tooltip,"Tooltip")},"./js/foundation.positionable.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Positionable",function(){return g});var r=i("./foundation.util.box"),o=i("./foundation.core");function n(t){return(n="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 s(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e){return!e||"object"!==n(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 f=["left","right","top","bottom"],c=["top","bottom","center"],p=["left","right","center"],d={left:c,right:c,top:p,bottom:p};function h(t,e){var i=e.indexOf(t);return i===e.length-1?e[0]:e[i+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,o["Plugin"]),function(t,e,i){e&&s(t.prototype,e),i&&s(t,i)}(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(o.rtl)()?"right":"left";case"left":case"right":return"bottom"}}},{key:"_reposition",value:function(){this._alignmentsExhausted(this.position)?(this.position=h(this.position,f),this.alignment=d[this.position][0]):this._realign()}},{key:"_realign",value:function(){this._addTriedPosition(this.position,this.alignment),this.alignment=h(this.alignment,d[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<f.length;e++)t=t&&this._alignmentsExhausted(f[e]);return t}},{key:"_alignmentsExhausted",value:function(t){return this.triedPositions[t]&&this.triedPositions[t].length==d[t].length}},{key:"_getVOffset",value:function(){return this.options.vOffset}},{key:"_getHOffset",value:function(){return this.options.hOffset}},{key:"_setPosition",value:function(t,e,i){if("false"===t.attr("aria-expanded"))return!1;if(this.options.allowOverlap||(this.position=this.originalPosition,this.alignment=this.originalAlignment),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset())),!this.options.allowOverlap){for(var o=1e8,n={position:this.position,alignment:this.alignment};!this._positionsExhausted();){var s=r.Box.OverlapArea(e,i,!1,!1,this.options.allowBottomOverlap);if(0===s)return;s<o&&(o=s,n={position:this.position,alignment:this.alignment}),this._reposition(),e.offset(r.Box.GetExplicitOffsets(e,t,this.position,this.alignment,this._getVOffset(),this._getHOffset()))}this.position=n.position,this.alignment=n.alignment,e.offset(r.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.tooltip.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Tooltip",function(){return g});var o=i("jquery"),n=i.n(o),s=i("./foundation.core"),r=i("./foundation.util.mediaQuery"),a=i("./js/foundation.util.triggers.js"),l=i("./js/foundation.positionable.js");function u(t){return(u="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 i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function c(t,e){return!e||"object"!==u(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 p(t,e,i){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,i){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=d(t)););return t}(t,e);if(o){var n=Object.getOwnPropertyDescriptor(o,e);return n.get?n.get.call(i):n.value}})(t,e,i||t)}function d(t){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var g=function(){function i(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),c(this,d(i).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(i,l["Positionable"]),function(t,e,i){e&&f(t.prototype,e),i&&f(t,i)}(i,[{key:"_setup",value:function(t,e){this.$element=t,this.options=n.a.extend({},i.defaults,this.$element.data(),e),this.className="Tooltip",this.isActive=!1,this.isClick=!1,a.Triggers.init(n.a),this._init()}},{key:"_init",value:function(){r.MediaQuery._init();var t=this.$element.attr("aria-describedby")||Object(s.GetYoDigits)(6,"tooltip");this.options.tipText=this.options.tipText||this.$element.attr("title"),this.template=this.options.template?n()(this.options.template):this._buildTemplate(t),this.options.allowHtml?this.template.appendTo(document.body).html(this.options.tipText).hide():this.template.appendTo(document.body).text(this.options.tipText).hide(),this.$element.attr({title:"","aria-describedby":t,"data-yeti-box":t,"data-toggle":t,"data-resize":t}).addClass(this.options.triggerClass),p(d(i.prototype),"_init",this).call(this),this._events()}},{key:"_getDefaultPosition",value:function(){var t=this.$element[0].className;this.$element[0]instanceof SVGElement&&(t=t.baseVal);var e=t.match(/\b(top|left|right|bottom)\b/g);return e?e[0]:"top"}},{key:"_getDefaultAlignment",value:function(){return"center"}},{key:"_getHOffset",value:function(){return"left"===this.position||"right"===this.position?this.options.hOffset+this.options.tooltipWidth:this.options.hOffset}},{key:"_getVOffset",value:function(){return"top"===this.position||"bottom"===this.position?this.options.vOffset+this.options.tooltipHeight:this.options.vOffset}},{key:"_buildTemplate",value:function(t){var e="".concat(this.options.tooltipClass," ").concat(this.options.templateClasses).trim();return n()("<div></div>").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){p(d(i.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!r.MediaQuery.is(this.options.showOn))return!1;this.template.css("visibility","hidden").show(),this._setPosition(),this.template.removeClass("top bottom left right").addClass(this.position),this.template.removeClass("align-top align-bottom align-left align-right align-center").addClass("align-"+this.alignment),this.$element.trigger("closeme.zf.tooltip",this.template.attr("id")),this.template.attr({"data-is-active":!0,"aria-hidden":!1}),this.isActive=!0,this.template.stop().hide().css("visibility","").fadeIn(this.options.fadeInDuration,function(){}),this.$element.trigger("show.zf.tooltip")}},{key:"hide",value:function(){var t=this;this.template.stop().attr({"aria-hidden":!0,"data-is-active":!1}).fadeOut(this.options.fadeOutDuration,function(){t.isActive=!1,t.isClick=!1}),this.$element.trigger("hide.zf.tooltip")}},{key:"_events",value:function(){var e=this,t="ontouchstart"in window||void 0!==window.ontouchstart,i=(this.template,!1);t&&this.options.disableForTouch||(this.options.disableHover||this.$element.on("mouseenter.zf.tooltip",function(t){e.isActive||(e.timeout=setTimeout(function(){e.show()},e.options.hoverDelay))}).on("mouseleave.zf.tooltip",Object(s.ignoreMousedisappear)(function(t){clearTimeout(e.timeout),i&&(!e.isClick||e.options.clickOpen)||e.hide()})),t&&this.$element.on("tap.zf.tooltip touchend.zf.tooltip",function(t){e.isActive?e.hide():e.show()}),this.options.clickOpen?this.$element.on("mousedown.zf.tooltip",function(t){e.isClick||(e.isClick=!0,!e.options.disableHover&&e.$element.attr("tabindex")||e.isActive||e.show())}):this.$element.on("mousedown.zf.tooltip",function(t){e.isClick=!0}),this.$element.on({"close.zf.trigger":this.hide.bind(this)}),this.$element.on("focus.zf.tooltip",function(t){if(i=!0,e.isClick)return e.options.clickOpen||(i=!1),!1;e.show()}).on("focusout.zf.tooltip",function(t){i=!1,e.isClick=!1,e.hide()}).on("resizeme.zf.trigger",function(){e.isActive&&e._setPosition()}))}},{key:"toggle",value:function(){this.isActive?this.hide():this.show()}},{key:"_destroy",value:function(){this.$element.attr("title",this.template.text()).off(".zf.trigger .zf.tooltip").removeClass(this.options.triggerClass).removeClass("top right left bottom").removeAttr("aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box"),this.template.remove()}}]),i}();g.defaults={hoverDelay:200,fadeInDuration:150,fadeOutDuration:150,disableHover:!1,disableForTouch:!1,templateClasses:"",tooltipClass:"tooltip",triggerClass:"has-tip",showOn:"small",template:"",tipText:"",touchCloseText:"Tap to close.",clickOpen:!0,position:"auto",alignment:"auto",allowOverlap:!1,allowBottomOverlap:!1,vOffset:0,hOffset:0,tooltipHeight:14,tooltipWidth:12,allowHtml:!1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return f});var o=i("jquery"),s=i.n(o),n=i("./foundation.core"),r=i("./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,i){e.data(i).split(" ").forEach(function(t){s()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".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}(),f={Listeners:{Basic:{},Global:{}},Initializers:{}};function c(e,t,i){var o,n=Array.prototype.slice.call(arguments,3);s()(window).off(t).on(t,function(t){o&&clearTimeout(o),o=setTimeout(function(){i.apply(null,n)},e||10)})}f.Listeners.Basic={openListener:function(){l(s()(this),"open")},closeListener:function(){s()(this).data("close")?l(s()(this),"close"):s()(this).trigger("close.zf.trigger")},toggleListener:function(){s()(this).data("toggle")?l(s()(this),"toggle"):s()(this).trigger("toggle.zf.trigger")},closeableListener:function(t){var e=s()(this).data("closable");t.stopPropagation(),""!==e?r.Motion.animateOut(s()(this),e,function(){s()(this).trigger("closed.zf")}):s()(this).fadeOut().trigger("closed.zf")},toggleFocusListener:function(){var t=s()(this).data("toggle-focus");s()("#".concat(t)).triggerHandler("toggle.zf.trigger",[s()(this)])}},f.Initializers.addOpenListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.openListener),t.on("click.zf.trigger","[data-open]",f.Listeners.Basic.openListener)},f.Initializers.addCloseListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.closeListener),t.on("click.zf.trigger","[data-close]",f.Listeners.Basic.closeListener)},f.Initializers.addToggleListener=function(t){t.off("click.zf.trigger",f.Listeners.Basic.toggleListener),t.on("click.zf.trigger","[data-toggle]",f.Listeners.Basic.toggleListener)},f.Initializers.addCloseableListener=function(t){t.off("close.zf.trigger",f.Listeners.Basic.closeableListener),t.on("close.zf.trigger","[data-closeable], [data-closable]",f.Listeners.Basic.closeableListener)},f.Initializers.addToggleFocusListener=function(t){t.off("focus.zf.trigger blur.zf.trigger",f.Listeners.Basic.toggleFocusListener),t.on("focus.zf.trigger blur.zf.trigger","[data-toggle-focus]",f.Listeners.Basic.toggleFocusListener)},f.Listeners.Global={resizeListener:function(t){u||t.each(function(){s()(this).triggerHandler("resizeme.zf.trigger")}),t.attr("data-events","resize")},scrollListener:function(t){u||t.each(function(){s()(this).triggerHandler("scrollme.zf.trigger")}),t.attr("data-events","scroll")},closeMeListener:function(t,e){var i=t.namespace.split(".")[0];s()("[data-".concat(i,"]")).not('[data-yeti-box="'.concat(e,'"]')).each(function(){var t=s()(this);t.triggerHandler("close.zf.trigger",[t])})}},f.Initializers.addClosemeListener=function(t){var e=s()("[data-yeti-box]"),i=["dropdown","tooltip","reveal"];if(t&&("string"==typeof t?i.push(t):"object"===a(t)&&"string"==typeof t[0]?i=i.concat(t):console.error("Plugin names must be strings")),e.length){var o=i.map(function(t){return"closeme.zf.".concat(t)}).join(" ");s()(window).off(o).on(o,f.Listeners.Global.closeMeListener)}},f.Initializers.addResizeListener=function(t){var e=s()("[data-resize]");e.length&&c(t,"resize.zf.trigger",f.Listeners.Global.resizeListener,e)},f.Initializers.addScrollListener=function(t){var e=s()("[data-scroll]");e.length&&c(t,"scroll.zf.trigger",f.Listeners.Global.scrollListener,e)},f.Initializers.addMutationEventsListener=function(t){if(!u)return!1;function e(t){var e=s()(t[0].target);switch(t[0].type){case"attributes":"scroll"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("scrollme.zf.trigger",[e,window.pageYOffset]),"resize"===e.attr("data-events")&&"data-events"===t[0].attributeName&&e.triggerHandler("resizeme.zf.trigger",[e]),"style"===t[0].attributeName&&(e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]));break;case"childList":e.closest("[data-mutate]").attr("data-events","mutate"),e.closest("[data-mutate]").triggerHandler("mutateme.zf.trigger",[e.closest("[data-mutate]")]);break;default:return!1}}var i=t.find("[data-resize], [data-scroll], [data-mutate]");if(i.length)for(var o=0;o<=i.length-1;o++){new u(e).observe(i[o],{attributes:!0,childList:!0,characterData:!1,subtree:!0,attributeFilter:["data-events","style"]})}},f.Initializers.addSimpleListeners=function(){var t=s()(document);f.Initializers.addOpenListener(t),f.Initializers.addCloseListener(t),f.Initializers.addToggleListener(t),f.Initializers.addCloseableListener(t),f.Initializers.addToggleFocusListener(t)},f.Initializers.addGlobalListeners=function(){var t=s()(document);f.Initializers.addMutationEventsListener(t),f.Initializers.addResizeListener(),f.Initializers.addScrollListener(),f.Initializers.addClosemeListener()},f.init=function(t,e){Object(n.onLoad)(t(window),function(){!0!==t.triggersInitialized&&(f.Initializers.addSimpleListeners(),f.Initializers.addGlobalListeners(),t.triggersInitialized=!0)}),e&&(e.Triggers=f,e.IHearYou=f.Initializers.addGlobalListeners)}},20:function(t,e,i){t.exports=i("./js/entries/plugins/foundation.tooltip.js")},jquery:function(t,e){t.exports=r}},a.c=u,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)a.d(i,o,function(t){return e[t]}.bind(null,o));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=20);function a(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return l[t].call(e.exports,e,e.exports,a),e.l=!0,e.exports}var l,u});
|
2
|
+
//# sourceMappingURL=foundation.tooltip.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.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.positionable.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tooltip.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_tooltip__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tooltip","Positionable","_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","left","right","top","bottom","nextItem","item","array","currentIdx","indexOf","length","Plugin","this","triedPositions","position","options","_getDefaultPosition","alignment","_getDefaultAlignment","originalPosition","originalAlignment","Rtl","_alignmentsExhausted","_realign","_addTriedPosition","push","isExhausted","i","vOffset","hOffset","$anchor","$element","$parent","attr","allowOverlap","offset","Box","GetExplicitOffsets","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","OverlapArea","allowBottomOverlap","_reposition","defaults","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_foundation_positionable__WEBPACK_IMPORTED_MODULE_4__","element","$","extend","data","className","isActive","isClick","Triggers","init","_init","MediaQuery","elemId","GetYoDigits","tipText","template","_buildTemplate","allowHtml","appendTo","document","body","html","hide","text","title","aria-describedby","data-yeti-box","data-toggle","data-resize","addClass","triggerClass","_get","_getPrototypeOf","prototype","call","_events","elementClassName","SVGElement","key","tooltipWidth","tooltipHeight","templateClasses","role","aria-hidden","data-is-active","data-is-focus","id","_this","css","show","_setPosition","trigger","stop","fadeIn","fadeInDuration","fadeOut","fadeOutDuration","ontouchstart","hasTouch","isFocus","disableForTouch","disableHover","setTimeout","timeout","on","Object","e","clearTimeout","clickOpen","close.zf.trigger","bind","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","Symbol","iterator","constructor","triggers","el","type","concat","MutationObserver","prefixes","Listeners","Global","debounceGlobalListener","debounce","listener","args","arguments","off","timer","Initializers","Basic","openListener","toggleListener","closeableListener","animation","stopPropagation","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","closeListener","addToggleListener","addCloseableListener","$nodes","pluginId","namespace","split","not","plugins","addClosemeListener","pluginName","plugNames","yetiBoxes","name","join","listeners","closeMeListener","addResizeListener","addScrollListener","addMutationEventsListener","mutationRecordsList","$target","attributeName","pageYOffset","closest","find","listeningElementsMutation","observe","attributes","elementObserver","childList","characterData","addSimpleListeners","$document","addGlobalListeners","onLoad","triggersInitialized","c","getter","o","defineProperty","enumerable","get","toStringTag","value","t","mode","__esModule","ns","create","object","property","hasOwnProperty","p","s","moduleId","l","modules"],"mappings":"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","file":"foundation.tooltip.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.box\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tooltip\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.box\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tooltip\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_box__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 20);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_box__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Tooltip } from '../../foundation.tooltip';\nFoundation.plugin(Tooltip, 'Tooltip');\n\nexport { Foundation, Tooltip };\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';\n\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\nimport { Positionable } from './foundation.positionable';\n\n/**\n * Tooltip module.\n * @module foundation.tooltip\n * @requires foundation.util.box\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass Tooltip extends Positionable {\n /**\n * Creates a new instance of a Tooltip.\n * @class\n * @name Tooltip\n * @fires Tooltip#init\n * @param {jQuery} element - jQuery object to attach a tooltip to.\n * @param {Object} options - object to extend the default configuration.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);\n this.className = 'Tooltip'; // ie9 back compat\n\n this.isActive = false;\n this.isClick = false;\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n }\n\n /**\n * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.\n * @private\n */\n _init() {\n MediaQuery._init();\n var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip');\n\n this.options.tipText = this.options.tipText || this.$element.attr('title');\n this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);\n\n if (this.options.allowHtml) {\n this.template.appendTo(document.body)\n .html(this.options.tipText)\n .hide();\n } else {\n this.template.appendTo(document.body)\n .text(this.options.tipText)\n .hide();\n }\n\n this.$element.attr({\n 'title': '',\n 'aria-describedby': elemId,\n 'data-yeti-box': elemId,\n 'data-toggle': elemId,\n 'data-resize': elemId\n }).addClass(this.options.triggerClass);\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/\\b(top|left|right|bottom)\\b/g);\n var elementClassName = this.$element[0].className;\n if (this.$element[0] instanceof SVGElement) {\n elementClassName = elementClassName.baseVal;\n }\n return position ? position[0] : 'top';\n var position = elementClassName.match(/\\b(top|left|right)\\b/g);\n position = position ? position[0] : 'tp';\n }\n\n _getDefaultAlignment() {\n return 'center';\n }\n\n _getHOffset() {\n if(this.position === 'left' || this.position === 'right') {\n return this.options.hOffset + this.options.tooltipWidth;\n } else {\n return this.options.hOffset\n }\n }\n\n _getVOffset() {\n if(this.position === 'top' || this.position === 'bottom') {\n return this.options.vOffset + this.options.tooltipHeight;\n } else {\n return this.options.vOffset\n }\n }\n\n /**\n * builds the tooltip element, adds attributes, and returns the template.\n * @private\n */\n _buildTemplate(id) {\n var templateClasses = (`${this.options.tooltipClass} ${this.options.templateClasses}`).trim();\n var $template = $('<div></div>').addClass(templateClasses).attr({\n 'role': 'tooltip',\n 'aria-hidden': true,\n 'data-is-active': false,\n 'data-is-focus': false,\n 'id': id\n });\n return $template;\n }\n\n /**\n * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.\n * if the tooltip is larger than the screen width, default to full width - any user selected margin\n * @private\n */\n _setPosition() {\n super._setPosition(this.$element, this.template);\n }\n\n /**\n * reveals the tooltip, and fires an event to close any other open tooltips on the page\n * @fires Tooltip#closeme\n * @fires Tooltip#show\n * @function\n */\n show() {\n if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) {\n // console.error('The screen is too small to display this tooltip');\n return false;\n }\n\n var _this = this;\n this.template.css('visibility', 'hidden').show();\n this._setPosition();\n this.template.removeClass('top bottom left right').addClass(this.position)\n this.template.removeClass('align-top align-bottom align-left align-right align-center').addClass('align-' + this.alignment);\n\n /**\n * Fires to close all other open tooltips on the page\n * @event Closeme#tooltip\n */\n this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));\n\n\n this.template.attr({\n 'data-is-active': true,\n 'aria-hidden': false\n });\n _this.isActive = true;\n // console.log(this.template);\n this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function() {\n //maybe do stuff?\n });\n /**\n * Fires when the tooltip is shown\n * @event Tooltip#show\n */\n this.$element.trigger('show.zf.tooltip');\n }\n\n /**\n * Hides the current tooltip, and resets the positioning class if it was changed due to collision\n * @fires Tooltip#hide\n * @function\n */\n hide() {\n // console.log('hiding', this.$element.data('yeti-box'));\n var _this = this;\n this.template.stop().attr({\n 'aria-hidden': true,\n 'data-is-active': false\n }).fadeOut(this.options.fadeOutDuration, function() {\n _this.isActive = false;\n _this.isClick = false;\n });\n /**\n * fires when the tooltip is hidden\n * @event Tooltip#hide\n */\n this.$element.trigger('hide.zf.tooltip');\n }\n\n /**\n * adds event listeners for the tooltip and its anchor\n * TODO combine some of the listeners like focus and mouseenter, etc.\n * @private\n */\n _events() {\n const _this = this;\n const hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n const $template = this.template;\n var isFocus = false;\n\n // `disableForTouch: Fully disable the tooltip on touch devices\n if (hasTouch && this.options.disableForTouch) return;\n\n if (!this.options.disableHover) {\n this.$element\n .on('mouseenter.zf.tooltip', function(e) {\n if (!_this.isActive) {\n _this.timeout = setTimeout(function() {\n _this.show();\n }, _this.options.hoverDelay);\n }\n })\n .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) {\n clearTimeout(_this.timeout);\n if (!isFocus || (_this.isClick && !_this.options.clickOpen)) {\n _this.hide();\n }\n }));\n }\n\n if (hasTouch) {\n this.$element\n .on('tap.zf.tooltip touchend.zf.tooltip', function (e) {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n if (_this.isClick) {\n //_this.hide();\n // _this.isClick = false;\n } else {\n _this.isClick = true;\n if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {\n _this.show();\n }\n }\n });\n } else {\n this.$element.on('mousedown.zf.tooltip', function(e) {\n _this.isClick = true;\n });\n }\n\n this.$element.on({\n // 'toggle.zf.trigger': this.toggle.bind(this),\n // 'close.zf.trigger': this.hide.bind(this)\n 'close.zf.trigger': this.hide.bind(this)\n });\n\n this.$element\n .on('focus.zf.tooltip', function(e) {\n isFocus = true;\n if (_this.isClick) {\n // If we're not showing open on clicks, we need to pretend a click-launched focus isn't\n // a real focus, otherwise on hover and come back we get bad behavior\n if(!_this.options.clickOpen) { isFocus = false; }\n return false;\n } else {\n _this.show();\n }\n })\n\n .on('focusout.zf.tooltip', function(e) {\n isFocus = false;\n _this.isClick = false;\n _this.hide();\n })\n\n .on('resizeme.zf.trigger', function() {\n if (_this.isActive) {\n _this._setPosition();\n }\n });\n }\n\n /**\n * adds a toggle method, in addition to the static show() & hide() functions\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /**\n * Destroys an instance of tooltip, removes template element from the view.\n * @function\n */\n _destroy() {\n this.$element.attr('title', this.template.text())\n .off('.zf.trigger .zf.tooltip')\n .removeClass(this.options.triggerClass)\n .removeClass('top right left bottom')\n .removeAttr('aria-describedby data-disable-hover data-resize data-toggle data-tooltip data-yeti-box');\n\n this.template.remove();\n }\n}\n\nTooltip.defaults = {\n /**\n * Time, in ms, before a tooltip should open on hover.\n * @option\n * @type {number}\n * @default 200\n */\n hoverDelay: 200,\n /**\n * Time, in ms, a tooltip should take to fade into view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeInDuration: 150,\n /**\n * Time, in ms, a tooltip should take to fade out of view.\n * @option\n * @type {number}\n * @default 150\n */\n fadeOutDuration: 150,\n /**\n * Disables hover events from opening the tooltip if set to true\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disable the tooltip for touch devices.\n * This can be useful to make elements with a tooltip on it trigger their\n * action on the first tap instead of displaying the tooltip.\n * @option\n * @type {booelan}\n * @default false\n */\n disableForTouch: false,\n /**\n * Optional addtional classes to apply to the tooltip template on init.\n * @option\n * @type {string}\n * @default ''\n */\n templateClasses: '',\n /**\n * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.\n * @option\n * @type {string}\n * @default 'tooltip'\n */\n tooltipClass: 'tooltip',\n /**\n * Class applied to the tooltip anchor element.\n * @option\n * @type {string}\n * @default 'has-tip'\n */\n triggerClass: 'has-tip',\n /**\n * Minimum breakpoint size at which to open the tooltip.\n * @option\n * @type {string}\n * @default 'small'\n */\n showOn: 'small',\n /**\n * Custom template to be used to generate markup for tooltip.\n * @option\n * @type {string}\n * @default ''\n */\n template: '',\n /**\n * Text displayed in the tooltip template on open.\n * @option\n * @type {string}\n * @default ''\n */\n tipText: '',\n touchCloseText: 'Tap to close.',\n /**\n * Allows the tooltip to remain open if triggered with a click or touch event.\n * @option\n * @type {boolean}\n * @default true\n */\n clickOpen: true,\n /**\n * Position of tooltip. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of tooltip 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, tooltip will first try to\n * position as defined by data-position and data-alignment, but reposition if\n * it would cause an overflow. @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 * Less common for tooltips.\n * @option\n * @type {boolean}\n * @default false\n */\n allowBottomOverlap: false,\n /**\n * Distance, in pixels, the template should push away from the anchor on the Y axis.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Distance, in pixels, the template should push away from the anchor on the X axis\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip\n * @option\n * @type {number}\n * @default 14\n */\n tooltipHeight: 14,\n /**\n * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip\n * @option\n * @type {number}\n * @default 12\n */\n tooltipWidth: 12,\n /**\n * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips,\n * allowing HTML may open yourself up to XSS attacks.\n * @option\n * @type {boolean}\n * @default false\n */\n allowHtml: false\n};\n\n/**\n * TODO utilize resize event trigger\n */\n\nexport {Tooltip};\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"]}
|